/* Google Calendar-inspired styles */ /* Override CSS Variables for Google Calendar Style */ :root { /* Google-style spacing */ --spacing-xs: 2px; --spacing-sm: 4px; --spacing-md: 8px; --spacing-lg: 12px; --spacing-xl: 16px; /* Google-style borders and radius */ --border-radius-small: 2px; --border-radius-medium: 4px; --border-radius-large: 8px; --border-light: 1px solid #dadce0; --border-medium: 1px solid #dadce0; /* Google-style shadows */ --shadow-sm: 0 1px 2px 0 rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15); --shadow-md: 0 1px 3px 0 rgba(60,64,67,.3), 0 4px 8px 3px rgba(60,64,67,.15); --shadow-lg: 0 4px 6px 0 rgba(60,64,67,.3), 0 8px 25px 5px rgba(60,64,67,.15); } /* Google-style sidebar - override all theme variants */ body .app-sidebar, [data-theme] .app-sidebar, [data-theme="default"] .app-sidebar, [data-theme="ocean"] .app-sidebar, [data-theme="forest"] .app-sidebar, [data-theme="sunset"] .app-sidebar, [data-theme="purple"] .app-sidebar, [data-theme="dark"] .app-sidebar, [data-theme="rose"] .app-sidebar, [data-theme="mint"] .app-sidebar { background: #ffffff !important; border-right: 1px solid #dadce0 !important; font-family: 'Google Sans', 'Roboto', sans-serif !important; box-shadow: 2px 0 8px rgba(60,64,67,.1) !important; } body .sidebar-header, [data-theme] .sidebar-header { background: transparent !important; border-bottom: 1px solid #dadce0 !important; } body .sidebar-header h1, [data-theme] .sidebar-header h1 { font-size: 20px !important; font-weight: 500 !important; color: #3c4043 !important; font-family: 'Google Sans', 'Roboto', sans-serif !important; } body .user-info, [data-theme] .user-info { color: #3c4043 !important; } body .user-info .username, [data-theme] .user-info .username { font-weight: 500 !important; color: #3c4043 !important; } body .user-info .server-url, [data-theme] .user-info .server-url { color: #5f6368 !important; } /* Google-style buttons */ .create-calendar-button { background: #1a73e8 !important; color: white !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-weight: 500 !important; font-size: 14px !important; cursor: pointer !important; box-shadow: 0 1px 2px 0 rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15) !important; transition: box-shadow 0.2s ease !important; } .create-calendar-button:hover { box-shadow: 0 1px 3px 0 rgba(60,64,67,.3), 0 4px 8px 3px rgba(60,64,67,.15) !important; } .logout-button { background: transparent !important; color: #1a73e8 !important; border: 1px solid #dadce0 !important; border-radius: 4px !important; padding: 8px 16px !important; font-weight: 500 !important; font-size: 14px !important; cursor: pointer !important; transition: background-color 0.2s ease !important; } .logout-button:hover { background: #f8f9fa !important; } /* Google-style navigation and sidebar text */ body .sidebar-nav .nav-link, [data-theme] .sidebar-nav .nav-link { color: #3c4043 !important; text-decoration: none !important; } body .sidebar-nav .nav-link:hover, [data-theme] .sidebar-nav .nav-link:hover { color: #1a73e8 !important; background: #f1f3f4 !important; } /* Calendar list styling */ body .calendar-list h3, [data-theme] .calendar-list h3 { color: #3c4043 !important; } body .calendar-list .calendar-name, [data-theme] .calendar-list .calendar-name { color: #3c4043 !important; } body .no-calendars, [data-theme] .no-calendars { color: #5f6368 !important; } /* Form labels and text */ body .sidebar-footer label, [data-theme] .sidebar-footer label, body .view-selector label, [data-theme] .view-selector label, body .theme-selector label, [data-theme] .theme-selector label, body .style-selector label, [data-theme] .style-selector label { color: #3c4043 !important; } /* Google-style selectors */ body .view-selector-dropdown, body .theme-selector-dropdown, body .style-selector-dropdown, [data-theme] .view-selector-dropdown, [data-theme] .theme-selector-dropdown, [data-theme] .style-selector-dropdown { border: 1px solid #dadce0 !important; border-radius: 4px !important; padding: 8px !important; font-size: 14px !important; color: #3c4043 !important; background: white !important; font-family: inherit !important; } .view-selector-dropdown:focus, .theme-selector-dropdown:focus, .style-selector-dropdown:focus { outline: none; border-color: #1a73e8; box-shadow: 0 0 0 2px rgba(26,115,232,.2); } /* Google-style calendar list items */ .calendar-list h3 { font-size: 14px; font-weight: 500; color: #3c4043; margin-bottom: 8px; } .calendar-list ul { list-style: none; } .calendar-list .calendar-item { padding: 4px 0; border-radius: 4px; transition: background-color 0.15s ease; } .calendar-list .calendar-item:hover { background-color: #f1f3f4; } .calendar-list .calendar-name { color: #3c4043; font-size: 14px; font-weight: 400; } /* Google-style main content area */ body .app-main, [data-theme] .app-main { background: #ffffff !important; font-family: 'Google Sans', 'Roboto', sans-serif !important; color: #3c4043 !important; } /* Calendar header elements */ body .calendar-header, [data-theme] .calendar-header { background: #f8f9fa !important; color: #3c4043 !important; } body .calendar-header h2, body .calendar-header h3, body .month-header, body .week-header, [data-theme] .calendar-header h2, [data-theme] .calendar-header h3, [data-theme] .month-header, [data-theme] .week-header { color: #3c4043 !important; font-family: 'Google Sans', 'Roboto', sans-serif !important; } /* Month name and title - aggressive override */ body h1, body h2, body h3, body .month-title, body .calendar-title, body .current-month, body .month-year, body .header-title, [data-theme] h1, [data-theme] h2, [data-theme] h3, [data-theme] .month-title, [data-theme] .calendar-title, [data-theme] .current-month, [data-theme] .month-year, [data-theme] .header-title { color: #3c4043 !important; font-family: 'Google Sans', 'Roboto', sans-serif !important; } /* Navigation arrows and buttons - aggressive override */ body button, body .nav-button, body .calendar-nav-button, body .prev-button, body .next-button, body .arrow-button, body .navigation-arrow, body [class*="arrow"], body [class*="nav"], body [class*="button"], [data-theme] button, [data-theme] .nav-button, [data-theme] .calendar-nav-button, [data-theme] .prev-button, [data-theme] .next-button, [data-theme] .arrow-button, [data-theme] .navigation-arrow, [data-theme] [class*="arrow"], [data-theme] [class*="nav"], [data-theme] [class*="button"] { color: #3c4043 !important; background: #f8f9fa !important; border: 1px solid #dadce0 !important; border-radius: 4px !important; } body button:hover, body .nav-button:hover, body .calendar-nav-button:hover, body .prev-button:hover, body .next-button:hover, body .arrow-button:hover, [data-theme] button:hover, [data-theme] .nav-button:hover, [data-theme] .calendar-nav-button:hover, [data-theme] .prev-button:hover, [data-theme] .next-button:hover, [data-theme] .arrow-button:hover { background: #e8f0fe !important; color: #1a73e8 !important; border-color: #1a73e8 !important; } /* Calendar controls and date display */ body .calendar-controls, body .current-date, body .date-display, [data-theme] .calendar-controls, [data-theme] .current-date, [data-theme] .date-display { color: #3c4043 !important; } /* Ultimate nuclear approach - override EVERYTHING */ html body .app-main, html body .app-main *, html body .main-content, html body .main-content *, html body .calendar-container, html body .calendar-container *, html [data-theme] .app-main, html [data-theme] .app-main *, html [data-theme] .main-content, html [data-theme] .main-content *, html [data-theme] .calendar-container, html [data-theme] .calendar-container *, html [data-theme="default"] .app-main *, html [data-theme="ocean"] .app-main *, html [data-theme="forest"] .app-main *, html [data-theme="sunset"] .app-main *, html [data-theme="purple"] .app-main *, html [data-theme="dark"] .app-main *, html [data-theme="rose"] .app-main *, html [data-theme="mint"] .app-main * { color: #3c4043 !important; text-shadow: none !important; } /* Force all text elements */ html body .app-main h1, html body .app-main h2, html body .app-main h3, html body .app-main h4, html body .app-main h5, html body .app-main h6, html body .app-main p, html body .app-main span, html body .app-main div, html body .app-main button, html [data-theme] .app-main h1, html [data-theme] .app-main h2, html [data-theme] .app-main h3, html [data-theme] .app-main h4, html [data-theme] .app-main h5, html [data-theme] .app-main h6, html [data-theme] .app-main p, html [data-theme] .app-main span, html [data-theme] .app-main div, html [data-theme] .app-main button { color: #3c4043 !important; } /* Exception for buttons - make them stand out */ body .app-main button, body .main-content button, [data-theme] .app-main button, [data-theme] .main-content button { color: #3c4043 !important; background: #f8f9fa !important; border: 1px solid #dadce0 !important; } /* Google-style calendar grid - more aggressive styling */ html body .calendar-grid, html [data-theme] .calendar-grid, body .calendar-container, [data-theme] .calendar-container { border: 1px solid #dadce0 !important; border-radius: 8px !important; overflow: hidden !important; background: white !important; box-shadow: 0 1px 3px 0 rgba(60,64,67,.3), 0 4px 8px 3px rgba(60,64,67,.15) !important; font-family: 'Google Sans', 'Roboto', sans-serif !important; } html body .calendar-header, html [data-theme] .calendar-header { background: #f8f9fa !important; border-bottom: 1px solid #dadce0 !important; padding: 16px !important; } html body .month-header, html body .week-header, html [data-theme] .month-header, html [data-theme] .week-header { font-size: 22px !important; font-weight: 400 !important; color: #3c4043 !important; font-family: 'Google Sans', 'Roboto', sans-serif !important; } /* Google-style calendar cells - complete overhaul */ html body .calendar-day, html [data-theme] .calendar-day, body .day-cell, [data-theme] .day-cell { border: 1px solid #e8eaed !important; background: white !important; transition: background-color 0.15s ease !important; padding: 8px !important; min-height: 120px !important; position: relative !important; } html body .calendar-day:hover, html [data-theme] .calendar-day:hover, body .day-cell:hover, [data-theme] .day-cell:hover { background: #f8f9fa !important; box-shadow: inset 0 0 0 1px #dadce0 !important; } html body .calendar-day.today, html [data-theme] .calendar-day.today, body .day-cell.today, [data-theme] .day-cell.today { background: #e8f0fe !important; border-color: #1a73e8 !important; } html body .calendar-day.other-month, html [data-theme] .calendar-day.other-month, body .day-cell.other-month, [data-theme] .day-cell.other-month { background: #fafafa !important; color: #9aa0a6 !important; } html body .day-number, html [data-theme] .day-number, body .date-number, [data-theme] .date-number { font-size: 14px !important; font-weight: 500 !important; color: #3c4043 !important; margin-bottom: 4px !important; font-family: 'Google Sans', 'Roboto', sans-serif !important; } /* Day headers (Mon, Tue, Wed, etc.) */ html body .day-header, html [data-theme] .day-header, body .weekday-header, [data-theme] .weekday-header { background: #f8f9fa !important; color: #5f6368 !important; font-size: 12px !important; font-weight: 500 !important; text-transform: uppercase !important; letter-spacing: 0.8px !important; padding: 8px !important; border-bottom: 1px solid #dadce0 !important; font-family: 'Google Sans', 'Roboto', sans-serif !important; } /* Google Calendar-style events - complete redesign */ html body .app-main .event, html [data-theme] .app-main .event, html body .calendar-container .event, html [data-theme] .calendar-container .event, body .event, [data-theme] .event { border-radius: 4px !important; padding: 2px 8px !important; font-size: 11px !important; font-weight: 400 !important; margin: 1px 0 2px 0 !important; cursor: pointer !important; border: none !important; color: white !important; font-family: 'Google Sans', 'Roboto', sans-serif !important; box-shadow: 0 1px 3px rgba(60,64,67,.3) !important; transition: transform 0.1s ease, box-shadow 0.1s ease !important; display: block !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; line-height: 1.3 !important; } html body .app-main .event *, html [data-theme] .app-main .event *, html body .calendar-container .event *, html [data-theme] .calendar-container .event *, body .event *, [data-theme] .event * { color: white !important; font-family: inherit !important; } html body .app-main .event:hover, html [data-theme] .app-main .event:hover, body .event:hover, [data-theme] .event:hover { transform: translateY(-1px) !important; box-shadow: 0 2px 8px rgba(60,64,67,.4) !important; } /* All-day events styling */ html body .event.all-day, html [data-theme] .event.all-day { border-radius: 12px !important; padding: 4px 12px !important; font-weight: 500 !important; margin: 2px 0 !important; } /* Event time display */ html body .event-time, html [data-theme] .event-time { opacity: 0.9 !important; font-size: 10px !important; margin-right: 4px !important; } /* Week view events */ html body .week-view .event, html [data-theme] .week-view .event { border-left: 3px solid rgba(255,255,255,0.8) !important; border-radius: 0 4px 4px 0 !important; padding-left: 6px !important; } /* Calendar table structure */ html body .calendar-table, html [data-theme] .calendar-table, body table, [data-theme] table { border-collapse: separate !important; border-spacing: 0 !important; width: 100% !important; background: white !important; } html body .calendar-table td, html [data-theme] .calendar-table td, body table td, [data-theme] table td { vertical-align: top !important; border: 1px solid #e8eaed !important; background: white !important; } /* Month/Week view toggle */ html body .view-toggle, html [data-theme] .view-toggle { display: flex !important; gap: 4px !important; background: #f1f3f4 !important; border-radius: 6px !important; padding: 2px !important; } html body .view-toggle button, html [data-theme] .view-toggle button { padding: 6px 12px !important; border: none !important; background: transparent !important; color: #5f6368 !important; border-radius: 4px !important; font-size: 13px !important; font-weight: 500 !important; cursor: pointer !important; transition: all 0.15s ease !important; } html body .view-toggle button.active, html [data-theme] .view-toggle button.active { background: white !important; color: #1a73e8 !important; box-shadow: 0 1px 3px rgba(60,64,67,.3) !important; } /* Today button */ html body .today-button, html [data-theme] .today-button { background: white !important; border: 1px solid #dadce0 !important; color: #1a73e8 !important; padding: 8px 16px !important; border-radius: 4px !important; font-weight: 500 !important; font-size: 14px !important; cursor: pointer !important; transition: all 0.15s ease !important; } html body .today-button:hover, html [data-theme] .today-button:hover { background: #f8f9fa !important; border-color: #1a73e8 !important; } /* Google-style modals */ .modal-overlay { background: rgba(0, 0, 0, 0.5); } .modal-content { background: white; border-radius: 8px; box-shadow: var(--shadow-lg); border: none; } .modal h2 { font-size: 20px; font-weight: 500; color: #3c4043; font-family: 'Google Sans', sans-serif; } /* Google-style form inputs */ input[type="text"], input[type="email"], input[type="password"], input[type="url"], input[type="date"], input[type="time"], textarea, select { border: 1px solid #dadce0; border-radius: 4px; padding: 8px 12px; font-size: 14px; color: #3c4043; background: white; font-family: inherit; transition: border-color 0.15s ease, box-shadow 0.15s ease; } input:focus, textarea:focus, select:focus { outline: none; border-color: #1a73e8; box-shadow: 0 0 0 2px rgba(26,115,232,.2); } /* Google-style labels */ label { font-size: 14px; font-weight: 500; color: #3c4043; margin-bottom: 4px; display: block; }