*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;height:-webkit-fill-available}body{font-family:var(--font-body, "Poppins", "Sora", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);background:var(--depth-background);color:var(--text-primary);line-height:1.6;overflow-x:hidden;min-height:100dvh;font-feature-settings:"liga" 1,"kern" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6,.heading,.section-heading h2,.modal-title,.dialog-title{font-family:var(--font-heading, "Sora", "Poppins", sans-serif);font-weight:600;letter-spacing:-.01em}html,body{max-width:100%}img,video,svg,canvas{max-width:100%;height:auto;display:block}@supports (-webkit-touch-callout: none){input,select,textarea,button{font-size:16px;line-height:1.3;min-height:44px}}body.dark-mode{background-image:radial-gradient(ellipse at top,#1a1d29,#0f1015)}body:not(.dark-mode){background-image:linear-gradient(135deg,#f5efff,#e5d9f2 30%,#cdc1ff)}:root{--font-body: "Poppins", "Sora", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: "Sora", "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-brand: "Sora", "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-bengali: "Hind Siliguri", "Poppins", sans-serif;--depth-background: #F5EFFF;--depth-surface: rgba(245, 239, 255, .85);--depth-elevated: rgba(255, 255, 255, .9);--depth-floating: rgba(255, 255, 255, .95);--bg-primary: linear-gradient(135deg, #F5EFFF 0%, #E5D9F2 30%, #CDC1FF 100%);--bg-secondary: linear-gradient(145deg, rgba(245, 239, 255, .9) 0%, rgba(229, 217, 242, .9) 100%);--main-content-bg: radial-gradient( ellipse at center, rgba(162, 148, 249, .12) 0%, rgba(205, 193, 255, .08) 30%, rgba(245, 239, 255, .95) 70%, #F5EFFF 100% );--main-content-overlay: linear-gradient( 135deg, rgba(162, 148, 249, .06) 0%, rgba(229, 217, 242, .3) 50%, rgba(205, 193, 255, .04) 100% );--nav-bg: rgba(255, 255, 255, .85);--nav-solid-bg: #ffffff;--glass-radius: 16px;--glass-lift-shadow: 0 6px 16px rgba(0, 0, 0, .12);--glass-bg: rgba(255, 255, 255, .75);--glass-bg-strong: rgba(255, 255, 255, .9);--glass-border: rgba(139, 125, 232, .2);--glass-border-strong: rgba(139, 125, 232, .3);--glass-highlight: rgba(255, 255, 255, .95);--glass-highlight-strong: rgba(255, 255, 255, 1);--glass-highlight-faint: rgba(248, 246, 255, .7);--glass-shadow: rgba(139, 125, 232, .12);--glass-shadow-strong: rgba(139, 125, 232, .18);--glass-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.02'/%3E%3C/svg%3E");--glass-backdrop-blur: blur(20px);--glass-backdrop-saturate: saturate(1.8);--glass-inner-glow: inset 0 1px 0 rgba(245, 239, 255, .5);--glass-outer-glow: 0 8px 32px rgba(162, 148, 249, .08);--glass-hover-glow: 0 12px 40px rgba(162, 148, 249, .15);--glass-hover-border: rgba(162, 148, 249, .3);--glass-hover-highlight: rgba(245, 239, 255, .9);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--glass-hover: rgba(245, 239, 255, .9);--glass-active: rgba(245, 239, 255, .95);--glass-pressed: rgba(245, 239, 255, .8);--glass-content-bg: rgba(162, 148, 249, .03);--glass-content-border: rgba(162, 148, 249, .1);--glass-divider: rgba(162, 148, 249, .15);--glass-transition: all .3s cubic-bezier(.4, 0, .2, 1);--glass-transform-hover: translateY(-2px) scale(1.02);--glass-transform-active: translateY(0) scale(.98);--text-primary: #1e1b29;--text-secondary: #5e5a73;--text-tertiary: #8b87a0;--text-accent: #7c6fd6;--text-success: #059669;--text-warning: #d97706;--text-error: #dc2626;--accent-primary: #8b7de8;--accent-secondary: #b8aff5;--accent-tertiary: #d4cff7;--surface: rgba(255, 255, 255, .7);--surface-hover: rgba(248, 246, 255, .85);--surface-active: rgba(139, 125, 232, .12);--success: #059669;--success-secondary: #38a169;--success-light: rgba(5, 150, 105, .1);--button-on-green: #15803d;--button-on-green-hover: #16a34a;--button-on-green-light: #166534;--warning: #d97706;--warning-gold: #fbbf24;--warning-light: rgba(217, 119, 6, .1);--error: #dc2626;--error-red: #ef4444;--error-light: rgba(220, 38, 38, .1);--shadow: rgba(139, 125, 232, .15);--shadow-sm: 0 1px 3px rgba(139, 125, 232, .1);--shadow-md: 0 4px 12px rgba(139, 125, 232, .15);--shadow-lg: 0 10px 25px rgba(139, 125, 232, .2);--shadow-xl: 0 20px 40px rgba(139, 125, 232, .25);--shadow-glow: 0 0 25px rgba(139, 125, 232, .3);--shadow-accent-light: 0 4px 15px rgba(139, 125, 232, .2);--shadow-accent-strong: 0 8px 25px rgba(139, 125, 232, .3);--shadow-glow-intense: 0 0 30px rgba(139, 125, 232, .4);--shadow-inset-subtle: inset 0 1px 3px rgba(139, 125, 232, .08);--shadow-inset-glass: inset 0 1px 0 rgba(255, 255, 255, .8);--scrollbar-thumb: rgba(255, 255, 255, .2);--text-overlay-light: rgba(255, 255, 255, .9);--glow-accent-weak: 0 0 15px rgba(139, 92, 246, .3);--glow-accent-medium: 0 0 20px rgba(139, 92, 246, .4);--modal-overlay-dark: rgba(0, 0, 0, .7);--glass-overlay-light: rgba(255, 255, 255, .3);--focus-ring: 0 0 0 3px rgba(102, 126, 234, .2);--dropdown-overlay: rgba(255, 255, 255, .2);--signout-hover-bg: rgba(239, 68, 68, .1);--dark-overlay-light: rgba(0, 0, 0, .1);--dark-overlay-subtle: rgba(0, 0, 0, .05);--button-off-red: #ef4444;--button-off-red-hover: #dc2626;--button-off-red-light: rgba(239, 68, 68, .2);--button-primary-bg: linear-gradient( 135deg, var(--accent-primary), var(--accent-secondary) );--button-secondary-bg: var(--surface);--button-delete-bg: rgba(239, 68, 68, .15);--input-bg: rgba(255, 255, 255, .85);--input-border: rgba(139, 125, 232, .25);--input-focus-border: var(--accent-primary);--input-focus-shadow: rgba(139, 125, 232, .15);--nav-link-highlight: rgba(255, 255, 255, .1);--theme-toggle-hover-bg: rgba(139, 92, 246, .1);--theme-toggle-focus-shadow: rgba(139, 92, 246, .2);--theme-toggle-dark-icon: #fbbf24;--theme-toggle-light-icon: #1e293b;--ripple-bg: rgba(139, 92, 246, .3);--modal-overlay-bg: rgba(0, 0, 0, .5);--modal-shadow: rgba(0, 0, 0, .3);--modal-confirm-bg-end: #38a169;--modal-confirm-text: white;--modal-input-focus-shadow: rgba(102, 126, 234, .1);--modal-delete-border: rgba(239, 68, 68, .25);--modal-delete-bg: rgba(239, 68, 68, .08);--modal-delete-text: #ef4444;--modal-delete-shadow-primary: rgba(239, 68, 68, .15);--modal-delete-shadow-secondary: rgba(239, 68, 68, .1);--modal-delete-shadow-active: rgba(239, 68, 68, .2);--modal-delete-hover-bg: rgba(239, 68, 68, .15);--modal-delete-hover-border: rgba(239, 68, 68, .4);--modal-delete-hover-text: #dc2626;--modal-delete-hover-shadow: rgba(239, 68, 68, .25);--modal-shadow-base: rgba(0, 0, 0, .1);--modal-shadow-elevated: rgba(0, 0, 0, .15);--modal-shadow-light-inset: rgba(255, 255, 255, .1);--modal-shadow-light-inset-hover: rgba(255, 255, 255, .15);--modal-light-reflection: rgba(255, 255, 255, .3);--modal-confirm-shadow: rgba(76, 175, 80, .3);--step-block-active-shadow: rgba(139, 92, 246, .3);--step-block-active-inset-shadow: rgba(255, 255, 255, .2);--step-block-completed-shadow: rgba(139, 92, 246, .2);--step-block-completed-inset-shadow: rgba(255, 255, 255, .1);--step-block-shimmer: linear-gradient( 90deg, transparent, rgba(255, 255, 255, .4), transparent );--form-input-focus-shadow: rgba(139, 92, 246, .1);--form-input-focus-shadow-strong: rgba(139, 92, 246, .2);--avatar-shadow: rgba(0, 0, 0, .15);--avatar-shadow-light: rgba(0, 0, 0, .1);--avatar-highlight: rgba(255, 255, 255, .1);--avatar-hover-shadow: rgba(139, 92, 246, .25);--avatar-hover-shadow-light: rgba(139, 92, 246, .15);--avatar-hover-highlight: rgba(255, 255, 255, .2);--avatar-editor-scrollbar-thumb: rgba(255, 255, 255, .2);--avatar-editor-scroll-indicator-bg: linear-gradient( to bottom, var(--glass-bg) 0%, rgba(255, 255, 255, 0) 100% );--avatar-editor-scroll-indicator-bg-bottom: linear-gradient( to top, var(--glass-bg) 0%, rgba(255, 255, 255, 0) 100% );--avatar-button-bg: linear-gradient( 135deg, rgba(139, 92, 246, .1), rgba(168, 85, 247, .1) );--avatar-button-bg-hover: linear-gradient( 135deg, rgba(139, 92, 246, .15), rgba(168, 85, 247, .15) );--avatar-button-border: rgba(139, 92, 246, .2);--avatar-button-shadow: 0 4px 15px rgba(139, 92, 246, .1), 0 2px 8px rgba(0, 0, 0, .05), inset 0 1px 0 rgba(255, 255, 255, .1);--avatar-button-shadow-hover: 0 8px 25px rgba(139, 92, 246, .2), 0 4px 15px rgba(139, 92, 246, .1), 0 2px 8px rgba(0, 0, 0, .1), inset 0 1px 0 rgba(255, 255, 255, .2);--avatar-button-shadow-active: 0 4px 15px rgba(139, 92, 246, .15), 0 2px 8px rgba(0, 0, 0, .1), inset 0 1px 0 rgba(255, 255, 255, .1);--avatar-button-shimmer: linear-gradient( 90deg, transparent, rgba(255, 255, 255, .2), transparent );--avatar-button-pulse-start: 0 4px 15px rgba(139, 92, 246, .1), 0 2px 8px rgba(0, 0, 0, .05), inset 0 1px 0 rgba(255, 255, 255, .1);--avatar-button-pulse-mid: 0 4px 20px rgba(139, 92, 246, .15), 0 2px 10px rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .15);--form-shadow-light: rgba(0, 0, 0, .05);--form-shadow-medium: rgba(0, 0, 0, .08);--form-shadow-strong: rgba(0, 0, 0, .1);--form-inset-light: rgba(255, 255, 255, .1);--form-inset-medium: rgba(255, 255, 255, .15);--form-inset-strong: rgba(255, 255, 255, .2);--control-select-arrow: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");--control-select-focus-shadow: rgba(99, 102, 241, .1);--button-secondary-shadow: rgba(0, 0, 0, .1);--button-secondary-hover-shadow: rgba(0, 0, 0, .15);--loading-spinner-border: rgba(255, 255, 255, .3);--loading-spinner-border-top: white;--red-glow-start: rgba(239, 68, 68, .7);--red-glow-mid: rgba(239, 68, 68, .3);--red-glow-end: rgba(239, 68, 68, 0);--avatar-modal-close-hover-text: white;--avatar-modal-confirm-hover-bg-start: #38a169;--profile-loading-overlay-bg: rgba(255, 255, 255, .95);--profile-loading-overlay-bg-dark: rgba(30, 30, 30, .95);--color-swatch-shadow: rgba(0, 0, 0, .2);--color-swatch-active-shadow: rgba(99, 102, 241, .2);--gradient-swatch-dark-pattern: linear-gradient( 45deg, transparent 25%, rgba(0, 0, 0, .2) 25%, rgba(0, 0, 0, .2) 50%, transparent 50%, transparent 75%, rgba(0, 0, 0, .2) 75% );--solid-swatch-dark-border: rgba(0, 0, 0, .3);--gradient-swatch-hover-shadow: rgba(0, 0, 0, .25);--gradient-swatch-active-shadow: rgba(99, 102, 241, .3);--gradient-swatch-active-shadow-dark: rgba(77, 171, 247, .3);--gradient-swatch-pattern: linear-gradient( 45deg, transparent 25%, rgba(255, 255, 255, .1) 25%, rgba(255, 255, 255, .1) 50%, transparent 50%, transparent 75%, rgba(255, 255, 255, .1) 75% );--gradient-indicator-text: rgba(255, 255, 255, .95);--gradient-indicator-text-shadow: rgba(0, 0, 0, .8);--gradient-indicator-text-hover: white;--solid-swatch-border: rgba(255, 255, 255, .2);--pin-btn-disabled-bg: rgba(139, 69, 19, .3);--pin-btn-disabled-color: rgba(139, 69, 19, .6);--pin-btn-disabled-shadow: rgba(139, 69, 19, .1);--pin-btn-enabled-shadow: rgba(220, 38, 38, .3);--pin-btn-hover-shadow: rgba(185, 28, 28, .4);--focus-outline-shadow: rgba(102, 126, 234, .2);--focus-glow-shadow: rgba(102, 126, 234, .4);--focus-general-shadow: rgba(0, 0, 0, .15);--spa-loading-bg: rgba(255, 255, 255, .95);--button-off-red-shadow: rgba(239, 68, 68, .3);--button-off-red-hover-shadow: rgba(185, 28, 28, .3);--button-on-green-shadow: rgba(21, 128, 61, .3);--glass-card-mobile-highlight: rgba(255, 255, 255, .1)}body.dark-mode{--depth-background: #0a0b0f;--depth-surface: #151820;--depth-elevated: #1e2028;--depth-floating: #2a2d38;--bg-primary: radial-gradient(ellipse at top, #1a1d29 0%, #0f1015 100%);--bg-secondary: linear-gradient(145deg, #151820 0%, #1a1d29 100%);--main-content-bg: radial-gradient( ellipse at center, rgba(139, 92, 246, .08) 0%, rgba(168, 85, 247, .05) 30%, rgba(15, 16, 21, .9) 70%, #0a0b0f 100% );--main-content-overlay: linear-gradient( 135deg, rgba(139, 92, 246, .03) 0%, rgba(192, 132, 252, .02) 50%, rgba(168, 85, 247, .04) 100% );--nav-bg: rgba(13, 2, 26, .9);--nav-solid-bg: #0d021a;--glass-bg: rgba(42, 45, 56, .8);--glass-bg-strong: rgba(42, 45, 56, .9);--glass-border: rgba(255, 255, 255, .12);--glass-border-strong: rgba(255, 255, 255, .18);--glass-highlight: rgba(255, 255, 255, .1);--glass-highlight-strong: rgba(255, 255, 255, .15);--glass-highlight-faint: rgba(255, 255, 255, .08);--glass-shadow: rgba(0, 0, 0, .3);--glass-shadow-strong: rgba(0, 0, 0, .4);--glass-hover: rgba(42, 45, 56, .9);--glass-dark-bg: rgba(0, 0, 0, .25);--glass-dark-border: rgba(255, 255, 255, .06);--glass-dark-shadow: 0 8px 32px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .15), inset 0 -1px 0 rgba(255, 255, 255, .05);--glass-dark-hover-bg: var(--glass-dark-bg);--glass-dark-hover-border: var(--glass-dark-border);--glass-dark-hover-shadow: var(--glass-dark-shadow);--text-primary: #f0f2f5;--text-secondary: #a8acb8;--text-tertiary: #6b7280;--text-accent: #8b5cf6;--text-success: #10b981;--text-warning: #f59e0b;--text-error: #dc2626;--accent-primary: #8b5cf6;--accent-secondary: #a855f7;--accent-tertiary: #c084fc;--surface: rgba(42, 45, 56, .7);--surface-hover: rgba(42, 45, 56, .85);--surface-active: rgba(139, 92, 246, .1);--success: #10b981;--success-secondary: #38a169;--success-light: rgba(16, 185, 129, .2);--warning: #f59e0b;--warning-gold: #fbbf24;--warning-light: rgba(245, 158, 11, .2);--error: #dc2626;--error-red: #ef4444;--error-light: rgba(220, 38, 38, .2);--shadow: rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 64px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(139, 92, 246, .3);--shadow-accent-light: 0 4px 15px rgba(102, 126, 234, .4);--shadow-accent-strong: 0 8px 25px rgba(102, 126, 234, .6);--shadow-glow-intense: 0 0 25px rgba(139, 92, 246, .6);--shadow-inset-subtle: inset 0 1px 3px rgba(0, 0, 0, .1);--shadow-inset-glass: inset 0 1px 0 rgba(255, 255, 255, .1);--glass-lift-shadow: 0 6px 16px rgba(0, 0, 0, .35);--border: rgba(255, 255, 255, .12);--text-light: #6b7280;--button-off-red: #ef4444;--button-off-red-hover: #dc2626;--button-off-red-light: rgba( 239, 68, 68, .2 );--button-primary-bg: linear-gradient( 135deg, var(--accent-primary), var(--accent-secondary) );--button-secondary-bg: var(--surface);--button-delete-bg: rgba(239, 68, 68, .15);--input-bg: rgba(42, 45, 56, .8);--input-border: rgba(255, 255, 255, .15);--input-focus-border: var(--accent-primary);--input-focus-shadow: rgba(139, 92, 246, .1);--nav-item-hover: var(--surface-hover);--nav-item-active: var(--accent-primary);--nav-link-highlight: rgba(255, 255, 255, .1);--nav-link-color: var(--text-secondary);--nav-link-hover-color: var(--accent-primary);--nav-link-hover-bg: var(--surface-hover);--user-dropdown-bg: rgba(21, 24, 32, .95);--user-dropdown-border: rgba(255, 255, 255, .1);--user-dropdown-shadow: 0 8px 25px rgba(0, 0, 0, .4);--user-dropdown-backdrop: blur(20px);--nav-link-fallback-color: #a8acb8;--nav-link-fallback-hover-color: #8b5cf6;--dropdown-fallback-bg: rgba(21, 24, 32, .9);--modal-bg: var(--depth-surface);--modal-overlay: rgba(0, 0, 0, .7);--modal-border: var(--border);--schedule-bg: var(--glass-bg);--schedule-border: var(--glass-border);--schedule-hover: var(--glass-hover);--schedule-active: var(--surface-active);--gradient-title: linear-gradient( 120deg, #d57cff, #ff769f, #a1c4fd, #c2e9fb );--gradient-accent: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--animation-spring: cubic-bezier(.34, 1.56, .64, 1);--animation-smooth: cubic-bezier(.4, 0, .2, 1);--animation-bounce: cubic-bezier(.68, -.55, .265, 1.55);--tooltip-bg: var(--depth-floating);--tooltip-text: var(--text-primary);--tooltip-border: var(--border);--pin-enabled: #dc2626;--pin-enabled-hover: #b91c1c;--pin-disabled: var(--text-tertiary);--add-btn-bg: var(--accent-primary);--add-btn-hover: var(--accent-secondary);--add-btn-disabled: var(--text-tertiary)}.light-mode,body:not(.dark-mode){--depth-background: #F5EFFF;--depth-surface: rgba(245, 239, 255, .85);--depth-elevated: rgba(229, 217, 242, .9);--depth-floating: rgba(205, 193, 255, .8);--bg-primary: linear-gradient(135deg, #F5EFFF 0%, #E5D9F2 30%, #CDC1FF 100%);--bg-secondary: linear-gradient( 145deg, rgba(245, 239, 255, .9) 0%, rgba(229, 217, 242, .9) 100% );--main-content-bg: radial-gradient( ellipse at center, rgba(162, 148, 249, .12) 0%, rgba(205, 193, 255, .08) 30%, rgba(245, 239, 255, .95) 70%, #F5EFFF 100% );--main-content-overlay: linear-gradient( 135deg, rgba(162, 148, 249, .06) 0%, rgba(229, 217, 242, .3) 50%, rgba(205, 193, 255, .04) 100% );--nav-bg: rgba(245, 239, 255, .85);--glass-bg: rgba(255, 255, 255, .75);--glass-border: rgba(139, 125, 232, .2);--glass-hover: rgba(255, 255, 255, .85);--text-primary: #1e1b29;--text-secondary: #5e5a73;--text-tertiary: #8b87a0;--text-accent: #7c6fd6;--text-success: #059669;--text-warning: #d97706;--text-error: #dc2626;--accent-primary: #8b7de8;--accent-secondary: #b8aff5;--accent-tertiary: #d4cff7;--surface: rgba(255, 255, 255, .7);--surface-hover: rgba(248, 246, 255, .85);--surface-active: rgba(139, 125, 232, .12);--success: #059669;--success-light: rgba(5, 150, 105, .1);--warning: #d97706;--warning-light: rgba(217, 119, 6, .1);--error: #dc2626;--error-light: rgba(220, 38, 38, .1);--shadow: rgba(162, 148, 249, .15);--shadow-sm: 0 1px 3px rgba(162, 148, 249, .1);--shadow-md: 0 4px 12px rgba(162, 148, 249, .15);--shadow-lg: 0 10px 25px rgba(162, 148, 249, .2);--shadow-xl: 0 20px 40px rgba(162, 148, 249, .25);--shadow-glow: 0 0 25px rgba(162, 148, 249, .3);--border: rgba(205, 193, 255, .25);--text-light: #94a3b8;--button-off-red: #a50909;--button-off-red-hover: #b91c1c;--button-off-red-light: rgba(220, 38, 38, .1);--button-primary-bg: linear-gradient( 135deg, var(--accent-primary), var(--accent-secondary) );--button-secondary-bg: var(--surface);--button-delete-bg: rgba(220, 38, 38, .15);--input-bg: rgba(255, 255, 255, .85);--input-border: rgba(162, 148, 249, .25);--input-focus-border: var(--accent-primary);--input-focus-shadow: rgba(162, 148, 249, .15);--nav-item-hover: rgba(162, 148, 249, .1);--nav-item-active: var(--accent-primary);--nav-link-highlight: rgba(162, 148, 249, .15);--nav-link-color: var(--text-secondary);--nav-link-hover-color: var(--accent-primary);--nav-link-hover-bg: var(--surface-hover);--user-dropdown-bg: rgba(245, 239, 255, .95);--user-dropdown-border: rgba(162, 148, 249, .2);--user-dropdown-shadow: 0 8px 25px rgba(162, 148, 249, .15);--user-dropdown-backdrop: blur(20px);--nav-link-fallback-color: #475569;--nav-link-fallback-hover-color: #A294F9;--dropdown-fallback-bg: rgba(245, 239, 255, .9);--modal-bg: rgba(245, 239, 255, .9);--modal-overlay: rgba(162, 148, 249, .2);--modal-border: rgba(205, 193, 255, .3);--modal-delete-border: rgba(220, 38, 38, .25);--modal-delete-bg: rgba(220, 38, 38, .08);--modal-delete-text: #dc2626;--modal-delete-shadow-primary: rgba(220, 38, 38, .15);--modal-delete-shadow-secondary: rgba(220, 38, 38, .1);--modal-delete-shadow-active: rgba(220, 38, 38, .2);--modal-delete-hover-bg: rgba(220, 38, 38, .15);--modal-delete-hover-border: rgba(220, 38, 38, .4);--modal-delete-hover-text: #b91c1c;--modal-delete-hover-shadow: rgba(220, 38, 38, .25);--modal-shadow-base: rgba(0, 0, 0, .1);--modal-shadow-elevated: rgba(0, 0, 0, .15);--modal-shadow-light-inset: rgba(255, 255, 255, .1);--modal-shadow-light-inset-hover: rgba(255, 255, 255, .15);--modal-light-reflection: rgba(255, 255, 255, .3);--modal-confirm-shadow: rgba(76, 175, 80, .3);--schedule-bg: rgba(255, 255, 255, .8);--schedule-border: rgba(139, 125, 232, .2);--schedule-hover: rgba(139, 125, 232, .08);--schedule-active: rgba(139, 125, 232, .15);--user-item-active: linear-gradient( 135deg, var(--accent-primary), var(--accent-secondary) );--pin-enabled: #dc2626;--pin-enabled-hover: #b91c1c;--pin-disabled: var(--text-tertiary);--add-btn-bg: var(--accent-primary);--add-btn-hover: var(--accent-secondary);--add-btn-disabled: var(--text-tertiary);--glass-bg-strong: rgba(255, 255, 255, .9);--glass-border-strong: rgba(139, 125, 232, .3);--glass-highlight: rgba(255, 255, 255, .95);--glass-highlight-strong: rgba(255, 255, 255, 1);--glass-highlight-faint: rgba(248, 246, 255, .7);--glass-shadow: rgba(139, 125, 232, .12);--glass-shadow-strong: rgba(139, 125, 232, .18);--glass-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.02'/%3E%3C/svg%3E");--glass-backdrop-blur: blur(24px);--glass-backdrop-saturate: saturate(1.9);--glass-inner-glow: inset 0 1px 0 rgba(255, 255, 255, .8);--glass-outer-glow: 0 8px 32px rgba(139, 125, 232, .1);--glass-hover-glow: 0 12px 40px rgba(139, 125, 232, .18);--glass-hover-border: rgba(139, 125, 232, .35);--glass-hover-highlight: rgba(255, 255, 255, .95);--glass-active: rgba(255, 255, 255, .95);--glass-pressed: rgba(248, 246, 255, .9);--glass-content-bg: rgba(139, 125, 232, .04);--glass-content-border: rgba(139, 125, 232, .12);--glass-divider: rgba(139, 125, 232, .18);--glass-transition: all .3s cubic-bezier(.4, 0, .2, 1);--glass-transform-hover: translateY(-2px) scale(1.01);--glass-transform-active: translateY(0) scale(.99)}:root{--auth-header-gradient: linear-gradient( 135deg, #8b5cf6 0%, #a855f7 50%, #667eea 100% );--auth-header-pattern: rgba(255, 255, 255, .05);--auth-logo-gradient: linear-gradient( 45deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, .9), #f0f5ff );--auth-logo-text-fill: transparent;--auth-subtitle-text: rgba(255, 255, 255, .95);--auth-button-gradient: linear-gradient( 135deg, #8b5cf6 0%, #a855f7 50%, #667eea 100% );--auth-button-text: #ffffff;--auth-button-shimmer: linear-gradient( 90deg, transparent, rgba(255, 255, 255, .2), transparent );--auth-button-hover-gradient: linear-gradient( 135deg, #a855f7 0%, #c084fc 50%, #7c3aed 100% );--auth-loading-dot-bg: rgba(255, 255, 255, .9);--auth-close-button-bg: rgba(255, 255, 255, .2);--auth-close-button-border: rgba(255, 255, 255, .3);--auth-close-button-text: #ffffff;--auth-close-button-hover-bg: rgba(255, 255, 255, .3);--auth-close-button-hover-shadow: rgba(255, 255, 255, .2);--auth-high-contrast-border: 2px solid #8b5cf6;--auth-high-contrast-button-border: 2px solid rgba(255, 255, 255, .5)}.light-mode,body:not(.dark-mode){--auth-tabs-bg: rgba(229, 217, 242, .8);--auth-tabs-border: rgba(205, 193, 255, .3);--auth-tab-text: #64748b;--auth-tab-text-hover: #1e293b;--auth-tab-hover-bg: rgba(162, 148, 249, .08);--auth-tab-active-bg: linear-gradient( 135deg, rgba(162, 148, 249, .12), rgba(205, 193, 255, .08) );--auth-tab-active-border: #A294F9;--auth-university-info-bg: linear-gradient( 135deg, rgba(162, 148, 249, .08), rgba(229, 217, 242, .05) );--auth-university-info-border: rgba(162, 148, 249, .2);--auth-university-info-accent-bar: linear-gradient(180deg, #A294F9, #CDC1FF);--auth-university-name-text: #A294F9;--auth-university-domain-text: #6b7280;--auth-input-bg: rgba(255, 255, 255, .9);--auth-input-border: rgba(139, 125, 232, .3);--auth-input-focus-border: #8b7de8;--auth-input-focus-shadow-color: rgba(139, 125, 232, .15);--auth-input-focus-glow: rgba(139, 125, 232, .2);--auth-input-focus-bg: rgba(255, 255, 255, 1);--auth-input-placeholder: #9ca3af;--auth-input-error-border: #ef4444;--auth-input-error-bg: rgba(254, 242, 242, .8);--auth-input-error-shadow: rgba(239, 68, 68, .1);--auth-input-success-border: #10b981;--auth-input-success-bg: rgba(240, 253, 244, .8);--auth-input-success-shadow: rgba(16, 185, 129, .1);--auth-error-text: #ef4444;--auth-error-message-bg: rgba(239, 68, 68, .1);--auth-error-message-border: rgba(239, 68, 68, .3);--auth-success-message-bg: rgba(16, 185, 129, .1);--auth-success-message-border: rgba(16, 185, 129, .3);--auth-button-shadow-primary: rgba(162, 148, 249, .25);--auth-button-shadow-secondary: rgba(205, 193, 255, .15);--auth-button-hover-shadow-primary: rgba(162, 148, 249, .3);--auth-button-hover-shadow-secondary: rgba(205, 193, 255, .2)}.dark-mode,body:not(.light-mode){--auth-tabs-bg: rgba(30, 35, 47, .8);--auth-tabs-border: rgba(255, 255, 255, .1);--auth-tab-text: var(--text-secondary);--auth-tab-text-hover: var(--text-primary);--auth-tab-hover-bg: rgba(139, 92, 246, .15);--auth-tab-active-bg: linear-gradient( 135deg, rgba(139, 92, 246, .2), rgba(167, 85, 247, .15) );--auth-tab-active-border: var(--accent-primary);--auth-university-info-bg: linear-gradient( 135deg, rgba(59, 130, 246, .15), rgba(139, 92, 246, .1) );--auth-university-info-border: rgba(59, 130, 246, .3);--auth-university-info-accent-bar: linear-gradient(180deg, #60a5fa, #8b5cf6);--auth-university-name-text: #60a5fa;--auth-university-domain-text: var(--text-secondary);--auth-input-bg: rgba(42, 45, 56, .9);--auth-input-border: rgba(255, 255, 255, .15);--auth-input-focus-border: var(--accent-primary);--auth-input-focus-shadow-color: rgba(139, 92, 246, .15);--auth-input-focus-glow: rgba(139, 92, 246, .2);--auth-input-focus-bg: rgba(42, 45, 56, .95);--auth-input-placeholder: var(--text-tertiary);--auth-input-error-border: #ef4444;--auth-input-error-bg: rgba(254, 242, 242, .2);--auth-input-error-shadow: rgba(239, 68, 68, .15);--auth-input-success-border: #10b981;--auth-input-success-bg: rgba(240, 253, 244, .2);--auth-input-success-shadow: rgba(16, 185, 129, .15);--auth-error-text: #ef4444;--auth-error-message-bg: rgba(239, 68, 68, .15);--auth-error-message-border: rgba(239, 68, 68, .4);--auth-success-message-bg: rgba(16, 185, 129, .15);--auth-success-message-border: rgba(16, 185, 129, .4);--auth-button-shadow-primary: rgba(139, 92, 246, .25);--auth-button-shadow-secondary: rgba(102, 126, 234, .15);--auth-button-hover-shadow-primary: rgba(139, 92, 246, .3);--auth-button-hover-shadow-secondary: rgba(102, 126, 234, .2);--friends-color-white: white;--friends-color-transparent: transparent;--friends-action-size: 40px;--friends-action-size-tablet: 36px;--friends-action-size-mobile: 34px;--friends-shadow-dark-subtle: rgba(0, 0, 0, .06);--friends-shadow-dark-faint: rgba(0, 0, 0, .08);--friends-shadow-dark-medium: rgba(0, 0, 0, .1);--friends-shadow-dark-strong: rgba(0, 0, 0, .12);--friends-white-highlight-faint: rgba(255, 255, 255, .1);--friends-white-highlight-subtle: rgba(255, 255, 255, .15);--friends-white-highlight-medium: rgba(255, 255, 255, .2);--friends-white-highlight-strong: rgba(255, 255, 255, .3);--friends-white-highlight-extra-strong: rgba(255, 255, 255, .4);--friends-white-highlight-intense: rgba(255, 255, 255, .6);--friends-card-bg: linear-gradient( 135deg, rgba(139, 92, 246, .15) 0%, rgba(168, 85, 247, .12) 25%, rgba(79, 70, 229, .1) 50%, rgba(99, 102, 241, .08) 75%, rgba(139, 92, 246, .05) 100% );--friends-card-border: 1px solid var(--friends-white-highlight-strong);--friends-card-shadow: 0 2px 8px var(--friends-shadow-dark-medium), 0 1px 2px var(--friends-shadow-dark-subtle), inset 0 1px 0 var(--friends-white-highlight-medium), inset 0 0 20px rgba(139, 92, 246, .05);--friends-card-highlight: linear-gradient( 90deg, var(--friends-color-transparent) 0%, var(--friends-white-highlight-intense) 20%, rgba(139, 92, 246, .4) 50%, var(--friends-white-highlight-intense) 80%, var(--friends-color-transparent) 100% );--friends-card-hover-bg: linear-gradient( 135deg, rgba(139, 92, 246, .25) 0%, rgba(168, 85, 247, .2) 25%, rgba(79, 70, 229, .18) 50%, rgba(99, 102, 241, .15) 75%, rgba(139, 92, 246, .12) 100% );--friends-card-hover-shadow: 0 8px 32px rgba(139, 92, 246, .2), 0 4px 16px var(--friends-shadow-dark-medium), 0 0 0 1px rgba(139, 92, 246, .4), inset 0 1px 0 var(--friends-white-highlight-strong), inset 0 0 20px rgba(139, 92, 246, .1);--friends-online-indicator-border: 2px solid var(--friends-color-white);--friends-dark-card-bg: #1f2937;--friends-dark-input-bg: #374151;--friends-dark-input-border: #4b5563;--friends-dark-text-primary: #f9fafb;--friends-dark-text-secondary: #9ca3af;--friends-dark-warning-border: #f59e0b;--friends-purple-shadow-light: rgba(139, 92, 246, .1);--friends-purple-shadow-medium: rgba(139, 92, 246, .3)}.light-mode,body:not(.dark-mode){--friends-color-white: #F5EFFF;--friends-color-transparent: transparent;--friends-shadow-dark-subtle: rgba(0, 0, 0, .06);--friends-shadow-dark-faint: rgba(0, 0, 0, .08);--friends-shadow-dark-medium: rgba(0, 0, 0, .1);--friends-shadow-dark-strong: rgba(0, 0, 0, .12);--friends-white-highlight-faint: rgba(245, 239, 255, .1);--friends-white-highlight-subtle: rgba(245, 239, 255, .15);--friends-white-highlight-medium: rgba(245, 239, 255, .2);--friends-white-highlight-strong: rgba(245, 239, 255, .3);--friends-white-highlight-extra-strong: rgba(245, 239, 255, .4);--friends-white-highlight-intense: rgba(245, 239, 255, .6);--friends-spinner-border: 2px solid var(--friends-white-highlight-strong);--friends-spinner-border-top: 2px solid var(--friends-color-white);--friends-online-indicator-border: 2px solid var(--friends-color-white);--friends-search-shadow: 0 8px 32px var(--friends-shadow-dark-strong), 0 2px 8px var(--friends-shadow-dark-faint);--friends-search-shadow-active: 0 12px 48px rgba(34, 197, 94, .1), 0 4px 16px var(--friends-shadow-dark-medium);--friends-search-header-bg: linear-gradient( 135deg, rgba(34, 197, 94, .15) 0%, rgba(16, 185, 129, .12) 50%, rgba(34, 197, 94, .08) 100% );--friends-search-header-border: 1px solid rgba(34, 197, 94, .2);--friends-search-header-shadow: inset 0 1px 0 var(--friends-white-highlight-subtle), 0 1px 3px rgba(34, 197, 94, .1);--friends-search-header-highlight: linear-gradient( 90deg, var(--friends-color-transparent) 0%, var(--friends-white-highlight-extra-strong) 20%, rgba(34, 197, 94, .3) 50%, var(--friends-white-highlight-extra-strong) 80%, var(--friends-color-transparent) 100% );--friends-search-container-bg: rgba(245, 239, 255, .02);--friends-search-container-border: 1px solid rgba(34, 197, 94, .15);--friends-search-scrollbar-color: rgba(34, 197, 94, .4);--friends-search-scrollbar-track-bg: rgba(245, 239, 255, .05);--friends-search-scrollbar-thumb-bg: linear-gradient( 180deg, rgba(34, 197, 94, .4) 0%, rgba(16, 185, 129, .5) 50%, rgba(34, 197, 94, .4) 100% );--friends-search-scrollbar-thumb-border: 1px solid var(--friends-white-highlight-faint);--friends-search-scrollbar-thumb-hover-bg: linear-gradient( 180deg, rgba(34, 197, 94, .6) 0%, rgba(16, 185, 129, .7) 50%, rgba(34, 197, 94, .6) 100% );--friends-search-scrollbar-thumb-hover-shadow: 0 0 8px rgba(34, 197, 94, .3);--friends-student-card-bg: linear-gradient( 135deg, rgba(34, 197, 94, .12) 0%, rgba(16, 185, 129, .1) 25%, rgba(59, 130, 246, .08) 50%, rgba(34, 197, 94, .06) 75%, rgba(16, 185, 129, .04) 100% );--friends-student-card-border: 1px solid var(--friends-white-highlight-subtle);--friends-student-card-shadow: 0 1px 3px var(--friends-shadow-dark-subtle), inset 0 1px 0 var(--friends-white-highlight-faint), inset 0 0 15px rgba(34, 197, 94, .03);--friends-student-card-hover-bg: linear-gradient( 135deg, rgba(34, 197, 94, .18) 0%, rgba(16, 185, 129, .15) 25%, rgba(59, 130, 246, .12) 50%, rgba(34, 197, 94, .1) 75%, rgba(16, 185, 129, .08) 100% );--friends-student-card-hover-border-color: rgba(34, 197, 94, .3);--friends-student-card-hover-shadow: 0 4px 12px rgba(34, 197, 94, .15), 0 2px 6px var(--friends-shadow-dark-faint), 0 0 0 1px rgba(34, 197, 94, .2), inset 0 1px 0 var(--friends-white-highlight-subtle), inset 0 0 15px rgba(34, 197, 94, .05);--friends-request-card-bg: linear-gradient( 135deg, rgba(251, 146, 60, .15) 0%, rgba(245, 101, 101, .12) 25%, rgba(139, 92, 246, .1) 50%, rgba(168, 85, 247, .08) 75%, rgba(251, 146, 60, .05) 100% );--friends-request-card-border: 1px solid var(--friends-white-highlight-strong);--friends-request-card-border-left: 3px solid rgba(251, 146, 60, .8);--friends-request-card-shadow: 0 2px 8px var(--friends-shadow-dark-medium), 0 1px 2px var(--friends-shadow-dark-subtle), inset 0 1px 0 var(--friends-white-highlight-medium), inset 0 0 20px rgba(251, 146, 60, .05), -3px 0 12px rgba(251, 146, 60, .08);--friends-request-card-highlight: linear-gradient( 90deg, var(--friends-color-transparent) 0%, var(--friends-white-highlight-intense) 20%, rgba(251, 146, 60, .5) 50%, var(--friends-white-highlight-intense) 80%, var(--friends-color-transparent) 100% );--friends-request-card-hover-bg: linear-gradient( 135deg, rgba(251, 146, 60, .25) 0%, rgba(245, 101, 101, .2) 25%, rgba(139, 92, 246, .18) 50%, rgba(168, 85, 247, .15) 75%, rgba(251, 146, 60, .12) 100% );--friends-request-card-hover-border-left-color: rgba(251, 146, 60, 1);--friends-request-card-hover-shadow: 0 8px 32px rgba(251, 146, 60, .2), 0 4px 16px var(--friends-shadow-dark-medium), 0 0 0 1px rgba(251, 146, 60, .4), inset 0 1px 0 var(--friends-white-highlight-strong), inset 0 0 20px rgba(251, 146, 60, .1), -3px 0 16px rgba(251, 146, 60, .15);--friends-list-container-bg: linear-gradient( 135deg, rgba(255, 255, 255, .08) 0%, rgba(139, 92, 246, .04) 50%, rgba(255, 255, 255, .06) 100% );--friends-list-container-border: 1px solid var(--friends-white-highlight-subtle);--friends-list-container-shadow: 0 4px 24px var(--friends-shadow-dark-medium), inset 0 1px 0 var(--friends-white-highlight-medium), inset 0 0 40px rgba(139, 92, 246, .03);--friends-list-scrollbar-color: rgba(139, 92, 246, .4);--friends-list-scrollbar-track-bg: rgba(245, 239, 255, .05);--friends-list-scrollbar-thumb-bg: linear-gradient( 180deg, rgba(162, 148, 249, .4) 0%, rgba(205, 193, 255, .5) 50%, rgba(162, 148, 249, .4) 100% );--friends-list-scrollbar-thumb-border: 1px solid var(--friends-white-highlight-faint);--friends-list-scrollbar-thumb-hover-bg: linear-gradient( 180deg, rgba(162, 148, 249, .6) 0%, rgba(205, 193, 255, .7) 50%, rgba(162, 148, 249, .6) 100% );--friends-list-scrollbar-thumb-hover-shadow: 0 0 8px rgba(162, 148, 249, .3);--friends-card-bg: linear-gradient( 135deg, rgba(139, 92, 246, .15) 0%, rgba(168, 85, 247, .12) 25%, rgba(79, 70, 229, .1) 50%, rgba(99, 102, 241, .08) 75%, rgba(139, 92, 246, .05) 100% );--friends-card-border: 1px solid var(--friends-white-highlight-strong);--friends-card-shadow: 0 2px 8px var(--friends-shadow-dark-medium), 0 1px 2px var(--friends-shadow-dark-subtle), inset 0 1px 0 var(--friends-white-highlight-medium), inset 0 0 20px rgba(139, 92, 246, .05);--friends-card-highlight: linear-gradient( 90deg, var(--friends-color-transparent) 0%, var(--friends-white-highlight-intense) 20%, rgba(139, 92, 246, .4) 50%, var(--friends-white-highlight-intense) 80%, var(--friends-color-transparent) 100% );--friends-card-hover-bg: linear-gradient( 135deg, rgba(139, 92, 246, .25) 0%, rgba(168, 85, 247, .2) 25%, rgba(79, 70, 229, .18) 50%, rgba(99, 102, 241, .15) 75%, rgba(139, 92, 246, .12) 100% );--friends-card-hover-shadow: 0 8px 32px rgba(139, 92, 246, .2), 0 4px 16px var(--friends-shadow-dark-medium), 0 0 0 1px rgba(139, 92, 246, .4), inset 0 1px 0 var(--friends-white-highlight-strong), inset 0 0 20px rgba(139, 92, 246, .1);--friends-btn-clear-search-bg: var(--friends-white-highlight-faint);--friends-btn-clear-search-border: 1px solid var(--friends-white-highlight-medium);--friends-btn-clear-search-hover-bg: rgba(239, 68, 68, .15);--friends-btn-clear-search-hover-border-color: rgba(239, 68, 68, .3);--friends-btn-clear-search-hover-color: #ef4444;--friends-btn-clear-search-hover-shadow: 0 2px 8px rgba(239, 68, 68, .2);--friends-btn-friend-menu-bg: rgba(245, 239, 255, .05);--friends-btn-friend-menu-border: 1px solid var(--friends-white-highlight-faint);--friends-btn-friend-menu-hover-bg: var(--friends-white-highlight-faint);--friends-btn-send-request-bg: linear-gradient( 135deg, rgba(34, 197, 94, .8) 0%, rgba(16, 185, 129, .9) 100% );--friends-btn-send-request-border: 1px solid var(--friends-white-highlight-medium);--friends-btn-send-request-shadow: 0 2px 8px rgba(34, 197, 94, .3), inset 0 1px 0 var(--friends-white-highlight-medium);--friends-btn-send-request-hover-bg: linear-gradient( 135deg, rgba(34, 197, 94, 1) 0%, rgba(16, 185, 129, 1) 100% );--friends-btn-send-request-hover-shadow: 0 4px 16px rgba(34, 197, 94, .4), 0 2px 8px var(--friends-shadow-dark-medium), inset 0 1px 0 var(--friends-white-highlight-strong);--friends-btn-send-request-disabled-bg: var(--friends-white-highlight-faint);--friends-btn-send-request-disabled-color: rgba(245, 239, 255, .5);--friends-btn-pending-request-bg: linear-gradient( 135deg, rgba(255, 193, 7, .9) 0%, rgba(255, 235, 59, .95) 100% );--friends-btn-pending-request-color: #856404;--friends-btn-pending-request-border: 1px solid var(--friends-white-highlight-strong);--friends-btn-pending-request-shadow: 0 2px 8px rgba(255, 193, 7, .4), inset 0 1px 0 var(--friends-white-highlight-strong);--friends-btn-accept-request-bg: rgba(16, 185, 129, .1);--friends-btn-accept-request-color: #10b981;--friends-btn-accept-request-border: 1px solid rgba(16, 185, 129, .2);--friends-btn-accept-request-hover-bg: rgba(16, 185, 129, .2);--friends-btn-accept-request-hover-border-color: #10b981;--friends-btn-accept-request-hover-shadow: 0 4px 12px rgba(16, 185, 129, .2);--friends-btn-reject-request-bg: rgba(239, 68, 68, .1);--friends-btn-reject-request-color: #ef4444;--friends-btn-reject-request-border: 1px solid rgba(239, 68, 68, .2);--friends-btn-reject-request-hover-bg: rgba(239, 68, 68, .2);--friends-btn-reject-request-hover-border-color: #ef4444;--friends-btn-reject-request-hover-shadow: 0 4px 12px rgba(239, 68, 68, .2);--friends-avatar-bg: rgba(245, 239, 255, .05);--friends-avatar-border: 2px solid var(--friends-white-highlight-faint);--friends-avatar-highlight: linear-gradient( 135deg, var(--friends-white-highlight-faint), var(--friends-color-transparent) );--friends-avatar-disabled-bg: rgba(245, 239, 255, .02);--friends-avatar-disabled-border: rgba(245, 239, 255, .08);--friends-avatar-disabled-shadow: 0 1px 3px rgba(0, 0, 0, .05);--friends-avatar-disabled-text: rgba(245, 239, 255, .3);--friends-privacy-status-width-desktop: 160px;--friends-privacy-status-width-tablet: 140px;--friends-privacy-status-width-mobile: 120px;--friends-privacy-status-padding: 6px 10px;--friends-privacy-status-padding-tablet: 4px 8px;--friends-privacy-status-padding-mobile: 3px 6px;--friends-privacy-status-border-radius: 8px;--friends-privacy-status-font-size: .7rem;--friends-privacy-status-font-size-tablet: .65rem;--friends-privacy-status-font-size-mobile: .6rem;--friends-privacy-status-gap: 6px;--friends-privacy-status-gap-tablet: 4px;--friends-privacy-status-gap-mobile: 3px;--friends-privacy-status-icon-size: 12px;--friends-privacy-status-icon-size-tablet: 10px;--friends-privacy-status-icon-size-mobile: 8px;--friends-privacy-status-transition: all .3s cubic-bezier(.4, 0, .2, 1);--friends-privacy-visible-bg: linear-gradient( 135deg, rgba(16, 185, 129, .15) 0%, rgba(34, 197, 94, .12) 50%, rgba(16, 185, 129, .1) 100% );--friends-privacy-visible-color: #047857;--friends-privacy-visible-border: 1px solid rgba(16, 185, 129, .3);--friends-privacy-visible-shadow: 0 2px 8px rgba(16, 185, 129, .08), inset 0 1px 0 rgba(245, 239, 255, .1), inset 0 -1px 0 rgba(16, 185, 129, .05);--friends-privacy-hidden-bg: linear-gradient( 135deg, rgba(239, 68, 68, .15) 0%, rgba(220, 38, 38, .12) 50%, rgba(239, 68, 68, .1) 100% );--friends-privacy-hidden-color: #b91c1c;--friends-privacy-hidden-border: 1px solid rgba(239, 68, 68, .3);--friends-privacy-hidden-shadow: 0 2px 8px rgba(239, 68, 68, .08), inset 0 1px 0 rgba(245, 239, 255, .1), inset 0 -1px 0 rgba(239, 68, 68, .05);--friends-privacy-span-bg: rgba(245, 239, 255, .08);--friends-privacy-span-bg-hover: rgba(245, 239, 255, .12);--friends-privacy-span-border: 1px solid rgba(245, 239, 255, .15);--friends-privacy-span-border-radius: 6px;--friends-privacy-span-padding: 4px 8px;--friends-privacy-span-shadow: 0 1px 4px rgba(0, 0, 0, .08), inset 0 1px 0 rgba(245, 239, 255, .1);--friends-privacy-span-transition: all .2s cubic-bezier(.4, 0, .2, 1);--friends-privacy-span-backdrop-blur: blur(4px);--friends-privacy-hidden-icon-color: #dc2626;--friends-privacy-hidden-icon-bg: rgba(239, 68, 68, .15);--friends-privacy-hidden-icon-bg-hover: rgba(239, 68, 68, .25);--friends-privacy-hidden-icon-border: rgba(239, 68, 68, .3);--friends-privacy-hidden-icon-shadow: 0 2px 6px rgba(239, 68, 68, .15);--friends-privacy-hidden-icon-shadow-hover: 0 3px 8px rgba(239, 68, 68, .25);--friends-privacy-visible-icon-color: #16a34a;--friends-privacy-visible-icon-bg: rgba(34, 197, 94, .15);--friends-privacy-visible-icon-bg-hover: rgba(34, 197, 94, .25);--friends-privacy-visible-icon-border: rgba(34, 197, 94, .3);--friends-privacy-visible-icon-shadow: 0 2px 6px rgba(34, 197, 94, .15);--friends-privacy-visible-icon-shadow-hover: 0 3px 8px rgba(34, 197, 94, .25);--friends-privacy-tooltip-bg: rgba(0, 0, 0, .85);--friends-privacy-tooltip-color: #ffffff;--friends-schedule-can-see-bg: rgba(34, 197, 94, .1);--friends-schedule-can-see-color: #16a34a;--friends-schedule-can-see-border: 1px solid rgba(34, 197, 94, .2);--friends-schedule-cannot-see-bg: rgba(239, 68, 68, .1);--friends-schedule-cannot-see-color: #dc2626;--friends-schedule-cannot-see-border: 1px solid rgba(239, 68, 68, .2);--friends-btn-view-schedule-bg: rgba(59, 130, 246, .1);--friends-btn-view-schedule-color: #3b82f6;--friends-btn-view-schedule-border: 1px solid rgba(59, 130, 246, .3);--friends-btn-view-schedule-hover-bg: rgba(59, 130, 246, .2);--friends-btn-view-schedule-hover-border: rgba(59, 130, 246, .4);--friends-btn-view-schedule-hover-shadow: 0 4px 8px rgba(59, 130, 246, .2);--friends-btn-view-schedule-disabled-bg: rgba(156, 163, 175, .1);--friends-btn-view-schedule-disabled-color: #9ca3af;--friends-btn-view-schedule-disabled-border: rgba(156, 163, 175, .2);--friends-options-dropdown-bg-light: rgba(245, 239, 255, .98);--friends-options-dropdown-bg-active: rgba(245, 239, 255, .95);--friends-options-dropdown-border: rgba(162, 148, 249, .5);--friends-options-dropdown-border-active: rgba(245, 239, 255, .5);--friends-options-shadow-heavy: rgba(0, 0, 0, .15);--friends-options-shadow-medium: rgba(0, 0, 0, .08);--friends-options-shadow-light: rgba(0, 0, 0, .05);--friends-options-highlight-strong: rgba(245, 239, 255, .8);--friends-options-highlight-medium: rgba(245, 239, 255, .3);--friends-options-gradient-strong: rgba(245, 239, 255, .9);--friends-options-gradient-medium: rgba(245, 239, 255, .6);--friends-options-hover-green: rgba(34, 197, 94, .08);--friends-options-hover-red: rgba(239, 68, 68, .08);--friends-options-hover-teal: rgba(16, 185, 129, .08);--friends-options-hover-primary: rgba(var(--primary-rgb), .12);--friends-options-dark-dropdown-bg: rgba(15, 23, 42, .95);--friends-options-dark-border: rgba(75, 85, 99, .5);--friends-options-dark-shadow-heavy: rgba(0, 0, 0, .5);--friends-options-dark-shadow-medium: rgba(0, 0, 0, .3);--friends-options-dark-shadow-light: rgba(0, 0, 0, .2);--friends-options-dark-highlight-strong: rgba(255, 255, 255, .25);--friends-options-dark-highlight-medium: rgba(255, 255, 255, .15);--friends-options-dark-button-bg: rgba(255, 255, 255, .08);--friends-options-dark-button-hover: rgba(255, 255, 255, .15);--friends-options-dark-button-border: rgba(255, 255, 255, .15);--friends-options-dark-button-border-hover: rgba(255, 255, 255, .25);--friends-button-glass-bg-light: rgba(245, 239, 255, .15);--friends-button-glass-bg-lighter: rgba(245, 239, 255, .08);--friends-button-glass-bg-hover-light: rgba(245, 239, 255, .25);--friends-button-glass-bg-hover-medium: rgba(245, 239, 255, .12);--friends-button-glass-bg-active-purple: rgba(162, 148, 249, .1);--friends-button-glass-bg-active-purple-light: rgba(162, 148, 249, .05);--friends-button-shadow-dark-subtle: rgba(139, 92, 246, .1);--friends-button-shadow-dark-faint: rgba(139, 92, 246, .05);--friends-button-shadow-dark-light: rgba(139, 92, 246, .03);--friends-button-shadow-dark-medium: rgba(162, 148, 249, .15);--friends-button-shadow-dark-strong: rgba(162, 148, 249, .2);--friends-button-shadow-dark-hover: rgba(162, 148, 249, .08);--friends-button-shadow-dark-hover-light: rgba(162, 148, 249, .04);--friends-button-shadow-dark-active: rgba(162, 148, 249, .06);--friends-button-highlight-white-strong: rgba(245, 239, 255, .9);--friends-button-highlight-white-medium: rgba(245, 239, 255, .7);--friends-button-highlight-white-subtle: rgba(245, 239, 255, .5);--friends-button-highlight-white-light: rgba(245, 239, 255, .6);--friends-button-highlight-white-hover: rgba(245, 239, 255, .95);--friends-button-purple-glow: rgba(162, 148, 249, .2);--friends-button-purple-highlight: rgba(162, 148, 249, .08);--friends-button-purple-shadow: rgba(162, 148, 249, .1)}body.dark-mode.page-friends{--depth-background: #0a0b0f;--depth-surface: #0d021a;--depth-elevated: #1e2028;--depth-floating: #2a2d38;--bg-primary: radial-gradient(ellipse at top, #1a1d29 0%, #0f1015 100%);--bg-secondary: linear-gradient(145deg, #151820 0%, #1a1d29 100%);--main-content-bg: radial-gradient( ellipse 120% 80% at 50% 0%, rgba(139, 92, 246, .15) 0%, rgba(42, 45, 56, .8) 60%, #0f1015 100% );--main-content-overlay: linear-gradient( to bottom, rgba(139, 92, 246, .05) 0%, transparent 30%, transparent 70%, rgba(0, 0, 0, .1) 100% );--nav-bg: rgba(21, 24, 32, .9);--glass-bg: rgba(42, 45, 56, .75);--glass-bg-strong: rgba(42, 45, 56, .9);--glass-border: rgba(255, 255, 255, .12);--glass-border-strong: rgba(255, 255, 255, .2);--glass-highlight: rgba(255, 255, 255, .1);--glass-highlight-strong: rgba(255, 255, 255, .15);--glass-highlight-faint: rgba(255, 255, 255, .05);--glass-shadow: rgba(0, 0, 0, .3);--glass-shadow-strong: rgba(0, 0, 0, .5);--glass-hover: rgba(42, 45, 56, .85);--glass-active: rgba(42, 45, 56, .95);--glass-pressed: rgba(42, 45, 56, .8);--glass-content-bg: rgba(255, 255, 255, .02);--glass-content-border: rgba(255, 255, 255, .08);--glass-divider: rgba(255, 255, 255, .1);--text-primary: #f0f2f5;--text-secondary: #a8acb8;--text-tertiary: #6b7280;--text-accent: #8b5cf6;--text-success: #10b981;--text-warning: #f59e0b;--text-error: #dc2626;--text-light: #4b5563;--accent-primary: #8b5cf6;--accent-secondary: #a855f7;--accent-tertiary: #c084fc;--surface: rgba(42, 45, 56, .7);--surface-hover: rgba(42, 45, 56, .85);--surface-active: rgba(139, 92, 246, .1);--success: #10b981;--success-secondary: #38a169;--success-light: rgba(16, 185, 129, .2);--warning: #f59e0b;--warning-light: rgba(245, 158, 11, .2);--error: #dc2626;--error-light: rgba(220, 38, 38, .2);--shadow: rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .6);--shadow-glow: 0 0 25px rgba(139, 92, 246, .4);--border: rgba(255, 255, 255, .15);--friends-color-white: white;--friends-color-transparent: transparent;--friends-shadow-dark-subtle: rgba(0, 0, 0, .3);--friends-shadow-dark-faint: rgba(0, 0, 0, .4);--friends-shadow-dark-medium: rgba(0, 0, 0, .5);--friends-shadow-dark-strong: rgba(0, 0, 0, .6);--friends-white-highlight-faint: rgba(255, 255, 255, .05);--friends-white-highlight-subtle: rgba(255, 255, 255, .08);--friends-white-highlight-medium: rgba(255, 255, 255, .12);--friends-white-highlight-strong: rgba(255, 255, 255, .15);--friends-white-highlight-intense: rgba(255, 255, 255, .2);--friends-white-highlight-extra-strong: rgba(255, 255, 255, .25);--friends-student-card-bg: linear-gradient( 135deg, rgba(34, 197, 94, .08) 0%, rgba(16, 185, 129, .06) 25%, rgba(59, 130, 246, .05) 50%, rgba(34, 197, 94, .04) 75%, rgba(16, 185, 129, .03) 100% );--friends-student-card-border: 1px solid var(--friends-white-highlight-faint);--friends-student-card-shadow: 0 1px 3px var(--friends-shadow-dark-subtle), inset 0 1px 0 var(--friends-white-highlight-faint), inset 0 0 15px rgba(34, 197, 94, .02);--friends-student-card-hover-bg: linear-gradient( 135deg, rgba(34, 197, 94, .12) 0%, rgba(16, 185, 129, .1) 25%, rgba(59, 130, 246, .08) 50%, rgba(34, 197, 94, .06) 75%, rgba(16, 185, 129, .05) 100% );--friends-student-card-hover-border-color: rgba(34, 197, 94, .2);--friends-student-card-hover-shadow: 0 4px 12px rgba(34, 197, 94, .1), 0 2px 6px var(--friends-shadow-dark-faint), 0 0 0 1px rgba(34, 197, 94, .15), inset 0 1px 0 var(--friends-white-highlight-subtle), inset 0 0 15px rgba(34, 197, 94, .03);--button-off-red: #dc2626;--button-off-red-hover: #ef4444;--button-off-red-light: rgba(220, 38, 38, .2);--button-primary-bg: linear-gradient( 135deg, var(--accent-primary), var(--accent-secondary) );--button-secondary-bg: var(--surface);--button-delete-bg: rgba(220, 38, 38, .2);--input-bg: rgba(42, 45, 56, .8);--input-border: rgba(255, 255, 255, .15);--input-focus-border: var(--accent-primary);--input-focus-shadow: rgba(139, 92, 246, .2);--nav-item-hover: rgba(139, 92, 246, .15);--nav-item-active: var(--accent-primary);--modal-bg: rgba(42, 45, 56, .95);--modal-overlay: rgba(0, 0, 0, .6);--modal-border: rgba(255, 255, 255, .2);--modal-delete-border: rgba(239, 68, 68, .3);--modal-delete-bg: rgba(239, 68, 68, .1);--modal-delete-text: #f87171;--modal-delete-shadow-primary: rgba(239, 68, 68, .2);--modal-delete-shadow-secondary: rgba(239, 68, 68, .15);--modal-delete-shadow-active: rgba(239, 68, 68, .25);--modal-delete-hover-bg: rgba(239, 68, 68, .18);--modal-delete-hover-border: rgba(239, 68, 68, .5);--modal-delete-hover-text: #fca5a5;--modal-delete-hover-shadow: rgba(239, 68, 68, .3);--modal-shadow-base: rgba(0, 0, 0, .2);--modal-shadow-elevated: rgba(0, 0, 0, .25);--modal-shadow-light-inset: rgba(255, 255, 255, .08);--modal-shadow-light-inset-hover: rgba(255, 255, 255, .12);--modal-light-reflection: rgba(255, 255, 255, .2);--modal-confirm-shadow: rgba(76, 175, 80, .4);--schedule-bg: rgba(42, 45, 56, .8);--schedule-border: rgba(255, 255, 255, .15);--schedule-hover: rgba(139, 92, 246, .15);--schedule-active: rgba(139, 92, 246, .25);--user-item-active: linear-gradient( 135deg, rgba(139, 92, 246, .2), rgba(167, 85, 247, .15) );--pin-enabled: #ef4444;--pin-enabled-hover: #f87171;--pin-disabled: var(--text-tertiary);--add-btn-bg: var(--accent-primary);--add-btn-hover: var(--accent-secondary);--add-btn-disabled: var(--text-tertiary);--auth-tabs-bg: rgba(30, 35, 47, .8);--auth-tabs-border: rgba(255, 255, 255, .1);--auth-tab-text: var(--text-secondary);--auth-tab-text-hover: var(--text-primary);--auth-tab-hover-bg: rgba(139, 92, 246, .15);--auth-tab-active-bg: linear-gradient( 135deg, rgba(139, 92, 246, .2), rgba(167, 85, 247, .15) );--auth-tab-active-border: var(--accent-primary);--auth-university-info-bg: linear-gradient( 135deg, rgba(59, 130, 246, .15), rgba(139, 92, 246, .1) );--auth-university-info-border: rgba(59, 130, 246, .3);--auth-university-info-accent-bar: linear-gradient(180deg, #3b82f6, #8b5cf6);--auth-university-name-text: #60a5fa;--auth-university-domain-text: #9ca3af;--auth-input-bg: rgba(42, 45, 56, .9);--auth-input-border: rgba(255, 255, 255, .2);--auth-input-focus-border: #8b5cf6;--auth-input-focus-shadow-color: rgba(139, 92, 246, .2);--auth-input-focus-glow: rgba(139, 92, 246, .25);--auth-input-focus-bg: rgba(42, 45, 56, .95);--auth-input-placeholder: #6b7280;--auth-input-error-border: #ef4444;--auth-input-error-bg: rgba(42, 45, 56, .9);--auth-input-error-shadow: rgba(239, 68, 68, .2);--auth-input-success-border: #10b981;--auth-input-success-bg: rgba(42, 45, 56, .9);--auth-input-success-shadow: rgba(16, 185, 129, .2);--auth-error-text: #f87171;--auth-error-message-bg: rgba(239, 68, 68, .15);--auth-error-message-border: rgba(239, 68, 68, .3);--auth-success-message-bg: rgba(16, 185, 129, .15);--auth-success-message-border: rgba(16, 185, 129, .3);--auth-button-shadow-primary: rgba(139, 92, 246, .3);--auth-button-shadow-secondary: rgba(102, 126, 234, .2);--auth-button-hover-shadow-primary: rgba(139, 92, 246, .4);--auth-button-hover-shadow-secondary: rgba(102, 126, 234, .25);--friends-spinner-border: 2px solid var(--friends-white-highlight-strong);--friends-spinner-border-top: 2px solid var(--friends-color-white);--friends-online-indicator-border: 2px solid var(--friends-color-white);--friends-search-shadow: 0 8px 32px var(--friends-shadow-dark-strong), 0 4px 16px var(--friends-shadow-dark-medium), inset 0 1px 0 var(--friends-white-highlight-faint), inset 0 0 20px rgba(34, 197, 94, .02);--friends-search-shadow-active: 0 12px 48px rgba(34, 197, 94, .08), 0 6px 24px var(--friends-shadow-dark-strong), 0 0 0 1px rgba(34, 197, 94, .15), inset 0 1px 0 var(--friends-white-highlight-subtle), inset 0 0 25px rgba(34, 197, 94, .03);--friends-search-header-bg: linear-gradient( 135deg, rgba(34, 197, 94, .08) 0%, rgba(16, 185, 129, .06) 25%, rgba(59, 130, 246, .05) 50%, rgba(34, 197, 94, .04) 75%, rgba(16, 185, 129, .03) 100% );--friends-search-header-border: 1px solid rgba(34, 197, 94, .15);--friends-search-header-shadow: inset 0 1px 0 var(--friends-white-highlight-faint), inset 0 0 15px rgba(34, 197, 94, .02);--friends-search-header-highlight: linear-gradient( 90deg, var(--friends-color-transparent) 0%, var(--friends-white-highlight-faint) 20%, rgba(34, 197, 94, .2) 50%, var(--friends-white-highlight-faint) 80%, var(--friends-color-transparent) 100% );--friends-search-container-bg: rgba(255, 255, 255, .01);--friends-search-container-border: 1px solid rgba(34, 197, 94, .1);--friends-search-scrollbar-color: rgba(34, 197, 94, .3);--friends-search-scrollbar-track-bg: rgba(255, 255, 255, .03);--friends-search-scrollbar-thumb-bg: linear-gradient( 180deg, rgba(34, 197, 94, .3) 0%, rgba(16, 185, 129, .4) 50%, rgba(34, 197, 94, .3) 100% );--friends-search-scrollbar-thumb-border: 1px solid var(--friends-white-highlight-faint);--friends-search-scrollbar-thumb-hover-bg: linear-gradient( 180deg, rgba(34, 197, 94, .5) 0%, rgba(16, 185, 129, .6) 50%, rgba(34, 197, 94, .5) 100% );--friends-search-scrollbar-thumb-hover-shadow: 0 0 8px rgba(34, 197, 94, .2);--friends-request-card-bg: linear-gradient( 135deg, rgba(251, 146, 60, .1) 0%, rgba(245, 101, 101, .08) 25%, rgba(139, 92, 246, .06) 50%, rgba(168, 85, 247, .05) 75%, rgba(251, 146, 60, .03) 100% );--friends-request-card-border: 1px solid var(--friends-white-highlight-medium);--friends-request-card-border-left: 3px solid rgba(251, 146, 60, .6);--friends-request-card-shadow: 0 2px 8px var(--friends-shadow-dark-medium), 0 1px 2px var(--friends-shadow-dark-subtle), inset 0 1px 0 var(--friends-white-highlight-faint), inset 0 0 20px rgba(251, 146, 60, .03), -3px 0 12px rgba(251, 146, 60, .05);--friends-request-card-highlight: linear-gradient( 90deg, var(--friends-color-transparent) 0%, var(--friends-white-highlight-faint) 20%, rgba(251, 146, 60, .3) 50%, var(--friends-white-highlight-faint) 80%, var(--friends-color-transparent) 100% );--friends-request-card-hover-bg: linear-gradient( 135deg, rgba(251, 146, 60, .18) 0%, rgba(245, 101, 101, .15) 25%, rgba(139, 92, 246, .12) 50%, rgba(168, 85, 247, .1) 75%, rgba(251, 146, 60, .08) 100% );--friends-request-card-hover-border-left-color: rgba(251, 146, 60, .8);--friends-request-card-hover-shadow: 0 8px 32px rgba(251, 146, 60, .15), 0 4px 16px var(--friends-shadow-dark-medium), 0 0 0 1px rgba(251, 146, 60, .3), inset 0 1px 0 var(--friends-white-highlight-medium), inset 0 0 20px rgba(251, 146, 60, .08), -3px 0 16px rgba(251, 146, 60, .1);--friends-list-container-bg: linear-gradient( 135deg, rgba(255, 255, 255, .05) 0%, rgba(139, 92, 246, .03) 50%, rgba(255, 255, 255, .04) 100% );--friends-list-container-border: 1px solid var(--friends-white-highlight-subtle);--friends-list-container-shadow: 0 4px 24px var(--friends-shadow-dark-medium), 0 2px 8px var(--friends-shadow-dark-subtle), inset 0 1px 0 var(--friends-white-highlight-faint), inset 0 0 20px rgba(139, 92, 246, .02);--friends-list-scrollbar-color: rgba(139, 92, 246, .3);--friends-list-scrollbar-track-bg: rgba(255, 255, 255, .03);--friends-list-scrollbar-thumb-bg: linear-gradient( 180deg, rgba(139, 92, 246, .3) 0%, rgba(167, 85, 247, .4) 50%, rgba(139, 92, 246, .3) 100% );--friends-list-scrollbar-thumb-border: 1px solid var(--friends-white-highlight-faint);--friends-list-scrollbar-thumb-hover-bg: linear-gradient( 180deg, rgba(139, 92, 246, .5) 0%, rgba(167, 85, 247, .6) 50%, rgba(139, 92, 246, .5) 100% );--friends-list-scrollbar-thumb-hover-shadow: 0 0 8px rgba(139, 92, 246, .2);--friends-card-bg: linear-gradient( 135deg, rgba(139, 92, 246, .08) 0%, rgba(167, 85, 247, .06) 25%, rgba(192, 132, 252, .05) 50%, rgba(167, 85, 247, .04) 75%, rgba(139, 92, 246, .03) 100% );--friends-card-border: 1px solid var(--friends-white-highlight-medium);--friends-card-shadow: 0 2px 8px var(--friends-shadow-dark-medium), 0 1px 2px var(--friends-shadow-dark-subtle), inset 0 1px 0 var(--friends-white-highlight-faint), inset 0 0 20px rgba(139, 92, 246, .03);--friends-card-highlight: linear-gradient( 90deg, var(--friends-color-transparent) 0%, var(--friends-white-highlight-faint) 20%, rgba(139, 92, 246, .3) 50%, var(--friends-white-highlight-faint) 80%, var(--friends-color-transparent) 100% );--friends-card-hover-bg: linear-gradient( 135deg, rgba(139, 92, 246, .15) 0%, rgba(167, 85, 247, .12) 25%, rgba(192, 132, 252, .1) 50%, rgba(167, 85, 247, .08) 75%, rgba(139, 92, 246, .06) 100% );--friends-card-hover-shadow: 0 8px 32px rgba(139, 92, 246, .15), 0 4px 16px var(--friends-shadow-dark-medium), 0 0 0 1px rgba(139, 92, 246, .2), inset 0 1px 0 var(--friends-white-highlight-medium), inset 0 0 20px rgba(139, 92, 246, .08);--friends-btn-clear-search-bg: var(--friends-white-highlight-faint);--friends-btn-clear-search-border: 1px solid var(--friends-white-highlight-subtle);--friends-btn-clear-search-hover-bg: rgba(239, 68, 68, .1);--friends-btn-clear-search-hover-border-color: rgba(239, 68, 68, .2);--friends-btn-clear-search-hover-color: #f87171;--friends-btn-clear-search-hover-shadow: 0 2px 8px rgba(239, 68, 68, .15);--friends-btn-friend-menu-bg: rgba(255, 255, 255, .03);--friends-btn-friend-menu-border: 1px solid var(--friends-white-highlight-faint);--friends-btn-friend-menu-hover-bg: var(--friends-white-highlight-faint);--friends-btn-send-request-bg: linear-gradient( 135deg, rgba(34, 197, 94, .15) 0%, rgba(16, 185, 129, .12) 100% );--friends-btn-send-request-border: 1px solid rgba(34, 197, 94, .2);--friends-btn-send-request-shadow: 0 2px 8px rgba(34, 197, 94, .2), inset 0 1px 0 var(--friends-white-highlight-faint);--friends-btn-send-request-hover-bg: linear-gradient( 135deg, rgba(34, 197, 94, .25) 0%, rgba(16, 185, 129, .2) 100% );--friends-btn-send-request-hover-shadow: 0 4px 16px rgba(34, 197, 94, .3), 0 2px 8px var(--friends-shadow-dark-faint), 0 0 0 1px rgba(34, 197, 94, .2), inset 0 1px 0 var(--friends-white-highlight-subtle);--friends-btn-send-request-disabled-bg: var(--friends-white-highlight-faint);--friends-btn-send-request-disabled-color: rgba(255, 255, 255, .3);--friends-btn-pending-request-bg: linear-gradient( 135deg, rgba(255, 193, 7, .12) 0%, rgba(251, 146, 60, .1) 100% );--friends-btn-pending-request-color: #fbbf24;--friends-btn-pending-request-border: 1px solid rgba(255, 193, 7, .2);--friends-btn-pending-request-shadow: 0 2px 8px rgba(255, 193, 7, .3), inset 0 1px 0 var(--friends-white-highlight-faint);--friends-btn-accept-request-bg: rgba(16, 185, 129, .08);--friends-btn-accept-request-color: #34d399;--friends-btn-accept-request-border: 1px solid rgba(16, 185, 129, .15);--friends-btn-accept-request-hover-bg: rgba(16, 185, 129, .15);--friends-btn-accept-request-hover-border-color: #10b981;--friends-btn-accept-request-hover-shadow: 0 4px 12px rgba(16, 185, 129, .15);--friends-btn-reject-request-bg: rgba(239, 68, 68, .08);--friends-btn-reject-request-color: #f87171;--friends-btn-reject-request-border: 1px solid rgba(239, 68, 68, .15);--friends-btn-reject-request-hover-bg: rgba(239, 68, 68, .15);--friends-btn-reject-request-hover-border-color: #ef4444;--friends-btn-reject-request-hover-shadow: 0 4px 12px rgba(239, 68, 68, .15);--friends-avatar-bg: rgba(255, 255, 255, .03);--friends-avatar-border: 2px solid var(--friends-white-highlight-faint);--friends-avatar-highlight: linear-gradient( 135deg, var(--friends-white-highlight-faint), var(--friends-color-transparent) );--friends-avatar-disabled-bg-dark: rgba(255, 255, 255, .01);--friends-avatar-disabled-border-dark: rgba(255, 255, 255, .04);--friends-avatar-disabled-shadow-dark: 0 1px 3px rgba(0, 0, 0, .08);--friends-avatar-disabled-text-dark: rgba(255, 255, 255, .2);--friends-privacy-visible-bg: linear-gradient( 135deg, rgba(16, 185, 129, .12) 0%, rgba(34, 197, 94, .08) 50%, rgba(16, 185, 129, .06) 100% );--friends-privacy-visible-color: #34d399;--friends-privacy-visible-border: 1px solid rgba(16, 185, 129, .2);--friends-privacy-visible-shadow: 0 2px 8px rgba(16, 185, 129, .06), inset 0 1px 0 rgba(255, 255, 255, .05), inset 0 -1px 0 rgba(16, 185, 129, .03);--friends-privacy-hidden-bg: linear-gradient( 135deg, rgba(239, 68, 68, .12) 0%, rgba(220, 38, 38, .08) 50%, rgba(239, 68, 68, .06) 100% );--friends-privacy-hidden-color: #f87171;--friends-privacy-hidden-border: 1px solid rgba(239, 68, 68, .2);--friends-privacy-hidden-shadow: 0 2px 8px rgba(239, 68, 68, .06), inset 0 1px 0 rgba(255, 255, 255, .05), inset 0 -1px 0 rgba(239, 68, 68, .03);--friends-privacy-span-bg: rgba(255, 255, 255, .04);--friends-privacy-span-bg-hover: rgba(255, 255, 255, .08);--friends-privacy-span-border: 1px solid rgba(255, 255, 255, .1);--friends-privacy-span-shadow: 0 1px 4px rgba(0, 0, 0, .15), inset 0 1px 0 rgba(255, 255, 255, .05);--friends-privacy-tooltip-bg-dark: rgba(0, 0, 0, .9);--friends-privacy-tooltip-color-dark: #f3f4f6;--friends-schedule-can-see-bg: rgba(34, 197, 94, .15);--friends-schedule-can-see-border: rgba(34, 197, 94, .3);--friends-schedule-cannot-see-bg: rgba(239, 68, 68, .15);--friends-schedule-cannot-see-border: rgba(239, 68, 68, .3);--friends-btn-view-schedule-bg: rgba(59, 130, 246, .15);--friends-btn-view-schedule-border: rgba(59, 130, 246, .4);--friends-btn-view-schedule-hover-bg: rgba(59, 130, 246, .25);--friends-btn-view-schedule-hover-border: rgba(59, 130, 246, .5);--friends-button-glass-bg-light: rgba(255, 255, 255, .12);--friends-button-glass-bg-lighter: rgba(255, 255, 255, .06);--friends-button-glass-bg-hover-light: rgba(255, 255, 255, .18);--friends-button-glass-bg-hover-medium: rgba(255, 255, 255, .1);--friends-button-glass-bg-active-purple: rgba(139, 92, 246, .15);--friends-button-glass-bg-active-purple-light: rgba(139, 92, 246, .08);--friends-button-shadow-dark-subtle: rgba(0, 0, 0, .08);--friends-button-shadow-dark-faint: rgba(0, 0, 0, .04);--friends-button-shadow-dark-light: rgba(0, 0, 0, .02);--friends-button-shadow-dark-medium: rgba(0, 0, 0, .1);--friends-button-shadow-dark-strong: rgba(0, 0, 0, .12);--friends-button-shadow-dark-hover: rgba(0, 0, 0, .06);--friends-button-shadow-dark-hover-light: rgba(0, 0, 0, .03);--friends-button-shadow-dark-active: rgba(0, 0, 0, .05);--friends-button-highlight-white-strong: rgba(255, 255, 255, .25);--friends-button-highlight-white-medium: rgba(255, 255, 255, .2);--friends-button-highlight-white-subtle: rgba(255, 255, 255, .1);--friends-button-highlight-white-light: rgba(255, 255, 255, .12);--friends-button-highlight-white-hover: rgba(255, 255, 255, .3);--friends-button-purple-glow: rgba(139, 92, 246, .25);--friends-button-purple-highlight: rgba(139, 92, 246, .12);--friends-button-purple-shadow: rgba(139, 92, 246, .1);--glass-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E");--glass-backdrop-blur: blur(20px);--glass-backdrop-saturate: saturate(1.8);--glass-inner-glow: inset 0 1px 0 rgba(255, 255, 255, .1);--glass-outer-glow: 0 8px 32px rgba(139, 92, 246, .15);--glass-hover-glow: 0 12px 40px rgba(139, 92, 246, .25);--glass-hover-border: rgba(139, 92, 246, .3);--glass-hover-highlight: rgba(255, 255, 255, .2);--glass-transition: all .3s cubic-bezier(.4, 0, .2, 1);--glass-transform-hover: translateY(-2px) scale(1.02);--glass-transform-active: translateY(0) scale(.98);--gradient-title: linear-gradient(135deg, #4f46e5 15%, #d946ef, #f97316);--theme-toggle-hover-bg: rgba(139, 92, 246, .1);--theme-toggle-focus-shadow: rgba(139, 92, 246, .3);--theme-toggle-dark-icon: #fbbf24;--theme-toggle-light-icon: #1e293b;--ripple-bg: rgba(139, 92, 246, .2);--shadow-inset-glass: inset 0 1px 0 rgba(255, 255, 255, .1);--auth-header-gradient: linear-gradient(135deg, #8b5cf6, #a855f7);--auth-button-text: #ffffff;--auth-header-pattern: rgba(255, 255, 255, .05);--auth-logo-gradient: linear-gradient(135deg, #8b5cf6, #a855f7, #c084fc);--auth-logo-text-fill: transparent;--auth-subtitle-text: var(--text-secondary);--glass-overlay-light: rgba(255, 255, 255, .02);--view-toggle-bg: var(--glass-bg);--view-toggle-border: var(--glass-border);--view-toggle-active-bg: var(--accent-primary);--view-toggle-inactive-text: var(--text-secondary);--day-selector-bg: var(--glass-bg);--day-selector-border: var(--glass-border);--day-active-bg: var(--accent-primary);--day-inactive-bg: var(--surface);--day-inactive-text: var(--text-secondary);--day-slot-bg: var(--glass-bg);--day-slot-border: var(--glass-border);--day-slot-free-bg: rgba(74, 222, 128, .1);--day-slot-free-border: rgba(74, 222, 128, .3);--day-slot-busy-bg: var(--accent-primary);--avatar-container-bg: rgba(255, 255, 255, .05);--avatar-container-border: rgba(255, 255, 255, .1);--avatar-size: 40px;--avatar-border-width: 2px;--avatar-spacing: 8px;--view-transition-duration: .3s;--view-transition-easing: cubic-bezier(.4, 0, .2, 1);--day-transition-duration: .2s;--compare-transition-duration: .4s;--touch-target-min: 44px;--mobile-padding: 16px;--mobile-gap: 12px;--avatar-button-bg: linear-gradient(135deg, rgba(139, 125, 232, .12), rgba(184, 175, 245, .12));--avatar-button-bg-hover: linear-gradient(135deg, rgba(139, 125, 232, .18), rgba(184, 175, 245, .18));--avatar-button-border: rgba(139, 125, 232, .25);--avatar-button-shadow: 0 4px 15px rgba(139, 125, 232, .12), 0 2px 8px rgba(139, 125, 232, .08), inset 0 1px 0 rgba(255, 255, 255, .8);--avatar-button-shadow-hover: 0 8px 25px rgba(139, 125, 232, .2), 0 4px 15px rgba(139, 125, 232, .15), inset 0 1px 0 rgba(255, 255, 255, .9);--avatar-button-shadow-active: 0 4px 15px rgba(139, 125, 232, .15), 0 2px 8px rgba(139, 125, 232, .1), inset 0 1px 0 rgba(255, 255, 255, .8);--avatar-button-shimmer: linear-gradient(90deg, transparent, rgba(255, 255, 255, .4), transparent);--form-input-focus-shadow: rgba(139, 125, 232, .15);--form-input-focus-shadow-strong: rgba(139, 125, 232, .25);--control-select-arrow: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%235e5a73' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");--control-select-focus-shadow: rgba(139, 125, 232, .15);--avatar-shadow: rgba(139, 125, 232, .15);--avatar-shadow-light: rgba(139, 125, 232, .1);--avatar-highlight: rgba(255, 255, 255, .95);--avatar-hover-shadow: rgba(139, 125, 232, .25);--avatar-hover-shadow-light: rgba(139, 125, 232, .18);--avatar-hover-highlight: rgba(255, 255, 255, 1);--button-secondary-shadow: rgba(139, 125, 232, .12);--button-secondary-hover-shadow: rgba(139, 125, 232, .18);--button-loading-dot-bg: rgba(139, 125, 232, .8);--loading-spinner-border: rgba(139, 125, 232, .2);--loading-spinner-border-top: #8b7de8;--step-block-active-shadow: rgba(139, 125, 232, .3);--step-block-active-inset-shadow: rgba(255, 255, 255, .9);--step-block-completed-shadow: rgba(139, 125, 232, .2);--step-block-completed-inset-shadow: rgba(255, 255, 255, .8);--step-block-shimmer: linear-gradient(90deg, transparent, rgba(255, 255, 255, .6), transparent);--modal-overlay-bg: rgba(139, 125, 232, .15);--modal-shadow: rgba(139, 125, 232, .2);--modal-confirm-bg-end: #38a169;--modal-confirm-text: white;--modal-input-focus-shadow: rgba(139, 125, 232, .15);--avatar-modal-close-hover-text: white;--avatar-modal-confirm-hover-bg-start: #38a169;--profile-loading-overlay-bg: rgba(255, 255, 255, .95);--color-swatch-shadow: rgba(139, 125, 232, .2);--color-swatch-active-shadow: rgba(139, 125, 232, .25);--gradient-swatch-pattern: linear-gradient(45deg, transparent 25%, rgba(139, 125, 232, .08) 25%, rgba(139, 125, 232, .08) 50%, transparent 50%, transparent 75%, rgba(139, 125, 232, .08) 75%);--gradient-indicator-text: rgba(30, 27, 41, .95);--gradient-indicator-text-shadow: rgba(255, 255, 255, .8);--gradient-indicator-text-hover: #1e1b29;--solid-swatch-border: rgba(139, 125, 232, .2);--gradient-swatch-hover-shadow: rgba(139, 125, 232, .25);--gradient-swatch-active-shadow: rgba(139, 125, 232, .3);--red-glow-start: rgba(220, 38, 38, .6);--red-glow-mid: rgba(220, 38, 38, .25);--red-glow-end: rgba(220, 38, 38, 0);--avatar-editor-scrollbar-thumb: rgba(139, 125, 232, .3);--avatar-editor-scroll-indicator-bg: linear-gradient(to bottom, rgba(255, 255, 255, .95) 0%, rgba(255, 255, 255, 0) 100%);--avatar-editor-scroll-indicator-bg-bottom: linear-gradient(to top, rgba(255, 255, 255, .95) 0%, rgba(255, 255, 255, 0) 100%);--spa-loading-bg: rgba(248, 246, 255, .95);--gradient-title: linear-gradient(120deg, #8b7de8, #b8aff5, #7c6fd6, #d4cff7);--gradient-accent: linear-gradient(135deg, #8b7de8 0%, #b8aff5 100%);--pin-btn-disabled-bg: rgba(139, 69, 19, .2);--pin-btn-disabled-color: rgba(139, 69, 19, .5);--pin-btn-disabled-shadow: rgba(139, 69, 19, .08);--pin-btn-enabled-shadow: rgba(220, 38, 38, .25);--pin-btn-hover-shadow: rgba(185, 28, 28, .35);--focus-outline-shadow: rgba(139, 125, 232, .2);--focus-glow-shadow: rgba(139, 125, 232, .35);--focus-general-shadow: rgba(139, 125, 232, .15);--button-off-red-shadow: rgba(220, 38, 38, .25);--button-off-red-hover-shadow: rgba(185, 28, 28, .3);--button-on-green-shadow: rgba(21, 128, 61, .25);--glass-card-mobile-highlight: rgba(255, 255, 255, .8);--border: rgba(139, 125, 232, .2);--text-light: #8b87a0;--day-selector-bg: rgba(255, 255, 255, .8);--day-selector-border: rgba(139, 125, 232, .2);--day-active-bg: #8b7de8;--day-active-text: #ffffff;--day-inactive-bg: rgba(255, 255, 255, .6);--day-inactive-text: #5e5a73;--day-today-indicator: #4ade80;--day-slot-bg: rgba(255, 255, 255, .85);--day-slot-border: rgba(139, 125, 232, .25);--day-slot-free-bg: rgba(74, 222, 128, .12);--day-slot-free-border: rgba(74, 222, 128, .35);--day-slot-free-text: #059669;--day-slot-busy-bg: #8b7de8;--day-slot-busy-text: #ffffff;--day-slot-busy-border: rgba(139, 125, 232, .4);--day-slot-hover-bg: rgba(248, 246, 255, .95);--day-slot-hover-border: rgba(139, 125, 232, .35);--day-slot-height: 70px;--view-toggle-bg: rgba(255, 255, 255, .8);--view-toggle-border: rgba(139, 125, 232, .2);--view-toggle-active-bg: #8b7de8;--view-toggle-active-text: #ffffff;--view-toggle-inactive-text: #5e5a73}:root{--nav-height: 64px;--mobile-bottom-nav-height: 60px;--mobile-bottom-nav-top-gap: 8px;--safe-top: env(safe-area-inset-top, 0px);--main-content-available-height: calc( 100dvh - var(--nav-height) - env(safe-area-inset-bottom, 0px) );--main-content-available-height-with-bottom-nav: calc( 100dvh - var(--nav-height) - var(--mobile-bottom-nav-height) - var(--mobile-bottom-nav-top-gap, 8px) - env(safe-area-inset-bottom, 0px) )}:root{--color-bg: #0a0b0f;--color-text: #f8f8f8;--color-nav: #0d021a;--color-nav-text: #ffffff;--color-safearea: var(--color-nav)}body.theme-ready:not(.dark-mode){--color-bg: #f5f5fa;--color-text: #0a0a0f;--color-nav: #ffffff;--color-nav-text: #111111;--color-safearea: var(--color-nav)}html{background-color:var(--color-bg)}body{background-color:var(--color-nav);color:var(--color-text)}.app-container{min-height:100dvh;height:100dvh;min-height:-webkit-fill-available;display:flex;flex-direction:column;position:relative;width:100%;overflow-x:hidden;padding-top:var(--nav-height)}@media (display-mode: standalone){html{height:100%;overflow:hidden}body{height:100%;overflow:hidden;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) 0px env(safe-area-inset-left,0px)}.app-container{height:100%;max-height:100%}}.top-nav{position:fixed;left:0;right:0;top:0;z-index:1000;width:100%;min-width:0;background:var(--color-nav);border-bottom:1px solid var(--border);box-shadow:0 4px 20px var(--shadow)}.top-nav .safe-spacer{height:var(--safe-top)}.top-nav .top-nav-inner{height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(.75rem,2vw,1rem);padding-left:max(clamp(.75rem,2vw,1rem),env(safe-area-inset-left,0px));padding-right:max(clamp(.75rem,2vw,1rem),env(safe-area-inset-right,0px));box-sizing:border-box}@media (display-mode: standalone),(display-mode: fullscreen),(display-mode: minimal-ui){.top-nav{background:var(--nav-solid-bg)}.top-nav:before{display:none}.mobile-bottom-nav{background:var(--nav-solid-bg)}}.nav-left,.nav-center,.nav-right{display:flex;align-items:center;min-width:0}.nav-left{flex:0 0 auto}.nav-center{flex:1 1 auto;justify-content:center;min-width:0}.nav-right{flex:0 0 auto;gap:clamp(.5rem,2vw,1rem)}#installPwaBtn{display:none}#installPwaBtn.nav-link{background:linear-gradient(135deg,#8b7de8,#a855f7,#c084fc)!important;color:#fff!important;font-weight:700!important;font-family:Sora,Poppins,sans-serif!important;padding:.35rem 1.25rem!important;border-radius:.75rem!important;box-shadow:0 4px 15px #8b7de866,0 0 20px #8b7de833,inset 0 1px #fff3!important;position:relative;overflow:hidden;transform:translateY(0);transition:all .3s cubic-bezier(.34,1.56,.64,1);background-size:200% 200%;animation:installGradientShift 3s ease infinite}#installPwaBtn.nav-link:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);transform:rotate(45deg);animation:installShimmer 3s ease-in-out infinite}#installPwaBtn.nav-link:after{content:"";position:absolute;inset:0;border-radius:.75rem;opacity:0;box-shadow:0 0 30px #8b7de8cc;animation:installPulse 2s ease-in-out infinite;pointer-events:none}#installPwaBtn.nav-link:hover{background:linear-gradient(135deg,#9d8ef5,#b870ff,#d4a0ff)!important;transform:translateY(-3px) scale(1.05)!important;box-shadow:0 6px 25px #8b7de899,0 0 35px #8b7de866,inset 0 1px #ffffff4d!important}#installPwaBtn.nav-link:hover:after{opacity:1}#installPwaBtn.nav-link:active{transform:translateY(-1px) scale(1.02)!important;box-shadow:0 3px 15px #8b7de880,0 0 25px #8b7de84d!important}body:not(.dark-mode) #installPwaBtn.nav-link{background:linear-gradient(135deg,#8b7de8,#9d4edd,#c77dff)!important;box-shadow:0 4px 15px #8b7de859,0 2px 8px #8b7de840,inset 0 1px #fff6!important}body:not(.dark-mode) #installPwaBtn.nav-link:hover{background:linear-gradient(135deg,#9d8ef5,#b565f2,#d896ff)!important;box-shadow:0 6px 25px #8b7de880,0 3px 12px #8b7de859,inset 0 1px #ffffff80!important}#installPwaBtn.nav-link .nav-text{position:relative;z-index:2;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.2);font-size:.95rem;letter-spacing:.02em;font-weight:700!important;font-family:Sora,Poppins,sans-serif!important}#installPwaBtn.nav-link:focus-visible{outline:3px solid rgba(139,125,232,.5);outline-offset:3px;box-shadow:0 4px 15px #8b7de866,0 0 0 4px #8b7de833!important}@keyframes installGradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes installShimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}@keyframes installPulse{0%,to{opacity:0}50%{opacity:.6}}@media (max-width: 768px){#installPwaBtn.nav-link{padding:.25rem 1rem!important;font-size:.9rem}#installPwaBtn.nav-link .nav-text{font-size:.9rem}}@media (max-width: 600px){#installPwaBtn.nav-link{padding:.25rem .85rem!important;font-size:.9rem}}@media (max-width: 480px){#installPwaBtn.nav-link{padding:.25rem .7rem!important;font-size:.85rem;box-shadow:0 3px 12px #8b7de866,0 0 15px #8b7de840,inset 0 1px #fff3!important}}@media (prefers-reduced-motion: reduce){#installPwaBtn.nav-link{animation:none}#installPwaBtn.nav-link:before,#installPwaBtn.nav-link:after{animation:none}#installPwaBtn.nav-link:hover{transform:translateY(-2px)!important}}@media (display-mode: standalone),(display-mode: fullscreen),(display-mode: minimal-ui){#installPwaBtn{display:none!important}}.nav-links{display:flex;align-items:center;gap:var(--space-md, 1rem)}.logo{display:flex;align-items:center;gap:var(--space-sm, .5rem);font-size:clamp(1.3rem,3vw,1.7rem);font-weight:700;color:var(--text-primary);text-decoration:none;position:relative}.logo i{display:none;font-size:1.5rem}.logo span{font-size:2rem;font-weight:700;font-family:var(--font-brand, "Sora", "Poppins", sans-serif);font-style:normal;color:transparent;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#d5b6ff,#c580ff 50%,#8c62ff);background-clip:text;-webkit-background-clip:text;will-change:transform;transform:translateZ(0);display:inline-block;outline:none;border:none}.logo span:focus{outline:none}.logo span:focus-visible{outline:none}.logo:focus,.logo:focus-visible{outline:none!important;box-shadow:none!important}.nav-link{display:flex;align-items:center;justify-content:center;gap:var(--space-sm, .5rem);min-width:2.75rem;min-height:2.75rem;padding:var(--space-sm, .5rem) var(--space-md, 1rem);border-radius:var(--radius-lg);text-decoration:none;color:var(--nav-link-color);font-weight:500;transition:all .3s var(--animation-smooth);background:transparent;position:relative;overflow:hidden;box-sizing:border-box}.light-mode .nav-link,body:not(.dark-mode) .nav-link{color:var(--nav-link-color, var(--nav-link-fallback-color, #475569))}.nav-link.has-alert:after{content:"";position:absolute;top:10px;right:12px;width:8px;height:8px;border-radius:50%;background:#ff4d4d}#notifyFriendsBtn .nav-dot{position:absolute;top:10px;right:12px;width:8px;height:8px;border-radius:50%;background:#ff4d4d;display:none;animation:badgePop .32s ease-out both;box-shadow:0 0 0 2px var(--bg-primary)}@media (max-width: 768px){#notifyFriendsBtn .nav-dot{top:6px;right:6px}}.nav-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--nav-link-highlight),transparent);transition:left .5s ease}.nav-link:hover:before{left:100%}.nav-link:hover{background:var(--nav-link-hover-bg);color:var(--nav-link-hover-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.nav-link.active,.nav-link[aria-current=page]{margin:3px 4px;background:var(--nav-link-hover-bg, rgba(139, 92, 246, .12));box-shadow:inset 0 0 0 1px #ffffff26,0 2px 6px #00000026;color:var(--nav-link-hover-color, var(--accent-primary))}.nav-cta{color:var(--accent-primary);font-weight:600;border:none;box-shadow:none;background:transparent}.nav-cta:hover,.nav-cta:focus-visible{color:var(--accent-secondary);background:transparent}.nav-link.active:hover,.nav-link[aria-current=page]:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffff2e,0 3px 8px #0003}.light-mode .nav-link:hover,body:not(.dark-mode) .nav-link:hover{background:var(--nav-link-hover-bg);color:var( --nav-link-hover-color, var(--nav-link-fallback-hover-color, #a294f9) )}.nav-button{display:flex;align-items:center;justify-content:center;min-width:2.5rem;min-height:2.5rem;padding:.5rem!important;border:none!important;border-radius:.5rem;background:transparent!important;color:var(--text-secondary);cursor:pointer;font-size:1.1rem;transition:all .3s var(--animation-spring);position:relative;overflow:hidden;box-sizing:border-box}.nav-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,var(--accent-primary) 30%,transparent 70%);transform:translate(-50%,-50%);opacity:0;transition:all .4s ease}.nav-button:hover:before{width:120%;height:120%;opacity:.1}.nav-button:hover{background:rgba(var(--accent-primary-rgb, 139, 92, 246),.1)!important;color:var(--accent-primary);transform:scale(1.1);box-shadow:none!important}.nav-button:focus{outline:none;box-shadow:var(--focus-ring)}.main-content{padding:clamp(.75rem,3vw,1.5rem);width:100%;max-width:100%;margin:0 auto;box-sizing:border-box;overflow-x:hidden;display:flex;flex-direction:column;flex:1 1 auto;background:var(--main-content-bg);position:relative;height:var(--main-content-available-height);max-height:var(--main-content-available-height);min-height:var(--main-content-available-height);padding-bottom:.75rem}.main-content:focus,.main-content:focus-visible{outline:none!important;box-shadow:none!important}body.has-bottom-nav .main-content{height:var(--main-content-available-height-with-bottom-nav);max-height:var(--main-content-available-height-with-bottom-nav);min-height:var(--main-content-available-height-with-bottom-nav)}.main-content:before{content:"";position:absolute;inset:0;background:var(--main-content-overlay);pointer-events:none;z-index:0}.main-content>*{position:relative;z-index:1}.content-grid{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:100%;margin:0 auto;flex:1 1 auto;min-height:0;box-sizing:border-box;overflow-x:hidden;height:100%}.content-grid>*{max-width:100%;box-sizing:border-box}.schedule-section{position:relative}.schedule-scroll-indicator{position:fixed;bottom:calc(1rem + 4px);left:50%;transform:translate(-50%);width:24px;height:14px;transition:opacity .15s ease-out,transform .15s ease-out;z-index:1000;pointer-events:none;opacity:.9;background:transparent}.schedule-scroll-indicator:before,.schedule-scroll-indicator:after{content:"";position:absolute;top:4px;width:12px;height:2px;background:var(--text-secondary);border-radius:2px;filter:drop-shadow(0 0 2px rgba(0,0,0,.12))}.schedule-scroll-indicator:before{left:2px;transform:rotate(45deg)}.schedule-scroll-indicator:after{right:2px;transform:rotate(-45deg)}.schedule-day-view.active~.schedule-scroll-indicator{display:block}.user-menu{position:relative;display:flex;align-items:center}.user-menu-trigger{min-width:2.75rem;min-height:2.75rem;padding:.5rem!important;border:none!important;border-radius:.5rem;background:transparent!important;color:var(--text-secondary);cursor:pointer;transition:all .3s var(--animation-smooth);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.user-menu-trigger:hover{background:rgba(var(--accent-primary-rgb, 139, 92, 246),.1)!important;color:var(--accent-primary);transform:scale(1.1);box-shadow:none!important}.user-menu-trigger:focus{outline:none;background:var(--surface-hover);box-shadow:var(--focus-ring)}.user-menu-trigger i{font-size:1.4rem;color:inherit;transition:all .3s var(--animation-smooth)}.user-menu-trigger:hover i{transform:scale(1.1);color:var(--accent-primary)}.user-menu-trigger:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,var(--accent-primary) 30%,transparent 70%);transform:translate(-50%,-50%);border-radius:50%;opacity:0;transition:all .4s ease}.user-menu-trigger:hover:before{width:120%;height:120%;opacity:.1}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:280px;max-height:calc(100vh - 100px);background:var(--user-dropdown-bg);border:1px solid var(--user-dropdown-border);border-radius:var(--radius-lg);box-shadow:var(--user-dropdown-shadow);-webkit-backdrop-filter:var(--user-dropdown-backdrop);backdrop-filter:var(--user-dropdown-backdrop);z-index:1001;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s var(--animation-spring);overflow-y:auto}.light-mode .user-dropdown,body:not(.dark-mode) .user-dropdown{background:var( --user-dropdown-bg, var(--dropdown-fallback-bg, rgba(245, 239, 255, .9)) );border-color:var(--user-dropdown-border)}.user-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid var(--border);background:var(--surface-hover);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.user-avatar-large{font-size:2.5rem;color:var(--accent-primary);flex-shrink:0}.user-details{display:flex;flex-direction:column;min-width:0}.user-details .user-name{font-size:1rem;font-weight:700;color:var(--text-primary);max-width:180px}.user-email{font-size:.875rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.dropdown-menu{padding:var(--space-sm)}.dropdown-item{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s var(--animation-smooth);text-align:left}.dropdown-item:hover{background:var(--surface-hover);color:var(--accent-primary);transform:translate(4px)}.dropdown-item i{font-size:1rem;width:20px;text-align:center;color:var(--text-secondary);transition:color .3s var(--animation-smooth)}.dropdown-item:hover i{color:var(--accent-primary)}.dropdown-item#signOutBtn:hover{background:var(--signout-hover-bg);color:var(--error-red)}.dropdown-item#signOutBtn:hover i{color:var(--error-red)}.user-avatar-trigger,.user-avatar-large{width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary),var(--accent-tertiary));padding:2px}.user-avatar-trigger .avatar-content,.user-avatar-large .avatar-content{width:100%;height:100%;border-radius:50%;background:var(--depth-surface);display:flex;align-items:center;justify-content:center;overflow:hidden}.user-avatar-trigger img,.user-avatar-large img{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-avatar-trigger i{font-size:1.4rem;color:var(--text-secondary);transition:all .3s var(--animation-smooth)}.user-menu-trigger:hover .user-avatar-trigger{transform:scale(1.1);box-shadow:var(--glow-accent-medium);background:linear-gradient(135deg,var(--accent-secondary),var(--accent-tertiary),var(--accent-primary))}.user-menu-trigger:hover .user-avatar-trigger i{color:var(--accent-primary);transform:scale(1.1)}.user-avatar-large i{font-size:2rem;color:var(--accent-primary)}#darkModeToggle.dropdown-item{background:transparent;border:none;text-align:left;width:100%;padding:var(--space-md);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s var(--animation-smooth);display:flex;align-items:center;gap:var(--space-md);color:var(--text-secondary)}#darkModeToggle.dropdown-item:hover{background:var(--surface-hover);color:var(--accent-primary);transform:translate(4px)}#darkModeToggle.dropdown-item i{font-size:1rem;width:20px;text-align:center;color:var(--text-secondary);transition:color .3s var(--animation-smooth)}#darkModeToggle.dropdown-item:hover i{color:var(--accent-primary)}.dark-mode #darkModeToggle.dropdown-item i{color:var(--warning-gold)}.light-mode #darkModeToggle.dropdown-item i{color:var(--text-secondary)}.mobile-bottom-nav{--bn-h: var(--mobile-bottom-nav-height, 60px);--pad-x: 12px;position:fixed;left:0;right:0;bottom:0;z-index:1000;display:none;grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;align-items:center;gap:0;padding-left:max(var(--pad-x),env(safe-area-inset-left,0px));padding-right:max(var(--pad-x),env(safe-area-inset-right,0px));padding-top:6px;padding-bottom:8px;height:calc(var(--bn-h) + env(safe-area-inset-bottom,0px));background:var(--color-nav);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.08);transition:background .3s var(--animation-smooth),backdrop-filter .3s var(--animation-smooth)}.mobile-nav-item{position:relative;width:100%;max-width:110px;height:100%;padding:3px 0 2px;display:grid;grid-template-rows:26px auto;row-gap:0px;place-items:center;color:#bdbacb;text-decoration:none;border-radius:14px;cursor:pointer;transition:transform .18s ease,color .18s ease,background .18s ease;-webkit-tap-highlight-color:transparent;background:transparent;border:none;appearance:none;-webkit-appearance:none}.mobile-nav-item i{font-size:24px;line-height:24px;margin-top:2px;transition:transform .18s ease}.mobile-nav-label{font-size:11px;opacity:.9;line-height:1;margin-top:2px;transition:opacity .18s ease,transform .18s ease}.mobile-nav-item.active,.mobile-nav-item[data-current=true]{color:var(--accent-primary)!important;transform:translateY(-2px)}.mobile-nav-item.active:before,.mobile-nav-item[data-current=true]:before{content:"";position:absolute;inset:0;border-radius:12px;background:linear-gradient(180deg,rgba(var(--accent-primary-rgb, 139, 92, 246),.17),rgba(var(--accent-primary-rgb, 139, 92, 246),.08));z-index:-1}.mobile-nav-item.active i,.mobile-nav-item[data-current=true] i{transform:scale(1.08)}.mobile-nav-item.active .mobile-nav-label,.mobile-nav-item[data-current=true] .mobile-nav-label{opacity:1;transform:translateY(-1px)}.mobile-nav-item:active{transform:translateY(-1px) scale(.98)}.mobile-nav-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.mobile-nav-badge{position:absolute;top:6px;right:8px;width:8px;height:8px;border-radius:50%;background:#ff4d4d;display:none;animation:badgePop .32s ease-out both;box-shadow:0 0 0 2px var(--bg-primary)}.mobile-profile-trigger{position:relative}.mobile-user-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .18s ease}.mobile-profile-trigger.active .mobile-user-avatar{transform:scale(1.1)}.mobile-profile-trigger i{color:inherit}.mobile-profile-trigger.active i{color:var(--accent-primary)}.mobile-profile-scrim{position:fixed;inset:0;background:#00000073;opacity:0;transition:opacity .22s ease;z-index:1099}.mobile-profile-scrim[data-open]{opacity:1}.mobile-profile-scrim[hidden],.mobile-profile-sheet[hidden]{display:none!important}.mobile-profile-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1100;background:var(--panel, rgba(15, 14, 20, .95));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top-left-radius:18px;border-top-right-radius:18px;padding:12px 12px calc(14px + env(safe-area-inset-bottom,0px));display:grid;gap:10px;max-height:min(80vh,560px);overflow:auto;transform:translateY(100%);opacity:0;transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .2s ease;will-change:transform}.mobile-profile-sheet[data-open]{transform:translateY(0);opacity:1}.mobile-sheet-grabber{width:40px;height:4px;border-radius:99px;margin:4px auto 8px;background:#ffffff1a}.mobile-sheet-header{display:flex;gap:10px;align-items:center;padding:8px 6px}.mobile-sheet-avatar{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:visible}.mobile-sheet-avatar img{width:100%;height:100%;object-fit:cover;border-radius:12px}.mobile-sheet-header h3{color:var(--text-primary);font:600 15px/1.2 system-ui;margin:0}.mobile-sheet-email{color:var(--text-secondary);font:500 12px/1.2 system-ui;margin:2px 0 0}.mobile-sheet-menu{display:grid;gap:6px}.mobile-sheet-row{height:52px;border-radius:14px;padding:0 12px;display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text-primary);background:#ffffff06;border:1px solid #ffffff10;transition:transform .14s ease,background .14s ease,border-color .14s ease;font-size:14px}.mobile-sheet-row i{font-size:18px}.mobile-sheet-row:active{transform:scale(.98);background:#ffffff0c;border-color:#ffffff18}.mobile-sheet-row.danger{color:#ffd6d6;border-color:#ff6b6b33}body:not(.dark-mode) .mobile-profile-sheet{background:#ffffffeb;border-top:1px solid var(--border)}body:not(.dark-mode) .mobile-sheet-row{background:#00000008;border-color:#00000012}body:not(.dark-mode) .mobile-sheet-row:active{background:#0000000f}body:not(.dark-mode) .mobile-sheet-row.danger{color:#b80000;border-color:#ff868633}@keyframes badgePop{0%{transform:scale(.6)}70%{transform:scale(1.2)}to{transform:scale(1)}}@media (max-width: 325px){.top-nav .top-nav-inner{padding:0 .55rem}.nav-right{gap:.25rem!important;flex-shrink:0;align-items:center}.nav-left{gap:.5rem;min-width:0}.logo span{font-size:1rem!important;font-family:Sora,Poppins,sans-serif;font-weight:700;font-style:normal;color:transparent;background:linear-gradient(90deg,#d5b6ff,#c580ff 50%,#8c62ff);background-clip:text;-webkit-background-clip:text}.theme-toggle{min-width:2rem!important;min-height:2rem!important;padding:.3rem!important;border-radius:.4rem!important}.theme-toggle i{font-size:.75rem!important}.user-dropdown{width:calc(100vw - 1.5rem);right:-.75rem;left:.75rem}.dropdown-item{padding:1rem var(--space-lg);min-height:52px;font-size:.9rem}.dropdown-item i{font-size:1.1rem;width:24px}.user-menu-trigger{min-width:44px;min-height:44px;width:2.25rem!important;height:2.25rem!important}}@media (max-width: 360px){.logo span{font-size:1.05rem!important}}@media (max-width: 480px){:root{--nav-height: 56px;--main-content-available-height: calc( 100dvh - var(--nav-height) - env(safe-area-inset-bottom) );--main-content-available-height-with-bottom-nav: calc( 100dvh - var(--nav-height) - var(--mobile-bottom-nav-height) - var(--mobile-bottom-nav-top-gap, 8px) - env(safe-area-inset-bottom) )}.top-nav .top-nav-inner{padding:0 .75rem;gap:.5rem;height:var(--nav-height)}.nav-left{gap:.5rem}.nav-right{gap:.4rem}.logo{padding:.25rem .5rem;min-height:44px}.logo span{font-size:1.5rem!important;font-family:Sora,Poppins,sans-serif;font-weight:700;color:transparent;background:linear-gradient(90deg,#d5b6ff,#c580ff 50%,#8c62ff);background-clip:text;-webkit-background-clip:text}.nav-link,.user-menu-trigger,.theme-toggle,.nav-button{min-width:44px!important;min-height:44px!important;padding:.4rem!important}.nav-links .nav-text{display:none}.slot{height:2.25rem!important;min-height:2.25rem!important}.schedule-wrapper{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;padding:5px!important}.schedule-table{min-width:550px!important;font-size:.65rem!important}main.main-content{padding:.75rem!important}.main-content{height:auto;min-height:var(--main-content-available-height-with-bottom-nav);padding-bottom:calc(var(--mobile-bottom-nav-height, 60px) + var(--mobile-bottom-nav-top-gap, 8px) + env(safe-area-inset-bottom,0px))}.content-grid{flex:1 1 auto;min-height:0}.schedule-table .day-label,.schedule-table .time-header{writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;font-size:.6rem;padding:.2rem .1rem}.schedule-grid-view .schedule-table .time-header{writing-mode:initial!important;text-orientation:initial!important;white-space:normal!important}}@media (min-width: 550px){.main-content{padding:clamp(1rem,4vw,1.5rem)}}@media (max-width: 600px){:root{--mobile-bottom-nav-height: 52px}.mobile-nav-item{grid-template-rows:26px auto}.top-nav .top-nav-inner{padding:0 .75rem}.logo span{font-size:1.25rem;font-family:Sora,Poppins,sans-serif;font-weight:700;color:transparent;background:linear-gradient(90deg,#d5b6ff,#c580ff 50%,#8c62ff);background-clip:text;-webkit-background-clip:text}.nav-link{padding:.5rem .85rem}}@media (min-width: 650px) and (max-width: 899px){.main-content{padding:clamp(1.25rem,4vw,2rem);max-width:100vw}.content-grid{gap:.5rem}.glass-card{padding:clamp(1.25rem,4vw,1.75rem)}}@media (max-width: 768px){.top-nav .top-nav-inner{padding:0 clamp(.75rem,3vw,1.25rem)}.nav-center{flex:1}.nav-links{gap:clamp(.5rem,2.5vw,.85rem);justify-content:center;flex:1}.nav-text{display:none}#aboutBtn .nav-text,.nav-cta .nav-text{display:inline!important;font-size:.8rem!important;font-weight:500!important}#notifyFriendsBtn .nav-text{display:none!important}#notifyFriendsBtn{min-width:48px;min-height:48px;padding:.625rem;justify-content:center;align-items:center}#notifyFriendsBtn i{font-size:1.4rem}.nav-link{padding:.25rem;min-width:44px;min-height:44px;justify-content:center}.nav-left,.nav-center,.nav-right,.nav-links,.nav-link{gap:0!important}.theme-toggle,.user-menu-trigger{width:auto!important;height:auto!important;min-width:44px!important;min-height:44px!important;padding:.5rem!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:none!important;border-radius:.5rem!important;transition:all .3s var(--animation-spring)}.theme-toggle i{font-size:1rem!important;transition:all .3s var(--animation-smooth)}.theme-toggle:hover,.user-menu-trigger:hover{background:rgba(var(--accent-primary-rgb, 139, 92, 246),.1)!important;color:var(--accent-primary);transform:scale(1.1);box-shadow:none!important}.theme-toggle:hover i,.user-menu-trigger:hover i{transform:scale(1.1)}.user-dropdown{width:280px;right:0;max-width:calc(100vw - 2rem)}.dropdown-header{padding:var(--space-md)}.dropdown-item{padding:var(--space-md) var(--space-lg);min-height:48px;display:flex;align-items:center}.mobile-bottom-nav{display:grid}.nav-center .nav-links{display:none!important}.main-content{height:var(--main-content-available-height-with-bottom-nav);max-height:var(--main-content-available-height-with-bottom-nav);min-height:var(--main-content-available-height-with-bottom-nav);display:flex;flex-direction:column;overflow:hidden;padding-bottom:16px}body.page-friends .main-content{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}.user-dropdown.mobile-sheet{position:fixed;inset:auto 0 0;width:100%;max-width:100%;margin:0;border-radius:16px 16px 0 0;transform:translateY(16px);box-shadow:0 -4px 24px #0006;max-height:70vh;overflow-y:auto;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 8px)}.user-dropdown.mobile-sheet.active{transform:translateY(0)}.user-dropdown.mobile-sheet .dropdown-header{position:sticky;top:0;z-index:1}.mobile-profile-trigger{grid-template-rows:24px;padding-top:10px}.mobile-profile-trigger .mobile-nav-label{display:none}.mobile-user-avatar{width:40px;height:40px}.mobile-user-avatar img.user-avatar-img{width:40px!important;height:40px!important;border-radius:50%}.mobile-profile-trigger .mobile-user-avatar{transform:translate(1px)}.mobile-nav-item:not(.active):active,.mobile-nav-item.active:active{transform:translateY(-1px) scale(.96)}.top-nav .user-menu{display:none!important}}@media (max-width: 900px){.content-grid{display:flex!important;flex-direction:column!important;gap:.5rem!important;width:100%!important;max-width:100%!important}.schedule-column{width:100%!important;max-width:100%!important;min-width:0!important;order:1}.glass-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.button-group{flex-direction:column!important}.button-group button{width:100%!important;margin-right:0!important;margin-bottom:.75rem!important}.button-group button:last-child{margin-bottom:0!important}}@media (min-width: 900px){.top-nav{width:100%;box-sizing:border-box}.nav-link{padding:var(--space-sm) var(--space-md)}#notifyFriendsBtn{padding:.75rem 1.5rem}#notifyFriendsBtn i{font-size:1.2rem}#notifyFriendsBtn .nav-text{font-size:1rem;font-weight:600}.main-content{padding:2rem;max-width:none;width:100%}.main-content>.content-grid{display:flex!important;flex-direction:column!important;align-items:center!important;gap:.5rem!important;width:100%;max-width:1200px;margin:0 auto}.schedule-column{width:100%!important;max-width:100%!important}.schedule-section{order:unset!important}.schedule-table th,.schedule-table td{padding:.5rem;font-size:.9rem;min-height:3.5rem}.schedule-table .slot{min-height:3.5rem}.schedule-table .day-label,.schedule-table .time-header{font-size:.85rem;writing-mode:initial;text-orientation:initial}.schedule-wrapper{max-height:calc(100vh - 12rem);max-height:calc(100dvh - 12rem);min-height:500px}}.main-inner{width:100%;max-width:1400px;margin:0 auto;padding-inline:clamp(1rem,2vw,2rem);box-sizing:border-box}.glass-card{max-width:100%}@media (min-width: 1600px){.main-content{padding:2.5rem 3rem;max-width:none;width:100%;margin:0;height:auto;max-height:none;min-height:var(--main-content-available-height)}.content-grid{max-width:1400px!important;gap:.5rem!important;height:auto;min-height:0}.schedule-column{width:100%!important;max-width:100%!important}.schedule-section{order:unset!important;height:auto;min-height:600px;max-height:calc(100dvh - 12rem)}.glass-card{padding:2rem}.schedule-table th,.schedule-table td{padding:.75rem;font-size:1rem;min-height:4.5rem}.schedule-table .slot{min-height:4.5rem}.schedule-wrapper{max-height:calc(100vh - 10rem);max-height:calc(100dvh - 10rem);min-height:600px}}@media (prefers-reduced-motion: reduce){.mobile-nav-item,.mobile-bottom-nav,.mobile-profile-dropdown,.mobile-dropdown-item,.mobile-user-avatar,.mobile-profile-sheet,.mobile-profile-scrim,.mobile-sheet-row,.sheet,.scrim,.row{transition:none!important;animation:none!important}}.notification-container{position:fixed;top:20px;right:20px;z-index:10000;pointer-events:none;max-width:400px;width:100%}@media (max-width: 768px){.notification-container{top:10px;right:10px;left:auto;max-width:70%;width:70%}}.notification{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur) var(--glass-backdrop-saturate);-webkit-backdrop-filter:var(--glass-backdrop-blur) var(--glass-backdrop-saturate);border:1px solid var(--glass-border);border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:var(--glass-outer-glow),0 8px 32px var(--glass-shadow),inset 0 0 0 1px var(--glass-highlight-faint);pointer-events:auto;opacity:0;transform:translate(100%) scale(.95);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.notification:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));opacity:.6}.notification-show{opacity:1;transform:translate(0) scale(1)}.notification-hide{opacity:0;transform:translate(100%) scale(.95);margin-bottom:0;padding-top:0;padding-bottom:0;max-height:0;display:none!important;visibility:hidden!important}.notification-content{display:flex;align-items:flex-start;gap:12px;position:relative}.notification-icon{font-size:24px;line-height:1;margin-top:2px;flex-shrink:0}.notification-text{flex:1;min-width:0}.notification-title{font-weight:600;font-size:.95rem;color:var(--text-primary);margin-bottom:4px;line-height:1.3}.notification-message{font-size:.875rem;color:var(--text-secondary);line-height:1.4;margin-bottom:4px}.notification-timestamp{font-size:.75rem;color:var(--text-muted);opacity:.7}.notification-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.notification-close:hover{background:#ffffff1a;color:var(--text-primary)}.notification-friend_request{border-left:4px solid var(--accent-primary)}.notification-friend_accepted,.notification-success{border-left:4px solid var(--success-color)}.notification-error{border-left:4px solid var(--error-color)}.notification-warning{border-left:4px solid var(--warning-color)}.notification-connected{border-left:4px solid var(--success-color)}.notification-disconnected{border-left:4px solid var(--error-color)}.notification-clickable{cursor:pointer;transition:all .2s ease}.notification-clickable:hover{transform:translateY(-2px);box-shadow:var(--glass-outer-glow),0 12px 48px var(--glass-shadow),inset 0 0 0 1px var(--glass-highlight-faint)}.notification-high{border-width:2px;box-shadow:var(--glass-outer-glow),0 12px 48px var(--glass-shadow),inset 0 0 0 1px var(--glass-highlight-faint),0 0 0 2px #6a5acd33}.pwa-ios-instructions{text-align:left;color:var(--text-secondary)}.pwa-ios-instructions .steps{display:flex;flex-direction:column;gap:.8rem}.pwa-ios-instructions .step{display:flex;flex-direction:column;align-items:stretch;gap:.6rem;background:linear-gradient(180deg,#ffffff0f,#ffffff08);border:1px solid var(--glass-border);border-radius:14px;padding:.9rem 1rem;box-shadow:0 6px 20px var(--modal-shadow-base),inset 0 1px #ffffff0f}.pwa-ios-instructions .step .step-text{width:100%;text-align:center;color:var(--text-primary);font-weight:600}.pwa-ios-instructions .step .step-text strong{color:var(--text-primary)}.pwa-ios-instructions .step .step-img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border-radius:12px;background:#ffffff14;border:1px solid var(--glass-border);padding:8px;box-shadow:0 4px 14px #00000040}@media (max-width: 480px){.pwa-ios-instructions .step .step-img{padding:6px}}.pwa-ios-instructions small.note{display:block;margin-top:.75rem;opacity:.85;text-align:center}.modal-content.pwa-install-card{display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 50% -100px,rgba(139,92,246,.18),transparent 60%),var(--depth-surface);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 60px #00000059,inset 0 1px #ffffff0f;min-height:42vh;max-height:min(82dvh,640px);padding-bottom:calc(2.5rem + env(safe-area-inset-bottom,0px))}.modal-content.pwa-install-card .modal-action-buttons{margin-top:.75rem;margin-bottom:.25rem}.modal-content.pwa-install-card .modal-message{flex:1 1 auto;overflow-y:auto;max-height:70dvh;padding-right:.25rem;margin-right:-.25rem}@media (max-width: 480px){.modal-content.pwa-install-card{min-height:45vh;max-height:85dvh}.modal-content.pwa-install-card .modal-message{max-height:72dvh}}.notification-low{opacity:.9;border-width:1px}.notification-paused{animation-play-state:paused}@media (max-width: 480px){.notification{padding:12px;border-radius:8px}.notification-icon{font-size:20px}.notification-title{font-size:.9rem}.notification-message{font-size:.8rem}}body.dark-mode .notification{background:#1a202cd9;border-color:#ffffff1a}body.dark-mode .notification:before{opacity:.8}body.dark-mode .notification-close:hover{background:#ffffff1a}@media (prefers-reduced-motion: reduce){.notification{transition:opacity .2s ease;transform:none}.notification-show,.notification-hide,.notification-clickable:hover{transform:none}}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur) var(--glass-backdrop-saturate);-webkit-backdrop-filter:var(--glass-backdrop-blur) var(--glass-backdrop-saturate);border:1px solid var(--glass-border);border-image:none;border-radius:var(--glass-radius);padding:clamp(1.25rem,4vw,1.75rem);box-shadow:var(--glass-outer-glow),var(--glass-lift-shadow),var(--glass-inner-glow);transition:var(--glass-transition);position:relative;overflow:hidden;width:100%;max-width:100%;min-width:0;box-sizing:border-box;isolation:isolate}@media (max-width: 480px){.glass-card{padding:14px 10px!important}}.glass-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 20%,rgba(255,255,255,.5) 50%,rgba(255,255,255,.3) 80%,transparent 100%);z-index:1}.glass-card:after{content:"";position:absolute;top:-20%;left:-20%;width:140%;height:140%;background:radial-gradient(circle at center,rgba(102,126,234,.04) 0%,rgba(139,92,246,.02) 50%,transparent 70%);animation:pulse 8s ease-in-out infinite;pointer-events:none;z-index:-1;opacity:.6}@keyframes pulse{0%,to{transform:scale(1) rotate(0);opacity:.6}50%{transform:scale(1.05) rotate(180deg);opacity:.8}}.glass-card:hover{background:var(--glass-hover);border-color:var(--glass-hover-border);box-shadow:var(--glass-hover-glow),var(--glass-lift-shadow),0 0 0 1px var(--glass-hover-highlight),var(--glass-inner-glow)}.glass-card:active{background:var(--glass-active);transition-duration:.1s}body.dark-mode .glass-card{background:var(--glass-dark-bg)!important;border:1px solid var(--glass-dark-border)!important;border-radius:var(--glass-radius)!important;border-image:none!important;box-shadow:var(--glass-dark-shadow),var(--glass-lift-shadow)!important}body.dark-mode .glass-card:hover,body.dark-mode .glass-card:active{background:var(--glass-dark-hover-bg)!important;border:1px solid var(--glass-dark-hover-border)!important;box-shadow:var(--glass-dark-hover-shadow),var(--glass-lift-shadow)!important}body.dark-mode .notifications-card{background:var(--glass-dark-bg)!important;border:1px solid var(--glass-dark-border)!important;border-radius:var(--glass-radius)!important;border-image:none!important;box-shadow:var(--glass-dark-shadow),var(--glass-lift-shadow)!important}body.dark-mode .notifications-card:hover,body.dark-mode .notifications-card:active{background:var(--glass-dark-hover-bg)!important;border:1px solid var(--glass-dark-hover-border)!important;box-shadow:var(--glass-dark-hover-shadow),var(--glass-lift-shadow)!important}@media (hover: none){.glass-card:hover,.glass-card:active,.horizontal-friends-bar:hover,.horizontal-friends-bar:active{background:initial;border-color:initial;box-shadow:initial;transform:none}}.glass-card.interactive:hover{transform:var(--glass-transform-hover)}.glass-card.interactive:active{transform:var(--glass-transform-active)}.glass-card h3{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:clamp(1.125rem,2.5vw,1.25rem);font-weight:600;color:var(--text-primary);line-height:1.3;position:relative;z-index:2}.glass-card h3 i{color:var(--accent-primary);font-size:1.1rem;filter:drop-shadow(0 0 8px rgba(139,92,246,.3))}.glass-card h4{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:1rem;position:relative;z-index:2}.glass-card .card-content{position:relative;z-index:2}.glass-card .card-divider{height:1px;background:linear-gradient(90deg,transparent 0%,var(--glass-divider) 20%,var(--glass-divider) 80%,transparent 100%);margin:20px 0}.glass-card.glass-strong{background:var(--glass-bg-strong);border-color:var(--glass-border-strong);box-shadow:var(--glass-lift-shadow),0 12px 48px var(--glass-shadow-strong),var(--glass-inner-glow),inset 0 0 0 1px var(--glass-highlight)}@media (prefers-reduced-motion: reduce){.glass-card:after{animation:none}.glass-card,.glass-card *{transition:none!important}}@media (prefers-contrast: high){.glass-card{border-width:2px;border-color:var(--accent-primary);background:var(--depth-surface)}}.glass-card:focus-visible{outline:none;border-color:var(--accent-primary);box-shadow:var(--glass-outer-glow),0 0 0 3px #8b5cf64d,var(--glass-inner-glow)}.primary-btn,.secondary-btn{display:flex;align-items:center;justify-content:center;flex-grow:1;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:.75rem;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.primary-btn{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:var(--button-primary-text);box-shadow:0 4px 15px var(--button-primary-shadow)}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--button-primary-shadow-hover)}.secondary-btn{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));margin-bottom:1rem;color:var(--text-primary);border:1px solid var(--border)}.secondary-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--button-primary-shadow-hover)}.delete-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .875rem;border:none;border-radius:.5rem;font-weight:600;font-size:.85rem;cursor:pointer;background:var(--button-delete-bg);color:var(--error);border:1px solid var(--error-light);transition:all .3s ease}.delete-btn:hover{background:var(--error);color:var(--button-delete-text-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--button-delete-shadow)}.delete-btn i{font-size:.9rem}.success-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:600;font-size:.9rem;cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:1px solid #059669;transition:all .3s ease;min-width:100px}.success-btn:hover{background:linear-gradient(135deg,#059669,#047857);border-color:#047857;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.success-btn:active{transform:translateY(0);box-shadow:0 2px 8px #10b9814d}.primary-btn:disabled,.secondary-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.full-width{width:100%}.button-group{display:flex;gap:1rem;flex-wrap:wrap}.input-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper i{position:absolute;left:1rem;color:var(--text-tertiary);font-size:1rem;pointer-events:none;z-index:2}.input-wrapper textarea+i,.input-wrapper i+textarea{top:1rem;left:1rem}.input-wrapper input,.input-wrapper textarea{width:100%;padding:1rem 1rem 1rem 3rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:1rem;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);resize:none}.input-wrapper input::placeholder,.input-wrapper textarea::placeholder{color:var(--text-tertiary)}.input-wrapper input:focus,.input-wrapper textarea:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--input-focus-shadow);background:var(--glass-hover)}.input-wrapper input:focus+i,.input-wrapper textarea:focus+i{color:var(--accent-primary)}textarea{min-height:120px;max-height:300px;font-family:inherit;line-height:1.5}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-name{font-weight:600;color:var(--text-primary);font-size:1rem}.user-id{font-size:.85rem;color:var(--text-tertiary);opacity:.8}.user-actions{display:flex;align-items:center;gap:.5rem}.button-group{gap:var(--space-md)}.nav-left,.nav-center,.nav-right{gap:var(--space-lg)}.horizontal-friends-bar{display:flex;align-items:center;gap:.75rem;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none;position:relative;overflow:visible}body.dark-mode .horizontal-friends-bar{background:var(--glass-dark-bg);backdrop-filter:var(--glass-backdrop-blur) var(--glass-backdrop-saturate);-webkit-backdrop-filter:var(--glass-backdrop-blur) var(--glass-backdrop-saturate);border:1px solid var(--glass-dark-border);border-radius:var(--glass-radius);border-image:none;box-shadow:var(--glass-dark-shadow),var(--glass-lift-shadow)}body.dark-mode .horizontal-friends-bar:hover,body.dark-mode .horizontal-friends-bar:active,body.dark-mode .schedule-section .horizontal-friends-bar:hover,body.dark-mode .schedule-section .horizontal-friends-bar:active{background:var(--glass-dark-hover-bg)!important;border:1px solid var(--glass-dark-hover-border)!important;box-shadow:var(--glass-dark-hover-shadow)!important}.user-avatar-container{flex-shrink:0;display:flex;align-items:center}.friends-scroll-container{flex:1;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}.friends-avatars-list{display:flex;gap:.75rem;padding:.25rem 0;min-width:min-content}.compare-button-container{flex-shrink:0;display:flex;align-items:center;flex-direction:column;gap:.15rem;min-width:52px}.round-compare-btn{width:48px;height:48px;border-radius:50%!important;display:flex;align-items:center;justify-content:center;font-size:16px;border:2px solid transparent;transition:all .3s var(--animation-smooth, ease);position:relative;overflow:hidden;background:var(--button-off-red)!important;border-color:var(--button-off-red)!important;color:#fff!important}.compare-button-label{font-size:.7rem;line-height:1;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.compare-button-container .round-compare-btn.active+.compare-button-label{color:var(--button-on-green);font-weight:600}.round-compare-btn:hover{background:var(--button-off-red-hover)!important;border-color:var(--button-off-red-hover)!important;transform:translateY(-1px) scale(1.05);box-shadow:0 4px 12px var(--button-off-red-shadow)!important}.round-compare-btn.active{background:var(--button-on-green)!important;border-color:var(--button-on-green)!important;color:#fff!important;animation:compare-activate .32s ease-out}.round-compare-btn.active:hover{background:var(--button-on-green-hover)!important;border-color:var(--button-on-green-hover)!important;box-shadow:0 4px 12px var(--button-on-green-shadow)!important}.round-compare-btn i{transition:transform .3s ease}.round-compare-btn.active i{transform:rotate(180deg)}@keyframes compare-activate{0%{transform:scale(.9);box-shadow:0 0 #10b98100}70%{transform:scale(1.07);box-shadow:0 0 0 10px #10b98126}to{transform:scale(1);box-shadow:0 0 #10b98100}}.round-compare-btn:disabled{background:var(--text-tertiary)!important;border-color:var(--text-tertiary)!important;color:var(--text-secondary)!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important;opacity:.6!important}@media (max-width: 768px){.horizontal-friends-bar{gap:.6rem;padding:0}.round-compare-btn{width:44px;height:44px;font-size:14px}.friends-avatars-list{gap:.6rem}}@media (max-width: 480px){.horizontal-friends-bar{gap:.5rem;padding:0}.round-compare-btn{width:40px;height:40px;font-size:12px}.compare-button-label{font-size:.68rem}}body.page-about .main-content{overflow-y:auto!important;-webkit-overflow-scrolling:touch;height:var(--main-content-available-height)!important;max-height:var(--main-content-available-height)!important}body.page-about.has-bottom-nav .main-content{overflow-y:auto!important;-webkit-overflow-scrolling:touch;height:var(--main-content-available-height-with-bottom-nav)!important;max-height:var(--main-content-available-height-with-bottom-nav)!important}.about-page{width:min(960px,90vw);margin:0 auto;display:flex;flex-direction:column;gap:clamp(2rem,4vw,3rem);align-items:center;text-align:center;padding:clamp(1rem,3vw,2rem) 0 3rem 0}.about-hero{display:flex;flex-direction:column;gap:1.1rem;align-items:center}.about-photo-frame{position:relative;border-radius:50%;padding:6px;background:radial-gradient(120% 120% at 10% 10%,#d5b6ff26,#8c62ff40 40%,#0000 70%);box-shadow:0 0 0 2px #8c62ff40,0 20px 60px #8c62ff40,0 12px 24px #00000059;overflow:visible;animation:aboutAuraPulse 4.5s ease-in-out infinite}.about-photo-clip{--about-photo-zoom: 9%;width:clamp(240px,42vw,320px);height:clamp(240px,42vw,320px);border-radius:50%;overflow:hidden;box-shadow:0 20px 60px #0f172a73;position:relative}.about-photo{width:calc(100% + var(--about-photo-zoom, 5%));height:calc(100% + var(--about-photo-zoom, 5%));max-width:none;object-fit:cover;transform:translate(var(--about-photo-pan-x, 0)) translateY(var(--about-photo-pan-y, 0));will-change:transform}.about-photo-frame:before{content:"";position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(60% 60% at 50% 50%,rgba(140,98,255,.25),rgba(197,128,255,.15) 50%,transparent 70%);filter:blur(18px);z-index:-1}.about-name{margin:0;font-weight:700;font-size:clamp(1.25rem,3.5vw,1.6rem);background:linear-gradient(90deg,#e5e7eb,#c9d1d9 50%,#e5e7eb);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.2px}.about-tagline{margin:0;display:grid;gap:2px;place-items:center;text-align:center}.tagline-line{display:block;font-style:italic;font-weight:600;letter-spacing:.1px;color:#cfd2d6;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;animation:none!important}.tagline-top{font-size:clamp(.95rem,2.6vw,1.05rem)}.tagline-bottom{font-size:clamp(.92rem,2.5vw,1rem);opacity:.95}@media (prefers-reduced-motion: reduce){.tagline-line{animation:none}.shine{animation:none!important;background:#cfd2d6;background-clip:text;-webkit-background-clip:text;color:transparent}}.about-title{font-family:var(--font-brand, "Sora", "Poppins", sans-serif);font-weight:700;font-size:clamp(2rem,5vw,2.8rem);background:linear-gradient(90deg,#f1f5f9,#d4d7dd 30%,#aab1bb 60%,#c580ff 95%);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0;text-shadow:0 0 18px rgba(197,128,255,.08)}.about-heading-small{font-size:clamp(1.6rem,4vw,2.3rem)}.about-summary{color:var(--text-secondary);max-width:720px;margin:0 auto;line-height:1.6}.about-highlights{display:flex;justify-content:center;width:100%}.about-tiles{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));width:100%}.about-tile{padding:clamp(1.25rem,3vw,1.75rem);border-radius:18px;background:linear-gradient(160deg,#8b5cf626,#1e293ba6);border:1px solid rgba(148,163,184,.15);color:var(--text-primary);text-align:left;box-shadow:0 12px 32px #0f172a59}@keyframes aboutAuraPulse{0%{box-shadow:0 0 0 2px #8c62ff40,0 20px 60px #8c62ff40,0 12px 24px #00000059}50%{box-shadow:0 0 0 2px #8c62ff59,0 25px 70px #8c62ff59,0 14px 28px #0006}to{box-shadow:0 0 0 2px #8c62ff40,0 20px 60px #8c62ff40,0 12px 24px #00000059}}.shine{font-style:italic;background:none!important;background-clip:initial!important;-webkit-background-clip:initial!important;color:inherit;text-shadow:none;animation:none!important}@keyframes shimmerWave{0%{background-position:-300% 0}to{background-position:300% 0}}.about-tile h3{margin:0 0 .75rem;font-size:1.1rem;font-weight:600}.about-tile ul{margin:0;padding-left:1.15rem;display:grid;gap:.5rem;color:var(--text-secondary)}.about-contact{display:flex;flex-direction:column;gap:1rem;align-items:center;width:100%}.about-contact p{margin:0;color:var(--text-secondary)}.about-contact .primary-btn{flex:0 0 auto}.schedule-section{display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:transparent;height:100%;max-height:100%;min-height:0}body.dark-mode .schedule-section{background:#00000040;border:1px solid rgba(255,255,255,.06)}body:not(.dark-mode) .schedule-section{border:none;background:transparent}@media (hover: none){.glass-card:hover,.glass-card:active{background:inherit;border-color:inherit;box-shadow:inherit}}.schedule-section h3{flex-shrink:0;margin-bottom:1rem}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem;padding-block:.25rem;flex-shrink:0}.schedule-header h3{margin-bottom:0;display:flex;align-items:center;gap:.5rem;font-size:1.05rem;padding-left:12px}#schedule-heading-text{display:inline-flex;align-items:baseline;gap:.25rem;max-width:100%}.schedule-title-owner{flex:0 0 auto;white-space:nowrap}.schedule-title-tail{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 600px){.schedule-header{display:grid;grid-template-columns:minmax(0,clamp(160px,65vw,420px)) auto;align-items:center;column-gap:8px}.schedule-header h3{font-size:1rem;min-width:0;padding-left:12px}#schedule-heading-text{display:inline-flex}.schedule-title-owner,.schedule-title-tail{display:inline}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.schedule-header-actions{display:flex;align-items:center;gap:12px}.compare-action-btn{border-color:var(--primary-glass)!important}.compare-action-btn:active{transform:translateY(0) scale(.98)}.compare-action-btn.active{background:var(--accent-primary)!important;border-color:var(--accent-primary)!important;color:#fff!important;box-shadow:0 0 0 3px var(--primary-glass)!important;animation:compare-activate .32s ease}.compare-action-btn.active i{transform:rotate(180deg)}.pin-btn{padding:8px 12px;border:none;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:6px;min-width:40px;height:36px;justify-content:center;background:var(--pin-btn-disabled-bg);color:var(--pin-btn-disabled-color);box-shadow:0 2px 8px var(--pin-btn-disabled-shadow)}.pin-btn:disabled{cursor:not-allowed;opacity:.6}.pin-btn:not(:disabled){background:var(--button-off-red);color:#fff;box-shadow:0 4px 12px var(--pin-btn-enabled-shadow)}.pin-btn:not(:disabled):hover{background:var(--button-off-red-hover);transform:translateY(-2px);box-shadow:0 6px 16px var(--pin-btn-hover-shadow)}.pin-btn:not(:disabled):active{transform:translateY(0);transition:all .1s ease}.pin-btn:focus-visible,#addNewTimeSlotBtn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;box-shadow:0 0 0 3px var(--focus-outline-shadow),0 8px 20px var(--focus-glow-shadow),0 4px 8px var(--focus-general-shadow)}.schedule-wrapper{border-radius:var(--radius-xl);overflow-x:auto;overflow-y:auto;background:var(--depth-surface);box-shadow:var(--shadow-xl);border:1px solid var(--border);position:relative;flex:1 1 auto;min-height:0;height:100%;max-height:100%;padding:.5rem;-webkit-overflow-scrolling:touch;width:100%;box-sizing:border-box;margin-inline:0}body:not(.dark-mode) .schedule-wrapper,body.light-mode .schedule-wrapper{background:var(--glass-bg)!important;backdrop-filter:var(--glass-backdrop-blur) var(--glass-backdrop-saturate);-webkit-backdrop-filter:var(--glass-backdrop-blur) var(--glass-backdrop-saturate)}.schedule-table{table-layout:fixed!important;border-spacing:0!important;border-collapse:separate!important;width:100%!important;margin-inline:auto!important;min-width:600px;max-width:none}.schedule-table th:first-child,.schedule-table .day-label{width:90px!important;min-width:90px!important;max-width:90px!important}.schedule-table th:not(:first-child):not(:last-child){width:auto!important;min-width:80px!important;flex:1}.schedule-table th:last-child{width:50px!important;min-width:50px!important;max-width:50px!important}.schedule-table.many-slots th:not(:first-child):not(:last-child),.schedule-table.many-slots td:not(:first-child):not(:last-child){width:75px!important;min-width:75px!important;max-width:75px!important;box-sizing:border-box!important;flex:none!important}.schedule-table.many-slots{table-layout:fixed!important;width:auto!important;margin-inline:auto!important;border-collapse:separate!important;border-spacing:0!important;max-height:70vh;overflow-y:auto}.slot{height:var(--slot-row-height, 4rem);min-height:var(--slot-row-height, 4rem);border:2px solid rgba(192,192,192,.9)!important;border-radius:4px!important;margin:0 -1px -1px 0!important;background:var(--depth-surface)!important;transition:all .2s ease!important;position:relative!important;cursor:pointer!important;box-shadow:inset 0 0 0 1px #ffffff26!important}.slot:hover{background:var(--accent-tertiary)!important;border-color:silver!important;z-index:10!important;box-shadow:0 2px 8px #00000026!important}.day-label{background:var(--depth-elevated)!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:4px!important;margin:2px!important;padding:1rem .5rem;font-weight:600!important;color:var(--text-primary)!important;text-align:center!important;position:sticky!important;left:0!important;z-index:3!important;box-shadow:0 2px 8px #0003!important;vertical-align:middle!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:3.5rem!important}.schedule-table th{background:var(--depth-elevated)!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:4px!important;margin:2px!important;padding:.75rem .5rem!important;font-weight:600!important;color:var(--text-primary)!important;text-align:center!important;font-size:.85rem!important;position:sticky!important;top:0!important;z-index:4!important;box-shadow:0 2px 8px #0003!important}.schedule-table td{border:none!important;padding:1px!important;vertical-align:middle!important;text-align:center!important;position:relative!important}.schedule-section .schedule-grid-view{--time-col-width: 96px}.schedule-section .schedule-grid-view table.schedule-table{width:100%!important;table-layout:fixed!important}.schedule-section .schedule-grid-view table.schedule-table th:first-child,.schedule-section .schedule-grid-view table.schedule-table td.time-slot-label{width:var(--time-col-width)!important;min-width:var(--time-col-width)!important;max-width:var(--time-col-width)!important;box-sizing:border-box!important}.schedule-section .schedule-grid-view table.schedule-table td.time-slot-label{position:sticky!important;left:0!important;z-index:2!important;background:var(--depth-elevated, rgba(20, 20, 28, .85))!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:2px solid rgba(255,255,255,.08)!important;border-right:2px solid rgba(255,255,255,.15)!important;border-radius:6px!important;padding:.35rem .25rem!important;font-weight:600!important;font-size:clamp(.58rem,.55rem + .4vw,.75rem)!important;line-height:1.15!important;letter-spacing:.25px!important;color:var(--text-secondary)!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;text-overflow:ellipsis!important;overflow:hidden!important;white-space:nowrap!important}.dark-mode .schedule-section .schedule-grid-view table.schedule-table td.time-slot-label{border-color:#ffffff0f!important;border-right-color:#ffffff2e!important}.schedule-section .schedule-grid-view table.schedule-table th:not(:first-child),.schedule-section .schedule-grid-view table.schedule-table td.slot{width:calc((100% - var(--time-col-width)) / 7)!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important}.schedule-section .schedule-grid-view{--slot-row-height: 4rem}.schedule-section .schedule-grid-view .schedule-wrapper{overflow-y:auto!important}.schedule-section .schedule-grid-view table.schedule-table.many-slots{max-height:none!important;overflow-y:visible!important}.schedule-section .schedule-grid-view table.schedule-table td.slot{padding-right:.65rem!important}.schedule-section .schedule-grid-view table.schedule-table td.time-slot-label{height:var(--slot-row-height, 4rem)!important;min-height:var(--slot-row-height, 4rem)!important}.schedule-section .schedule-grid-view table.schedule-table.many-slots th:not(:first-child):not(:last-child),.schedule-section .schedule-grid-view table.schedule-table.many-slots td:not(:first-child):not(:last-child){width:calc((100% - var(--time-col-width)) / 7)!important;min-width:0!important;max-width:none!important}.many-slots-note{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff!important;padding:.75rem 1rem;border-radius:var(--radius-lg);margin:.5rem 0;font-size:.85rem;font-weight:500;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.5rem;animation:slideInFromTop .3s var(--animation-smooth)}.many-slots-note i{font-size:1rem;opacity:.9}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.slot-info-display{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:2px;gap:1px;font-size:clamp(.5rem,2vw,.7rem);line-height:1.1;text-align:center;pointer-events:none}.course-code{color:var(--text-primary);font-weight:800;letter-spacing:.5px;text-transform:uppercase;font-size:clamp(.8rem,2.8vw,1.2rem);line-height:1.1;text-align:center;max-width:95%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.7);margin-bottom:1px;transition:all .2s ease}.classroom-number{color:var(--text-primary);font-weight:600;padding:2px 6px;font-size:clamp(.5rem,1.8vw,.9rem);text-align:center;line-height:1.2;max-width:95%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.5);background:#ffffff26;border-radius:8px;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);margin-top:2px;transition:all .2s ease}.slot-info-display:has(.course-code) .classroom-number{margin-top:3px;font-size:clamp(.4rem,1.5vw,.7rem)}.dark-mode .course-code{color:var(--text-primary);text-shadow:0 1px 3px rgba(0,0,0,.9)}.dark-mode .classroom-number{color:var(--text-primary);text-shadow:0 1px 2px rgba(0,0,0,.8);background:#00000040;border-color:#ffffff26}.light-mode .course-code,body:not(.dark-mode) .course-code{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.9)}.light-mode .classroom-number,body:not(.dark-mode) .classroom-number{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.8);background:#00000040;border-color:#ffffff26}.slot:hover .course-code{background:#ffffff4d;border-color:#fff6;transform:scale(1.05)}.slot:hover .classroom-number{opacity:1;transform:scale(1.02);transition:all .2s ease;background:#ffffff40;border-color:#ffffff4d}.dark-mode .slot:hover .course-code{background:#0006;border-color:#ffffff4d}.slot.busy .course-code,.slot.selected .course-code{color:#fffffff2;background:#ffffff40;border-color:#fff6}.slot.busy .classroom-number,.slot.selected .classroom-number{color:#fffffff2;text-shadow:0 1px 3px rgba(0,0,0,.7);background:#fff3;border-color:#ffffff4d}.slot.free .course-code,.slot.free .classroom-number{display:none}.light-mode .slot,body:not(.dark-mode) .slot{border:1px solid rgba(100,116,139,.5)!important;margin:0 -1px -1px 0!important;box-shadow:inset 0 0 0 1px #94a3b84d!important}.light-mode .slot:hover,body:not(.dark-mode) .slot:hover{border-color:#64748b!important;z-index:10!important;box-shadow:0 2px 8px #0000001a,inset 0 0 0 1px #94a3b880!important}.dark-mode .slot{border:1px solid rgba(203,213,225,.8)!important;margin:0 -1px -1px 0!important;box-shadow:inset 0 0 0 1px #fff3!important}.dark-mode .slot:hover{border-color:#cbd5e1!important;z-index:10!important;box-shadow:0 2px 8px #0003,inset 0 0 0 1px #ffffff4d!important}.editable-timeslot-header{cursor:pointer!important;transition:all .2s ease!important}.editable-timeslot-header:hover{background:var(--depth-floating)!important;color:var(--accent-primary)!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #0003!important}.time-header{font-size:.85rem!important;font-weight:600!important;color:var(--text-primary)!important;text-align:center!important;background:var(--depth-elevated)!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:4px!important;margin:2px!important;padding:.75rem .5rem!important;position:sticky!important;top:0!important;z-index:4!important;box-shadow:0 2px 8px #0003!important}.schedule-table.many-slots{table-layout:fixed!important;width:max-content!important;margin-inline:auto!important;border-collapse:separate!important;border-spacing:0!important}table.schedule-table.many-slots th:not(:first-child):not(:last-child),table.schedule-table.many-slots td:not(:first-child):not(:last-child){width:90px!important;min-width:90px!important;max-width:150px!important;box-sizing:border-box!important;flex:none!important}@supports (-webkit-touch-callout: none){table.schedule-table.many-slots th:not(:first-child):not(:last-child),table.schedule-table.many-slots td:not(:first-child):not(:last-child){box-sizing:border-box!important;-webkit-box-sizing:border-box!important;flex:none!important;-webkit-flex:none!important}}@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){table.schedule-table.many-slots th:not(:first-child):not(:last-child),table.schedule-table.many-slots td:not(:first-child):not(:last-child){width:75px!important;min-width:75px!important;flex-basis:75px!important;flex-grow:0!important;flex-shrink:0!important}}.slot-selected{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary))!important;color:#fff!important;border-color:#c0c0c0e6!important}.slot-free{background:linear-gradient(135deg,var(--success),var(--success-secondary))!important;color:#fff!important;border-color:#c0c0c0e6!important;box-shadow:inset 0 0 10px #0003,0 0 0 1px var(--success)!important}.slot-conflict{background:linear-gradient(135deg,var(--error),#e53e3e)!important;color:#fff!important;border-color:#c0c0c0e6!important;box-shadow:inset 0 0 10px #0003,0 0 0 1px var(--error)!important}.slot-partial{background:linear-gradient(135deg,var(--warning),#d69e2e)!important;color:#fff!important;border-color:#c0c0c0e6!important;box-shadow:inset 0 0 10px #0003,0 0 0 1px var(--warning)!important}.schedule-disabled{filter:grayscale(100%) brightness(.7)!important;opacity:.5!important;transition:all .3s ease!important;position:relative!important}.schedule-disabled .schedule-table:before{content:"";position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:var(--glass-bg)!important;-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important;z-index:5!important;border-radius:var(--radius-xl)!important;pointer-events:none!important}.schedule-disabled .schedule-table{position:relative!important}.schedule-disabled .slot{cursor:not-allowed!important;filter:brightness(.8)!important;pointer-events:none!important}.schedule-disabled .pin-indicator,.schedule-disabled .pin-square-container{display:none!important}.pin-mode-active .slot:not(.slot-selected):not(.slot-free):not(.slot-conflict):not(.slot-partial){border:1px solid silver!important;background:linear-gradient(135deg,var(--depth-surface) 0%,rgba(139,92,246,.1) 100%)!important}.pin-mode-active .slot:not(.slot-selected):not(.slot-free):not(.slot-conflict):not(.slot-partial):hover{border-color:var(--accent-secondary)!important;background:linear-gradient(135deg,var(--depth-elevated) 0%,rgba(168,85,247,.15) 100%)!important;box-shadow:0 4px 12px #0003!important}.pin-mode-active .slot.slot-selected,.pin-mode-active .slot.slot-free,.pin-mode-active .slot.slot-conflict,.pin-mode-active .slot.slot-partial{border-width:3px!important}.pin-mode-active .slot.slot-selected:before{content:"🚫";position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;font-size:20px!important;opacity:.7!important;pointer-events:none!important;z-index:1!important;text-shadow:1px 1px 2px rgba(0,0,0,.5)!important}.pin-mode-active .slot.slot-selected{cursor:not-allowed!important}.schedule-wrapper::-webkit-scrollbar{height:8px!important}.schedule-wrapper::-webkit-scrollbar-track{background:var(--depth-surface)!important;border-radius:4px!important}.schedule-wrapper::-webkit-scrollbar-thumb{background:var(--border)!important;border-radius:4px!important;transition:background .3s ease!important}.schedule-wrapper::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)!important}.schedule-wrapper{scroll-behavior:smooth!important;-webkit-overflow-scrolling:touch!important;will-change:scroll-position}.pin-indicator{position:absolute!important;top:4px!important;right:4px!important;font-size:16px!important;line-height:1!important;cursor:pointer!important;z-index:10!important;opacity:.9!important;transition:all .2s ease!important;pointer-events:auto!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))!important}.pin-indicator:hover{opacity:1!important;transform:scale(1.1)!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))!important}.pin-square-container{position:absolute!important;top:50%!important;right:2px!important;transform:translateY(-50%)!important;width:30px!important;height:78%!important;background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;border-radius:6px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;z-index:10!important;opacity:.9!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;pointer-events:auto!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;box-shadow:0 2px 8px #00000026!important}.pin-square-container:hover{opacity:1!important;transform:translateY(-50%) scale(1.1)!important;box-shadow:0 4px 12px #00000040!important;border-color:var(--accent-primary)!important;background:var(--glass-bg-hover, var(--glass-bg))!important}.pin-square-container:active{transform:translateY(-50%) scale(1.05)!important;transition:all .1s ease!important}.pin-square-container .pin-icon{font-size:14px!important;line-height:1!important;color:var(--accent-primary)!important;margin-bottom:1px!important}.pin-square-container .pin-count-number{font-size:10px!important;font-weight:700!important;line-height:1!important;margin-top:5px!important;color:#fff!important;border-radius:10%!important;width:16px!important;height:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid white!important;box-shadow:0 1px 3px #0003!important}.compare-pin-indicator{position:absolute!important;top:4px!important;right:4px!important;font-size:16px!important;line-height:1!important;cursor:pointer!important;z-index:10!important;opacity:.9!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;pointer-events:auto!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))!important;display:inline-flex!important;align-items:center!important;gap:2px!important;background:#ffffffe6!important;border-radius:6px!important;padding:2px 4px!important;border:1px solid rgba(0,0,0,.1)!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}.compare-pin-indicator:hover{opacity:1!important;transform:scale(1.15)!important;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))!important;background:#fffffff2!important;border-color:var(--accent-primary)!important}.compare-pin-indicator:active{transform:scale(1.05)!important;transition:all .1s ease!important}.compare-pin-indicator .pin-count{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary))!important;color:#fff!important;font-size:10px!important;font-weight:700!important;border-radius:50%!important;width:18px!important;height:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin-left:3px!important;box-shadow:0 2px 6px #0003!important;border:2px solid white!important;animation:pulseCount 2s infinite!important}.pin-tooltip{background:var(--glass-bg)!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border:1px solid var(--glass-border)!important;border-radius:12px!important;padding:16px!important;min-width:160px!important;max-width:280px!important;box-shadow:0 12px 40px #00000026,0 4px 16px #0000001a,inset 0 1px #fff3!important;animation:tooltipFadeIn .3s cubic-bezier(.4,0,.2,1)!important;z-index:1001!important}.pin-tooltip-content{display:flex!important;flex-direction:column!important;gap:12px!important}.pin-tooltip-header{font-weight:600!important;color:var(--text-primary)!important;font-size:14px!important;border-bottom:1px solid var(--glass-border)!important;padding-bottom:8px!important;display:flex!important;align-items:center!important;gap:8px!important}.pin-tooltip-header:before{font-size:16px!important}.pin-tooltip-users{display:flex!important;flex-direction:column!important;gap:8px!important;max-height:200px!important;overflow-y:auto!important}.pin-tooltip-user{display:flex!important;align-items:center!important;gap:12px!important;padding:8px 12px!important;font-size:13px!important;color:var(--text-secondary)!important;background:#ffffff1a!important;border-radius:8px!important;border:1px solid rgba(255,255,255,.1)!important;transition:all .2s ease!important}.pin-tooltip-user:hover{background:#ffffff26!important;border-color:#fff3!important;transform:translate(2px)!important}.pin-tooltip-user-color{width:14px!important;height:14px!important;border-radius:50%!important;border:2px solid white!important;flex-shrink:0!important;box-shadow:0 2px 6px #0003!important}.pin-tooltip-user span{font-weight:500!important;color:var(--text-primary)!important}#slotTooltip{position:absolute;background:var(--depth-floating, rgba(0,0,0,.9));color:var(--text-primary, white);padding:8px 12px;border-radius:var(--radius-md, 6px);font-size:.875rem;line-height:1.4;white-space:pre-line;box-shadow:0 4px 20px #0000004d;border:1px solid var(--border, rgba(255,255,255,.1));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;pointer-events:none;max-width:250px;word-wrap:break-word;display:none;visibility:hidden;opacity:0;transition:opacity .2s ease,transform .2s ease;transform:translate(-50%) scale(.8)}.light-mode #slotTooltip,body:not(.dark-mode) #slotTooltip{background:var(--surface, rgba(255,255,255,.95))!important;color:var(--text-primary, #1a1a1a)!important;border-color:var(--border, rgba(0,0,0,.1))!important;box-shadow:0 4px 20px #00000026!important}#slotTooltip[style*="display: block"]{visibility:visible!important;opacity:1!important}#slotTooltip.visible{display:block!important;visibility:visible!important;opacity:1!important;transform:translate(-50%) scale(1)!important;transition:opacity .2s ease,transform .2s ease!important}#slotTooltip:not(.visible){opacity:0;transform:translate(-50%) scale(.8);transition:opacity .2s ease,transform .2s ease}.schedule-actions{display:flex;justify-content:flex-end;padding:1rem 0 .5rem;margin-top:1rem}.add-row-btn,#addNewTimeSlotBtn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1.25rem;gap:.5rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;line-height:1.2;white-space:nowrap;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px #667eea33,0 1px 3px #0000001a;outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.add-row-btn span,#addNewTimeSlotBtn span{font-size:.875rem;font-weight:500}.add-row-btn:hover,#addNewTimeSlotBtn:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 4px 12px #667eea4d,0 2px 6px #0000001a;background:linear-gradient(135deg,var(--accent-secondary),var(--accent-primary))}.add-row-btn:active,#addNewTimeSlotBtn:active{transform:translateY(-1px) scale(1.01);box-shadow:0 4px 12px #667eea4d,0 2px 4px #0000001a;transition-duration:.1s}.add-row-btn:focus-visible,#addNewTimeSlotBtn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;box-shadow:0 0 0 3px #667eea33,0 8px 20px #667eea66,0 4px 8px #00000026}.add-row-btn:disabled,#addNewTimeSlotBtn:disabled{background:var(--text-tertiary);color:var(--text-secondary);cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}.schedule-disabled .add-row-btn,.schedule-disabled #addNewTimeSlotBtn{pointer-events:none!important;opacity:.3!important}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulseCount{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}body.page-home{overflow:hidden}body.page-home .main-content{overflow-x:hidden;overflow-y:auto;padding:.5rem .4rem!important}body.page-home .content-grid{height:100%;overflow:hidden;display:flex;flex-direction:column}body.page-home .schedule-column{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}body.page-home .schedule-section{flex:1 1 auto;min-height:0;height:100%}body.page-home .schedule-wrapper{flex:1 1 auto;min-height:0;height:100%;max-height:100%}body.page-home .schedule-day-view .day-view-container{flex:1 1 auto;min-height:0;height:100%;overflow-y:auto}body.page-home .horizontal-friends-section,body.page-home .schedule-header,body.page-home .schedule-controls-bar,body.page-home .day-selector-container{flex-shrink:0}.schedule-controls-bar{display:flex;justify-content:space-between;align-items:center}.schedule-controls-bar .view-mode-toggle{order:0}.schedule-controls-bar .schedule-actions-group{order:1;margin-left:auto;display:flex;gap:.375rem}body.page-home .schedule-day-view,body.page-home .schedule-grid-view{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.horizontal-friends-section{width:100%;margin-bottom:0;position:relative;z-index:10}.horizontal-friends-wrapper{width:100%}.horizontal-friends-section,.horizontal-friends-section:hover,.horizontal-friends-section:active,.horizontal-friends-section:focus,.horizontal-friends-section:focus-visible,.horizontal-friends-section:focus-within,.horizontal-friends-wrapper,.horizontal-friends-wrapper:hover,.horizontal-friends-wrapper:active,.horizontal-friends-wrapper:focus,.horizontal-friends-wrapper:focus-visible,.horizontal-friends-wrapper:focus-within{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.dark-mode .horizontal-friends-section,body.dark-mode .horizontal-friends-section:hover,body.dark-mode .horizontal-friends-section:active,body.dark-mode .horizontal-friends-section:focus,body.dark-mode .horizontal-friends-section:focus-visible,body.dark-mode .horizontal-friends-section:focus-within,body.dark-mode .horizontal-friends-wrapper,body.dark-mode .horizontal-friends-wrapper:hover,body.dark-mode .horizontal-friends-wrapper:active,body.dark-mode .horizontal-friends-wrapper:focus,body.dark-mode .horizontal-friends-wrapper:focus-visible,body.dark-mode .horizontal-friends-wrapper:focus-within{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.mobile-only{display:block}.desktop-only{display:none}@media (min-width: 769px){.mobile-only{display:none}.desktop-only{display:block}}body.page-home .content-grid{display:flex;flex-direction:column;gap:1.5rem;width:100%}@media (min-width: 769px){body.page-home .content-grid{display:grid;grid-template-columns:300px 1fr;gap:2rem;align-items:start}}body.dark-mode .slot.busy,body.dark-mode .day-time-slot.busy{background:var(--accent-primary)!important;color:#fff!important}body.dark-mode .slot.busy .course-code,body.dark-mode .slot.busy .classroom-number,body.dark-mode .day-time-slot.busy .slot-course-code,body.dark-mode .day-time-slot.busy .slot-classroom,body.dark-mode .day-time-slot.busy .slot-time{color:#fffffff2!important}body:not(.dark-mode) .slot.busy,body:not(.dark-mode) .day-time-slot.busy{background:var(--accent-primary)!important;color:#fff!important}body:not(.dark-mode) .slot.busy .course-code,body:not(.dark-mode) .slot.busy .classroom-number,body:not(.dark-mode) .day-time-slot.busy .slot-course-code,body:not(.dark-mode) .day-time-slot.busy .slot-classroom,body:not(.dark-mode) .day-time-slot.busy .slot-time{color:#fffffff2!important}.schedule-column{width:100%;min-width:0}.horizontal-friends-bar{width:100%;background:transparent!important;border:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;transition:none;position:relative;overflow:visible;display:flex;align-items:center;gap:.75rem;padding:0;margin:0;min-height:fit-content;z-index:1}body.dark-mode .horizontal-friends-bar,body.dark-mode .horizontal-friends-bar:hover,body.dark-mode .horizontal-friends-bar:active,body.dark-mode .horizontal-friends-bar:focus,body.dark-mode .horizontal-friends-bar:focus-visible,body.dark-mode .horizontal-friends-bar:focus-within{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.schedule-section .horizontal-friends-bar,.schedule-section .horizontal-friends-bar:hover,.schedule-section .horizontal-friends-bar:active,.schedule-section .horizontal-friends-bar:focus,.schedule-section .horizontal-friends-bar:focus-visible,.schedule-section .horizontal-friends-bar:focus-within{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding-top:0!important;padding-bottom:0!important;padding-left:6px!important;outline:none!important;-webkit-tap-highlight-color:transparent}.horizontal-friends-section .horizontal-friends-bar,.horizontal-friends-section .horizontal-friends-bar:hover,.horizontal-friends-section .horizontal-friends-bar:active,.horizontal-friends-section .horizontal-friends-bar:focus,.horizontal-friends-section .horizontal-friends-bar:focus-visible,.horizontal-friends-section .horizontal-friends-bar:focus-within,.horizontal-friends-wrapper .horizontal-friends-bar,.horizontal-friends-wrapper .horizontal-friends-bar:hover,.horizontal-friends-wrapper .horizontal-friends-bar:active,.horizontal-friends-wrapper .horizontal-friends-bar:focus,.horizontal-friends-wrapper .horizontal-friends-bar:focus-visible,.horizontal-friends-wrapper .horizontal-friends-bar:focus-within{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding-top:0!important;padding-bottom:0!important;padding-left:6px!important;outline:none!important}body.dark-mode .schedule-section .horizontal-friends-bar,body.dark-mode .schedule-section .horizontal-friends-bar:hover,body.dark-mode .schedule-section .horizontal-friends-bar:active,body.dark-mode .schedule-section .horizontal-friends-bar:focus,body.dark-mode .schedule-section .horizontal-friends-bar:focus-visible,body.dark-mode .schedule-section .horizontal-friends-bar:focus-within{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding-top:0!important;padding-bottom:0!important;padding-left:6px!important;outline:none!important}body.dark-mode .horizontal-friends-section .horizontal-friends-bar,body.dark-mode .horizontal-friends-section .horizontal-friends-bar:hover,body.dark-mode .horizontal-friends-section .horizontal-friends-bar:active,body.dark-mode .horizontal-friends-section .horizontal-friends-bar:focus,body.dark-mode .horizontal-friends-section .horizontal-friends-bar:focus-visible,body.dark-mode .horizontal-friends-section .horizontal-friends-bar:focus-within,body.dark-mode .horizontal-friends-wrapper .horizontal-friends-bar,body.dark-mode .horizontal-friends-wrapper .horizontal-friends-bar:hover,body.dark-mode .horizontal-friends-wrapper .horizontal-friends-bar:active,body.dark-mode .horizontal-friends-wrapper .horizontal-friends-bar:focus,body.dark-mode .horizontal-friends-wrapper .horizontal-friends-bar:focus-visible,body.dark-mode .horizontal-friends-wrapper .horizontal-friends-bar:focus-within{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding-top:0!important;padding-bottom:0!important;padding-left:6px!important;outline:none!important}.schedule-section .horizontal-friends-bar:before,.schedule-section .horizontal-friends-bar:after{display:none!important;content:none!important}body.dark-mode .schedule-section .horizontal-friends-bar:after{animation:none!important;opacity:0!important}@keyframes friendsBarRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.schedule-section .horizontal-friends-bar:after{animation:none!important}.schedule-section .horizontal-friends-bar,.schedule-section .horizontal-friends-bar *{transition:none!important}}.horizontal-friends-bar>*{position:relative;z-index:1}.friends-bar-header{display:none}.friends-bar-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.friends-bar-title i{color:var(--primary);font-size:1.1rem}.friends-bar-actions{display:flex;gap:.5rem}.btn-refresh-friends,.btn-compare{background:var(--surface-light);border:1px solid var(--border-light);border-radius:var(--border-radius);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text-secondary)}.btn-refresh-friends:hover,.btn-compare:hover{background:var(--surface-hover);border-color:var(--primary-glass);color:var(--primary)}.btn-refresh-friends:hover{transform:rotate(90deg)}.btn-refresh-friends:active{transform:rotate(90deg) scale(.95)}.btn-compare:active{transform:scale(.95)}.btn-compare.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 8px var(--primary-shadow)}.btn-compare.active:hover{background:var(--primary-dark);transform:scale(1.05)}.btn-compare.compare-button--empty{border-style:dashed;color:var(--text-secondary);opacity:.8}.btn-compare.compare-button--empty:hover{background:var(--surface-light);border-color:var(--border-light);color:var(--text-secondary);transform:none}.horizontal-friends-bar .avatar-container{width:56px!important;height:56px!important;border-radius:50%!important;overflow:visible!important;flex-shrink:0!important;aspect-ratio:1 / 1!important;position:relative!important}.horizontal-friends-bar .avatar-image{width:100%!important;height:100%!important;border-radius:50%!important;overflow:visible!important;aspect-ratio:1 / 1!important;position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important}.horizontal-friends-bar .user-avatar,.horizontal-friends-bar .avatar-placeholder{width:100%!important;height:100%!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:24px!important;position:relative!important;overflow:hidden!important;background:transparent!important;border:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.horizontal-friends-bar .user-avatar:before,.horizontal-friends-bar .avatar-placeholder:before{display:none!important}.horizontal-friends-bar .user-avatar-img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important;position:absolute!important;top:0!important;left:0!important;z-index:1!important;border:none!important}.horizontal-friends-bar .user-avatar i{font-size:24px!important;color:var(--text-secondary)!important;position:relative!important;z-index:1!important}.user-avatar-container{flex-shrink:0;position:relative;z-index:2;min-height:fit-content;display:flex;align-items:center;overflow:visible;padding:.5rem .5rem .4rem}.friends-scroll-container{flex:1;position:relative;overflow-x:auto;overflow-y:visible;padding:0;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.friends-scroll-container::-webkit-scrollbar{display:none}.friends-avatars-list{display:flex;gap:.75rem;align-items:center;padding:.5rem 1rem .4rem .75rem;min-height:fit-content;width:fit-content}.friends-avatars-list>.friend-avatar-item:first-child{margin-left:.25rem}@media (max-width: 480px){.friends-avatars-list{padding-left:.65rem}.friends-avatars-list>.friend-avatar-item:first-child{margin-left:.2rem}}.friend-avatar-item{display:flex;flex-direction:column;align-items:center;gap:.4rem;min-width:64px;max-width:64px;cursor:pointer;transition:all .2s ease-out;position:relative;padding:.35rem .35rem 0;margin:0;border-radius:var(--border-radius);outline:none;flex-shrink:0;-webkit-tap-highlight-color:transparent;overflow:visible}.friend-avatar-item:hover{transform:translateY(-1px)}.friend-avatar-item:focus-visible{outline:none;box-shadow:none}.friend-avatar-item:focus-visible .avatar-container{box-shadow:0 0 0 2px var(--primary-glass);border-radius:50%}.friend-avatar-item:active{transform:translateY(0)}.schedule-section .friend-avatar-item:focus,.horizontal-friends-section .friend-avatar-item:focus,.horizontal-friends-wrapper .friend-avatar-item:focus{outline:none!important;box-shadow:none!important}@media (hover: none){.friend-avatar-item:focus,.friend-avatar-item:focus-visible{outline:none!important;box-shadow:none!important}}.avatar-container{position:relative;width:48px;height:48px;border-radius:50%;overflow:visible;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;aspect-ratio:1/1}.avatar-image{width:100%;height:100%;border-radius:50%;overflow:visible;background:var(--surface-light);display:flex;align-items:center;justify-content:center;border:2px solid var(--border-light);transition:border .3s ease;aspect-ratio:1/1;flex-shrink:0;position:relative;transform:none!important}.avatar-image img,.avatar-image .user-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;aspect-ratio:1/1;display:block;position:absolute;top:0;left:0;z-index:1}.avatar-image i{font-size:24px;color:var(--text-secondary);position:relative}.selection-ring{position:absolute;inset:0;border:none;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none;opacity:0;z-index:2;box-shadow:none;display:block}.friend-avatar-item.selected .selection-ring{opacity:1!important;box-shadow:0 0 0 3px #9333ea!important;z-index:2!important}.friend-avatar-item.selected .avatar-image{border:2px solid var(--border-light)!important;transform:none!important;box-shadow:none!important}.friend-avatar-item:hover:not(.selected) .selection-ring{opacity:.5}.avatar-label{font-size:.8rem;font-weight:500;color:var(--text-secondary);text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease;line-height:1.2}.friend-avatar-item.selected .avatar-label{color:var(--primary);font-weight:600}.friend-avatar-item:hover .avatar-label{color:var(--text-primary)}.friend-avatar-item.user-avatar{z-index:2}.friend-avatar-item.user-avatar .avatar-image{border:2px solid var(--border-light)!important;transform:none!important;box-shadow:0 2px 8px #0000001a!important}.friend-avatar-item.user-avatar.selected .selection-ring{opacity:1!important;box-shadow:0 0 0 3px #9333ea!important;z-index:2!important}.friend-avatar-item.user-avatar .avatar-label{color:var(--primary)!important;font-weight:600!important}.scroll-indicator{position:absolute;bottom:0;left:1rem;right:1rem;height:2px;background:var(--border-light);border-radius:1px;opacity:0;transition:opacity .3s ease}.horizontal-friends-bar.has-scroll .scroll-indicator,.horizontal-friends-bar.scrolling .scroll-indicator{opacity:1}.scroll-indicator-track{width:100%;height:100%;position:relative;border-radius:1px;overflow:hidden}.scroll-indicator-thumb{position:absolute;top:0;left:0;height:100%;width:30%;background:var(--primary);border-radius:1px;transition:left .2s ease}.friends-bar-status{display:flex;justify-content:center;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light);position:relative;z-index:1}.current-selection{font-size:.875rem;font-weight:500;color:var(--text-secondary);background:var(--surface-light);padding:.4rem .8rem;border-radius:var(--border-radius);border:1px solid var(--border-light);transition:all .2s ease}.friends-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--text-secondary)}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-light);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.friends-empty-state{display:none}.error-content{color:var(--text-secondary)}.error-icon{font-size:2rem;margin-bottom:1rem}.error-content h4{margin:0 0 .5rem;color:var(--text-primary)}.error-content p{margin:0 0 1.5rem;font-size:.9rem}.btn-retry{background:var(--primary);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-retry:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-retry:active{transform:translateY(0)}.horizontal-friends-bar.compare-mode{border:0!important;box-shadow:none!important;border-radius:0!important}.horizontal-friends-bar.compare-mode .friend-avatar-item .selection-ring:not(.compare-selected-ring){opacity:0!important;box-shadow:none!important;border:none!important;transform:none!important}.friend-avatar-item.compare-mode-available{animation:attention-wiggle .3s ease-in-out infinite alternate}.friend-avatar-item.compare-mode-available .avatar-container{box-shadow:0 0 0 2px #8b5cf640,0 6px 18px #8b5cf640}.friend-avatar-item.compare-mode-available:not(.compare-selected) .avatar-container:after{content:"";position:absolute;left:50%;bottom:-4px;width:72%;height:10px;transform:translate(-50%) scaleX(.98);background:radial-gradient(ellipse at center,#8b5cf673,#8b5cf62e 45%,#0000 70%);filter:blur(6px);opacity:.6;pointer-events:none;z-index:0;animation:compare-pulse 1.4s ease-in-out infinite}@keyframes compare-pulse{0%{opacity:.45;transform:translate(-50%) scaleX(.92)}50%{opacity:.95;transform:translate(-50%) scaleX(1.06)}to{opacity:.45;transform:translate(-50%) scaleX(.92)}}.friend-avatar-item.compare-mode-available.compare-selected{animation:none!important}.friend-avatar-item.compare-selected .avatar-container{transform:scale(1);border:2px solid var(--primary);box-shadow:0 4px 12px var(--primary-shadow)}.compare-checkmark{position:absolute;top:-2px;right:-2px;width:20px;height:20px;background:var(--primary);border:2px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;z-index:3;animation:checkmark-appear .3s cubic-bezier(.68,-.55,.265,1.55)}@keyframes attention-wiggle{0%{transform:rotate(-2.5deg) scale(.995)}to{transform:rotate(2.5deg) scale(1.005)}}@keyframes checkmark-appear{0%{transform:scale(0) rotate(180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.selection-ring.compare-selected-ring{border-color:#ef4444!important;border-width:3px!important;box-shadow:0 0 0 1px #ef4444,0 0 12px #ef4444,0 0 24px #ef44444d,inset 0 0 8px #ef444433!important;animation:red-comparison-pulse 2s ease-in-out infinite;z-index:3!important;opacity:1!important;transform:scale(1.12)!important}@keyframes red-comparison-pulse{0%,to{box-shadow:0 0 0 1px #ef4444,0 0 12px #ef4444,0 0 24px #ef44444d,inset 0 0 8px #ef444433;transform:scale(1.12)}50%{box-shadow:0 0 0 2px #ef4444,0 0 16px #ef4444,0 0 32px #ef444466,inset 0 0 12px #ef44444d;transform:scale(1.15)}}.compare-checkmark{display:none!important}.friends-bar-status{display:none}.glass-orange{background:linear-gradient(135deg,#fb923c26,#f973161a)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:1px solid rgba(251,146,60,.3)!important;box-shadow:0 4px 12px #fb923c1a,inset 0 1px #ffffff1a!important;color:var(--text-primary)!important}@media (max-width: 900px){.schedule-section .schedule-grid-view{--slot-row-height: 4.25rem}}@media (max-width: 768px){.many-slots-note{font-size:.8rem;padding:.6rem .8rem}.schedule-table.many-slots th:not(:first-child):not(:last-child),.schedule-table.many-slots td:not(:first-child):not(:last-child){width:70px!important;min-width:70px!important;max-width:70px!important}.slot-info-display{padding:1px;gap:1px}.course-code{font-size:clamp(.7rem,2.5vw,1rem);font-weight:700}.classroom-number{font-size:clamp(.45rem,1.6vw,.7rem);margin-top:2px;padding:2px 5px}.slot-info-display:has(.course-code) .classroom-number{margin-top:1px;font-size:clamp(.4rem,1.4vw,.6rem)}.pin-square-container{width:28px!important;height:74%!important;top:50%!important;right:2px!important;transform:translateY(-50%)!important}.pin-square-container .pin-icon{font-size:12px!important}.pin-square-container:active{transform:translateY(-50%) scale(1.05)!important}.pin-square-container .pin-count-number{width:14px!important;height:14px!important;margin-top:5px!important;font-size:9px!important}.compare-pin-indicator{font-size:14px!important;padding:1px 3px!important;top:2px!important;right:2px!important}.compare-pin-indicator .pin-count{width:16px!important;height:16px!important;font-size:9px!important;margin-left:2px!important}.pin-tooltip{padding:12px!important;min-width:140px!important;max-width:220px!important;border-radius:10px!important}.pin-tooltip-header{font-size:13px!important;padding-bottom:6px!important}.pin-tooltip-user{padding:6px 8px!important;gap:8px!important;font-size:12px!important}.pin-tooltip-user-color{width:12px!important;height:12px!important}.horizontal-friends-bar{padding:0!important;margin:0;border-radius:0}.friends-avatars-list{gap:.6rem;padding:.4rem 0 .35rem!important}.friend-avatar-item{min-width:52px;padding:.25rem .2rem 0}.user-avatar-container{padding:.4rem .2rem .35rem 0}.avatar-container{width:52px;height:52px}.avatar-label{font-size:.7rem;max-width:64px;margin-top:.25rem}}@media (max-width: 600px){.schedule-section .schedule-grid-view{--slot-row-height: 4.35rem}}@media (max-width: 480px){.schedule-section.glass-card,.glass-card.schedule-section{padding-top:8px!important;padding-bottom:8px!important}.schedule-section .schedule-grid-view{--time-col-width: 78px;--slot-row-height: 3.25rem}.schedule-section .schedule-grid-view table.schedule-table{table-layout:auto!important;width:auto!important}.schedule-section .schedule-grid-view .schedule-wrapper{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.schedule-section .schedule-grid-view table.schedule-table th:not(:first-child),.schedule-section .schedule-grid-view table.schedule-table td.slot{width:auto!important;min-width:56px!important;max-width:140px!important}.schedule-section .schedule-grid-view table.schedule-table th:not(:first-child){min-height:var(--slot-row-height, 3rem)!important;line-height:1.1!important;font-size:clamp(.65rem,.6rem + .7vw,.8rem)!important;padding:.45rem .25rem!important}.schedule-section .schedule-grid-view table.schedule-table td.time-slot-label{min-height:2.75rem!important;height:var(--slot-row-height, 3.25rem)!important;font-size:clamp(.55rem,.5rem + 1vw,.7rem)!important;padding:.35rem .25rem!important}.schedule-section .schedule-grid-view table.schedule-table td.slot{min-height:2.75rem!important;height:var(--slot-row-height)!important}.schedule-header{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem;justify-content:space-between}.schedule-header h3{flex:1;margin-right:.5rem;min-width:0}.many-slots-note{flex-basis:100%;order:3;margin-top:.5rem;margin-bottom:0}.schedule-section{height:100%;max-height:100%}.schedule-wrapper{min-height:0;height:100%;max-height:100%}body.page-home .schedule-section,body.page-home .schedule-wrapper{height:100%;max-height:100%}.slot{height:2.25rem!important;min-height:2.25rem!important}.schedule-wrapper{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;padding:.25rem!important;scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.6) transparent}.schedule-wrapper::-webkit-scrollbar{height:6px}.schedule-wrapper::-webkit-scrollbar-track{background:transparent}.schedule-wrapper::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#8b5cf6bf,#a855f7bf);border-radius:999px}.schedule-wrapper::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#8b5cf6f2,#a855f7f2)}.schedule-table{min-width:450px!important;font-size:.65rem!important}.many-slots-note{font-size:.75rem;padding:.5rem .7rem;margin:.25rem 0}.schedule-table th:first-child,.schedule-table .day-label{width:70px!important;min-width:70px!important;max-width:70px!important}.schedule-table.many-slots th:not(:first-child):not(:last-child),.schedule-table.many-slots td:not(:first-child):not(:last-child){width:80px!important;min-width:80px!important;max-width:80px!important}.schedule-table th:last-child{width:40px!important;min-width:40px!important;max-width:40px!important}.course-code{font-size:clamp(.6rem,2vw,.8rem);padding:1px 2px}.classroom-number{font-size:clamp(.4rem,1.5vw,.6rem);padding:1px 4px}.slot-info-display:has(.course-code) .classroom-number{font-size:clamp(.35rem,1.3vw,.5rem)}.pin-square-container{width:26px!important;height:80%!important;top:50%!important;right:1px!important;transform:translateY(-50%)!important}.pin-square-container .pin-icon{font-size:11px!important}.pin-square-container .pin-count-number{width:10px!important;height:10px!important;margin-top:5px!important;font-size:8px!important}.compare-pin-indicator{font-size:12px!important;padding:1px 2px!important}.compare-pin-indicator .pin-count{width:14px!important;height:14px!important;font-size:8px!important;margin-left:1px!important}.pin-tooltip{padding:10px!important;min-width:120px!important;max-width:200px!important}.pin-tooltip-header{font-size:12px!important}.pin-tooltip-user{padding:4px 6px!important;gap:6px!important;font-size:11px!important}.pin-tooltip-user-color{width:10px!important;height:10px!important}.horizontal-friends-bar{padding:0!important;border-radius:0}.friends-avatars-list{gap:.5rem;padding:.35rem 0 .3rem!important}.friend-avatar-item{min-width:48px;padding:.25rem .15rem 0}.user-avatar-container{padding:.35rem .15rem .3rem 0}.avatar-container{width:48px;height:48px}.avatar-label{font-size:.65rem;max-width:60px;margin-top:.2rem}}@media (max-width: 325px){.schedule-wrapper{padding:.125rem!important}.schedule-table{min-width:320px!important;font-size:.6rem!important}.schedule-table th:first-child,.schedule-table .day-label{width:60px!important;min-width:60px!important;max-width:60px!important;font-size:.55rem!important}.schedule-table.many-slots th:not(:first-child):not(:last-child),.schedule-table.many-slots td:not(:first-child):not(:last-child){width:70px!important;min-width:70px!important;max-width:70px!important}.schedule-table th:last-child{width:35px!important;min-width:35px!important;max-width:35px!important}.slot{height:2rem!important;min-height:2rem!important;font-size:.55rem!important}.schedule-header{margin-bottom:.5rem!important}.schedule-header h3{font-size:1rem!important}.many-slots-note{font-size:.7rem!important;padding:.4rem .6rem!important}}.hamburger-button,.nav-panel,.overlay{display:none}.theme-toggle{position:relative;background:transparent!important;border:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;overflow:visible!important;padding:.5rem!important;min-width:2.75rem!important;min-height:2.75rem!important;border-radius:.5rem!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important}.theme-toggle:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,var(--accent-primary) 30%,transparent 70%);transition:all .4s ease;transform:translate(-50%,-50%);border-radius:50%;opacity:0;z-index:0}.theme-toggle:hover:before{width:120%;height:120%;opacity:.15}.theme-toggle i{position:relative;z-index:1;transition:all .4s cubic-bezier(.34,1.56,.64,1);transform-origin:center}.theme-toggle:hover{background:var(--theme-toggle-hover-bg)!important;border:none!important;transform:scale(1.1)!important;box-shadow:none!important}.theme-toggle:hover i{transform:scale(1.1);color:var(--accent-primary)!important}@media (max-width: 480px){.hamburger-button,.nav-panel{display:none}}.nav-item{display:flex;align-items:center;gap:.5rem;position:relative;transition:all .3s ease}.nav-item.active{color:var(--accent-primary);font-weight:600}.nav-item.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--gradient-title);border-radius:1px;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.theme-toggle i.fa-moon,.theme-toggle i.fa-sun{animation:fadeInIcon .3s ease-in-out}@keyframes fadeInIcon{0%{opacity:0;transform:scale(.8) rotate(-45deg)}to{opacity:1;transform:scale(1) rotate(0)}}.theme-transition,.theme-transition *{transition:background-color .4s ease,color .4s ease,border-color .4s ease,box-shadow .4s ease!important}.theme-toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;box-shadow:0 0 0 3px var(--theme-toggle-focus-shadow),0 4px 20px var(--shadow-glow)!important}.theme-toggle[data-theme=dark] i{color:var(--theme-toggle-dark-icon)}.theme-toggle[data-theme=light] i{color:var(--theme-toggle-light-icon)}.theme-toggle.loading{pointer-events:none;opacity:.7}.theme-toggle.loading i{animation:spin 1s linear infinite}.ripple{position:absolute;border-radius:50%;background:var(--ripple-bg);transform:scale(0);animation:ripple-animation .6s linear;pointer-events:none}@keyframes ripple-animation{to{transform:scale(4);opacity:0}}.theme-toggle .ripple{display:none!important}@media (max-width: 768px){.theme-toggle{width:auto!important;height:auto!important;min-width:2.2rem!important;min-height:2.2rem!important;padding:.5rem!important;font-size:.9rem!important;background:transparent!important;border:none!important;border-radius:.5rem!important}.theme-toggle:hover{transform:scale(1.1)!important;background:rgba(var(--accent-primary-rgb, 139, 92, 246),.1)!important;box-shadow:none!important}}@media (max-width: 480px){.theme-toggle{width:auto!important;height:auto!important;min-width:2rem!important;min-height:2rem!important;padding:.4rem!important;font-size:.85rem!important;background:transparent!important;border:none!important;border-radius:.4rem!important}.theme-toggle-animation{animation:simpleToggle .3s ease}@keyframes simpleToggle{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}}@media (prefers-contrast: high){.theme-toggle{border:2px solid var(--text-primary)!important}.theme-toggle:hover{background:var(--text-primary)!important;color:var(--depth-background)!important}}@media (prefers-reduced-motion: reduce){.theme-toggle i,.theme-toggle:before,.theme-toggle{transition:none!important;animation:none!important}.theme-toggle-animation,.ripple{animation:none!important}.theme-toggle *{animation:none!important;transition:none!important}}.dark-mode .theme-toggle,body:not(.dark-mode) .theme-toggle{background:transparent!important;border:none!important;box-shadow:none!important;padding:.5rem!important;width:auto!important;height:auto!important;min-width:2.5rem!important;min-height:2.5rem!important}.dark-mode .theme-toggle:hover,body:not(.dark-mode) .theme-toggle:hover{background:rgba(var(--accent-primary-rgb, 139, 92, 246),.1)!important;border:none!important;box-shadow:none!important;transform:scale(1.1);border-radius:.5rem!important}.theme-toggle i{transition:all .3s var(--animation-smooth);color:var(--text-secondary)}.theme-toggle:hover i{color:var(--accent-primary);transform:scale(1.1)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--modal-overlay-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .3s ease}.modal-content{max-width:500px;width:90%;max-height:90vh;background:var(--depth-surface);border:1px solid var(--border);border-radius:1.5rem;padding:2rem;box-shadow:0 20px 60px var(--modal-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform:scale(.7) translateY(50px);transition:transform .3s ease;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.modal-body{flex:1;overflow-y:auto;padding-right:.5rem;margin-right:-.5rem}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:var(--depth-surface);border-radius:3px}.modal-body::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}.modal-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.modal-title i{color:var(--accent-primary)}.modal-message{font-size:1rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.6;text-align:center}.modal-content.modal-compact{max-width:400px;padding:1.5rem 1.5rem 1.75rem}.modal-action-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.modal-action-buttons .modal-button.single-ok{min-width:120px}.modal-button{min-width:110px;width:auto;flex:0 0 auto;height:48px;padding:.75rem 1rem;border:1px solid transparent;border-radius:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box}@media (max-width: 480px){.modal-overlay{padding:0 12px}.modal-content{width:88%;max-width:420px;max-height:82vh;padding:1rem 1rem 1.25rem;border-radius:1rem;margin:0 auto}.modal-title{font-size:1.25rem;margin-bottom:.75rem}.modal-message{font-size:.95rem;margin-bottom:.75rem}.modal-action-buttons{gap:.75rem;margin-bottom:.5rem;justify-content:center;flex-wrap:wrap}.modal-button,.modal-close-btn{width:auto;min-width:120px;height:44px}.modal-content.glass-card{width:88%;max-width:420px;padding:1rem;border-radius:1rem}}.modal-button.confirm{background:linear-gradient(135deg,var(--success),var(--modal-confirm-bg-end));color:var(--modal-confirm-text);border-color:var(--success)}.modal-button.cancel{background:var(--surface);color:var(--text-primary);border-color:var(--border)}.modal-button.delete{background:var(--button-delete-bg);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid var(--modal-delete-border);color:var(--button-off-red);box-shadow:0 4px 16px var(--modal-shadow-base),0 2px 8px var(--modal-delete-shadow-primary),inset 0 1px 0 var(--modal-shadow-light-inset);border-radius:10px;position:relative;overflow:hidden}.modal-button.delete:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--modal-light-reflection),transparent);z-index:1}.modal-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--modal-shadow-elevated)}.modal-button.confirm:hover{background:linear-gradient(135deg,var(--success),var(--modal-confirm-bg-end));filter:brightness(1.1);box-shadow:0 6px 20px var(--modal-confirm-shadow)}.modal-button.cancel:hover{background:var(--surface-hover);border-color:var(--accent-primary);box-shadow:0 6px 20px var(--modal-shadow-base)}.modal-button.delete:hover{background:var(--modal-delete-hover-bg);backdrop-filter:blur(16px) saturate(200%);-webkit-backdrop-filter:blur(16px) saturate(200%);border-color:var(--modal-delete-hover-border);color:var(--modal-delete-hover-text);box-shadow:0 6px 20px var(--modal-shadow-elevated),0 4px 12px var(--modal-delete-hover-shadow),0 0 0 1px var(--modal-delete-shadow-secondary),inset 0 1px 0 var(--modal-shadow-light-inset-hover);transform:translateY(-1px)}.modal-button.delete:active{transform:translateY(0);box-shadow:0 2px 10px var(--modal-shadow-base),0 1px 4px var(--modal-delete-shadow-active),inset 0 1px 0 var(--modal-shadow-light-inset)}.modal-button:active{transform:translateY(0);box-shadow:0 2px 10px var(--modal-shadow-base)}.modal-close-btn{display:block;margin:0 auto;min-width:120px;width:120px;height:48px;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box}.modal-input{width:100%;padding:1rem;border:1px solid var(--input-border);border-radius:.75rem;background:var(--input-bg);color:var(--text-primary);font-size:1rem;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:1rem}.modal-input:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--modal-input-focus-shadow);background:var(--input-bg)}.modal-input::placeholder{color:var(--text-light)}.modal-form-container{display:flex;flex-direction:column;gap:1rem;text-align:left}.modal-form-container h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);text-align:center;margin-bottom:1rem}.modal-form-container p{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text-primary);font-size:.9rem}.time-input-hint{font-size:.85rem;color:var(--text-light);padding:.75rem;background:var(--glass-bg);border-radius:.5rem;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-error-message{color:#fff;background:var(--error);padding:.75rem;border-radius:.5rem;font-size:.85rem;margin-bottom:1rem}.add-timeslot-form-content{display:flex;flex-direction:column;gap:1rem}.glass-card .input-wrapper{position:relative;display:flex;align-items:center}.glass-card .input-wrapper i{position:absolute;left:1rem!important;top:50%;transform:translateY(-50%);color:var(--text-tertiary);z-index:2;transition:all .3s ease}.glass-card .input-wrapper textarea{padding-left:3rem}.add-timeslot-form-content>div:not(.modal-error-message):not(.time-input-hint){display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--surface);border-radius:.75rem;border:1px solid var(--border);transition:all .3s ease}.add-timeslot-form-content>div:hover{background:var(--surface-hover);border-color:var(--accent-primary)}.add-timeslot-form-content label{font-weight:600;color:var(--text-primary);min-width:80px;text-align:right}.add-timeslot-form-content .modal-input{max-width:160px;margin-bottom:0}.dark-mode .modal-overlay{background:var(--modal-overlay-dark)}@media (max-width: 768px){.modal-content{width:95%;padding:1.5rem}.modal-action-buttons{flex-direction:column;gap:.75rem}.modal-action-buttons .modal-content.modal-compact{max-width:360px;padding:.9rem 1rem 1.1rem}.modal-button{width:100%!important;height:48px!important;min-width:auto!important;max-width:none!important;box-sizing:border-box!important;flex-shrink:0!important}.modal-close-btn{width:auto;min-width:120px;height:48px;box-sizing:border-box}.add-timeslot-form-content>div:not(.modal-error-message):not(.time-input-hint){flex-direction:column;align-items:stretch;gap:.5rem}.add-timeslot-form-content label{text-align:left;min-width:auto}.add-timeslot-form-content .modal-input{max-width:100%}}.modal-content.glass-card{padding:1.5rem;max-width:500px;width:90%;max-height:80vh;box-sizing:border-box}@media (max-width: 768px){.modal-overlay{padding:0 16px}.modal-content,.modal-content.glass-card{width:92%;max-width:520px}}.modal-overlay.active{opacity:1;visibility:visible}.modal-overlay.active .modal-content{transform:scale(1) translateY(0)}.modal-actions-row{display:flex;justify-content:center;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);gap:1rem}.modal-actions-row .modal-button.delete{min-width:140px;width:auto;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;background:var(--modal-delete-bg);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid var(--modal-delete-border);border-radius:10px;color:var(--modal-delete-text);box-shadow:0 4px 16px var(--modal-shadow-base),0 2px 8px var(--modal-delete-shadow-primary),inset 0 1px 0 var(--modal-shadow-light-inset);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.modal-actions-row .modal-button.delete:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--modal-light-reflection),transparent);z-index:1}.modal-actions-row .modal-button.delete:hover{background:var(--modal-delete-hover-bg);backdrop-filter:blur(16px) saturate(200%);-webkit-backdrop-filter:blur(16px) saturate(200%);border-color:var(--modal-delete-hover-border);color:var(--modal-delete-hover-text);box-shadow:0 6px 20px var(--modal-shadow-elevated),0 4px 12px var(--modal-delete-hover-shadow),0 0 0 1px var(--modal-delete-shadow-secondary),inset 0 1px 0 var(--modal-shadow-light-inset-hover);transform:translateY(-1px)}.modal-actions-row .modal-button.delete:active{transform:translateY(0);box-shadow:0 2px 10px var(--modal-shadow-base),0 1px 4px var(--modal-delete-shadow-active),inset 0 1px 0 var(--modal-shadow-light-inset)}.modal-overlay.glass-overlay{background:radial-gradient(1200px 600px at 50% -120px,rgba(17,13,37,.24),transparent 55%),#0a0b0f99;backdrop-filter:blur(10px) saturate(150%);-webkit-backdrop-filter:blur(10px) saturate(150%)}@supports (-webkit-touch-callout: none){.auth-modal input,.auth-modal select,.auth-modal textarea,.auth-modal button{font-size:16px;line-height:1.3;min-height:44px}.auth-modal .form-input{font-size:max(16px,1rem)}}.auth-body{-webkit-overflow-scrolling:touch}@supports (height: 100dvh){.auth-modal{height:100dvh}.auth-container{max-height:90dvh}}.auth-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--modal-overlay, rgba(0, 0, 0, .7));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal, 2000);opacity:0;visibility:hidden;transition:all .3s var(--animation-smooth, ease)}.auth-modal.active{opacity:1;visibility:visible}.auth-container{background:var(--glass-bg, rgba(255, 255, 255, .8));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border, rgba(255, 255, 255, .2));border-radius:var(--radius-lg, 1.5rem);box-shadow:0 20px 60px var(--shadow),var(--shadow-inset-glass);width:100%;max-width:420px;max-height:90vh;overflow:hidden;transform:translateY(20px) scale(.95);transition:all .3s var(--animation-spring, cubic-bezier(.34, 1.56, .64, 1));display:flex;flex-direction:column;position:relative}.auth-modal.active .auth-container{transform:translateY(0) scale(1)}.auth-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--glass-overlay-light),transparent)}.auth-header{color:var(--auth-button-text);text-align:center;padding:2rem;position:relative;border-radius:var(--radius-lg, 1.5rem) var(--radius-lg, 1.5rem) 0 0;overflow:hidden;isolation:isolate;background:linear-gradient(-45deg,#581c8766,#9333ea59,#7e22ce4d,#a855f740,#c4b5fd33,#e9d5ff26,#f9f7ff1a,#4f46e54d);background-size:500% 500%;animation:gradientWave 18s ease-in-out infinite}.auth-header:before{content:none!important}.auth-header:after{content:none!important}.auth-logo{font-size:2rem;font-weight:700;margin-bottom:.5rem;font-family:var(--font-brand, "Sora", "Poppins", sans-serif);color:transparent;background:linear-gradient(90deg,#d5b6ff,#c580ff 50%,#8c62ff);background-clip:text;-webkit-background-clip:text;position:relative;z-index:2}.auth-subtitle{opacity:.95;font-size:1rem;font-weight:500;color:var(--auth-subtitle-text);position:relative;z-index:2}.auth-tabs{display:flex;background:#140a284d;margin:1.5rem;margin-bottom:0;border:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.375rem;gap:.375rem;border-radius:999px;border:1px solid rgba(186,141,255,.2);position:relative}.auth-tabs:before{content:"";position:absolute;top:.375rem;bottom:.375rem;left:.375rem;width:calc(50% - .5625rem);background:linear-gradient(120deg,#8f3dfff2,#ff6cfbd9);border-radius:999px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);z-index:0;box-shadow:inset 0 1px #fff3}.auth-tabs:has(.auth-tab[data-tab=signup].active):before{transform:translate(calc(100% + .375rem))}.auth-tab{flex:1;padding:.75rem 1.5rem;border:none;background:transparent;cursor:pointer;font-weight:600;color:#f6f5ff99;transition:color .3s ease,transform .2s ease;position:relative;border-radius:999px;outline:none;font-size:.9rem;letter-spacing:.01em;z-index:1}.auth-tab:hover:not(.active){color:#f6f5ffd9;transform:scale(1.02)}.auth-tab.active{color:#fff;font-weight:700}.auth-tab:focus-visible{outline:2px solid #b37fff;outline-offset:2px}.auth-body{padding:2rem;overflow-y:auto;flex-grow:1;background:var(--glass-bg, rgba(255, 255, 255, .8));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-body::-webkit-scrollbar{width:6px}.auth-body::-webkit-scrollbar-track{background:var(--surface, rgba(255, 255, 255, .1));border-radius:3px}.auth-body::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:3px}.auth-body::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}.auth-form{display:none}.auth-form.active{display:block;animation:fadeInUp .4s var(--animation-spring, cubic-bezier(.34, 1.56, .64, 1))}.university-info{background:linear-gradient(120deg,#8f3dfff2,#ff6cfbd9);border:1px solid rgba(186,141,255,.3);border-radius:999px;padding:.35rem .85rem;margin-top:-.75rem;margin-bottom:1rem;margin-left:.25rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #9351ff4d,inset 0 1px #fff3;opacity:0;max-height:0;overflow:hidden;transform:translateY(-8px) scale(.95);transition:all .4s cubic-bezier(.34,1.56,.64,1);width:fit-content;max-width:calc(100% - .5rem)}.university-info.visible{opacity:1;max-height:3rem;transform:translateY(0) scale(1)}.university-name{font-weight:600;color:#fff;font-size:.8rem;letter-spacing:.01em;margin:0;display:flex;align-items:center;gap:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.university-name:before{content:"✓";font-size:.9rem;display:inline-block;flex-shrink:0}.university-domain{display:none}@media (max-width: 480px){.university-info{padding:.3rem .7rem;margin-left:.125rem;max-width:calc(100% - .25rem)}.university-name{font-size:.75rem;gap:.25rem}.university-name:before{font-size:.8rem}}.form-group{margin-bottom:1.5rem;position:relative}.form-label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem}.form-input{width:100%;padding:1rem 1.25rem;background:var(--auth-input-bg);border:2px solid var(--auth-input-border);border-radius:var(--radius-md, .75rem);color:var(--text-primary);font-size:1rem;transition:all .3s var(--animation-smooth, ease);box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-input-wrapper{position:relative;display:flex;align-items:center}.form-input-wrapper .form-input{padding-right:3rem}.password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-secondary, #666);cursor:pointer;padding:.4rem;border-radius:.5rem;line-height:1}.password-toggle:focus-visible,.password-toggle:hover{background:var(--glass-bg-hover, rgba(255, 255, 255, .15));outline:none}.eye-icon{font-size:1rem;display:inline-block}.form-input:focus{outline:none;border-color:var(--auth-input-focus-border);box-shadow:0 0 0 3px var(--auth-input-focus-shadow-color),0 4px 12px var(--auth-input-focus-glow);background:var(--auth-input-focus-bg);transform:translateY(-1px)}.form-input::placeholder{color:var(--auth-input-placeholder)}.form-input.error{border-color:var(--auth-input-error-border);background:var(--auth-input-error-bg);box-shadow:0 0 0 3px var(--auth-input-error-shadow)}.form-input.success{border-color:var(--auth-input-success-border);background:var(--auth-input-success-bg);box-shadow:0 0 0 3px var(--auth-input-success-shadow)}.form-error{color:var(--auth-error-text);font-size:.8rem;margin-top:.5rem;display:none;font-weight:500}.form-error.show{display:block;animation:fadeInUp .3s ease}.error-message{background:var(--auth-error-message-bg);border:1px solid var(--auth-error-message-border);color:var(--auth-error-text);padding:1rem;border-radius:var(--radius-md, .75rem);margin-bottom:1rem;font-size:.9rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.success-message{background:var(--auth-success-message-bg);border:1px solid var(--auth-success-message-border);color:var(--success);padding:1rem;border-radius:var(--radius-md, .75rem);margin-bottom:1rem;font-size:.9rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .3s var(--animation-smooth, ease),transform .3s var(--animation-smooth, ease)}.forgot-password-section{text-align:center;margin-top:1rem;margin-bottom:.5rem}.forgot-password-link{color:var(--accent-primary);text-decoration:none;font-size:.9rem;font-weight:500;transition:all .3s var(--animation-smooth, ease);position:relative;display:inline-block;padding:.5rem 1rem;border-radius:var(--radius-sm, .5rem);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.forgot-password-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:1px;background:var(--accent-primary);transition:all .3s var(--animation-smooth, ease);transform:translate(-50%)}.forgot-password-link:hover{color:var(--accent-secondary);background:var(--glass-bg-hover, rgba(255, 255, 255, .1));transform:translateY(-1px)}.forgot-password-link:hover:after{width:80%}.forgot-password-link:active{transform:translateY(0)}.auth-button{width:100%;background:var(--auth-button-gradient);color:var(--auth-button-text);border:none;padding:1rem 1.5rem;border-radius:var(--radius-md, .75rem);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s var(--animation-smooth, ease);position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px var(--auth-button-shadow-primary),0 2px 8px var(--auth-button-shadow-secondary);overflow:hidden;min-height:52px;display:flex;align-items:center;justify-content:center}.auth-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--auth-button-shimmer);transition:left .6s ease}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px var(--auth-button-hover-shadow-primary),0 4px 15px var(--auth-button-hover-shadow-secondary);background:var(--auth-button-hover-gradient)}.auth-button:hover:not(:disabled):before{left:100%}.auth-button:active{transform:translateY(-1px)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.auth-button .loading-dots{display:none;gap:4px;align-items:center;justify-content:center}.auth-button .loading-dots .dot{width:6px;height:6px;border-radius:50%;background:var(--auth-loading-dot-bg);animation:authDotBounce 1.4s infinite ease-in-out both}.auth-button .loading-dots .dot:nth-child(1){animation-delay:-.32s}.auth-button .loading-dots .dot:nth-child(2){animation-delay:-.16s}.auth-button .loading-dots .dot:nth-child(3){animation-delay:0s}.auth-button.loading{color:transparent;cursor:not-allowed;transform:none;pointer-events:none}.auth-button.loading .loading-dots{display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-close{position:absolute;top:1rem;right:1rem;background:var(--auth-close-button-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--auth-close-button-border);width:36px;height:36px;border-radius:50%;color:var(--auth-close-button-text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .3s var(--animation-smooth, ease);z-index:10}.auth-close:hover{background:var(--auth-close-button-hover-bg);transform:scale(1.1);box-shadow:0 4px 15px var(--auth-close-button-hover-shadow)}.auth-close:active{transform:scale(.95)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-15px);max-height:0}to{opacity:1;transform:translateY(0);max-height:200px}}@keyframes authDotBounce{0%,80%,to{transform:scale(.8) translateY(0);opacity:.7}40%{transform:scale(1.2) translateY(-4px);opacity:1}}@keyframes gradientShift{0%,to{transform:translate(0) translateY(0)}25%{transform:translate(5px) translateY(-5px)}50%{transform:translate(-5px) translateY(5px)}75%{transform:translate(-5px) translateY(-5px)}}@keyframes gradientWave{0%{background-position:0% 50%}25%{background-position:100% 0%}50%{background-position:100% 100%}75%{background-position:0% 100%}to{background-position:0% 50%}}@media (max-width: 640px){.auth-container{width:95vw;max-width:480px;max-height:90vh;margin:2.5rem auto;border-radius:var(--radius-md, 1rem);box-shadow:0 8px 32px var(--shadow, rgba(0, 0, 0, .18))}.auth-header,.auth-body{padding:1.5rem}.auth-logo{font-size:1.8rem}.auth-subtitle{font-size:.9rem}.form-input{padding:.875rem 1rem}.auth-button{padding:.875rem 1.25rem}}@media (max-width: 480px){.auth-container{width:95vw;max-width:360px;max-height:90vh;margin:2.5rem auto;border-radius:var(--radius-md, 1rem);box-shadow:0 8px 32px var(--shadow, rgba(0, 0, 0, .18))}.auth-header{border-radius:var(--radius-md, 1rem) var(--radius-md, 1rem) 0 0}}.dark-mode .auth-container,body:not(.light-mode) .auth-container{background:var(--depth-surface, rgba(42, 45, 56, .95));border-color:var(--glass-border, rgba(255, 255, 255, .12))}.dark-mode .auth-body,body:not(.light-mode) .auth-body{background:var(--depth-surface, rgba(42, 45, 56, .9))}.dark-mode .auth-tabs,body:not(.light-mode) .auth-tabs{background:var(--auth-tabs-bg);border-color:var(--auth-tabs-border)}.dark-mode .auth-tab.active,body:not(.light-mode) .auth-tab.active{background:var(--auth-tab-active-bg)}.dark-mode .form-input,body:not(.light-mode) .form-input{background:var(--auth-input-bg);border-color:var(--auth-input-border);color:var(--text-primary)}.dark-mode .form-input:focus,body:not(.light-mode) .form-input:focus{background:var(--auth-input-focus-bg);border-color:var(--auth-input-focus-border)}.dark-mode .form-label,body:not(.light-mode) .form-label{color:var(--text-primary)}.dark-mode .university-info,body:not(.light-mode) .university-info{background:var(--auth-university-info-bg);border-color:var(--auth-university-info-border)}.dark-mode .university-name,body:not(.light-mode) .university-name{color:var(--auth-university-name-text)}.light-mode .auth-container,body:not(.dark-mode) .auth-container{background:var(--glass-bg, rgba(255, 255, 255, .85));border-color:var(--glass-border)}@media (prefers-contrast: high){.auth-container{border:var(--auth-high-contrast-border)!important}.form-input{border-width:2px!important}.auth-button{border:var(--auth-high-contrast-button-border)!important}}@media (prefers-reduced-motion: reduce){.auth-container,.auth-form,.university-info,.form-error{animation:none!important;transition:none!important}.auth-button:hover{transform:none!important}.loading-dots .dot{animation:none!important}.auth-header{animation:none!important;background:linear-gradient(-45deg,#581c8759,#9333ea4d,#7e22ce40,#a855f733,#c4b5fd26,#e9d5ff1a,#4f46e540)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes waveGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent-primary);animation:spin 1s ease-in-out infinite}.fade-in{animation:fadeIn .3s ease-out}.slide-down{animation:slideDown .3s ease-out}.hover-lift:hover{transform:translateY(-2px);transition:transform .2s ease}.hover-scale:hover{transform:scale(1.02);transition:transform .2s ease}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:var(--btn-ripple-bg);transform:translate(-50%,-50%);transition:width .6s,height .6s;pointer-events:none}.btn-ripple:active:before{width:300px;height:300px}.smooth-all{transition:all .3s var(--animation-smooth)}.smooth-transform{transition:transform .3s var(--animation-spring)}.smooth-colors{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.card-hover-effect:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);transition:all .3s var(--animation-spring)}.modal-fade-in{animation:fadeIn .2s ease-out}.modal-fade-out{animation:fadeIn .2s ease-out reverse}.notification-enter{animation:slideDown .3s ease-out}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--vh-full: 100dvh;--vw-full: 100dvw;--vh-small: 100svh;--vh-large: 100lvh;--text-fluid-xs: clamp(.75rem, 1.5vw, .875rem);--text-fluid-sm: clamp(.875rem, 2vw, 1rem);--text-fluid-base: clamp(1rem, 2.5vw, 1.125rem);--text-fluid-lg: clamp(1.125rem, 3vw, 1.25rem);--text-fluid-xl: clamp(1.25rem, 3.5vw, 1.5rem);--text-fluid-2xl: clamp(1.5rem, 4vw, 2rem);--text-fluid-3xl: clamp(2rem, 5vw, 2.5rem);--touch-target-min: 44px;--touch-target-comfortable: 48px;--touch-padding: clamp(12px, 3vw, 16px);--container-fluid: clamp(320px, 100vw, 2000px);--content-max-width: clamp(320px, 95vw, 1400px)}@supports (-webkit-touch-callout: none){input:not([type]),input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=week],textarea,select{font-size:max(16px,1em)}}.app,body{min-height:var(--vh-full);min-height:100dvh}@supports (container-type: inline-size){.schedule-container{container-type:inline-size}@container (max-width: 500px){.schedule-grid{font-size:var(--text-fluid-xs)}}@container (min-width: 800px){.schedule-grid{font-size:var(--text-fluid-sm)}}}h1{font-size:var(--text-fluid-3xl)}h2{font-size:var(--text-fluid-2xl)}h3{font-size:var(--text-fluid-xl)}h4{font-size:var(--text-fluid-lg)}p,li{font-size:var(--text-fluid-base)}small,.text-small{font-size:var(--text-fluid-xs)}.delete-btn,button[data-delete-user-id]{background:var(--button-off-red)!important;border-color:var(--button-off-red)!important;color:#fff!important;transition:all .3s ease!important;border-radius:var(--radius-sm, 6px)!important;font-weight:500!important;padding:6px 12px!important}.delete-btn:hover,button[data-delete-user-id]:hover{background:var(--button-off-red-hover)!important;border-color:var(--button-off-red-hover)!important;transform:translateY(-1px)!important;box-shadow:0 2px 8px var(--button-off-red-shadow)!important}.light-mode .delete-btn,.light-mode body:not(.dark-mode) .delete-btn,#compare,.compare-button,button[id*=compare]{background:var(--button-off-red)!important;border-color:var(--button-off-red)!important;color:#fff!important;transition:all .3s var(--animation-smooth, ease)!important;font-weight:600!important;font-size:var(--text-fluid-sm)!important;padding:var(--touch-padding) calc(var(--touch-padding) * 1.5)!important;border-radius:var(--radius-md, 8px)!important;border:2px solid transparent!important;position:relative!important;overflow:hidden!important}#compare:hover,.compare-button:hover,button[id*=compare]:hover{background:var(--button-off-red-hover)!important;border-color:var(--button-off-red-hover)!important;transform:translateY(-1px);box-shadow:0 4px 12px var(--button-off-red-shadow)!important}#compare.active,.compare-button.active,button[id*=compare].active{background:var(--button-on-green)!important;border-color:var(--button-on-green)!important;color:#fff!important}#compare.active:hover,.compare-button.active:hover,button[id*=compare].active:hover{background:var(--button-on-green-hover)!important;border-color:var(--button-on-green-hover)!important;box-shadow:0 4px 12px var(--button-on-green-shadow)!important}#togglePinModeBtn,.pin-mode-button,button[id*=pin]{background:var(--button-off-red)!important;border-color:var(--button-off-red)!important;color:#fff!important;transition:all .3s var(--animation-smooth, ease)!important;font-weight:600!important;font-size:var(--text-fluid-sm)!important;padding:var(--touch-padding) calc(var(--touch-padding) * 1.5)!important;border-radius:var(--radius-md, 8px)!important;border:2px solid transparent!important;position:relative!important;overflow:hidden!important}#togglePinModeBtn:hover,.pin-mode-button:hover,button[id*=pin]:hover{background:var(--button-off-red-hover)!important;border-color:var(--button-off-red-hover)!important;transform:translateY(-1px);box-shadow:0 4px 12px var(--button-off-red-shadow)!important}#togglePinModeBtn.pin-mode-active,.pin-mode-button.pin-mode-active,button[id*=pin].pin-mode-active{background:var(--button-on-green)!important;border-color:var(--button-on-green)!important;color:#fff!important}#togglePinModeBtn.pin-mode-active:hover,.pin-mode-button.pin-mode-active:hover,button[id*=pin].pin-mode-active:hover{background:var(--button-on-green-hover)!important;border-color:var(--button-on-green-hover)!important;box-shadow:0 4px 12px var(--button-on-green-shadow)!important}#compare:disabled,#togglePinModeBtn:disabled,.compare-button:disabled,.pin-mode-button:disabled{background:var(--text-tertiary)!important;border-color:var(--text-tertiary)!important;color:var(--text-secondary)!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important;opacity:.6!important}.light-mode #compare,.light-mode .compare-button,body:not(.dark-mode) #compare,body:not(.dark-mode) .compare-button{background:var(--button-off-red)!important;border-color:var(--button-off-red)!important}.light-mode #togglePinModeBtn,.light-mode .pin-mode-button,body:not(.dark-mode) #togglePinModeBtn,body:not(.dark-mode) .pin-mode-button{background:var(--button-off-red)!important;border-color:var(--button-off-red)!important}.light-mode #compare.active,.light-mode .compare-button.active,body:not(.dark-mode) #compare.active,body:not(.dark-mode) .compare-button.active{background:var(--button-on-green)!important;border-color:var(--button-on-green)!important}.light-mode #togglePinModeBtn.pin-mode-active,.light-mode .pin-mode-button.pin-mode-active,body:not(.dark-mode) #togglePinModeBtn.pin-mode-active,body:not(.dark-mode) .pin-mode-button.pin-mode-active{background:var(--button-on-green)!important;border-color:var(--button-on-green)!important}#compare:before,#togglePinModeBtn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--glass-card-mobile-highlight),transparent);transition:left .6s ease}#compare:hover:before,#togglePinModeBtn:hover:before{left:100%}@media (min-width: 2000px){.app{max-width:var(--container-fluid);margin:0 auto;padding:0 clamp(2rem,5vw,8rem)}.main-content{display:flex;flex-direction:column;max-width:2000px;margin:0 auto;padding:3rem 4rem}.content-grid{max-width:1600px;margin:0 auto}}.schedule-grid,.glass-card,button{transform:translateZ(0);will-change:transform}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.app{background:#fff!important;color:#000!important;max-width:none!important;padding:0!important}.schedule-grid{font-size:10px!important;break-inside:avoid}.btn,button,.controls-panel,.menu-toggle{display:none!important}.schedule-container{page-break-inside:avoid;margin-bottom:1rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}:focus-visible{transition:outline .1s ease}}.text-content{margin-inline:auto;padding-inline:var(--space-md);text-align:start}.schedule-grid{border-inline-start:1px solid var(--border);margin-inline-end:var(--space-sm)}@supports (display: subgrid){.schedule-grid{display:subgrid;grid-template-rows:subgrid}}.hide-mobile{display:none}.hide-tablet,.hide-desktop{display:block}@media (min-width: 768px){.hide-mobile{display:block}.hide-tablet{display:none}.hide-desktop{display:block}}@media (min-width: 1024px){.hide-mobile,.hide-tablet{display:block}.hide-desktop{display:none}}.text-center-mobile,.text-left-tablet,.text-left-desktop{text-align:center}@media (min-width: 768px){.text-center-mobile,.text-left-tablet,.text-left-desktop{text-align:left}}@media (min-width: 1024px){.text-center-mobile,.text-left-tablet,.text-left-desktop{text-align:left}}.schedule-table .day-label,.schedule-table .time-header{font-size:.6rem}@media (max-width: 500px){.schedule-table .day-label,.schedule-table .time-header{font-size:.5rem}}@media (min-width: 768px){.schedule-table .day-label,.schedule-table .time-header{font-size:.55rem}}@media (min-width: 1024px){.schedule-table .day-label,.schedule-table .time-header{font-size:.6rem}}@media (max-width: 768px){.time-header{font-size:.75rem!important;padding:.5rem .25rem!important}}@media (max-width: 480px){.time-header{font-size:.6rem!important;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;padding:.2rem .1rem!important}}.schedule-header{display:flex;align-items:center;justify-content:space-between}.schedule-controls-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:none;background:linear-gradient(135deg,#ffffff0f,#ffffff05);color:var(--text-secondary);border-radius:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border:1.5px solid rgba(255,255,255,.08);box-shadow:0 2px 8px #00000014,inset 0 1px 1px #ffffff1a;-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative;overflow:hidden}.schedule-controls-toggle:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.08) 0%,transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}.schedule-controls-toggle .toggle-icon-wrapper{position:relative;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;animation:subtle-pulse 2s ease-in-out infinite}@keyframes subtle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.schedule-controls-toggle:hover .toggle-icon-wrapper,.schedule-controls-toggle[aria-expanded=true] .toggle-icon-wrapper{animation:none}.schedule-controls-toggle .icon-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.7) translateY(4px) rotate(-8deg);width:22px;height:22px;opacity:0;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.68,-.55,.265,1.55);pointer-events:none;stroke-width:2.5;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.schedule-controls-toggle .icon-state.icon-closed{opacity:1;transform:translate(-50%,-50%) scale(1) translateY(0) rotate(0)}.schedule-controls-toggle[aria-expanded=true] .icon-state.icon-closed{opacity:0;transform:translate(-50%,-50%) scale(.4) translateY(-8px) rotate(20deg)}.schedule-controls-toggle[aria-expanded=true] .icon-state.icon-open{opacity:1;transform:translate(-50%,-50%) scale(1) translateY(0) rotate(0)}.schedule-controls-toggle .icon-state.icon-open{opacity:0;transform:translate(-50%,-50%) scale(.4) translateY(8px) rotate(-15deg)}.schedule-controls-toggle[aria-expanded=true] i{transform:rotate(180deg)}.schedule-controls-toggle:hover{background:linear-gradient(135deg,#667eea1f,#667eea0f);color:var(--accent-primary);border-color:#667eea4d;box-shadow:0 4px 20px #667eea40,0 2px 8px #0000001a,inset 0 1px 1px #ffffff26;transform:translateY(-1px) scale(1.02)}.schedule-controls-toggle:hover:before{opacity:1}.schedule-controls-toggle:active{transform:translateY(0) scale(.96);box-shadow:0 2px 8px #667eea33,inset 0 1px 2px #00000026}.schedule-controls-toggle[aria-expanded=true]{background:linear-gradient(135deg,#667eea2e,#667eea1a);border-color:#667eea66;box-shadow:0 4px 16px #667eea4d,0 2px 8px #0000001a,inset 0 1px 1px #ffffff26;color:var(--accent-primary)}.schedule-controls-toggle[aria-expanded=true]:before{opacity:1}.schedule-controls-toggle[aria-expanded=false]{box-shadow:0 2px 8px #00000014,inset 0 1px 1px #ffffff1a}.schedule-controls-toggle[aria-expanded=false]:before{opacity:0}.schedule-controls-toggle:focus-visible{outline:none;border-color:var(--accent-primary);box-shadow:0 4px 24px #667eea80,0 0 0 3px #667eea40,inset 0 1px 1px #fff3}.schedule-controls-toggle:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle,rgba(102,126,234,.3) 0%,transparent 70%);opacity:0;transform:scale(0);transition:opacity .6s ease,transform .6s ease;pointer-events:none}.schedule-controls-toggle:active:after{opacity:1;transform:scale(1);transition:opacity 0s,transform 0s}body:not(.dark-mode) .schedule-controls-toggle{background:linear-gradient(135deg,#ffffffe6,#f8fafcd9);border-color:#667eea26;box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a,inset 0 1px #fffc;color:var(--text-secondary)}body:not(.dark-mode) .schedule-controls-toggle:before{background:radial-gradient(circle at 50% 0%,rgba(102,126,234,.06) 0%,transparent 70%)}body:not(.dark-mode) .schedule-controls-toggle:hover{background:linear-gradient(135deg,#667eea14,#667eea0a);border-color:#667eea4d;box-shadow:0 4px 16px #667eea33,0 2px 8px #00000014,inset 0 1px #ffffffe6}body:not(.dark-mode) .schedule-controls-toggle[aria-expanded=true]{background:linear-gradient(135deg,#667eea1f,#667eea14);border-color:#667eea59;box-shadow:0 4px 16px #667eea40,0 2px 8px #00000014,inset 0 1px #ffffffb3}body:not(.dark-mode) .schedule-controls-toggle .icon-state{filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}.schedule-controls-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:1rem;flex-shrink:0;box-shadow:0 2px 8px #0000000f,inset 0 1px #ffffff0d;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);transform-origin:top}.view-mode-toggle,.schedule-actions-group{display:flex;gap:.375rem}.view-mode-toggle{order:0}.schedule-actions-group{order:1;margin-left:auto}.view-mode-toggle{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.25rem;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.control-btn{--_btn-height: var(--schedule-btn-height, 36px);--_btn-h-pad: .75rem;--_btn-v-pad: .5rem;padding:var(--_btn-v-pad) var(--_btn-h-pad);height:var(--_btn-height);min-height:var(--_btn-height);line-height:1;background:#ffffff0d;color:var(--text-secondary);font-size:.8rem;font-weight:500;border-radius:8px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;gap:.375rem;white-space:nowrap;flex:0 0 auto;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.control-btn i{font-size:.875rem;transition:transform .2s ease}.control-btn .btn-text{font-size:.8rem;font-weight:500}.control-btn .btn-text-mobile{display:none;font-size:.8rem;font-weight:500}@media (max-width: 48em){.schedule-controls-toggle{display:flex!important}.schedule-controls-bar{max-height:0;opacity:0;margin-bottom:0;padding:0 .75rem;transform:scaleY(0);visibility:hidden;pointer-events:none}.schedule-controls-bar.expanded{max-height:200px;opacity:1;margin-bottom:1rem;padding:.75rem;transform:scaleY(1);visibility:visible;pointer-events:auto}.schedule-controls-bar{transition:all .4s cubic-bezier(.4,0,.2,1),max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,transform .4s cubic-bezier(.68,-.55,.265,1.55)}@media (max-width: 26em){.schedule-controls-bar.expanded{flex-direction:row;flex-wrap:nowrap;gap:.5rem;max-height:140px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.schedule-controls-bar.expanded::-webkit-scrollbar{height:4px}.schedule-controls-bar.expanded::-webkit-scrollbar-track{background:transparent}.schedule-controls-bar.expanded::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:4px}.schedule-controls-bar:not(.expanded){max-height:0!important;padding-top:0!important;padding-bottom:0!important;border-width:0!important}.view-mode-toggle,.schedule-actions-group{flex:0 0 auto;width:auto}.schedule-actions-group{flex-wrap:nowrap!important}.schedule-actions-group .control-btn,.view-mode-toggle .control-btn{flex:0 0 auto}.schedule-controls-bar.expanded{--schedule-btn-height: 44px}.schedule-controls-bar.expanded .control-btn{padding:.5rem .55rem}.schedule-controls-bar.expanded .control-btn .btn-text-mobile{font-size:.7rem}}}@media (max-width: 20.625em){.schedule-controls-bar.expanded{--schedule-btn-height: 44px}.schedule-controls-bar.expanded .control-btn{--_btn-h-pad: .5rem;font-size:.7rem}}.schedule-controls-bar #addNewTimeSlotBtn.control-btn,.schedule-controls-bar .control-btn.add-slot-btn{--_btn-h-pad: 1rem;padding:var(--_btn-v-pad) var(--_btn-h-pad)!important}.schedule-controls-bar .control-btn,.schedule-controls-bar .control-btn.pin-btn,.schedule-controls-bar .control-btn.add-slot-btn{box-sizing:border-box;align-items:center;display:inline-flex}.schedule-controls-bar .control-btn.pin-btn{padding:var(--_btn-v-pad) var(--_btn-h-pad)!important;height:var(--_btn-height)!important;min-height:var(--_btn-height)!important;line-height:1!important}@media (max-width: 26em){.schedule-controls-bar.expanded .control-btn.pin-btn{height:var(--_btn-height)!important}}@media (max-width: 48em){.control-btn .btn-text{display:none}.control-btn .btn-text-mobile{display:block}.control-btn.pin-btn .btn-text-mobile{display:none}.schedule-controls-bar{--schedule-btn-height: 44px}.control-btn{--_btn-h-pad: .625rem}}@media (min-width: 48em){.schedule-controls-bar{--schedule-btn-height: 44px}.control-btn{--_btn-h-pad: 1rem;padding:.625rem var(--_btn-h-pad)}.schedule-controls-bar{transition:all .4s cubic-bezier(.4,0,.2,1),max-height .4s cubic-bezier(.4,0,.2,1);transform-origin:top}.schedule-controls-bar:not(.expanded){max-height:0;opacity:0;visibility:hidden;transform:scaleY(0);padding-top:0;padding-bottom:0;margin-bottom:0;pointer-events:none}}@media (min-width: 64em){.schedule-controls-bar{display:flex}.schedule-actions-group{order:1}.view-mode-toggle{order:2;margin-right:auto}}.control-btn.view-mode-btn.active{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;border-color:transparent;box-shadow:0 2px 8px #667eea4d;transform:translateY(-1px)}.control-btn:hover:not(.active):not(:disabled){background:#ffffff14;color:var(--text-primary);border-color:#ffffff26;transform:translateY(-1px)}.control-btn:active{transform:translateY(0)}.control-btn.add-slot-btn{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;border-color:transparent;box-shadow:0 2px 6px #667eea40}.control-btn.add-slot-btn:hover{box-shadow:0 4px 12px #667eea59;transform:translateY(-2px)}.control-btn.add-slot-btn i{transform:none}.control-btn.add-slot-btn:hover i{transform:rotate(90deg) scale(1.1)}.control-btn.pin-btn{height:var(--_btn-height);min-height:var(--_btn_height)}.control-btn.pin-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.control-btn.pin-btn:disabled:hover{background:#ffffff0d;transform:none;border-color:#ffffff14}.day-selector-container{margin-bottom:var( --space-lg );padding:var(--space-sm) 0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;position:relative;background:#ffffff05;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.05)}.day-selector-container::-webkit-scrollbar{height:2px}.day-selector-container::-webkit-scrollbar-track{background:transparent}.day-selector-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:1px}.day-selector{display:flex;gap:.625rem;justify-content:space-evenly;padding:0 var(--space-md);min-width:max-content}.day-btn{flex:0 0 auto;width:3rem;min-width:3rem;height:2.625rem;border:1px solid var(--day-selector-border);background:#ffffff0d;color:var(--day-inactive-text);--day-btn-radius: 10px;border-radius:var(--day-btn-radius);cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease,border-color .25s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:500;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #00000040,inset 0 1px #ffffff0d;opacity:.65}.day-btn.active{background:var(--accent-primary);color:#fff;transform:translateY(-2px) scale(1.04);box-shadow:0 4px 12px #00000059,0 0 0 1px #ffffff14 inset;border-color:var(--accent-primary);opacity:1;border-radius:var( --day-btn-radius )}.day-btn.today:before{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;background:var(--day-today-indicator);border-radius:50%;box-shadow:0 0 8px var(--day-today-indicator)}.day-btn:hover:not(.active){background:#ffffff14;transform:translateY(-2px);opacity:.85}.day-abbreviation{font-size:clamp(.7rem,2vw,.8rem);font-weight:700;letter-spacing:.5px;text-transform:uppercase}.day-date{font-size:clamp(.85rem,2.5vw,.95rem);font-weight:600;opacity:.9}.schedule-section .schedule-day-view{display:none!important}.schedule-section .schedule-day-view.active{display:flex!important;flex-direction:column;flex:1;min-height:0;animation:slideIn var(--view-transition-duration) var(--view-transition-easing)}.schedule-section .schedule-grid-view{display:none!important}.schedule-section .schedule-grid-view.active{display:block!important;animation:slideIn var(--view-transition-duration) var(--view-transition-easing)}.schedule-section .day-selector-container{display:none}.schedule-section .day-selector-container.show{display:block;flex-shrink:0}.day-view-container{display:flex;flex-direction:column;gap:.25rem;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;padding:0;margin:0;background:transparent;border-radius:0;border:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior:contain;position:relative;contain:layout style;touch-action:pan-y}.day-view-container::-webkit-scrollbar{width:0px;height:0px}.day-time-slot{display:flex;align-items:center;min-height:3.25rem;background:var(--day-slot-bg);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:.75rem 1rem;cursor:pointer;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:relative;overflow:hidden;margin-bottom:.5rem;box-shadow:0 2px 4px #00000047;flex-shrink:0;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.day-time-slot:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--accent-primary)}.day-time-slot.busy{background:var(--day-slot-busy-bg);color:var(--day-slot-busy-text);border-color:#ffffff2e}body.dark-mode .day-time-slot.busy{background:var(--accent-primary)!important;color:#fff!important;border-color:var(--accent-primary)!important}.day-time-slot.free{background:#ffffff08;border-color:#ffffff24;border-style:solid;opacity:.7}.slot-time{min-width:5rem;font-size:.75rem;font-weight:600;color:var(--text-primary);letter-spacing:.3px;background:#ffffff17;padding:.25rem .5rem;border-radius:12px;text-align:center;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 1px 3px #00000040,inset 0 1px #ffffff26;transition:background .25s ease,color .25s ease,border-color .25s ease;align-self:center;white-space:nowrap;line-height:1.2}.day-time-slot.busy .slot-time{color:#fffffff2;background:#ffffff1f;border-color:#ffffff40;box-shadow:0 2px 12px #00000026,inset 0 1px #ffffff26}.slot-content{flex:1;margin-left:.75rem;display:flex;flex-direction:column;gap:2px;justify-content:center}.slot-course-code{font-size:1rem;font-weight:600;letter-spacing:.25px;line-height:1.15}.slot-classroom{font-size:.75rem;opacity:.7;font-weight:500;color:var(--text-secondary)}.slot-free-text{font-size:.8rem;color:var(--text-secondary);font-style:italic;font-weight:500;opacity:.75}.schedule-controls-ellipsis{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;border-radius:10px;font-size:1.35rem;line-height:1;padding:0;cursor:pointer;transition:background .25s ease,transform .25s ease,border-color .25s ease}.schedule-controls-ellipsis .ellipsis-dots{transform:translateY(-2px);letter-spacing:1px}.schedule-controls-ellipsis:hover{background:#ffffff1a;transform:translateY(-2px)}.schedule-controls-ellipsis:active{transform:translateY(0)}.schedule-controls-ellipsis[aria-expanded=true]{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.day-time-slot.busy .slot-course-code{color:#fff}.day-time-slot.busy .slot-classroom{color:#ffffffb3}.schedule-section{background:#00000040;border:1px solid rgba(255,255,255,.06)}.day-time-slot.compare-mode{cursor:default}.day-time-slot.compare-mode:hover{transform:none;box-shadow:var(--shadow-sm)}.day-time-slot.compare-mode{--avatar-size: clamp(24px, 4vw, 32px);--avatar-border-width: 2px;--avatar-spacing: 6px}.day-time-slot.compare-mode .slot-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.slot-comparison-status{min-width:unset;flex-shrink:0;text-align:center}.slot-comparison-status.all-free{color:var(--success)}.slot-comparison-status.all-busy{color:var(--error)}.slot-comparison-status.mixed-availability{color:var(--warning)}.comparison-indicator{display:flex;align-items:center;gap:var(--space-xs)}.comparison-text{font-weight:600;font-size:.9rem}.slot-avatar-container{flex:1;display:flex;align-items:center;gap:var(--avatar-spacing);padding:var(--space-xs) 0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;justify-content:flex-end}.day-time-slot.compare-mode .slot-avatar-container{flex:0 1 auto;width:auto;max-width:90%;justify-content:center;align-self:center;margin-inline:auto;flex-wrap:nowrap;white-space:nowrap;padding:calc(var(--space-xs) + 2px) var(--space-sm);background:linear-gradient(135deg,#ffffff1a,#ffffff0f);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:9999px;box-shadow:0 4px 14px #0000002e,inset 0 1px #ffffff1f;overflow-y:hidden;animation:pill-enter .12s ease-out;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;will-change:transform,opacity}.slot-avatar-container::-webkit-scrollbar{display:none}.day-time-slot.compare-mode.all-free .slot-avatar-container{background:linear-gradient(135deg,#22c55e1a,#22c55e0f);border-color:#22c55e40}.day-time-slot.compare-mode.all-busy .slot-avatar-container{background:linear-gradient(135deg,#dc26261a,#dc26260f);border-color:#dc262640}.day-time-slot.compare-mode.mixed-availability .slot-avatar-container{background:linear-gradient(135deg,#f973161a,#f973160f);border-color:#f9731640}.friend-avatar{flex-shrink:0;width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;border:var(--avatar-border-width) solid var(--accent-primary);position:relative;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease,border-color .14s ease,filter .14s ease;animation:avatar-fade-in .14s ease-out}.friend-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.friend-avatar:hover{transform:scale(1.1);box-shadow:0 0 12px #7c4dff66}.friend-avatar.user-avatar{border-color:var(--day-today-indicator);box-shadow:0 0 8px #4ade804d}.friend-avatar.free{border-color:var(--success);box-shadow:0 0 8px #4ade8066}.friend-avatar.free:hover{box-shadow:0 0 12px #4ade8099}.friend-avatar.busy{border-color:var(--error);box-shadow:0 0 8px #ef444466;opacity:.7}.friend-avatar.busy:hover{box-shadow:0 0 12px #ef444499;opacity:.9}.friend-avatar.busy img{filter:grayscale(30%)}.friend-avatar.unavailable{border-color:var(--text-disabled);box-shadow:0 0 6px #6b728040;opacity:.45}.friend-avatar.unavailable img{filter:grayscale(80%) contrast(.85)}.friend-avatar:hover .avatar-label{opacity:1;color:var(--text-primary)}.day-time-slot.compare-mode .friend-avatar .avatar-label{display:none}.avatar-overflow{flex-shrink:0;width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;background:var(--surface);border:var(--avatar-border-width) solid var(--accent-secondary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--text-primary);cursor:pointer}.empty-slot-message{color:var(--text-secondary);font-size:.875rem;font-style:italic;opacity:.7}@keyframes avatar-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pill-enter{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.day-time-slot.compare-mode.all-free{background:linear-gradient(135deg,#4ade801f,#22c55e14);border-color:#4ade804d;box-shadow:0 4px 12px #4ade801a,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.day-time-slot.compare-mode.all-busy{background:linear-gradient(135deg,#ef44441f,#dc262614);border-color:#ef44444d;box-shadow:0 4px 12px #ef44441a,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.day-time-slot.compare-mode.mixed-availability{background:linear-gradient(135deg,#fb923c1f,#f9731614);border-color:#fb923c4d;box-shadow:0 4px 12px #fb923c1a,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.schedule-section .schedule-grid-view .schedule-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.schedule-section .schedule-grid-view .schedule-table{min-width:800px}.schedule-section .schedule-grid-view .schedule-table td,.schedule-section .schedule-grid-view .schedule-table th{min-width:100px;padding:8px 6px;font-size:.8rem}.schedule-section .schedule-grid-view .slot{min-height:50px}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes avatarSlideIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.friend-avatar{animation:avatarSlideIn .3s ease}@media (max-width: 25em){.day-time-slot{min-height:2.25rem;padding:.4rem .6rem;margin-bottom:.25rem}.slot-time{padding:.25rem .375rem;min-width:4.75rem;font-size:.65rem;letter-spacing:.2px}.slot-content{margin-left:.5rem;gap:1px}.slot-course-code{font-size:.8rem;line-height:1.05}.slot-classroom{font-size:.65rem}}@media (min-width: 30em){.schedule-view-controls{margin-bottom:var(--space-md)}.view-mode-btn{min-width:4.5rem;font-size:.875rem}.day-time-slot{min-height:2.75rem;padding:.625rem .75rem}}@media (min-width: 48em){.schedule-view-controls{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.view-mode-toggle{margin-bottom:0}.day-selector-container{gap:var(--space-md);-webkit-overflow-scrolling:touch}.day-selector-btn{min-width:4rem;padding:var(--space-md) var(--space-lg)}.day-time-slot{min-height:4.5rem;padding:var(--space-md) var(--space-lg)}}@media (min-width: 64em){.schedule-day-view{display:none}.schedule-day-view.active{display:flex!important;flex-direction:column;flex:1;min-height:0}.schedule-grid-view{display:block}.view-mode-toggle{order:2}.day-selector-container{display:none;padding:var(--space-md);gap:var(--space-lg)}.schedule-section.day-view-active .day-selector-container{display:block}.schedule-section.day-view-active .schedule-day-view{display:flex!important;flex-direction:column;flex:1;min-height:0}.schedule-section.day-view-active .schedule-grid-view{display:none}.day-view-container{scrollbar-width:thin;scrollbar-color:var(--accent-primary) transparent}.day-view-container::-webkit-scrollbar{width:6px}.day-view-container::-webkit-scrollbar-track{background:transparent;border-radius:3px}.day-view-container::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:3px}.day-view-container::-webkit-scrollbar-thumb:hover{background:var( --accent-secondary )}.day-time-slot{min-height:5rem;padding:var(--space-lg)}}@media (min-width: 75em){.schedule-view-controls{padding-bottom:var(--space-lg)}.day-time-slot{min-height:5.5rem;padding:var(--space-lg)}}@media (min-width: 100em){.day-time-slot{min-height:6rem;padding:var(--space-xl)}}@media (hover: none) and (pointer: coarse){.day-btn,.day-time-slot,.friend-avatar{-webkit-tap-highlight-color:transparent}.day-time-slot{min-height:calc(var(--day-slot-height) + 10px);transition:transform .1s ease,box-shadow .2s ease}.day-time-slot:active{transform:scale(.98) translateY(0);box-shadow:0 1px 4px #00000026}.friend-avatar:active{transform:scale(.95)}.day-btn:active{transform:translateY(0) scale(1.02)}.day-view-container{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;overscroll-behavior-x:none;scroll-snap-type:none;scroll-padding-top:1rem;scroll-margin-top:1rem;overscroll-behavior:contain}.slot-time{min-height:44px;display:flex;align-items:center;justify-content:center}}@media (prefers-reduced-motion: reduce){.day-time-slot,.friend-avatar,.day-btn,.view-mode-btn{transition:none}.schedule-day-view.active,.schedule-grid-view.active{animation:none}}@media (prefers-contrast: high){.day-time-slot{border-width:2px}.friend-avatar{border-width:3px}.day-btn.active{outline:2px solid var(--accent-primary);outline-offset:2px}}.day-btn:focus-visible,.view-mode-btn:focus-visible,.day-time-slot:focus-visible,.control-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;box-shadow:0 0 0 4px #7c4dff33}@media (max-width: 48em){.schedule-grid-view .schedule-table{min-width:clamp(50rem,90vw,60rem)}.schedule-grid-view .schedule-table .time-header,.schedule-grid-view .schedule-table .time-slot-label{width:clamp(4rem,15vw,5rem);min-width:clamp(4rem,15vw,5rem);max-width:clamp(4rem,15vw,5rem);padding:clamp(.5rem,3vw,.75rem) clamp(.25rem,2vw,.5rem);font-size:clamp(.7rem,2vw,.75rem)}.schedule-grid-view .schedule-table .day-header{padding:clamp(.5rem,3vw,.75rem) clamp(.25rem,1.5vw,.375rem);font-size:clamp(.75rem,2.2vw,.8rem);min-width:clamp(2rem,8vw,2.5rem)}.schedule-grid-view .slot{height:clamp(3rem,12vw,3.5rem);min-height:clamp(3rem,12vw,3.5rem);padding:clamp(.25rem,1vw,.5rem)}.schedule-grid-view .slot-info-display .course-code{font-size:clamp(.65rem,1.8vw,.75rem)}.schedule-grid-view .slot-info-display .classroom-number{font-size:clamp(.55rem,1.5vw,.65rem)}.schedule-grid-view .add-timeslot-btn{padding:clamp(.5rem,2vw,.625rem);font-size:clamp(.875rem,2.5vw,1rem)}}@media (max-width: 30em){.schedule-grid-view .schedule-table{min-width:45rem}.schedule-grid-view .schedule-table .time-header,.schedule-grid-view .schedule-table .time-slot-label{width:3.5rem;min-width:3.5rem;max-width:3.5rem;padding:.5rem .25rem;font-size:.65rem}.schedule-grid-view .schedule-table .day-header{padding:.5rem .125rem;font-size:.7rem;min-width:1.75rem}.schedule-grid-view .slot{height:2.75rem;min-height:2.75rem;padding:.125rem}.schedule-grid-view .slot-info-display .course-code{font-size:.6rem}.schedule-grid-view .slot-info-display .classroom-number{font-size:.5rem}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.day-btn,.view-mode-btn{border-width:.5px}.day-time-slot{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}@media (orientation: landscape) and (max-height: 500px){.day-view-container{max-height:80vh}.schedule-view-controls{margin-bottom:var(--space-md)}.day-selector-container{min-height:calc(3rem + var(--space-sm) * 2)}}@media print{.schedule-view-controls,.day-selector-container{display:none!important}.day-view-container{max-height:none;overflow:visible;box-shadow:none;border:1px solid #ccc}.day-time-slot{break-inside:avoid;box-shadow:none;border:1px solid #ddd}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (forced-colors: active){.day-btn,.view-mode-btn,.day-time-slot{border:2px solid}.day-btn.active,.view-mode-btn.active{background:Highlight;color:HighlightText}}body.page-profile .main-content{padding:.5rem .4rem!important;width:100%!important;max-width:100%!important;margin:0 auto;display:flex!important;flex-direction:column!important}body.page-profile .content-grid{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important;width:100%!important;max-width:100%!important;padding:0!important;gap:0!important}body.page-profile .controls-column,body.page-profile .schedule-column{display:none!important}body.page-profile .schedule-section{grid-column:unset!important;grid-row:unset!important;order:unset!important;display:none!important}body.page-profile .profile-setup-card.glass-card{width:100%!important;max-width:720px!important;margin:0 auto;padding:6px 10px!important;animation:slideUp .4s ease-out;position:relative!important;box-sizing:border-box!important;flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow-y:auto!important}body.page-profile .profile-setup-card.glass-card::-webkit-scrollbar{width:6px}body.page-profile .profile-setup-card.glass-card::-webkit-scrollbar-track{background:transparent;border-radius:3px}body.page-profile .profile-setup-card.glass-card::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:3px;opacity:.7;transition:all .3s ease}body.page-profile .profile-setup-card.glass-card::-webkit-scrollbar-thumb:hover{background:var(--accent-primary);opacity:1;transform:scaleX(1.2)}body.page-profile .profile-setup-card.glass-card{scrollbar-width:thin;scrollbar-color:var(--accent-primary) transparent}.setup-body::-webkit-scrollbar{width:4px}.setup-body::-webkit-scrollbar-track{background:transparent;border-radius:2px}.setup-body::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:2px;opacity:.6;transition:all .3s ease}.setup-body::-webkit-scrollbar-thumb:hover{background:var(--accent-primary);opacity:.9}.setup-body{scrollbar-width:thin;scrollbar-color:var(--accent-primary) transparent}.setup-header{margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--glass-border)}.setup-title-section{text-align:center;margin-bottom:var(--space-lg)}.setup-title{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;background:var(--gradient-title);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:var(--space-sm);line-height:1.2}.setup-progress-container{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-md) 0}.setup-step-info{font-size:.9rem;color:var(--text-secondary);text-align:center;margin-bottom:var(--space-sm)}.setup-step-info .current-step{font-weight:600;color:var(--accent-primary)}.setup-progress{display:flex;gap:var(--space-md);align-items:center}.step-block{width:60px;height:8px;background:var(--surface);border:2px solid var(--glass-border);border-radius:6px;transition:all .4s var(--animation-smooth);position:relative;overflow:hidden;box-shadow:var(--shadow-inset-subtle)}.step-block.active{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border:2px solid var(--accent-primary);box-shadow:0 0 20px var(--step-block-active-shadow),inset 0 1px 0 var(--step-block-active-inset-shadow)}.step-block.completed{background:var(--accent-primary);border:2px solid var(--accent-primary);box-shadow:0 0 10px var(--step-block-completed-shadow),inset 0 1px 0 var(--step-block-completed-inset-shadow)}.step-block.active:after{content:"";position:absolute;inset:0;background:var(--step-block-shimmer);animation:shimmer 2s infinite}.setup-body{flex:1 1 auto;min-height:0;overflow-y:auto}.setup-step{display:none;animation:slideInRight .4s ease-out}.setup-step.active{display:block}.step-header{text-align:center;margin-bottom:var(--space-xl)}.step-icon{font-size:3rem;margin-bottom:var(--space-md);display:block;animation:bounce .6s ease-out .2s both}.step-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.step-description{color:var(--text-secondary);line-height:1.6;max-width:500px;margin:0 auto}#setup-handle-feedback{text-align:center;font-size:.9em}.form-content{max-width:600px;margin:0 auto}.form-group{margin-bottom:var(--space-lg);position:relative}.form-label{display:block;margin-bottom:var(--space-sm);font-weight:500;color:var(--text-primary);font-size:.95rem}.form-label[for*=required]:after,.form-input[required]+.form-label:after{content:" *";color:var(--error);font-weight:600}.char-counter,.char-counter-container{display:flex;justify-content:flex-end;margin-top:var(--space-xs);font-size:.8rem;color:var(--text-tertiary)}#bio-count{font-weight:600;color:var(--text-secondary)}.form-hint{font-size:.8rem;color:var(--text-tertiary);margin-top:var(--space-xs);font-style:italic}.import-help-row{margin-top:var(--space-sm);display:flex;justify-content:flex-end}.import-help-trigger{padding:.5rem 1rem;border-radius:999px;border:none;background:linear-gradient(135deg,#6366f12e,#818cf847);color:var(--text-primary);font-weight:600;font-size:.95rem;cursor:pointer;box-shadow:0 0 #818cf866;transition:box-shadow .3s ease,transform .3s ease;letter-spacing:.02em;animation:helpGlow 2.6s ease-in-out infinite}.import-help-trigger:hover,.import-help-trigger:focus-visible{box-shadow:0 0 15px #818cf88c;transform:translateY(-1px);outline:none}.label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.label-row .import-help-row{margin-top:0!important;display:block;margin-left:auto}@keyframes helpGlow{0%{box-shadow:0 0 #818cf840}50%{box-shadow:0 0 12px 2px #818cf84d}to{box-shadow:0 0 #818cf840}}.schedule-help-overlay{position:fixed;inset:0;z-index:9998;display:none;align-items:center;justify-content:center;padding:clamp(1rem,4vw,2.5rem)}.schedule-help-overlay.active{display:flex}.schedule-help-overlay .schedule-help-backdrop{position:absolute;inset:0;background:#11111b8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.schedule-help-content{position:relative;max-width:min(620px,90vw);width:100%;background:#ffffff1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(129,140,248,.35);border-radius:20px;padding:clamp(1.25rem,3vw,2rem);color:var(--text-primary);box-shadow:0 24px 60px #0f172a73;text-align:center}.schedule-help-content h3{font-size:clamp(1.1rem,2.5vw,1.4rem);margin-bottom:var(--space-sm)}.schedule-help-text{margin-bottom:var(--space-md);color:var(--text-secondary);line-height:1.5}.schedule-help-image{width:100%;border-radius:14px;border:1px solid rgba(148,163,255,.35);box-shadow:0 14px 45px #4f46e547}.schedule-help-content .close-help{position:absolute;top:.75rem;right:.75rem;border:none;background:#ffffff2e;color:var(--text-primary);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:1.25rem;line-height:1;transition:background .2s ease,transform .2s ease}.schedule-help-content .close-help:hover,.schedule-help-content .close-help:focus-visible{background:#ffffff4d;transform:scale(1.05);outline:none}@media (max-width: 640px){.schedule-help-content{border-radius:16px;padding:1.25rem}.schedule-help-text{font-size:.95rem}}.form-input{width:100%;padding:clamp(.6rem,2.5vw,.9rem) clamp(.75rem,3vw,1.1rem);background:var(--input-bg);border:2px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:clamp(1rem,2.4vw,1.1rem);transition:all .3s var(--animation-smooth);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.typeahead-wrapper{position:relative;width:100%}.typeahead-list,.select-dropdown{position:absolute;top:100%;left:0;width:100%;background:var(--depth-elevated);border:1px solid var(--glass-border);border-radius:10px;box-shadow:0 12px 30px #00000040;overflow:hidden;max-height:0;opacity:0;transform:translateY(-4px) scale(.98);transition:all .18s var(--animation-smooth);z-index:999999;will-change:transform,opacity,max-height;-webkit-overflow-scrolling:touch;transform-origin:top center}.typeahead-list.open,.select-dropdown.open{max-height:260px;opacity:1;transform:translateY(0) scale(1);overflow-y:auto}.typeahead-list.open-up,.select-dropdown.open-up{top:auto;bottom:100%;transform-origin:bottom center}.typeahead-item,.select-item{display:flex;align-items:center;gap:10px;justify-content:space-between;width:100%;text-align:left;padding:10px 12px;background:transparent;color:var(--text-primary);border:none;cursor:pointer;font:inherit;-webkit-appearance:none}.typeahead-item:hover,.select-item:hover,.typeahead-item:focus-visible,.select-item:focus-visible{outline:none;background:var(--surface)}.typeahead-code{font-weight:700;color:var(--accent-primary)}.typeahead-name{color:var(--text-secondary);font-size:.92em}.select-item.selected{background:var(--surface);color:var(--text-primary)}.custom-select{position:relative}.custom-select .custom-select-native{position:absolute;inset:0;opacity:0;pointer-events:none}.custom-select-display{display:block;width:100%;text-align:left;position:relative;padding-right:2.2rem}.custom-select-display:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.form-input::placeholder{color:var(--text-tertiary)}.form-input:focus{outline:none;border-color:var(--accent-primary)!important;box-shadow:0 0 0 3px var(--form-input-focus-shadow),0 4px 15px var(--form-input-focus-shadow-strong)!important;background:var(--glass-hover)!important;transform:translateY(-1px)}.form-input[readonly]{background:var(--surface)!important;color:var(--text-secondary)!important;cursor:not-allowed!important;border-color:var(--glass-border)!important;opacity:.8;position:relative}.form-input[readonly]:focus{border-color:var(--glass-border)!important;box-shadow:none!important;background:var(--surface)!important;transform:none!important}.readonly-field{background:linear-gradient(135deg,var(--surface),var(--surface-hover))!important;border-style:dashed!important;position:relative}.readonly-field:before{content:"🔒";position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);color:var(--text-tertiary);font-size:.9rem;pointer-events:none}.form-label[for=setup-email]:after,.form-label[for=setup-student-id]:after{content:" (Auto-filled)";color:var(--text-tertiary);font-weight:400;font-style:italic;font-size:.85rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.setup-step[data-step="0"] .form-row:first-of-type{gap:var(--space-md)}@media (max-width: 480px){.setup-step[data-step="0"] .form-row:first-of-type{gap:var(--space-sm)}}.bio-textarea{min-height:100px;resize:vertical;font-family:inherit;line-height:1.5}.form-input[required]:invalid:after,.form-input[required]:placeholder-shown:after{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:var(--radius-md);background:linear-gradient(var(--error),var(--error)) padding-box,linear-gradient(45deg,transparent 30%,var(--error) 30%,var(--error) 70%,transparent 70%) border-box;pointer-events:none;opacity:.6;animation:pulse-error 2s infinite}.form-input[required]:valid:not(:placeholder-shown):after{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:var(--radius-md);background:linear-gradient(var(--success),var(--success)) padding-box,linear-gradient(45deg,transparent 30%,var(--success) 30%,var(--success) 70%,transparent 70%) border-box;pointer-events:none;opacity:.6}.avatar-selection-section{text-align:center;margin-bottom:var(--space-xl);position:relative;z-index:5}.glass-card:hover .avatar-selection-section{transform:none!important}.avatar-selection-section button,.avatar-selection-section .avatar-edit-button{position:relative;z-index:10;pointer-events:auto!important;transform-style:flat}.glass-card .avatar-selection-section:before,.glass-card .avatar-selection-section:after{pointer-events:none!important}.avatar-selection-section *{pointer-events:auto}.avatar-selection-label{display:block;font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-md)}.avatar-display-container{display:flex;justify-content:center;margin-bottom:var(--space-md)}.avatar-preview-display{width:120px;height:120px;border-radius:50%;background:var(--glass-bg);border:3px solid var(--glass-border);box-shadow:0 4px 12px var(--avatar-shadow),0 2px 6px var(--avatar-shadow-light),inset 0 1px 0 var(--avatar-highlight);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--text-tertiary);overflow:hidden;transition:all .3s var(--animation-smooth);position:relative;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.avatar-preview-display:has(img),.avatar-preview-display.has-image{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.avatar-preview-display:hover{border-color:var(--accent-primary);transform:translateY(-3px) scale(1.02);box-shadow:0 12px 30px var(--avatar-hover-shadow),0 6px 16px var(--avatar-hover-shadow-light),0 2px 8px var(--avatar-shadow-light),inset 0 1px 0 var(--avatar-hover-highlight)}.avatar-preview-display img,.avatar-preview-image{width:100%;height:100%;object-fit:cover;border-radius:50%;transition:transform .3s ease;position:relative;z-index:1;display:block;font-size:0;background-color:transparent}.avatar-preview-display:hover img,.avatar-preview-container:hover .avatar-preview-image{transform:scale(1.02)}.avatar-preview-display img{box-shadow:inset 0 0 0 1px var(--avatar-highlight)}.avatar-edit-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;border-radius:var(--radius-md);transition:all .3s var(--animation-smooth);cursor:pointer;position:relative;z-index:10;pointer-events:auto;transform-origin:center;border:none;outline:none;background:var(--avatar-button-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--avatar-button-border);color:var(--accent-primary);font-weight:600;box-shadow:var(--avatar-button-shadow);overflow:hidden;animation:avatarButtonPulse 3s ease-in-out infinite}.avatar-edit-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--avatar-button-shimmer);transition:left .6s ease}.avatar-edit-button:hover:before{left:100%}.avatar-edit-button:hover{background:var(--avatar-button-bg-hover);border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-2px) scale(1.02);box-shadow:var(--avatar-button-shadow-hover);z-index:11;animation:none}.avatar-edit-button:active{transform:translateY(-1px) scale(.98);box-shadow:var(--avatar-button-shadow-active)}.avatar-edit-button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.upload-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:14px 28px;min-width:120px;min-height:48px;background:var(--surface);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s var(--animation-smooth);margin-bottom:var(--space-sm)}.checkbox-group{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-sm)}.checkbox-item{display:flex;align-items:center;gap:var(--space-md);cursor:pointer;color:var(--text-primary);font-weight:400;transition:color .3s ease}.checkbox-item:hover{color:var(--text-accent)}.checkbox-item input[type=checkbox]{display:none}.checkmark{width:20px;height:20px;border:2px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg);position:relative;transition:all .3s var(--animation-smooth)}.checkbox-item input[type=checkbox]:checked+.checkmark{background:var(--accent-primary);border-color:var(--accent-primary)}.checkbox-item input[type=checkbox]:checked+.checkmark:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700}.setup-navigation{display:flex;gap:var(--space-md);justify-content:space-between;align-items:center;padding-top:var(--space-md);padding-bottom:var(--space-md);border-top:1px solid var(--glass-border);flex-shrink:0}.skip-next-buttons{display:flex;width:100%;gap:1rem;align-items:center;justify-content:space-between!important}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.875rem 1.5rem;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s var(--animation-smooth);position:relative;overflow:hidden;text-decoration:none;min-width:120px;min-height:48px;height:auto}.button.btn-primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;box-shadow:var(--shadow-accent-light)}.button.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-strong);background:linear-gradient(135deg,var(--accent-secondary),var(--accent-primary))}.button.secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--glass-border);box-shadow:0 2px 8px var(--button-secondary-shadow)}.button.secondary:hover{background:var(--surface-hover);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 15px var(--button-secondary-hover-shadow)}.button.muted{background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--glass-border);opacity:.8}.button.muted:hover{background:var(--surface-active);color:var(--text-primary);opacity:1;border-color:var(--accent-primary);transform:translateY(-1px)}.setup-nav-button{min-width:140px;font-weight:600}.button.disabled-state{opacity:.6;cursor:not-allowed;background:var(--surface)!important;color:var(--text-secondary)!important;border-color:var(--glass-border)!important}.button.disabled-state:hover{transform:none!important;box-shadow:none!important}.button.red-glow-pulse{animation:redGlow .8s ease-out}.button .loading-dots{display:none;gap:4px;align-items:center;justify-content:center}.button .loading-dots .dot{width:6px;height:6px;border-radius:50%;background:var(--button-loading-dot-bg, currentColor);animation:profileDotBounce 1.4s infinite ease-in-out both}.button .loading-dots .dot:nth-child(1){animation-delay:-.32s}.button .loading-dots .dot:nth-child(2){animation-delay:-.16s}.button .loading-dots .dot:nth-child(3){animation-delay:0s}.button.loading{color:transparent;cursor:not-allowed;transform:none;pointer-events:none}.button.loading .loading-dots{display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.button.loading .button-text{visibility:hidden}.success-message{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);margin:0 auto;text-align:center;position:relative;overflow:hidden;width:100%;max-width:400px;box-shadow:0 8px 32px var(--shadow);animation:successPulse .6s ease-out;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center}.success-icon{font-size:4.5rem;color:var(--accent-success);margin-bottom:var(--space-lg);animation:bounce 1s ease-out;position:relative;z-index:2}.success-message h3{color:var(--text-primary);text-align:center;margin-bottom:var(--space-md);font-size:1.5rem;font-weight:600;position:relative;z-index:2}.success-message p{color:var(--text-secondary);margin:0;font-size:1.1rem;line-height:1.5;position:relative;z-index:2}.success-animation-overlay{position:absolute;inset:0;background:linear-gradient(45deg,transparent 0%,rgba(var(--success-rgb),.1) 45%,rgba(var(--success-rgb),.2) 50%,rgba(var(--success-rgb),.1) 55%,transparent 100%);animation:shimmer 2s infinite;pointer-events:none;z-index:1}.nav-button.loading{pointer-events:none;position:relative;color:transparent}.nav-button.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid var(--loading-spinner-border);border-top:2px solid var(--loading-spinner-border-top);border-radius:50%;animation:spin 1s linear infinite}.avatar-editor-container{height:100%;display:flex;flex-direction:column;min-height:0;background:transparent;position:relative;z-index:1;flex:1}.avatar-editor-content{flex:1;display:grid;grid-template-columns:300px 1fr;gap:0;min-height:0;overflow:hidden;background:transparent;height:100%}.avatar-preview-section{padding:1rem;background:transparent;border-right:1px solid var(--glass-border);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;width:300px;box-sizing:border-box;gap:1rem}.avatar-preview-container{width:120px;height:120px;border-radius:50%;border:3px solid var(--glass-border);overflow:hidden;background:var(--glass-bg);box-shadow:0 8px 25px var(--avatar-shadow),0 4px 12px var(--avatar-shadow-light),inset 0 1px 0 var(--avatar-highlight);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;margin:0;flex-shrink:0}.avatar-preview-container:hover{transform:scale(1.05);border-color:var(--accent-primary);box-shadow:0 15px 40px var(--avatar-hover-shadow),0 8px 20px var(--avatar-hover-shadow-light),0 4px 12px var(--avatar-shadow-light),inset 0 1px 0 var(--avatar-hover-highlight)}.avatar-preview-label{font-weight:600;color:var(--text-primary);margin:0;font-size:.9rem;text-align:center}.preview-controls{display:flex;flex-direction:column;gap:.5rem;width:100%;margin:0}.randomize-btn{width:100%;padding:.6rem .8rem;border-radius:.75rem;font-weight:600;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem}.randomize-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--avatar-shadow)}.avatar-controls-section{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.controls-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:1.5rem 1rem 1.5rem 2rem;background:transparent;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--accent-primary) transparent;max-height:100%;box-sizing:border-box}.controls-content:before{content:"";position:sticky;top:0;left:0;right:0;height:20px;background:var(--avatar-editor-scroll-indicator-bg);z-index:2;pointer-events:none;margin-bottom:-20px}.controls-content:after{content:"";position:sticky;bottom:0;left:0;right:0;height:20px;background:var(--avatar-editor-scroll-indicator-bg-bottom);z-index:2;pointer-events:none;margin-top:-20px}.controls-content:hover{scrollbar-color:var(--accent-primary) transparent}.controls-content:hover::-webkit-scrollbar-thumb{background:var(--accent-primary)}.control-group{margin-bottom:2rem}.control-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;font-size:1rem}.control-label i{color:var(--accent-primary);font-size:1.1rem}.control-select{width:100%;padding:.75rem 3rem .75rem 1rem;border:1px solid var(--input-border);border-radius:.75rem;background:var(--input-bg);color:var(--text-primary);font-size:1rem;transition:all .3s ease;appearance:none;background-image:var(--control-select-arrow);background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem}.control-select:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--control-select-focus-shadow)}.style-description{margin:.75rem 0 0;color:var(--text-secondary);font-size:.9rem;font-style:italic}.control-divider{border:none;height:1px;background:var(--border);margin:2rem 0}.customization-header{margin-bottom:1.5rem}.customization-header h4{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.avatar-options-container{display:flex;flex-direction:column;gap:1.5rem}.option-group{display:flex;flex-direction:column;gap:.75rem}.option-label{font-weight:600;color:var(--text-primary);font-size:.95rem}.option-select{width:100%;padding:.75rem 1rem;border:1px solid var(--input-border);border-radius:.75rem;background:var(--input-bg);color:var(--text-primary);font-size:.95rem;transition:all .3s ease}.option-select:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--control-select-focus-shadow)}.no-options{text-align:center;color:var(--text-secondary);font-style:italic;padding:2rem;margin:0}.profile-loading-overlay{position:absolute;inset:0;background:var(--profile-loading-overlay-bg);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease;border-radius:1.5rem}.profile-loading-overlay.active{opacity:1;visibility:visible}.profile-loading-content{text-align:center;padding:2rem}.profile-loading-spinner{width:40px;height:40px;border:3px solid var(--surface-hover);border-top:3px solid var(--accent-primary);border-radius:50%;animation:profileSpin 1s linear infinite;margin:0 auto 1rem}.profile-loading-message{color:var(--text-secondary);font-size:.95rem;font-weight:500;margin:0}[data-theme=dark] .profile-loading-overlay{background:var(--profile-loading-overlay-bg-dark)}.color-swatch-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(45px,1fr));gap:.75rem;padding:.5rem 0}.color-swatch-btn{width:45px;height:45px;border:2px solid var(--border);border-radius:.75rem;cursor:pointer;transition:all .3s ease;background-size:cover;background-position:center;position:relative;overflow:hidden;font-size:0;line-height:0;outline-offset:3px}.color-swatch-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--color-swatch-shadow);border-color:var(--text-secondary)}.color-swatch-btn.active{border-color:var(--accent-primary);border-width:3px;transform:scale(1.1);box-shadow:0 0 0 3px var(--color-swatch-active-shadow)}.gradient-swatch{position:relative}.gradient-swatch:before{content:"";position:absolute;inset:0;background:var(--gradient-swatch-pattern);background-size:8px 8px;pointer-events:none;border-radius:inherit;opacity:.3}.gradient-indicator{position:absolute;top:3px;right:3px;font-size:10px;color:var(--gradient-indicator-text);text-shadow:0 1px 3px var(--gradient-indicator-text-shadow);pointer-events:none;font-weight:700;line-height:1;z-index:2}.gradient-swatch:hover .gradient-indicator{color:var(--gradient-indicator-text-hover)}.gradient-swatch:hover{box-shadow:0 6px 16px var(--gradient-swatch-hover-shadow)}.gradient-swatch.active{box-shadow:0 0 0 3px var(--gradient-swatch-active-shadow),0 4px 12px var(--color-swatch-shadow)}.dark-mode .gradient-swatch.active{box-shadow:0 0 0 3px var(--gradient-swatch-active-shadow-dark),0 4px 12px var(--color-swatch-shadow)}.solid-swatch{border-style:solid;background-image:none!important}.solid-swatch:after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid var(--solid-swatch-border);pointer-events:none}.dark-mode .gradient-swatch:before{background:var(--gradient-swatch-dark-pattern)}.dark-mode .solid-swatch:after{border-color:var(--solid-swatch-dark-border)}.import-methods{display:grid;grid-template-columns:1fr;gap:var(--space-xl);margin-bottom:var(--space-xl)}.import-option{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all .3s var(--animation-smooth);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.import-option:hover{background:var(--glass-hover);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 8px 25px var(--shadow)}.option-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.option-icon{font-size:1.5rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-primary);color:#fff;border-radius:var(--radius-md);box-shadow:0 4px 12px #667eea4d}.option-header h3{margin:0;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.upload-area{border:2px dashed var(--glass-border);border-radius:var(--radius-md);padding:var(--space-xl);text-align:center;cursor:pointer;transition:all .3s var(--animation-smooth);background:var(--surface)}.upload-area:hover{border-color:var(--accent-primary);background:var(--glass-hover);transform:translateY(-1px)}.upload-prompt{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.upload-prompt i{font-size:2rem;color:var(--accent-primary);margin-bottom:var(--space-sm)}.upload-prompt p{margin:0;font-weight:500;color:var(--text-primary)}.upload-prompt small{color:var(--text-secondary);font-size:.85rem}.schedule-preview{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-lg);margin-top:var(--space-xl);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--glass-border)}.preview-header h3{margin:0;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.stat-badge{background:var(--accent-primary);color:#fff;padding:.25rem .75rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600}.courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.course-card{background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-md);transition:all .3s var(--animation-smooth)}.course-card:hover{background:var(--surface-hover);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.course-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.course-code{font-weight:700;color:var(--accent-primary);font-size:.9rem}.course-section{background:var(--surface-active);color:var(--text-secondary);padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500}.course-name{margin:0 0 var(--space-sm) 0;font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.3}.course-details{display:flex;flex-direction:column;gap:var(--space-xs)}.time-info,.location-info{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.days{color:var(--text-secondary);font-weight:500}.time{color:var(--text-primary);font-weight:600}.room{color:var(--text-secondary)}.import-status{display:flex;justify-content:center;align-items:center;padding:var(--space-lg);margin-top:var(--space-lg)}.status-content{display:flex;align-items:center;gap:var(--space-md);background:var(--glass-bg);padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.spinner{width:20px;height:20px;border:2px solid var(--surface-hover);border-top:2px solid var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.status-content p{margin:0;color:var(--text-primary);font-weight:500}.hidden{display:none!important}*{transition:background-color .3s ease,border-color .3s ease,color .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes successPulse{0%{transform:scale(.95);opacity:0}50%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pulse-error{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.8;transform:scale(1.01)}}@keyframes profileSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes profileDotBounce{0%,80%,to{transform:scale(.8) translateY(0);opacity:.7}40%{transform:scale(1.2) translateY(-4px);opacity:1}}@keyframes redGlow{0%{box-shadow:0 0 0 0 var(--red-glow-start)}50%{box-shadow:0 0 0 15px var(--red-glow-mid)}to{box-shadow:0 0 0 0 var(--red-glow-end)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){body.page-profile .main-content{padding:.5rem .4rem!important}body.page-profile .content-grid{padding:0!important}body.page-profile .profile-setup-card.glass-card{padding:6px 10px!important;max-width:100%!important;margin:0!important}.setup-title{font-size:1.8rem}.setup-progress-container{flex-direction:column;align-items:center;gap:var(--space-sm)}.setup-progress{width:100%;margin-left:0;justify-content:center}.setup-navigation{flex-direction:column-reverse;gap:var(--space-md)}.setup-navigation>div{width:100%;justify-content:space-between}.setup-navigation .button{flex:1;text-align:center;min-width:auto}.setup-nav-button#setup-prev-btn{width:100%;text-align:center}.form-row{grid-template-columns:1fr}.avatar-editor-content{grid-template-columns:1fr;grid-template-rows:240px 1fr}.avatar-preview-section{padding:.75rem .5rem;border-right:none;border-bottom:1px solid var(--glass-border);display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;background:transparent;position:relative;gap:.75rem;width:auto;min-height:0}.avatar-preview-container{width:140px;height:140px;margin:0;flex-shrink:0}.avatar-preview-label{margin:0;font-size:1rem;text-align:center!important;line-height:1.2}.preview-controls{margin:0;flex-direction:column!important;width:auto;max-width:200px;align-items:center}.randomize-btn{width:auto;padding:.5rem 1rem;font-size:.85rem;white-space:nowrap}.avatar-controls-section{flex:1;min-height:0}.controls-content{padding:1rem 1.5rem 2rem;height:100%;max-height:none}.control-group{margin-bottom:1.5rem}.control-divider{margin:1.5rem 0}.import-methods{grid-template-columns:1fr;gap:var(--space-lg)}.courses-grid{grid-template-columns:1fr}.option-header{flex-direction:column;text-align:center;gap:var(--space-sm)}.option-icon{width:40px;height:40px;font-size:1.2rem}.upload-area{padding:var(--space-lg)}.upload-prompt i{font-size:1.5rem}}@media (max-width: 480px){.setup-navigation{display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.5rem 0 0!important;flex-wrap:nowrap}.setup-navigation>div[style*="display: flex"]{display:flex!important;flex-direction:row!important;align-items:center;gap:.5rem!important;flex:1}.setup-navigation .button,.setup-navigation .setup-nav-button{min-width:44px!important;min-height:44px!important;height:44px!important;padding:.5rem .75rem!important;font-size:.85rem!important;font-weight:600!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;line-height:1.2!important;margin:0!important;border-radius:.5rem!important}.setup-navigation:has(#setup-prev-btn[style*="display: none"]) .setup-nav-button:not(#setup-prev-btn){flex:1 1 0%!important;max-width:calc(50% - .25rem)!important;min-width:0!important}.setup-navigation:not(:has(#setup-prev-btn[style*="display: none"])) .setup-nav-button{flex:1 1 0%!important;max-width:fit-content!important;min-width:0!important}.setup-navigation .setup-nav-button:not([style*="display: none"]){flex-grow:1!important;flex-shrink:1!important;flex-basis:0%!important}.setup-navigation #setup-prev-btn[style*="display: none"]{display:none!important;flex:0 0 auto!important;width:0!important;min-width:0!important;padding:0!important;margin:0!important}.setup-title-section{margin-bottom:4px!important}.avatar-preview-section{padding:.4rem .5rem!important;flex-wrap:wrap;gap:.75rem!important;justify-content:center;align-items:center;min-height:auto!important}.avatar-preview-container{width:70px!important;height:70px!important;margin:0;flex-shrink:0}.avatar-preview-label{font-size:.8rem!important;margin:0!important;line-height:1.1!important}.preview-controls{width:auto!important;max-width:180px!important;margin:0!important}.randomize-btn{width:auto!important;padding:.4rem .8rem!important;font-size:.8rem!important;white-space:nowrap;min-width:auto!important}.controls-content{padding:1rem}body.page-profile .profile-setup-card.glass-card{margin:0!important;max-width:100%!important;padding:6px 10px!important}.setup-title{font-size:1.5em}.setup-progress-container{padding:4px;flex-direction:column;align-items:center;gap:var(--space-sm)}.avatar-modal-footer{padding:.5rem!important;gap:.5rem!important}.avatar-editor-content{grid-template-rows:190px 1fr!important}.avatar-preview-section{padding:.5rem!important;gap:.5rem!important}.avatar-preview-container{width:90px!important;height:90px!important}.avatar-preview-label{font-size:.8rem!important;line-height:1.2}.randomize-btn{padding:.4rem .6rem!important;font-size:.8rem!important}.controls-content{padding:.75rem!important}.control-group{margin-bottom:1.25rem!important}}@media (max-width: 768px){.avatar-modal-content{width:98%!important;height:90vh!important;max-height:800px!important;min-height:500px!important;border-radius:1rem}.avatar-modal-header,.avatar-modal-footer{padding-left:1rem;padding-right:1rem}.avatar-modal-footer{flex-direction:row;gap:.75rem;justify-content:space-between}.avatar-modal-button{flex:1;min-width:0}}.avatar-modal-overlay{position:fixed;inset:0;background:var(--modal-overlay-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .3s ease}.avatar-modal-content{max-width:800px;width:90%;height:80vh;max-height:700px;min-height:500px;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:1.5rem;box-shadow:0 8px 32px var(--shadow),var(--shadow-inset-glass);transform:scale(.7) translateY(50px);transition:all .3s ease;overflow:hidden;display:flex;flex-direction:column;position:relative}.avatar-modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--glass-highlight),transparent)}.avatar-modal-content:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,var(--glass-highlight-faint) 60deg,transparent 120deg,var(--glass-highlight-faint) 180deg,transparent 240deg,var(--glass-highlight-faint) 300deg,transparent 360deg);animation:rotate 20s linear infinite;pointer-events:none;z-index:-1}.avatar-modal-overlay.active{opacity:1;visibility:visible}.avatar-modal-overlay.active .avatar-modal-content{transform:scale(1) translateY(0)}.avatar-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem .75rem;border-bottom:1px solid var(--glass-border);background:transparent;position:relative;z-index:1}.avatar-modal-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.avatar-modal-close-btn{background:var(--surface-hover);border:1px solid var(--border);border-radius:.5rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--text-secondary);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.avatar-modal-close-btn:hover{background:var(--error);color:var(--avatar-modal-close-hover-text);transform:translateY(-2px);box-shadow:0 4px 12px var(--avatar-shadow)}.avatar-modal-body{flex:1;overflow:hidden;min-height:0;display:flex;flex-direction:column;background:transparent;position:relative;z-index:1}.avatar-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:.75rem 2rem 1.25rem;border-top:1px solid var(--glass-border);background:transparent;position:relative;z-index:1}.avatar-modal-button{min-width:120px;height:48px;padding:.75rem 1rem;border:1px solid transparent;border-radius:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box}.avatar-modal-button.confirm{background:linear-gradient(135deg,var(--success),var(--modal-confirm-bg-end));color:var(--modal-confirm-text);border-color:var(--success)}.avatar-modal-button.cancel{background:var(--surface);color:var(--text-primary);border-color:var(--border)}.avatar-modal-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--avatar-shadow)}.avatar-modal-button.confirm:hover{background:linear-gradient(135deg,var(--avatar-modal-confirm-hover-bg-start),var(--success))}.avatar-modal-button.cancel:hover{background:var(--surface-hover);border-color:var(--text-secondary)}.coachmark-overlay{position:fixed;inset:0;width:100vw;height:100vh;z-index:12000;pointer-events:auto;background:#00000047}.coachmark-overlay.active{pointer-events:auto}.coachmark-card{position:absolute;max-width:min(240px,88vw);background:#111827fa;border:1px solid rgba(99,102,241,.34);border-radius:16px;padding:clamp(.75rem,2.4vw,1.05rem) clamp(.85rem,3vw,1.15rem);color:#f8fafc;box-shadow:0 20px 45px #1e295a6b,0 0 18px #818cf861,0 0 0 1px #94a3ff2e inset;pointer-events:auto;transform-origin:center;animation:coachmark-fade-in .25s ease forwards;z-index:12001}.coachmark-body{max-height:min(64vh,calc(100vh - 96px));overflow-y:auto}.coachmark-card h4{font-size:.95rem;margin:0 0 .3rem;font-weight:600}.coachmark-card p,.coachmark-card .coachmark-html{font-size:.9rem;line-height:1.5;margin:0 0 .75rem;color:#e2e8f0}.coachmark-html>:last-child{margin-bottom:0}.coachmark-card .coachmark-html-list p{margin:0 0 .65rem;font-size:.9rem;line-height:1.4}.coachmark-card .coachmark-html-list p:last-child{margin-bottom:.2rem}.coachmark-card .coachmark-html-list strong{color:#f8fafc}.coachmark-actions{display:flex;justify-content:flex-end;gap:.55rem}.coachmark-btn{border:none;border-radius:999px;padding:.4rem .85rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.coachmark-btn.primary{background:linear-gradient(135deg,#6366f1d9,#818cf8);color:#f8fafc;box-shadow:0 10px 25px #4f46e559}.coachmark-btn.primary:hover,.coachmark-btn.primary:focus-visible{transform:translateY(-1px);box-shadow:0 14px 32px #4f46e573;outline:none}.coachmark-btn.secondary{background:#94a3b838;color:#e2e8f0;border:1px solid rgba(148,163,184,.3)}.coachmark-btn.secondary:hover,.coachmark-btn.secondary:focus-visible{transform:translateY(-1px);box-shadow:0 8px 20px #94a3b840;outline:none}.coachmark-highlight{position:relative;z-index:12001;border-radius:14px;box-shadow:0 0 0 3px #818cf88c,0 14px 38px #5850dc59;transition:box-shadow .2s ease}.coachmark-highlight.coachmark-circle{border-radius:999px}.coachmark-highlight:focus-visible{outline:none;box-shadow:0 0 0 3px #818cf8a6,0 18px 45px #5850dc6b}.coachmark-arrow{position:absolute;width:16px;height:16px;background:inherit;transform:rotate(45deg);border-left:1px solid rgba(99,102,241,.45);border-top:1px solid rgba(99,102,241,.45)}.onboarding-glow{position:relative;animation:onboarding-glow-pulse 1.4s ease-in-out infinite;box-shadow:0 0 #818cf800}@keyframes onboarding-glow-pulse{0%{box-shadow:0 0 #818cf88c}70%{box-shadow:0 0 0 10px #818cf800}to{box-shadow:0 0 #818cf800}}.coachmark-placement-top .coachmark-card{transform-origin:bottom center}.coachmark-placement-bottom .coachmark-card{transform-origin:top center}.coachmark-placement-left .coachmark-card{transform-origin:center right}.coachmark-placement-right .coachmark-card{transform-origin:center left}.coachmark-placement-top .coachmark-arrow{top:auto;bottom:-8px;border-left:none;border-top:none;border-right:1px solid rgba(99,102,241,.45);border-bottom:1px solid rgba(99,102,241,.45)}.coachmark-placement-left .coachmark-arrow{top:calc(50% - 8px);left:auto;right:-8px;border-left:none;border-top:1px solid rgba(99,102,241,.45);border-right:1px solid rgba(99,102,241,.45)}.coachmark-placement-right .coachmark-arrow{top:calc(50% - 8px);left:-8px;border-top:none;border-left:1px solid rgba(99,102,241,.45);border-bottom:1px solid rgba(99,102,241,.45)}.onboarding-presence-demo{width:clamp(120px,50vw,180px);margin:0 auto clamp(.45rem,2vw,.8rem);display:flex;flex-direction:column;align-items:center;gap:.45rem}.onboarding-presence-demo .landing-avatar-demo{width:100%;border-radius:14px;padding:.55rem .65rem .85rem;background:linear-gradient(155deg,#2e376899,#1e293bbd);box-shadow:0 16px 36px #0f172a52,0 0 0 1px #94a3ff29 inset;display:flex;flex-direction:column;align-items:center;gap:.55rem}.onboarding-presence-demo .landing-avatar-demo .avatar-frame{position:relative;width:clamp(90px,44vw,140px);aspect-ratio:1;border-radius:16px;overflow:hidden;background:radial-gradient(circle at center,rgba(129,140,248,.18),transparent 70%)}.onboarding-presence-demo .landing-avatar-demo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;animation:presenceImageCycle 6s infinite ease-in-out}.onboarding-presence-demo .landing-avatar-demo img[data-presence-state=hidden]{animation-delay:0s}.onboarding-presence-demo .landing-avatar-demo img[data-presence-state=away]{animation-delay:2s}.onboarding-presence-demo .landing-avatar-demo img[data-presence-state=on]{animation-delay:4s}.onboarding-presence-demo .landing-avatar-demo .presence-status-text{position:relative;min-height:1.4rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:center;width:100%}.onboarding-presence-demo .landing-avatar-demo .presence-status-text span{position:absolute;left:50%;top:0;transform:translate(-50%,2px);font-size:.7rem;opacity:0;animation:presenceTextCycle 6s infinite ease-in-out}.onboarding-presence-demo .landing-avatar-demo .presence-status-text span[data-state=hidden]{animation-delay:0s;color:#7f8ea3}.onboarding-presence-demo .landing-avatar-demo .presence-status-text span[data-state=away]{animation-delay:2s;color:#ff7575}.onboarding-presence-demo .landing-avatar-demo .presence-status-text span[data-state=on]{animation-delay:4s;color:#75f7b9}@keyframes coachmark-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes presenceTextCycle{0%,16%{opacity:1;transform:translate(-50%)}20%,to{opacity:0;transform:translate(-50%,-8px)}}@keyframes presenceImageCycle{0%,16%{opacity:1}20%,to{opacity:0}}@media (max-width: 600px){.coachmark-card{max-width:min(210px,90vw);padding:.75rem .9rem;border-radius:14px}.coachmark-card h4{font-size:.88rem}.coachmark-card p,.coachmark-card .coachmark-html{font-size:.82rem}.coachmark-actions{gap:.45rem}}@media (max-width: 420px){.coachmark-card{max-width:min(190px,92vw);padding:.7rem .85rem}.coachmark-card h4{font-size:.85rem}.coachmark-card p,.coachmark-card .coachmark-html{font-size:.78rem}.coachmark-btn{padding:.35rem .75rem;font-size:.8rem}}body.page-friends .main-content{overflow:hidden;padding:0!important;height:var(--main-content-available-height);width:100%;max-width:100%;display:flex;flex-direction:column}body.page-friends .content-grid{display:flex!important;justify-content:flex-start!important;align-items:flex-start!important;grid-template-columns:unset!important;grid-template-rows:unset!important;height:100%;width:100%;max-width:100%;overflow:hidden;gap:0!important;flex:1 1 auto;min-height:0}@media (max-width: 768px){body.page-friends .main-content{height:var(--main-content-available-height-with-bottom-nav)!important;max-height:var(--main-content-available-height-with-bottom-nav)!important;min-height:var(--main-content-available-height-with-bottom-nav)!important;overflow:hidden!important;padding:0!important}body.page-friends .content-grid{height:100%!important;max-height:100%!important;overflow:hidden!important;flex:1 1 auto;min-height:0}body.page-friends .friends-scrollable-container,body.page-friends .requests-scrollable-container{flex:1 1 auto;min-height:0;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain;max-height:none!important}}@supports (-webkit-touch-callout: none){@media (max-width: 768px){body.page-friends .main-content{-webkit-overflow-scrolling:touch;overscroll-behavior:none}}}body.page-friends .controls-column,body.page-friends .schedule-column{display:none!important}body.page-friends .schedule-section{grid-column:unset!important;grid-row:unset!important;order:unset!important;display:none!important}body.page-friends .main-content{display:flex;flex-direction:column;height:100%;width:100%;max-width:100%;min-height:0;overflow:hidden;padding:0}body.page-friends .content-grid{display:flex;flex:1 1 auto;width:100%;max-width:100%;min-height:0;overflow:hidden}body.page-friends .friends-container{flex:1 1 auto;width:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:.5rem .4rem!important}.friends-search{flex:0 0 auto}.friends-list{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow:hidden}.friends-container{max-width:1200px;margin:0 auto;padding:.5rem .4rem!important;display:flex;flex-direction:column;gap:.75rem;flex:1 1 auto;height:100%;min-height:0;width:100%;box-sizing:border-box;overflow:hidden}@media (max-width: 768px){.friends-container{padding:.5rem .4rem!important;gap:.75rem;margin:0;width:100%;max-width:100%;flex:1 1 auto;min-height:0;overflow:hidden}.friends-scrollable-container,.requests-scrollable-container{max-height:none}}@media (max-width: 480px){.friends-container{padding:.5rem .4rem!important}}.friends-list-fixed{height:400px;max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch}.glass-card.friends-search{position:relative;z-index:50;overflow:visible;min-height:96px;flex:0 0 auto}.glass-card.friends-list{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow:hidden}.glass-card.friends-list h3{flex:0 0 auto;margin-bottom:0}.friends-search .search-input-wrapper{display:flex;gap:.5rem;margin-top:1rem;width:100%;box-sizing:border-box}.friends-search .search-input{flex:1;padding:.75rem;border:1px solid var(--input-border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text-primary);font-size:1rem;transition:all .2s ease;min-width:0;box-sizing:border-box}.friends-search .search-input:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--friends-purple-shadow-light)}.friends-search .search-btn{padding:.75rem 1.5rem;background:var(--accent-primary);color:var(--friends-color-white);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-weight:500}.friends-search .search-btn:hover{background:var(--accent-secondary);transform:translateY(-1px);box-shadow:var(--friends-purple-shadow-medium)}.search-results{position:relative;margin-top:8px;opacity:0;transform:translateY(-10px) scale(.98);transition:all .3s cubic-bezier(.4,0,.2,1);max-height:0;overflow:hidden;background:var(--glass-bg);border:none;border-radius:8px;box-shadow:var(--friends-search-shadow);pointer-events:none}.search-results.show{opacity:1;transform:translateY(0) scale(1);max-height:400px;box-shadow:var(--friends-search-shadow-active);pointer-events:auto}@media (min-width: 768px){#searchResults.search-results{position:absolute;right:0;left:auto;width:min(100%,720px);overscroll-behavior:contain}}.search-results-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;margin-bottom:8px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:8px 8px 0 0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--friends-search-header-shadow)}.search-results-header:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--friends-search-header-highlight);border-radius:8px 8px 0 0}.search-results-header h4{margin:0;color:var(--text-primary);font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:8px}.search-results-header h4:before{content:"🔍";font-size:.875rem;opacity:.8}.btn-clear-search{background:var(--friends-btn-clear-search-bg);border:var(--friends-btn-clear-search-border);color:var(--text-secondary);cursor:pointer;padding:6px 8px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:28px;height:28px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-clear-search:hover{background:var(--friends-btn-clear-search-hover-bg);border-color:var(--friends-btn-clear-search-hover-border-color);color:var(--friends-btn-clear-search-hover-color);transform:scale(1.05);box-shadow:var(--friends-btn-clear-search-hover-shadow)}.search-results-container{max-height:350px;overflow-y:auto;padding:12px;border-radius:0 0 8px 8px;border:var(--friends-search-container-border);border-top:none;background:var(--glass-bg-strong);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);scrollbar-width:thin;scrollbar-color:var(--friends-search-scrollbar-color) var(--friends-color-transparent);scroll-behavior:smooth}.search-results-container::-webkit-scrollbar{width:6px}.search-results-container::-webkit-scrollbar-track{background:var(--friends-search-scrollbar-track-bg);border-radius:3px}.search-results-container::-webkit-scrollbar-thumb{background:var(--friends-search-scrollbar-thumb-bg);border-radius:3px;border:var(--friends-search-scrollbar-thumb-border);transition:all .3s ease}.search-results-container::-webkit-scrollbar-thumb:hover{background:var(--friends-search-scrollbar-thumb-hover-bg);box-shadow:var(--friends-search-scrollbar-thumb-hover-shadow)}.students-grid{display:flex;flex-direction:column;gap:8px}.student-card{background:var(--friends-student-card-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:var(--friends-student-card-border);border-radius:10px;padding:12px;margin-bottom:6px;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;display:flex;gap:12px;align-items:center;position:relative;overflow:hidden;box-shadow:var(--friends-student-card-shadow)}.student-card:last-child{margin-bottom:0}.student-card:hover{background:var(--friends-student-card-hover-bg);border-color:var(--friends-student-card-hover-border-color);transform:translateY(-1px);box-shadow:var(--friends-student-card-hover-shadow)}.student-avatar{flex-shrink:0}.student-info{flex:1;min-width:0}.student-name{margin:0 0 var(--space-xs) 0;color:var(--text-primary);font-weight:600;font-size:1.1em}.student-major,.student-university{margin:0;color:var(--text-secondary);font-size:.9em}.student-actions{flex-shrink:0}.btn-send-request{background:var(--friends-btn-send-request-bg);color:var(--friends-color-white);border:var(--friends-btn-send-request-border);padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease;display:flex;align-items:center;gap:6px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--friends-btn-send-request-shadow)}.btn-send-request:hover{background:var(--friends-btn-send-request-hover-bg);transform:translateY(-1px);box-shadow:var(--friends-btn-send-request-hover-shadow)}.btn-send-request:disabled{background:var(--friends-btn-send-request-disabled-bg);color:var(--friends-btn-send-request-disabled-color);cursor:not-allowed;transform:none;box-shadow:none}.btn-request-sent{background:var(--success-color)!important;color:var(--friends-color-white)!important}.btn-pending-request{background:var(--friends-btn-pending-request-bg);color:var(--friends-btn-pending-request-color);border:var(--friends-btn-pending-request-border);padding:8px;border-radius:8px;cursor:not-allowed;font-weight:500;font-size:.875rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:40px;height:36px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--friends-btn-pending-request-shadow)}.btn-pending-request:hover{transform:none;box-shadow:var(--friends-btn-pending-request-shadow)}.btn-pending-request .fa-clock{animation:clockPulse 2s infinite;font-size:1rem;display:block}@keyframes clockPulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.requests-header{margin-bottom:var(--space-md)}.requests-header h4{margin:0;color:var(--text-primary);font-weight:600}.requests-list{display:flex;flex-direction:column;gap:var(--space-md)}.friend-request-card{background:var(--friends-request-card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--friends-request-card-border);border-left:var(--friends-request-card-border-left);border-radius:12px;padding:14px;margin-bottom:6px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;gap:14px;align-items:center;position:relative;overflow:hidden;box-shadow:var(--friends-request-card-shadow)}.friend-request-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--friends-request-card-highlight);z-index:1}.friend-request-card:hover{background:var(--friends-request-card-hover-bg);border-left-color:var(--friends-request-card-hover-border-left-color);transform:translateY(-2px);box-shadow:var(--friends-request-card-hover-shadow)}.friend-request-card:last-child{margin-bottom:0}.request-avatar{flex-shrink:0}.request-info{flex:1}.request-name{margin:0 0 4px;color:var(--text-primary);font-weight:500;font-size:1rem;line-height:1.4}.request-major,.request-university,.request-time{margin:0;color:var(--text-secondary);font-size:.875rem;line-height:1.4}.request-time{display:flex;align-items:center;gap:6px;margin-top:4px}.request-actions{display:flex;gap:var(--space-sm);flex-shrink:0}.btn-accept-request,.btn-reject-request{padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease;display:flex;align-items:center;gap:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-accept-request{background:var(--friends-btn-accept-request-bg);color:var(--friends-btn-accept-request-color);border:var(--friends-btn-accept-request-border)}.btn-accept-request:hover{background:var(--friends-btn-accept-request-hover-bg);border-color:var(--friends-btn-accept-request-hover-border-color);transform:translateY(-1px);box-shadow:var(--friends-btn-accept-request-hover-shadow)}.btn-reject-request{background:var(--friends-btn-reject-request-bg);color:var(--friends-btn-reject-request-color);border:var(--friends-btn-reject-request-border)}.btn-reject-request:hover{background:var(--friends-btn-reject-request-hover-bg);border-color:var(--friends-btn-reject-request-hover-border-color);transform:translateY(-1px);box-shadow:var(--friends-btn-reject-request-hover-shadow)}.btn-accept-request:disabled,.btn-reject-request:disabled{background:var(--surface-disabled);color:var(--text-disabled);cursor:not-allowed;transform:none}.friends-scrollable-container,.requests-scrollable-container{overflow-y:auto;overflow-x:visible;padding:16px;margin-top:16px;background:var(--friends-list-container-bg);border:var(--friends-list-container-border);border-radius:18px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--friends-list-container-shadow);scrollbar-width:thin;scrollbar-color:var(--friends-list-scrollbar-color) var(--friends-color-transparent);scroll-behavior:smooth;position:static;z-index:auto;isolation:isolate;flex:1 1 auto;min-height:0}.friends-scrollable-container::-webkit-scrollbar,.requests-scrollable-container::-webkit-scrollbar{width:8px}.friends-scrollable-container::-webkit-scrollbar-track,.requests-scrollable-container::-webkit-scrollbar-track{background:var(--friends-list-scrollbar-track-bg);border-radius:4px}.friends-scrollable-container::-webkit-scrollbar-thumb,.requests-scrollable-container::-webkit-scrollbar-thumb{background:var(--friends-list-scrollbar-thumb-bg);border-radius:4px;border:var(--friends-list-scrollbar-thumb-border);transition:all .3s ease}.friends-scrollable-container::-webkit-scrollbar-thumb:hover,.requests-scrollable-container::-webkit-scrollbar-thumb:hover{background:var(--friends-list-scrollbar-thumb-hover-bg);box-shadow:var(--friends-list-scrollbar-thumb-hover-shadow)}.friend-card{background:var(--friends-card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--friends-card-border);border-radius:12px;padding:16px;margin-bottom:8px;min-height:72px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:row;align-items:center;gap:16px;width:100%;position:relative;overflow:visible;box-shadow:var(--friends-card-shadow)}.friend-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--friends-card-highlight);z-index:1}.friend-card:hover{background:var(--friends-card-hover-bg);transform:translateY(-2px);box-shadow:var(--friends-card-hover-shadow)}.friend-card:last-child{margin-bottom:0}.friend-card-main{display:contents}.friend-avatar{position:relative;flex-shrink:0}.online-indicator{position:absolute;bottom:2px;right:2px;width:12px;height:12px;background:var(--success-color);border:var(--friends-online-indicator-border);border-radius:50%}.friend-info{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.glass-card .friend-name{margin:0 0 4px;color:var(--text-primary);font-weight:500;font-size:1rem;line-height:1.4}.friend-major,.mutual-friends{margin:0;color:var(--text-secondary);font-size:.875rem;display:flex;align-items:center;gap:6px;line-height:1.4}.mutual-friends{margin-top:4px}.friend-actions{display:flex;gap:8px;flex-shrink:0;align-items:center;justify-content:flex-end;width:-moz-fit-content;width:fit-content;min-width:-moz-fit-content;min-width:fit-content}.friend-actions{position:relative;width:auto;min-width:auto;flex:0 0 auto;width:-moz-fit-content;width:fit-content;min-width:-moz-fit-content;min-width:fit-content}.friend-actions-compact{display:inline-flex;align-items:center;gap:8px}.drawer-toggle-btn{border-radius:12px;width:var(--friends-action-size);height:var(--friends-action-size);min-width:var(--friends-action-size);min-height:var(--friends-action-size);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s ease;background:linear-gradient(135deg,var(--friends-button-glass-bg-light) 0%,var(--friends-button-glass-bg-lighter) 100%);border:var(--friends-btn-friend-menu-border);color:var(--text-secondary);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 3px 10px var(--friends-button-shadow-dark-subtle),0 1px 2px var(--friends-button-shadow-dark-faint),inset 0 1px 0 var(--friends-button-highlight-white-medium),inset 0 -1px 0 var(--friends-button-shadow-dark-active);position:relative;overflow:hidden}.drawer-toggle-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:58%;background:linear-gradient(180deg,var(--friends-button-highlight-white-medium) 0%,var(--friends-button-highlight-white-subtle) 45%,transparent 100%);border-radius:12px 12px 0 0;pointer-events:none}.drawer-toggle-btn:hover{background:linear-gradient(135deg,var(--friends-button-glass-bg-hover-light) 0%,var(--friends-button-glass-bg-hover-medium) 100%);color:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-1px) scale(1.04);box-shadow:0 5px 16px var(--friends-button-shadow-dark-strong),0 2px 6px var(--friends-button-shadow-dark-hover),0 1px 2px var(--friends-button-shadow-dark-faint),inset 0 1px 0 var(--friends-button-highlight-white-hover),inset 0 -1px 0 var(--friends-button-shadow-dark-hover-light)}.drawer-toggle-btn i{font-size:.875rem}.friend-actions-dropdown{display:flex;align-items:center;justify-content:flex-end;gap:8px;width:100%;opacity:0;overflow:hidden;max-height:0;transform:translateY(-8px);transition:max-height .26s cubic-bezier(.4,0,.2,1),opacity .18s ease,transform .26s cubic-bezier(.4,0,.2,1),padding .2s ease,margin .2s ease,box-shadow .2s ease;padding:0 10px;margin:0 0 6px;background:transparent;position:relative;pointer-events:auto}.friend-card.drawer-open+.friend-actions-dropdown[data-friend-id]{opacity:1;max-height:56px;transform:translateY(0);position:relative;z-index:10;pointer-events:auto;padding:6px 12px;margin-top:4px;border-radius:12px;background:linear-gradient(135deg,var(--friends-button-glass-bg-light) 0%,var(--friends-button-glass-bg-lighter) 100%);border:var(--friends-btn-friend-menu-border);box-shadow:0 10px 24px var(--friends-button-shadow-dark-strong),0 4px 12px var(--friends-button-shadow-dark-hover),0 2px 6px var(--friends-button-shadow-dark-faint),inset 0 1px 0 var(--friends-button-highlight-white-medium);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.friend-card.drawer-open+.friend-actions-dropdown[data-friend-id]:before{content:"";position:absolute;top:0;left:8px;right:8px;height:2px;background:var(--friends-card-highlight);border-radius:2px;opacity:.6}.drawer-toggle-btn,.quick-access-star,.mutual-schedule-btn,.mutual-location-btn{width:max(44px,var(--friends-action-size));height:max(44px,var(--friends-action-size));min-width:max(44px,var(--friends-action-size));min-height:max(44px,var(--friends-action-size))}.friend-actions-compact .drawer-toggle-btn{margin-right:4px}.friend-actions{gap:10px}@media (max-width: 480px){.friend-card{flex-direction:row;align-items:center}.friend-actions{width:-moz-fit-content;width:fit-content}}.friend-card.drawer-open .friend-actions{position:relative;z-index:6}.friend-actions-dropdown>.mutual-location-btn,.friend-actions-dropdown>.mutual-schedule-btn,.friend-actions-dropdown>.friend-options-container{display:inline-flex;vertical-align:middle;pointer-events:auto}.friend-actions-dropdown{white-space:nowrap}.btn-view-schedule{background:var(--primary-color);color:var(--friends-color-white);border:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:var(--space-xs);font-size:.9em;min-width:100px;justify-content:center}.btn-view-schedule:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-friend-menu{background:var(--friends-btn-friend-menu-bg);color:var(--text-secondary);border:var(--friends-btn-friend-menu-border);padding:8px;border-radius:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:var(--friends-action-size);height:var(--friends-action-size);min-width:var(--friends-action-size);min-height:var(--friends-action-size);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-friend-menu:hover{background:var(--friends-btn-friend-menu-hover-bg);color:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.05)}.friend-card .friend-avatar{width:48px!important;height:48px!important;border-radius:50%!important;background:var(--accent-primary);display:flex;align-items:center;justify-content:center;color:var(--friends-color-white);font-weight:600;flex-shrink:0;overflow:hidden;margin-right:4px}.friend-card .friend-avatar .user-avatar-img{width:100%!important;height:100%!important;object-fit:cover;border-radius:50%!important;border:none!important}.user-avatar,.avatar-placeholder{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--friends-avatar-bg);color:var(--text-secondary);border:var(--friends-avatar-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.user-avatar:before,.avatar-placeholder:before{content:"";position:absolute;inset:0;background:var(--friends-avatar-highlight);border-radius:50%}.user-avatar .user-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;position:relative;z-index:1}.user-avatar .avatar-fallback{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-secondary);position:relative;z-index:1}.user-avatar i.fas{font-size:1.5rem;color:var(--text-secondary);position:relative;z-index:1}.user-avatar.disabled,.avatar-placeholder.disabled,.friend-avatar-item.disabled .user-avatar,.friend-avatar-item.disabled .avatar-placeholder{opacity:.4!important;filter:grayscale(80%) blur(.5px)!important;pointer-events:auto!important;cursor:pointer!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important;background:var(--friends-avatar-disabled-bg)!important;border-color:var(--friends-avatar-disabled-border)!important;transform:none!important;box-shadow:var(--friends-avatar-disabled-shadow)!important;transition:none!important}.user-avatar.disabled .user-avatar-img,.avatar-placeholder.disabled .user-avatar-img,.friend-avatar-item.disabled .user-avatar-img{opacity:.3!important;filter:grayscale(90%)!important;transition:none!important}.user-avatar.disabled .avatar-fallback,.avatar-placeholder.disabled .avatar-fallback,.user-avatar.disabled i.fas,.avatar-placeholder.disabled i.fas,.friend-avatar-item.disabled .avatar-fallback,.friend-avatar-item.disabled i.fas{color:var(--friends-avatar-disabled-text)!important;opacity:.4!important}.user-avatar.disabled:hover,.avatar-placeholder.disabled:hover,.friend-avatar-item.disabled:hover,.friend-avatar-item.disabled .user-avatar:hover,.friend-avatar-item.disabled .avatar-placeholder:hover{transform:none!important;background:var(--friends-avatar-disabled-bg)!important;border-color:var(--friends-avatar-disabled-border)!important;box-shadow:var(--friends-avatar-disabled-shadow)!important;opacity:.4!important;filter:grayscale(80%) blur(.5px)!important}.friend-avatar-item.disabled{pointer-events:auto!important;cursor:pointer!important;opacity:.6!important;filter:grayscale(60%)!important;transition:none!important}.friend-avatar-item.disabled:hover{transform:none!important;background:transparent!important;box-shadow:none!important}.friend-avatar-item.disabled .friend-name{color:var(--friends-avatar-disabled-text)!important;opacity:.5!important}.schedule-access{display:flex;align-items:center;gap:.4rem;margin:.5rem 0 0;font-size:.82rem;font-weight:500;padding:.4rem .75rem;min-height:34px;border-radius:999px;line-height:1;transition:all .3s ease}.schedule-access i{font-size:.75rem;flex-shrink:0}.schedule-access span{line-height:1.2}.schedule-access.can-see{background:var(--friends-schedule-can-see-bg);color:var(--friends-schedule-can-see-color);border:var(--friends-schedule-can-see-border)}.schedule-access.can-see i{color:var(--friends-schedule-can-see-color)}.schedule-access.cannot-see{background:var(--friends-schedule-cannot-see-bg);color:var(--friends-schedule-cannot-see-color);border:var(--friends-schedule-cannot-see-border)}.schedule-access.cannot-see i{color:var(--friends-schedule-cannot-see-color)}.friend-card .dual-privacy-container{display:flex!important;flex-direction:row!important;gap:4px!important;margin:.5rem 0 0!important;width:fit-content!important;align-items:center!important}.friend-card .mutual-schedule-indicator i{flex-shrink:0!important;width:var(--friends-privacy-status-icon-size)!important;height:var(--friends-privacy-status-icon-size)!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:var(--friends-privacy-status-font-size)!important;background:var(--friends-privacy-span-bg)!important;border:var(--friends-privacy-span-border)!important;border-radius:50%!important;padding:3px!important;backdrop-filter:var(--friends-privacy-span-backdrop-blur)!important;-webkit-backdrop-filter:var(--friends-privacy-span-backdrop-blur)!important;box-shadow:var(--friends-privacy-span-shadow)!important;transition:var(--friends-privacy-span-transition)!important}.friend-card .mutual-schedule-indicator:hover i{background:var(--friends-privacy-span-bg-hover)!important;transform:scale(1.05)!important}.friend-card .mutual-schedule-indicator.mutual-allowed i{color:var(--friends-privacy-visible-icon-color)!important;background:var(--friends-privacy-visible-icon-bg)!important;border-color:var(--friends-privacy-visible-icon-border)!important;box-shadow:var(--friends-privacy-visible-icon-shadow)!important}.friend-card .mutual-schedule-indicator.mutual-restricted i{color:var(--friends-privacy-hidden-icon-color)!important;background:var(--friends-privacy-hidden-icon-bg)!important;border-color:var(--friends-privacy-hidden-icon-border)!important;box-shadow:var(--friends-privacy-hidden-icon-shadow)!important}@keyframes privacyPulse{0%{transform:scale(1);box-shadow:var(--friends-privacy-span-shadow)}50%{transform:scale(1.15);box-shadow:0 0 12px rgba(var(--accent-primary-rgb),.4),0 2px 8px #00000026}to{transform:scale(1);box-shadow:var(--friends-privacy-span-shadow)}}.friend-card .schedule-access.bilateral-privacy.privacy-changed{animation:privacyPulse .8s cubic-bezier(.4,0,.2,1)}.friends-scrollable-container .friend-card .schedule-access.bilateral-privacy.my-schedule-visible,.friend-card .schedule-access.bilateral-privacy.my-schedule-visible,.friends-scrollable-container .friend-card .schedule-access.bilateral-privacy.friend-schedule-visible,.friend-card .schedule-access.bilateral-privacy.friend-schedule-visible{background:var(--friends-privacy-visible-bg)!important;color:var(--friends-privacy-visible-color)!important;border:var(--friends-privacy-visible-border)!important;box-shadow:var(--friends-privacy-visible-shadow)!important;width:auto!important;min-width:auto!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border-radius:12px!important}.friends-scrollable-container .friend-card .schedule-access.bilateral-privacy.my-schedule-hidden,.friend-card .schedule-access.bilateral-privacy.my-schedule-hidden,.friends-scrollable-container .friend-card .schedule-access.bilateral-privacy.friend-schedule-hidden,.friend-card .schedule-access.bilateral-privacy.friend-schedule-hidden{background:var(--friends-privacy-hidden-bg)!important;color:var(--friends-privacy-hidden-color)!important;border:var(--friends-privacy-hidden-border)!important;box-shadow:var(--friends-privacy-hidden-shadow)!important;width:auto!important;min-width:auto!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border-radius:12px!important}body.page-friends .friends-container .friends-scrollable-container .friend-card .schedule-access.bilateral-privacy{width:fit-content!important;min-width:fit-content!important;max-width:fit-content!important;border-radius:12px!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;flex-shrink:0!important}body.page-friends .friends-container .friends-scrollable-container .friend-card .schedule-access.bilateral-privacy span{flex:none!important;width:auto!important;overflow:visible!important;text-overflow:clip!important}.friend-card .location-sharing-status.bilateral-location{display:flex!important;font-size:var(--friends-privacy-status-font-size)!important;align-items:center!important;gap:var(--friends-privacy-status-gap)!important;padding:var(--friends-privacy-status-padding)!important;border-radius:var(--friends-privacy-status-border-radius)!important;transition:var(--friends-privacy-status-transition)!important;font-weight:var(--friends-privacy-status-font-weight)!important;letter-spacing:var(--friends-privacy-status-letter-spacing)!important;line-height:var(--friends-privacy-status-line-height)!important;text-align:var(--friends-privacy-status-text-align)!important;white-space:var(--friends-privacy-status-white-space)!important;cursor:pointer!important;user-select:none!important;-webkit-user-select:none!important;position:relative!important}.friend-card .location-sharing-status.bilateral-location.location-sharing-enabled{background:var(--friends-privacy-visible-bg)!important;color:var(--friends-privacy-visible-color)!important;border:var(--friends-privacy-visible-border)!important;box-shadow:var(--friends-privacy-visible-shadow)!important}.friend-card .location-sharing-status.bilateral-location.location-sharing-enabled i{color:#22c55e!important;background:#22c55e1a!important;border:1px solid rgba(34,197,94,.2)!important;width:var(--friends-privacy-status-icon-size)!important;height:var(--friends-privacy-status-icon-size)!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;font-size:var(--friends-privacy-status-font-size)!important;transition:var(--friends-privacy-span-transition)!important;backdrop-filter:var(--friends-privacy-span-backdrop-blur)!important;-webkit-backdrop-filter:var(--friends-privacy-span-backdrop-blur)!important;box-shadow:0 1px 3px #22c55e33!important}.friend-card .location-sharing-status.bilateral-location.location-sharing-enabled:hover i{background:#22c55e33!important;box-shadow:0 2px 6px #22c55e4d!important}.friend-card .location-sharing-status.bilateral-location.location-sharing-disabled{background:var(--friends-privacy-hidden-bg)!important;color:var(--friends-privacy-hidden-color)!important;border:var(--friends-privacy-hidden-border)!important;box-shadow:var(--friends-privacy-hidden-shadow)!important}.friend-card .location-sharing-status.bilateral-location.location-sharing-disabled i{color:#ef4444!important;background:#ef44441a!important;border:1px solid rgba(239,68,68,.2)!important;width:var(--friends-privacy-status-icon-size)!important;height:var(--friends-privacy-status-icon-size)!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;font-size:var(--friends-privacy-status-font-size)!important;transition:var(--friends-privacy-span-transition)!important;backdrop-filter:var(--friends-privacy-span-backdrop-blur)!important;-webkit-backdrop-filter:var(--friends-privacy-span-backdrop-blur)!important;box-shadow:0 1px 3px #ef444433!important}.friend-card .location-sharing-status.bilateral-location.location-sharing-disabled:hover i{background:#ef444433!important;box-shadow:0 2px 6px #ef44444d!important}.friend-card .location-sharing-status.bilateral-location span{font-size:var(--friends-privacy-status-font-size)!important;font-weight:var(--friends-privacy-status-font-weight)!important;letter-spacing:var(--friends-privacy-status-letter-spacing)!important;line-height:var(--friends-privacy-status-line-height)!important;white-space:var(--friends-privacy-status-white-space)!important;user-select:none!important;-webkit-user-select:none!important;pointer-events:none!important;transition:color .2s ease!important}@keyframes locationSharingPulse{0%,to{transform:scale(1);box-shadow:var(--friends-privacy-span-shadow)}25%{transform:scale(1.02)}50%{transform:scale(1.02);box-shadow:var(--friends-privacy-span-shadow)}}.friend-card .location-sharing-status.bilateral-location.location-changed{animation:locationSharingPulse .8s cubic-bezier(.4,0,.2,1)}.friend-card .schedule-access.bilateral-privacy:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--friends-privacy-tooltip-bg);color:var(--friends-privacy-tooltip-color);padding:4px 8px;border-radius:6px;font-size:.65rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease;pointer-events:none;z-index:1000;box-shadow:0 4px 12px #00000026;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);margin-bottom:4px}.friend-card .schedule-access.bilateral-privacy:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(-2px)}.request-card{background:var(--card-bg);border:1px solid var(--warning-gold);border-radius:var(--radius-lg);padding:1.5rem;position:relative}.request-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:var(--radius-lg) var(--radius-lg) 0 0}.request-card .request-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.request-card .request-actions{display:flex;gap:.5rem}.request-card .btn-accept{background:var(--success);color:var(--friends-color-white);border:none;padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .2s ease}.request-card .btn-accept:hover{background:var(--button-on-green);transform:translateY(-1px)}.request-card .btn-reject{background:var(--error-red);color:var(--friends-color-white);border:none;padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .2s ease}.request-card .btn-reject:hover{background:var(--button-off-red-hover);transform:translateY(-1px)}.request-card .btn-accept.loading,.request-card .btn-reject.loading{pointer-events:none;position:relative;color:var(--friends-color-transparent)}.request-card .btn-accept.loading:after,.request-card .btn-reject.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;border:var(--friends-spinner-border);border-top:var(--friends-spinner-border-top);border-radius:50%;animation:spin 1s linear infinite;pointer-events:none}.friends-list .empty-state,.friend-requests .empty-state{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.friends-list .empty-state .empty-icon,.friend-requests .empty-state .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.7}.friends-list .empty-state h4,.friend-requests .empty-state h4{color:var(--text-primary);margin-bottom:.5rem;font-size:1.2rem}.friends-list .empty-state p,.friend-requests .empty-state p{color:var(--text-secondary);line-height:1.6;max-width:400px;margin:0 auto}.friends-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-secondary)}.friends-loading .spinner{width:24px;height:24px;border:var(--friends-spinner-border);border-top:var(--friends-spinner-border-top);border-radius:50%;animation:spin 1s linear infinite;margin-right:.75rem}@keyframes spin{to{transform:rotate(360deg)}}.friend-options-container{position:relative;display:flex;align-items:center;justify-content:center}.friend-options-menu{position:relative;display:inline-block;z-index:1001;contain:layout}.friend-options-menu .options-button{background:linear-gradient(135deg,var(--friends-button-glass-bg-light) 0%,var(--friends-button-glass-bg-lighter) 100%);color:var(--text-secondary);border:none;border-radius:12px;width:var(--friends-action-size);height:var(--friends-action-size);min-width:var(--friends-action-size);min-height:var(--friends-action-size);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:.875rem;position:relative;overflow:hidden;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 4px 12px var(--friends-button-shadow-dark-subtle),0 2px 4px var(--friends-button-shadow-dark-faint),0 1px 2px var(--friends-button-shadow-dark-light),inset 0 1px 0 var(--friends-button-highlight-white-strong),inset 0 -1px 0 var(--friends-button-shadow-dark-active)}.friend-options-menu .options-button:before{content:"";position:absolute;top:0;left:0;right:0;height:60%;background:linear-gradient(180deg,var(--friends-button-highlight-white-medium) 0%,var(--friends-button-highlight-white-subtle) 40%,transparent 100%);border-radius:12px 12px 0 0;pointer-events:none}.friend-options-menu .options-button:hover{background:linear-gradient(135deg,var(--friends-button-glass-bg-hover-light) 0%,var(--friends-button-glass-bg-hover-medium) 100%);color:var(--text-primary);transform:translateY(-2px);box-shadow:0 6px 20px var(--friends-button-shadow-dark-strong),0 3px 8px var(--friends-button-shadow-dark-hover),0 1px 3px var(--friends-button-shadow-dark-faint),inset 0 1px 0 var(--friends-button-highlight-white-hover),inset 0 -1px 0 var(--friends-button-shadow-dark-hover-light)}.friend-options-menu .options-button:hover:before{background:linear-gradient(180deg,var(--friends-button-highlight-white-strong) 0%,var(--friends-button-highlight-white-light) 50%,transparent 100%)}.friend-options-menu .options-button:active{transform:translateY(0)}.friend-options-menu .options-button[aria-expanded=true]{background:linear-gradient(135deg,var(--friends-button-glass-bg-active-purple) 0%,var(--friends-button-glass-bg-active-purple-light) 100%);color:var(--accent-primary);transform:translateY(-1px);box-shadow:0 0 16px var(--friends-button-purple-glow),0 4px 12px var(--friends-button-shadow-dark-medium),0 2px 4px var(--friends-button-shadow-dark-active),inset 0 1px 0 var(--friends-button-highlight-white-medium),inset 0 -1px 0 var(--friends-button-purple-shadow)}.friend-options-menu .options-button[aria-expanded=true]:before{background:linear-gradient(180deg,var(--friends-button-purple-highlight) 0%,var(--friends-button-purple-shadow) 50%,transparent 100%)}.friend-options-menu .options-dropdown{position:fixed;top:0;left:0;width:max-content;min-width:160px;max-width:220px;border-radius:16px;padding:6px 0;z-index:9999;background:var(--friends-options-dropdown-bg-light);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border:2px solid var(--friends-options-dropdown-border);box-shadow:0 20px 60px var(--friends-options-shadow-heavy),0 8px 24px var(--friends-options-shadow-medium),0 4px 12px var(--friends-options-shadow-light),inset 0 1px 0 var(--friends-options-highlight-strong),inset 0 -1px 0 var(--friends-options-highlight-medium);opacity:0;visibility:hidden;transform:translateY(-12px) scale(.92);transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none;white-space:nowrap}.friend-options-menu .options-dropdown:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--friends-options-gradient-strong) 0%,var(--friends-options-gradient-medium) 50%,var(--friends-options-gradient-strong) 100%);border-radius:16px 16px 0 0}.friend-options-menu.show .options-dropdown,div.friend-options-menu.show div.options-dropdown,.friend-card div.friend-options-menu.show div.options-dropdown,[class*=friend-options-menu].show [class*=options-dropdown]{opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:all!important;display:block!important;background:var(--friends-options-dropdown-bg-active)!important;backdrop-filter:blur(32px)!important;-webkit-backdrop-filter:blur(32px)!important;border:1px solid var(--friends-options-dropdown-border-active)!important;border-radius:16px!important;box-shadow:0 20px 60px var(--friends-options-shadow-heavy),0 8px 24px var(--friends-options-shadow-medium),0 4px 12px var(--friends-options-shadow-light),inset 0 1px 0 var(--friends-options-highlight-strong),inset 0 -1px 0 var(--friends-options-highlight-medium)!important;z-index:9999!important;position:fixed!important;width:max-content!important;min-width:160px!important;max-width:220px!important;padding:6px 0!important}.friend-options-menu .options-dropdown ul{list-style:none;margin:0;padding:0}.friend-options-menu .menu-option{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;color:var(--text-primary);font-size:.875rem;font-weight:500;transition:all .2s ease;position:relative;outline:none;border:none;background:none;width:100%;text-align:left;white-space:nowrap}.friend-options-menu .menu-option:hover,.friend-options-menu .menu-option:focus{background:var(--friends-options-hover-primary);color:var(--primary);transform:translate(2px)}.friend-options-menu .menu-option i{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.875rem}.friend-options-menu .unfriend-option{color:#dc2626}.friend-options-menu .unfriend-option:hover{background:var(--friends-options-hover-red);color:#b91c1c}.friend-options-menu .menu-option+.menu-option{border-top:1px solid rgba(var(--text-primary-rgb),.12);margin-top:2px;padding-top:10px}.glassmorphism-dropdown-active{background:var(--friends-card-bg)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border:var(--friends-card-border)!important;border-radius:12px!important;padding:8px 0!important;width:max-content!important;min-width:160px!important;max-width:220px!important;box-shadow:var(--friends-card-shadow)!important}.glassmorphism-dropdown-active ul{list-style:none!important;margin:0!important;padding:0!important}.glassmorphism-dropdown-active .menu-option{display:flex!important;align-items:center!important;gap:12px!important;padding:14px 18px!important;cursor:pointer!important;color:var(--text-primary)!important;font-size:.875rem!important;font-weight:500!important;transition:all .2s ease!important;position:relative!important;outline:none!important;border:none!important;background:none!important;width:100%!important;text-align:left!important}.glassmorphism-dropdown-active .menu-option+.menu-option{border-top:1px solid rgba(var(--text-primary-rgb),.08)!important}.glassmorphism-dropdown-active .menu-option:hover,.glassmorphism-dropdown-active .menu-option:focus{background:rgba(var(--primary-rgb),.12)!important;color:var(--primary)!important;transform:translate(2px)!important}.glassmorphism-dropdown-active .menu-option i{width:16px!important;height:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;font-size:.875rem!important}.glassmorphism-dropdown-active .unfriend-option{color:#dc2626!important}.glassmorphism-dropdown-active .unfriend-option:hover{background:var(--friends-options-hover-red)!important;color:#b91c1c!important}.quick-access-star,.mutual-schedule-btn,.mutual-location-btn{border-radius:12px;width:var(--friends-action-size);height:var(--friends-action-size);min-width:var(--friends-action-size);min-height:var(--friends-action-size);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;overflow:hidden;margin-right:4px}.quick-access-star,.mutual-schedule-btn,.mutual-location-btn,.friend-options-menu .options-button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}.quick-access-star{background:linear-gradient(135deg,#ffd7001a,#ffc10726);border:1px solid rgba(255,215,0,.3);box-shadow:0 2px 8px #ffd70026,0 1px 3px #0000001a,inset 0 1px #fff3}.quick-access-star i{font-size:.875rem;color:#ffd700b3;transition:all .3s ease;z-index:1;position:relative}.quick-access-star:before{content:"";position:absolute;top:0;left:0;right:0;height:60%;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.05) 50%,transparent 100%);border-radius:12px 12px 0 0;pointer-events:none}.quick-access-star:hover{background:linear-gradient(135deg,#ffd70033,#ffc10740);border-color:#ffd70080;transform:translateY(-1px) scale(1.05);box-shadow:0 4px 16px #ffd70040,0 2px 8px #ffc10733,0 1px 3px #00000026,inset 0 1px #ffffff4d}.quick-access-star:hover i{color:#ffd700e6;transform:scale(1.1)}.quick-access-star.starred{background:linear-gradient(135deg,#ffd7004d,#ffc10766);border-color:#ffd70099;box-shadow:0 0 20px #ffd70066,0 4px 16px #ffc1074d,0 2px 8px #ffd70033,inset 0 1px #fff6}.quick-access-star.starred i{color:gold;text-shadow:0 0 8px rgba(255,215,0,.5)}.quick-access-star.starred:hover{background:linear-gradient(135deg,#ffd70066,#ffc10780);transform:translateY(-2px) scale(1.08);box-shadow:0 0 24px #ffd70099,0 6px 20px #ffc10766,0 3px 12px #ffd7004d,inset 0 1px #ffffff80}.quick-access-star.starred:hover i{color:#ffc107;text-shadow:0 0 12px rgba(255,215,0,.7);transform:scale(1.15)}.quick-access-star.loading{pointer-events:none;opacity:.6}.quick-access-star.loading i{animation:starPulse 1.5s ease-in-out infinite}@keyframes starPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.mutual-schedule-btn{background:linear-gradient(135deg,#22c55e1f,#10b98129);border:1px solid rgba(16,185,129,.35);box-shadow:0 2px 8px #10b98126,0 1px 3px #0000001a,inset 0 1px #fff3}.mutual-schedule-btn.unknown{background:linear-gradient(135deg,#94a3b824,#64748b29);border-color:#94a3b859;box-shadow:0 2px 8px #64748b26,0 1px 3px #00000014,inset 0 1px #ffffff26}.mutual-schedule-btn i{font-size:.875rem;color:#22c55ed9;transition:all .3s ease;z-index:1;position:relative}.mutual-schedule-btn.unknown i{color:#64748bd9}.mutual-schedule-btn.mine-visible{border-color:#10b981!important}.mutual-schedule-btn.mine-hidden{border-color:#ef4444!important}.mutual-schedule-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:60%;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.05) 50%,transparent 100%);border-radius:12px 12px 0 0;pointer-events:none}.mutual-schedule-btn:hover{transform:translateY(-1px) scale(1.05);box-shadow:0 4px 16px #10b98140,0 2px 8px #10b98133,0 1px 3px #00000026,inset 0 1px #ffffff4d}.mutual-schedule-btn.restricted{background:linear-gradient(135deg,#ef44441f,#f43f5e29);border-color:#ef444459;box-shadow:0 2px 8px #ef444426,0 1px 3px #0000001a,inset 0 1px #fff3}.mutual-schedule-btn.restricted i{color:#ef4444e6}.friend-actions-dropdown .mutual-schedule-btn,.friend-actions-dropdown .mutual-location-btn{pointer-events:auto;cursor:pointer}.mutual-location-btn{background:linear-gradient(135deg,#22c55e1f,#10b98129);border:1px solid rgba(16,185,129,.35);box-shadow:0 2px 8px #10b98126,0 1px 3px #0000001a,inset 0 1px #fff3}.mutual-location-btn.unknown{background:linear-gradient(135deg,#94a3b824,#64748b29);border-color:#94a3b859;box-shadow:0 2px 8px #64748b26,0 1px 3px #00000014,inset 0 1px #ffffff26}.mutual-location-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:60%;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.05) 50%,transparent 100%);border-radius:8px 8px 0 0;pointer-events:none}.mutual-location-btn:hover{transform:translateY(-1px) scale(1.05);box-shadow:0 4px 16px #10b98140,0 2px 8px #10b98133,0 1px 3px #00000026,inset 0 1px #ffffff4d}.mutual-location-btn i{font-size:.875rem;color:#22c55ed9;transition:all .3s ease;z-index:1;position:relative}.mutual-location-btn.unknown i{color:#64748bd9}.mutual-location-btn.restricted{background:linear-gradient(135deg,#ef44441f,#f43f5e29);border-color:#ef444459;box-shadow:0 2px 8px #ef444426,0 1px 3px #0000001a,inset 0 1px #fff3}.mutual-location-btn.restricted i{color:#ef4444e6}.mutual-location-btn.mine-visible{border-color:#10b981!important}.mutual-location-btn.mine-hidden{border-color:#ef4444!important}body.dark-mode.page-friends .request-card{background:var(--friends-dark-card-bg);border-color:var(--friends-dark-warning-border)}body.dark-mode.page-friends .friends-search .search-input{background:var(--friends-dark-input-bg);border-color:var(--friends-dark-input-border);color:var(--friends-dark-text-primary)}body.dark-mode.page-friends .friends-search .search-input::placeholder{color:var(--friends-dark-text-secondary)}body.dark-mode.page-friends .user-avatar.disabled,body.dark-mode.page-friends .avatar-placeholder.disabled,body.dark-mode.page-friends .friend-avatar-item.disabled .user-avatar,body.dark-mode.page-friends .friend-avatar-item.disabled .avatar-placeholder{background:var(--friends-avatar-disabled-bg-dark)!important;border-color:var(--friends-avatar-disabled-border-dark)!important;box-shadow:var(--friends-avatar-disabled-shadow-dark)!important}body.dark-mode.page-friends .user-avatar.disabled .avatar-fallback,body.dark-mode.page-friends .avatar-placeholder.disabled .avatar-fallback,body.dark-mode.page-friends .user-avatar.disabled i.fas,body.dark-mode.page-friends .avatar-placeholder.disabled i.fas,body.dark-mode.page-friends .friend-avatar-item.disabled .avatar-fallback,body.dark-mode.page-friends .friend-avatar-item.disabled i.fas,body.dark-mode.page-friends .friend-avatar-item.disabled .friend-name{color:var(--friends-avatar-disabled-text-dark)!important}body.dark-mode.page-friends .friend-card .schedule-access.bilateral-privacy:after{background:var(--friends-privacy-tooltip-bg-dark);color:var(--friends-privacy-tooltip-color-dark)}body.dark-mode.page-friends .schedule-access.can-see{background:var(--friends-schedule-can-see-bg);border-color:var(--friends-schedule-can-see-border)}body.dark-mode.page-friends .schedule-access.cannot-see{background:var(--friends-schedule-cannot-see-bg);border-color:var(--friends-schedule-cannot-see-border)}body.dark-mode.page-friends .btn-view-schedule{background:var(--friends-btn-view-schedule-bg);border-color:var(--friends-btn-view-schedule-border)}body.dark-mode.page-friends .btn-view-schedule:hover{background:var(--friends-btn-view-schedule-hover-bg);border-color:var(--friends-btn-view-schedule-hover-border)}body.dark-mode.page-friends .friend-options-menu.show .options-dropdown,body.dark-mode.page-friends div.friend-options-menu.show div.options-dropdown,body.dark-mode.page-friends .friend-card div.friend-options-menu.show div.options-dropdown,body.dark-mode.page-friends [class*=friend-options-menu].show [class*=options-dropdown]{background:var(--friends-options-dark-dropdown-bg)!important;border-color:var(--friends-options-dark-border)!important;box-shadow:0 20px 60px var(--friends-options-dark-shadow-heavy),0 8px 24px var(--friends-options-dark-shadow-medium),0 4px 12px var(--friends-options-dark-shadow-light),inset 0 1px 0 var(--friends-options-dark-highlight-medium),inset 0 -1px 0 var(--friends-white-highlight-faint)!important}body.dark-mode.page-friends .friend-options-menu .options-dropdown:before{background:linear-gradient(90deg,var(--friends-options-dark-highlight-strong) 0%,var(--friends-options-dark-highlight-medium) 50%,var(--friends-options-dark-highlight-strong) 100%)}body.dark-mode.page-friends .friend-options-menu .options-button{background:var(--friends-options-dark-button-bg);border-color:var(--friends-options-dark-button-border)}body.dark-mode.page-friends .friend-options-menu .options-button:hover{background:var(--friends-options-dark-button-hover);border-color:var(--friends-options-dark-button-border-hover)}body.dark-mode.page-friends .friend-options-menu .menu-option+.menu-option{border-top-color:var(--friends-options-dark-highlight-medium);margin-top:2px;padding-top:10px}.location-toggle-switch{position:relative;width:64px;height:32px;min-width:64px;min-height:32px;border-radius:999px;border:2px solid rgba(255,255,255,.25);background:linear-gradient(135deg,#ef4444e6,#dc2626f2);display:inline-block;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);box-shadow:0 8px 32px #0000001f,0 4px 16px #ef444426,inset 0 1px #fff3,inset 0 -1px #0000000d;overflow:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-appearance:none;appearance:none}.location-toggle-switch.enabled{background:linear-gradient(135deg,#22c55ee6,#16a34af2);border-color:#ffffff59;box-shadow:0 8px 32px #0000001f,0 4px 20px #22c55e33,inset 0 1px #ffffff40,inset 0 -1px #0000000d}.location-toggle-switch:hover{transform:translateY(-2px) scale(1.02);border-color:#fff6;box-shadow:0 12px 48px #00000026,0 6px 24px #ef444433,inset 0 1px #ffffff4d}.location-toggle-switch.enabled:hover{box-shadow:0 12px 48px #00000026,0 6px 28px #22c55e4d,inset 0 1px #ffffff59}.location-toggle-text{position:absolute;top:50%;transform:translateY(-50%);font-size:9px;font-weight:800;letter-spacing:.8px;color:#fffffff2;text-shadow:0 1px 3px rgba(0,0,0,.4),0 0 8px rgba(255,255,255,.1);pointer-events:none;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:1;-webkit-user-select:none;user-select:none}.location-toggle-off{left:30px;opacity:1;transform:translateY(-50%) scale(1)}.location-toggle-on{left:10px;opacity:0;transform:translateY(-50%) scale(.7)}.location-toggle-switch.enabled .location-toggle-off{opacity:0;transform:translateY(-50%) scale(.7)}.location-toggle-switch.enabled .location-toggle-on{opacity:1;transform:translateY(-50%) scale(1)}.location-toggle-slider{position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:linear-gradient(145deg,#fffffffa,#f8fafcf2);border:1.5px solid rgba(255,255,255,.6);transition:all .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 16px #00000026,0 2px 8px #0000001a,inset 0 1px #ffffffe6,inset 0 -1px #00000008;z-index:3}.location-toggle-switch.enabled .location-toggle-slider{transform:translate(34px);box-shadow:0 6px 20px #0003,0 3px 12px #00000026,inset 0 1px #fffffff2,inset 0 -1px #00000008}.location-toggle-switch:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}.location-toggle-switch:focus{outline:none;border-color:rgba(var(--primary-color-rgb),.6);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.3),0 4px 12px #00000026}.location-toggle-switch:active .location-toggle-slider{transform:scale(.95) translate(0)}.location-toggle-switch.enabled:active .location-toggle-slider{transform:scale(.95) translate(32px)}@media (max-width: 480px){.friends-container{padding:.75rem;gap:.75rem;margin:0;width:100%;max-width:100%}.friends-search .search-input-wrapper{flex-direction:column;gap:.75rem}.friends-search .search-btn{width:100%;justify-self:stretch;padding:.75rem 1rem}body.page-friends .main-content{padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}.friends-scrollable-container{max-height:none}.friend-card{padding:10px;gap:10px;min-height:56px;flex-wrap:nowrap;width:100%;max-width:100%}.friend-info{min-width:0;flex:1;overflow:hidden}.glass-card .friend-name{font-size:.9rem;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.friend-major{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-actions{flex-shrink:0;max-width:fit-content;justify-content:flex-end}.friend-options-menu .options-dropdown{width:140px;min-width:140px;right:-4px;border-radius:10px;left:auto!important;transform:translate(0)!important}.friend-options-menu .menu-option{padding:10px 12px;font-size:.75rem;gap:8px}.friend-options-menu .options-button{width:var(--friends-action-size-mobile);height:var(--friends-action-size-mobile);min-width:var(--friends-action-size-mobile);min-height:var(--friends-action-size-mobile);font-size:.75rem}.friend-card .dual-privacy-container{gap:2px!important;margin:.3rem 0 0!important}.friend-card .schedule-access.bilateral-privacy{width:auto!important;min-width:auto!important;padding:var(--friends-privacy-status-padding-mobile);font-size:var(--friends-privacy-status-font-size-mobile);gap:var(--friends-privacy-status-gap-mobile);min-height:30px;margin-bottom:1px!important}.friend-card .schedule-access.bilateral-privacy i{width:var(--friends-privacy-status-icon-size-mobile);height:var(--friends-privacy-status-icon-size-mobile);font-size:var(--friends-privacy-status-font-size-mobile)}.friend-card .location-sharing-status.bilateral-location{width:auto!important;min-width:auto!important;padding:var(--friends-privacy-status-padding-mobile);font-size:var(--friends-privacy-status-font-size-mobile);gap:var(--friends-privacy-status-gap-mobile);min-height:30px;margin-bottom:1px!important}.friend-card .location-sharing-status.bilateral-location i{width:var(--friends-privacy-status-icon-size-mobile);height:var(--friends-privacy-status-icon-size-mobile);font-size:var(--friends-privacy-status-font-size-mobile)}.quick-access-star{width:26px;height:26px;margin-right:2px}.quick-access-star i{font-size:.75rem}}@media (max-width: 768px){.friends-container{padding:.5rem .4rem;gap:.75rem}.friends-search .search-input-wrapper{flex-direction:column;align-items:stretch;gap:.75rem}.friends-search .search-btn{width:100%}.friends-container .glass-card{border-bottom:none;margin-bottom:0}.friend-card{padding:14px;gap:12px;margin-bottom:6px;min-height:76px}.friend-info{gap:2px}.glass-card .friend-name{font-size:.95rem;font-weight:600;margin-bottom:2px}.friend-major,.mutual-friends{font-size:.82rem;opacity:.9}.friend-actions{gap:6px;min-height:44px;min-width:fit-content}.friends-scrollable-container,.requests-scrollable-container{max-height:300px;padding:8px;border-radius:12px;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.search-results-container{max-height:250px;padding:8px;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.search-results.show{max-height:300px}.students-grid{grid-template-columns:1fr}.student-card{flex-direction:row;text-align:left;gap:var(--space-sm)}.student-info{min-width:0}.student-name,.student-major,.student-university{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-actions{width:auto;margin-left:auto;display:flex;align-items:center;justify-content:flex-end}.schedule-access{font-size:.7rem;padding:.25rem .5rem;gap:.3rem}.schedule-access i{font-size:.65rem}.friend-card .dual-privacy-container{gap:3px!important;margin:.4rem 0 0!important}.friend-card .schedule-access.bilateral-privacy{width:auto!important;min-width:auto!important;padding:var(--friends-privacy-status-padding-tablet);font-size:var(--friends-privacy-status-font-size-tablet);gap:var(--friends-privacy-status-gap-tablet);margin-bottom:1px!important}.friend-card .schedule-access.bilateral-privacy i{width:var(--friends-privacy-status-icon-size-tablet);height:var(--friends-privacy-status-icon-size-tablet);font-size:var(--friends-privacy-status-font-size-tablet)}.friend-card .location-sharing-status.bilateral-location{width:auto!important;min-width:auto!important;padding:var(--friends-privacy-status-padding-tablet);font-size:var(--friends-privacy-status-font-size-tablet);gap:var(--friends-privacy-status-gap-tablet);margin-bottom:1px!important}.friend-card .location-sharing-status.bilateral-location i{width:var(--friends-privacy-status-icon-size-tablet);height:var(--friends-privacy-status-icon-size-tablet);font-size:var(--friends-privacy-status-font-size-tablet)}.friend-card{min-height:60px}.friend-options-menu .options-dropdown{width:160px;min-width:160px;padding:6px 0;border-radius:12px;right:0;max-width:calc(100vw - 32px)}.friend-card:last-child .friend-options-menu .options-dropdown,.friend-card:nth-last-child(2) .friend-options-menu .options-dropdown{bottom:calc(100% + 4px);top:auto;transform:translateY(-8px) scale(.92)}.friend-options-menu .menu-option{padding:12px 14px;font-size:.8rem;gap:10px}.friend-options-menu .menu-option i{width:14px;height:14px;font-size:.8rem}.friend-options-menu .options-button{width:var(--friends-action-size-tablet);height:var(--friends-action-size-tablet);min-width:var(--friends-action-size-tablet);min-height:var(--friends-action-size-tablet);font-size:.8rem}}@media (min-width: 768px){.friends-scrollable-container,.requests-scrollable-container{max-height:400px;padding:12px;border-radius:16px}.search-results-container{max-height:350px;padding:12px}.search-results.show{max-height:400px}.friends-search .search-input-wrapper{position:relative;z-index:60}.friends-search .search-input-wrapper #searchResults.search-results{position:absolute;top:calc(100% + 8px);left:auto;right:0;width:min(100%,720px);margin-top:0;z-index:100;background:var( --glass-bg-strong );border:1px solid var(--glass-border);backdrop-filter:var(--glass-backdrop-blur) var(--glass-backdrop-saturate);-webkit-backdrop-filter:var(--glass-backdrop-blur) var(--glass-backdrop-saturate);overscroll-behavior:contain;box-shadow:var(--friends-search-shadow-active)}.friend-card,.friend-request-card{padding:14px;gap:14px;border-radius:10px;min-height:60px}.friend-actions{min-width:fit-content;justify-content:flex-end}.friend-card .friend-avatar{width:44px!important;height:44px!important}.glass-card .friend-name,.request-name{font-size:1rem}.friend-major,.request-major,.request-university,.request-time,.mutual-friends{font-size:.875rem}.user-avatar,.avatar-placeholder{width:44px;height:44px;font-size:20px}.user-avatar i.fas{font-size:1.5rem}.btn-friend-menu{width:32px;height:32px;padding:8px}.btn-accept-request,.btn-reject-request{padding:8px 12px;font-size:.875rem;gap:6px}}@media (min-width: 1024px){.friends-search .search-input-wrapper{position:relative;z-index:60}.friends-search .search-input-wrapper #searchResults.search-results{z-index:60}.friends-scrollable-container,.requests-scrollable-container{max-height:500px}.friend-card,.friend-request-card{padding:16px;gap:16px;min-height:68px}.friend-actions{min-width:fit-content}.friend-card .friend-avatar{width:52px!important;height:52px!important}.friend-card .glass-card .friend-name{font-size:1.1rem}.friend-card .friend-major{font-size:.9rem}}@media (max-width: 767px){.location-toggle-switch{width:56px;height:28px;min-width:56px;min-height:28px;border-radius:999px;backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);position:relative}.location-toggle-switch:before{content:"";position:absolute;inset:-8px -4px;min-height:44px;min-width:44px;z-index:-1}.location-toggle-text{font-size:8px;font-weight:900;letter-spacing:.6px}.location-toggle-off{left:26px}.location-toggle-on{left:8px}.location-toggle-slider{width:22px;height:22px;top:1px;left:1px;border:1px solid rgba(255,255,255,.5)}.location-toggle-switch.enabled .location-toggle-slider{transform:translate(26px)}.location-toggle-switch:active .location-toggle-slider{transform:scale(.9) translate(0)}.location-toggle-switch.enabled:active .location-toggle-slider{transform:scale(.9) translate(26px)}.presence-label{height:28px;line-height:1}.quick-access-star,.mutual-schedule-btn,.mutual-location-btn,.btn-friend-menu,.friend-options-menu .options-button{width:var(--friends-action-size-mobile);height:var(--friends-action-size-mobile);min-width:var(--friends-action-size-mobile);min-height:var(--friends-action-size-mobile)}.friend-actions{min-width:fit-content}}@media (min-width: 768px) and (max-width: 1023px){.location-toggle-switch{width:60px;height:30px;min-width:60px;min-height:30px;border-radius:999px}.location-toggle-text{font-size:8px;font-weight:900}.location-toggle-off{left:28px}.location-toggle-on{left:9px}.location-toggle-slider{width:24px;height:24px;top:1px;left:1px}.location-toggle-switch.enabled .location-toggle-slider{transform:translate(30px)}.location-toggle-switch.enabled:active .location-toggle-slider{transform:scale(.95) translate(30px)}.presence-label{height:30px;line-height:1}.quick-access-star,.mutual-schedule-btn,.mutual-location-btn,.btn-friend-menu,.friend-options-menu .options-button{width:var(--friends-action-size-tablet);height:var(--friends-action-size-tablet);min-width:var(--friends-action-size-tablet);min-height:var(--friends-action-size-tablet)}.friend-actions{min-width:fit-content}}@media (min-width: 1024px){.location-toggle-switch{width:68px;height:34px;min-width:68px;min-height:34px;border-radius:999px}.location-toggle-text{font-size:10px;font-weight:800}.location-toggle-off{left:32px}.location-toggle-on{left:12px}.location-toggle-slider{width:28px;height:28px;top:1px;left:1px}.location-toggle-switch.enabled .location-toggle-slider{transform:translate(36px)}.location-toggle-switch.enabled:active .location-toggle-slider{transform:scale(.95) translate(36px)}.presence-label{height:34px;line-height:1}.quick-access-star,.mutual-schedule-btn,.mutual-location-btn,.btn-friend-menu,.friend-options-menu .options-button{width:var(--friends-action-size);height:var(--friends-action-size);min-width:var(--friends-action-size);min-height:var(--friends-action-size)}}@media (hover: none){.friend-options-menu .options-button,.friend-options-menu .options-button:hover,.friend-options-menu .options-button:active,.friend-options-menu .options-button[aria-expanded=true]{transform:none!important}.friend-options-menu .options-dropdown{transform:none!important;transition:opacity .2s ease,visibility .2s ease!important}.friend-options-menu .menu-option:hover,.friend-options-menu .menu-option:focus{transform:none!important}}@media (prefers-reduced-motion: reduce){.friend-options-menu .options-button,.friend-options-menu .options-dropdown,.friend-options-menu .menu-option{transition:none!important;transform:none!important}}:root{--spinner-color: #ffffff;--spinner-thickness: 2.5px}.presence-dot{position:absolute;bottom:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:12px;border:2px solid white;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;z-index:10;box-shadow:0 2px 8px #00000040,0 1px 3px #0000001a;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.presence-dot.green{background:linear-gradient(135deg,#00c851,#00b246,#009e3a);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}.presence-dot.red{background:linear-gradient(135deg,#ff3547,#e63946,#dc2626);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}.presence-dot.grey{background:linear-gradient(135deg,#95a5a6,#7f8c8d,#6c7b7d)}.dot-text{line-height:1;font-weight:900;letter-spacing:-.2px;text-shadow:0 1px 2px rgba(0,0,0,.5);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-variant-numeric:tabular-nums}.friend-avatar-container .avatar-wrapper{position:relative;display:inline-block}.presence-dot.green{animation:none}.friend-avatar-item[data-friend-id=user] .presence-dot.green{animation:onlinePulse 3s ease-in-out infinite}@keyframes onlinePulse{0%,to{transform:scale(1);box-shadow:0 1px 3px #0003,0 0 #00c85166}50%{transform:scale(1.05);box-shadow:0 1px 3px #0003,0 0 0 4px #00c85133}}.presence-dot.red{animation:none}.presence-dot.grey{animation:greyFade 4s ease-in-out infinite}@keyframes greyFade{0%,to{opacity:.8}50%{opacity:.5}}.presence-dot:hover{transform:scale(1.1);box-shadow:0 2px 6px #0000004d}.presence-dot.green:hover{box-shadow:0 2px 6px #0000004d,0 0 0 6px #00c8514d}.presence-dot.red:hover{box-shadow:0 2px 6px #0000004d,0 0 0 6px #ff35474d}.presence-dot.grey:hover{box-shadow:0 2px 6px #0000004d,0 0 0 6px #95a5a64d}@media (max-width: 768px){.presence-dot{min-width:16px;height:16px;padding:0 3px;font-size:8px;bottom:-1px;right:-1px;border-width:1.5px;border-radius:10px}}@media (max-width: 480px){.presence-dot{min-width:14px;height:14px;padding:0 2px;font-size:7px;bottom:0;right:0;border-width:1px;border-radius:8px}}@media (prefers-contrast: high){.presence-dot{border-width:3px;border-color:#000}.presence-dot.green{background:#0a0}.presence-dot.red{background:#c00}.presence-dot.grey{background:#666}}@media (prefers-reduced-motion: reduce){.presence-dot,.presence-dot.green,.presence-dot.grey{animation:none}.presence-dot:hover{transform:none}}body.dark-mode .presence-dot{border-color:#2a2d38;box-shadow:0 1px 3px #0006}body.dark-mode .presence-dot:hover{box-shadow:0 2px 6px #00000080}.presence-dot:focus{outline:2px solid var(--accent-primary, #8B5CF6);outline-offset:2px}.user-avatar,.avatar-placeholder,.friend-avatar-item,.friend-avatar-item .user-avatar,.friend-avatar-item .avatar-placeholder{position:relative}.user-avatar.large .presence-dot{min-width:22px;height:22px;padding:0 5px;font-size:10px;bottom:-3px;right:-3px;border-radius:14px}.user-avatar.small .presence-dot{min-width:14px;height:14px;padding:0 2px;font-size:7px;bottom:-1px;right:-1px;border-radius:8px}.presence-dot .dot-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.5px;text-align:center;-webkit-user-select:none;user-select:none}.presence-dot .dot-text[data-count="1"],.presence-dot .dot-text[data-count="2"],.presence-dot .dot-text[data-count="3"],.presence-dot .dot-text[data-count="4"],.presence-dot .dot-text[data-count="5"],.presence-dot .dot-text[data-count="6"],.presence-dot .dot-text[data-count="7"],.presence-dot .dot-text[data-count="8"],.presence-dot .dot-text[data-count="9"]{letter-spacing:0}.presence-dot .dot-text[data-count="10"],.presence-dot .dot-text[data-count="11"],.presence-dot .dot-text[data-count="12"],.presence-dot .dot-text[data-count="13"],.presence-dot .dot-text[data-count="14"],.presence-dot .dot-text[data-count="15"],.presence-dot .dot-text[data-count="16"],.presence-dot .dot-text[data-count="17"],.presence-dot .dot-text[data-count="18"],.presence-dot .dot-text[data-count="19"]{letter-spacing:-1px;font-size:8px}.presence-dot .dot-text[data-count="20+"],.presence-dot .dot-text.count-overflow{font-size:7px;letter-spacing:-.5px}@keyframes presenceSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fresh-data-pulse{0%{transform:scale(.98);filter:brightness(.98)}50%{transform:scale(1.02);filter:brightness(1.06)}to{transform:scale(1);filter:brightness(1)}}.presence-dot.spinner-overlay{position:absolute!important;bottom:-2px!important;right:-2px!important}.presence-dot.spinner-overlay:after{content:"";position:absolute;inset:-3px;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,transparent 0deg,transparent 270deg,rgba(from var(--spinner-color) r g b / .1) 280deg,rgba(from var(--spinner-color) r g b / .3) 300deg,rgba(from var(--spinner-color) r g b / .6) 320deg,rgba(from var(--spinner-color) r g b / .9) 340deg,var(--spinner-color) 350deg,var(--spinner-color) 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-thickness)),white 0);mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-thickness)),white 0);animation:presenceSpinner 1.2s linear infinite;filter:drop-shadow(0 0 16px rgba(from var(--spinner-color) r g b / .8)) drop-shadow(0 0 8px rgba(from var(--spinner-color) r g b / .6)) drop-shadow(0 0 4px rgba(from var(--spinner-color) r g b / .9)) drop-shadow(0 0 2px var(--spinner-color));opacity:.95}.user-avatar.large .presence-dot.spinner-overlay:after{inset:-4px;filter:drop-shadow(0 0 20px rgba(0,245,255,.9)) drop-shadow(0 0 12px rgba(0,245,255,.7)) drop-shadow(0 0 6px rgba(0,245,255,1)) drop-shadow(0 0 3px #00f5ff)}.user-avatar.small .presence-dot.spinner-overlay:after{inset:-2px;filter:drop-shadow(0 0 12px rgba(0,245,255,.7)) drop-shadow(0 0 6px rgba(0,245,255,.5)) drop-shadow(0 0 3px rgba(0,245,255,.8)) drop-shadow(0 0 1px #00f5ff)}@media (max-width: 768px){.presence-dot.spinner-overlay:after{inset:-2.5px;filter:drop-shadow(0 0 12px rgba(0,245,255,.6)) drop-shadow(0 0 6px rgba(0,245,255,.4)) drop-shadow(0 0 3px rgba(0,245,255,.7)) drop-shadow(0 0 1px #00f5ff)}}@media (max-width: 480px){.presence-dot.spinner-overlay:after{inset:-2px;filter:drop-shadow(0 0 8px rgba(0,245,255,.5)) drop-shadow(0 0 4px rgba(0,245,255,.3)) drop-shadow(0 0 2px rgba(0,245,255,.6))}.user-avatar.large .presence-dot.spinner-overlay:after{inset:-3px;filter:drop-shadow(0 0 14px rgba(0,245,255,.7)) drop-shadow(0 0 8px rgba(0,245,255,.5)) drop-shadow(0 0 4px rgba(0,245,255,.8)) drop-shadow(0 0 2px #00f5ff)}.user-avatar.small .presence-dot.spinner-overlay:after{inset:-1.5px;filter:drop-shadow(0 0 6px rgba(0,245,255,.4)) drop-shadow(0 0 3px rgba(0,245,255,.3)) drop-shadow(0 0 1px rgba(0,245,255,.5))}}.presence-dot.error{background:orange;color:#fff;animation:errorPulse 2s ease-in-out infinite}@keyframes errorPulse{0%,to{transform:scale(1);box-shadow:0 1px 3px #0003}50%{transform:scale(1.1);box-shadow:0 2px 6px #ffa50066}}body.page-notifications .main-content{overflow-x:hidden;overflow-y:auto;padding:.5rem .4rem!important}body.page-notifications .content-grid{display:flex!important;justify-content:center!important;align-items:stretch!important;grid-template-columns:unset!important;grid-template-rows:unset!important;height:100%;overflow:hidden;width:100%!important;max-width:100%!important;gap:0!important}body.page-notifications .controls-column,body.page-notifications .schedule-column{display:none!important}body.page-notifications .schedule-section{grid-column:unset!important;grid-row:unset!important;order:unset!important;display:none!important}.notifications-page{max-width:100%;margin:0;padding:0;display:flex;flex-direction:column;gap:0;width:100%;box-sizing:border-box;overflow-x:hidden;flex:1 1 auto;height:100%;min-height:0}.notifications-header,.no-notifications,.notification-categories,.notification-settings{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:20px;box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000d,inset 0 1px #fffc;position:relative;overflow:hidden}.notifications-header:before,.notifications-card:before,.no-notifications:before,.notification-categories:before,.notification-settings:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.6) 50%,transparent 100%);pointer-events:none}.notifications-header{padding:2rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.notifications-header .page-title-section{flex:1}.notifications-header .page-title{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.notifications-header .page-title i{color:var(--accent-primary);opacity:.9}.notifications-header .page-subtitle{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;margin:0}.notifications-header .header-actions{display:flex;gap:1rem;align-items:center}.mark-all-read{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-color, #667eea) 0%,#5a6cf0 100%);color:#fff;border:none;border-radius:12px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 4px 15px #667eea4d,0 2px 8px #0000001a}.mark-all-read:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.mark-all-read:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66,0 4px 12px #00000026}.mark-all-read:hover:before{left:100%}.mark-all-read:disabled{background:#9ca3afcc;cursor:not-allowed;transform:none;box-shadow:none}.mark-all-read:disabled:before{display:none}.notifications-list{display:flex;flex-direction:column;gap:1rem}.notifications-card{padding:1rem 1rem .75rem;position:relative;overflow:hidden;margin:0;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;max-height:100%}.notifications-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;flex-shrink:0}.notifications-card .page-title{font-size:1.25rem;margin:0;display:flex;align-items:center;gap:.5rem}.notifications-card .page-title i{color:var(--accent-primary);opacity:.9}.notifications-page .page-title i{color:var(--accent-primary)!important}.push-permission-banner-host{margin:0 0 1rem}.push-permission-banner{border:1px solid rgba(59,130,246,.25);background:linear-gradient(135deg,#3b82f61f,#3b82f60f);border-radius:12px;padding:1rem;box-shadow:0 2px 10px #3b82f626,inset 0 1px #ffffff40}.push-permission-banner .ppb-body{width:100%}.push-permission-banner .ppb-title{font-weight:600;color:var(--text-primary);margin-bottom:.25rem;font-size:1rem;line-height:1.3}.push-permission-banner .ppb-text{color:var(--text-secondary);font-size:.9rem;line-height:1.4}.push-permission-banner .ppb-actions{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}.push-permission-banner .ppb-btn{appearance:none;border:1px solid rgba(59,130,246,.45);background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:10px;padding:.65rem 1rem;cursor:pointer;font-weight:500;font-size:.95rem;box-shadow:0 2px 10px #2563eb40;transition:all .2s ease;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.push-permission-banner .ppb-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #2563eb4d}.push-permission-banner .ppb-btn.outline{background:transparent;color:var(--text-primary);border:1px solid rgba(107,114,128,.45);box-shadow:none}.push-permission-banner .ppb-btn.outline:hover{background:#ffffff4d}@media (max-width: 480px){.push-permission-banner{padding:.875rem}.push-permission-banner .ppb-title{font-size:.95rem;margin-bottom:.35rem}.push-permission-banner .ppb-text{font-size:.85rem;line-height:1.5}.push-permission-banner .ppb-actions{margin-top:.65rem;width:100%}.push-permission-banner .ppb-btn{flex:1;min-width:0;padding:.7rem .85rem;font-size:.9rem}@media (max-width: 360px){.push-permission-banner .ppb-actions{flex-direction:column}.push-permission-banner .ppb-btn{width:100%}}}.notifications-card .header-actions .button{padding:.5rem .75rem;font-size:.9rem}.notifications-filters{display:flex;gap:.5rem;margin:.25rem 0 .75rem;flex-shrink:0}.notifications-filters .filter-btn{appearance:none;border:1px solid rgba(var(--accent-primary-rgb, 139, 92, 246),.35);border-radius:999px;padding:.4rem .85rem;font-size:.9rem;color:#fff;background:rgba(var(--accent-primary-rgb, 139, 92, 246),.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 6px #8b5cf640,inset 0 1px #ffffff26;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.notifications-filters .filter-btn:hover{background:rgba(var(--accent-primary-rgb, 139, 92, 246),.95)}.notifications-filters .filter-btn.active{color:#fff;background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 4px 12px #8b5cf659,inset 0 1px #ffffff40}.notifications-filters .filter-btn:active{transform:translateY(1px)}.notifications-scrollable-container{flex:1;min-height:0;overflow-y:auto;padding:.5rem}.notifications-card h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.notifications-card h3 i{color:var(--accent-primary);opacity:.9}.notification-item{background:linear-gradient(135deg,#ffffff14,#ffffff0a);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:.7rem .9rem .55rem;box-shadow:0 3px 14px -3px #00000073,0 1px #ffffff0d inset;position:relative;display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;margin-bottom:.55rem;line-height:1.2;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.notification-item:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);pointer-events:none}.notification-item:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.06),transparent 50%);opacity:.4;transition:opacity .3s ease}.notification-item:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0000001f,0 4px 16px #00000014,inset 0 1px #fffc;border-color:#ffffff59}.notification-item:last-child{margin-bottom:0}.notification-item.notification-unread{border-left:4px solid var(--primary-color, #667eea);background:#667eea0d}.notification-item.notification-read{opacity:.85}.notification-avatar{position:relative;flex-shrink:0}.notification-avatar img{width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.8);box-shadow:0 4px 12px #00000026;transition:transform .3s ease}.notification-item:hover .notification-avatar img{transform:scale(1.05)}.notification-content{flex:1;min-width:0}.notification-text{font-weight:500;font-size:.85rem;color:var(--text-primary);margin:0 0 1px;line-height:1.2;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.notification-text .action-verb{font-weight:500;opacity:.8;margin-left:2px}.notification-text strong{font-weight:600}.notification-item.location-request .notification-text strong{color:#d84315}.notification-item.friend-request .notification-text strong{color:#6d28d9}.notification-item:not(.location-request):not(.friend-request) .notification-text strong{color:var(--primary-color, #667eea)}.notification-details{font-size:.7rem;color:var(--text-secondary);margin:0 0 4px;line-height:1.2;opacity:.65;display:none}.notification-time{font-size:.58rem;color:var(--text-tertiary);font-weight:500;opacity:.55;margin:0;letter-spacing:.25px}.notification-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0;width:108px}.notification-actions button{--touch-min: 40px;padding:9px 12px;min-height:var(--touch-min);line-height:1;border:none;border-radius:9px;font-size:.73rem;font-weight:600;letter-spacing:.3px;cursor:pointer;transition:background .22s,transform .16s;position:relative;overflow:hidden;width:100%;display:flex;align-items:center;justify-content:center}.notification-actions button:active{transform:scale(.96)}.notification-actions button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.notification-actions button:hover:before{left:100%}.accept-location-btn,.accept-friend-btn{background:linear-gradient(135deg,#10c964,#059d3e);color:#fff;box-shadow:0 2px 8px -2px #059d3e73}.accept-location-btn:hover,.accept-friend-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px -3px #059d3e80}.dismiss-btn{background:linear-gradient(135deg,#ff525f,#d82836);color:#fff;box-shadow:0 2px 8px -2px #d8283673}.dismiss-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px -3px #d8283680}.notification-item.location-request,.notification-item.friend-request{align-items:flex-start;padding:.6rem .75rem .5rem .9rem;gap:.55rem}.notification-item.location-request .notification-avatar img,.notification-item.friend-request .notification-avatar img{width:40px;height:40px;box-shadow:0 2px 8px -2px #0006}.notification-item.location-request .notification-text strong,.notification-item.friend-request .notification-text strong{font-weight:600}.notification-item.location-request .notification-text,.notification-item.friend-request .notification-text{font-size:.85rem}.notification-item.location-request{position:relative;background:linear-gradient(135deg,#ff6b3526,#ff572214,#ffffff0a);border:1px solid rgba(255,107,53,.25);box-shadow:0 4px 20px -5px #ff6b354d,0 1px #ffffff1a inset,0 0 0 1px #ff6b351a inset}.notification-item.location-request:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,107,53,.12),transparent 60%);border-radius:13px;pointer-events:none}.notification-item.location-request .notification-avatar{position:relative}.notification-item.location-request .notification-text{color:#d84315;font-weight:600}.notification-item.location-request .notification-text .notification-icon{background:#ff6b3526;color:#ff5722;box-shadow:0 0 0 1px #ff6b3533,0 2px 6px -1px #ff57224d}.notification-item.location-request .accept-location-btn{background:linear-gradient(135deg,#ff6b35,#ff5722);box-shadow:0 3px 12px -2px #ff572266,0 1px #fff3 inset;border:1px solid rgba(255,107,53,.3)}.notification-item.location-request .accept-location-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px -3px #ff572280}.notification-item.friend-request{position:relative;background:linear-gradient(135deg,#8b5cf626,#667eea14,#ffffff0a);border:1px solid rgba(139,92,246,.25);box-shadow:0 4px 20px -5px #8b5cf640,0 1px #ffffff1a inset,0 0 0 1px #8b5cf61a inset}.notification-item.friend-request:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(139,92,246,.12),transparent 60%);border-radius:13px;pointer-events:none}.notification-item.friend-request .notification-avatar{position:relative}.notification-item.friend-request .notification-text{color:#6d28d9;font-weight:600}.notification-item.friend-request .notification-text .notification-icon{background:#8b5cf626;color:#8b5cf6;box-shadow:0 0 0 1px #8b5cf633,0 2px 6px -1px #8b5cf64d}.notification-item.friend-request .accept-friend-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 3px 12px -2px #8b5cf666,0 1px #fff3 inset;border:1px solid rgba(139,92,246,.3)}.notification-item.friend-request .accept-friend-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px -3px #8b5cf680}.notification-item.friend-request .reject-friend-btn{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;box-shadow:0 3px 12px -2px #4b556366}.notification-item.friend-request .reject-friend-btn:hover{background:linear-gradient(135deg,#4b5563,#374151);transform:translateY(-2px)}.notification-item.location-enabled{position:relative;background:linear-gradient(135deg,#10b9811f,#0596690f,#ffffff0a);border:1px solid rgba(16,185,129,.2)}.notification-item.location-enabled:before{content:"";position:absolute;top:6px;bottom:6px;left:6px;width:5px;border-radius:6px;background:linear-gradient(180deg,#10b981,#10b98173);backdrop-filter:blur(8px) saturate(180%);-webkit-backdrop-filter:blur(8px) saturate(180%);box-shadow:0 0 0 1px #ffffff2e,0 4px 10px -2px #10b98166}.notification-item.generic{position:relative}.notification-item.generic:before{content:"";position:absolute;top:6px;bottom:6px;left:6px;width:5px;border-radius:6px;background:linear-gradient(180deg,#8b5cf6,#8b5cf673);backdrop-filter:blur(8px) saturate(180%);-webkit-backdrop-filter:blur(8px) saturate(180%);box-shadow:0 0 0 1px #ffffff2e,0 4px 10px -2px #0006}.notification-item.location-request:hover{background:linear-gradient(135deg,#ff6b3533,#ff57221f,#ffffff14);border-color:#ff6b3566;box-shadow:0 8px 32px -8px #ff6b3566,0 1px #ffffff26 inset}.notification-item.location-request:hover:after{opacity:.8}.notification-item.friend-request:hover{background:linear-gradient(135deg,#8b5cf633,#667eea1f,#ffffff14);border-color:#8b5cf666;box-shadow:0 8px 32px -8px #8b5cf64d,0 1px #ffffff26 inset}.notification-item.friend-request:hover:after{opacity:.8}.notification-item:not(.location-request):not(.friend-request):hover{background:linear-gradient(135deg,#ffffff24,#ffffff14)}.notification-exit{animation:notifDismiss .26s ease forwards}.notification-accept{animation:notifAccept .42s ease forwards}@keyframes notifDismiss{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92) translateY(-6px);filter:blur(2px)}}@keyframes notifAccept{0%{opacity:1;transform:scale(1);box-shadow:0 0 #0ac25500}35%{box-shadow:0 0 0 6px #0ac25559}60%{transform:scale(1.03)}to{opacity:0;transform:scale(.9) translateY(-4px);box-shadow:0 0 0 14px #0ac25500}}.no-notifications{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;height:100%;min-height:0;padding:2rem 1rem;width:100%;margin:0;box-sizing:border-box}.no-notifications-icon{font-size:4rem;margin-bottom:1rem;opacity:.6;filter:grayscale(50%)}.no-notifications-text{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.no-notifications-subtitle{font-size:1rem;color:var(--text-secondary);opacity:.8;margin:0;line-height:1.5}.notification-categories{padding:1.5rem}.category-filters{display:flex;gap:.5rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;border:1px solid rgba(102,126,234,.2);background:#667eea1a;color:var(--text-secondary);border-radius:12px;font-size:.875rem;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-weight:500}.filter-btn:hover{background:#667eea26;border-color:#667eea4d;color:var(--text-primary);transform:translateY(-1px)}.filter-btn.active{background:var(--primary-color, #667eea);color:#fff;border-color:var(--primary-color, #667eea);box-shadow:0 4px 12px #667eea4d}.notification-settings{padding:1.5rem}.settings-content{display:flex;flex-direction:column;gap:1rem}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.2)}.setting-item:last-child{border-bottom:none}.setting-info{flex:1}.setting-label{font-weight:600;color:var(--text-primary);font-size:.95rem;margin:0 0 .25rem}.setting-description{font-size:.8rem;color:var(--text-secondary);opacity:.8;margin:0;line-height:1.4}.setting-control{position:relative}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;background:#9ca3af4d;border-radius:12px;cursor:pointer;transition:all .3s ease;border:1px solid rgba(156,163,175,.4)}.toggle-switch:before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0003}input[type=checkbox]{display:none}input[type=checkbox]:checked+.toggle-switch{background:var(--primary-color, #667eea);border-color:var(--primary-color, #667eea)}input[type=checkbox]:checked+.toggle-switch:before{transform:translate(20px)}.notifications-loading{display:flex;justify-content:center;align-items:center;padding:3rem;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.3)}.loading-spinner{width:24px;height:24px;border:2px solid rgba(102,126,234,.2);border-top:2px solid var(--primary-color, #667eea);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.notification-item:focus,.notification-actions button:focus,.mark-all-read:focus,.filter-btn:focus{outline:2px solid var(--primary-color, #667eea);outline-offset:2px}@media (prefers-reduced-motion: reduce){.notification-item,.notification-actions button,.mark-all-read,.notification-avatar img,.filter-btn{transition:none}.notification-item:hover,.notification-actions button:hover,.mark-all-read:hover,.filter-btn:hover{transform:none}.loading-spinner{animation:none}}@media (prefers-contrast: high){.notification-item{border:2px solid var(--text-primary)}.notification-text,.notification-details,.notification-time{color:var(--text-primary)}}body.dark-mode.page-notifications .notifications-header,body.dark-mode.page-notifications .notification-item,body.dark-mode.page-notifications .no-notifications,body.dark-mode.page-notifications .notification-categories,body.dark-mode.page-notifications .notification-settings{background:#282c34f2;border-color:#ffffff1a}body.dark-mode.page-notifications .notification-item:hover{background:#282c34fa;border-color:#ffffff26}body.dark-mode.page-notifications .filter-btn{background:#667eea26;border-color:#667eea40}body.dark-mode.page-notifications .filter-btn:hover{background:#667eea33}body.dark-mode.page-notifications .toggle-switch{background:#4b5563cc;border-color:#4b5563e6}@media (max-width: 768px){.notifications-card{flex:1 1 auto;min-height:0;height:100%;margin:0}.notifications-scrollable-container{overflow-y:auto;-webkit-overflow-scrolling:touch}}@media (min-width: 768px){.notifications-card{padding:1.25rem 1.25rem 1rem}.notifications-card .page-title{font-size:1.5rem}.notifications-filters .filter-btn{font-size:.95rem;padding:.4rem .9rem}.notifications-scrollable-container{padding:.75rem}.no-notifications{padding:3rem 2rem;min-height:0;height:100%}}@media (max-width: 768px){.notifications-header{padding:1.5rem;flex-direction:column;align-items:flex-start;gap:1rem}.notifications-header .page-title{font-size:1.75rem}.notifications-header .header-actions{width:100%;justify-content:flex-end}.notification-item{padding:1rem;flex-direction:column;align-items:flex-start;gap:1rem}.notification-avatar{align-self:flex-start}.notification-content{width:100%}.notification-actions{width:100%;justify-content:flex-end}.notification-actions button{flex:1;max-width:120px}.category-filters{gap:.375rem}.filter-btn{padding:.375rem .75rem;font-size:.8rem}.setting-item{flex-direction:column;align-items:flex-start;gap:.5rem}.setting-control{align-self:flex-end}}@media (max-width: 520px){.notification-item{padding:.75rem .8rem .7rem;border-radius:16px;gap:.8rem}.notification-item.location-request,.notification-item.friend-request{flex-direction:column;align-items:stretch;padding:.8rem 1rem .75rem}.notification-item.location-request .notification-content,.notification-item.friend-request .notification-content{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.notification-item.location-request .notification-avatar,.notification-item.friend-request .notification-avatar{flex-shrink:0;margin-bottom:0}.notification-item.location-request .notification-text-content,.notification-item.friend-request .notification-text-content{flex:1;min-width:0}.notification-actions{flex-direction:column;gap:.6rem;width:100%;margin-top:.5rem}.notification-actions button{width:100%;padding:.8rem 1.2rem;font-size:.85rem;font-weight:600;min-height:44px;border-radius:12px}.notification-text{font-size:.9rem;line-height:1.3;margin-bottom:.3rem}.notification-time{font-size:.7rem;opacity:.7}.notification-content{width:100%;padding-right:0}}@media (min-width: 521px){.notification-item.location-request,.notification-item.friend-request{padding:.9rem 1rem .8rem}.notification-actions{flex-direction:row;gap:.8rem;width:auto;justify-content:flex-end}.notification-actions button{flex:1;max-width:140px;padding:.8rem 1.2rem;font-size:.9rem;font-weight:600}}@media (max-width: 480px){body.page-notifications .notiifications-card{height:70vw;min-height:40vw;max-height:calc(100dvh - var(--nav-height, 64px) - var(--mobile-bottom-nav-height, 60px) - var(--mobile-bottom-nav-top-gap, 8px) - env(safe-area-inset-bottom,0px))!important;padding-bottom:20px}.notifications-page{padding:0;flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column}.notifications-page .notifications-scrollable-container{flex:1 1 auto;min-height:0;overflow-y:auto}.notifications-header{padding:1rem;border-radius:16px}.notifications-header .page-title{font-size:1.5rem}.notification-item{padding:.75rem;border-radius:12px}.notification-actions{flex-direction:column;gap:.5rem}.notification-actions button{max-width:none}.no-notifications{padding:1.5rem 1rem;min-height:0;height:100%}.no-notifications-icon{font-size:3rem}.no-notifications-text{font-size:1.125rem}}.notify-overlay{position:fixed;inset:0;z-index:1000;pointer-events:none}.notify-backdrop{position:absolute;inset:0;background:var(--modal-overlay-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:backdropIn .2s ease-out both;pointer-events:auto}.notify-container{position:absolute;left:50%;transform:translate(-50%);width:min(920px,92vw);max-height:88vh;margin-top:6vh;background:var(--depth-surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:1.5rem;box-shadow:0 20px 60px var(--modal-shadow);overflow:hidden auto;animation:modalFadeIn .25s cubic-bezier(.16,1,.3,1) both;pointer-events:auto}.notify-grabber{display:none}.notify-overlay.closing .notify-backdrop{animation:backdropOut .2s ease-out both}.notify-overlay.closing .notify-container{animation:modalFadeIn .25s cubic-bezier(.16,1,.3,1) reverse both}@media (max-width: 480px){.notify-overlay.closing .notify-container{animation:sheetOut .25s cubic-bezier(.4,0,1,1) both}}.notify-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border)}.notify-title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.notify-title i{color:var(--accent-primary)}.notify-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:20px;border-radius:8px}.notify-close:hover{background:var(--surface-hover);color:var(--text-primary)}.notify-close:active{transform:scale(.95)}.notify-segment{padding:1rem 1.5rem}.notify-segment:first-of-type{padding-bottom:.5rem}.notify-segment.notify-responses{border-top:1px solid var(--border);margin-top:0}.notify-segment.notify-responses:first-of-type{margin-top:.5rem}.segment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.segment-header.sticky{position:relative}.segment-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.notify-responses .segment-title{font-size:.8125rem;color:var(--text-tertiary);font-weight:500}.segment-actions{display:flex;align-items:center;gap:.75rem}.select-all{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--text-secondary);padding:.5rem .875rem;border-radius:.625rem;border:1px solid var(--border);background:transparent;transition:all .2s ease;-webkit-user-select:none;user-select:none}.select-all:hover{background:var(--surface-hover);color:var(--text-primary)}.select-all:has(input[type=checkbox]:checked){background:color-mix(in srgb,var(--accent-primary) 12%,transparent);border-color:var(--accent-primary);color:var(--accent-primary)}.select-all:active{transform:scale(.98)}.select-all input[type=checkbox]{cursor:pointer;accent-color:var(--accent-primary)}.notify-overlay .friends-grid,.notify-container .friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.75rem}.notify-overlay .notify-friend-card,.notify-container .notify-friend-card{position:relative;padding:.75rem .5rem;background:#ffffff0d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:1rem;box-shadow:0 4px 16px #0000001a,inset 0 1px #ffffff1a;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:0;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);width:96px;height:120px;min-height:120px;max-height:120px;box-sizing:border-box;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.notify-overlay .notify-friend-card:hover:not(.selected):not(.disabled),.notify-container .notify-friend-card:hover:not(.selected):not(.disabled){background:#ffffff14;border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 24px #00000026,inset 0 1px #ffffff26}.notify-overlay .notify-friend-card:active:not(.disabled),.notify-container .notify-friend-card:active:not(.disabled){transform:scale(.98)}.notify-overlay .notify-friend-card.disabled,.notify-container .notify-friend-card.disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.notify-overlay .friend-avatar,.notify-container .friend-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.15);transition:all .3s cubic-bezier(.4,0,.2,1);background:#0003;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 12px #00000026,inset 0 1px #ffffff1a;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin:0}.notify-overlay .friend-avatar img,.notify-container .friend-avatar img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.notify-overlay .friend-name,.notify-container .friend-name{font-size:.8125rem;font-weight:500;color:var(--text-primary);text-align:center;width:100%;max-width:88px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-break:break-word;min-height:2em;line-height:1;margin:.5rem 0 0;padding:0}.notify-overlay .friend-select,.notify-container .friend-select{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.notify-overlay .friend-badge,.notify-container .friend-badge{position:absolute;top:.5rem;right:.5rem;font-size:.625rem;font-weight:600;padding:.1875rem .4375rem;border-radius:999px;background:var(--warning-light);color:var(--warning);border:1px solid var(--warning);z-index:2}.notify-overlay .friend-badge.green,.notify-container .friend-badge.green{background:var(--success-light);color:var(--success);border-color:var(--success)}.notify-overlay .friend-badge.red,.notify-container .friend-badge.red{background:var(--error-light);color:var(--error);border-color:var(--error)}.notify-overlay .friend-status-icon,.notify-container .friend-status-icon{position:absolute;top:.5rem;right:.5rem;font-size:1.25rem;z-index:2;pointer-events:none}.notify-overlay .friend-status-icon.available,.notify-container .friend-status-icon.available{color:var(--success)}.notify-overlay .friend-status-icon.busy,.notify-container .friend-status-icon.busy{color:var(--error)}.notify-overlay .notify-friend-card.selected,.notify-container .notify-friend-card.selected{background:linear-gradient(135deg,#8b5cf626,#a855f71a)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border:1.5px solid rgba(139,92,246,.4)!important;box-shadow:0 0 0 3px #8b5cf626,0 8px 24px #8b5cf633,inset 0 1px #fff3!important;transform:scale(1.02)!important}.notify-overlay .notify-friend-card.selected:hover,.notify-container .notify-friend-card.selected:hover{background:linear-gradient(135deg,#8b5cf633,#a855f726)!important;border-color:#8b5cf680!important;box-shadow:0 0 0 3px #8b5cf633,0 12px 32px #8b5cf640,inset 0 1px #ffffff40!important;transform:scale(1.02) translateY(-2px)!important}.notify-overlay .notify-friend-card.selected .friend-avatar,.notify-container .notify-friend-card.selected .friend-avatar{border-color:var(--accent-primary)!important;border-width:2.5px!important;box-shadow:0 0 16px #8b5cf64d!important}.notify-overlay .notify-friend-card.selected .friend-name,.notify-container .notify-friend-card.selected .friend-name{color:var(--accent-primary)!important;font-weight:600!important;text-shadow:0 0 12px rgba(139,92,246,.3)!important}.notify-overlay .notify-friend-card:focus-within,.notify-container .notify-friend-card:focus-within{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.segment-empty{text-align:center;color:var(--text-tertiary);padding:1.5rem 0;font-size:.875rem}.notify-send-button{padding:1rem 1.5rem .75rem;background:var(--depth-surface);border-bottom:1px solid var(--border)}.send-button{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px var(--shadow);transition:all .2s ease}.send-button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 20px var(--shadow)}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.notify-overlay{z-index:999}.notify-backdrop{bottom:calc(var(--mobile-bottom-nav-height, 60px) + var(--mobile-bottom-nav-top-gap, 8px) + env(safe-area-inset-bottom,0px));animation:backdropIn .2s ease-out both}.notify-container{inset:auto 0 0;transform:none;width:100vw;max-height:calc(82vh - var(--mobile-bottom-nav-height, 60px) - var(--mobile-bottom-nav-top-gap, 8px) - env(safe-area-inset-bottom,0px));margin:0;margin-bottom:calc(var(--mobile-bottom-nav-height, 60px) + var(--mobile-bottom-nav-top-gap, 8px) + env(safe-area-inset-bottom,0px));border-radius:1.5rem 1.5rem 0 0;animation:sheetIn .25s cubic-bezier(.16,1,.3,1) both;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.notify-container::-webkit-scrollbar{display:none}.notify-grabber{display:block;width:44px;height:5px;background:var(--text-tertiary);opacity:.3;border-radius:999px;margin:.75rem auto 0}.notify-header{padding-top:.5rem;padding-bottom:.5rem}.notify-segment{padding:1rem 1.5rem}.notify-segment:first-of-type{padding-bottom:0}.notify-send-button{padding:.5rem 1.5rem 1rem;background:var(--depth-surface);border-bottom:1px solid var(--border)}.notify-segment.notify-responses{padding-top:1rem;padding-bottom:1rem}.notify-segment.notify-responses .segment-empty{padding:1rem 0}.segment-header{margin-bottom:.75rem}.segment-title{font-size:.8125rem}.notify-overlay .friend-avatar,.notify-container .friend-avatar{width:58px!important;height:58px!important}.notify-overlay .friends-grid,.notify-container .friends-grid{display:flex!important;flex-direction:row;flex-wrap:nowrap;gap:.75rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding:.75rem 0;scrollbar-width:none;-ms-overflow-style:none}.notify-overlay .friends-grid::-webkit-scrollbar,.notify-container .friends-grid::-webkit-scrollbar{display:none}.notify-overlay .notify-friend-card,.notify-container .notify-friend-card{flex-shrink:0;width:104px;height:140px;scroll-snap-align:start}.notify-overlay .friends-grid>.notify-friend-card:first-child,.notify-container .friends-grid>.notify-friend-card:first-child{margin-left:.25rem}.notify-overlay .friends-grid>.notify-friend-card:last-child,.notify-container .friends-grid>.notify-friend-card:last-child{margin-right:.25rem}}@media (min-width: 481px) and (max-width: 900px){.notify-overlay .friends-grid,.notify-container .friends-grid{grid-template-columns:repeat(6,1fr)}}@media (min-width: 901px){.notify-overlay .friends-grid,.notify-container .friends-grid{grid-template-columns:repeat(8,1fr)}}@keyframes sheetIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes sheetOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes backdropOut{0%{opacity:1}to{opacity:0}}@keyframes modalFadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (prefers-reduced-motion: reduce){.notify-container,.notify-backdrop,.friend-card,.send-button{animation:none;transition:opacity .2s ease}.friend-card:hover,.send-button:hover{transform:none}}body:not(.dark-mode) .form-input,body:not(.dark-mode) input[type=text],body:not(.dark-mode) input[type=email],body:not(.dark-mode) input[type=password],body:not(.dark-mode) textarea,body:not(.dark-mode) select{background:#ffffffe6!important;border-color:#8b7de84d!important;color:#1e1b29!important;box-shadow:0 2px 8px #8b7de814,inset 0 1px #ffffffe6!important}body:not(.dark-mode) .form-input::placeholder,body:not(.dark-mode) input::placeholder,body:not(.dark-mode) textarea::placeholder{color:#8b87a0!important;opacity:.7}body:not(.dark-mode) .form-input:focus,body:not(.dark-mode) input:focus,body:not(.dark-mode) textarea:focus,body:not(.dark-mode) select:focus{background:#fff!important;border-color:#8b7de8!important;box-shadow:0 0 0 3px #8b7de826,0 4px 12px #8b7de81f,inset 0 1px #fff!important;outline:none}body:not(.dark-mode) .setup-container .form-input,body:not(.dark-mode) .profile-setup .form-input{background:#fffffff2!important;border:2px solid rgba(139,125,232,.3)!important}body:not(.dark-mode) #setup-handle{background:#fffffff2!important;border-color:#8b7de84d!important}body:not(.dark-mode) #setup-handle.valid{border-color:#4ade8080!important;background:#f0fff4f2!important}body:not(.dark-mode) #setup-handle.invalid{border-color:#dc262680!important;background:#fef2f2f2!important}body:not(.dark-mode) .bio-textarea,body:not(.dark-mode) textarea.form-input{background:#fffffff2!important;border:2px solid rgba(139,125,232,.3)!important;min-height:120px}body:not(.dark-mode) .select-dropdown,body:not(.dark-mode) .typeahead-list{background:#fffffff2!important;border-color:#8b7de840!important;box-shadow:0 8px 24px #8b7de826,0 4px 8px #8b7de814!important}body:not(.dark-mode) .select-dropdown-item,body:not(.dark-mode) .typeahead-item{color:#1e1b29!important}body:not(.dark-mode) .select-dropdown-item:hover,body:not(.dark-mode) .typeahead-item:hover,body:not(.dark-mode) .select-dropdown-item.selected{background:#8b7de81f!important;color:#1e1b29!important}body:not(.dark-mode) .day-time-slot{background:#ffffffe6!important;border:2px solid rgba(139,125,232,.25)!important;box-shadow:0 4px 12px #8b7de81a,0 2px 4px #8b7de80f,inset 0 1px #fff!important;color:#1e1b29!important}body:not(.dark-mode) .day-time-slot:hover{background:#f8f6ff!important;border-color:#8b7de866!important;transform:translateY(-2px);box-shadow:0 8px 20px #8b7de82e,0 4px 8px #8b7de81a,inset 0 1px #fff!important}body:not(.dark-mode) .day-time-slot.free{background:#f0fff4e6!important;border-color:#4ade8066!important;box-shadow:0 4px 12px #4ade801f,0 2px 4px #4ade8014,inset 0 1px #fff!important}body:not(.dark-mode) .day-time-slot.free:hover{background:#ecfdf5!important;border-color:#4ade8080!important;box-shadow:0 8px 20px #4ade8033,0 4px 8px #4ade801f,inset 0 1px #fff!important}body:not(.dark-mode) .day-time-slot.free .slot-free-text{color:#059669!important;font-weight:600}body:not(.dark-mode) .day-time-slot.busy{background:linear-gradient(135deg,#8b7de8,#9d8ef0)!important;border-color:#8b7de899!important;box-shadow:0 6px 16px #8b7de840,0 3px 6px #8b7de826,inset 0 1px #ffffff4d!important;color:#fff!important}body:not(.dark-mode) .day-time-slot.busy:hover{background:linear-gradient(135deg,#9d8ef0,#b8aff5)!important;border-color:#8b7de8b3!important;transform:translateY(-2px);box-shadow:0 10px 24px #8b7de859,0 5px 10px #8b7de833,inset 0 1px #fff6!important}body:not(.dark-mode) .day-time-slot.busy .slot-course-code,body:not(.dark-mode) .day-time-slot.busy .slot-classroom,body:not(.dark-mode) .day-time-slot.busy .slot-time{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.1)}body:not(.dark-mode) .day-time-slot .slot-time{background:#8b7de81f!important;color:#5e5a73!important;border:1px solid rgba(139,125,232,.2)!important;font-weight:600}body:not(.dark-mode) .day-time-slot.busy .slot-time{background:#ffffff40!important;color:#fff!important;border-color:#ffffff4d!important}body:not(.dark-mode) .day-time-slot.free .slot-time{background:#4ade8026!important;color:#059669!important;border-color:#4ade804d!important}body:not(.dark-mode) .day-time-slot .slot-course-code{color:#1e1b29!important;font-weight:700;font-size:clamp(.95rem,2.2vw,1.1rem)}body:not(.dark-mode) .day-time-slot .slot-classroom{color:#5e5a73!important;font-weight:500;opacity:.9}body:not(.dark-mode) .view-mode-btn,body:not(.dark-mode) .day-selector-btn{background:#ffffffd9!important;border-color:#8b7de833!important;color:#5e5a73!important;box-shadow:0 2px 6px #8b7de814!important}body:not(.dark-mode) .view-mode-btn:hover,body:not(.dark-mode) .day-selector-btn:hover{background:#f8f6fff2!important;border-color:#8b7de84d!important;color:#1e1b29!important}body:not(.dark-mode) .view-mode-btn.active,body:not(.dark-mode) .day-selector-btn.active{background:linear-gradient(135deg,#8b7de8,#9d8ef0)!important;border-color:#8b7de899!important;color:#fff!important;box-shadow:0 4px 12px #8b7de840,inset 0 1px #ffffff4d!important}body:not(.dark-mode) .quick-access-star{background:linear-gradient(135deg,#ffd70040,#ffc1074d)!important;border:2px solid rgba(255,215,0,.5)!important;box-shadow:0 4px 12px #ffd70040,0 2px 6px #ffc10733,inset 0 1px #fff6!important}body:not(.dark-mode) .quick-access-star i{color:#ffa500e6!important;font-size:1rem!important}body:not(.dark-mode) .quick-access-star:hover{background:linear-gradient(135deg,#ffd70059,#ffc10766)!important;border-color:#ffd700b3!important;transform:translateY(-2px) scale(1.08)!important;box-shadow:0 6px 20px #ffd70059,0 4px 12px #ffc1074d,inset 0 1px #ffffff80!important}body:not(.dark-mode) .quick-access-star:hover i{color:#ff8c00!important;transform:scale(1.15)}body:not(.dark-mode) .quick-access-star.starred{background:linear-gradient(135deg,#ffd70080,#ffc10799)!important;border-color:#ffd700cc!important;box-shadow:0 0 24px #ffd70080,0 6px 20px #ffc10766,0 3px 10px #ffd7004d,inset 0 1px #fff9!important}body:not(.dark-mode) .quick-access-star.starred i{color:#ff8c00!important;text-shadow:0 0 12px rgba(255,215,0,.6)}body:not(.dark-mode) .quick-access-star.starred:hover{background:linear-gradient(135deg,#ffd70099,#ffc107b3)!important;transform:translateY(-3px) scale(1.12)!important;box-shadow:0 0 30px #ffd700b3,0 8px 24px #ffc10780,0 4px 14px #ffd70066,inset 0 1px #ffffffb3!important}body:not(.dark-mode) .glass-card{background:#fffc!important;border-color:#8b7de833!important;box-shadow:0 8px 32px #8b7de81a,0 4px 12px #8b7de80f,inset 0 1px #fff!important}body:not(.dark-mode) .about-title{background:linear-gradient(135deg,#6d28d9,#8b5cf6,#a78bfa,#c4b5fd,#8b5cf6,#6d28d9)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;text-shadow:none;filter:brightness(.95)}body:not(.dark-mode) .about-name{background:linear-gradient(120deg,#4c1d95,#6d28d9 25%,#7c3aed 45%,#8b5cf6 60%,#6d28d9,#4c1d95)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;filter:brightness(1.05)}body:not(.dark-mode) .tagline-line{color:#5b21b6!important;font-weight:600!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;animation:none!important}body:not(.dark-mode) .tagline-line.shine{color:#5b21b6!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;animation:none!important}body:not(.dark-mode) .about-tile{background:linear-gradient(160deg,#fffffff2,#f8f6fffa,#ffffffeb)!important;border:2px solid rgba(139,125,232,.25)!important;box-shadow:0 8px 24px #8b7de81f,0 4px 12px #8b7de814,inset 0 1px #fff!important;color:#1e1b29!important}body:not(.dark-mode) .about-tile:hover{background:linear-gradient(160deg,#fff,#faf8ff,#fffffffa)!important;border-color:#8b7de859!important;transform:translateY(-2px);box-shadow:0 12px 32px #8b7de82e,0 6px 16px #8b7de81f,inset 0 1px #fff!important}body:not(.dark-mode) .about-tile h3{color:#7c3aed!important;font-weight:700!important}body:not(.dark-mode) .about-tile ul,body:not(.dark-mode) .about-tile p{color:#5e5a73!important}body:not(.dark-mode) .about-tile li{color:#3f3a52!important}@media (max-width: 768px){body:not(.dark-mode) .day-time-slot{border-width:1.5px!important}body:not(.dark-mode) .form-input{font-size:clamp(1rem,2.5vw,1.1rem)}}@media (prefers-contrast: high){body:not(.dark-mode) .day-time-slot{border-width:3px!important}body:not(.dark-mode) .form-input{border-width:2px!important}body:not(.dark-mode) .day-time-slot.busy{background:#8b7de8!important}}.spa-loading{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--spa-loading-bg);display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.gps-permission-banner{display:flex;width:100%;box-sizing:border-box;align-items:center;justify-content:space-between;gap:.75rem;padding:0;border-radius:.85rem;background:var(--surface-card, rgba(15, 20, 30, .65));color:var(--text-primary, #fff);font-size:.86rem;line-height:1.35;border:1px solid rgba(102,224,255,.16);box-shadow:0 10px 24px #080c1240;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin-bottom:0;opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .28s ease,transform .28s ease,padding .28s ease,margin .28s ease,max-height .28s ease;visibility:hidden;max-height:0;overflow:hidden}.gps-permission-banner[data-visible=true]{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible;padding:.45rem .85rem;margin-bottom:.85rem;max-height:160px}.gps-permission-banner .gps-banner-text{flex:1 1 auto;font-weight:500;letter-spacing:.01em}.gps-permission-banner .gps-banner-actions{display:flex;align-items:center;gap:.4rem}.gps-permission-banner .gps-banner-action{appearance:none;border:none;border-radius:999px;padding:.4rem 1.1rem;font-size:.82rem;font-weight:600;color:var(--nav-solid-bg, #05070c);background:var(--accent-primary, #66e0ff);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.gps-permission-banner .gps-banner-action:active{transform:scale(.97)}.gps-permission-banner .gps-banner-action[aria-busy=true]{opacity:.7;pointer-events:none}.gps-permission-banner .gps-banner-dismiss{appearance:none;border:none;background:transparent;color:var(--text-secondary, rgba(255, 255, 255, .65));cursor:pointer;border-radius:50%;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}.gps-permission-banner .gps-banner-dismiss:hover{background:#ffffff1f;color:var(--text-primary, #fff)}.loading-spinner{text-align:center;padding:2rem;background:var(--glass-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--glass-border)}.loading-spinner i{font-size:2rem;color:var(--accent-primary);margin-bottom:1rem;display:block}.loading-spinner span{color:var(--text-primary);font-weight:500}.main-content{opacity:1;transition:opacity .3s ease-in-out;position:relative}.main-content.loading{opacity:.7;pointer-events:none}.main-content.spa-loading{opacity:.5}.content-grid{animation:spa-content-fade-in .5s ease-out}@keyframes spa-content-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.nav-link.active,.dropdown-item.active{background:var(--accent-primary)!important;color:#fff!important}.nav-link.nav-cta.active{background:transparent!important;color:var(--accent-primary)!important}.nav-link.active .nav-text,.dropdown-item.active span{color:#fff!important}.nav-link.nav-cta.active .nav-text{color:var(--accent-primary)!important}body.page-about .nav-link.nav-cta.active{box-shadow:none!important}body.is-auth #aboutBtn{display:none!important}body.page-home .nav-link[data-spa-route=home],body.page-profile .dropdown-item[data-spa-route=profile],body.page-friends .nav-link[data-spa-route=friends]{background:var(--accent-primary);color:#fff}.spa-loading-placeholder{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--text-muted);font-style:italic}.spa-loading-placeholder:before{content:"⏳ ";margin-right:.5rem;animation:spin 1s linear infinite}.error-page{background:var(--glass-bg);border-radius:var(--radius-lg);border:1px solid var(--glass-border);margin:2rem;padding:3rem}.error-page h2{color:var(--text-primary);margin-bottom:1rem}.error-page .empty-icon{font-size:4rem;margin-bottom:1rem}.about-container{max-width:1200px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;gap:2rem}.page-title{font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.75rem}.page-subtitle{color:var(--text-secondary);font-size:1.1rem;line-height:1.6}.feature-list{list-style:none;padding:0;margin:1rem 0}.feature-list li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;color:var(--text-primary)}.feature-list i{color:var(--accent-primary);width:20px}.developer-card{display:flex;gap:1.5rem;align-items:flex-start}.developer-avatar{width:80px;height:80px;background:var(--accent-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;flex-shrink:0}.developer-details h4{color:var(--text-primary);margin-bottom:.75rem}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tech-tag{background:var(--accent-primary);color:#fff;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500}.contact-buttons{display:flex;gap:1rem;margin-top:1rem}.version-content{line-height:1.6}.credits ul{list-style:none;padding:0;margin-top:.5rem}.credits li{padding:.25rem 0;color:var(--text-secondary)}@media (max-width: 768px){.about-container{padding:1rem}.page-title{font-size:1.5rem}.developer-card{flex-direction:column;text-align:center}.contact-buttons{flex-direction:column}}
