*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}button:active,a:active,[role=button]:active,.clickable:active{transform:scale(.97);opacity:.85;transition:transform .1s ease,opacity .1s ease}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(--accent-primary);--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(--accent-primary);--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: 6px;--safe-top: env(safe-area-inset-top, 0px);--top-offset: var(--nav-height);--bottom-offset: env(safe-area-inset-bottom, 0px);--content-available-height: calc( 100dvh - var(--top-offset) - var(--bottom-offset) );--main-content-available-height: var(--content-available-height);--main-content-available-height-with-bottom-nav: var( --content-available-height )}: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)}body.has-bottom-nav{--bottom-offset: calc( var(--mobile-bottom-nav-height, 60px) + var(--mobile-bottom-nav-top-gap, 8px) + env(safe-area-inset-bottom, 0px) )}body.no-top-nav{--top-offset: var(--safe-top)}body.immersive-chat-mode,body.immersive-profile-mode{--top-offset: var(--safe-top);--bottom-offset: env(safe-area-inset-bottom, 0px)}.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(--top-offset)}@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%}body.page-saf,body.page-admin{padding-top:0!important}body.page-saf .main-content,body.page-admin .main-content{padding-top:env(safe-area-inset-top,0px)!important}}body.page-saf .main-content,body.page-admin .main-content{padding:0!important;overflow-x:hidden}body.immersive-chat-mode .app-container{padding-top:0!important;height:100dvh!important}body.immersive-chat-mode .main-content{height:100dvh!important;max-height:100dvh!important;min-height:100dvh!important;padding:0!important}.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:6px;right:8px;width:10px;height:10px;border-radius:50%;background:#ff4d4d;box-shadow:0 0 0 2px var(--color-nav)}#messagesNavBtn .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){.nav-link.has-alert:after{top:4px;right:6px;width:9px;height:9px}#messagesNavBtn .nav-dot{top:4px;right:6px;width:9px;height:9px}}.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;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;flex:1 1 auto;background:var(--main-content-bg);position:relative;height:var(--content-available-height);max-height:var(--content-available-height);min-height:var(--content-available-height);padding-bottom:var(--bottom-offset)}.main-content:focus,.main-content:focus-visible{outline:none!important;box-shadow:none!important}.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;min-height:100%;padding-bottom:var(--bottom-offset)}.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(5,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:env(safe-area-inset-bottom,0px);height:calc(var(--bn-h) + var(--mobile-bottom-nav-top-gap, 8px));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:var(--accent-primary);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;font-family:"Font Awesome 6 Free";font-weight:400;font-style:normal}.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);font-weight:900;font-family:"Font Awesome 6 Free"}.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-nav-item.has-alert:after{content:"";position:absolute;top:6px;right:8px;width:8px;height:8px;border-radius:50%;background:#ff4d4d;box-shadow:0 0 0 2px var(--bg-primary);animation:badgePop .32s ease-out both}.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;--top-offset: var(--nav-height);--content-available-height: calc( 100dvh - var(--top-offset) - var(--bottom-offset) );--main-content-available-height: var(--content-available-height);--main-content-available-height-with-bottom-nav: var( --content-available-height )}.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 .75rem var(--bottom-offset)!important}.main-content{height:auto;min-height:var(--content-available-height);max-height:var(--content-available-height);padding-bottom:var(--bottom-offset)}.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}#messagesNavBtn .nav-text{display:none!important}#messagesNavBtn{min-width:48px;min-height:48px;padding:.625rem;justify-content:center;align-items:center}#messagesNavBtn 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(--content-available-height);max-height:var(--content-available-height);min-height:var(--content-available-height);display:flex;flex-direction:column;overflow:hidden;padding-bottom:calc(12px + var(--bottom-offset))}body.page-friends .main-content,body.page-groups .main-content,body.page-messages .main-content,body.page-user .main-content{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}body.page-clubs .main-content,body.page-saf .main-content,body.page-admin .main-content{padding:0!important;padding-bottom:var(--bottom-offset)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}body.page-clubs .content-grid,body.page-saf .content-grid,body.page-admin .content-grid{flex:1 1 auto;min-height:100%;padding-bottom:0}body.page-clubs .clubs-section,body.page-clubs .club-section{flex:1 1 auto;min-height:100%;display:flex;flex-direction:column}body.page-saf .top-nav,body.page-admin .top-nav{display:none!important}body.page-saf .app-container,body.page-admin .app-container{padding-top:0!important}body.page-saf .main-content,body.page-admin .main-content{padding-top:env(safe-area-inset-top,0px)!important;min-height:100dvh!important;height:100dvh!important;max-height:100dvh!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)}#messagesNavBtn{padding:.75rem 1.5rem}#messagesNavBtn i{font-size:1.2rem}#messagesNavBtn .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;gap:.75rem;padding:1rem 1.25rem;align-items:center}.avatar-skeleton{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:62px}.avatar-skeleton-circle{width:52px;height:52px;border-radius:50%;background:linear-gradient(120deg,var(--surface-light) 25%,var(--border-light) 50%,var(--surface-light) 75%);background-size:200% 200%;animation:none}.avatar-skeleton-bar{width:70%;height:8px;border-radius:999px;background:linear-gradient(120deg,var(--surface-light) 25%,var(--border-light) 50%,var(--surface-light) 75%);background-size:200% 200%;animation:none}.friends-loading-state .desktop-only{display:none}@media (min-width: 640px){.friends-loading-state{gap:1rem;padding:1.25rem 1.5rem}.friends-loading-state .desktop-only{display:flex}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.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-hint{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;color:var(--text-tertiary);margin-top:.75rem;padding:.75rem 1rem;background:var(--glass-bg, rgba(255, 255, 255, .05));border-radius:8px;border:1px solid var(--glass-border, rgba(255, 255, 255, .1))}.modal-hint i{color:var(--accent-primary, #8b5cf6);margin-top:2px;flex-shrink:0}.modal-hint.modal-warning{background:#fbbf241a;border-color:#fbbf244d;color:var(--warning, #fbbf24)}.modal-hint.modal-warning i{color:var(--warning, #fbbf24)}.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 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;padding-bottom:var(--bottom-offset)!important;width:100%!important;max-width:100%!important;margin:0 auto;display:flex!important;flex-direction:column!important}@media (max-width: 768px){body.page-profile main.main-content{padding:.5rem .4rem var(--bottom-offset)!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;padding-bottom:var(--bottom-offset)!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}.qna-controls,.qna-list,.qna-item,.qna-item label,.qna-answer,#qna-picker{font-family:var(--font-brand, "Sora", "Poppins", sans-serif)}.qna-list{display:grid;gap:12px}.qna-item{position:relative;padding:12px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.qna-item .qna-remove{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;border:none;color:#fff;background:#ef4444;font-size:18px;line-height:24px;text-align:center;cursor:pointer}.qna-item .qna-remove.disabled{opacity:.5;cursor:not-allowed}.qna-item label{display:block;margin-bottom:6px}.qna-item .qna-answer{width:100%;resize:vertical}.avatar-preview-display.selected{outline:2px solid var(--accent-primary, #3b82f6);box-shadow:0 0 0 4px #3b82f633}.interests-selected-wrapper,.interests-add-custom,.interests-suggestions-wrapper{margin-top:1rem}.interests-selected-wrapper{padding:1.125rem;border-radius:12px;background:#6366f114;border:1px solid rgba(99,102,241,.15);min-height:85px}.interests-suggestions-wrapper{padding:1.125rem;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.interests-section-label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--text-primary, #fff);margin-bottom:.8rem;opacity:.9}.interests-section-label i{font-size:.9rem;opacity:.8}.interests-selected:empty:after{content:"No interests selected yet. Choose from suggestions below or add your own.";display:block;padding:1.5rem 1rem;text-align:center;color:#ffffff80;font-size:.95rem;font-style:italic}.chips-grid{display:flex;flex-wrap:wrap;gap:8px}.interests-selected .interest-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:9999px;font-size:14px;font-weight:500;border:1.5px solid;color:var(--text-primary, #fff);transition:all .2s ease;cursor:default}.interests-selected .interest-chip:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.interests-selected .interest-chip i{font-size:15px;opacity:1}.interests-selected .interest-chip .chip-remove{margin-left:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0000004d;color:#fff;cursor:pointer;font-size:15px;line-height:22px;text-align:center;transition:all .15s ease}.interests-selected .interest-chip .chip-remove:hover{background:#ef4444e6;transform:scale(1.1)}.interests-suggestions .interest-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:9999px;font-size:13px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#fffc;cursor:pointer;transition:all .2s ease}.interests-suggestions .interest-chip:hover{background:#ffffff1f;border-color:#ffffff40;color:var(--text-primary, #fff);transform:translateY(-1px)}.interests-suggestions .interest-chip i{font-size:13px;opacity:.85}.interests-selected .interest-chip[data-color="1"]{background:linear-gradient(135deg,#3b82f659,#2563eb47);border-color:#3b82f680;box-shadow:0 4px 12px #3b82f640,0 2px 4px #3b82f626;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="2"]{background:linear-gradient(135deg,#10b98159,#05966947);border-color:#10b98180;box-shadow:0 4px 12px #10b98140,0 2px 4px #10b98126;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="3"]{background:linear-gradient(135deg,#f59e0b59,#d9770647);border-color:#f59e0b80;box-shadow:0 4px 12px #f59e0b40,0 2px 4px #f59e0b26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="4"]{background:linear-gradient(135deg,#ec489959,#db277747);border-color:#ec489980;box-shadow:0 4px 12px #ec489940,0 2px 4px #ec489926;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="5"]{background:linear-gradient(135deg,#6366f159,#4f46e547);border-color:#6366f180;box-shadow:0 4px 12px #6366f140,0 2px 4px #6366f126;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="6"]{background:linear-gradient(135deg,#a855f759,#9333ea47);border-color:#a855f780;box-shadow:0 4px 12px #a855f740,0 2px 4px #a855f726;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="7"]{background:linear-gradient(135deg,#ef444459,#dc262647);border-color:#ef444480;box-shadow:0 4px 12px #ef444440,0 2px 4px #ef444426;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="8"]{background:linear-gradient(135deg,#14b8a659,#0d948847);border-color:#14b8a680;box-shadow:0 4px 12px #14b8a640,0 2px 4px #14b8a626;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="9"]{background:linear-gradient(135deg,#84cc1659,#65a30d47);border-color:#84cc1680;box-shadow:0 4px 12px #84cc1640,0 2px 4px #84cc1626;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="10"]{background:linear-gradient(135deg,#0ea5e959,#0284c747);border-color:#0ea5e980;box-shadow:0 4px 12px #0ea5e940,0 2px 4px #0ea5e926;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="11"]{background:linear-gradient(135deg,#f472b659,#ec489947);border-color:#f472b680;box-shadow:0 4px 12px #f472b640,0 2px 4px #f472b626;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="12"]{background:linear-gradient(135deg,#fb923c59,#f9731647);border-color:#fb923c80;box-shadow:0 4px 12px #fb923c40,0 2px 4px #fb923c26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="13"]{background:linear-gradient(135deg,#c4b5fd59,#a78bfa47);border-color:#c4b5fd80;box-shadow:0 4px 12px #c4b5fd40,0 2px 4px #c4b5fd26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="14"]{background:linear-gradient(135deg,#34d39959,#10b98147);border-color:#34d39980;box-shadow:0 4px 12px #34d39940,0 2px 4px #34d39926;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-selected .interest-chip[data-color="15"]{background:linear-gradient(135deg,#fed7aa59,#fdba7447);border-color:#fed7aa80;box-shadow:0 4px 12px #fed7aa40,0 2px 4px #fdba7426;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interests-suggestions .interest-chip[data-color="1"]{background:#3b82f614;border-color:#3b82f62e}.interests-suggestions .interest-chip[data-color="1"]:hover{background:#3b82f626;border-color:#3b82f64d;box-shadow:0 2px 8px #3b82f633}.interests-suggestions .interest-chip[data-color="2"]{background:#10b98114;border-color:#10b9812e}.interests-suggestions .interest-chip[data-color="2"]:hover{background:#10b98126;border-color:#10b9814d;box-shadow:0 2px 8px #10b98133}.interests-suggestions .interest-chip[data-color="3"]{background:#f59e0b14;border-color:#f59e0b2e}.interests-suggestions .interest-chip[data-color="3"]:hover{background:#f59e0b26;border-color:#f59e0b4d;box-shadow:0 2px 8px #f59e0b33}.interests-suggestions .interest-chip[data-color="4"]{background:#ec489914;border-color:#ec48992e}.interests-suggestions .interest-chip[data-color="4"]:hover{background:#ec489926;border-color:#ec48994d;box-shadow:0 2px 8px #ec489933}.interests-suggestions .interest-chip[data-color="5"]{background:#6366f114;border-color:#6366f12e}.interests-suggestions .interest-chip[data-color="5"]:hover{background:#6366f126;border-color:#6366f14d;box-shadow:0 2px 8px #6366f133}.interests-suggestions .interest-chip[data-color="6"]{background:#a855f714;border-color:#a855f72e}.interests-suggestions .interest-chip[data-color="6"]:hover{background:#a855f726;border-color:#a855f74d;box-shadow:0 2px 8px #a855f733}.interests-suggestions .interest-chip[data-color="7"]{background:#ef444414;border-color:#ef44442e}.interests-suggestions .interest-chip[data-color="7"]:hover{background:#ef444426;border-color:#ef44444d;box-shadow:0 2px 8px #ef444433}.interests-suggestions .interest-chip[data-color="8"]{background:#14b8a614;border-color:#14b8a62e}.interests-suggestions .interest-chip[data-color="8"]:hover{background:#14b8a626;border-color:#14b8a64d;box-shadow:0 2px 8px #14b8a633}.interests-suggestions .interest-chip[data-color="9"]{background:#84cc1614;border-color:#84cc162e}.interests-suggestions .interest-chip[data-color="9"]:hover{background:#84cc1626;border-color:#84cc164d;box-shadow:0 2px 8px #84cc1633}.interests-suggestions .interest-chip[data-color="10"]{background:#0ea5e914;border-color:#0ea5e92e}.interests-suggestions .interest-chip[data-color="10"]:hover{background:#0ea5e926;border-color:#0ea5e94d;box-shadow:0 2px 8px #0ea5e933}.interests-suggestions .interest-chip[data-color="11"]{background:#f472b614;border-color:#f472b62e}.interests-suggestions .interest-chip[data-color="11"]:hover{background:#f472b626;border-color:#f472b64d;box-shadow:0 2px 8px #f472b633}.interests-suggestions .interest-chip[data-color="12"]{background:#fb923c14;border-color:#fb923c2e}.interests-suggestions .interest-chip[data-color="12"]:hover{background:#fb923c26;border-color:#fb923c4d;box-shadow:0 2px 8px #fb923c33}.interests-suggestions .interest-chip[data-color="13"]{background:#c4b5fd14;border-color:#c4b5fd2e}.interests-suggestions .interest-chip[data-color="13"]:hover{background:#c4b5fd26;border-color:#c4b5fd4d;box-shadow:0 2px 8px #c4b5fd33}.interests-suggestions .interest-chip[data-color="14"]{background:#34d39914;border-color:#34d3992e}.interests-suggestions .interest-chip[data-color="14"]:hover{background:#34d39926;border-color:#34d3994d;box-shadow:0 2px 8px #34d39933}.interests-suggestions .interest-chip[data-color="15"]{background:#fed7aa14;border-color:#fed7aa2e}.interests-suggestions .interest-chip[data-color="15"]:hover{background:#fed7aa26;border-color:#fdba744d;box-shadow:0 2px 8px #fed7aa33}.social-links-list{display:grid;gap:10px}.social-link-item{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);transition:all .2s ease}.social-link-item:hover{background:#ffffff17;border-color:#ffffff26;transform:translate(2px)}.social-link-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;color:#fff}.social-instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}.social-facebook{background:#1877f2}.social-linkedin{background:#0a66c2}.social-github{background:#333}.social-x{background:#000}.social-custom{background:#6366f1}.social-link-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.social-link-type{font-size:13px;font-weight:600;color:var(--text-secondary, #9ca3af);text-transform:capitalize}.social-link-url{font-size:14px;color:var(--text-primary, #fff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-link-remove{width:28px;height:28px;border-radius:50%;border:none;background:#ef444426;color:#ef4444;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.social-link-remove:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.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.75rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.step-description{color:var(--text-secondary);font-size:1rem;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:1rem}.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(.65rem,2.5vw,.875rem) clamp(.85rem,3vw,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,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-photo-group{margin-bottom:var(--space-xl);position:relative}.avatar-photo-layout{display:flex;flex-direction:column;gap:var(--space-lg)}.photo-primary-section,.avatar-secondary-section{background:var(--glass-content-bg, rgba(255, 255, 255, .06));border-radius:var(--radius-lg);padding:var(--space-lg);border:1px solid var(--glass-content-border, rgba(255, 255, 255, .12));box-shadow:var(--glass-shadow, 0 12px 30px rgba(15, 23, 42, .45));max-width:420px;margin:0 auto}.photo-primary-section{text-align:center}.photo-primary-section .avatar-display-container{justify-content:center}.photo-primary-section .avatar-preview-display{margin:0 auto var(--space-md)}.photo-primary-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm);margin-top:var(--space-sm)}.photo-helper-text{max-width:420px;margin:var(--space-sm) auto 0;display:flex;align-items:flex-start;gap:.5rem;text-align:left;font-style:normal}.photo-helper-text i{flex-shrink:0;margin-top:2px;color:var(--accent-primary)}.photo-helper-text span{flex:1;line-height:1.5}.avatar-secondary-section .form-hint{max-width:420px;margin:var(--space-sm) auto 0;display:flex;align-items:flex-start;gap:.5rem;text-align:left;font-style:normal;justify-content:center}.avatar-secondary-section .form-hint i{flex-shrink:0;margin-top:2px;color:var(--accent-secondary)}.avatar-secondary-section{text-align:center}.profile-preview-fab{position:fixed;bottom:calc(var(--bottom-offset, 100px) + 1rem);right:1rem;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:999px;border:none;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 16px #6366f166;z-index:100;transition:all .3s ease;animation:fabPulse 2s ease-in-out infinite}.profile-preview-fab:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 24px #6366f180}.profile-preview-fab:active{transform:scale(.98)}.profile-preview-fab i{font-size:1rem}.profile-preview-fab .fab-label{white-space:nowrap}@keyframes fabPulse{0%,to{box-shadow:0 4px 16px #6366f166}50%{box-shadow:0 4px 24px #6366f199}}@media (max-width: 480px){.profile-preview-fab{padding:.75rem;border-radius:50%;bottom:calc(var(--bottom-offset, 100px) + .5rem);right:.75rem}.profile-preview-fab .fab-label{display:none}}.avatar-toggle-button{display:inline-flex;margin:var(--space-sm) auto 0;border:none;background:transparent;color:var(--text-secondary);font-size:.9rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease,transform .2s ease}.avatar-toggle-button:hover{color:var(--accent-primary);transform:translateY(-1px)}.avatar-photo-group .photo-primary-section,.avatar-photo-group .avatar-secondary-section{transition:opacity .3s ease,transform .3s ease;max-width:420px;margin:0 auto}.avatar-photo-group.avatar-photo-mode-photo .photo-primary-section{display:block;opacity:1;transform:translateY(0);pointer-events:auto}.avatar-photo-group.avatar-photo-mode-photo .avatar-secondary-section{display:none}.avatar-photo-group.avatar-photo-mode-avatar .avatar-secondary-section{display:block;opacity:1;transform:translateY(0);pointer-events:auto}.avatar-photo-group.avatar-photo-mode-avatar .photo-primary-section{display:none}.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:1rem;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}.step-title{font-size:1.25rem!important}.interests-section-label{font-size:.8rem!important;margin-bottom:.6rem!important}.interests-section-label i{font-size:.75rem!important}.interests-selected-wrapper,.interests-add-custom,.interests-suggestions-wrapper{margin-top:.75rem!important}.interests-selected-wrapper{padding:.75rem!important;min-height:65px!important}.interests-suggestions-wrapper{padding:.75rem!important}.interests-selected .interest-chip{gap:4px!important;padding:5px 8px!important;font-size:11.5px!important}.interests-selected .interest-chip i{font-size:12px!important}.interests-selected .interest-chip .chip-remove{width:18px!important;height:18px!important;font-size:13px!important;line-height:18px!important;margin-left:2px!important}.interests-suggestions .interest-chip{gap:4px!important;padding:4px 8px!important;font-size:11px!important}.interests-suggestions .interest-chip i{font-size:11px!important}.chips-grid{gap:6px!important}.interests-selected:empty:after{padding:1.25rem .75rem!important;font-size:.825rem!important}.form-label{font-size:.875rem!important;margin-bottom:.4rem!important}.form-input{font-size:1rem!important;padding:.65rem .85rem!important}.form-hint,.field-hint{font-size:.75rem!important}.form-group{margin-bottom:1rem!important}.step-description{font-size:.9rem!important;line-height:1.5!important}.social-link-item{gap:.5rem!important}.icebreaker-question{padding:.75rem!important}.icebreaker-question-text{font-size:.875rem!important}.char-counter,.char-counter-container{font-size:.75rem!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:12px;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(-2px);box-shadow:var(--friends-student-card-hover-shadow)}.student-card:active{transform:translateY(0)}.student-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--glass-bg-light, rgba(255, 255, 255, .5));border:2px solid rgba(0,0,0,.08);position:relative}.student-avatar .user-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.student-avatar .avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:22px;font-weight:600}.student-info{flex:1;min-width:0}.student-name{margin:0 0 4px;color:var(--text-primary);font-weight:600;font-size:15px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-major,.student-university{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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 16px;border-radius:8px;cursor:pointer;font-weight:500;font-size:14px;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);white-space:nowrap}.btn-send-request i{font-size:13px}.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:active{transform:translateY(0)}.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}.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-options-dark-highlight-medium)!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,.student-card{padding:12px;gap:12px;margin-bottom:6px;min-height:72px}.student-avatar{width:48px;height:48px}.student-name{font-size:14px}.student-major{font-size:12px}.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,.student-card{padding:14px;gap:14px;border-radius:10px;min-height:60px}.student-avatar{width:52px;height:52px}.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}}@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,.student-card{padding:16px;gap:16px;min-height:68px}.student-avatar{width:52px;height:52px}.student-name{font-size:16px}.student-major{font-size:14px}.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}}.skeleton-loader{animation:skeleton-loading 1.5s infinite linear;background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;border-radius:var(--radius-md);height:80px;margin-bottom:var(--spacing-sm);width:100%}@media (max-width: 768px){.skeleton-loader{height:60px}}:root{--spinner-color: #ffffff;--spinner-thickness: 2.5px}.presence-pill{position:absolute;left:50%;bottom:-8px;transform:translate(-50%);min-width:auto;max-width:88px;height:15px;padding:0 6px;border-radius:999px;border:1.5px solid #ffffff;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;z-index:11;box-shadow:0 1px 4px #00000026,0 1px 2px #0000001a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),opacity .2s ease}.presence-pill .pill-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:800;font-size:8px;line-height:1;text-shadow:0 1px 1px rgba(0,0,0,.2)}.presence-pill.expanded{height:22px;padding:0 12px;font-size:10px;max-width:104px}.presence-pill.green{background:linear-gradient(135deg,#00c851,#00b246,#009e3a);color:#fff}.presence-pill.blue{background:linear-gradient(135deg,#2563eb,#1d4ed8,#1e40af);color:#fff}.presence-pill.red{background:linear-gradient(135deg,#ff3547,#e63946,#dc2626);color:#fff}.presence-pill.grey{background:linear-gradient(135deg,#95a5a6,#7f8c8d,#6c7b7d);color:#f9fafb}.friend-avatar-item.user-avatar .presence-pill.green{animation:onlinePulse 3s ease-in-out infinite}@media (max-width: 768px){.presence-pill{height:13px;bottom:-6px;padding:0 5px;font-size:7px;border-width:1.5px}.presence-pill.expanded{height:18px;padding:0 8px;font-size:8px}}@media (max-width: 480px){.presence-pill{height:12px;bottom:-5px;padding:0 4px;font-size:6.5px;border-width:1px}.presence-pill.expanded{height:16px;padding:0 6px;font-size:7px}}@media (prefers-reduced-motion: reduce){.presence-pill{animation:none;transform:translate(-50%)}}body.dark-mode .presence-pill{border-color:#2a2d38;box-shadow:0 1px 3px #0006}.friend-avatar-container .avatar-wrapper{position:relative;display:inline-block}.user-avatar,.avatar-placeholder,.friend-avatar-item,.friend-avatar-item .user-avatar,.friend-avatar-item .avatar-placeholder{position:relative}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.club-notification{position:relative;background:linear-gradient(135deg,#6366f124,#818cf814,#ffffff0a);border:1px solid rgba(129,140,248,.25)}.notification-item.club-notification:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(129,140,248,.18),transparent 60%);border-radius:13px;pointer-events:none}.notification-item.club-notification .notification-icon.type-club{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#818cf82e;color:#a855f7;box-shadow:0 0 0 1px #818cf859,0 2px 6px -1px #37415199;margin-right:4px}.notification-item.club-notification .notification-details{display:block}.club-badge{display:inline-flex;align-items:center;justify-content:center;padding:.1rem .45rem;border-radius:999px;font-size:.65rem;font-weight:600;margin-left:.35rem}.badge-club-new{background:#10b9812e;color:#10b981}.badge-club-reminder{background:#f59e0b2e;color:#f59e0b}.badge-club-live{background:#ef444433;color:#ef4444}.badge-club-updated{background:#3b82f62e;color:#3b82f6}.badge-club-cancelled{background:#94a3b840;color:#e5e7eb}.badge-club-pending{background:#fbbf2438;color:#fbbf24}.badge-club-approved{background:#10b9812e;color:#10b981}.badge-club-rejected{background:#ef444438;color:#fecaca}.badge-club-generic{background:#818cf829;color:#e5e7eb}.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}.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}}body.page-groups .main-content,body.page-group .main-content,body.page-messages .main-content{padding:.75rem}.groups-section{max-width:1280px;margin:0 auto;width:100%}#groups-root{min-height:200px;position:relative;overflow:hidden}@keyframes slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}#groups-root[data-slide=right]>*{animation:slideInFromRight .25s cubic-bezier(.25,.46,.45,.94)}#groups-root[data-slide=left]>*{animation:slideInFromLeft .25s cubic-bezier(.25,.46,.45,.94)}.groups-page{position:relative}.groups-header{text-align:center;padding:.5rem 0 1rem;margin-bottom:.5rem}.groups-header .groups-title{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-heading, "Sora", sans-serif);font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em}.groups-header .groups-title i{font-size:1.1rem;color:var(--accent-primary, #a855f7);opacity:.9}@media (min-width: 768px){.groups-header{padding:.75rem 0 1.25rem}.groups-header .groups-title{font-size:1.5rem;gap:.6rem}.groups-header .groups-title i{font-size:1.25rem}}.groups-header p{opacity:.8;margin:0}.groups-page .dev-tools{display:flex;gap:.5rem;margin:.25rem 0 .75rem}.groups-page .dev-tools .btn{background:var(--btn-bg, rgba(255, 255, 255, .06));border:1px solid rgba(255,255,255,.08);color:#fff;border-radius:10px;padding:.45rem .7rem}.groups-page .dev-tools .btn.danger{border-color:#ff000040}.groups-page .dev-tools .btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea80;font-weight:500}.groups-list{display:grid;grid-template-columns:1fr;gap:.75rem}.pull-refresh-indicator{display:none;align-items:center;justify-content:center;color:#fff;font-size:1rem;width:36px;height:36px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:999px;position:absolute;left:50%;top:.4rem;transform:translate(-50%,-120%);transition:transform .2s ease,background .2s ease,border-color .2s ease;z-index:10;pointer-events:none;box-shadow:0 4px 12px #0003}.pull-refresh-indicator.ready{border-color:#75ebbb99}.pull-refresh-indicator.refreshing .refresh-icon{animation:spin .9s linear infinite}.pull-refresh-indicator.success{background:#75ebbb26;border-color:#75ebbb99;color:#75ebbb}.pull-refresh-indicator .refresh-icon{font-size:1.2rem;line-height:1;font-weight:700}@media (min-width: 600px){.groups-list{grid-template-columns:repeat(2,1fr)}}@media (min-width: 900px){.groups-list{grid-template-columns:repeat(3,1fr)}}.groups-page{--groups-font-display: var(--font-heading, "Sora", "Poppins", sans-serif);--groups-font-body: var(--font-body, "Poppins", sans-serif);--course-cs: #3b82f6;--course-cs-light: #60a5fa;--course-cs-dark: #1d4ed8;--course-cs-glow: rgba(59, 130, 246, .4);--course-cs-bg: rgba(59, 130, 246, .08);--course-eee: #f59e0b;--course-eee-light: #fbbf24;--course-eee-dark: #d97706;--course-eee-glow: rgba(245, 158, 11, .4);--course-eee-bg: rgba(245, 158, 11, .08);--course-math: #8b5cf6;--course-math-light: #a78bfa;--course-math-dark: #7c3aed;--course-math-glow: rgba(139, 92, 246, .4);--course-math-bg: rgba(139, 92, 246, .08);--course-physics: #d946ef;--course-physics-light: #e879f9;--course-physics-dark: #c026d3;--course-physics-glow: rgba(217, 70, 239, .4);--course-physics-bg: rgba(217, 70, 239, .08);--course-bio: #10b981;--course-bio-light: #34d399;--course-bio-dark: #059669;--course-bio-glow: rgba(16, 185, 129, .4);--course-bio-bg: rgba(16, 185, 129, .08);--course-humanities: #f43f5e;--course-humanities-light: #fb7185;--course-humanities-dark: #e11d48;--course-humanities-glow: rgba(244, 63, 94, .4);--course-humanities-bg: rgba(244, 63, 94, .08);--course-business: #14b8a6;--course-business-light: #2dd4bf;--course-business-dark: #0d9488;--course-business-glow: rgba(20, 184, 166, .4);--course-business-bg: rgba(20, 184, 166, .08);--course-life: #06b6d4;--course-life-light: #22d3ee;--course-life-dark: #0891b2;--course-life-glow: rgba(6, 182, 212, .4);--course-life-bg: rgba(6, 182, 212, .08);--course-default: #a855f7;--course-default-light: #c084fc;--course-default-dark: #9333ea;--course-default-glow: rgba(168, 85, 247, .4);--course-default-bg: rgba(168, 85, 247, .08);--card-bg: rgba(30, 27, 41, .85);--card-bg-hover: rgba(40, 36, 56, .9);--card-border: rgba(168, 85, 247, .12);--card-border-hover: rgba(168, 85, 247, .3);--card-radius: 16px;--card-radius-lg: 24px;--card-shadow: 0 4px 20px rgba(0, 0, 0, .15);--card-shadow-hover: 0 8px 32px rgba(168, 85, 247, .2);--transition-fast: .15s ease;--transition-smooth: .25s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1);--transition-spring: .5s cubic-bezier(.175, .885, .32, 1.275);padding:.75rem;max-width:680px;margin:0 auto;min-height:calc(100vh - 140px)}@media (min-width: 768px){.groups-page{padding:1.5rem;max-width:900px}}.groups-page .groups-header{text-align:center;margin-bottom:1rem;padding:1rem .5rem}@media (min-width: 768px){.groups-page .groups-header{padding:1.5rem 1rem;margin-bottom:1.5rem}}.groups-page .groups-title{display:flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--groups-font-display);font-size:1.5rem;font-weight:700;color:var(--text-primary, #fff);margin-bottom:.25rem}@media (min-width: 768px){.groups-page .groups-title{font-size:2rem;gap:.75rem;margin-bottom:.5rem}}.groups-page .title-icon{font-size:1em;filter:drop-shadow(0 2px 8px rgba(168,85,247,.5))}.groups-page .title-text{display:flex;align-items:baseline;gap:.3rem}.groups-page .gradient-text{background:linear-gradient(135deg,#a855f7,#c084fc,#e879f9);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none}.groups-page .groups-subtitle{font-family:var(--groups-font-body);font-size:.85rem;color:var(--text-secondary, rgba(255, 255, 255, .6));font-weight:400;letter-spacing:.01em}@media (min-width: 768px){.groups-page .groups-subtitle{font-size:1rem}}.groups-page .tab-description{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-size:.75rem;color:var(--text-tertiary, rgba(255, 255, 255, .5));margin:0 auto 1rem;padding:.5rem .875rem;background:#a855f714;border-radius:20px;border:1px solid rgba(168,85,247,.15)}.groups-page .tab-description i{color:var(--course-default);font-size:.85em}@media (min-width: 768px){.groups-page .tab-description{font-size:.8rem;padding:.625rem 1rem;margin-bottom:1.5rem}}.groups-page .groups-list{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 768px){.groups-page .groups-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem}}@media (min-width: 1200px){.groups-page .groups-list{grid-template-columns:repeat(3,1fr);gap:1rem}}.groups-page .group-card{position:relative;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem .75rem .65rem;background:var(--glass-bg, rgba(255, 255, 255, .08));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:14px;border:1px solid var(--glass-border, rgba(255, 255, 255, .1));cursor:pointer;overflow:hidden;min-height:68px;opacity:0;transform:translateY(8px);animation:cardSlideIn .35s ease forwards;animation-delay:calc(var(--card-index, 0) * .04s);transition:transform .2s ease,background .2s ease,box-shadow .2s ease,border-color .2s ease}@media (min-width: 768px){.groups-page .group-card{padding:.9rem 1.15rem .9rem .75rem;min-height:76px;gap:.875rem;border-radius:16px}}@keyframes cardSlideIn{to{opacity:1;transform:translateY(0)}}.groups-page .group-card:active{transform:scale(.985);transition:transform .1s ease}@media (hover: hover){.groups-page .group-card:hover{background:var(--glass-hover, rgba(255, 255, 255, .12));border-color:var(--glass-hover-border, rgba(168, 85, 247, .25));box-shadow:0 8px 24px #0000001f,0 0 0 1px #a855f71a;transform:translateY(-2px)}.groups-page .group-card:hover .card-avatar{transform:scale(1.06);box-shadow:0 4px 16px var(--accent-glow, var(--course-default-glow))}}.groups-page .card-accent{position:absolute;top:10px;bottom:10px;left:0;width:3.5px;background:linear-gradient(180deg,var(--accent-color, var(--course-default)) 0%,var(--accent-light, var(--course-default-light)) 100%);border-radius:0 4px 4px 0;opacity:.95}.groups-page .card-avatar{width:42px;height:42px;min-width:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:1.05rem;color:#fff;background:linear-gradient(135deg,var(--accent-color, var(--course-default)) 0%,var(--accent-dark, var(--course-default-dark)) 100%);box-shadow:inset 0 1px #fff3,0 3px 10px var(--accent-glow, var(--course-default-glow));transition:transform .2s ease,box-shadow .2s ease}@media (min-width: 768px){.groups-page .card-avatar{width:48px;height:48px;min-width:48px;font-size:1.15rem;border-radius:14px}}.groups-page .card-avatar i{text-shadow:0 1px 2px rgba(0,0,0,.15)}.groups-page .card-body{flex:1;display:flex;flex-direction:column;min-width:0;gap:.3rem}@media (min-width: 768px){.groups-page .card-body{gap:.4rem}}.groups-page .card-row-top{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}@media (min-width: 768px){.groups-page .card-row-top{gap:.5rem}}.groups-page .course-tag{display:inline-flex;align-items:center;padding:.2rem .5rem;font-family:var(--groups-font-display);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-color, var(--course-default));background:var(--accent-bg, var(--course-default-bg));border-radius:6px;border:1px solid rgba(255,255,255,.05);transition:all .2s ease}@media (min-width: 768px){.groups-page .course-tag{font-size:.72rem;padding:.22rem .55rem}}@media (hover: hover){.groups-page .group-card:hover .course-tag{background:var(--accent-color, var(--course-default));color:#fff}}.groups-page .section-tag{display:inline-flex;align-items:center;padding:.15rem .4rem;font-size:.62rem;font-weight:600;color:var(--text-secondary);background:#ffffff14;border-radius:5px}@media (min-width: 768px){.groups-page .section-tag{font-size:.65rem;padding:.16rem .45rem}}.groups-page .unread-dot{width:8px;height:8px;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;box-shadow:0 0 8px #22c55e99;animation:pulseUnread 2s ease-in-out infinite}@keyframes pulseUnread{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.85}}.groups-page .card-time{margin-left:auto;font-size:.68rem;font-weight:500;color:var(--text-tertiary)}@media (min-width: 768px){.groups-page .card-time{font-size:.72rem}}.groups-page .card-row-main{display:flex;align-items:center;gap:.85rem;margin-top:.15rem}@media (min-width: 768px){.groups-page .card-row-main{gap:1rem;margin-top:.2rem}}.groups-page .schedule-info,.groups-page .room-info{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--text-primary)}@media (min-width: 768px){.groups-page .schedule-info,.groups-page .room-info{font-size:.88rem;gap:.4rem}}.groups-page .schedule-info i,.groups-page .room-info i{font-size:.78rem;color:var(--accent-color, var(--course-default));opacity:.9}@media (min-width: 768px){.groups-page .schedule-info i,.groups-page .room-info i{font-size:.82rem}}.groups-page .schedule-info strong,.groups-page .room-info strong{font-weight:650;letter-spacing:-.01em}.groups-page .card-members{display:flex;align-items:center;gap:.3rem;padding:.3rem .55rem;border-radius:999px;background:#a855f71f;border:1px solid rgba(168,85,247,.15);font-size:.72rem;font-weight:600;color:var(--text-secondary)}@media (min-width: 768px){.groups-page .card-members{padding:.35rem .65rem;font-size:.76rem;gap:.35rem}}.groups-page .card-members i{font-size:.68rem;color:var(--accent-color, var(--course-default));opacity:.9}@media (min-width: 768px){.groups-page .card-members i{font-size:.72rem}}.groups-page .course-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;font-family:var(--groups-font-display);font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-color, var(--course-default));background:var(--accent-bg, var(--course-default-bg));border-radius:5px}.groups-page .group-card[data-course=cs]{--accent-color: var(--course-cs);--accent-light: var(--course-cs-light);--accent-dark: var(--course-cs-dark);--accent-glow: var(--course-cs-glow);--accent-bg: var(--course-cs-bg)}.groups-page .group-card[data-course=eee]{--accent-color: var(--course-eee);--accent-light: var(--course-eee-light);--accent-dark: var(--course-eee-dark);--accent-glow: var(--course-eee-glow);--accent-bg: var(--course-eee-bg)}.groups-page .group-card[data-course=math]{--accent-color: var(--course-math);--accent-light: var(--course-math-light);--accent-dark: var(--course-math-dark);--accent-glow: var(--course-math-glow);--accent-bg: var(--course-math-bg)}.groups-page .group-card[data-course=physics]{--accent-color: var(--course-physics);--accent-light: var(--course-physics-light);--accent-dark: var(--course-physics-dark);--accent-glow: var(--course-physics-glow);--accent-bg: var(--course-physics-bg)}.groups-page .group-card[data-course=bio]{--accent-color: var(--course-bio);--accent-light: var(--course-bio-light);--accent-dark: var(--course-bio-dark);--accent-glow: var(--course-bio-glow);--accent-bg: var(--course-bio-bg)}.groups-page .group-card[data-course=humanities]{--accent-color: var(--course-humanities);--accent-light: var(--course-humanities-light);--accent-dark: var(--course-humanities-dark);--accent-glow: var(--course-humanities-glow);--accent-bg: var(--course-humanities-bg)}.groups-page .group-card[data-course=business]{--accent-color: var(--course-business);--accent-light: var(--course-business-light);--accent-dark: var(--course-business-dark);--accent-glow: var(--course-business-glow);--accent-bg: var(--course-business-bg)}.groups-page .group-card[data-course=life]{--accent-color: var(--course-life);--accent-light: var(--course-life-light);--accent-dark: var(--course-life-dark);--accent-glow: var(--course-life-glow);--accent-bg: var(--course-life-bg)}.groups-page .groups-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.5rem 1.5rem;min-height:240px;background:linear-gradient(135deg,#a855f70f,#1e1b29cc);border-radius:var(--card-radius-lg);border:1px dashed rgba(168,85,247,.2);position:relative;overflow:hidden}.groups-page .groups-empty:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(168,85,247,.05) 0%,transparent 50%);animation:emptyPulse 4s ease-in-out infinite}@keyframes emptyPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.groups-page .groups-empty.hidden{display:none}.groups-page .groups-empty>i{font-size:2.75rem;margin-bottom:1rem;position:relative;z-index:1;color:#a855f799;filter:drop-shadow(0 4px 12px rgba(168,85,247,.3))}.groups-page .groups-empty .empty-icon{font-size:2.75rem;margin-bottom:1rem;position:relative;z-index:1;filter:drop-shadow(0 4px 12px rgba(168,85,247,.3))}.groups-page .groups-empty h3{font-family:var(--groups-font-display);font-size:1.1rem;font-weight:600;color:var(--text-primary, #fff);margin-bottom:.5rem;position:relative;z-index:1}.groups-page .groups-empty p{font-size:.825rem;color:var(--text-secondary, rgba(255, 255, 255, .65));max-width:280px;line-height:1.55;position:relative;z-index:1;margin:0}@media (min-width: 768px){.groups-page .groups-empty{padding:3rem 2rem;min-height:280px}.groups-page .groups-empty>i{font-size:3.5rem;margin-bottom:1.25rem}.groups-page .groups-empty .empty-icon{font-size:3.5rem;margin-bottom:1.25rem}.groups-page .groups-empty h3{font-size:1.25rem}.groups-page .groups-empty p{font-size:.9rem;max-width:340px}}.groups-page .dev-tools{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-bottom:1rem;padding:.5rem;background:#a855f70a;border-radius:12px;border:1px dashed rgba(168,85,247,.15)}.groups-page .dev-tools .btn{padding:.4rem .75rem;font-size:.7rem;font-weight:500;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#1e1b29b3;color:var(--text-secondary, rgba(255, 255, 255, .65));cursor:pointer;transition:all var(--transition-fast)}.groups-page .dev-tools .btn:hover{background:#a855f71f;border-color:#a855f74d;color:#fff}.groups-page .dev-tools .btn.danger{color:#f87171;border-color:#f8717133}.groups-page .dev-tools .btn.danger:hover{background:#f871711a;border-color:#f8717159}.groups-page .dev-tools .btn.primary{background:linear-gradient(135deg,var(--course-default) 0%,var(--course-default-dark) 100%);border-color:transparent;color:#fff}.groups-page .dev-tools .btn.primary:hover{box-shadow:0 4px 14px var(--course-default-glow)}body:not(.dark-mode) .groups-page{--card-bg: rgba(255, 255, 255, .92);--card-bg-hover: rgba(255, 255, 255, .98);--card-border: rgba(168, 85, 247, .1);--card-border-hover: rgba(168, 85, 247, .25);--card-shadow-hover: 0 8px 28px rgba(168, 85, 247, .12)}body:not(.dark-mode) .groups-page .group-card{box-shadow:0 2px 10px #a855f70f}body:not(.dark-mode) .groups-page .groups-title,body:not(.dark-mode) .groups-page .group-title{color:var(--text-primary, #1e1b29)}body:not(.dark-mode) .groups-page .groups-subtitle,body:not(.dark-mode) .groups-page .activity-time{color:var(--text-secondary, #5e5a73)}body:not(.dark-mode) .groups-page .tab-description{background:#a855f70d;border-color:#a855f71f;color:var(--text-secondary, #5e5a73)}body:not(.dark-mode) .groups-page .course-badge,body:not(.dark-mode) .groups-page .course-tag{background:#fffffff2;border-color:#a855f71a}body:not(.dark-mode) .groups-page .groups-empty{background:linear-gradient(135deg,#a855f70a,#f5efffe6);border-color:#a855f726}body:not(.dark-mode) .groups-page .dev-tools{background:#a855f708;border-color:#a855f71f}body:not(.dark-mode) .groups-page .dev-tools .btn{background:#fffffff2;color:#5e5a73;border-color:#a855f71f}.groups-page .pull-refresh-indicator{position:fixed;top:0;left:50%;transform:translate(-50%,-120%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--card-bg);border:1px solid var(--card-border);box-shadow:0 4px 16px #00000026;z-index:100;transition:transform .2s ease}.groups-page .pull-refresh-indicator .refresh-icon{font-size:1.1rem;color:var(--course-default);transition:transform .3s ease}.groups-page .pull-refresh-indicator.ready .refresh-icon{transform:rotate(180deg);color:var(--course-default-light)}.groups-page .pull-refresh-indicator.refreshing .refresh-icon{animation:spin .8s linear infinite}.groups-page .pull-refresh-indicator.success{background:var(--course-bio);border-color:var(--course-bio)}.groups-page .pull-refresh-indicator.success .refresh-icon{color:#fff}@media (max-width: 480px){.groups-page{padding:.5rem}.groups-page .groups-header{padding:.4rem 0 .75rem}.groups-page .groups-title{font-size:1.2rem;gap:.4rem}.groups-page .groups-title i{font-size:1rem}.groups-page .tab-description{font-size:.7rem;padding:.4rem .75rem;margin-bottom:.875rem}.groups-page .groups-list{gap:.45rem}.groups-page .group-card{padding:.65rem .85rem .65rem .55rem;gap:.6rem;min-height:62px;border-radius:12px}.groups-page .card-avatar{width:38px;height:38px;min-width:38px;font-size:.95rem;border-radius:10px}.groups-page .course-tag{font-size:.65rem;padding:.16rem .42rem}.groups-page .section-tag{font-size:.58rem;padding:.12rem .32rem}.groups-page .card-time{font-size:.62rem}.groups-page .card-row-main{gap:.7rem}.groups-page .schedule-info,.groups-page .room-info{font-size:.76rem;gap:.28rem}.groups-page .schedule-info i,.groups-page .room-info i{font-size:.7rem}.groups-page .card-members{padding:.25rem .45rem;font-size:.68rem}.groups-page .card-members i{font-size:.62rem}}@media (prefers-reduced-motion: reduce){.groups-page .group-card{animation:none;opacity:1;transform:none}.groups-page .group-card:hover{transform:none}.groups-page .unread-indicator,.groups-page .unread-dot{animation:none}.groups-page .groups-empty:before{animation:none}.groups-page .pull-refresh-indicator.refreshing .refresh-icon{animation:none}}.groups-page .group-card:focus-visible{outline:2px solid var(--accent-color, var(--course-default));outline-offset:3px;box-shadow:0 0 0 4px var(--accent-glow, var(--course-default-glow))}.groups-page .groups-list .loading{text-align:center;padding:2rem 1rem;color:var(--text-tertiary);font-size:.875rem}.groups-page .error-message{text-align:center;padding:2rem 1rem;color:var(--text-tertiary)}.groups-page .error-message p{margin-bottom:1rem;color:var(--course-humanities)}.groups-page .btn-retry{padding:.5rem 1.25rem;background:linear-gradient(135deg,var(--course-default) 0%,var(--course-default-dark) 100%);color:#fff;border:none;border-radius:10px;font-size:.825rem;font-weight:500;cursor:pointer;transition:all var(--transition-smooth)}.groups-page .btn-retry:hover{transform:translateY(-2px);box-shadow:0 4px 14px var(--course-default-glow)}.profile-gate-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem;min-height:50vh}.profile-gate-message .gate-icon{font-size:4rem;opacity:.6;margin-bottom:1.5rem;color:#6c63ff}.profile-gate-message h2{font-size:1.5rem;margin:0 0 .75rem;font-weight:600}.profile-gate-message p{font-size:1rem;opacity:.85;margin:0 0 1.5rem;max-width:400px}.profile-gate-message .btn.primary{background:linear-gradient(135deg,#6c63ff,#9b67f8);border:1px solid rgba(255,255,255,.12);color:#fff;padding:.75rem 1.5rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.profile-gate-message .btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6c63ff66}body.immersive-chat-mode .top-nav,body.immersive-chat-mode .mobile-bottom-nav{display:none!important}body.immersive-chat-mode .main-content{padding:0!important;height:100dvh;overflow:hidden;max-width:100%}.group-detail{height:100%;display:flex;flex-direction:column;background:var(--bg-color, #121212);max-width:100%;margin:0}.group-header{display:flex;align-items:center;padding:calc(.75rem + env(safe-area-inset-top,0px)) 1rem .75rem 1rem;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06);gap:.75rem;flex-shrink:0}.group-back-btn{background:transparent;border:none;color:#fff;font-size:1.1rem;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-left:-.5rem}.group-back-btn:hover{background:#ffffff1a}.group-header h1{font-size:1.1rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;font-weight:600}.group-tabs{display:flex;background:#140a284d;margin:.5rem 1rem;border:1px solid rgba(186,141,255,.2);border-radius:999px;padding:.25rem;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0;gap:0}.group-tabs:before{content:"";position:absolute;top:.25rem;bottom:.25rem;left:.25rem;width:calc(50% - .25rem);background:linear-gradient(120deg,#8f3dfff2,#ff6cfbd9);border-radius:999px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);z-index:0}.group-tabs:has(#tab-members.active):before{transform:translate(100%)}.group-tabs .tab{flex:1;background:transparent;border:none;color:#fff9;padding:.6rem;border-radius:999px;font-weight:600;font-size:.9rem;position:relative;z-index:1;cursor:pointer;transition:color .2s ease;text-align:center}.group-tabs .tab.active{color:#fff;background:transparent}.group-tab-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;background:transparent;border:none;padding:0;position:relative;border-radius:0}.group-tab-content.hidden{display:none}#group-chat{padding-bottom:0}.messages{flex:1;overflow-y:auto;padding:1rem 1rem 80px;max-height:none;display:flex;flex-direction:column;gap:.5rem}.message-input{position:absolute;bottom:0;left:0;width:100%;padding:.75rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));background:var(--bg-color, #121212);border-top:1px solid rgba(255,255,255,.08);display:flex;gap:.5rem;z-index:10;box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121212f2}.message-input input{flex:1 1 auto;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#fff;padding:.55rem .7rem;border-radius:12px;font-size:1rem}.message-input input:focus{outline:none;border-color:#6c63ff80;background:#ffffff1a}.message-input button{background:linear-gradient(135deg,#6c63ff,#9b67f8);border:1px solid rgba(255,255,255,.12);color:#fff;padding:.55rem 1rem;border-radius:12px;font-weight:600;cursor:pointer;transition:opacity .2s}.message-input button:disabled{opacity:.5;cursor:not-allowed}#group-members{padding:0}.members-list{padding:.5rem;overflow-y:auto;flex:1}.member-item{display:flex;justify-content:space-between;align-items:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.75rem;transition:background .15s ease}.member-item:hover{background:#ffffff0f}.member-item.blocked{opacity:.6}.member-main{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0}.member-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#ffffff14;border:1px solid rgba(255,255,255,.12);flex-shrink:0}.member-avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar-placeholder i{color:#ffffffb3;font-size:16px}.member-badge{margin-left:.5rem;font-size:.75rem;color:#ff9aa2;background:#ff9aa226;border:1px solid rgba(255,154,162,.25);border-radius:9999px;padding:2px 8px}.member-link{flex:1;color:#fff;text-decoration:none;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-actions{display:flex;gap:.5rem;align-items:center}.member-profile-btn,.member-report-btn,.member-add-btn,.member-friends-btn,.member-block-btn,.member-unblock-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#ffffffb3;padding:.4rem .6rem;border-radius:8px;cursor:pointer;transition:all .15s ease;font-size:.9rem;display:flex;align-items:center;justify-content:center}.member-block-btn:hover{background:#ff638426;border-color:#ff63844d;color:#ff6384}.member-unblock-btn:hover{background:#10b98126;border-color:#10b9814d;color:#10b981}.member-profile-btn:hover{background:#6c63ff26;border-color:#6c63ff4d;color:#6c63ff}.member-report-btn:hover{background:#ff4b5726;border-color:#ff4b574d;color:#ff4b57}.member-add-btn:hover{background:#6c63ff26;border-color:#6c63ff4d;color:#6c63ff}.member-friends-btn[disabled]{opacity:.6;cursor:not-allowed}.message-report-btn{background:transparent;border:none;color:#fff6;font-size:.75rem;padding:.2rem .4rem;cursor:pointer;transition:color .15s ease;margin-left:.5rem}.message-report-btn:hover{color:#ff4b57}.report-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.report-modal{background:linear-gradient(135deg,#1e1e28fa,#14141efa);border:1px solid rgba(255,255,255,.1);border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.report-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.report-modal-header h2{margin:0;font-size:1.25rem;font-weight:600}.report-modal-close{background:transparent;border:none;color:#fff;font-size:1.75rem;line-height:1;cursor:pointer;opacity:.7;transition:opacity .15s ease;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.report-modal-close:hover{opacity:1}.report-modal-body{padding:1.5rem}.report-modal .form-group{margin-bottom:1.25rem}.report-modal .form-group label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.95rem;font-weight:500}.report-modal .char-count{font-size:.85rem;opacity:.7;font-weight:400}.report-modal .form-group select,.report-modal .form-group textarea{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;padding:.75rem;font-size:.95rem;font-family:inherit;transition:border-color .15s ease,background .15s ease}.report-modal .form-group select:focus,.report-modal .form-group textarea:focus{outline:none;border-color:#6c63ff80;background:#ffffff14}.report-modal .form-group textarea{resize:vertical;min-height:100px}.report-modal .form-help{margin-top:.4rem;font-size:.85rem;opacity:.7}.report-modal .report-error{background:#ff4b5726;border:1px solid rgba(255,75,87,.3);border-radius:8px;padding:.75rem;margin-top:1rem;color:#ff4b57;font-size:.9rem}.report-error.hidden{display:none}.report-modal-footer{display:flex;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid rgba(255,255,255,.08)}.report-modal-footer .btn{flex:1;padding:.75rem 1.5rem;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;border:1px solid rgba(255,255,255,.1)}.report-modal-footer .btn.secondary{background:#ffffff0f;color:#fff}.report-modal-footer .btn.secondary:hover{background:#ffffff1a;transform:translateY(-1px)}.report-modal-footer .btn.danger{background:linear-gradient(135deg,#ff4b57,#ff6b6b);color:#fff}.report-modal-footer .btn.danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ff4b5766}.report-modal-footer .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.report-success{text-align:center;padding:2rem 1rem}.report-success i{font-size:3.5rem;color:#4ade80;margin-bottom:1rem}.report-success h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.report-success p{margin:0;opacity:.85}@media (max-width: 600px){.report-modal{border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0;max-height:85vh}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}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}}.mutual-friends-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:flex-end;opacity:0;transition:opacity .3s ease}.mutual-friends-modal-overlay.show{opacity:1}.mutual-friends-modal{background:var(--glass-bg, rgba(255, 255, 255, .95));border-radius:20px 20px 0 0;width:100%;max-height:80vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s ease;box-shadow:0 -4px 20px #00000026}.mutual-friends-modal-overlay.show .mutual-friends-modal{transform:translateY(0)}.mutual-friends-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid rgba(0,0,0,.1);flex-shrink:0}.mutual-friends-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #333);flex:1;padding-right:10px}.mutual-friends-header .close-btn{background:#0000000d;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary, #666);transition:all .2s ease;flex-shrink:0}.mutual-friends-header .close-btn:hover{background:#0000001a;transform:scale(1.05)}.mutual-friends-count{padding:12px 20px;font-size:14px;color:var(--text-secondary, #666);border-bottom:1px solid rgba(0,0,0,.05);flex-shrink:0}.mutual-friends-list{flex:1;overflow-y:auto;padding:12px;-webkit-overflow-scrolling:touch}.mutual-friends-list::-webkit-scrollbar{width:6px}.mutual-friends-list::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.mutual-friends-list::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.mutual-friends-list::-webkit-scrollbar-thumb:hover{background:#0000004d}.mutual-friend-card{display:flex;align-items:center;padding:12px;margin-bottom:8px;background:#fff9;border:1px solid rgba(0,0,0,.08);border-radius:12px;cursor:pointer;transition:all .2s ease}.mutual-friend-card:hover{background:#ffffffe6;border-color:var(--primary-color, #4a90e2);transform:translate(4px)}.mutual-friend-card:active{transform:translate(4px) scale(.98)}.mutual-friend-card .friend-card-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;margin-right:12px;background:var(--glass-bg-light, rgba(255, 255, 255, .5));border:2px solid rgba(0,0,0,.05)}.mutual-friend-card .friend-card-avatar img{width:100%;height:100%;object-fit:cover}.mutual-friend-card .friend-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:20px}.mutual-friend-card .friend-card-info{flex:1;min-width:0}.mutual-friend-card .friend-card-name{font-size:15px;font-weight:600;color:var(--text-primary, #333);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mutual-friend-card .friend-card-handle{font-size:13px;color:var(--text-secondary, #666);margin-bottom:2px}.mutual-friend-card .friend-card-major{font-size:12px;color:var(--text-tertiary, #999);margin-top:2px}.mutual-friend-card .friend-card-arrow{color:var(--text-tertiary, #999);font-size:14px;flex-shrink:0;margin-left:8px;transition:transform .2s ease}.mutual-friend-card:hover .friend-card-arrow{transform:translate(4px);color:var(--primary-color, #4a90e2)}.mutual-friends-list .loading-spinner,.mutual-friends-list .no-mutual-friends,.mutual-friends-list .error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--text-secondary, #666)}.mutual-friends-list .loading-spinner i,.mutual-friends-list .no-mutual-friends i,.mutual-friends-list .error-message i{font-size:32px;margin-bottom:12px;opacity:.5}.mutual-friends-list .loading-spinner i{color:var(--primary-color, #4a90e2)}.mutual-friends-list .error-message i{color:#e74c3c}.mutual-friends-list .no-mutual-friends p,.mutual-friends-list .error-message p{margin:0;font-size:14px}@media (min-width: 768px){.mutual-friends-modal-overlay{align-items:center;justify-content:center}.mutual-friends-modal{border-radius:16px;max-width:480px;max-height:600px;transform:scale(.9);opacity:0}.mutual-friends-modal-overlay.show .mutual-friends-modal{transform:scale(1);opacity:1}.mutual-friends-header{border-radius:16px 16px 0 0}}@media (prefers-color-scheme: dark){.mutual-friends-modal{background:#1e1e1ef2}.mutual-friends-header h3,.mutual-friend-card .friend-card-name{color:#fff}.mutual-friends-count,.mutual-friend-card .friend-card-handle{color:#aaa}.mutual-friend-card .friend-card-major{color:#888}.mutual-friend-card{background:#ffffff0d;border-color:#ffffff1a}.mutual-friend-card:hover{background:#ffffff1a}.mutual-friends-header .close-btn{background:#ffffff1a;color:#aaa}.mutual-friends-header .close-btn:hover{background:#ffffff26}}.user-profile-view{width:100%;display:flex;justify-content:center}#profile-card{width:100%;max-width:100%;margin:0 auto;box-sizing:border-box}.user-profile-view .profile-header{display:flex;gap:1.5rem;align-items:flex-start}.user-profile-view .profile-photo{width:120px;height:120px;border-radius:24px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);flex-shrink:0;box-shadow:0 8px 24px #0003}.user-profile-view .profile-photo img{width:100%;height:100%;object-fit:cover}.user-profile-view .profile-header-text{flex:1;min-width:0;padding-top:.5rem}.user-profile-view .profile-header-text h1{margin:0 0 .25rem;font-size:1.75rem;color:var(--text-primary, #fff);line-height:1.2;font-weight:700}.user-profile-view .handle-major{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem;font-size:.95rem}.user-profile-view .handle{color:var(--accent-primary, #a294f9);font-weight:500}.user-profile-view .major{color:var(--text-secondary, #a0a0a0);display:flex;align-items:center}.user-profile-view .major:before{content:"•";margin-right:.5rem;opacity:.5;color:var(--text-secondary)}.user-profile-view .handle+.major:before{display:inline-block}.user-profile-view .header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.user-profile-view .profile-sections{margin-top:2rem;display:flex;flex-direction:column;gap:2rem}.user-profile-view .profile-section h2{font-size:1rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;color:var(--text-secondary, #a0a0a0);font-weight:600;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.user-profile-view .profile-section p{font-size:1.05rem;line-height:1.6;color:var(--text-primary, #fff);margin:0}@media (max-width: 600px){.user-profile-view{display:block;height:100%;min-height:100%;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.user-profile-view::-webkit-scrollbar{display:none}#profile-card{max-width:100%;min-height:100%;position:relative;margin:0;padding:4.5rem .5rem 0;overflow-y:visible;border:1px solid rgba(255,255,255,.08);background:#ffffff08;border-radius:16px;box-shadow:0 4px 20px #0003;scrollbar-width:none;-ms-overflow-style:none}#profile-card::-webkit-scrollbar{display:none}.user-profile-view .profile-header{flex-direction:column;align-items:center;text-align:center;gap:1rem}.user-profile-view .profile-photo{width:100px;height:100px;border-radius:50%;margin:0 auto}.user-profile-view .profile-header-text{padding-top:0;width:100%}.user-profile-view .profile-header-text h1{font-size:1.5rem}.user-profile-view .handle-major{justify-content:center;font-size:.9rem}.user-profile-view .header-actions{justify-content:center}.user-profile-view .profile-sections{margin-top:1rem;gap:1rem}.user-profile-view .profile-section h2{font-size:.9rem;margin-bottom:.75rem}.user-profile-view .profile-section p{font-size:1rem}}.user-profile-view .qa-list{display:grid;gap:12px}.user-profile-view .qa-list .qa-item{padding:12px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);margin-bottom:0}.user-profile-view .qa-item .q{font-weight:600;margin-bottom:6px;color:var(--text-primary, #fff);display:block}.user-profile-view .qa-item .a{color:var(--text-secondary, #a0a0a0);line-height:1.5}.user-profile-view .social-links{display:flex;flex-wrap:wrap;gap:10px}.user-profile-view .social-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:20px;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s ease;border:1px solid transparent;color:#fff}.user-profile-view .social-chip i{font-size:16px}.user-profile-view .social-chip:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.user-profile-view .social-chip-instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);border-color:#fff3}.user-profile-view .social-chip-facebook{background:#1877f2;border-color:#fff3}.user-profile-view .social-chip-linkedin{background:#0a66c2;border-color:#fff3}.user-profile-view .social-chip-github{background:#333;border-color:#fff3}.user-profile-view .social-chip-x{background:#000;border-color:#fff3}.user-profile-view .social-chip-custom{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#fff3}.user-profile-view .social-chip-instagram:hover{box-shadow:0 4px 16px #fd1d1d66}.user-profile-view .social-chip-facebook:hover{box-shadow:0 4px 16px #1877f266}.user-profile-view .social-chip-linkedin:hover{box-shadow:0 4px 16px #0a66c266}.user-profile-view .social-chip-github:hover{box-shadow:0 4px 16px #33333380}.user-profile-view .social-chip-x:hover{box-shadow:0 4px 16px #0009}.user-profile-view .social-chip-custom:hover{box-shadow:0 4px 16px #6366f166}.user-profile-view .view-mutual-friends-btn{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:var(--text-primary, #fff);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.user-profile-view .view-mutual-friends-btn:hover{background:#ffffff1a;border-color:var(--accent-primary, #6366f1);transform:translate(2px)}.user-profile-view .view-mutual-friends-btn i:first-child{color:var(--accent-primary, #6366f1)}.user-profile-view .view-mutual-friends-btn span{flex:1;text-align:left}.user-profile-view .view-mutual-friends-btn i:last-child{opacity:.5;font-size:12px}.user-profile-view .mutual-friends .mutual-item{display:inline-flex;align-items:center;gap:.35rem;margin-right:.75rem;color:var(--text-secondary, #a0a0a0)}.user-profile-view .common-classes .class-row{padding:12px;border-radius:10px;margin-bottom:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.user-profile-view .class-row strong{color:var(--text-primary, #fff)}.user-profile-view .notice{padding:.75rem;background:#f59e0b2e;border:1px solid rgba(245,158,11,.28);border-radius:8px;color:var(--text-secondary, #a0a0a0)}.user-profile-view .chips-grid{display:flex;flex-wrap:wrap;gap:8px}.user-profile-view .chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:9999px;font-size:13px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text-primary, #fff)}.user-profile-view .chip i{font-size:14px;opacity:.95}.user-profile-view .chip:nth-child(5n+1){background:#3b82f640;border-color:#3b82f659}.user-profile-view .chip:nth-child(5n+2){background:#10b98140;border-color:#10b98159}.user-profile-view .chip:nth-child(5n+3){background:#f59e0b40;border-color:#f59e0b59}.user-profile-view .chip:nth-child(5n+4){background:#ec489940;border-color:#ec489959}.user-profile-view .chip:nth-child(5n+5){background:#6366f140;border-color:#6366f159}.user-profile-view .btn{padding:.45rem .8rem;border-radius:8px;border:1px solid transparent;cursor:pointer;font-weight:600;transition:all .2s}.user-profile-view .btn.primary{background:var(--accent-primary, #6366f1);color:#fff}.user-profile-view .btn.primary:hover{opacity:.9}.user-profile-view .btn.secondary{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text-primary, #fff)}.user-profile-view .btn.secondary:hover{background:#ffffff1a}:root{--skeleton-base: rgba(0, 0, 0, .06);--skeleton-highlight: rgba(0, 0, 0, .12)}body.dark-mode{--skeleton-base: rgba(255, 255, 255, .06);--skeleton-highlight: rgba(255, 255, 255, .12)}.skeleton{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite linear;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:.5em;width:100%}.skeleton-text.w-50{width:50%}.skeleton-text.w-75{width:75%}.skeleton-text.w-30{width:30%}.skeleton-photo{width:100%;height:100%;border-radius:12px}.skeleton-btn{height:36px;width:120px;border-radius:8px}.skeleton-chip{height:32px;width:80px;border-radius:16px;display:inline-block;margin-right:8px;margin-bottom:8px}.user-profile-view .privacy-note i{font-size:1.2rem;color:var(--text-secondary)}.profile-back-btn{background:transparent;border:none;color:#fff;font-size:1.1rem;padding:.5rem;cursor:pointer;display:none;align-items:center;justify-content:center;border-radius:50%;margin-right:.5rem;margin-left:-.5rem;transition:background .2s}.profile-back-btn:hover{background:#ffffff1a}@media (max-width: 480px){body.immersive-profile-mode .top-nav,body.immersive-profile-mode .mobile-bottom-nav{display:none!important}body.immersive-profile-mode .app-container{padding-top:0!important;padding-top:env(safe-area-inset-top,0px)!important;transition:none!important;animation:none!important}body.immersive-profile-mode .main-content{padding:.5rem .4rem!important;padding-top:calc(env(safe-area-inset-top,0px) + .5rem)!important;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))!important;box-sizing:border-box;min-height:100dvh;max-height:100dvh;transition:none!important;animation:none!important}body.immersive-profile-mode .user-profile-view{height:100%;min-height:100%;display:flex;flex-direction:column}body.immersive-profile-mode #profile-card{flex:1;display:flex;flex-direction:column;min-height:0}body.immersive-profile-mode .profile-sections{flex:1;overflow-y:auto;min-height:0}body.immersive-profile-mode .profile-back-btn{display:flex;position:absolute;top:1rem;left:1.5rem;z-index:10;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;padding:0;width:auto;height:auto}body.immersive-profile-mode .profile-back-btn i{font-size:1.4rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}}.scroll-hint{position:fixed;bottom:80px;left:50%;transform:translate(-50%);color:#ffffff80;font-size:1.5rem;animation:bounce 2s infinite;pointer-events:none;z-index:100;opacity:0;transition:opacity .3s}.scroll-hint.visible{opacity:1}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.clubs-section,.club-section{padding:.75rem .5rem;width:100%;max-width:100%;margin:0}.clubs-page{padding:0;position:relative}.clubs-header-bar{text-align:center;margin-bottom:1.5rem;padding:1rem}.clubs-header-bar h1{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(135deg,var(--primary-gradient-start, #667eea),var(--primary-gradient-end, #764ba2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.clubs-header-bar h1 i{margin-right:.5rem}.clubs-subtitle{color:var(--muted-color, #6b7280);font-size:.95rem;margin:0}.clubs-admin-controls{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1rem}.admin-nav-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:10px;border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.admin-nav-btn i{font-size:.9rem}.saf-dashboard-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.saf-dashboard-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.admin-dashboard-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.admin-dashboard-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.create-test-club-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.create-test-club-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 12px #d977064d}.admin-nav-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}@media (max-width: 480px){.clubs-admin-controls{flex-direction:column;align-items:stretch}.admin-nav-btn{justify-content:center}}.clubs-controls{display:flex;justify-content:flex-end;margin-bottom:1rem;padding:0 .5rem}.clubs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:.5rem}@media (max-width: 640px){.clubs-grid{grid-template-columns:1fr;gap:.75rem;padding:.5rem .75rem}}.club-card{background:linear-gradient(165deg,#322d4b80,#1e1b2e99);border:1px solid rgba(139,125,232,.15);border-radius:18px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;position:relative;box-shadow:0 4px 24px #00000026,inset 0 1px #ffffff0d}.club-card:hover{transform:translateY(-4px);border-color:#8b7de84d;box-shadow:0 16px 40px #00000040,inset 0 1px #ffffff14,0 0 50px -15px #8b7de833}.club-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#8b5cf6,#a78bfa);opacity:.9}.club-card[data-accent=blue]:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.club-card[data-accent=purple]:before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.club-card[data-accent=green]:before{background:linear-gradient(90deg,#10b981,#34d399)}.club-card[data-accent=orange]:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.club-card[data-accent=pink]:before{background:linear-gradient(90deg,#ec4899,#f472b6)}.club-card[data-accent=red]:before{background:linear-gradient(90deg,#ef4444,#f87171)}.club-card-body{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;flex:1}.club-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem}.club-logo{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;overflow:hidden;flex-shrink:0;box-shadow:0 4px 12px #8b5cf640,inset 0 1px #ffffff26;transition:all .3s ease}.club-card:hover .club-logo{box-shadow:0 6px 16px #8b5cf659,inset 0 1px #fff3;transform:scale(1.03)}.club-logo img{width:100%;height:100%;object-fit:cover}.club-card[data-accent=blue] .club-logo{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f640,inset 0 1px #ffffff26}.club-card[data-accent=blue]:hover .club-logo{box-shadow:0 6px 16px #3b82f659,inset 0 1px #fff3}.club-card[data-accent=purple] .club-logo{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.club-card[data-accent=green] .club-logo{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b98140,inset 0 1px #ffffff26}.club-card[data-accent=green]:hover .club-logo{box-shadow:0 6px 16px #10b98159,inset 0 1px #fff3}.club-card[data-accent=orange] .club-logo{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b40,inset 0 1px #ffffff26}.club-card[data-accent=orange]:hover .club-logo{box-shadow:0 6px 16px #f59e0b59,inset 0 1px #fff3}.club-card[data-accent=pink] .club-logo{background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 4px 12px #ec489940,inset 0 1px #ffffff26}.club-card[data-accent=pink]:hover .club-logo{box-shadow:0 6px 16px #ec489959,inset 0 1px #fff3}.club-card[data-accent=red] .club-logo{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef444440,inset 0 1px #ffffff26}.club-card[data-accent=red]:hover .club-logo{box-shadow:0 6px 16px #ef444459,inset 0 1px #fff3}.club-info{flex:1;min-width:0}.club-info h3{margin:0;font-size:1rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.club-university{font-size:.72rem;color:#a78bfad9;display:flex;align-items:center;gap:.3rem;margin-top:.2rem}.club-university i{font-size:.6rem;opacity:.8}.club-description{font-size:.82rem;color:#fff9;margin:0 0 .65rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.club-stats{font-size:.75rem;color:#ffffff73;margin-bottom:.75rem;display:flex;align-items:center;gap:.35rem}.club-stats i{opacity:.8;font-size:.7rem}.club-actions{display:flex;gap:.5rem;margin-top:auto}.club-actions .btn{flex:1;justify-content:center;padding:.6rem .85rem;border-radius:10px;font-weight:500;font-size:.8rem;transition:all .2s ease}.club-actions .btn.primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;color:#fff;box-shadow:0 3px 10px #8b5cf64d}.club-actions .btn.primary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 5px 14px #8b5cf666;transform:translateY(-1px)}.club-actions .btn.secondary{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#fffc}.club-actions .btn.secondary:hover{background:#ffffff1a;border-color:#ffffff2e}.clubs-empty,.clubs-error,.club-error,.club-loading{text-align:center;padding:3rem 1rem;color:var(--muted-color, #6b7280)}.clubs-empty i,.clubs-error i,.club-error i,.club-loading i{font-size:3rem;margin-bottom:1rem;opacity:.5}.loading-clubs{text-align:center;padding:2rem;color:var(--muted-color, #6b7280)}.club-detail{max-width:800px;margin:0 auto}.club-detail-header{padding:.5rem 0 1rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary-color, #667eea);text-decoration:none;font-weight:500;font-size:.95rem;transition:opacity .2s}.back-link:hover{opacity:.8}.club-hero{position:relative;margin-bottom:1.5rem;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#1e1e2df2,#191928fa);border:1px solid rgba(255,255,255,.08)}.club-banner,.club-banner-placeholder{height:100px;width:100%;object-fit:cover;background:linear-gradient(135deg,var(--primary-gradient-start, #667eea),var(--primary-gradient-end, #764ba2))}.club-hero-content{display:flex;align-items:flex-end;gap:1rem;padding:0 1.25rem 1rem;margin-top:-28px;position:relative}.club-logo-large{width:68px;height:68px;border-radius:16px;background:linear-gradient(135deg,var(--primary-gradient-start, #667eea),var(--primary-gradient-end, #764ba2));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem;border:3px solid rgba(25,25,40,1);box-shadow:0 4px 20px #0006;overflow:hidden;flex-shrink:0}.club-logo-large img{width:100%;height:100%;object-fit:cover}.club-hero-info{flex:1;min-width:0;padding-bottom:.25rem}.club-hero-info h1{margin:0;font-size:1.3rem;font-weight:700;color:#fff;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.club-university-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:#ffffff80;margin-top:.2rem}.club-university-badge i{font-size:.65rem}.club-hero-stats{display:flex;gap:.35rem;align-self:flex-end;flex-shrink:0;padding-bottom:.2rem}.hero-stat{text-align:center;padding:.45rem .65rem;background:#ffffff0f;border-radius:10px;min-width:52px;transition:all .2s ease;border:1px solid rgba(255,255,255,.04)}.hero-stat:hover{background:#ffffff1a;border-color:#ffffff1a}.hero-stat-value{display:block;font-size:1.1rem;font-weight:700;color:#fff;line-height:1.2}.hero-stat-label{font-size:.6rem;color:#ffffff73;text-transform:uppercase;letter-spacing:.3px;margin-top:.15rem}.club-body{padding:0 .5rem}.club-actions-bar{display:flex;gap:.75rem;margin-bottom:1.5rem}.club-actions-bar .btn.large{flex:1;padding:.85rem 1.5rem;font-size:1rem;justify-content:center}.club-description-section{margin-bottom:1.5rem}.club-description-section h2{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;color:var(--text-color, #1a1a2e)}.club-description-section p{color:var(--text-secondary, #4a5568);line-height:1.6;margin:0}.club-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--glass-border, rgba(0, 0, 0, .06));padding-bottom:.5rem}.tab-btn{background:none;border:none;padding:.6rem 1rem;font-size:.95rem;font-weight:500;color:var(--muted-color, #6b7280);cursor:pointer;border-radius:8px;transition:all .2s;display:flex;align-items:center;gap:.4rem}.tab-btn:hover{background:var(--glass-bg, rgba(255, 255, 255, .5))}.tab-btn.active{background:linear-gradient(135deg,var(--primary-gradient-start, #667eea),var(--primary-gradient-end, #764ba2));color:#fff}.club-tab-content{min-height:200px}.events-placeholder,.members-placeholder{text-align:center;padding:3rem 1rem;color:var(--muted-color, #6b7280)}.events-placeholder i,.members-placeholder i{font-size:2.5rem;margin-bottom:1rem;opacity:.4}.events-placeholder .hint,.members-placeholder .hint{font-size:.85rem;opacity:.7;margin-top:.5rem}@media (max-width: 550px){.club-hero-content{flex-wrap:wrap}.club-hero-info{flex:1 1 calc(100% - 80px)}.club-hero-stats{width:100%;justify-content:center;gap:.5rem;padding-top:.85rem;margin-top:.5rem;border-top:1px solid rgba(255,255,255,.08);order:3}.hero-stat{flex:1;max-width:85px}}@media (max-width: 380px){.club-hero-info h1{font-size:1.15rem}.hero-stat{min-width:48px;padding:.4rem .5rem}.hero-stat-value{font-size:1rem}.hero-stat-label{font-size:.55rem}}body.dark-mode .club-card{background:var(--glass-bg, rgba(30, 30, 40, .8));border-color:var(--glass-border, rgba(255, 255, 255, .08))}body.dark-mode .club-info h3{color:var(--text-color, #e2e8f0)}body.dark-mode .club-description,body.dark-mode .club-description-section p{color:var(--text-secondary, #a0aec0)}body:not(.dark-mode) .club-hero{background:linear-gradient(180deg,#fffffffa,#f8fafcfa);border-color:#00000014}body:not(.dark-mode) .club-hero-info h1{color:#1a1a2e}body:not(.dark-mode) .club-university-badge{color:#6b7280}body:not(.dark-mode) .hero-stat-value{color:var(--primary-color, #667eea)}body:not(.dark-mode) .hero-stat-label{color:#6b7280}body:not(.dark-mode) .club-logo-large{border-color:#fff}.clubs-search-bar{margin:0 .5rem 1rem}.clubs-search-bar .search-input-wrapper{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--glass-bg, rgba(255, 255, 255, .06));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:12px;transition:all .2s ease}.clubs-search-bar .search-input-wrapper:focus-within{border-color:var(--accent-primary, rgba(139, 125, 232, .5));background:var(--glass-bg-hover, rgba(139, 125, 232, .08));box-shadow:0 0 0 3px #8b7de81a}.clubs-search-bar .search-input-wrapper i.fa-search{color:var(--text-tertiary, rgba(255, 255, 255, .4));font-size:.9rem;flex-shrink:0}.clubs-search-bar .search-input-wrapper input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary, #fff);font-size:.95rem;font-family:inherit}.clubs-search-bar .search-input-wrapper input::placeholder{color:var(--text-tertiary, rgba(255, 255, 255, .4))}.clubs-search-bar .search-clear-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ffffff1a;border:none;border-radius:50%;color:var(--text-secondary, rgba(255, 255, 255, .6));cursor:pointer;transition:all .2s ease;flex-shrink:0}.clubs-search-bar .search-clear-btn:hover{background:#ef444433;color:#f87171}body:not(.dark-mode) .clubs-search-bar .search-input-wrapper{background:#00000008;border-color:#00000014}body:not(.dark-mode) .clubs-search-bar .search-input-wrapper:focus-within{border-color:#6366f166;background:#6366f10d}body:not(.dark-mode) .clubs-search-bar .search-input-wrapper input{color:var(--text-primary, #1f2937)}body:not(.dark-mode) .clubs-search-bar .search-input-wrapper input::placeholder{color:#0006}body:not(.dark-mode) .clubs-search-bar .search-clear-btn{background:#0000000d;color:#00000080}.clubs-page,.clubs-section,.club-section{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1 1 auto;min-height:100%;display:flex;flex-direction:column}.clubs-page .clubs-grid,.clubs-section .clubs-grid{flex:1 1 auto}.club-detail{overflow:visible;min-height:auto;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}@media (max-width: 600px){.clubs-section,.club-section{padding:.5rem .35rem}.clubs-header-bar{padding:.75rem;margin-bottom:1rem}.clubs-header-bar h1{font-size:1.4rem}.clubs-subtitle{font-size:.85rem}.clubs-admin-controls{flex-direction:column;align-items:stretch;gap:.5rem}.admin-nav-btn{justify-content:center;padding:.75rem 1rem;min-height:44px;font-size:.9rem}.clubs-search-bar{margin:0 .35rem .75rem}.clubs-search-bar .search-input-wrapper{padding:.65rem .85rem}.clubs-search-bar .search-input-wrapper input{font-size:16px}.clubs-grid{grid-template-columns:1fr;gap:.75rem;padding:.35rem}.club-card{border-radius:14px}.club-card-body{padding:.875rem 1rem}.club-logo{width:44px;height:44px;border-radius:10px;font-size:1.1rem}.club-info h3{font-size:1rem}.club-description{font-size:.85rem;-webkit-line-clamp:2}.club-actions{flex-direction:row;gap:.5rem}.club-actions .btn{min-height:44px;justify-content:center;padding:.6rem .5rem;font-size:.8rem}.club-detail{padding:0 .35rem}.club-detail-header{padding:.35rem 0 .75rem}.back-link{font-size:.9rem;padding:.5rem 0;min-height:44px;display:inline-flex;align-items:center}.club-hero{border-radius:16px;margin-bottom:1rem}.club-banner,.club-banner-placeholder{height:80px}.club-hero-content{padding:0 1rem .85rem;margin-top:-24px;gap:.75rem}.club-logo-large{width:56px;height:56px;border-radius:14px;font-size:1.4rem}.club-hero-info h1{font-size:1.15rem}.club-university-badge{font-size:.7rem}.club-hero-stats{gap:.3rem}.hero-stat{padding:.35rem .5rem;min-width:46px;border-radius:8px}.hero-stat-value{font-size:.95rem}.hero-stat-label{font-size:.55rem}.club-actions-bar{flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.club-actions-bar .btn.large{padding:.75rem 1rem;font-size:.95rem;min-height:48px}.club-description-section{margin-bottom:1.25rem}.club-description-section h2{font-size:1rem}.club-description-section p{font-size:.9rem;line-height:1.55}.club-tabs{gap:.35rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;margin:0 -.35rem;padding:0 .35rem .5rem}.club-tabs::-webkit-scrollbar{display:none}.tab-btn{flex:0 0 auto;padding:.55rem .85rem;font-size:.9rem;min-height:44px;white-space:nowrap}.club-tab-content{min-height:150px}.events-placeholder,.members-placeholder,.clubs-empty,.clubs-error{padding:2rem 1rem}.events-placeholder i,.members-placeholder i,.clubs-empty i,.clubs-error i{font-size:2rem}}@media (max-width: 380px){.clubs-header-bar h1{font-size:1.25rem}.club-card{border-radius:12px}.club-card-body{padding:.75rem .875rem}.club-logo{width:40px;height:40px}.club-hero-content{padding:0 .75rem .75rem}.club-logo-large{width:48px;height:48px}.club-hero-info h1{font-size:1.05rem}.hero-stat{min-width:42px;padding:.3rem .4rem}.hero-stat-value{font-size:.9rem}.tab-btn{padding:.5rem .7rem;font-size:.85rem}}@media (display-mode: standalone){.clubs-page,.club-detail{padding-bottom:calc(2rem + env(safe-area-inset-bottom,34px))}.club-detail{overscroll-behavior:none}}@media (hover: none) and (pointer: coarse){.club-card:hover{transform:none;box-shadow:0 4px 12px #00000014}.club-card:active{transform:scale(.98)}.club-actions .btn,.club-actions-bar .btn,.tab-btn,.back-link,.admin-nav-btn{min-height:48px}.tab-btn:active{background:#ffffff1a}}@media (max-height: 500px) and (orientation: landscape){.clubs-section,.club-section{padding:.5rem}.clubs-header-bar{padding:.5rem;margin-bottom:.75rem}.clubs-grid{grid-template-columns:repeat(2,1fr)}.club-hero-content{flex-wrap:nowrap}.club-hero-stats{width:auto}}@media (min-width: 600px) and (max-width: 900px){.clubs-grid{grid-template-columns:repeat(2,1fr);gap:.875rem}.club-detail{max-width:700px}}.clubs-section .btn,.club-section .btn,.clubs-page .btn,.club-modal .btn,.event-detail-modal .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;border-radius:12px;text-decoration:none;cursor:pointer;transition:all .2s ease;border:none;line-height:1.2}.clubs-section .btn.primary,.club-section .btn.primary,.clubs-page .btn.primary,.club-modal .btn.primary,.event-detail-modal .btn.primary{background:linear-gradient(135deg,var(--primary-gradient-start, #667eea),var(--primary-gradient-end, #764ba2));color:#fff;box-shadow:0 4px 12px #667eea40}.clubs-section .btn.primary:hover,.club-section .btn.primary:hover,.clubs-page .btn.primary:hover,.club-modal .btn.primary:hover,.event-detail-modal .btn.primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #667eea59}.clubs-section .btn.primary:active,.club-section .btn.primary:active,.clubs-page .btn.primary:active,.club-modal .btn.primary:active,.event-detail-modal .btn.primary:active{transform:translateY(0)}.clubs-section .btn.secondary,.club-section .btn.secondary,.clubs-page .btn.secondary,.club-modal .btn.secondary,.event-detail-modal .btn.secondary{background:#ffffff1a;color:var(--text-color, #e2e8f0);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.clubs-section .btn.secondary:hover,.club-section .btn.secondary:hover,.clubs-page .btn.secondary:hover,.club-modal .btn.secondary:hover,.event-detail-modal .btn.secondary:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.clubs-section .btn.danger,.club-section .btn.danger,.clubs-page .btn.danger,.club-modal .btn.danger,.event-detail-modal .btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #dc35454d}.clubs-section .btn.danger:hover,.club-section .btn.danger:hover,.clubs-page .btn.danger:hover,.club-modal .btn.danger:hover,.event-detail-modal .btn.danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 6px 16px #dc354566}.btn.large{padding:.85rem 1.5rem;font-size:1rem}.btn.small{padding:.4rem .8rem;font-size:.8rem;border-radius:8px}.btn.icon-only{width:40px;height:40px;padding:0;border-radius:10px}.btn.icon-only.small{width:32px;height:32px;border-radius:8px}.club-modal .modal-close-btn,.event-detail-modal .modal-close-btn{position:absolute;top:1rem;right:1rem;width:36px!important;height:36px!important;min-width:36px;min-height:36px;max-width:36px;max-height:36px;padding:0!important;margin:0;display:flex!important;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.25);border-radius:50%!important;color:#fffc;cursor:pointer;transition:all .2s ease;z-index:10;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.club-modal .modal-close-btn:hover,.event-detail-modal .modal-close-btn:hover{background:#ef444440;border-color:#ef444480;color:#f87171;transform:scale(1.08)}.club-modal .modal-close-btn:active,.event-detail-modal .modal-close-btn:active{transform:scale(.95)}.club-modal .modal-close-btn i,.event-detail-modal .modal-close-btn i{font-size:.95rem;line-height:1;display:flex;align-items:center;justify-content:center}body.dark-mode .clubs-section .btn.secondary,body.dark-mode .club-section .btn.secondary,body.dark-mode .clubs-page .btn.secondary,body.dark-mode .club-modal .btn.secondary,body.dark-mode .event-detail-modal .btn.secondary{background:#ffffff14;border-color:#ffffff26;color:var(--text-color, #e2e8f0)}body.dark-mode .clubs-section .btn.secondary:hover,body.dark-mode .club-section .btn.secondary:hover,body.dark-mode .clubs-page .btn.secondary:hover,body.dark-mode .club-modal .btn.secondary:hover,body.dark-mode .event-detail-modal .btn.secondary:hover{background:#ffffff1f}.events-controls{margin-bottom:1.25rem}.events-section{margin-bottom:1.5rem}.events-section-title{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.1rem;font-weight:700;color:#fff}.events-section-title i{font-size:1rem;color:var(--primary-color, #667eea)}.events-section-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;margin-bottom:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff9;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.events-section-toggle:hover{background:#ffffff14;color:#fffc}.events-section-toggle .toggle-icon{margin-left:auto;font-size:.8rem;transition:transform .2s ease}.events-list{display:flex;flex-direction:column;gap:.85rem}.events-empty{text-align:center;padding:3rem 1rem;color:var(--muted-color, #6b7280)}.events-empty i{font-size:2.5rem;margin-bottom:1rem;opacity:.4}.event-card{display:flex;flex-direction:column;background:linear-gradient(135deg,#28283ce6,#1e1e2df2);border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .25s ease;position:relative}.event-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--primary-gradient-start, #667eea),var(--primary-gradient-end, #764ba2));border-radius:4px 0 0 4px;z-index:2}.event-card:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 12px 32px #667eea26,0 4px 12px #0003;border-color:#667eea4d}.event-card:active{transform:translateY(-1px) scale(1.005)}.event-card.past{opacity:.55}.event-card.past:before{background:linear-gradient(180deg,#6b7280,#4b5563)}.event-card.past:hover{opacity:.75}.event-card .event-image-container{position:relative;width:100%;height:140px;overflow:hidden;flex-shrink:0}.event-card .event-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.event-card:hover .event-image{transform:scale(1.05)}.event-card .event-image-container:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(20,20,35,.9) 0%,rgba(20,20,35,.5) 50%,transparent 100%);pointer-events:none}.event-card-content{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.6rem;flex:1;position:relative;z-index:1}.event-card.has-image .event-card-content{padding-top:.85rem}.event-header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.event-title{margin:0;font-size:1.05rem;font-weight:600;color:#fff;letter-spacing:-.01em}.event-badges{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.event-multi-day-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border-radius:6px;background:#8b7de826;color:#a78bfa}.event-multi-day-badge i{font-size:.6rem}.event-status{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:6px}.event-status.live{background:#10b98133;color:#34d399;box-shadow:0 0 12px #10b9814d}.event-status.live i{font-size:.45rem;animation:pulse-live 1.2s infinite}@keyframes pulse-live{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.event-status.pending{background:#f59e0b33;color:#fbbf24}.event-status.rejected{background:#ef444433;color:#f87171}.event-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:#fff9}.event-meta span{display:inline-flex;align-items:center;gap:.4rem}.event-meta i{font-size:.75rem;width:14px;text-align:center;color:var(--primary-color, #667eea)}.event-date,.event-time{display:inline-flex;align-items:center;gap:.4rem}.event-location{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#fff9}.event-location i{font-size:.75rem;width:14px;text-align:center;color:#ef4444}.event-description{font-size:.85rem;color:#ffffff80;line-height:1.5;margin:.25rem 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.events-placeholder{text-align:center;padding:3rem 1.5rem;background:#ffffff08;border:1px dashed rgba(255,255,255,.1);border-radius:16px;color:#ffffff80}.events-placeholder i{font-size:2.5rem;margin-bottom:1rem;opacity:.4;display:block}.events-placeholder p{margin:0 0 .5rem}.events-placeholder .hint{font-size:.85rem;opacity:.7;margin-bottom:1rem}.events-placeholder .btn{margin-top:.5rem}@media (max-width: 480px){.event-card-content{padding:.85rem 1rem}.event-title{font-size:.95rem}.event-meta{gap:.6rem;font-size:.8rem}.event-description{font-size:.8rem;-webkit-line-clamp:2}}body:not(.dark-mode) .event-card{background:linear-gradient(135deg,#fffffff2,#f8fafcfa);border-color:#00000014}body:not(.dark-mode) .event-card:hover{box-shadow:0 12px 32px #667eea1f,0 4px 12px #00000014}body:not(.dark-mode) .event-title{color:#1a1a2e}body:not(.dark-mode) .event-meta,body:not(.dark-mode) .event-location{color:#6b7280}body:not(.dark-mode) .event-description{color:#4a5568}body:not(.dark-mode) .events-section-title{color:#1a1a2e}body:not(.dark-mode) .events-section-toggle{background:#00000008;border-color:#00000014;color:#6b7280}body:not(.dark-mode) .events-placeholder{background:#00000005;border-color:#0000001a;color:#6b7280}.event-card.live-event{border-color:#10b98166;background:linear-gradient(135deg,#10b98114,#1e1e2df2);animation:liveCardGlow 3s ease-in-out infinite}@keyframes liveCardGlow{0%,to{box-shadow:0 4px 20px #10b98126,0 0 0 1px #10b98133}50%{box-shadow:0 8px 32px #10b98140,0 0 0 2px #10b9814d}}.event-card.live-event:hover{border-color:#10b98199;transform:translateY(-4px)}.event-live-badge{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;gap:.4rem;padding:.35rem .75rem;background:linear-gradient(135deg,#10b981,#34d399);color:#fff;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:20px;box-shadow:0 2px 12px #10b98166;z-index:2}.event-live-badge:before{content:"";width:6px;height:6px;background:#fff;border-radius:50%;animation:liveDot 1.5s ease-in-out infinite}@keyframes liveDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.event-status-badge.live{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;font-weight:600}body:not(.dark-mode) .event-card.live-event{background:linear-gradient(135deg,#10b9810f,#f8fafcfa);border-color:#10b9814d}body:not(.dark-mode) .event-card.live-event:hover{box-shadow:0 12px 32px #10b98126,0 4px 12px #00000014}.events-load-more{display:flex;justify-content:center;padding:1.5rem 0;margin-top:1rem}.events-load-more .btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;border-radius:8px;transition:all .2s ease}.events-load-more .btn:disabled{opacity:.7;cursor:wait}.events-load-more .btn i.fa-spin{animation:spin 1s linear infinite}@media (max-width: 600px){.events-section{margin-bottom:1.25rem}.events-section-title{font-size:1rem;margin-bottom:.75rem}.events-section-toggle{padding:.65rem .85rem;font-size:.85rem;min-height:44px}.events-list{gap:.65rem}.event-card{border-radius:14px}.event-card .event-image-container{height:120px}.event-card .event-content{padding:.85rem}.event-card .event-title{font-size:1rem}.event-card .event-details{font-size:.8rem;gap:.3rem}.event-card .event-actions{flex-direction:column;gap:.4rem;margin-top:.65rem}.event-card .event-actions .btn{min-height:44px;justify-content:center}.event-status-badge{font-size:.7rem;padding:.25rem .5rem}.event-date-badge{padding:.4rem .5rem}.event-date-badge .date-month{font-size:.6rem}.event-date-badge .date-day{font-size:1rem}.events-load-more{padding:1rem 0}.events-load-more .btn{width:100%;justify-content:center;min-height:48px}.events-empty{padding:2rem 1rem}.events-empty i{font-size:2rem}}@media (max-width: 380px){.event-card .event-content{padding:.75rem}.event-card .event-title{font-size:.95rem}.event-card .event-details{font-size:.75rem}}@media (hover: none) and (pointer: coarse){.event-card:hover{transform:none}.event-card:active{transform:scale(.98)}.event-card .event-actions .btn,.events-section-toggle{min-height:48px}}@media (max-height: 500px) and (orientation: landscape){.event-card .event-image-container{height:100px}.events-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}}.create-event-modal-overlay{position:fixed;inset:0;background:#0f1015d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;z-index:9999;padding:0;opacity:0;transition:opacity .25s ease}@media (min-width: 600px){.create-event-modal-overlay{align-items:center;padding:1rem}}.create-event-modal-overlay.active{opacity:1}.create-event-modal{position:relative;background:linear-gradient(180deg,#1e1b2e,#16141f);border:1px solid rgba(139,125,232,.15);border-bottom:none;border-radius:24px 24px 0 0;width:100%;max-width:100%;max-height:95vh;max-height:95dvh;overflow-y:auto;overflow-x:hidden;box-shadow:0 -10px 60px #00000080;transform:translateY(100%);transition:transform .35s cubic-bezier(.32,.72,0,1)}@media (min-width: 600px){.create-event-modal{max-width:560px;max-height:90vh;border-radius:24px;border-bottom:1px solid rgba(139,125,232,.15);transform:translateY(30px) scale(.95);transition:transform .3s cubic-bezier(.32,.72,0,1)}}@media (min-width: 768px){.create-event-modal{max-width:640px}}@media (min-width: 1024px){.create-event-modal{max-width:720px}}.create-event-modal-overlay.active .create-event-modal{transform:translateY(0)}@media (min-width: 600px){.create-event-modal-overlay.active .create-event-modal{transform:translateY(0) scale(1)}}.create-event-modal:before{content:"";display:block;width:36px;height:4px;background:#ffffff40;border-radius:2px;margin:12px auto 0}@media (min-width: 600px){.create-event-modal:before{display:none}}.create-event-modal .modal-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:linear-gradient(180deg,#1e1b2efa,#1e1b2ef2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(139,125,232,.1)}.create-event-modal .modal-header h2{margin:0;font-size:1.15rem;font-weight:700;color:#f8f7ff;display:flex;align-items:center;gap:.6rem}.create-event-modal .modal-header h2 i{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b7de8,#a78bfa);color:#fff;border-radius:10px;font-size:.9rem}.create-event-modal .modal-close-btn{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;max-width:36px!important;max-height:36px!important;margin:0!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:50%!important;color:#fff9;font-size:.95rem;cursor:pointer;transition:all .2s ease;flex-shrink:0;-webkit-tap-highlight-color:transparent}.create-event-modal .modal-close-btn:hover,.create-event-modal .modal-close-btn:active{background:#ef444426;border-color:#ef44444d;color:#f87171}.create-event-modal .event-form{display:flex;flex-direction:column;gap:0;padding:0 1.25rem 1.5rem}.create-event-modal .form-section{padding:1.25rem 0;border-bottom:1px solid rgba(139,125,232,.08)}.create-event-modal .form-section:last-of-type{border-bottom:none}.create-event-modal .form-section-title{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#ffffff73}.create-event-modal .form-section-title .section-hint{margin-left:auto;font-size:.7rem;font-weight:500;text-transform:none;letter-spacing:normal;color:#a78bfa;background:#a78bfa26;padding:.2rem .5rem;border-radius:4px}.create-event-modal .form-section-title i{font-size:.7rem}.time-slots-container{display:flex;flex-direction:column;gap:1rem}.schedule-card{position:relative;background:linear-gradient(145deg,#1e1b2ecc,#16141fe6);border:1px solid rgba(139,125,232,.15);border-radius:20px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.schedule-card:hover{border-color:#8b7de84d;box-shadow:0 8px 32px #8b7de81f,0 0 0 1px #8b7de80d;transform:translateY(-2px)}.schedule-card-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;background:linear-gradient(135deg,#8b7de81a,#6366f10d);border-bottom:1px solid rgba(139,125,232,.1)}.schedule-day-badge{display:flex;align-items:center;gap:.75rem}.schedule-day-badge .day-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b7de8,#6366f1);color:#fff;font-size:.8rem;font-weight:700;border-radius:8px;box-shadow:0 2px 8px #8b7de84d}.schedule-day-badge .day-label{font-size:.75rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.schedule-remove-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ef444414;border:1px solid rgba(239,68,68,.12);border-radius:10px;color:#f87171b3;font-size:.75rem;cursor:pointer;transition:all .2s ease}.schedule-remove-btn:hover{background:#ef444426;border-color:#ef44444d;color:#f87171;transform:scale(1.05)}.schedule-card-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}@media (min-width: 600px){.schedule-card-body{flex-direction:row;align-items:stretch;gap:1.25rem;padding:1.5rem}}.schedule-date-picker{display:flex;align-items:center;gap:.875rem;padding:1rem;background:#10b9810f;border:1px solid rgba(16,185,129,.12);border-radius:14px;transition:all .2s ease;flex:1}.schedule-date-picker:hover,.schedule-date-picker:focus-within{background:#10b9811a;border-color:#10b98140}@media (min-width: 600px){.schedule-date-picker{flex:0 0 auto;min-width:200px}}.schedule-time-range{display:flex;align-items:stretch;gap:0;flex:1}.time-picker{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fbbf240f;border:1px solid rgba(251,191,36,.12);transition:all .2s ease;flex:1}.time-picker.start-time{border-radius:14px 0 0 14px;border-right:none}.time-picker.end-time{border-radius:0 14px 14px 0;border-left:none}.time-picker:hover,.time-picker:focus-within{background:#fbbf241a;border-color:#fbbf2440;z-index:1}.time-range-connector{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 .25rem;background:#fbbf240f;border-top:1px solid rgba(251,191,36,.12);border-bottom:1px solid rgba(251,191,36,.12)}.connector-line{flex:1;width:1px;background:linear-gradient(to bottom,transparent,rgba(251,191,36,.3),transparent)}.connector-icon{font-size:.85rem;color:#fbbf2499;padding:.25rem 0}.picker-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:.85rem;flex-shrink:0}.schedule-date-picker .picker-icon,.time-picker .picker-icon.start{background:linear-gradient(135deg,#10b98133,#34d3991a);color:#34d399}.time-picker .picker-icon.end{background:linear-gradient(135deg,#ef444426,#f871711a);color:#f87171}.picker-content{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.picker-label{font-size:.65rem;font-weight:600;color:#ffffff73;text-transform:uppercase;letter-spacing:.5px}.schedule-date-input,.schedule-time-input{width:100%;padding:0;background:transparent;border:none;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;outline:none}.schedule-date-input{font-size:.95rem}.schedule-time-input{font-size:1.1rem;letter-spacing:.5px}.schedule-date-input::-webkit-calendar-picker-indicator,.schedule-time-input::-webkit-calendar-picker-indicator{filter:invert(.5) sepia(1) saturate(2) hue-rotate(100deg);cursor:pointer;opacity:.6;transition:opacity .2s ease}.schedule-date-picker:hover .schedule-date-input::-webkit-calendar-picker-indicator,.time-picker:hover .schedule-time-input::-webkit-calendar-picker-indicator{opacity:1}.add-slot-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;margin-top:.5rem;padding:1rem 1.5rem;background:transparent;border:2px dashed rgba(139,125,232,.2);border-radius:16px;color:#a78bfacc;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.add-slot-btn:hover{background:#8b7de814;border-color:#8b7de866;border-style:solid;color:#a78bfa;transform:translateY(-2px);box-shadow:0 6px 20px #8b7de826}.add-slot-btn:active{transform:translateY(0)}.add-slot-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.add-slot-btn i{font-size:.8rem;transition:transform .2s ease}.add-slot-btn:hover i{transform:rotate(90deg)}@media (max-width: 599px){.schedule-card-body{padding:1rem}.schedule-time-range{flex-direction:row}.time-picker.start-time{border-radius:14px 0 0 14px}.time-picker.end-time{border-radius:0 14px 14px 0}.picker-icon{width:32px;height:32px;font-size:.75rem}}.hidden-native-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.picker-value{font-size:1.05rem;font-weight:600;color:#fff;letter-spacing:.3px}.picker-value.date-display{font-size:.95rem}.picker-arrow{margin-left:auto;color:#ffffff4d;font-size:.7rem;transition:transform .2s ease}.schedule-date-picker:hover .picker-arrow,.time-picker:hover .picker-arrow{color:#fff9}.schedule-date-picker,.time-picker{cursor:pointer;-webkit-user-select:none;user-select:none}.schedule-date-picker:active,.time-picker:active{transform:scale(.98)}.custom-picker-overlay{position:fixed;inset:0;background:#0a0a0fd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10001;padding:1rem;opacity:0;transition:opacity .2s ease}.custom-picker-overlay.active{opacity:1}.custom-picker{background:linear-gradient(165deg,#252236,#1a1825);border:1px solid rgba(139,125,232,.2);border-radius:24px;width:100%;max-width:340px;box-shadow:0 20px 60px #00000080,0 0 0 1px #8b7de81a;overflow:hidden;transform:scale(.9) translateY(20px);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.custom-picker-overlay.active .custom-picker{transform:scale(1) translateY(0)}.picker-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#8b7de826,#6366f114);border-bottom:1px solid rgba(139,125,232,.12)}.picker-modal-header h3{display:flex;align-items:center;gap:.6rem;font-size:1rem;font-weight:600;color:#fff;margin:0}.picker-modal-header h3 i{color:#a78bfa}.picker-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#fff9;cursor:pointer;transition:all .2s ease}.picker-close-btn:hover{background:#ef444426;border-color:#ef44444d;color:#f87171}.picker-modal-body{padding:1.25rem 1.5rem}.picker-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background:#0003;border-top:1px solid rgba(255,255,255,.05)}.picker-today-btn,.picker-cancel-btn,.picker-confirm-btn{padding:.65rem 1.25rem;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.picker-today-btn{background:#10b98126;border:1px solid rgba(16,185,129,.25);color:#34d399;margin-right:auto}.picker-today-btn:hover{background:#10b98140}.picker-cancel-btn{background:transparent;border:1px solid rgba(255,255,255,.1);color:#fff9}.picker-cancel-btn:hover{background:#ffffff0d;color:#fff}.picker-confirm-btn{background:linear-gradient(135deg,#8b7de8,#6366f1);border:none;color:#fff;box-shadow:0 4px 15px #8b7de84d}.picker-confirm-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #8b7de866}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.cal-nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#ffffffb3;cursor:pointer;transition:all .2s ease}.cal-nav-btn:hover{background:#8b7de826;border-color:#8b7de84d;color:#a78bfa}.cal-month-year{font-size:1rem;font-weight:600;color:#fff}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem}.calendar-weekdays span{text-align:center;font-size:.7rem;font-weight:600;color:#fff6;text-transform:uppercase;padding:.5rem 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:500;color:#ffffffd9;border-radius:10px;cursor:pointer;transition:all .15s ease}.cal-day:not(.empty):not(.disabled):hover{background:#8b7de833;color:#fff}.cal-day.empty{cursor:default}.cal-day.disabled{color:#fff3;cursor:not-allowed}.cal-day.today{background:#10b98126;color:#34d399;font-weight:600}.cal-day.selected{background:linear-gradient(135deg,#8b7de8,#6366f1);color:#fff;font-weight:700;box-shadow:0 4px 12px #8b7de859}.time-picker-wheels{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 0}.time-wheel{display:flex;flex-direction:column;align-items:center}.wheel-label{font-size:.65rem;font-weight:600;color:#fff6;text-transform:uppercase;margin-bottom:.5rem;height:1rem}.wheel-scroll-container{position:relative;width:72px;height:220px;overflow:hidden;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;cursor:grab}.wheel-scroll-container:active{cursor:grabbing}.wheel-scroll{position:absolute;top:0;left:0;right:0;will-change:transform;user-select:none;-webkit-user-select:none}.wheel-highlight{position:absolute;top:50%;left:4px;right:4px;height:44px;transform:translateY(-50%);background:linear-gradient(135deg,#8b7de84d,#6366f133);border-radius:8px;pointer-events:none;z-index:0}.wheel-scroll-container:before,.wheel-scroll-container:after{content:"";position:absolute;left:0;right:0;height:70px;pointer-events:none;z-index:2}.wheel-scroll-container:before{top:0;background:linear-gradient(to bottom,rgba(28,28,38,1) 0%,rgba(28,28,38,.8) 40%,transparent 100%)}.wheel-scroll-container:after{bottom:0;background:linear-gradient(to top,rgba(28,28,38,1) 0%,rgba(28,28,38,.8) 40%,transparent 100%)}.wheel-item{height:44px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:500;color:#ffffff80;cursor:pointer;will-change:opacity,transform;position:relative;z-index:1;transition:none}.wheel-item.selected{color:#fff;font-weight:700;font-size:1.2rem}.time-separator{font-size:1.5rem;font-weight:700;color:#ffffff4d;padding:0 .25rem;margin-top:1.5rem}.ampm-wheel .wheel-scroll-container{height:auto;background:transparent;border:none;overflow:visible}.ampm-wheel .wheel-scroll-container:before,.ampm-wheel .wheel-scroll-container:after{display:none}.ampm-wheel .wheel-highlight{display:none}.ampm-wheel .wheel-scroll{position:relative;display:flex;flex-direction:column;gap:8px;padding:10px 0}.ampm-wheel .wheel-item{height:44px;width:60px;font-size:.95rem;font-weight:600;color:#fff6;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:all .2s ease;opacity:1!important;transform:none!important}.ampm-wheel .wheel-item:hover{background:#ffffff1a;color:#ffffffb3}.ampm-wheel .wheel-item.selected{color:#fff;font-weight:700;font-size:.95rem;background:linear-gradient(135deg,#8b7de866,#6366f14d);border-color:#8b7de880}.section-hint:not(:empty){margin-left:auto;font-size:.65rem;font-weight:600;text-transform:none;letter-spacing:.3px;color:#fff;background:linear-gradient(135deg,#8b7de8,#a78bfa);padding:.25rem .6rem;border-radius:20px}.create-event-modal .form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.create-event-modal .form-group:last-child{margin-bottom:0}.create-event-modal .form-group label{font-size:.85rem;font-weight:600;color:#ffffffd9;display:flex;align-items:center;gap:.5rem}.create-event-modal .form-group label i{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:.75rem}.create-event-modal .form-group label i.fa-heading{background:linear-gradient(135deg,#8b7de833,#a78bfa33);color:#a78bfa}.create-event-modal .form-group label i.fa-align-left{background:linear-gradient(135deg,#60a5fa33,#93c5fd33);color:#93c5fd}.create-event-modal .form-group label i.fa-calendar{background:linear-gradient(135deg,#34d39933,#6ee7b733);color:#6ee7b7}.create-event-modal .form-group label i.fa-clock{background:linear-gradient(135deg,#fbbf2433,#fcd34d33);color:#fcd34d}.create-event-modal .form-group label i.fa-map-marker-alt{background:linear-gradient(135deg,#fb718533,#fda4af33);color:#fda4af}.create-event-modal .form-group input,.create-event-modal .form-group textarea{padding:.9rem 1rem;font-size:1rem;font-family:inherit;border:1.5px solid rgba(139,125,232,.12);border-radius:14px;background:#ffffff0a;color:#f8f7ff;transition:all .2s ease;-webkit-appearance:none;appearance:none}.create-event-modal .form-group input::placeholder,.create-event-modal .form-group textarea::placeholder{color:#ffffff4d}.create-event-modal .form-group input:focus,.create-event-modal .form-group textarea:focus{outline:none;border-color:#8b7de880;background:#8b7de814;box-shadow:0 0 0 4px #8b7de81a}.create-event-modal .form-group textarea{min-height:90px;resize:vertical;line-height:1.5}.create-event-modal .form-group input[type=date],.create-event-modal .form-group input[type=time]{color-scheme:dark;background:#ffffff0a;font-variant-numeric:tabular-nums}.create-event-modal .form-group input[type=date]::-webkit-calendar-picker-indicator,.create-event-modal .form-group input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.7) sepia(1) hue-rotate(200deg);cursor:pointer;padding:4px;border-radius:4px;transition:filter .2s}.create-event-modal .form-group input[type=date]::-webkit-calendar-picker-indicator:hover,.create-event-modal .form-group input[type=time]::-webkit-calendar-picker-indicator:hover{filter:invert(.9) sepia(1) hue-rotate(200deg)}.create-event-modal .form-row{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 400px){.create-event-modal .form-row{grid-template-columns:1fr 1fr}}@media (min-width: 400px){.create-event-modal .form-row.three-col{grid-template-columns:1fr 1fr 1fr}}.create-event-modal .char-count{font-size:.7rem;color:#ffffff59;text-align:right;margin-top:.3rem;font-variant-numeric:tabular-nums}.create-event-modal .field-hint{font-size:.75rem;color:#fff6;margin-top:.4rem;display:flex;align-items:center;gap:.35rem}.create-event-modal .field-hint i{font-size:.65rem;opacity:.7}.create-event-modal .form-group label i.fa-image{background:linear-gradient(135deg,#ec489933,#f472b633);color:#f472b6}.create-event-modal .image-upload-wrapper{position:relative;width:100%}.create-event-modal .image-upload-area{position:relative;width:100%;aspect-ratio:16 / 9;background:linear-gradient(135deg,#8b7de80f,#a78bfa0a);border:2px dashed rgba(139,125,232,.25);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .25s ease}.create-event-modal .image-upload-area:hover{border-color:#8b7de866;background:linear-gradient(135deg,#8b7de81a,#a78bfa0f)}.create-event-modal .image-upload-area:active{transform:scale(.995)}.create-event-modal .image-upload-area.dragover{border-color:#8b7de899;background:linear-gradient(135deg,#8b7de826,#a78bfa1a)}.create-event-modal .image-upload-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1.5rem;text-align:center}.create-event-modal .image-upload-placeholder.hidden{display:none}.create-event-modal .upload-icon-wrapper{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b7de826,#a78bfa1a);border-radius:50%;margin-bottom:.5rem}.create-event-modal .upload-icon-wrapper i{font-size:1.75rem;color:#8b7de8b3;transition:color .2s ease}.create-event-modal .image-upload-area:hover .upload-icon-wrapper i{color:#8b7de8e6}.create-event-modal .upload-main-text{font-size:.95rem;font-weight:600;color:#ffffffbf}.create-event-modal .upload-hint{font-size:.75rem;color:#fff6;line-height:1.4}.create-event-modal .image-preview{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.create-event-modal .image-preview.hidden{display:none}.create-event-modal .image-preview img{width:100%;height:100%;object-fit:cover}.create-event-modal .image-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.75rem;background:#0006;opacity:0;transition:opacity .2s ease}.create-event-modal .image-preview:hover .image-overlay{opacity:1}.create-event-modal .image-action-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;font-size:.95rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #00000040}.create-event-modal .image-action-btn.edit-btn{background:linear-gradient(135deg,#8b7de8,#a78bfa);color:#fff}.create-event-modal .image-action-btn.edit-btn:hover{transform:scale(1.1);box-shadow:0 6px 18px #8b7de866}.create-event-modal .image-action-btn.remove-btn{background:#ef4444e6;color:#fff}.create-event-modal .image-action-btn.remove-btn:hover{background:#dc2626;transform:scale(1.1);box-shadow:0 6px 18px #ef444466}.create-event-modal .hidden-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.create-event-modal .optional-badge{display:inline-block;padding:.15rem .45rem;background:#ffffff14;border-radius:4px;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:#ffffff73;margin-left:.5rem}.create-event-modal .form-actions{display:flex;gap:.75rem;padding:1.25rem;margin:0 -1.25rem -1.5rem;background:linear-gradient(180deg,transparent 0%,rgba(22,20,31,.8) 30%);border-top:1px solid rgba(139,125,232,.08);position:sticky;bottom:0}.create-event-modal .form-actions .btn{flex:1;padding:1rem 1.25rem;font-size:.95rem;font-weight:600;font-family:inherit;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;min-height:52px}.create-event-modal .form-actions .btn.secondary{background:#ffffff0f;border:1.5px solid rgba(255,255,255,.12);color:#ffffffbf}.create-event-modal .form-actions .btn.secondary:hover,.create-event-modal .form-actions .btn.secondary:active{background:#ffffff1a;border-color:#fff3;color:#fff}.create-event-modal .form-actions .btn.primary{background:linear-gradient(135deg,#8b7de8,#a78bfa);border:none;color:#fff;box-shadow:0 4px 16px #8b7de859,inset 0 1px #ffffff26}.create-event-modal .form-actions .btn.primary:hover,.create-event-modal .form-actions .btn.primary:active{background:linear-gradient(135deg,#9d8ff0,#b89cfc);box-shadow:0 6px 24px #8b7de873,inset 0 1px #fff3;transform:translateY(-1px)}.create-event-modal .form-actions .btn.primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.create-event-modal .form-actions .btn i.fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.create-event-modal::-webkit-scrollbar{width:6px}.create-event-modal::-webkit-scrollbar-track{background:transparent}.create-event-modal::-webkit-scrollbar-thumb{background:#8b7de833;border-radius:3px}.create-event-modal::-webkit-scrollbar-thumb:hover{background:#8b7de859}@media (hover: none) and (pointer: coarse){.create-event-modal .form-group input,.create-event-modal .form-group textarea{font-size:16px}.create-event-modal .form-actions .btn{min-height:56px}}.event-detail-modal-overlay{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;opacity:0;transition:opacity .25s ease}.event-detail-modal-overlay.active{opacity:1}.event-detail-modal{position:relative;background:linear-gradient(180deg,#1e1b2e,#16141f);border:1px solid rgba(255,255,255,.1);border-radius:20px;width:100%;max-width:480px;max-height:90vh;overflow:hidden;box-shadow:0 25px 80px #0009;transform:translateY(20px) scale(.95);transition:transform .3s cubic-bezier(.32,.72,0,1)}.event-detail-modal-overlay.active .event-detail-modal{transform:translateY(0) scale(1)}.event-detail-modal .modal-close-btn{position:absolute;top:.75rem;right:.75rem;z-index:10;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:50%;color:#fff;font-size:.9rem;cursor:pointer;transition:all .2s ease}.event-detail-modal .modal-close-btn:hover{background:#ef4444cc;border-color:transparent}.event-detail-modal.has-hero-image{overflow:hidden}.event-hero-container{position:relative;width:100%;aspect-ratio:4 / 5;max-height:70vh;overflow:hidden}@media (min-width: 480px){.event-hero-container{aspect-ratio:3 / 4;max-height:65vh}}.event-hero-image{width:100%;height:100%;object-fit:cover}.event-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,14,20,.98) 0%,rgba(15,14,20,.85) 25%,rgba(15,14,20,.4) 50%,rgba(15,14,20,.1) 70%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.25rem}.event-hero-content{display:flex;flex-direction:column;gap:.75rem}.event-hero-title{margin:0;font-size:1.5rem;font-weight:700;color:#fff;line-height:1.2;text-shadow:0 2px 8px rgba(0,0,0,.5)}@media (min-width: 480px){.event-hero-title{font-size:1.75rem}}.event-hero-content .event-detail-status{align-self:flex-start;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1)}.event-hero-content .event-detail-status.live{background:#10b9814d;border-color:#10b98166;color:#6ee7b7}.event-hero-content .event-detail-status.pending{background:#f59e0b4d;border-color:#f59e0b66;color:#fcd34d}.event-hero-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.hero-meta-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#ffffffe6;text-shadow:0 1px 4px rgba(0,0,0,.5)}.hero-meta-item i{width:18px;color:#a78bfa;font-size:.85rem}.event-detail-footer{padding:1rem 1.25rem 1.25rem;background:#16141f;display:flex;flex-direction:column;gap:1rem}.event-footer-description{margin:0;font-size:.9rem;color:#ffffffb3;line-height:1.5}.event-footer-info{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8rem;color:#ffffff73}.event-footer-info span{display:flex;align-items:center;gap:.35rem}.event-footer-info i{font-size:.75rem}.event-detail-content{padding:1.5rem;overflow-y:auto;max-height:calc(90vh - 2rem)}.event-detail-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.event-detail-header h2{margin:0;font-size:1.35rem;font-weight:700;color:#fff;flex:1;min-width:180px}.event-detail-status{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .75rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;border-radius:6px;white-space:nowrap}.event-detail-status.live{background:#10b98133;color:#34d399}.event-detail-status.live i{font-size:.45rem;animation:pulse-live 1.5s infinite}.event-detail-status.pending{background:#f59e0b33;color:#fbbf24}.event-detail-status.rejected{background:#ef444433;color:#f87171}.event-rejection-info{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:12px;margin-bottom:1rem}.event-rejection-info.saf-rejection{background:#8b5cf61a;border-color:#8b5cf64d}.event-rejection-info .rejection-details{display:flex;flex-direction:column;gap:.5rem}.event-rejection-info .rejection-source{font-size:.8rem;color:#fff9;margin:0;text-transform:uppercase;letter-spacing:.03em}.event-rejection-info .rejection-source i{margin-right:.4rem}.event-rejection-info.saf-rejection .rejection-source,.event-rejection-info.saf-rejection .rejection-source i{color:#a78bfa}.event-rejection-info .rejection-by{font-size:.9rem;color:#fffc;margin:0}.event-rejection-info .rejection-by i{color:#f87171;margin-right:.5rem}.event-rejection-info .rejection-reason{font-size:.9rem;color:#ffffffb3;font-style:italic;margin:0;padding:.5rem;background:#0003;border-radius:8px}.event-rejection-info .rejection-reason i{color:#fbbf24;margin-right:.5rem}.event-detail-status.saf-rejected{background:#8b5cf633;color:#a78bfa}.event-detail-status.cancelled{background:#6b728033;color:#9ca3af}.event-detail-meta{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#8b7de814;border-radius:14px;border:1px solid rgba(139,125,232,.12);margin-bottom:1.25rem}.event-detail-slot{display:flex;flex-direction:column;gap:.35rem}.event-detail-slot .slot-date,.event-detail-slot .slot-time{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:#ffffffe6}.event-detail-slot .slot-date i,.event-detail-slot .slot-time i{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b7de8,#a78bfa);color:#fff;border-radius:8px;font-size:.75rem}.event-all-dates{margin-bottom:1rem}.view-all-dates-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:#8b7de81a;border:1px solid rgba(139,125,232,.2);border-radius:10px;color:#ffffffe6;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.view-all-dates-btn:hover{background:#8b7de826;border-color:#8b7de84d}.view-all-dates-btn i:first-child{color:#8b7de8}.view-all-dates-btn .expand-icon{margin-left:auto;transition:transform .3s ease}.view-all-dates-btn .expand-icon.rotated{transform:rotate(180deg)}.all-dates-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding:.75rem;background:#8b7de80d;border-radius:10px;border:1px solid rgba(139,125,232,.1);animation:fadeSlideIn .2s ease}.all-dates-list[hidden]{display:none}.event-detail-slot.compact{flex-direction:row;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#ffffff08;border-radius:8px}.event-detail-slot.compact .slot-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b7de8,#a78bfa);color:#fff;border-radius:6px;font-size:.75rem;font-weight:600;flex-shrink:0}.event-detail-slot.compact .slot-date,.event-detail-slot.compact .slot-time{font-size:.85rem}.event-detail-slot.compact .slot-date i,.event-detail-slot.compact .slot-time i{width:20px;height:20px;font-size:.65rem;border-radius:5px}.event-detail-location{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:#ffffffe6;margin-top:.5rem;padding-top:.75rem;border-top:1px solid rgba(139,125,232,.1)}.event-detail-location i{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ec4899,#f472b6);color:#fff;border-radius:8px;font-size:.75rem}.event-detail-description{margin-bottom:1.25rem}.event-detail-description h3{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:#fffc}.event-detail-description p{margin:0;font-size:.9rem;color:#ffffffa6;line-height:1.6}.event-detail-info{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08)}.event-detail-info .info-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#ffffff73}.event-detail-info .info-item i{width:16px;text-align:center;font-size:.75rem}.event-detail-actions{display:flex;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.event-detail-actions .btn{flex:1;padding:.85rem 1rem;font-size:.9rem;font-weight:600;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s ease}.event-detail-actions .btn.secondary{background:#ffffff0f;border:1.5px solid rgba(255,255,255,.12);color:#fffc}.event-detail-actions .btn.secondary:hover{background:#ffffff1a;border-color:#fff3}.event-detail-actions .btn.danger{background:#ef444426;border:1.5px solid rgba(239,68,68,.25);color:#f87171}.event-detail-actions .btn.danger:hover{background:#ef444440;border-color:#ef444466}body.dark-mode .event-detail-modal{background:linear-gradient(180deg,#1e1b2e,#16141f)}body.dark-mode .event-detail-status.live{color:#34d399}body.dark-mode .event-detail-status.pending{color:#fbbf24}body.dark-mode .event-detail-status.rejected{color:#f87171}.image-cropper-modal-overlay{position:fixed;inset:0;background:#000000fa;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity .25s ease}.image-cropper-modal-overlay.active{opacity:1}.image-cropper-modal{display:flex;flex-direction:column;width:100%;height:100%;background:#0f0e14}@media (min-width: 600px){.image-cropper-modal{width:90%;height:auto;max-width:550px;max-height:90vh;border-radius:20px;border:1px solid rgba(139,125,232,.2);box-shadow:0 25px 80px #0009;overflow:hidden}}.cropper-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#1e1b2ef2;border-bottom:1px solid rgba(139,125,232,.12);flex-shrink:0}.cropper-header h2{margin:0;font-size:1.05rem;font-weight:600;color:#f8f7ff;display:flex;align-items:center;gap:.5rem}.cropper-header h2 i{color:#a78bfa}.cropper-close-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#fff9;font-size:1rem;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.cropper-close-btn:hover,.cropper-close-btn:active{background:#ef444426;border-color:#ef44444d;color:#f87171}.cropper-body{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.aspect-ratio-selector{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#16141ff2;flex-shrink:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.aspect-btn{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .85rem;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.1);border-radius:10px;color:#ffffff8c;cursor:pointer;transition:all .2s ease;min-width:60px;flex-shrink:0;-webkit-tap-highlight-color:transparent}.aspect-btn:active{transform:scale(.96)}.aspect-btn.active{background:linear-gradient(135deg,#8b7de840,#a78bfa26);border-color:#8b7de899;color:#a78bfa}.aspect-icon{border:2px solid currentColor;border-radius:3px;transition:all .2s ease}.aspect-icon-wide{width:28px;height:16px}.aspect-icon-standard{width:24px;height:18px}.aspect-icon-square{width:20px;height:20px}.aspect-icon-portrait{width:16px;height:22px}.aspect-btn span{font-size:.7rem;font-weight:500;letter-spacing:.2px}.cropper-canvas-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;background:repeating-conic-gradient(rgba(255,255,255,.02) 0% 25%,transparent 0% 50%) 0 0 / 16px 16px;min-height:200px;overflow:hidden}#cropperCanvas{border-radius:8px;box-shadow:0 8px 40px #0006;cursor:grab;touch-action:none;max-width:100%;max-height:100%}#cropperCanvas:active{cursor:grabbing}.zoom-control{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1rem;background:#16141ff2;flex-shrink:0}.zoom-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1.5px solid rgba(255,255,255,.1);border-radius:50%;color:#fff9;font-size:.9rem;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.zoom-btn:active{background:#8b7de833;border-color:#8b7de866;color:#a78bfa;transform:scale(.95)}.zoom-slider-wrapper{flex:1;max-width:180px;padding:0 .5rem}.zoom-slider-wrapper input[type=range]{width:100%;height:6px;background:#ffffff1a;border-radius:3px;appearance:none;-webkit-appearance:none;cursor:pointer}.zoom-slider-wrapper input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;background:linear-gradient(135deg,#8b7de8,#a78bfa);border-radius:50%;cursor:pointer;box-shadow:0 2px 10px #8b7de880}.zoom-slider-wrapper input[type=range]::-moz-range-thumb{width:20px;height:20px;background:linear-gradient(135deg,#8b7de8,#a78bfa);border-radius:50%;cursor:pointer;border:none}.cropper-hint{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;color:#fff6;font-size:.75rem;flex-shrink:0}.cropper-hint i{color:#8b7de899}.cropper-footer{display:flex;gap:.75rem;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));background:#1e1b2ef2;border-top:1px solid rgba(139,125,232,.12);flex-shrink:0}.cropper-footer .btn{flex:1;padding:1rem 1.25rem;font-size:1rem;font-weight:600;font-family:inherit;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s ease;min-height:52px;-webkit-tap-highlight-color:transparent}.cropper-footer .btn.secondary{background:#ffffff0f;border:1.5px solid rgba(255,255,255,.12);color:#ffffffbf}.cropper-footer .btn.secondary:active{background:#ffffff1f;transform:scale(.98)}.cropper-footer .btn.primary{background:linear-gradient(135deg,#8b7de8,#a78bfa);border:none;color:#fff;box-shadow:0 4px 20px #8b7de866}.cropper-footer .btn.primary:active{transform:scale(.98);box-shadow:0 2px 12px #8b7de84d}.cropper-footer .btn.primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 480px){.cropper-header{padding:.85rem 1rem}.aspect-ratio-selector{gap:.4rem;padding:.6rem .5rem}.aspect-btn{padding:.5rem .7rem;min-width:54px}.aspect-icon-wide{width:24px;height:13px}.aspect-icon-standard{width:20px;height:15px}.aspect-icon-square{width:17px;height:17px}.aspect-icon-portrait{width:14px;height:19px}.cropper-canvas-wrapper{padding:.75rem}.zoom-control{padding:.6rem .75rem}.zoom-btn{width:36px;height:36px}.cropper-footer{padding:.85rem;gap:.6rem}.cropper-footer .btn{min-height:48px;font-size:.95rem}}.live-action-container{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.08)}.live-status-container{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.live-countdown{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#ffffffb3;background:#ffffff0a;padding:.5rem .85rem;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.live-countdown i{color:#10b981;font-size:.85rem}.live-countdown.ending-soon{background:#f59e0b1a;border-color:#f59e0b33}.live-countdown.ending-soon i{color:#f59e0b}.live-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;min-width:140px}.live-action-btn:disabled{opacity:.6;cursor:not-allowed}.live-action-btn.go-live{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;box-shadow:0 4px 16px #10b98159}.live-action-btn.go-live:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #10b98173}.live-action-btn.go-live:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 12px #10b9814d}.live-action-btn.go-live:before{content:"";position:absolute;inset:-2px;border-radius:12px;background:linear-gradient(135deg,#10b981,#34d399);opacity:0;z-index:-1;animation:goLivePulse 2s ease-in-out infinite}@keyframes goLivePulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.3;transform:scale(1.05)}}.live-action-btn.end-live{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;box-shadow:0 4px 16px #ef444459}.live-action-btn.end-live:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #ef444473}.live-action-btn.end-live:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 12px #ef44444d}.go-live-hint{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#ffffff80;font-style:italic;padding:.6rem .85rem;background:#ffffff08;border-radius:8px;border:1px dashed rgba(255,255,255,.1)}.go-live-hint i{color:#8b7de8b3;font-size:.8rem}.event-detail-modal .event-status-badge.live-now{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;font-weight:600;padding:.4rem .85rem;animation:liveGlow 2s ease-in-out infinite}@keyframes liveGlow{0%,to{box-shadow:0 2px 12px #10b98166}50%{box-shadow:0 4px 20px #10b98199}}@media (max-width: 480px){.live-status-container{flex-direction:column;align-items:stretch;gap:.75rem}.live-countdown{justify-content:center}.live-action-btn{width:100%;padding:.85rem 1.5rem}.go-live-hint{text-align:center;justify-content:center}}.create-event-modal,.event-detail-modal{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}body.modal-open{overflow:hidden;position:fixed;width:100%;height:100%}@media (max-width: 600px){.create-event-modal-overlay,.event-detail-modal-overlay{padding:0;align-items:flex-end}.create-event-modal,.event-detail-modal{width:100%;max-width:100%;max-height:92vh;max-height:92dvh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}.create-event-modal:before,.event-detail-modal:before{width:40px;height:5px;margin:10px auto 0;background:#ffffff4d}.create-event-modal .modal-header,.event-detail-modal .modal-header{padding:.85rem 1rem;position:sticky;top:0;z-index:10}.create-event-modal .modal-header h2,.event-detail-modal .modal-header h2{font-size:1.05rem}.create-event-modal .modal-header h2 i,.event-detail-modal .modal-header h2 i{width:28px;height:28px;font-size:.8rem}.modal-close-btn{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}.create-event-modal .modal-body,.event-detail-modal .modal-body{padding:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.form-group{margin-bottom:1rem}.form-group label{font-size:.85rem;margin-bottom:.4rem}.form-group input,.form-group textarea,.form-group select{font-size:16px!important;padding:.75rem;min-height:48px}.form-group textarea{min-height:100px}.time-slot-row{flex-direction:column;gap:.5rem}.time-slot-row input{width:100%}.create-event-modal .modal-footer,.event-detail-modal .modal-footer{position:sticky;bottom:0;padding:.85rem 1rem;padding-bottom:calc(.85rem + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,transparent 0%,rgba(30,27,46,.98) 20%)}.create-event-modal .modal-footer .btn,.event-detail-modal .modal-footer .btn{flex:1;min-height:48px;justify-content:center;font-size:.95rem}.event-detail-hero{height:160px}.event-detail-content{padding:1rem}.event-detail-title{font-size:1.15rem}.event-detail-info{font-size:.85rem;gap:.75rem}.event-detail-description{font-size:.9rem;line-height:1.55}.event-detail-actions{flex-direction:column;gap:.5rem}.event-detail-actions .btn{width:100%;min-height:48px;justify-content:center}}@media (max-width: 380px){.create-event-modal,.event-detail-modal{max-height:94vh;max-height:94dvh}.create-event-modal .modal-header,.event-detail-modal .modal-header{padding:.75rem}.create-event-modal .modal-header h2,.event-detail-modal .modal-header h2{font-size:.95rem;gap:.4rem}.create-event-modal .modal-body,.event-detail-modal .modal-body{padding:.85rem}.form-group label{font-size:.8rem}.form-group input,.form-group textarea,.form-group select{padding:.65rem}.event-detail-hero{height:140px}.event-detail-title{font-size:1.05rem}}@media (display-mode: standalone){.create-event-modal,.event-detail-modal{padding-bottom:max(1rem,env(safe-area-inset-bottom,34px))}.create-event-modal .modal-footer,.event-detail-modal .modal-footer{padding-bottom:calc(1rem + env(safe-area-inset-bottom,34px))}}@media (hover: none) and (pointer: coarse){.modal-close-btn:hover{background:transparent}.modal-close-btn:active{background:#ffffff1a;transform:scale(.95)}.form-group input,.form-group textarea,.form-group select,.modal-footer .btn,.event-detail-actions .btn,.time-slot-remove-btn{min-height:48px}.modal-footer .btn:active,.event-detail-actions .btn:active{transform:scale(.98)}}@media (max-height: 500px) and (orientation: landscape){.create-event-modal,.event-detail-modal{max-height:100vh;max-height:100dvh;border-radius:0}.create-event-modal:before,.event-detail-modal:before{display:none}.create-event-modal .modal-header,.event-detail-modal .modal-header,.create-event-modal .modal-body,.event-detail-modal .modal-body{padding:.5rem 1rem}.event-detail-hero{height:120px}.form-group{margin-bottom:.75rem}}.club-creator-modal-overlay{position:fixed;inset:0;background:#0f1015e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:0;opacity:0;transition:opacity .25s ease;overflow-y:auto}.club-creator-modal-overlay.active{opacity:1}.club-creator-modal{background:linear-gradient(180deg,#1e1b2e,#16141f);border:1px solid rgba(139,125,232,.2);border-radius:20px;width:100%;max-width:900px;max-height:95vh;max-height:95dvh;margin:1rem;display:flex;flex-direction:column;overflow:hidden}.club-creator-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(139,125,232,.15);flex-shrink:0}.club-creator-header h2{margin:0;font-size:1.15rem;font-weight:600;color:var(--text-primary, #fff);display:flex;align-items:center;gap:.5rem}.club-creator-header h2 i{color:#a78bfa}.club-creator-close-btn{width:36px;height:36px;border-radius:50%;border:none;background:#8b7de81a;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.club-creator-close-btn:hover{background:#ef444433;color:#f87171}.club-creator-body{display:flex;flex-direction:column;gap:1.5rem;padding:1.25rem;overflow-y:auto;flex:1}@media (min-width: 700px){.club-creator-body{flex-direction:row;gap:2rem}}.club-creator-form-section{flex:1;min-width:0}.club-creator-form-section .form-group{margin-bottom:1rem}.club-creator-form-section label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:.4rem}.club-creator-form-section input[type=text],.club-creator-form-section textarea,.club-creator-form-section select{width:100%;padding:.65rem .85rem;background:#1e1b2ecc;border:1px solid rgba(139,125,232,.2);border-radius:10px;color:var(--text-primary);font-size:.9rem;transition:border-color .2s,box-shadow .2s}.club-creator-form-section input:focus,.club-creator-form-section textarea:focus,.club-creator-form-section select:focus{outline:none;border-color:#8b7de880;box-shadow:0 0 0 3px #8b7de81a}.club-creator-form-section textarea{resize:vertical;min-height:60px}.accent-color-picker{display:flex;gap:.5rem;flex-wrap:wrap}.color-swatch{width:36px;height:36px;border-radius:50%;border:3px solid transparent;background:var(--swatch-color);cursor:pointer;transition:all .2s;position:relative}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:#fff;box-shadow:0 0 0 2px var(--swatch-color)}.color-swatch.selected:after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5)}.image-uploads{margin-top:.5rem}.image-upload-row{display:flex;gap:1rem}.image-upload-item{flex:1}.image-upload-item label{margin-bottom:.35rem}.image-upload-btn{width:100%;padding:.75rem;background:#8b7de81a;border:1px dashed rgba(139,125,232,.3);border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.85rem}.image-upload-btn:hover{background:#8b7de826;border-color:#8b7de880;color:var(--text-primary)}.image-upload-btn i{font-size:1rem}.image-upload-btn.has-image{background:#10b9811a;border-color:#10b9814d;color:#10b981}.image-upload-btn.has-image:hover{background:#10b98126;border-color:#10b98180}.checkbox-group .inline-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--text-primary)}.checkbox-group .inline-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#8b5cf6}.club-creator-preview-section{flex:1;min-width:280px;display:flex;flex-direction:column}.preview-label{font-size:.8rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}.preview-label i{color:#a78bfa}.club-preview-container{flex:1;display:flex;align-items:flex-start;justify-content:center}.club-preview-container .club-card{max-width:320px;width:100%;pointer-events:none}.club-preview-container .club-card .btn{opacity:.6;cursor:default}.club-creator-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid rgba(139,125,232,.15);flex-shrink:0}.club-creator-footer .btn{padding:.65rem 1.25rem;font-size:.9rem;border-radius:10px;font-weight:500;cursor:pointer;transition:all .2s}.club-creator-footer .btn.primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none}.club-creator-footer .btn.primary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.club-creator-footer .btn.secondary{background:#8b7de81a;color:var(--text-secondary);border:1px solid rgba(139,125,232,.2)}.club-creator-footer .btn.secondary:hover{background:#8b7de833}.club-image-cropper{position:absolute;inset:0;background:#0f1015f2;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:10}.club-image-cropper.active{opacity:1;visibility:visible}.cropper-container{background:linear-gradient(180deg,#1e1b2e,#16141f);border:1px solid rgba(139,125,232,.2);border-radius:16px;width:100%;max-width:500px;margin:1rem;overflow:hidden}.club-image-cropper .cropper-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid rgba(139,125,232,.15)}.club-image-cropper .cropper-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.club-image-cropper .cropper-header h3 i{color:#a78bfa}.club-image-cropper .cropper-close-btn{width:32px;height:32px;border-radius:50%;border:none;background:#8b7de81a;color:var(--text-secondary);cursor:pointer;transition:all .2s}.club-image-cropper .cropper-close-btn:hover{background:#ef444433;color:#f87171}.cropper-canvas-area{padding:1rem;display:flex;align-items:center;justify-content:center;min-height:200px;background:#0003}#club-cropper-canvas{border-radius:8px;cursor:grab;touch-action:none}#club-cropper-canvas:active{cursor:grabbing}.cropper-controls{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1rem}.cropper-controls .zoom-btn{width:36px;height:36px;border-radius:50%;border:none;background:#8b7de826;color:var(--text-primary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.cropper-controls .zoom-btn:hover{background:#8b7de840}.cropper-controls input[type=range]{flex:1;max-width:200px;accent-color:#8b5cf6}.club-image-cropper .cropper-hint{text-align:center;font-size:.8rem;color:var(--text-tertiary);padding:0 1rem .75rem}.club-image-cropper .cropper-hint i{margin-right:.35rem;color:#a78bfa}.cropper-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgba(139,125,232,.15)}.cropper-actions .btn{padding:.5rem 1rem;font-size:.85rem;border-radius:8px;cursor:pointer;transition:all .2s}.cropper-actions .btn.primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none}.cropper-actions .btn.primary:hover{background:linear-gradient(135deg,#059669,#047857)}.cropper-actions .btn.secondary{background:#8b7de81a;color:var(--text-secondary);border:1px solid rgba(139,125,232,.2)}.cropper-actions .btn.secondary:hover{background:#8b7de833}@media (max-width: 699px){.club-creator-modal{max-height:100vh;max-height:100dvh;margin:0;border-radius:0}.club-creator-preview-section{order:-1;min-width:0}.club-preview-container{justify-content:center}.club-preview-container .club-card{max-width:280px}}@media (max-width: 400px){.image-upload-row{flex-direction:column;gap:.75rem}.club-creator-header h2{font-size:1rem}.club-creator-body{padding:1rem}.club-creator-footer{padding:.85rem 1rem}.club-creator-footer .btn{padding:.55rem 1rem}}.saf-notice{margin-top:.5rem}.saf-notice .info-text{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary);padding:.65rem .85rem;background:#8b7de814;border:1px solid rgba(139,125,232,.15);border-radius:8px;margin:0}.saf-notice .info-text i{color:#a78bfa;font-size:.9rem}.events-mother-card{margin-bottom:1.5rem;border-radius:20px;overflow:hidden;transition:all .3s ease}.events-mother-card.active{background:linear-gradient(135deg,#ef444426,#8b7de81a,#1e1e2dfa);border:1px solid rgba(239,68,68,.3);box-shadow:0 8px 32px #ef444426,inset 0 0 0 1px #ef44441a;animation:motherCardPulse 3s ease-in-out infinite}@keyframes motherCardPulse{0%,to{box-shadow:0 8px 32px #ef444426,inset 0 0 0 1px #ef44441a}50%{box-shadow:0 12px 40px #ef444440,inset 0 0 0 2px #ef444433}}.events-mother-card.inactive{background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.mother-card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem}.mother-card-status{display:flex;align-items:center;gap:.75rem}.status-indicator{width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center}.status-indicator.live{background:#ef444433;animation:statusPulse 1.5s ease-in-out infinite}.status-indicator.live .status-dot{width:8px;height:8px;background:#ef4444;border-radius:50%;animation:dotPulse 1.5s ease-in-out infinite}.status-indicator.dormant{background:#ffffff14}.status-indicator.dormant .status-dot{width:8px;height:8px;background:#ffffff4d;border-radius:50%}@keyframes statusPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}}@keyframes dotPulse{0%,to{opacity:1;box-shadow:0 0 #ef444480}50%{opacity:.9;box-shadow:0 0 0 4px #ef444400}}.status-text{font-size:.95rem;font-weight:600;color:#fff}.status-text .live-count{color:#ef4444;font-weight:700;font-size:1.1rem}.events-mother-card.inactive .status-text{color:#ffffff80;font-weight:500}.mother-card-badge{display:flex;align-items:center;gap:.4rem;padding:.35rem .75rem;background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;border-radius:16px;box-shadow:0 2px 10px #ef444466}.mother-card-badge i{font-size:.65rem}.no-live-events{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center}.no-live-events i{font-size:2rem;color:#ffffff26;margin-bottom:.75rem}.no-live-events p{margin:0;font-size:.85rem;color:#fff6}.mother-card-dropdowns{border-top:1px solid rgba(255,255,255,.06)}.dropdown-section{border-bottom:1px solid rgba(255,255,255,.04)}.dropdown-section:last-child{border-bottom:none}.dropdown-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.85rem 1.25rem;background:transparent;border:none;color:#fffc;cursor:pointer;transition:all .2s ease}.dropdown-toggle:hover{background:#ffffff08}.dropdown-section.empty .dropdown-toggle{opacity:.5;cursor:default}.dropdown-label{display:flex;align-items:center;gap:.6rem}.dropdown-label i{font-size:.85rem;color:#8b7de8b3;width:18px;text-align:center}.dropdown-label span{font-size:.9rem;font-weight:600}.dropdown-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#8b7de833;color:#a78bfa;font-size:.7rem;font-weight:700;border-radius:10px}.dropdown-arrow{font-size:.75rem;color:#fff6;transition:transform .25s ease}.dropdown-toggle.expanded .dropdown-arrow{transform:rotate(180deg)}.dropdown-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.dropdown-content.expanded{max-height:600px}.dropdown-events-list{padding:.5rem 1rem 1rem;display:flex;flex-direction:column;gap:.75rem}.dropdown-empty{padding:1.5rem;text-align:center}.dropdown-empty p{margin:0;font-size:.85rem;color:#ffffff59}.show-more-hint{text-align:center;padding:.5rem;font-size:.8rem;color:#8b7de8b3;font-weight:500}.dropdown-event-card{display:flex;gap:.85rem;padding:.75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;cursor:pointer;transition:all .2s ease}.dropdown-event-card:hover{background:#ffffff0f;border-color:#ffffff1a;transform:translate(4px)}.dropdown-event-card.past{opacity:.7}.dropdown-event-card.past:hover{opacity:.9}.dropdown-event-thumb{flex-shrink:0;width:56px;height:56px;border-radius:10px;overflow:hidden}.dropdown-event-thumb img{width:100%;height:100%;object-fit:cover}.dropdown-event-thumb.placeholder{display:flex;align-items:center;justify-content:center}.dropdown-event-thumb.placeholder i{font-size:1.2rem;color:#ffffffb3}.dropdown-event-info{flex:1;min-width:0}.dropdown-event-title{font-size:.88rem;font-weight:600;color:#fff;margin:0 0 .35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-event-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.event-club-name{font-size:.75rem;color:#ffffff80}.event-time-badge{display:inline-block;padding:.15rem .4rem;background:#8b7de826;color:#a78bfa;font-size:.65rem;font-weight:600;border-radius:6px}.dropdown-event-card.past .event-time-badge{background:#ffffff0f;color:#ffffff80}.dropdown-event-date{display:flex;align-items:center;gap:.75rem;font-size:.72rem;color:#fff6}.dropdown-event-date i{font-size:.65rem;margin-right:.2rem}.live-events-carousel{display:flex;gap:1rem;overflow-x:auto;padding:0 1.25rem 1rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.live-events-carousel::-webkit-scrollbar{height:4px}.live-events-carousel::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.live-event-card{flex:0 0 280px;scroll-snap-align:start;background:linear-gradient(135deg,#28283cf2,#1e1e2dfa);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .25s ease;position:relative}.live-event-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000004d;border-color:#ffffff26}.live-event-card{border-color:#ef444466;background:linear-gradient(135deg,#ef44441a,#1e1e2dfa);animation:liveCardBorder 2s ease-in-out infinite}@keyframes liveCardBorder{0%,to{box-shadow:0 4px 20px #ef444426,inset 0 0 0 1px #ef444433}50%{box-shadow:0 8px 32px #ef444440,inset 0 0 0 2px #ef444459}}.live-badge{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:16px;z-index:2;background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;box-shadow:0 2px 10px #ef444466}.live-badge.official{background:linear-gradient(135deg,#10b981,#34d399);box-shadow:0 2px 10px #10b98166;gap:.25rem;padding:.3rem .55rem;font-size:.65rem}.live-badge.official i{font-size:.6rem}.live-event-card.officially-live{border-color:#10b98166;background:linear-gradient(135deg,#10b9811a,#1e1e2dfa);animation:officialLiveCardBorder 2s ease-in-out infinite}@keyframes officialLiveCardBorder{0%,to{box-shadow:0 4px 20px #10b98126,inset 0 0 0 1px #10b98133}50%{box-shadow:0 8px 32px #10b98140,inset 0 0 0 2px #10b98159}}.badge-dot{width:6px;height:6px;background:#fff;border-radius:50%;animation:badgeDotPulse 1.2s ease-in-out infinite}@keyframes badgeDotPulse{0%,to{opacity:1}50%{opacity:.4}}.live-event-image{width:100%;height:120px;overflow:hidden;position:relative}.live-event-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.live-event-card:hover .live-event-image img{transform:scale(1.05)}.live-event-content{padding:1rem}.live-event-title{font-size:1rem;font-weight:700;color:#fff;margin:0 0 .65rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.live-event-club{display:flex;align-items:center;gap:.5rem;margin-bottom:.65rem}.club-mini-logo{width:22px;height:22px;border-radius:50%;overflow:hidden;flex-shrink:0}.club-mini-logo img{width:100%;height:100%;object-fit:cover}.club-mini-logo.placeholder{display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#fff}.live-event-club .club-name{font-size:.8rem;color:#ffffffb3;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-event-meta{display:flex;flex-direction:column;gap:.3rem}.live-event-meta span{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#ffffff8c}.live-event-meta i{font-size:.7rem;width:14px;text-align:center}.event-time-remaining{color:#10b981!important;font-weight:500}.upcoming-events-header{display:flex;align-items:center;margin:1.25rem 0 1rem}.upcoming-events-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#ffffffb3;margin:0}.upcoming-events-title i{font-size:.9rem;color:#8b7de8b3}.upcoming-event-card{flex:0 0 240px;scroll-snap-align:start;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden;cursor:pointer;transition:all .25s ease;opacity:.75}.upcoming-event-card:hover{opacity:1;transform:translateY(-3px);background:#ffffff0f;border-color:#ffffff1a}.upcoming-event-image{width:100%;height:90px;overflow:hidden}.upcoming-event-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(30%);opacity:.85;transition:all .3s ease}.upcoming-event-card:hover .upcoming-event-image img{filter:grayscale(0%);opacity:1}.upcoming-event-content{padding:.85rem}.upcoming-badge{display:inline-block;padding:.2rem .5rem;background:#8b7de826;color:#a78bfa;font-size:.7rem;font-weight:600;border-radius:8px;margin-bottom:.5rem}.upcoming-event-title{font-size:.9rem;font-weight:600;color:#ffffffd9;margin:0 0 .5rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.upcoming-event-club{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.upcoming-event-club .club-mini-logo{width:18px;height:18px}.upcoming-event-club .club-name{font-size:.75rem;color:#ffffff80}.upcoming-event-meta{display:flex;flex-direction:column;gap:.2rem}.upcoming-event-meta span{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:#ffffff73}.upcoming-event-meta i{font-size:.65rem;width:12px;text-align:center}.clubs-section-header{margin-top:.5rem;margin-bottom:.75rem}.clubs-section-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;color:#fff;margin:0}.clubs-section-title i{font-size:1rem;color:var(--primary-color, #8b7de8)}@media (max-width: 480px){.events-mother-card{border-radius:16px}.mother-card-header{padding:.85rem 1rem}.status-text{font-size:.85rem}.live-events-carousel{padding:0 1rem .85rem;gap:.75rem}.live-event-card{flex:0 0 240px}.live-event-image{height:100px}.live-event-content{padding:.85rem}.dropdown-toggle{padding:.75rem 1rem}.dropdown-events-list{padding:.5rem .85rem .85rem;gap:.6rem}.dropdown-event-thumb{width:48px;height:48px}.dropdown-event-title{font-size:.82rem}.clubs-section-title{font-size:1rem}}body:not(.dark-mode) .events-mother-card.active{background:linear-gradient(135deg,#ef444414,#8b7de80d,#fffffffa);border-color:#ef444433;box-shadow:0 4px 20px #ef444414}body:not(.dark-mode) .events-mother-card.inactive{background:#00000005;border-color:#0000000f}body:not(.dark-mode) .status-text{color:#1a1a2e}body:not(.dark-mode) .events-mother-card.inactive .status-text{color:#9ca3af}body:not(.dark-mode) .no-live-events i{color:#0000001a}body:not(.dark-mode) .no-live-events p{color:#9ca3af}body:not(.dark-mode) .mother-card-dropdowns{border-top-color:#0000000f}body:not(.dark-mode) .dropdown-section{border-bottom-color:#0000000a}body:not(.dark-mode) .dropdown-toggle{color:#374151}body:not(.dark-mode) .dropdown-toggle:hover{background:#00000005}body:not(.dark-mode) .dropdown-arrow{color:#9ca3af}body:not(.dark-mode) .dropdown-event-card{background:#00000005;border-color:#0000000d}body:not(.dark-mode) .dropdown-event-card:hover{background:#0000000a;border-color:#00000014}body:not(.dark-mode) .dropdown-event-title{color:#1a1a2e}body:not(.dark-mode) .event-club-name{color:#6b7280}body:not(.dark-mode) .dropdown-event-date{color:#9ca3af}body:not(.dark-mode) .dropdown-empty p{color:#9ca3af}body:not(.dark-mode) .live-event-card{background:linear-gradient(135deg,#fffffffa,#f8fafcf2);border-color:#ef444433}body:not(.dark-mode) .live-event-card.officially-live{border-color:#10b98133}body:not(.dark-mode) .live-event-title{color:#1a1a2e}body:not(.dark-mode) .live-event-club .club-name{color:#6b7280}body:not(.dark-mode) .live-event-meta span{color:#9ca3af}body:not(.dark-mode) .clubs-section-title{color:#1a1a2e}@media (max-width: 600px){.events-mother-card{margin-bottom:1rem;border-radius:16px}.mother-card-header{padding:.85rem 1rem;flex-wrap:wrap;gap:.5rem}.mother-card-status{gap:.5rem}.status-indicator{width:12px;height:12px}.status-indicator.live .status-dot,.status-indicator.dormant .status-dot{width:6px;height:6px}.status-text{font-size:.9rem}.status-text .live-count{font-size:1rem}.mother-card-badge{padding:.3rem .6rem;font-size:.65rem}.no-live-events{padding:1.5rem 1rem}.no-live-events i{font-size:1.75rem}.no-live-events p{font-size:.8rem}.dropdown-toggle{padding:.75rem 1rem;font-size:.85rem;min-height:44px}.dropdown-count{font-size:.7rem;padding:.15rem .4rem}.dropdown-content{padding:.5rem .75rem .75rem}.dropdown-events{gap:.5rem}.dropdown-event-card{padding:.65rem;gap:.5rem}.dropdown-event-date-badge{width:40px;padding:.35rem}.dropdown-event-date-badge .date-month{font-size:.55rem}.dropdown-event-date-badge .date-day{font-size:.95rem}.dropdown-event-info{gap:.15rem}.dropdown-event-title{font-size:.85rem}.event-club-name{font-size:.7rem}.live-event-card{padding:.85rem;gap:.65rem}.live-event-avatar{width:44px;height:44px}.live-event-title{font-size:.95rem}.live-event-club .club-name{font-size:.75rem}.live-event-meta{font-size:.7rem}.btn-join-live{padding:.5rem .85rem;font-size:.75rem;min-height:38px}.clubs-section-title{font-size:1rem;margin-bottom:.75rem}}@media (max-width: 380px){.mother-card-header{padding:.75rem}.status-text{font-size:.85rem}.dropdown-toggle{padding:.65rem .75rem;font-size:.8rem}.dropdown-event-card{padding:.55rem}.dropdown-event-title{font-size:.8rem}.live-event-card{padding:.75rem}.live-event-avatar{width:40px;height:40px}.live-event-title{font-size:.9rem}}@media (hover: none) and (pointer: coarse){.dropdown-toggle{min-height:48px}.dropdown-event-card:hover{background:var(--surface-secondary, rgba(255, 255, 255, .05))}.dropdown-event-card:active{background:var(--surface-hover, rgba(255, 255, 255, .08));transform:scale(.98)}.live-event-card:hover{transform:none}.live-event-card:active{transform:scale(.98)}.btn-join-live{min-height:44px}}@media (max-height: 500px) and (orientation: landscape){.events-mother-card{margin-bottom:.75rem}.mother-card-header{padding:.65rem 1rem}.no-live-events{padding:1rem}.dropdown-toggle{padding:.5rem 1rem}}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;font-size:.6875rem;font-weight:700;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:10px;box-shadow:0 2px 6px #f59e0b4d}.moderate-tab-btn{position:relative}.moderate-tab-btn i:first-child{color:var(--accent-primary, #a78bfa)}.moderate-tab-btn.active i:first-child{color:inherit}.members-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding:0 .25rem}.members-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary, #fff);display:flex;align-items:center;gap:.5rem}.members-header h3 i{color:var(--accent-primary, #8b7de8)}.member-count{font-size:.875rem;color:var(--text-secondary, rgba(255, 255, 255, .6));background:var(--surface-secondary, rgba(255, 255, 255, .05));padding:.375rem .75rem;border-radius:20px}.role-section{margin-bottom:1.75rem}.role-section:last-child{margin-bottom:0}.role-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.role-title{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, rgba(255, 255, 255, .7));display:flex;align-items:center;gap:.5rem}.role-title i{font-size:.75rem}.president-section .role-title i{color:#fcd34d}.official-section .role-title i{color:var(--accent-primary, #a78bfa)}.role-count{font-size:.75rem;color:var(--text-tertiary, rgba(255, 255, 255, .4));background:var(--surface-secondary, rgba(255, 255, 255, .05));padding:.25rem .5rem;border-radius:12px;min-width:1.5rem;text-align:center}.role-section .hint{font-size:.8125rem;color:var(--text-tertiary, rgba(255, 255, 255, .4));font-style:italic;margin:0;padding-left:.25rem}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}@media (max-width: 640px){.members-grid{grid-template-columns:1fr}}.member-card{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:var(--surface-secondary, rgba(255, 255, 255, .05));border-radius:12px;border:1px solid var(--border-color, rgba(255, 255, 255, .08));transition:all .2s ease;position:relative}.member-card:hover{background:var(--surface-hover, rgba(255, 255, 255, .08));border-color:#8b7de84d}.member-card.is-you{background:linear-gradient(135deg,#8b7de81a,#a78bfa0d);border-color:#8b7de840}.member-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,#8b7de8,#a78bfa);display:flex;align-items:center;justify-content:center}.member-avatar img{width:100%;height:100%;object-fit:cover}.avatar-initials{font-size:1rem;font-weight:600;color:#fff;text-transform:uppercase}.member-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.member-name{font-size:.9375rem;font-weight:500;color:var(--text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-joined{font-size:.75rem;color:var(--text-tertiary, rgba(255, 255, 255, .4))}.role-badge{display:inline-flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;padding:.25rem .5rem;border-radius:6px;text-transform:uppercase;letter-spacing:.3px;width:fit-content}.president-badge{background:linear-gradient(135deg,#fcd34d33,#fbbf241a);color:#fcd34d;border:1px solid rgba(252,211,77,.3)}.president-badge i{color:#fcd34d}.official-badge{background:linear-gradient(135deg,#8b7de833,#a78bfa1a);color:#a78bfa;border:1px solid rgba(167,139,250,.3)}.official-badge i{color:#a78bfa}.member-actions{display:flex;gap:.5rem}.action-icon{width:32px;height:32px;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:.75rem}.promote-btn{background:linear-gradient(135deg,#10b98126,#10b98114);color:#10b981;border:1px solid rgba(16,185,129,.3)}.promote-btn:hover{background:linear-gradient(135deg,#10b98140,#10b98126);border-color:#10b98180;transform:translateY(-1px)}.demote-btn{background:linear-gradient(135deg,#ef444426,#ef444414);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.demote-btn:hover{background:linear-gradient(135deg,#ef444440,#ef444426);border-color:#ef444480;transform:translateY(-1px)}.moderate-section{padding:0}.moderate-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding:0 .25rem}.moderate-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary, #fff);display:flex;align-items:center;gap:.5rem}.moderate-header h3 i{color:#f59e0b}.pending-count{font-size:.8125rem;font-weight:600;color:#f59e0b;background:#f59e0b26;padding:.375rem .875rem;border-radius:20px;border:1px solid rgba(245,158,11,.25)}.moderate-list{display:flex;flex-direction:column;gap:1rem}.pending-event-card{background:var(--surface-secondary, rgba(255, 255, 255, .05));border-radius:14px;border:1px solid var(--border-color, rgba(255, 255, 255, .08));overflow:hidden;transition:all .2s ease}.pending-event-card:hover{border-color:#f59e0b4d;box-shadow:0 4px 20px #00000026}.pending-event-image{width:100%;height:160px;overflow:hidden;position:relative}.pending-event-image img{width:100%;height:100%;object-fit:cover}.pending-event-image:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(transparent,#0000004d)}.pending-event-content{padding:1.25rem}.pending-event-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.pending-event-title{font-size:1.125rem;font-weight:600;color:var(--text-primary, #fff);margin:0;line-height:1.4}.multi-day-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;padding:.25rem .5rem;border-radius:6px;background:linear-gradient(135deg,#8b7de833,#a78bfa1a);color:#a78bfa;border:1px solid rgba(167,139,250,.3);text-transform:uppercase}.pending-event-meta{display:flex;flex-wrap:wrap;gap:.875rem;margin-bottom:.75rem}.pending-event-meta .meta-item{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary, rgba(255, 255, 255, .7))}.pending-event-meta .meta-item i{font-size:.75rem;color:var(--text-tertiary, rgba(255, 255, 255, .5))}.pending-event-description{font-size:.875rem;color:var(--text-secondary, rgba(255, 255, 255, .6));line-height:1.5;margin:0 0 1rem}.pending-event-footer{margin-bottom:1rem;padding-top:.75rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .08))}.creator-info{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-tertiary, rgba(255, 255, 255, .5))}.creator-info i{color:var(--text-tertiary, rgba(255, 255, 255, .4))}.creator-info strong{color:var(--text-secondary, rgba(255, 255, 255, .7));font-weight:500}.pending-event-actions{display:flex;gap:.75rem}.pending-event-actions .action-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;border-radius:10px;border:none;cursor:pointer;transition:all .2s ease}.pending-event-actions .approve-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b98140}.pending-event-actions .approve-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98159}.pending-event-actions .approve-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.pending-event-actions .reject-btn{background:var(--surface-secondary, rgba(255, 255, 255, .08));color:#ef4444;border:1px solid rgba(239,68,68,.3)}.pending-event-actions .reject-btn:hover{background:#ef444426;border-color:#ef444480}@media (max-width: 480px){.pending-event-actions{flex-direction:column}}.reject-modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity .2s ease;padding:1rem}.reject-modal-overlay.active{opacity:1}.reject-modal{background:var(--surface-primary, #1a1a2e);border-radius:16px;border:1px solid var(--border-color, rgba(255, 255, 255, .1));width:100%;max-width:420px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0006;transform:scale(.95);transition:transform .2s ease}.reject-modal-overlay.active .reject-modal{transform:scale(1)}@media (max-width: 640px){.reject-modal-overlay{align-items:flex-end;padding:0}.reject-modal{max-width:100%;border-radius:20px 20px 0 0;max-height:80vh;transform:translateY(20px)}.reject-modal-overlay.active .reject-modal{transform:translateY(0)}}.reject-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .08))}.reject-modal-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary, #fff);display:flex;align-items:center;gap:.5rem;margin:0}.reject-modal-header h3 i{color:#ef4444}.modal-close-btn{width:32px;height:32px;border-radius:8px;border:none;background:var(--surface-secondary, rgba(255, 255, 255, .08));color:var(--text-secondary, rgba(255, 255, 255, .6));cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close-btn:hover{background:var(--surface-hover, rgba(255, 255, 255, .12));color:var(--text-primary, #fff)}.reject-modal-body{padding:1.5rem}.reject-event-title{font-size:.9375rem;color:var(--text-secondary, rgba(255, 255, 255, .7));margin:0 0 1.25rem}.reject-event-title strong{color:var(--text-primary, #fff)}.reject-modal-body .form-group{margin-bottom:1rem}.reject-modal-body label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary, rgba(255, 255, 255, .7));margin-bottom:.5rem}.reject-modal-body label i{font-size:.75rem;color:var(--text-tertiary, rgba(255, 255, 255, .5))}.reject-modal-body textarea{width:100%;padding:.875rem 1rem;background:var(--surface-secondary, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:10px;color:var(--text-primary, #fff);font-size:.9375rem;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s ease}.reject-modal-body textarea::placeholder{color:var(--text-tertiary, rgba(255, 255, 255, .4))}.reject-modal-body textarea:focus{outline:none;border-color:var(--accent-primary, #8b7de8)}.char-count{display:block;text-align:right;font-size:.75rem;color:var(--text-tertiary, rgba(255, 255, 255, .4));margin-top:.375rem}.reject-hint{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:var(--text-tertiary, rgba(255, 255, 255, .5));margin:0;padding:.75rem;background:var(--surface-secondary, rgba(255, 255, 255, .03));border-radius:8px}.reject-hint i{color:var(--accent-primary, #8b7de8);margin-top:.125rem;flex-shrink:0}.reject-modal-footer{display:flex;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .08))}.reject-modal-footer .btn{flex:1;padding:.75rem 1rem;font-size:.875rem;font-weight:600;border-radius:10px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.reject-modal-footer .btn.secondary{background:var(--surface-secondary, rgba(255, 255, 255, .08));color:var(--text-primary, #fff);border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.reject-modal-footer .btn.secondary:hover{background:var(--surface-hover, rgba(255, 255, 255, .12))}.reject-modal-footer .btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef444440}.reject-modal-footer .btn.danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef444459}.reject-modal-footer .btn.danger:disabled{opacity:.6;cursor:not-allowed;transform:none}.moderate-empty,.moderate-access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem;min-height:280px}.moderate-empty .empty-icon,.moderate-access-denied .access-denied-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.moderate-empty .empty-icon{background:linear-gradient(135deg,#10b98126,#10b9810d);border:1px solid rgba(16,185,129,.25)}.moderate-empty .empty-icon i{font-size:2rem;color:#10b981}.moderate-access-denied .access-denied-icon{background:linear-gradient(135deg,#ef444426,#ef44440d);border:1px solid rgba(239,68,68,.25)}.moderate-access-denied .access-denied-icon i{font-size:2rem;color:#ef4444}.moderate-empty h3,.moderate-access-denied h3{font-size:1.25rem;font-weight:600;color:var(--text-primary, #fff);margin:0 0 .5rem}.moderate-empty p,.moderate-access-denied p{font-size:.9375rem;color:var(--text-secondary, rgba(255, 255, 255, .6));margin:0;max-width:300px}.moderate-empty .hint{font-size:.8125rem;color:var(--text-tertiary, rgba(255, 255, 255, .4));margin-top:.5rem}.moderate-readonly-notice{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;margin-bottom:1rem;background:linear-gradient(135deg,#fbbf241a,#fbbf240d);border:1px solid rgba(251,191,36,.2);border-radius:10px;color:#fbbf24e6;font-size:.85rem;font-weight:500}.moderate-readonly-notice i{font-size:.9rem;color:#fbbf24cc}.reject-modal-body .rejector-info{display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;margin-bottom:1rem;background:#8b7de81a;border:1px solid rgba(139,125,232,.2);border-radius:8px;font-size:.85rem;color:#fffc}.reject-modal-body .rejector-info i{color:#a78bfa}.reject-modal-body .rejector-info strong{color:#fff}.reject-modal-body .char-count-container{margin-top:.4rem}.reject-modal-body .char-count{font-size:.75rem;font-variant-numeric:tabular-nums;transition:color .2s ease}.reject-modal-body .char-count.char-count-warning{color:#fbbf24cc}.reject-modal-body .char-count.char-count-valid{color:#10b981cc}.empty-officials{background:var(--surface-secondary, rgba(255, 255, 255, .03));border-radius:12px;padding:1rem;border:1px dashed var(--border-color, rgba(255, 255, 255, .1))}.empty-officials .role-header{border-bottom:none;padding-bottom:0;margin-bottom:.5rem}.empty-officials .hint{margin:0;padding:0}.role-search-section{margin-bottom:1rem;padding:1rem;border-radius:12px;background:var(--glass-bg, rgba(255, 255, 255, .04));border:1px solid var(--border-color, rgba(255, 255, 255, .08))}.assign-search .search-input-wrapper{display:flex;align-items:center;gap:.5rem;background:var(--input-bg, rgba(255, 255, 255, .06));padding:.5rem .75rem;border-radius:10px;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.assign-search input{flex:1;background:transparent;border:none;color:inherit;outline:none}.assign-search .search-results-container{margin-top:.75rem;display:grid;gap:.5rem}.assign-search .student-card.assign-card{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;padding:.75rem;border-radius:10px;border:1px solid var(--border-color, rgba(255, 255, 255, .08));background:linear-gradient(135deg,#6366f114,#0ea5e90a);align-items:center}.assign-search .student-meta{opacity:.8;font-size:.9rem}.assign-search .btn-assign{white-space:nowrap}@media (max-width: 600px){.members-header{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:1rem}.members-header h3{font-size:1.1rem}.member-count{font-size:.8rem}.role-section{margin-bottom:1.25rem}.role-header{flex-wrap:wrap;gap:.5rem}.role-title{font-size:.8rem}.members-grid{grid-template-columns:1fr;gap:.5rem}.member-card{padding:.75rem;gap:.65rem}.member-avatar{width:42px;height:42px}.avatar-initials{font-size:.9rem}.member-name{font-size:.95rem}.member-role-badge{font-size:.65rem;padding:.2rem .4rem}.member-actions{flex-direction:column;gap:.35rem}.member-actions .btn{min-height:36px;padding:.4rem .6rem;font-size:.75rem}.moderate-header h3{font-size:1.1rem}.pending-empty{padding:1.5rem 1rem}.pending-empty i{font-size:2rem}.request-card{padding:.85rem}.request-avatar{width:42px;height:42px}.request-name{font-size:.95rem}.request-actions{flex-direction:row;gap:.5rem;margin-top:.65rem}.request-actions .btn{flex:1;min-height:40px;justify-content:center;padding:.5rem;font-size:.8rem}.role-search-section{padding:.85rem}.assign-search .search-input-wrapper{padding:.65rem}.assign-search input{font-size:16px}.assign-search .student-card.assign-card{grid-template-columns:auto 1fr;gap:.5rem}.assign-search .btn-assign{grid-column:1 / -1;width:100%;min-height:40px;justify-content:center}}@media (max-width: 380px){.member-card{padding:.65rem}.member-avatar{width:38px;height:38px}.member-name{font-size:.9rem}.request-card{padding:.75rem}.request-avatar{width:38px;height:38px}}@media (hover: none) and (pointer: coarse){.member-card:hover{background:var(--surface-secondary, rgba(255, 255, 255, .05))}.member-card:active{background:var(--surface-hover, rgba(255, 255, 255, .08))}.member-actions .btn,.request-actions .btn,.assign-search .btn-assign{min-height:44px}}@media (max-height: 500px) and (orientation: landscape){.members-grid{grid-template-columns:repeat(2,1fr)}.member-card{padding:.6rem .75rem}}.admin-page{width:100%;min-height:100%;display:flex;flex-direction:column;background:var(--main-content-bg);box-sizing:border-box;overflow-x:hidden}.admin-page:before{content:"";position:fixed;inset:0;background:var(--main-content-overlay);pointer-events:none;z-index:0}.admin-page>*{position:relative;z-index:1}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;flex:1;gap:1rem;color:var(--text-secondary)}.admin-loading i{font-size:2rem;color:var(--accent-primary)}.admin-access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;flex:1;text-align:center;gap:1.5rem;padding:2rem}.admin-access-denied .denied-icon{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--error),var(--error-red));display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#fff;box-shadow:var(--shadow-lg)}.admin-access-denied h2{font-size:1.75rem;color:var(--text-primary);margin:0}.admin-access-denied p{color:var(--text-secondary);margin:0}.admin-access-denied .btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--gradient-accent, linear-gradient(135deg, #667eea, #764ba2));color:#fff;border-radius:8px;text-decoration:none;font-weight:500;transition:transform .2s,box-shadow .2s}.admin-access-denied .btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-light)}.admin-pin-screen{display:flex;align-items:center;justify-content:center;flex:1;min-height:100%;padding:2rem;box-sizing:border-box}.pin-container{width:100%;max-width:400px;padding:2rem;text-align:center;background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);border-radius:16px;box-shadow:var(--glass-outer-glow)}@media (min-width: 768px){.pin-container{padding:3rem;max-width:440px}}.pin-header{margin-bottom:2rem}.pin-header i{font-size:3rem;color:var(--accent-primary);margin-bottom:1rem}.pin-header h2{font-size:1.5rem;color:var(--text-primary);margin:0 0 .5rem}.pin-header p{color:var(--text-secondary);margin:0;font-size:.9rem}.pin-input-group{position:relative;margin-bottom:1.5rem;max-width:260px;margin-left:auto;margin-right:auto}.pin-input{width:100%;padding:1rem;font-size:1.5rem;letter-spacing:.5rem;text-align:center;background:var(--input-bg);border:2px solid var(--input-border);border-radius:12px;color:var(--text-primary);outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.pin-input:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--input-focus-shadow)}.pin-input::placeholder{letter-spacing:.5rem;color:var(--text-tertiary)}.pin-dots{display:flex;justify-content:center;gap:.75rem;margin-top:1rem}.pin-dot{width:12px;height:12px;border-radius:50%;background:var(--border);transition:background .2s,transform .2s}.pin-dot.filled{background:var(--accent-primary);transform:scale(1.1)}.pin-error{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:var(--error-light);border:1px solid var(--error);border-radius:8px;color:var(--error-red);font-size:.9rem;margin-bottom:1.5rem}.btn-verify-pin{width:100%;padding:1rem;background:var(--gradient-accent, linear-gradient(135deg, #667eea, #764ba2));color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:opacity .2s,transform .2s,box-shadow .2s}.btn-verify-pin:disabled{opacity:.5;cursor:not-allowed}.btn-verify-pin:not(:disabled):hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-light)}.admin-dashboard{display:flex;flex-direction:column;flex:1;width:100%;max-width:100%;box-sizing:border-box;gap:1rem;padding:.75rem 0;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}@media (min-width: 600px){.admin-dashboard{padding:1rem 1.5rem;gap:1.25rem}}@media (min-width: 900px){.admin-dashboard{padding:1.5rem 2rem;gap:1.5rem;max-width:1400px;margin:0 auto}}@media (min-width: 1400px){.admin-dashboard{padding:2rem 3rem}}.admin-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:0 .75rem}@media (min-width: 600px){.admin-header{padding:0}}.admin-back-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:var(--text-primary, #fff);text-decoration:none;font-size:1rem;transition:all .2s ease;flex-shrink:0}.admin-back-btn:hover{background:#ffffff1f;border-color:#8b7de84d}.admin-back-btn:active{transform:scale(.95)}.admin-title{display:flex;align-items:center;gap:1rem}.admin-title i{font-size:2rem;color:var(--warning-gold, #fbbf24)}.admin-title h1{font-size:1.75rem;color:var(--text-primary);margin:0}.admin-user{display:flex;align-items:center;gap:1rem;color:var(--text-secondary)}.admin-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#fbbf2433,#f59e0b33);border:1px solid rgba(251,191,36,.3);border-radius:20px;color:var(--warning-gold, #fbbf24);font-size:.85rem;font-weight:500}.admin-tabs-container{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--glass-bg, rgba(20, 18, 35, .6));border-radius:16px;border:1px solid rgba(139,125,232,.15);overflow:hidden}.admin-tabs{display:flex;background:#140a2866;margin:.75rem;margin-bottom:0;border:1px solid rgba(139,125,232,.25);border-radius:999px;padding:.25rem;position:relative;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);flex-shrink:0;gap:0;width:calc(100% - 1.5rem);box-sizing:border-box}@media (min-width: 768px){.admin-tabs{margin:1rem;margin-bottom:0;padding:.35rem;width:calc(100% - 2rem)}.admin-tab{padding:.85rem 1.25rem;font-size:.95rem}}@media (min-width: 1200px){.admin-tabs{margin:1.25rem;margin-bottom:0;width:calc(100% - 2.5rem)}.admin-tab{padding:1rem 1.5rem;font-size:1rem}}.admin-saf .admin-tabs:before{content:"";position:absolute;top:.25rem;bottom:.25rem;left:.25rem;width:calc(50% - .25rem);background:linear-gradient(135deg,#8b5cf6f2,#a78bfad9);border-radius:999px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);z-index:0;box-shadow:0 2px 8px #8b5cf64d}.admin-saf .admin-tabs[data-active-tab=clubs]:before{transform:translate(100%)}.admin-super .admin-tabs:before{content:"";position:absolute;top:.25rem;bottom:.25rem;left:.25rem;width:calc(20% - .25rem);background:linear-gradient(135deg,#8b5cf6f2,#a78bfad9);border-radius:999px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);z-index:0;box-shadow:0 2px 8px #8b5cf64d}.admin-super .admin-tabs[data-active-tab=universities]:before{transform:translate(100%)}.admin-super .admin-tabs[data-active-tab=saf]:before{transform:translate(200%)}.admin-super .admin-tabs[data-active-tab=clubs]:before{transform:translate(300%)}.admin-super .admin-tabs[data-active-tab=automation]:before{transform:translate(400%)}.admin-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;background:transparent;border:none;border-radius:999px;color:#ffffff80;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:color .25s ease;position:relative;z-index:1}.admin-tab:hover{color:#ffffffbf}.admin-tab.active{color:#fff;background:transparent}.admin-tab i{font-size:.95rem;transition:transform .2s ease}.admin-tab.active i{transform:scale(1.1)}.admin-tab i{font-size:1rem}.admin-content{flex:1;min-height:0;padding:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;width:100%;box-sizing:border-box;display:flex;flex-direction:column}@media (min-width: 768px){.admin-content{padding:1.5rem}}@media (min-width: 1200px){.admin-content{padding:2rem}}.admin-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;text-align:center;color:var(--text-secondary)}.admin-error i{font-size:2.5rem;color:var(--error-red)}.btn-retry{padding:.5rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .2s}.btn-retry:hover{background:var(--surface-hover)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.section-header h2{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;color:var(--text-primary);margin:0}.section-header h2 i{color:var(--accent-primary)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;width:100%}@media (min-width: 768px){.stats-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem}}@media (min-width: 1200px){.stats-grid{gap:1.5rem}}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem}@media (min-width: 768px){.stat-card{padding:1.5rem}.stat-icon{width:64px;height:64px;font-size:1.75rem}.stat-value{font-size:2rem}}@media (min-width: 1200px){.stat-card{padding:1.75rem}.stat-icon{width:72px;height:72px;font-size:2rem}.stat-value{font-size:2.25rem}}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;flex-shrink:0}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.85rem;color:var(--text-secondary)}.overview-sections{display:grid;grid-template-columns:1fr;gap:1rem;width:100%}@media (min-width: 768px){.overview-sections{grid-template-columns:repeat(2,1fr);gap:1.25rem}}@media (min-width: 1200px){.overview-sections{gap:1.5rem}}.overview-section{padding:1.5rem}.overview-section h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-primary);margin:0 0 1rem}.overview-section h3 i{color:var(--accent-primary)}.quick-actions{display:flex;flex-wrap:wrap;gap:.75rem}.quick-action-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s}.quick-action-btn:hover{background:var(--surface-active);border-color:var(--accent-primary)}.quick-action-btn i{color:var(--accent-primary)}.recent-activity{display:flex;flex-direction:column;gap:.5rem}.activity-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--glass-content-bg);border-radius:8px;font-size:.9rem}.activity-item i{color:var(--accent-primary)}.activity-item span{flex:1;color:var(--text-primary)}.activity-item time{color:var(--text-tertiary);font-size:.8rem}.no-activity{color:var(--text-tertiary);font-style:italic;text-align:center;padding:1rem}.universities-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.university-card{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem}.uni-info h3{font-size:1.1rem;color:var(--text-primary);margin:0 0 .25rem}.uni-info p{color:var(--text-secondary);font-size:.85rem;margin:0 0 .75rem}.uni-stats{display:flex;gap:1rem;font-size:.8rem;color:var(--text-tertiary)}.uni-stats i{margin-right:.25rem;color:var(--accent-primary)}.uni-actions{display:flex;gap:.5rem}.saf-filter{margin-bottom:1rem}.saf-filter select{padding:.5rem 1rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--text-primary);font-size:.9rem}.saf-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.saf-card{display:flex;align-items:center;gap:1rem;padding:1.25rem}.saf-avatar{width:48px;height:48px;border-radius:50%;background:var(--gradient-accent, linear-gradient(135deg, #667eea, #764ba2));display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.saf-avatar img{width:100%;height:100%;object-fit:cover}.saf-avatar i{font-size:1.25rem;color:#fff}.saf-info{flex:1;min-width:0}.saf-info h3{font-size:1rem;color:var(--text-primary);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saf-info p{font-size:.8rem;color:var(--text-tertiary);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saf-university{display:inline-block;padding:.25rem .5rem;background:var(--surface-active);border-radius:4px;font-size:.75rem;color:var(--accent-primary)}.saf-actions{flex-shrink:0}.maintenance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.maintenance-card{padding:1.5rem;text-align:center}.maintenance-icon{width:60px;height:60px;margin:0 auto 1rem;border-radius:50%;background:var(--surface-active);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--accent-primary)}.maintenance-card h3{font-size:1rem;color:var(--text-primary);margin:0 0 .5rem}.maintenance-card p{font-size:.85rem;color:var(--text-secondary);margin:0 0 1rem}.btn-maintenance{padding:.5rem 1.25rem;background:var(--gradient-accent, linear-gradient(135deg, #667eea, #764ba2));border:none;border-radius:6px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-maintenance:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-light)}.maintenance-log{padding:1.5rem}.maintenance-log h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-primary);margin:0 0 1rem}.maintenance-log h3 i{color:var(--accent-primary)}.log-output{background:var(--depth-background);border-radius:8px;padding:1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;max-height:300px;overflow-y:auto}.log-placeholder{color:var(--text-tertiary);font-style:italic;margin:0}.log-entry{padding:.25rem 0;border-bottom:1px solid var(--glass-divider)}.log-info{color:var(--text-secondary)}.log-success{color:var(--success)}.log-error{color:var(--error-red)}.btn-add-university,.btn-add-saf,.btn-create-club{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:var(--gradient-accent, linear-gradient(135deg, #667eea, #764ba2));border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-add-university:hover,.btn-add-saf:hover,.btn-create-club:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-light)}.btn-icon,.btn-edit,.btn-delete,.btn-remove,.btn-president{width:32px;height:32px;padding:0;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover,.btn-edit:hover{background:var(--surface-active);border-color:var(--accent-primary);color:var(--accent-primary)}.btn-delete:hover,.btn-remove:hover{background:var(--error-light);border-color:var(--error);color:var(--error-red)}.btn-president:hover{background:var(--warning-light);border-color:var(--warning-gold);color:var(--warning-gold)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--text-tertiary)}.empty-state i{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state p{margin:0}.admin-modal-overlay{position:fixed;inset:0;background:var(--modal-overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.admin-modal{width:100%;max-width:480px;max-height:90vh;overflow-y:auto;background:var(--modal-bg, var(--glass-bg-strong));border:1px solid var(--glass-border);border-radius:var(--glass-radius, 16px);box-shadow:var(--shadow-xl);animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--glass-border)}.modal-header h3{font-size:1.1rem;color:var(--text-primary);margin:0}.modal-close{width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--glass-border)}.btn-cancel{padding:.6rem 1.25rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:var(--surface-hover)}.btn-confirm{padding:.6rem 1.25rem;background:var(--gradient-accent, linear-gradient(135deg, #667eea, #764ba2));border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-confirm:hover{transform:translateY(-1px);box-shadow:var(--shadow-accent-light)}.btn-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none}.admin-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--text-primary);font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--input-focus-shadow)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-tertiary)}.form-group textarea{resize:vertical;min-height:80px}.form-hint{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:var(--surface-active);border-radius:8px;font-size:.85rem;color:var(--text-secondary);margin:0}.form-hint i{color:var(--accent-primary);margin-top:.1rem}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);border-radius:var(--glass-radius, 16px);box-shadow:var(--glass-outer-glow);transition:var(--glass-transition)}.glass-card:hover{box-shadow:var(--glass-hover-glow);border-color:var(--glass-hover-border)}@media (max-width: 768px){.admin-title h1{font-size:1.4rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:1rem}.stat-value{font-size:1.4rem}.section-header{flex-direction:column;align-items:flex-start}.clubs-table th,.clubs-table td{padding:.75rem .5rem;font-size:.85rem}.university-card,.saf-card{flex-direction:column;text-align:center}.uni-actions,.saf-actions{margin-top:1rem}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.quick-actions{flex-direction:column}.quick-action-btn{justify-content:center}.overview-sections,.maintenance-grid{grid-template-columns:1fr}.clubs-filters{flex-direction:column}.clubs-filters input,.clubs-filters select{width:100%}}.user-search-assign{width:100%}.user-search-assign .search-input-row{display:flex;gap:.75rem;margin-bottom:1rem}.user-search-assign .search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.user-search-assign .search-icon{position:absolute;left:1rem;color:var(--text-tertiary);font-size:.9rem;pointer-events:none}.user-search-assign .search-input{width:100%;padding:.85rem 1rem .85rem 2.75rem;background:var(--glass-bg, rgba(255, 255, 255, .08));border:1px solid var(--glass-border, rgba(255, 255, 255, .15));border-radius:10px;color:var(--text-primary, #fff);font-size:.95rem;transition:border-color .2s,box-shadow .2s}.user-search-assign .search-input::placeholder{color:var(--text-tertiary, rgba(255, 255, 255, .5))}.user-search-assign .search-input:focus{outline:none;border-color:var(--primary-purple, #8b5cf6);box-shadow:0 0 0 3px #8b5cf633}.user-search-assign .btn-search{padding:.85rem 1.25rem;background:var(--gradient-accent, linear-gradient(135deg, #667eea, #764ba2));border:none;border-radius:10px;color:#fff;font-size:.95rem;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center}.user-search-assign .btn-search:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.user-search-assign .btn-search:active{transform:translateY(0)}.user-search-assign .search-results-area{min-height:60px}.user-search-assign .search-status{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;color:var(--text-secondary, rgba(255, 255, 255, .7));font-size:.9rem;background:var(--glass-bg, rgba(255, 255, 255, .05));border-radius:10px;border:1px dashed var(--glass-border, rgba(255, 255, 255, .1))}.user-search-assign .search-status.loading i{color:var(--primary-purple, #8b5cf6)}.user-search-assign .search-status.empty i{color:var(--text-tertiary, rgba(255, 255, 255, .4));font-size:1.1rem}.user-search-assign .search-status.error{color:var(--error-red, #ef4444);border-color:#ef44444d;background:#ef44441a}.user-search-assign .search-status.error i{color:var(--error-red, #ef4444)}.user-search-assign .user-results-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto;padding-right:.25rem}.user-search-assign .user-results-list::-webkit-scrollbar{width:6px}.user-search-assign .user-results-list::-webkit-scrollbar-track{background:transparent}.user-search-assign .user-results-list::-webkit-scrollbar-thumb{background:var(--glass-border, rgba(255, 255, 255, .2));border-radius:3px}.user-search-assign .user-result-card{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;background:var(--glass-bg, rgba(255, 255, 255, .06));border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:12px;transition:background-color .2s,border-color .2s,transform .2s}.user-search-assign .user-result-card:hover{background:#ffffff1a;border-color:#8b5cf64d;transform:translate(4px)}.user-search-assign .user-avatar{flex-shrink:0;width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--glass-bg, rgba(255, 255, 255, .1));display:flex;align-items:center;justify-content:center}.user-search-assign .user-avatar img,.user-search-assign .user-avatar svg{width:100%;height:100%;object-fit:cover}.user-search-assign .user-avatar .avatar-fallback{font-size:1.1rem;font-weight:600;color:var(--text-primary, #fff)}.user-search-assign .user-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.user-search-assign .user-name{font-size:.95rem;font-weight:600;color:var(--text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-search-assign .user-meta{font-size:.8rem;color:var(--text-tertiary, rgba(255, 255, 255, .5));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-search-assign .btn-assign-user{flex-shrink:0;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--gradient-accent, linear-gradient(135deg, #667eea, #764ba2));border:none;border-radius:8px;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s}.user-search-assign .btn-assign-user:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.user-search-assign .btn-assign-user:active{transform:translateY(0)}.user-search-assign .btn-assign-user i{font-size:.75rem}@media (max-width: 480px){.user-search-assign .search-input-row{flex-direction:column;gap:.5rem}.user-search-assign .btn-search{width:100%}.user-search-assign .user-result-card{flex-wrap:wrap;gap:.75rem}.user-search-assign .user-details{flex:1 1 calc(100% - 60px)}.user-search-assign .btn-assign-user{width:100%;justify-content:center;padding:.65rem 1rem}}.delete-club-confirm{text-align:center}.delete-club-confirm .warning-icon{width:64px;height:64px;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ef444433,#ef44441a);border:2px solid rgba(239,68,68,.3);border-radius:50%}.delete-club-confirm .warning-icon i{font-size:1.75rem;color:#ef4444}.delete-club-confirm .warning-text{text-align:left;margin-bottom:1.5rem;font-size:.9rem;line-height:1.6;color:var(--text-secondary, rgba(255, 255, 255, .7))}.delete-club-confirm .warning-text strong{color:#ef4444}.delete-club-confirm .form-group{text-align:left;margin-bottom:1rem}.delete-club-confirm .form-group label{display:block;margin-bottom:.5rem;font-size:.85rem;font-weight:500;color:var(--text-secondary, rgba(255, 255, 255, .7))}.delete-club-confirm .form-group input{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--text-primary, #fff);font-size:.95rem;transition:all .2s ease}.delete-club-confirm .form-group input:focus{outline:none;border-color:#ef444480;background:#ef44440d}.delete-club-confirm .form-group input::placeholder{color:#ffffff4d}.delete-club-confirm .type-hint{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#10b9811a;border-radius:6px;font-size:.85rem;color:#10b981;margin-top:.5rem}.delete-club-confirm .type-hint i{font-size:.9rem}.admin-modal .btn-confirm.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.admin-saf .admin-title i{color:#a78bfa;font-size:1.5rem}.admin-saf .admin-title h1{background:linear-gradient(135deg,#a78bfa,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-saf .saf-university-label{font-size:.85rem;color:var(--text-tertiary);margin:0;opacity:.85}.admin-saf .saf-badge{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important;border:1px solid rgba(139,92,246,.4)!important;color:#fff!important;box-shadow:0 2px 8px #8b5cf640}.admin-saf .pending-count{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;background:#f59e0b26;border:1px solid rgba(245,158,11,.25);border-radius:20px;color:#fbbf24;font-size:.85rem;font-weight:600}.section-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid rgba(139,125,232,.15)}.section-header h2{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:600;color:var(--text-primary);margin:0}.section-header h2 i{color:#a78bfa;font-size:1.1rem}.saf-events-list{display:grid;grid-template-columns:1fr;gap:1rem;flex:1;align-content:start}@media (min-width: 768px){.saf-events-list{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}.saf-event-card{background:linear-gradient(135deg,#1e1932cc,#19142de6);border:1px solid rgba(139,125,232,.2);border-radius:16px;padding:1.25rem;transition:all .25s ease;position:relative;overflow:hidden}.saf-event-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f59e0b,#fbbf24);opacity:.8}.saf-event-card:hover{transform:translateY(-3px);border-color:#8b7de859;box-shadow:0 8px 24px #0000004d,0 0 0 1px #8b7de81a}.saf-event-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem}.saf-event-club{display:flex;flex-direction:column;gap:.15rem}.saf-club-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.saf-event-university{font-size:.75rem;color:var(--text-tertiary);opacity:.8}.saf-event-card .saf-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;background:linear-gradient(135deg,#f59e0b33,#fbbf2426);border:1px solid rgba(245,158,11,.35);border-radius:20px;color:#fbbf24;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.saf-event-card .saf-badge i{font-size:.65rem}.saf-event-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0 0 .85rem;line-height:1.35}.saf-event-meta{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:.85rem}.saf-event-meta span{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-secondary);background:#8b7de814;padding:.35rem .65rem;border-radius:6px}.saf-event-meta i{color:#a78bfa;font-size:.75rem}.saf-event-description{font-size:.875rem;color:var(--text-secondary);line-height:1.55;margin:0 0 1rem;opacity:.9}.saf-event-footer{display:flex;flex-direction:column;gap:.85rem;padding-top:.85rem;border-top:1px solid rgba(139,125,232,.12)}.saf-event-creator{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--text-tertiary)}.saf-event-creator i{color:#a78bfa;font-size:.75rem}.saf-event-actions{display:flex;gap:.6rem}.saf-event-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;flex:1;padding:.7rem 1rem;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;min-height:44px}.saf-event-actions .btn i{font-size:.85rem}.saf-event-actions .btn.primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b98140}.saf-event-actions .btn.primary:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b98159}.saf-event-actions .btn.secondary{background:#ef44441a;border:1px solid rgba(239,68,68,.35);color:#f87171}.saf-event-actions .btn.secondary:hover{background:#ef444433;border-color:#ef444480}.saf-event-actions .btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.clubs-filters{display:flex;gap:.75rem;margin-bottom:1.25rem}.clubs-filters input{flex:1;padding:.75rem 1rem;background:#1e193299;border:1px solid rgba(139,125,232,.2);border-radius:10px;color:var(--text-primary);font-size:.9rem;transition:all .2s}.clubs-filters input:focus{outline:none;border-color:#8b7de880;box-shadow:0 0 0 3px #8b7de81a}.clubs-filters input::placeholder{color:var(--text-tertiary)}.btn-create-club{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.15rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #8b5cf640;white-space:nowrap}.btn-create-club:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed59}.clubs-table-container{flex:1;min-height:0;display:flex;flex-direction:column;background:#19142d80;border:1px solid rgba(139,125,232,.15);border-radius:12px;overflow:hidden}.clubs-table{width:100%;border-collapse:collapse;font-size:.875rem}.clubs-table thead{background:#8b7de814}.clubs-table th{padding:.85rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid rgba(139,125,232,.15)}.clubs-table td{padding:.85rem 1rem;color:var(--text-primary);border-bottom:1px solid rgba(139,125,232,.08);vertical-align:middle}.clubs-table tbody tr{transition:background .15s}.clubs-table tbody tr:hover{background:#8b7de80f}.clubs-table tbody tr:last-child td{border-bottom:none}.club-name-cell{display:flex;align-items:center;gap:.75rem}.club-logo-small{width:36px;height:36px;border-radius:8px;object-fit:cover;flex-shrink:0}.club-logo-placeholder{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#8b7de833,#a78bfa33);display:flex;align-items:center;justify-content:center;flex-shrink:0}.club-logo-placeholder i{color:#a78bfa;font-size:.9rem}.status-badge{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-badge.active{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.25)}.status-badge.inactive{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.25)}.actions-cell{display:flex;gap:.4rem}.btn-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;cursor:pointer;transition:all .2s;background:#8b7de81a;color:var(--text-secondary)}.btn-icon:hover{background:#8b7de833;color:var(--text-primary)}.btn-icon.btn-edit:hover{background:#3b82f633;color:#60a5fa}.btn-icon.btn-president:hover{background:#fbbf2433;color:#fbbf24}.btn-icon.btn-delete:hover{background:#ef444433;color:#f87171}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:200px;padding:3rem 1.5rem;text-align:center}.empty-state i{font-size:2.5rem;color:#8b7de84d;margin-bottom:1rem}.empty-state p{margin:0;font-size:.95rem;color:var(--text-tertiary)}.assign-modal p{margin:0 0 1rem;color:var(--text-secondary);font-size:.9rem}.assign-modal strong{color:var(--text-primary)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important;box-shadow:0 2px 8px #ef444440}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)!important;box-shadow:0 4px 12px #ef444459}.inline-checkbox{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.9rem;color:var(--text-primary);padding:.5rem 0}.inline-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#8b5cf6}@media (max-width: 768px){.section-header{flex-direction:column;align-items:flex-start;gap:.85rem}.section-header h2{font-size:1.05rem}.btn-create-club{width:100%;justify-content:center}.clubs-table-container{background:transparent;border:none;border-radius:0}.clubs-table{display:block}.clubs-table thead{display:none}.clubs-table tbody{display:flex;flex-direction:column;gap:.75rem}.clubs-table tr{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;background:#19142d99;border:1px solid rgba(139,125,232,.15);border-radius:12px}.clubs-table td{padding:0;border:none}.clubs-table td:nth-child(1){flex:1;min-width:0}.clubs-table td:nth-child(2),.clubs-table td:nth-child(3){display:none}.clubs-table td:nth-child(4){order:2}.clubs-table td:nth-child(5){order:3;margin-left:auto}.club-name-cell{width:100%}.club-name-cell span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions-cell{gap:.35rem}.btn-icon{width:40px;height:40px}}@media (max-width: 600px){.admin-back-btn{display:flex}.admin-header{flex-wrap:nowrap;gap:.5rem;padding-top:max(.5rem,env(safe-area-inset-top,0px))}.admin-title{flex:1;min-width:0}.admin-title>i{display:none}.admin-title h1{font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-badge span{display:none}.admin-tabs{margin:.5rem;margin-bottom:0;width:calc(100% - 1rem)}.admin-tab{padding:.6rem .5rem;font-size:.75rem;min-height:40px}.admin-tab i{font-size:1rem}.admin-super .admin-tab span{display:none}.admin-content{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:1rem;flex-direction:column;align-items:flex-start;gap:.75rem}.stat-icon{width:48px;height:48px;font-size:1.25rem}.stat-value{font-size:1.5rem}.stat-label{font-size:.8rem}.overview-sections{gap:1rem}.overview-section{padding:1rem}.overview-section h3{font-size:.95rem;margin-bottom:.75rem}.quick-actions{flex-direction:column;gap:.5rem}.quick-action-btn{width:100%;justify-content:center;padding:.875rem 1rem;min-height:48px}.activity-item{padding:.75rem;font-size:.85rem}.saf-event-card,.saf-club-card{padding:1rem}.saf-event-actions .btn,.saf-club-actions .btn{min-height:44px}}@media (max-width: 380px){.admin-title h1{font-size:1rem}.admin-content{padding:.75rem}.stats-grid{grid-template-columns:1fr;gap:.5rem}.stat-card{padding:.875rem;flex-direction:row;align-items:center;gap:.75rem}.stat-icon{width:40px;height:40px;font-size:1rem;flex-shrink:0}.stat-info{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.25rem}.stat-label{font-size:.75rem}.admin-tab span{display:none}.admin-tab i{font-size:1.1rem}.overview-section{padding:.875rem}.overview-section h3{font-size:.875rem}.quick-action-btn{padding:.75rem;font-size:.85rem}}@media (display-mode: standalone){.admin-dashboard{padding-bottom:calc(1rem + env(safe-area-inset-bottom,34px))}}@media (hover: none) and (pointer: coarse){.admin-tab:hover{background:transparent}.saf-event-card:hover,.saf-club-card:hover{transform:none}.admin-tab,.saf-event-actions .btn,.saf-club-actions .btn{min-height:48px}}.admin-automation .section-subtitle{margin-top:.25rem;color:#ffffffa6;font-size:.95rem;line-height:1.35}.automation-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem}@media (min-width: 900px){.automation-grid{grid-template-columns:1fr 1fr;gap:1.25rem}}.automation-card{padding:1rem}.automation-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.automation-card-header h3{margin:0;font-size:1.05rem;font-weight:700;color:#ffffffeb}.automation-pill{padding:.25rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700;color:#ffffffe6;background:#3b82f62e;border:1px solid rgba(59,130,246,.28);white-space:nowrap}.automation-desc{margin:.5rem 0 .85rem;color:#ffffffb3;line-height:1.4;font-size:.95rem}.automation-actions{display:flex;gap:.75rem;align-items:center}.btn-run-automation{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem .9rem;border-radius:12px;border:1px solid rgba(139,92,246,.35);background:#8b5cf62e;color:#fff;font-weight:700;cursor:pointer;transition:transform .15s ease,background .2s ease}.btn-run-automation:hover{background:#8b5cf647;transform:translateY(-1px)}.btn-run-automation:disabled{opacity:.7;cursor:not-allowed;transform:none}.automation-output{margin-top:.9rem}.automation-status{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-radius:12px;font-weight:700;font-size:.9rem;border:1px solid rgba(255,255,255,.12)}.automation-status--running{background:#3b82f61f;color:#ffffffe6}.automation-status--success{background:#10b9811f;color:#ffffffeb}.automation-status--error{background:#ef44441f;color:#ffffffeb}.automation-time{margin-left:auto;font-weight:600;color:#ffffffa6;font-size:.8rem}.automation-result{margin-top:.75rem;padding:.85rem;border-radius:12px;background:#00000040;border:1px solid rgba(255,255,255,.1);color:#ffffffd9;font-size:.8rem;line-height:1.4;overflow:auto;max-height:320px}:root{--skeleton-bg: rgba(128, 128, 128, .1);--skeleton-shimmer: rgba(255, 255, 255, .3);--skeleton-radius: 8px}body.dark-mode{--skeleton-bg: rgba(255, 255, 255, .08);--skeleton-shimmer: rgba(255, 255, 255, .15)}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton{background:var(--skeleton-bg);border-radius:var(--skeleton-radius);overflow:hidden;position:relative}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--skeleton-shimmer),transparent);animation:skeleton-shimmer 1.5s infinite}.skeleton-friends-bar{display:flex;gap:12px;padding:12px 16px;overflow:hidden}.skeleton-avatar{flex-shrink:0;width:56px;height:56px;border-radius:50%}.skeleton-avatar.skeleton-avatar-user{width:60px;height:60px;border:2px solid var(--primary-purple, #8b5cf6)}.skeleton-friends-bar .skeleton-avatar:nth-child(n+8){display:none}.skeleton-schedule{padding:16px}.skeleton-schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.skeleton-title{width:120px;height:24px;border-radius:4px}.skeleton-controls{display:flex;gap:8px}.skeleton-btn{width:36px;height:36px;border-radius:8px}.skeleton-grid{display:grid;grid-template-columns:60px repeat(7,1fr);gap:2px}.skeleton-cell{height:40px;border-radius:4px}.skeleton-cell.skeleton-header{height:32px}.skeleton-cell.skeleton-time{width:60px}.skeleton-grid-rows{display:contents}.pwa-loading-overlay{position:fixed;inset:0;background:var(--bg-primary, #0a0b0f);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity .3s ease-out}.pwa-loading-overlay.hidden{opacity:0;pointer-events:none}.pwa-loading-logo{width:80px;height:80px;margin-bottom:16px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}.pwa-loading-text{color:var(--text-secondary, #9ca3af);font-size:14px;font-weight:500}.horizontal-friends-wrapper:not(:empty)+.skeleton-friends-bar,.horizontal-friends-wrapper.loaded~.skeleton-friends-bar{display:none}.schedule-section:not(:empty) .skeleton-schedule{display:none}.offline-indicator{position:fixed;top:calc(env(safe-area-inset-top,0px) + 60px);left:50%;transform:translate(-50%);background:#f59e0b;color:#000;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:500;z-index:1000;display:none;box-shadow:0 4px 12px #00000026}.offline-indicator.visible{display:flex;align-items:center;gap:6px}.offline-indicator:before{content:"";width:8px;height:8px;background:#000;border-radius:50%;animation:blink 1.5s infinite}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:.3}}
