:root{--breakpoint-xs: 320px;--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--text-xs: clamp(.625rem, 2vw, .75rem);--text-sm: clamp(.75rem, 2.5vw, .875rem);--text-base: clamp(.875rem, 3vw, 1rem);--text-lg: clamp(1rem, 3.5vw, 1.125rem);--text-xl: clamp(1.125rem, 4vw, 1.25rem);--text-2xl: clamp(1.25rem, 5vw, 1.5rem);--text-3xl: clamp(1.5rem, 6vw, 1.875rem);--text-4xl: clamp(1.875rem, 7vw, 2.25rem);--text-5xl: clamp(2.25rem, 8vw, 3rem);--container-padding: clamp(1rem, 4vw, 2rem);--container-max-width: min(100% - 2rem, 1400px);--content-max-width: 800px;--header-height: 60px;--navbar-height: 70px;--sidebar-width: 280px;--sidebar-collapsed-width: 80px;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1);--shadow-elevated: 0 8px 30px rgb(0 0 0 / .12);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-smooth: .4s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-toast: 700;--touch-target-min: 44px;--touch-target-comfortable: 48px;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px)}@media(max-width:768px){:root{--header-height: 56px;--navbar-height: 64px;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--container-padding: 1rem}}@media(min-width:1024px){:root{--header-height: 64px;--navbar-height: 0px;--container-padding: 2rem}}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0ms;--transition-base: 0ms;--transition-slow: 0ms;--transition-smooth: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.hide-mobile{display:none!important}@media(min-width:769px){.hide-mobile{display:initial!important}.show-mobile-only{display:none!important}}.hide-desktop{display:initial!important}@media(min-width:1024px){.hide-desktop{display:none!important}.show-desktop-only{display:initial!important}}.touch-target{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.container-responsive{width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.safe-area-top{padding-top:var(--safe-area-inset-top)}.safe-area-bottom{padding-bottom:var(--safe-area-inset-bottom)}.safe-area-all{padding-top:var(--safe-area-inset-top);padding-bottom:var(--safe-area-inset-bottom);padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right)}.grid-responsive{display:grid;gap:var(--space-md);grid-template-columns:1fr}@media(min-width:640px){.grid-responsive{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-responsive{grid-template-columns:repeat(3,1fr)}}@media(min-width:1280px){.grid-responsive{grid-template-columns:repeat(4,1fr)}}.flex-responsive{display:flex;flex-direction:column;gap:var(--space-md)}@media(min-width:768px){.flex-responsive{flex-direction:row}}.text-responsive-title{font-size:var(--text-2xl);font-weight:700;line-height:1.2}@media(min-width:768px){.text-responsive-title{font-size:var(--text-3xl)}}@media(min-width:1024px){.text-responsive-title{font-size:var(--text-4xl)}}@media(min-width:1024px){::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0003;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#0000004d}}:focus-visible{outline:2px solid var(--primary-color, #4f46e5);outline-offset:2px}@media(max-width:768px){:focus-visible{outline-width:1px}}@media(hover:hover)and (pointer:fine){.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-scale:hover{transform:scale(1.02)}.hover-glow:hover{box-shadow:0 0 20px #4f46e54d}}@media(hover:none){.hover-lift:active,.hover-scale:active{transform:scale(.98);opacity:.9}}:root{--primary-50: #f0f5ff;--primary-100: #e0eaff;--primary-200: #c7d7fe;--primary-300: #a4bcfd;--primary-400: #8098f9;--primary-500: #6172f3;--primary-600: #444ce7;--primary-700: #3538cd;--primary-800: #2d31a6;--primary-900: #2d3282;--nesti-primary: #6172f3;--nesti-primary-light: #8098f9;--nesti-primary-soft: #f0f5ff;--accent-rose: #f97066;--accent-rose-soft: #fef3f2;--accent-rose-light: #fecdca;--accent-violet: #9e77ed;--accent-violet-soft: #f9f5ff;--accent-violet-light: #e9d7fe;--accent-teal: #15b79e;--accent-teal-soft: #f0fdf9;--accent-teal-light: #99f6e0;--accent-orange: #f79009;--accent-orange-soft: #fffaeb;--accent-orange-light: #fedf89;--accent-sky: #36bffa;--accent-sky-soft: #f0f9ff;--accent-sky-light: #b9e6fe;--gray-25: #fcfcfd;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d2d6db;--gray-400: #9da4ae;--gray-500: #6c737f;--gray-600: #4d5761;--gray-700: #384250;--gray-800: #1f2a37;--gray-900: #111927;--surface-primary: #ffffff;--surface-secondary: #f9fafb;--surface-tertiary: #f3f4f6;--surface-elevated: #ffffff;--bg-main: #f8fafc;--bg-warm: linear-gradient(135deg, #fafbff 0%, #f8fafc 50%, #fef7f4 100%);--text-primary: #111927;--text-secondary: #4d5761;--text-tertiary: #6c737f;--text-muted: #9da4ae;--text-inverse: #ffffff;--border-light: #f3f4f6;--border-default: #e5e7eb;--border-strong: #d2d6db;--shadow-xs: 0 1px 2px 0 rgba(16, 24, 40, .05);--shadow-sm: 0 1px 3px rgba(16, 24, 40, .1), 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 8px -2px rgba(16, 24, 40, .1), 0 2px 4px -2px rgba(16, 24, 40, .06);--shadow-lg: 0 12px 16px -4px rgba(16, 24, 40, .08), 0 4px 6px -2px rgba(16, 24, 40, .03);--shadow-xl: 0 20px 24px -4px rgba(16, 24, 40, .08), 0 8px 8px -4px rgba(16, 24, 40, .03);--shadow-primary: 0 4px 14px rgba(97, 114, 243, .25);--shadow-rose: 0 4px 14px rgba(249, 112, 102, .25);--shadow-violet: 0 4px 14px rgba(158, 119, 237, .25);--glow-primary: 0 0 20px rgba(97, 114, 243, .15);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Plus Jakarta Sans", var(--font-sans);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--sidebar-width: 280px;--sidebar-collapsed: 80px;--right-panel-width: 320px;--content-max-width: 680px;--header-height: 0px}body{background:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans)}@media(min-width:1024px){body{background:var(--bg-warm)}}body.dark-mode{--bg-primary: #0f0f14;--bg-secondary: #16161d;--bg-tertiary: #1e1e28;--bg-elevated: #252530;--bg-hover: #2a2a38;--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-disabled: #52525b;--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .15);--accent-primary: #818cf8;--accent-secondary: #a78bfa;--accent-success: #4ade80;--accent-warning: #fbbf24;--accent-error: #f87171;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .6);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .7);--gradient-overlay: linear-gradient(180deg, rgba(255,255,255,.02) 0%, transparent 100%);--gradient-glow: radial-gradient(ellipse at top, rgba(129, 140, 248, .15) 0%, transparent 60%)}body.dark-mode *{border-color:var(--border-subtle)}body.dark-mode .card,body.dark-mode .post-card,body.dark-mode .event-card,body.dark-mode .activity-card,body.dark-mode .member-card,body.dark-mode .widget,body.dark-mode .panel,body.dark-mode .modal-content,body.dark-mode .dropdown-menu{background:var(--bg-secondary)!important;border:1px solid var(--border-subtle)!important;box-shadow:var(--shadow-md)!important}body.dark-mode .card:hover,body.dark-mode .post-card:hover,body.dark-mode .activity-card:hover{background:var(--bg-tertiary)!important;border-color:var(--border-default)!important}body.dark-mode .header,body.dark-mode .page-header,body.dark-mode .section-header{background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-subtle)!important}body.dark-mode .bottom-nav{background:var(--bg-secondary)!important;border-top:1px solid var(--border-subtle)!important;box-shadow:0 -4px 20px #0006!important}body.dark-mode .nav-item{color:var(--text-muted)}body.dark-mode .nav-item.active,body.dark-mode .nav-item:hover{color:var(--accent-primary)}body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4,body.dark-mode h5,body.dark-mode h6,body.dark-mode .title,body.dark-mode .page-title{color:var(--text-primary)!important}body.dark-mode p,body.dark-mode span,body.dark-mode label{color:var(--text-secondary)}body.dark-mode .text-muted,body.dark-mode .subtitle,body.dark-mode .meta{color:var(--text-muted)!important}body.dark-mode a:not(.btn):not(.button){color:var(--accent-primary)}body.dark-mode a:not(.btn):not(.button):hover{color:var(--accent-secondary)}body.dark-mode input,body.dark-mode textarea,body.dark-mode select{background:var(--bg-tertiary)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important}body.dark-mode input::-moz-placeholder,body.dark-mode textarea::-moz-placeholder{color:var(--text-muted)!important}body.dark-mode input::placeholder,body.dark-mode textarea::placeholder{color:var(--text-muted)!important}body.dark-mode input:focus,body.dark-mode textarea:focus,body.dark-mode select:focus{border-color:var(--accent-primary)!important;box-shadow:0 0 0 3px #818cf833!important;outline:none!important}body.dark-mode input:disabled,body.dark-mode textarea:disabled{background:var(--bg-elevated)!important;color:var(--text-disabled)!important}body.dark-mode .btn-secondary,body.dark-mode .secondary-btn,body.dark-mode button:not(.btn-primary):not(.primary-btn){background:var(--bg-tertiary)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important}body.dark-mode .btn-secondary:hover,body.dark-mode button:not(.btn-primary):not(.primary-btn):hover{background:var(--bg-hover)!important;border-color:var(--border-strong)!important}body.dark-mode .btn-primary,body.dark-mode .primary-btn{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%)!important;border:none!important;color:#fff!important;box-shadow:0 4px 14px #818cf866!important}body.dark-mode .btn-primary:hover,body.dark-mode .primary-btn:hover{box-shadow:0 6px 20px #818cf880!important;transform:translateY(-1px)}body.dark-mode .btn-ghost,body.dark-mode .ghost-btn{background:transparent!important;color:var(--text-secondary)!important}body.dark-mode .btn-ghost:hover{background:var(--bg-tertiary)!important;color:var(--text-primary)!important}body.dark-mode .list-item,body.dark-mode .menu-item,body.dark-mode .settings-item{background:transparent;border-bottom:1px solid var(--border-subtle)}body.dark-mode .list-item:hover,body.dark-mode .menu-item:hover{background:var(--bg-tertiary)}body.dark-mode .modal-overlay,body.dark-mode .overlay{background:#000000bf!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}body.dark-mode .modal-content,body.dark-mode .dialog{background:var(--bg-secondary)!important;border:1px solid var(--border-default)!important;box-shadow:var(--shadow-lg)!important}body.dark-mode .modal-header{border-bottom:1px solid var(--border-subtle)}body.dark-mode .modal-footer{border-top:1px solid var(--border-subtle)}body.dark-mode .tab,body.dark-mode .tab-pill,body.dark-mode .pill{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid transparent}body.dark-mode .tab.active,body.dark-mode .tab-pill.active,body.dark-mode .pill.active{background:var(--accent-primary);color:#fff}body.dark-mode .tab:hover:not(.active){background:var(--bg-hover);color:var(--text-primary)}body.dark-mode .tag,body.dark-mode .badge,body.dark-mode .chip{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-subtle)}body.dark-mode .badge-primary{background:#818cf833;color:var(--accent-primary)}body.dark-mode .badge-success{background:#4ade8026;color:var(--accent-success)}body.dark-mode .badge-warning{background:#fbbf2426;color:var(--accent-warning)}body.dark-mode .badge-error{background:#f8717126;color:var(--accent-error)}body.dark-mode hr,body.dark-mode .divider,body.dark-mode .separator{border-color:var(--border-subtle)!important;background-color:var(--border-subtle)!important}body.dark-mode .tooltip,body.dark-mode .popover{background:var(--bg-elevated)!important;color:var(--text-primary)!important;border:1px solid var(--border-default)!important;box-shadow:var(--shadow-md)!important}body.dark-mode .spinner,body.dark-mode .loading-spinner{border-color:var(--border-default);border-top-color:var(--accent-primary)}body.dark-mode .skeleton,body.dark-mode .loading-placeholder{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}body.dark-mode .alert,body.dark-mode .toast{background:var(--bg-elevated);border:1px solid var(--border-default)}body.dark-mode .alert-success{background:#4ade801a;border-color:#4ade804d;color:var(--accent-success)}body.dark-mode .alert-warning{background:#fbbf241a;border-color:#fbbf244d;color:var(--accent-warning)}body.dark-mode .alert-error{background:#f871711a;border-color:#f871714d;color:var(--accent-error)}body.dark-mode svg{color:currentColor}body.dark-mode .icon-muted{color:var(--text-muted)}body.dark-mode ::-webkit-scrollbar{width:8px;height:8px}body.dark-mode ::-webkit-scrollbar-track{background:var(--bg-primary)}body.dark-mode ::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:4px}body.dark-mode ::-webkit-scrollbar-thumb:hover{background:#fff3}body.dark-mode ::-moz-selection{background:#818cf84d;color:#fff}body.dark-mode ::selection{background:#818cf84d;color:#fff}body.dark-mode *:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}body.dark-mode .settings-page,body.dark-mode .settings-panel{background:transparent!important}body.dark-mode .settings-section{background:var(--bg-secondary)!important;border:1px solid var(--border-subtle)!important}body.dark-mode .settings-list-item{border-bottom-color:var(--border-subtle)!important}body.dark-mode .profile-header{background:linear-gradient(180deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%)!important}body.dark-mode .feed-container{background:transparent!important}body.dark-mode .create-post-card{background:var(--bg-secondary)!important;border:1px solid var(--border-subtle)!important}body.dark-mode .calendar-day{background:var(--bg-tertiary);border:1px solid var(--border-subtle)}body.dark-mode .calendar-day.today{background:#818cf826;border-color:var(--accent-primary)}body.dark-mode .calendar-day:hover{background:var(--bg-hover)}body.dark-mode .chat-container{background:var(--bg-primary)!important}body.dark-mode .chat-message{background:var(--bg-secondary);border:1px solid var(--border-subtle)}body.dark-mode .chat-message.user{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border:none;color:#fff}body.dark-mode .chat-input-container{background:var(--bg-secondary)!important;border-top:1px solid var(--border-subtle)!important}body.dark-mode .family-card{background:var(--bg-secondary)!important;border:1px solid var(--border-subtle)!important}body.dark-mode .member-avatar{border:2px solid var(--bg-tertiary)}body.dark-mode .activity-card .activity-image:after{background:linear-gradient(180deg,transparent 0%,var(--bg-secondary) 100%)}body.dark-mode .empty-state{background:var(--bg-tertiary);border:1px dashed var(--border-default)}body.dark-mode .empty-state-icon{color:var(--text-muted)}body.dark-mode .desktop-widgets-panel{background:var(--bg-secondary);border-color:var(--border-subtle)}body.dark-mode .widget{background:var(--bg-tertiary)!important;border:1px solid var(--border-subtle)!important}body.dark-mode .widget:hover{border-color:var(--border-default)!important}body.dark-mode .widget-header h3{color:var(--text-primary)}body.dark-mode .widget-header .widget-icon{background:#818cf826}body.dark-mode .weather-widget .weather-main{background:linear-gradient(135deg,#818cf81a,#a78bfa1a)}body.dark-mode .weather-widget .temperature{color:var(--text-primary)}body.dark-mode .weather-widget .weather-desc{color:var(--text-secondary)}body.dark-mode .inspiration-widget .inspiration-quote{color:var(--text-secondary);background:#ffffff08}body.dark-mode .recommendation-item{background:#ffffff08;border:1px solid var(--border-subtle)}body.dark-mode .recommendation-item:hover{background:#818cf81a;border-color:var(--accent-primary)}body.dark-mode .recommendation-title{color:var(--text-primary)}body.dark-mode .recommendation-meta{color:var(--text-muted)}body.dark-mode .stat-card{background:#ffffff08;border:1px solid var(--border-subtle)}body.dark-mode .stat-value{color:var(--text-primary)}body.dark-mode .stat-label{color:var(--text-muted)}body.dark-mode,body.dark-mode *{transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}body.dark-mode button,body.dark-mode a,body.dark-mode input,body.dark-mode .no-transition{transition:none}body.dark-mode .low-contrast-text{color:var(--text-secondary)!important}body.dark-mode .message-text a,body.dark-mode .post-content a{color:#93c5fd!important;text-decoration:underline!important}body.dark-mode code,body.dark-mode pre{background:var(--bg-elevated)!important;color:#e5e7eb!important;border:1px solid var(--border-subtle)!important}@media(max-width:767px){body.dark-mode .bottom-nav{background:#16161df2!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important}body.dark-mode .page-container{background:var(--bg-primary)}body.dark-mode .swipe-card{background:var(--bg-secondary);border:1px solid var(--border-subtle)}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-16{height:4rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-16{width:4rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-3xl{border-radius:1.5rem}.border{border-width:1px}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-gray-100{--tw-gradient-from: #f3f4f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(243 244 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-600{--tw-gradient-from: #16a34a var(--tw-gradient-from-position);--tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-white{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-blue-50{--tw-gradient-to: #eff6ff var(--tw-gradient-to-position)}.to-green-400{--tw-gradient-to: #4ade80 var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.text-center{text-align:center}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;background-color:#f8f9fa;transition:background-color .3s ease}body.dark-mode{background-color:#0f0f0f;color:#fafafa}body.dark-mode .app-layout,body.dark-mode .app-container{background-color:#0f0f0f}body.dark-mode .desktop-sidebar{background-color:#1a1a1a;border-color:#27272a}body.dark-mode .sidebar-header{border-color:#27272a}body.dark-mode .sidebar-logo-text{color:#818cf8}body.dark-mode .sidebar-nav-item{color:#fafafa}body.dark-mode .sidebar-nav-icon{color:#a1a1aa}body.dark-mode .sidebar-nav-label{color:#fafafa}body.dark-mode .sidebar-nav-item:hover{background-color:#27272a}body.dark-mode .sidebar-nav-item.active{background-color:#818cf826}body.dark-mode .sidebar-nav-item.active .sidebar-nav-icon,body.dark-mode .sidebar-nav-item.active .sidebar-nav-label{color:#818cf8}body.dark-mode .sidebar-bottom-section{border-color:#27272a}body.dark-mode .sidebar-nav-item.theme-toggle{background-color:#27272a}body.dark-mode .main-content.desktop-content{background-color:#0f0f0f}body.dark-mode .content-wrapper{background-color:transparent}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,a{-webkit-tap-highlight-color:rgba(0,0,0,.1)}body,.app,.app-container,.header,.bottom-nav,.card,button,input,textarea{transition-property:background-color,border-color,color,fill,stroke;transition-duration:.2s;transition-timing-function:ease-in-out}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease-out,transform .3s ease-out}.page-exit-active{opacity:0;transition:opacity .2s ease-in}.animate-fadeIn{animation:fadeIn .3s ease-out forwards}.animate-slideUp{animation:slideUp .4s cubic-bezier(.16,1,.3,1) forwards}.animate-slideInRight{animation:slideInRight .3s ease-out forwards}.animate-scaleIn{animation:scaleIn .3s cubic-bezier(.16,1,.3,1) forwards}.animate-bounce{animation:bounce .6s ease-in-out}.skeleton{background:linear-gradient(90deg,var(--color-border-light) 25%,var(--color-bg-hover) 50%,var(--color-border-light) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}@keyframes nestiBounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(-5deg)}75%{transform:translateY(-4px) rotate(5deg)}}.nesti-logo-animated{animation:nestiBounce 2s ease-in-out infinite}@keyframes loadingDots{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.loading-dots span{display:inline-block;width:8px;height:8px;background:var(--color-primary);border-radius:50%;margin:0 4px;animation:loadingDots 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}button:active:not(:disabled){transform:scale(.97)}.card-hover{transition:transform .2s ease,box-shadow .2s ease}.animated-card{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s cubic-bezier(.34,1.56,.64,1);transition-delay:var(--delay, 0ms)}.animated-card.in-view{opacity:1;transform:translateY(0)}.staggered-list .staggered-item{opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .4s cubic-bezier(.34,1.56,.64,1);transition-delay:var(--stagger-delay, 0ms)}.staggered-list.in-view .staggered-item{opacity:1;transform:translateY(0)}.stagger-list>*:nth-child(1){animation-delay:0ms}.stagger-list>*:nth-child(2){animation-delay:50ms}.stagger-list>*:nth-child(3){animation-delay:.1s}.stagger-list>*:nth-child(4){animation-delay:.15s}.stagger-list>*:nth-child(5){animation-delay:.2s}.stagger-list>*:nth-child(6){animation-delay:.25s}.stagger-list>*:nth-child(7){animation-delay:.3s}.stagger-list>*:nth-child(8){animation-delay:.35s}.stagger-list>*:nth-child(9){animation-delay:.4s}.stagger-list>*:nth-child(10){animation-delay:.45s}.scroll-snap-x{scroll-snap-type:x mandatory;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.scroll-snap-x::-webkit-scrollbar{display:none}.scroll-snap-x>*{scroll-snap-align:start}.scroll-snap-y{scroll-snap-type:y proximity;overflow-y:auto}.scroll-snap-y>*{scroll-snap-align:start}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:#fff;padding:8px 16px;z-index:10000;transition:top .3s;border-radius:0 0 8px}.skip-link:focus{top:0}@media(hover:none){.touch-feedback{-webkit-tap-highlight-color:transparent}.touch-feedback:active{opacity:.7;transform:scale(.98)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animated-card,.staggered-list .staggered-item{opacity:1;transform:none}}.comment-section{padding:12px 16px;border-top:1px solid var(--color-border, #efefef);background:var(--bg-primary, #ffffff)}.comment-loading{text-align:center;padding:16px;color:#8e8e8e;font-size:14px}.comments-list{max-height:400px;overflow-y:auto}.comment-item{display:flex;gap:12px;margin-bottom:16px;animation:fadeIn .3s ease-in;align-items:flex-start}.comment-item.reply{margin-left:44px;margin-bottom:12px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.comment-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0}.comment-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.comment-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e67e22,#f5a623);color:#fff;font-size:11px;font-weight:600}.comment-body{flex:1;min-width:0}.comment-content{line-height:1.4;word-wrap:break-word}.comment-author{font-size:13px;font-weight:600;color:var(--color-text, #262626);margin-right:4px}.comment-text{font-size:13px;color:var(--color-text, #262626)}.comment-actions{display:flex;align-items:center;gap:12px;margin-top:8px}.comment-time{font-size:12px;color:#8e8e8e}.comment-likes-count{font-size:12px;color:#8e8e8e;font-weight:600}.comment-action-btn{background:none;border:none;padding:0;font-size:12px;font-weight:600;color:#8e8e8e;cursor:pointer;transition:color .2s}.comment-action-btn:hover{color:var(--color-text, #262626)}.comment-action-btn.delete{color:#ed4956}.comment-like-btn{background:none;border:none;padding:4px;cursor:pointer;flex-shrink:0;margin-left:auto}.comment-like-btn .like-icon{width:12px;height:12px;color:#8e8e8e;transition:all .2s}.comment-like-btn.liked .like-icon,.comment-like-btn:hover .like-icon{color:#ed4956}.comment-replies{margin-top:12px;padding-left:0}.reply-indicator{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fafafa;border-radius:8px;margin-bottom:8px;font-size:13px;color:#262626}.cancel-reply-btn{background:none;border:none;font-size:16px;color:#8e8e8e;cursor:pointer;padding:0 4px}.cancel-reply-btn:hover{color:#262626}.comment-form{margin-top:8px;border-top:1px solid var(--color-border, #efefef);padding-top:12px}.comment-input-wrapper{display:flex;align-items:center;gap:12px}.comment-user-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0}.comment-user-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.comment-input{flex:1;border:none;background:transparent;font-size:14px;padding:8px 0;outline:none;color:var(--color-text, #262626)}.comment-input::-moz-placeholder{color:#8e8e8e}.comment-input::placeholder{color:#8e8e8e}.comment-submit-btn{background:none;border:none;color:#0095f6;font-size:14px;font-weight:600;cursor:pointer;padding:8px;opacity:1;transition:opacity .2s}.comment-submit-btn:disabled{opacity:.3;cursor:not-allowed}.comment-submit-btn:hover:not(:disabled){color:#00376b}body.dark-mode .comment-section{border-top-color:#363636;background:#1a1a1a}body.dark-mode .comment-author,body.dark-mode .comment-text{color:#f5f5f5}body.dark-mode .comment-loading{color:#aaa}body.dark-mode .reply-indicator{background:#262626;color:#f5f5f5}body.dark-mode .comment-form{border-top-color:#363636;background:#1a1a1a}body.dark-mode .comment-input{color:#f5f5f5}body.dark-mode .comment-time,body.dark-mode .comment-action-btn{color:#888}body.dark-mode .view-comments-btn{color:#aaa}@media(max-width:768px){.comment-item.reply{margin-left:32px}.comment-avatar,.comment-user-avatar{width:28px;height:28px}}.share-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.share-modal{background:var(--card-bg, white);border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.share-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-color, #e0e0e0)}.share-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #333)}.close-btn{background:none;border:none;cursor:pointer;padding:4px;color:var(--text-secondary, #666);transition:color .2s}.close-btn:hover{color:var(--text-primary, #333)}.close-icon{width:24px;height:24px}.share-modal-content{flex:1;overflow-y:auto;padding:20px}.loading,.no-members{text-align:center;padding:40px 20px;color:var(--text-secondary, #666)}.member-selection{margin-bottom:20px}.input-label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary, #333);font-size:.95rem}.member-select{width:100%;padding:12px;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;font-size:1rem;background:var(--input-bg, white);color:var(--text-primary, #333);cursor:pointer;transition:border-color .2s}.member-select:focus{outline:none;border-color:var(--primary-color, #E67E22)}.message-input{margin-bottom:20px}.message-textarea{width:100%;padding:12px;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;background:var(--input-bg, white);color:var(--text-primary, #333);transition:border-color .2s}.message-textarea:focus{outline:none;border-color:var(--primary-color, #E67E22)}.post-preview{margin-top:20px;padding:16px;background:var(--bg-secondary, #f5f5f5);border-radius:8px}.post-preview h4{margin:0 0 12px;font-size:.9rem;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px}.preview-content p{margin:0 0 12px;color:var(--text-primary, #333);line-height:1.5}.preview-media{margin-top:8px;border-radius:8px;overflow:hidden}.preview-image,.preview-video{width:100%;height:auto;max-height:200px;-o-object-fit:cover;object-fit:cover;display:block}.share-modal-footer{display:flex;gap:12px;padding:20px;border-top:1px solid var(--border-color, #e0e0e0)}.cancel-btn,.share-btn{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn{background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #333)}.cancel-btn:hover{background:var(--bg-tertiary, #e0e0e0)}.share-btn{background:var(--primary-color, #E67E22);color:#fff}.share-btn:hover:not(:disabled){background:var(--primary-hover, #D35400)}.share-btn:disabled{opacity:.5;cursor:not-allowed}body.dark-mode .share-modal{background:var(--card-bg, #1f2937)}body.dark-mode .share-modal-header h3{color:var(--text-primary, #f9fafb)}body.dark-mode .close-btn{color:var(--text-secondary, #9ca3af)}body.dark-mode .close-btn:hover{color:var(--text-primary, #f9fafb)}body.dark-mode .loading,body.dark-mode .no-members{color:var(--text-secondary, #9ca3af)}body.dark-mode .input-label{color:var(--text-primary, #f9fafb)}body.dark-mode .member-select,body.dark-mode .message-textarea{background:var(--input-bg, #374151);color:var(--text-primary, #f9fafb);border-color:var(--border-color, #4b5563)}body.dark-mode .post-preview{background:var(--bg-secondary, #374151)}body.dark-mode .post-preview h4{color:var(--text-secondary, #9ca3af)}body.dark-mode .preview-content p{color:var(--text-primary, #f9fafb)}body.dark-mode .cancel-btn{background:var(--bg-secondary, #374151);color:var(--text-primary, #f9fafb)}body.dark-mode .cancel-btn:hover{background:var(--bg-tertiary, #4b5563)}.video-player-container{position:relative;width:100%;max-width:500px;margin:0 auto;border-radius:12px;overflow:hidden;background:#000}.video-player{width:100%;height:auto;max-height:600px;-o-object-fit:cover;object-fit:cover;display:block}.video-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.3) 100%);opacity:0;transition:opacity .3s ease}.video-player-container:hover .video-overlay{opacity:1}.video-control{background:#000000b3;border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#fff}.video-control:hover{background:#000000e6;transform:scale(1.1)}.control-icon{width:24px;height:24px}.play-pause-btn{width:64px;height:64px}.play-pause-btn .control-icon{width:32px;height:32px}.video-controls-bottom{position:absolute;bottom:16px;right:16px}.mute-btn{width:40px;height:40px}.mute-btn .control-icon{width:20px;height:20px}.video-error{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;color:#fff;z-index:10;padding:20px;text-align:center}.video-error-icon{font-size:2.5rem;margin-bottom:12px}.video-error p{margin:0 0 16px;font-size:.95rem;color:#f1f5f9}.video-error button{padding:10px 24px;background:linear-gradient(135deg,#e67e22,#3d7a78);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.video-error button:hover{transform:scale(1.05);box-shadow:0 4px 12px #2d5f5d66}.video-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5}.video-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.video-overlay{opacity:1}.play-pause-btn.playing{opacity:0;transition:opacity .3s}.video-player-container:active .play-pause-btn.playing{opacity:1}}.video-overlay.fade-in{animation:fadeIn .3s ease}@media(max-width:768px){.video-player-container{max-width:100%;border-radius:8px}.play-pause-btn{width:56px;height:56px}.play-pause-btn .control-icon{width:28px;height:28px}.video-control{width:44px;height:44px}.control-icon{width:22px;height:22px}}.post-card{background:var(--color-bg-card);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);box-shadow:var(--shadow);transition:all .2s ease;overflow:hidden}.post-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.post-author{display:flex;align-items:center;gap:12px}.post-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;padding:2px;overflow:hidden}.post-avatar img,.post-avatar .post-avatar-img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#fff}.post-author-info{display:flex;flex-direction:column;gap:2px}.post-author-name{font-weight:600;font-size:14px;color:var(--color-text)}.post-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-secondary)}.post-timestamp{font-size:12px;color:var(--color-text-secondary)}.post-location{display:flex;align-items:center;gap:2px;color:var(--color-text-secondary)}.location-icon{width:12px;height:12px}.post-menu-container{position:relative}.post-menu-btn{background:none;border:none;font-size:16px;color:var(--color-text);cursor:pointer;padding:8px;letter-spacing:2px;border-radius:50%;transition:background .2s ease}.post-menu-btn:hover{background:#0000000d}.post-menu-dropdown{position:absolute;top:100%;right:0;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:150px;z-index:100;overflow:hidden;animation:menuFadeIn .15s ease}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.post-menu-item{width:100%;padding:12px 16px;border:none;background:none;text-align:left;cursor:pointer;font-size:14px;transition:background .15s ease;display:flex;align-items:center;gap:8px}.post-menu-item:hover{background:#f5f5f5}.post-menu-item.delete{color:#e74c3c}.post-menu-item.delete:hover{background:#fef0ef}.post-menu-item:disabled{opacity:.6;cursor:not-allowed}.post-content{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.post-emoji{font-size:48px;text-align:center;padding:16px}.post-text{font-size:14px;color:var(--color-text);line-height:1.5;margin:0;padding:0 16px 12px}.post-image-container{position:relative;width:100%;background:#000}.post-image{width:100%;height:auto;display:block;max-height:600px;-o-object-fit:contain;object-fit:contain}.double-tap-heart{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:10}.animated-heart{width:100px;height:100px;color:#fff;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));animation:heartPop 1s ease-out forwards}@keyframes heartPop{0%{transform:scale(0);opacity:0}15%{transform:scale(1.2);opacity:1}30%{transform:scale(.95)}45%{transform:scale(1.1)}80%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:0}}.post-actions-instagram{display:flex;justify-content:space-between;align-items:center;padding:8px 12px}.post-actions-instagram .actions-left,.post-actions-instagram .actions-right{display:flex;align-items:center;gap:4px}.post-actions-instagram .action-btn{background:none!important;border:none!important;padding:8px!important;cursor:pointer;display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;transition:transform .1s ease;box-shadow:none!important;color:inherit!important;font-size:inherit!important;font-weight:400!important;flex:none!important;border-radius:0!important}.post-actions-instagram .action-btn:hover{transform:none!important;background:#0000000d!important;border-radius:50%!important}.post-actions-instagram .action-btn:active{transform:scale(.9)}.post-actions-instagram .action-btn .action-icon{width:26px!important;height:26px!important;color:#262626!important;stroke:#262626!important;transition:all .2s ease;display:block!important}body.dark-mode .post-actions-instagram .action-btn .action-icon{color:#f9fafb!important;stroke:#f9fafb!important}.post-actions-instagram .action-btn.liked .heart-filled{color:#ed4956!important;animation:heartBeat .3s ease}.post-actions-instagram .action-btn.saved .bookmark-filled{color:#262626!important}body.dark-mode .post-actions-instagram .action-btn.saved .bookmark-filled{color:#f9fafb!important}@keyframes heartBeat{0%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(.9)}to{transform:scale(1)}}.post-engagement{padding:0 16px 8px}.likes-count{font-size:14px;color:var(--color-text)}.likes-count strong{font-weight:600}.no-likes{color:var(--color-text-secondary)}.view-comments-btn{display:block;background:none;border:none;padding:0 16px 12px;font-size:14px;color:var(--color-text-secondary);cursor:pointer;text-align:left}.view-comments-btn:hover{color:var(--color-text)}.action-btn.loading .action-icon{animation:spin 1s linear infinite}.post-stats,.post-actions,.post-action-btn{display:none}.post-comments{display:flex;flex-direction:column;gap:var(--spacing);margin-top:var(--spacing);padding:var(--spacing) 16px;border-top:1px solid var(--color-border)}.post-comment{display:flex;gap:10px}.comment-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex-shrink:0}.comment-content{flex:1}.comment-author{font-weight:600;font-size:14px;color:var(--color-text);display:inline;margin-right:6px}.comment-text{font-size:14px;color:var(--color-text);line-height:1.4;display:inline}.reaction-container{position:relative;display:inline-block}.reaction-picker{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border-radius:2rem;padding:10px 14px;display:flex;gap:4px;box-shadow:0 4px 24px #0003;animation:reactionPickerIn .2s ease-out;z-index:9999;white-space:nowrap;border:1px solid rgba(0,0,0,.1)}body.dark-mode .reaction-picker{background:#1e293b;border-color:#ffffff1a;box-shadow:0 4px 24px #0006}@keyframes reactionPickerIn{0%{opacity:0;transform:translateY(-8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.reaction-option{width:44px;height:44px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,background .15s ease;padding:0}.reaction-option:hover{transform:scale(1.4);background:#0000000d}.reaction-option.selected{background:#fff3e0;transform:scale(1.1)}.reaction-emoji-option{font-size:28px;line-height:1}.action-btn .reaction-emoji{font-size:22px;line-height:1}.action-btn.reacted{transform:scale(1.1)}.reaction-summary{display:flex;align-items:center;gap:4px;margin-right:8px}.reaction-summary-emoji{font-size:16px;display:flex;margin-left:-4px}.reaction-summary-emoji:first-child{margin-left:0}.stories-container{padding:12px 0;margin-bottom:8px}.stories-wrapper{position:relative;padding:0 8px}.stories-scroll{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:8px 4px}.stories-scroll::-webkit-scrollbar{display:none}.story-item{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:transform .2s ease}.story-item:hover{transform:scale(1.05)}.story-avatar-wrapper{width:68px;height:68px;border-radius:50%;padding:2px;background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);position:relative}.story-avatar-wrapper.viewed{background:#dbdbdb}.story-avatar-wrapper.create{background:none;border:2px dashed #dbdbdb}.story-avatar{width:100%;height:100%;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;color:var(--color-primary);overflow:hidden}.story-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.story-avatar.create{background:#fafafa}.plus-icon{width:28px;height:28px;color:var(--color-primary)}.story-count{position:absolute;bottom:-2px;right:-2px;background:var(--color-primary);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;border:2px solid white}.story-name{font-size:12px;color:var(--color-text);max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.stories-nav-btn{position:absolute;top:50%;transform:translateY(-70%);width:28px;height:28px;border-radius:50%;background:#fff;border:none;box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10}.stories-nav-btn.left{left:4px}.stories-nav-btn.right{right:4px}.stories-nav-btn svg{width:16px;height:16px}.story-viewer-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:1000;display:flex;align-items:center;justify-content:center}.story-viewer{position:relative;width:100%;max-width:420px;height:100%;max-height:90vh;background:#111;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.story-progress-bar{position:absolute;top:8px;left:8px;right:8px;display:flex;gap:4px;z-index:10}.progress-segment{flex:1;height:3px;background:#ffffff4d;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:#fff;transition:width .1s linear}.story-viewer-header{position:absolute;top:16px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;z-index:10}.story-author-info{display:flex;align-items:center;gap:10px}.story-author-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;overflow:hidden}.story-author-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.story-author-name{color:#fff;font-weight:600;font-size:14px}.story-time{color:#ffffffb3;font-size:12px}.story-header-actions{display:flex;align-items:center;gap:8px}.delete-story-btn{width:32px;height:32px;border-radius:50%;background:#ef4444cc;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.delete-story-btn:hover{background:#ef4444}.delete-story-btn svg{width:18px;height:18px;color:#fff}.close-story-btn{width:32px;height:32px;border-radius:50%;background:#fff3;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.close-story-btn svg{width:20px;height:20px;color:#fff}.story-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 16px 20px}.story-image{max-width:100%;max-height:70%;-o-object-fit:contain;object-fit:contain;border-radius:8px}.story-text{color:#fff;font-size:24px;text-align:center;padding:20px;line-height:1.4;word-break:break-word}.story-nav-area{position:absolute;top:60px;bottom:60px;width:30%;cursor:pointer}.story-nav-area.left{left:0}.story-nav-area.right{right:0}.create-story-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.create-story-content{background:#fff;border-radius:16px;width:100%;max-width:400px;overflow:hidden}.create-story-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #eee}.create-story-header h3{margin:0;font-size:18px;font-weight:600}.close-btn{width:32px;height:32px;border-radius:50%;background:#f0f0f0;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.close-btn svg{width:18px;height:18px}.create-story-body{padding:16px;display:flex;flex-direction:column;gap:16px}.image-upload-area{height:200px;border:2px dashed #ddd;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;background:#fafafa;transition:all .2s ease}.image-upload-area:hover{border-color:var(--color-primary);background:#f5f5ff}.upload-icon{width:40px;height:40px;color:#999}.image-upload-area span{color:#666;font-size:14px}.image-preview{position:relative;height:200px;border-radius:12px;overflow:hidden}.image-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.remove-image-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:#0009;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-image-btn svg{width:16px;height:16px;color:#fff}.create-story-body textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;resize:none;font-family:inherit}.create-story-body textarea:focus{outline:none;border-color:var(--color-primary)}.create-story-footer{padding:16px;border-top:1px solid #eee}.create-story-btn{width:100%;padding:12px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease}.create-story-btn:hover:not(:disabled){background:var(--color-primary-dark, #4a33cc)}.create-story-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.story-viewer{border-radius:0;max-height:100vh}.story-avatar-wrapper{width:60px;height:60px}.story-text{font-size:20px}}.tips-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-md);animation:fadeIn .3s ease}.tips-content{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--spacing-2xl);max-width:500px;width:100%;position:relative;animation:slideUp .4s ease;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.tips-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--radius);transition:background .2s}.tips-close:hover{background:var(--color-bg-hover)}.tips-close-icon{width:24px;height:24px;color:var(--color-text-secondary)}.tips-header{text-align:center;margin-bottom:var(--spacing-xl)}.tips-bulb-icon{width:48px;height:48px;color:var(--color-primary);margin:0 auto var(--spacing-md);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.tips-header h2{font-size:var(--font-size-2xl);color:var(--color-text);margin:0;font-weight:700}.tip-card{text-align:center;padding:var(--spacing-xl);background:var(--color-bg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);min-height:200px;display:flex;flex-direction:column;justify-content:center;animation:tipSlide .3s ease}@keyframes tipSlide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.tip-icon{font-size:64px;margin-bottom:var(--spacing-md)}.tip-title{font-size:var(--font-size-xl);color:var(--color-text);margin:0 0 var(--spacing-sm) 0;font-weight:700}.tip-description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;line-height:1.6}.tips-progress{display:flex;justify-content:center;gap:8px;margin-bottom:var(--spacing-lg)}.progress-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border);transition:all .3s ease}.progress-dot.active{width:24px;border-radius:4px;background:var(--color-primary)}.progress-dot.completed{background:var(--color-primary);opacity:.5}.tips-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.tips-btn{flex:1;padding:14px 24px;border:none;border-radius:var(--radius-lg);font-weight:600;font-size:var(--font-size-base);cursor:pointer;transition:all .2s}.tips-btn-secondary{background:var(--color-bg);color:var(--color-text)}.tips-btn-secondary:hover{background:var(--color-bg-hover)}.tips-btn-primary{background:var(--color-primary);color:#fff}.tips-btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.tips-skip{width:100%;background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-sm);transition:color .2s}.tips-skip:hover{color:var(--color-text)}.notification-prompt-overlay{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:9999;animation:slideUp .4s ease}@keyframes slideUp{0%{transform:translate(-50%) translateY(100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.notification-prompt{background:linear-gradient(135deg,#6c5ce7,#5b4cdb);color:#fff;padding:20px 24px;border-radius:16px;box-shadow:0 10px 40px #6c5ce766;max-width:360px;text-align:center}.notification-prompt-icon{font-size:3rem;margin-bottom:12px;animation:bellRing .5s ease infinite;animation-delay:1s}@keyframes bellRing{0%,to{transform:rotate(0)}25%{transform:rotate(15deg)}75%{transform:rotate(-15deg)}}.notification-prompt h3{margin:0 0 8px;font-size:1.1rem;font-weight:700}.notification-prompt p{margin:0 0 16px;font-size:.9rem;opacity:.9;line-height:1.4}.notification-prompt-buttons{display:flex;gap:10px;justify-content:center}.notification-prompt .btn-enable{background:#fff;color:#6c5ce7;border:none;padding:12px 20px;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:transform .2s,box-shadow .2s}.notification-prompt .btn-enable:hover{transform:scale(1.05);box-shadow:0 4px 15px #ffffff4d}.notification-prompt .btn-dismiss{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);padding:12px 16px;border-radius:10px;font-size:.9rem;cursor:pointer;transition:background .2s}.notification-prompt .btn-dismiss:hover{background:#ffffff1a}.notification-enabled{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:1.1rem;padding:10px;background:#fff3;border-radius:10px}.notification-denied{font-size:.9rem;padding:10px;background:#ffffff1a;border-radius:10px}.notification-denied small{opacity:.8}@media(max-width:480px){.notification-prompt-overlay{left:10px;right:10px;transform:none;bottom:10px}.notification-prompt{max-width:none}.notification-prompt-buttons{flex-direction:column}}.nesti-page-loader{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#f8fafc,#f1f5f9);display:flex;align-items:center;justify-content:center;z-index:9999}.nesti-loader-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.nesti-logo-bounce{animation:logoBounce 1.5s ease-in-out infinite}.nesti-home-icon{font-size:4rem;filter:drop-shadow(0 8px 16px rgba(99,102,241,.2))}@keyframes logoBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.05)}}.nesti-loader-dots{display:flex;gap:.5rem}.nesti-loader-dots span{width:12px;height:12px;background:#e67e22;border-radius:50%;animation:dotPulse 1.4s ease-in-out infinite}.nesti-loader-dots span:nth-child(1){animation-delay:0s}.nesti-loader-dots span:nth-child(2){animation-delay:.2s}.nesti-loader-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.nesti-loader-text{font-size:1rem;color:#64748b;font-weight:500;animation:fadeInOut 2s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:.5}50%{opacity:1}}.nesti-spinner{display:inline-flex;align-items:center;justify-content:center}.nesti-spinner-sm{width:16px;height:16px}.nesti-spinner-md{width:24px;height:24px}.nesti-spinner-lg{width:40px;height:40px}.spinner-ring{width:100%;height:100%;border-radius:50%;border:3px solid #e2e8f0;border-top-color:#e67e22;animation:spinRotate .8s linear infinite}.nesti-spinner-primary .spinner-ring{border-top-color:#e67e22}.nesti-spinner-white .spinner-ring{border-color:#ffffff4d;border-top-color:#fff}.nesti-spinner-success .spinner-ring{border-top-color:#22c55e}@keyframes spinRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nesti-skeleton-card{background:#fff;border-radius:16px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000000d}.skeleton-header{display:flex;gap:.75rem;margin-bottom:1rem}.skeleton-avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0}.skeleton-info{flex:1;display:flex;flex-direction:column;gap:6px;justify-content:center}.skeleton-body{display:flex;flex-direction:column;gap:8px;margin-bottom:1rem}.skeleton-line{height:14px;border-radius:7px;width:100%}.skeleton-line.short{width:60%}.skeleton-line.shorter{width:40%}.skeleton-line.medium{width:80%}.skeleton-image{height:180px;border-radius:12px}.shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:shimmerMove 1.5s linear infinite}@keyframes shimmerMove{0%{background-position:200% 0}to{background-position:-200% 0}}.nesti-skeleton-list{display:flex;flex-direction:column;gap:1rem}.nesti-skeleton-activity{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.skeleton-activity-image{height:120px}.skeleton-activity-content{padding:1rem;display:flex;flex-direction:column;gap:8px}.skeleton-activity-footer{display:flex;justify-content:space-between;margin-top:8px}.nesti-family-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1.5rem}.family-hearts{display:flex;gap:.5rem}.heart{font-size:2rem;animation:heartBeat 1.2s ease-in-out infinite}.heart-1{animation-delay:0s}.heart-2{animation-delay:.2s}.heart-3{animation-delay:.4s}@keyframes heartBeat{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.9)}75%{transform:scale(1.1)}}.family-loader-text{color:#64748b;font-size:.95rem;animation:fadeInOut 2s ease-in-out infinite}.nesti-pulse-loader{position:relative;width:60px;height:60px;display:flex;align-items:center;justify-content:center}.pulse-ring{position:absolute;width:100%;height:100%;border:3px solid #E67E22;border-radius:50%;animation:pulseRing 1.5s ease-out infinite;opacity:0}.pulse-ring:nth-child(1){animation-delay:0s}.pulse-ring:nth-child(2){animation-delay:.3s}.pulse-ring:nth-child(3){animation-delay:.6s}@keyframes pulseRing{0%{transform:scale(.3);opacity:1}to{transform:scale(1.2);opacity:0}}.nesti-success-animation{display:flex;flex-direction:column;align-items:center;gap:1rem}.success-check{width:64px;height:64px;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:successPop .5s ease-out}.success-check svg{width:32px;height:32px;color:#fff;animation:checkDraw .3s ease-out .2s both}@keyframes successPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes checkDraw{0%{stroke-dasharray:30;stroke-dashoffset:30}to{stroke-dashoffset:0}}.nesti-success-animation p{color:#22c55e;font-weight:600;font-size:1.1rem;animation:fadeIn .3s ease-out .4s both}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:all .3s ease-out}.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-20px);transition:all .2s ease-in}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-up{animation:slideInUp .4s ease-out}.animate-slide-right{animation:slideInRight .4s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.stagger-item{opacity:0;animation:slideInUp .4s ease-out forwards}.stagger-item:nth-child(1){animation-delay:.05s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}.stagger-item:nth-child(6){animation-delay:.3s}.stagger-item:nth-child(7){animation-delay:.35s}.stagger-item:nth-child(8){animation-delay:.4s}.stagger-item:nth-child(9){animation-delay:.45s}.stagger-item:nth-child(10){animation-delay:.5s}body.dark-mode .nesti-page-loader{background:linear-gradient(135deg,#1e1e1e,#2a2a2a)}body.dark-mode .nesti-loader-text{color:#94a3b8}body.dark-mode .nesti-skeleton-card,body.dark-mode .nesti-skeleton-activity{background:#2a2a2a}body.dark-mode .shimmer{background:linear-gradient(90deg,#333 25%,#3a3a3a,#333 75%);background-size:200% 100%}body.dark-mode .spinner-ring{border-color:#444;border-top-color:#f5a623}.home-page{background:var(--color-bg);min-height:100vh;padding:var(--spacing-md)}.create-post-section{margin-bottom:var(--spacing-md)}.create-post-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow)}.create-post-header{display:flex;align-items:center;gap:var(--spacing);margin-bottom:var(--spacing)}.create-post-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-base);flex-shrink:0}.create-post-input{flex:1;padding:12px 16px;border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);background:var(--color-bg);color:var(--color-text);transition:border-color .2s ease}.create-post-input:focus{outline:none;border-color:var(--color-primary)}.create-post-input::-moz-placeholder{color:var(--color-text-light)}.create-post-input::placeholder{color:var(--color-text-light)}.create-post-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--spacing-sm)}.create-post-btn{width:40px;height:40px;border:none;background:var(--color-bg-secondary);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease}.create-post-btn:hover{background:var(--color-border);color:var(--color-text)}.create-icon{width:20px;height:20px}.create-post-submit{width:44px;height:44px;border:none;background:var(--color-primary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .2s ease}.create-post-submit:hover{background:var(--color-primary-dark);transform:scale(1.05);box-shadow:var(--shadow)}.plus-icon{width:24px;height:24px}.image-preview-container{position:relative;margin:var(--spacing-md) 0;border-radius:var(--radius);overflow:hidden}.image-preview{width:100%;max-height:400px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius)}.remove-image-btn{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:32px;height:32px;border-radius:var(--radius-full);background:#000000b3;color:#fff;border:none;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.remove-image-btn:hover{background:#000000e6}.posts-feed{display:flex;flex-direction:column}.create-post-submit:disabled{opacity:.5;cursor:not-allowed}.create-post-submit:disabled:hover{transform:none;box-shadow:none}.loading-container{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl) var(--spacing-md)}.skeleton-posts{width:100%;display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.post-item{animation:fadeInUp .4s ease-out forwards;opacity:0}.loading-message,.empty-feed{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.empty-feed p{margin:var(--spacing-sm) 0}.empty-feed p:first-child{font-weight:600;color:var(--color-text)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:20px;color:#333}.modal-close{width:32px;height:32px;border-radius:50%;border:none;background:#f0f0f0;color:#666;font-size:18px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#e0e0e0;color:#333}.modal-error{margin:1rem 1.5rem 0;padding:.75rem;background:#fee;color:#c33;border-radius:8px;font-size:13px;border-left:3px solid #c33}.member-edit-form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:13px;font-weight:600;color:#555;margin-bottom:.5rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:all .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#58a889;box-shadow:0 0 0 3px #58a8891a}.form-group input:disabled,.form-group select:disabled{background:#f5f5f5;cursor:not-allowed}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e0e0e0}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .2s}.btn-primary{background:#58a889;color:#fff}.btn-primary:hover:not(:disabled){background:#4a8f75;transform:translateY(-1px)}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.btn-secondary{background:#f0f0f0;color:#666}.btn-secondary:hover:not(:disabled){background:#e0e0e0;color:#333}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}body.dark-mode .modal-content{background:#2a2a2a}body.dark-mode .modal-header{border-bottom-color:#444}body.dark-mode .modal-header h2{color:#fff}body.dark-mode .modal-close{background:#444;color:#ccc}body.dark-mode .modal-close:hover{background:#555;color:#fff}body.dark-mode .form-group label{color:#ccc}body.dark-mode .form-group input,body.dark-mode .form-group select{background:#333;border-color:#444;color:#fff}body.dark-mode .form-group input:focus,body.dark-mode .form-group select:focus{border-color:#58a889}body.dark-mode .form-group input:disabled,body.dark-mode .form-group select:disabled{background:#222}body.dark-mode .modal-actions{border-top-color:#444}body.dark-mode .btn-secondary{background:#444;color:#ccc}body.dark-mode .btn-secondary:hover:not(:disabled){background:#555;color:#fff}@media(max-width:768px){.modal-content{width:95%;max-height:95vh}.modal-header,.member-edit-form{padding:1rem}.modal-header h2{font-size:18px}.form-group input,.form-group select{font-size:16px}.btn-primary,.btn-secondary{flex:1}}.invite-modal-content{background:var(--color-bg-card);border-radius:var(--radius-xl);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:4px 0 0}.create-invitation-section{padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius);margin-bottom:var(--spacing-lg)}.create-invitation-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-weight:600;font-size:var(--font-size-base);cursor:pointer;transition:all .2s}.create-invitation-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.create-invitation-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-icon{width:20px;height:20px}.create-invitation-note{margin-top:8px;font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center}.loading-state{text-align:center;padding:2rem}.spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:50%;margin:0 auto 1rem;animation:spin 1s linear infinite}.loading-state p{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.invitations-list{margin-top:var(--spacing-md)}.invitations-list-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-md) 0}.invitation-card{background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md);transition:border-color .2s}.invitation-card:hover{border-color:var(--color-primary)}.invitation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.invitation-code{display:flex;align-items:center;gap:8px}.code-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:500}.code-value{font-size:var(--font-size-sm);font-weight:700;color:var(--color-primary);font-family:monospace;letter-spacing:1px}.invitation-stats{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.uses-count{background:var(--color-bg-card);padding:4px 8px;border-radius:var(--radius-sm);font-weight:600}.invitation-link-container{display:flex;gap:8px;margin-bottom:var(--spacing-sm)}.invitation-link-input{flex:1;padding:8px 12px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);font-family:monospace}.invitation-link-input:focus{outline:none;border-color:var(--color-primary)}.copy-link-btn{padding:8px 12px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.copy-link-btn:hover{background:var(--color-primary);border-color:var(--color-primary)}.copy-link-btn:hover .copy-icon{color:#fff}.copy-icon{width:20px;height:20px;color:var(--color-text-secondary);transition:color .2s}.copy-icon.copied{color:#22c55e}.invitation-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.expiry-date{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.expiry-date.expiring-soon{color:#f59e0b;font-weight:600}.delete-invitation-btn{padding:4px 12px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.delete-invitation-btn:hover{background:#fee;border-color:#c00;color:#c00}.empty-state{text-align:center;padding:2rem 1rem}.empty-icon{font-size:48px;margin-bottom:1rem;opacity:.5}.empty-text{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin:0 0 4px}.empty-subtext{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}@media(max-width:640px){.invite-modal-content{max-height:100vh;border-radius:0}.invitation-header,.invitation-footer{flex-direction:column;align-items:flex-start;gap:8px}.delete-invitation-btn{align-self:flex-end}}.conest-section{margin-bottom:var(--spacing-2xl)}.section-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:4px}.add-conest-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s}.add-conest-btn:hover{opacity:.9;transform:translateY(-1px)}.add-conest-btn .plus-icon{width:16px;height:16px}.pending-section{margin-bottom:var(--spacing-lg)}.subsection-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-md) 0}.conests-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.conest-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius);transition:all .2s}.conest-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow)}.conest-card.active{border-color:#22c55e}.conest-card.pending{border-color:#f59e0b}.conest-icon{width:48px;height:48px;background:var(--color-bg);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}.conest-icon .icon{width:24px;height:24px;color:var(--color-primary)}.conest-card.active .conest-icon{background:#dcfce7}.conest-card.active .conest-icon .icon{color:#22c55e}.conest-card.pending .conest-icon{background:#fef3c7}.conest-card.pending .conest-icon .icon{color:#f59e0b}.conest-info{flex:1}.conest-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin:0 0 4px}.status-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.status-badge.status-accepted{background:#dcfce7;color:#16a34a}.status-badge.status-pending{background:#fef3c7;color:#ca8a04}.status-badge.status-declined{background:#fee;color:#dc2626}.conest-actions{display:flex;gap:8px}.action-btn{width:40px;height:40px;border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn.accept{background:#dcfce7;color:#16a34a}.action-btn.accept:hover{background:#22c55e;color:#fff}.action-btn.decline{background:#fee;color:#dc2626}.action-btn.decline:hover{background:#dc2626;color:#fff}.action-icon{width:20px;height:20px}.remove-btn{padding:8px 16px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.remove-btn:hover{background:#fee;border-color:#dc2626;color:#dc2626}.search-container{display:flex;gap:8px;margin-bottom:var(--spacing-lg)}.search-input{flex:1;padding:12px 16px;border:2px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg)}.search-input:focus{outline:none;border-color:var(--color-primary)}.search-btn{padding:12px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-weight:600;font-size:var(--font-size-base);cursor:pointer;transition:all .2s}.search-btn:hover:not(:disabled){opacity:.9}.search-btn:disabled{opacity:.5;cursor:not-allowed}.search-results{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:400px;overflow-y:auto}.search-result-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius);transition:border-color .2s}.search-result-item:hover{border-color:var(--color-primary)}.family-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin:0 0 4px}.family-code{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0;font-family:monospace}.invite-btn{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s}.invite-btn:hover{opacity:.9}.no-results{text-align:center;padding:2rem;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.loading-state{text-align:center;padding:2rem;color:var(--color-text-secondary)}.error-banner{padding:12px 16px;background:#fee;color:#c00;border-radius:var(--radius);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}@media(min-width:768px){.conests-list{display:grid;grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.add-conest-btn span{display:none}.conest-card{flex-wrap:wrap}.conest-actions{width:100%;justify-content:flex-end}}.monnest-page{background:var(--color-bg);min-height:100vh;padding:var(--spacing-md)}.family-card{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);border-radius:var(--radius-md);padding:var(--spacing-2xl);margin-bottom:var(--spacing-lg);text-align:center;color:#fff;box-shadow:var(--shadow-md);position:relative}.edit-nest-btn{position:absolute;top:16px;right:16px;width:40px;height:40px;background:#fff3;border:2px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.edit-nest-btn:hover{background:#ffffff59;border-color:#ffffff80;transform:scale(1.1)}.edit-nest-icon{width:18px;height:18px;color:#fff}.family-icon{font-size:64px;margin-bottom:var(--spacing)}.family-name{font-size:var(--font-size-2xl);font-weight:700;margin:0 0 var(--spacing-sm) 0}.family-description{font-size:var(--font-size-md);opacity:.95;margin:0 0 var(--spacing-md) 0}.family-stats{display:flex;justify-content:center;align-items:center;gap:var(--spacing);font-size:var(--font-size-sm);font-weight:600;opacity:.9}.members-section{margin-bottom:var(--spacing-lg)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.section-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);margin:0}.invite-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.invite-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow)}.invite-icon{width:18px;height:18px}.members-list{display:flex;flex-direction:column;gap:var(--spacing)}.member-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow);display:flex;gap:var(--spacing-md);transition:all .2s ease}.member-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.member-avatar{width:56px;height:56px;border-radius:var(--radius);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-lg);flex-shrink:0}.member-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.member-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing)}.member-name{font-size:var(--font-size-md);font-weight:700;color:var(--color-text);margin:0 0 4px}.member-email{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.member-badge{padding:5px 12px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;line-height:1;white-space:nowrap}.member-since{font-size:var(--font-size-sm);color:var(--color-text-light);margin:0}.member-actions{display:flex;gap:var(--spacing-sm)}.member-action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--color-bg-secondary);border:none;border-radius:var(--radius);font-weight:600;font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.member-action-btn:hover{background:var(--color-border);color:var(--color-text)}.action-icon{width:14px;height:14px}.share-code-btn{display:inline-flex;align-items:center;gap:8px;margin-top:var(--spacing-md);padding:12px 24px;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-lg);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.share-code-btn:hover{background:#ffffff4d;border-color:#ffffff80}.share-icon{width:18px;height:18px}.invite-code-box{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius);align-items:center}.invite-code{flex:1;font-size:var(--font-size-xl);font-weight:700;font-family:monospace;color:var(--color-primary);letter-spacing:2px}.copy-btn{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:all .2s}.copy-btn:hover{opacity:.9;transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.modal-content{background:var(--color-bg-card);border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:var(--font-size-xl);color:var(--color-text)}.close-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--radius);transition:background .2s}.close-btn:hover{background:var(--color-bg-hover)}.close-icon{width:24px;height:24px;color:var(--color-text-secondary)}.modal-body{padding:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--color-text);font-size:var(--font-size-sm)}.form-input{width:100%;padding:12px 16px;border:2px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--color-primary)}.modal-footer{display:flex;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--color-border)}.btn-secondary,.btn-primary{flex:1;padding:12px 24px;border:none;border-radius:var(--radius);font-weight:600;font-size:var(--font-size-base);cursor:pointer;transition:all .2s}.btn-secondary{background:var(--color-bg);color:var(--color-text)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.empty-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-md);background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.empty-icon{font-size:64px;margin-bottom:var(--spacing-md);opacity:.5}.empty-state h3{font-size:var(--font-size-xl);color:var(--color-text);margin:0 0 var(--spacing-sm) 0;font-weight:700}.empty-state p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg) 0}.empty-action-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;font-size:var(--font-size-base);cursor:pointer;transition:all .2s}.empty-action-btn:hover{opacity:.9;transform:translateY(-2px);box-shadow:var(--shadow-md)}.plus-icon-small{width:20px;height:20px}@media(min-width:375px){.family-card{padding:var(--spacing-xl)}}@media(min-width:425px){.member-card{flex-direction:row;align-items:flex-start}.member-avatar{width:60px;height:60px;font-size:var(--font-size-xl)}}@media(min-width:768px){.monnest-page{padding:var(--spacing-xl)}.family-icon{font-size:80px}.family-name{font-size:var(--font-size-3xl)}.members-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.member-actions{flex-direction:row}.member-action-btn{flex:1}}@media(min-width:1024px){.members-list{grid-template-columns:repeat(3,1fr)}}@media(hover:none)and (pointer:coarse){.share-code-btn,.invite-btn,.member-action-btn{min-height:44px;padding:12px 20px}.close-btn{min-width:44px;min-height:44px}}@media(max-width:360px){.family-icon{font-size:48px}.family-name{font-size:var(--font-size-xl)}.member-actions{gap:4px}.member-action-btn span{display:none}}.join-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.join-nest-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;background:transparent;color:var(--color-primary);border:2px dashed var(--color-primary);border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all .2s ease}.join-nest-btn:hover{background:#2d5f5d0d;border-style:solid}body.dark-mode .join-nest-btn{color:#4ade80;border-color:#4ade80}body.dark-mode .join-nest-btn:hover{background:#4ade801a}.agenda-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);padding:16px 16px 100px;position:relative}body.dark-mode .agenda-container{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.agenda-container:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 70%,rgba(255,255,255,.1) 0%,transparent 40%),radial-gradient(circle at 70% 30%,rgba(255,255,255,.08) 0%,transparent 40%);pointer-events:none;z-index:0}.weather-widget{background:#fff3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;padding:20px 24px;margin-bottom:20px;color:#fff;box-shadow:0 8px 32px #00000026;border:1px solid rgba(255,255,255,.25);position:relative;z-index:1}body.dark-mode .weather-widget{background:#ffffff14;border-color:#ffffff1a}.weather-current{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.weather-main{display:flex;align-items:center;gap:8px}.weather-emoji{font-size:2.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.weather-temp{font-size:2.5rem;font-weight:700;letter-spacing:-1px}.weather-details{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.weather-location{font-size:.85rem;font-weight:600;opacity:.95}.weather-desc{font-size:.8rem;opacity:.85}.weather-forecast{display:flex;justify-content:space-between;background:#ffffff26;border-radius:12px;padding:12px 8px;margin-bottom:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.forecast-day{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.forecast-name{font-size:.7rem;font-weight:600;text-transform:uppercase;opacity:.85}.forecast-temps{display:flex;flex-direction:column;align-items:center;gap:1px}.temp-max{font-size:.8rem;font-weight:700}.temp-min{font-size:.7rem;opacity:.7}.weather-suggestion{font-size:.8rem;background:#fff3;border-radius:10px;padding:10px 14px;text-align:center;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.agenda-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;position:relative;z-index:1}.header-left{flex:1}.agenda-title{font-size:32px;font-weight:700;color:#fff;margin:0 0 4px;text-transform:capitalize;text-shadow:0 2px 10px rgba(0,0,0,.2)}.agenda-subtitle{font-size:14px;color:#fffc;margin:0;text-transform:capitalize}.header-actions{display:flex;gap:10px;align-items:center}.today-btn{padding:10px 18px;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-full);font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:all .25s ease}.today-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.add-btn{display:flex;align-items:center;gap:6px;padding:12px 24px;background:#fffffff2;border:none;border-radius:var(--radius-full);color:#764ba2;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 20px #00000026}.add-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 30px #0003}.calendar-section{background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;margin-bottom:16px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.5);position:relative;z-index:1}body.dark-mode .calendar-section{background:#1e1e32d9;border-color:#ffffff1a}.calendar-section.collapsed{border-radius:16px}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid transparent;transition:border-color .2s ease}.calendar-section.expanded .calendar-header{border-bottom-color:var(--color-border)}.calendar-toggle{display:flex;align-items:center;gap:10px;background:var(--color-bg-hover);border:none;padding:10px 16px;border-radius:12px;cursor:pointer;font-size:15px;font-weight:600;color:var(--color-text);transition:all .2s ease}.calendar-toggle:hover{background:var(--color-primary);color:#fff}.calendar-toggle:hover .icon-sm,.calendar-toggle:hover .icon-xs{color:#fff}.toggle-icon-wrapper{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-primary);border-radius:6px;transition:transform .3s ease}.calendar-section.collapsed .toggle-icon-wrapper{transform:rotate(180deg)}.toggle-icon-wrapper svg{width:14px;height:14px;color:#fff}.calendar-nav{display:flex;gap:4px}.nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease}.nav-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.calendar-grid{padding:0 16px 16px}.calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.day-name{text-align:center;font-size:12px;font-weight:600;color:var(--color-text-secondary);padding:8px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative;padding:4px}.calendar-day:hover{background:var(--color-bg-hover)}.calendar-day.other-month{opacity:.3}.calendar-day.today .day-number{background:var(--color-primary);color:#fff;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%}.calendar-day.selected{background:#2d5f5d1a}.calendar-day.selected .day-number{font-weight:700;color:var(--color-primary)}.calendar-day.today.selected .day-number{background:var(--color-primary);color:#fff}.day-number{font-size:14px;font-weight:500;color:var(--color-text)}.event-dots{display:flex;gap:3px;margin-top:4px}.event-dot{width:5px;height:5px;border-radius:50%}.view-tabs{display:flex;gap:0;background:var(--color-bg-card);border-radius:12px;padding:4px;margin-bottom:16px;box-shadow:0 1px 4px #0000000a}.view-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:none;border:none;border-radius:8px;font-size:13px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.view-tab:hover{color:var(--color-text)}.view-tab.active{background:var(--color-primary);color:#fff}.events-section{flex:1}.events-timeline{display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}.event-card{display:flex;align-items:stretch;background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;overflow:hidden;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 20px #0000001a;border-left:4px solid;border:1px solid rgba(255,255,255,.5)}body.dark-mode .event-card{background:#28283ce6;border-color:#ffffff1a}.event-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 8px 30px #00000026}.event-time-block{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;min-width:70px;background:var(--color-bg-hover)}.event-time{font-size:14px;font-weight:600;color:var(--color-text)}.event-time-separator{font-size:10px;color:var(--color-text-secondary);margin:2px 0}.event-content{flex:1;padding:14px 12px;display:flex;flex-direction:column;justify-content:center;gap:6px}.event-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.event-emoji{font-size:20px}.event-title{font-size:15px;font-weight:600;color:var(--color-text);margin:0}.event-location,.event-participants{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary)}.event-arrow{width:20px;height:20px;color:var(--color-text-secondary);margin-right:12px;align-self:center}.priority-badge{padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.priority-badge.urgent{background:#fee2e2;color:#dc2626}.priority-badge.important{background:#fef3c7;color:#d97706}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:600;color:var(--color-text);margin:0 0 8px}.empty-state p{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px}.empty-action-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--color-primary);border:none;border-radius:24px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.empty-action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2d5f5d4d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;animation:fadeIn .2s ease}.modal-content{width:100%;max-width:480px;max-height:90vh;background:var(--color-bg-card);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}.modal-content.large{max-width:520px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-header h2{font-size:20px;font-weight:700;color:var(--color-text);margin:0}.modal-title-group{display:flex;align-items:center;gap:12px}.event-type-emoji{font-size:28px}.close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-hover);border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease}.close-btn:hover{background:var(--color-bg);color:var(--color-text)}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border)}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.form-input{width:100%;padding:12px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;font-size:15px;color:var(--color-text);transition:all .2s ease}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2d5f5d1a}.form-input::-moz-placeholder{color:var(--color-text-secondary)}.form-input::placeholder{color:var(--color-text-secondary)}.form-textarea{width:100%;padding:12px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;font-size:15px;color:var(--color-text);resize:vertical;min-height:80px;font-family:inherit}.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2d5f5d1a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-with-icon{position:relative}.input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-secondary)}.form-input.with-icon{padding-left:40px}.btn-primary{padding:12px 24px;background:var(--color-primary);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:var(--color-primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:12px 24px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--color-bg-hover)}.btn-danger{padding:12px 24px;background:#fee2e2;border:none;border-radius:10px;color:#dc2626;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover{background:#fecaca}.event-detail-row{display:flex;align-items:flex-start;gap:16px;padding:12px 0;border-bottom:1px solid var(--color-border)}.event-detail-row:last-of-type{border-bottom:none}.detail-icon{width:22px;height:22px;color:var(--color-text-secondary);flex-shrink:0;margin-top:2px}.detail-primary{font-size:15px;color:var(--color-text);margin:0}.detail-secondary{font-size:13px;color:var(--color-text-secondary);margin:4px 0 0}.event-description{padding:16px;background:var(--color-bg);border-radius:10px;margin-top:12px}.event-description p{font-size:14px;color:var(--color-text);margin:0;line-height:1.5}.event-priority-section{margin-top:16px}.icon-xs{width:14px;height:14px}.icon-sm{width:18px;height:18px}.icon-md{width:22px;height:22px}@media(max-width:480px){.agenda-header{flex-direction:column;gap:16px}.header-actions{width:100%;justify-content:space-between}.form-row{grid-template-columns:1fr}.modal-footer{flex-direction:column}.modal-footer button{width:100%}.add-btn span{display:none}.add-btn{width:48px;height:48px;padding:0;justify-content:center;border-radius:50%}}@media(prefers-color-scheme:dark){.priority-badge.urgent{background:#dc262633}.priority-badge.important{background:#d9770633}.btn-danger{background:#dc262633}.btn-danger:hover{background:#dc26264d}}.location-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.location-modal{background:#fff;border-radius:24px 24px 0 0;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;animation:slideUp .3s ease-out}@media(min-width:640px){.location-modal-overlay{align-items:center}.location-modal{border-radius:24px;max-height:600px}}.location-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #f0f0f0;position:sticky;top:0;background:#fff;z-index:1}.location-modal-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;margin:0;color:#1f2937}.location-modal-header svg{color:#e67e22}.location-close-btn{background:none;border:none;padding:.5rem;cursor:pointer;color:#9ca3af;transition:color .2s}.location-close-btn:hover{color:#374151}.location-modal-content{padding:1.5rem}.location-choice{text-align:center}.location-intro{font-size:1rem;color:#4b5563;line-height:1.6;margin-bottom:1.5rem}.location-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.location-option-btn{display:flex;align-items:center;gap:1rem;width:100%;padding:1.25rem;border:2px solid #e5e7eb;border-radius:16px;background:#fff;cursor:pointer;transition:all .2s;text-align:left}.location-option-btn:hover{border-color:#e67e22;background:#f5f3ff;transform:translateY(-2px)}.location-option-btn.gps:hover{border-color:#10b981;background:#ecfdf5}.option-icon{font-size:2rem;flex-shrink:0}.option-text{display:flex;flex-direction:column;gap:.25rem}.option-text strong{font-size:1rem;color:#1f2937}.option-text small{font-size:.875rem;color:#6b7280}.location-privacy{font-size:.75rem;color:#9ca3af;margin-top:1rem}.location-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem}.location-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#e67e22;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.location-loading p{color:#6b7280;font-size:1rem}.location-manual{max-height:60vh;overflow-y:auto}.location-back-btn{background:none;border:none;color:#e67e22;font-size:.875rem;cursor:pointer;padding:.5rem 0;margin-bottom:1rem}.location-back-btn:hover{text-decoration:underline}.location-search{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#f3f4f6;border-radius:12px;margin-bottom:1rem}.location-search svg{color:#9ca3af;flex-shrink:0}.location-search input{flex:1;border:none;background:none;font-size:1rem;color:#1f2937;outline:none}.location-search input::-moz-placeholder{color:#9ca3af}.location-search input::placeholder{color:#9ca3af}.search-spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#e67e22;border-radius:50%;animation:spin .8s linear infinite}.location-results{list-style:none;margin:0;padding:0;margin-bottom:1.5rem}.location-results li button{display:flex;align-items:flex-start;gap:.75rem;width:100%;padding:.875rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;text-align:left;margin-bottom:.5rem;transition:all .2s}.location-results li button:hover{background:#f5f3ff;border-color:#e67e22}.location-results li button svg{color:#e67e22;flex-shrink:0;margin-top:.125rem}.location-results li button span{font-size:.9375rem;color:#374151;line-height:1.4}.no-results{text-align:center;color:#9ca3af;padding:1rem;font-size:.875rem}.location-departments{padding-top:1rem;border-top:1px solid #f0f0f0}.dept-title{font-size:.875rem;color:#6b7280;margin-bottom:.75rem}.dept-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.dept-btn{padding:.625rem .75rem;font-size:.8125rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left;color:#374151}.dept-btn:hover{background:#f5f3ff;border-color:#e67e22;color:#e67e22}.location-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;animation:fadeIn .3s ease-out}.location-success svg{color:#10b981;margin-bottom:1rem}.location-success h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.location-success p{font-size:1rem;color:#6b7280}.location-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center}.location-error svg{color:#ef4444;margin-bottom:1rem}.location-error h3{font-size:1.125rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.location-error p{font-size:.9375rem;color:#6b7280;margin-bottom:1.5rem}.error-actions{display:flex;gap:.75rem}.error-actions .btn-primary{padding:.75rem 1.25rem;background:linear-gradient(135deg,#e67e22,#f5a623);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;font-size:.875rem;transition:all .2s}.error-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.error-actions .btn-secondary{padding:.75rem 1.25rem;background:#f3f4f6;color:#374151;border:none;border-radius:12px;font-weight:600;cursor:pointer;font-size:.875rem;transition:all .2s}.error-actions .btn-secondary:hover{background:#e5e7eb}body.dark-mode .location-modal{background:#1a1a1a}body.dark-mode .location-modal-header{background:#1a1a1a;border-color:#333}body.dark-mode .location-modal-header h2{color:#fff}body.dark-mode .location-intro{color:#ccc}body.dark-mode .location-option-btn{background:#2a2a2a;border-color:#444}body.dark-mode .location-option-btn:hover{background:#333;border-color:#e67e22}body.dark-mode .option-text strong{color:#fff}body.dark-mode .option-text small{color:#aaa}body.dark-mode .location-search{background:#2a2a2a}body.dark-mode .location-search input{color:#fff}body.dark-mode .location-results li button{background:#2a2a2a;border-color:#444}body.dark-mode .location-results li button:hover{background:#333}body.dark-mode .location-results li button span{color:#fff}body.dark-mode .dept-btn{background:#2a2a2a;border-color:#444;color:#ccc}body.dark-mode .dept-btn:hover{background:#333}body.dark-mode .location-success h3,body.dark-mode .location-error h3{color:#fff}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.activity-map-container{position:relative;width:100%;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.activity-map-controls{position:absolute;top:10px;right:10px;z-index:1000;display:flex;flex-direction:column;gap:8px}.activity-map-geolocate-btn{background:#fff;border:2px solid var(--color-primary);border-radius:8px;padding:8px 16px;font-size:.875rem;font-weight:600;color:var(--color-primary);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.activity-map-geolocate-btn:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.activity-map-error{background:#fee;border:1px solid #fcc;border-radius:6px;padding:8px 12px;font-size:.75rem;color:#c00;max-width:200px}.activity-map-stats{position:absolute;bottom:10px;left:10px;z-index:1000;background:#fff;border-radius:20px;padding:8px 16px;font-size:.875rem;box-shadow:0 2px 12px #00000026;display:flex;align-items:center;gap:6px}.activity-map-stats-count{background:var(--color-primary);color:#fff;font-weight:700;padding:2px 8px;border-radius:12px;font-size:.8rem}.activity-map-stats-label{color:var(--color-text);font-weight:500}.activity-map-no-coords{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;background:#fffffff2;padding:1.5rem 2rem;border-radius:16px;text-align:center;box-shadow:0 4px 20px #00000026}.activity-map-no-coords span{font-size:2.5rem;display:block;margin-bottom:.5rem}.activity-map-no-coords p{margin:0;color:#64748b;font-size:.9rem}.activity-map-legend{position:absolute;bottom:10px;right:10px;z-index:1000;background:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 2px 12px #00000026;max-width:160px}.activity-map-legend-title{font-size:.7rem;font-weight:600;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.activity-map-legend-items{display:flex;flex-wrap:wrap;gap:6px}.activity-map-legend-item{display:flex;align-items:center;gap:4px;font-size:.7rem}.activity-map-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.activity-map-legend-label{color:var(--color-text);text-transform:capitalize}.custom-marker-container{background:transparent!important;border:none!important}.custom-marker{cursor:pointer;transition:transform .2s ease}.custom-marker:hover{transform:scale(1.15)}.user-location-container{background:transparent!important;border:none!important}.user-location-marker{position:relative;width:24px;height:24px}.user-location-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:#2d5f5d33;border-radius:50%;animation:pulse 2s ease-out infinite}.user-location-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;background:#2d5f5d;border:3px solid white;border-radius:50%;box-shadow:0 2px 8px #0000004d}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.activity-map-popup{min-width:200px}.activity-map-popup.enhanced{min-width:240px;max-width:280px}.activity-map-popup-image{margin:-12px -12px 12px;height:120px;overflow:hidden;border-radius:12px 12px 0 0}.activity-map-popup-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.activity-map-popup-content{padding:0}.activity-map-popup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.activity-map-popup-emoji{font-size:1.5rem}.activity-map-popup-category{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:12px;background:var(--color-primary);color:#fff}.activity-map-popup-category.nature{background:#22c55e}.activity-map-popup-category.sport{background:#3b82f6}.activity-map-popup-category.culture{background:#f5a623}.activity-map-popup-category.musique{background:#ec4899}.activity-map-popup-category.loisirs{background:#f97316}.activity-map-popup-category.famille{background:#06b6d4}.activity-map-popup-category.education{background:#eab308}.activity-map-popup-category.art{background:#f43f5e}.activity-map-popup-icon{font-size:2rem;margin-bottom:.5rem;text-align:center}.activity-map-popup-title{font-size:.95rem;font-weight:600;color:var(--color-text);margin-bottom:8px;line-height:1.3}.activity-map-popup-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.activity-map-popup-address,.activity-map-popup-distance,.activity-map-popup-date{font-size:.75rem;color:var(--color-text-light);margin:0;display:flex;align-items:center;gap:4px}.activity-map-popup-distance{color:var(--color-primary);font-weight:600}.activity-map-popup-price{font-size:.75rem;font-weight:600;color:var(--color-text);margin:0}.activity-map-popup-price.free{color:#22c55e}.activity-map-popup-btn{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;display:flex;align-items:center;justify-content:center;gap:6px}.activity-map-popup-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #2d5f5d4d}.leaflet-popup-content-wrapper{border-radius:16px!important;box-shadow:0 8px 24px #0000002e!important;padding:0!important}.leaflet-popup-content{margin:12px!important}.leaflet-popup-tip{box-shadow:0 2px 8px #0000001a}@media(max-width:640px){.activity-map-controls{top:5px;right:5px}.activity-map-geolocate-btn{padding:6px 12px;font-size:.75rem}.activity-map-stats{bottom:5px;left:5px;padding:6px 12px;font-size:.75rem}.activity-map-legend{display:none}.activity-map-popup.enhanced{min-width:200px;max-width:220px}.activity-map-popup-image{height:80px}}body.dark-mode .activity-map-container{box-shadow:0 4px 12px #0000004d}body.dark-mode .activity-map-geolocate-btn{background:#1e293b;border-color:var(--color-primary);color:#e2e8f0}body.dark-mode .activity-map-geolocate-btn:hover{background:var(--color-primary);color:#fff}body.dark-mode .activity-map-stats{background:#1e293b}body.dark-mode .activity-map-stats-label{color:#e2e8f0}body.dark-mode .activity-map-legend{background:#1e293b}body.dark-mode .activity-map-legend-title{color:#94a3b8}body.dark-mode .activity-map-legend-label{color:#e2e8f0}body.dark-mode .leaflet-popup-content-wrapper{background:#1e293b!important}body.dark-mode .activity-map-popup-title{color:#e2e8f0}body.dark-mode .activity-map-popup-address,body.dark-mode .activity-map-popup-date{color:#94a3b8}body.dark-mode .activity-map-popup-price{color:#e2e8f0}body.dark-mode .activity-map-error{background:#451a1a;border-color:#7f1d1d;color:#fca5a5}.weather-widget{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:12px 16px;color:#fff;margin-bottom:16px;box-shadow:0 4px 15px #667eea4d;transition:all .3s ease}.weather-widget.loading{background:linear-gradient(135deg,#a5b4fc,#c4b5fd)}.weather-widget.error{background:linear-gradient(135deg,#fca5a5,#f87171);display:flex;align-items:center;gap:8px;padding:10px 16px}.weather-error-icon{width:20px;height:20px}.weather-skeleton{display:flex;align-items:center;gap:12px}.skeleton-icon{width:40px;height:40px;border-radius:50%;background:#ffffff4d;animation:pulse 1.5s infinite}.skeleton-text{width:100px;height:20px;border-radius:4px;background:#ffffff4d;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.weather-compact{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.weather-current{display:flex;align-items:center;gap:12px}.weather-emoji{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.weather-info{display:flex;flex-direction:column}.weather-temp{font-size:1.5rem;font-weight:700;line-height:1.2}.weather-location{font-size:.85rem;opacity:.9}.weather-toggle{padding:4px}.toggle-icon{width:20px;height:20px;opacity:.8}.weather-expanded{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2);animation:slideDown .3s ease}.weather-current-details{margin-bottom:16px}.weather-description{font-size:1rem;margin-bottom:8px}.weather-stats{display:flex;gap:16px;font-size:.9rem;opacity:.9}.weather-suggestion{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;margin-bottom:16px}.weather-suggestion.indoor{background:#fff3}.weather-suggestion.outdoor{background:#ffffff40}.suggestion-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#ffffff4d}.suggestion-icon svg{width:20px;height:20px}.weather-suggestion p{margin:0;font-size:.95rem;flex:1}.weather-forecast{background:#ffffff26;border-radius:12px;padding:12px;margin-bottom:12px}.forecast-title{font-size:.85rem;font-weight:600;margin-bottom:10px;opacity:.9}.forecast-days{display:flex;justify-content:space-between;gap:4px}.forecast-day{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0}.forecast-name{font-size:.75rem;font-weight:600;text-transform:capitalize}.forecast-emoji{font-size:1.25rem}.forecast-temps{display:flex;flex-direction:column;align-items:center;font-size:.75rem}.temp-max{font-weight:600}.temp-min{opacity:.7}.forecast-rain{font-size:.65rem;opacity:.9}.weather-updated{font-size:.75rem;text-align:center;opacity:.7}.weather-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.badge-icon{font-size:.9rem}.badge-temp{font-weight:700}.weather-date-indicator{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:.8rem;margin-top:8px}.weather-date-indicator.good{background:#10b98126;color:#059669}.weather-date-indicator.moderate{background:#f59e0b26;color:#d97706}.weather-date-indicator.bad{background:#ef444426;color:#dc2626}.date-emoji{font-size:1rem}.date-temps{font-weight:600}.date-rain{font-size:.75rem;opacity:.9}@media(prefers-color-scheme:dark){.weather-date-indicator.good{background:#10b98133;color:#34d399}.weather-date-indicator.moderate{background:#f59e0b33;color:#fbbf24}.weather-date-indicator.bad{background:#ef444433;color:#f87171}}@media(max-width:480px){.weather-widget{padding:10px 14px;border-radius:12px}.weather-emoji{font-size:1.75rem}.weather-temp{font-size:1.25rem}.forecast-days{gap:2px}.forecast-emoji{font-size:1.1rem}.forecast-name,.forecast-temps{font-size:.7rem}}.discover-page{background:#fff9f5;min-height:100vh;padding-bottom:100px}.discover-header{background:linear-gradient(135deg,#e67e22,#f5a623,#ffb347);padding:1.5rem 1rem 3rem;margin-bottom:-1.5rem;position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-start}.discover-news-btn{display:flex;align-items:center;gap:.5rem;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);border-radius:12px;padding:.625rem 1rem;color:#fff;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;z-index:3}.discover-news-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.discover-news-btn svg{width:1.25rem;height:1.25rem}.discover-header:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%);animation:pulse 6s infinite ease-in-out}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.3}}.discover-header-content{max-width:1200px;margin:0 auto;position:relative;z-index:2}.discover-header h1{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:1.5rem;font-weight:700;margin:0 0 .25rem;letter-spacing:-.3px}.discover-header h1 svg{width:1.5rem;height:1.5rem;animation:sparkle 2s infinite ease-in-out}@keyframes sparkle{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(10deg) scale(1.1)}75%{transform:rotate(-10deg) scale(1.1)}}.discover-header p{color:#ffffffe6;margin:0;font-size:.85rem;font-weight:500}.discover-search-section{background:#fffffff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);margin:0 .75rem;border-radius:14px;box-shadow:0 4px 16px #00000014;padding:.625rem .75rem;display:flex;gap:.5rem;align-items:center;position:relative;z-index:10}.discover-search-bar{flex:1;display:flex;align-items:center;gap:.5rem;background:#f1f5f9;border-radius:12px;padding:.6rem .875rem;border:1.5px solid transparent;transition:all .25s ease}.discover-search-bar:focus-within{background:#fff;border-color:#e67e22;box-shadow:0 0 0 3px #e67e221f}.discover-search-icon{width:1rem;height:1rem;color:#94a3b8;flex-shrink:0}.discover-search-bar input{flex:1;border:none;background:transparent;font-size:.85rem;color:#1e293b;outline:none;font-weight:500}.discover-search-bar input::-moz-placeholder{color:#94a3b8;font-weight:400}.discover-search-bar input::placeholder{color:#94a3b8;font-weight:400}.discover-search-clear{background:#e2e8f0;border:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s}.discover-search-clear svg{width:12px;height:12px}.discover-search-clear:hover{background:#e67e22;color:#fff}.discover-view-controls{display:flex;gap:.35rem}.discover-view-btn{width:36px;height:36px;border:1.5px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease}.discover-view-btn svg{width:1rem;height:1rem}.discover-view-btn:hover{border-color:#e67e22;color:#e67e22}.discover-view-btn.active{background:linear-gradient(135deg,#e67e22,#f5a623);border-color:transparent;color:#fff;box-shadow:0 4px 12px #667eea66}.discover-view-btn svg{width:1.25rem;height:1.25rem}.discover-quick-filters{display:flex;gap:6px;padding:.5rem .75rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-top:-.5rem}.discover-quick-filters::-webkit-scrollbar{display:none}.discover-chip{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;font-size:.7rem;font-weight:600;color:#475569;white-space:nowrap;cursor:pointer;transition:all .2s ease;flex-shrink:0}.discover-chip:hover{border-color:#e67e22;color:#e67e22}.discover-chip.active{background:linear-gradient(135deg,#e67e22,#f5a623);border-color:transparent;color:#fff;box-shadow:0 2px 6px #e67e224d}.discover-chip.timeframe-chip{background:#f0f9ff;border-color:#bae6fd;color:#0369a1;padding:6px 10px}.discover-chip.timeframe-chip:hover{border-color:#0ea5e9;color:#0284c7}.discover-chip.timeframe-chip.active{background:linear-gradient(135deg,#0ea5e9,#06b6d4);border-color:transparent;color:#fff;box-shadow:0 2px 6px #0ea5e959}.chip-label,.chip-label-sm{margin-left:2px}@media(max-width:400px){.discover-chip.timeframe-chip .chip-label{display:none}.discover-chip.timeframe-chip{padding:6px 8px;min-width:32px;justify-content:center}.discover-chip .chip-label-sm{display:none}.discover-chip{padding:6px 8px}}@media(min-width:401px)and (max-width:640px){.discover-quick-filters{gap:5px}.discover-chip{font-size:.65rem;padding:5px 8px}}.filter-divider{width:1px;height:20px;background:#e2e8f0;border-radius:1px;flex-shrink:0;margin:0 2px}.discover-results-count{font-size:.85rem;color:#64748b;font-weight:500;margin-left:auto}.discover-favorites-section{background:linear-gradient(135deg,#fef2f2,#fff1f2);border:1px solid #fecaca;border-radius:16px;margin:.75rem 1rem;padding:1rem}.discover-favorites-scroll{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.discover-favorites-scroll::-webkit-scrollbar{height:4px}.discover-favorites-scroll::-webkit-scrollbar-thumb{background:#fca5a5;border-radius:2px}.discover-favorite-mini{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.discover-favorite-mini:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.discover-favorite-emoji{font-size:1.25rem}.discover-favorite-title{font-size:.8rem;font-weight:600;color:#374151;max-width:120px;overflow:hidden;text-overflow:ellipsis}.discover-favorites-more{display:flex;align-items:center;justify-content:center;min-width:48px;height:48px;background:linear-gradient(135deg,#f43f5e,#ec4899);border:none;border-radius:12px;color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;flex-shrink:0}.discover-filters{background:#fff;margin:.5rem 1rem;border-radius:16px;padding:1rem;box-shadow:0 4px 16px #0000000f;animation:slideDown .3s cubic-bezier(.4,0,.2,1)}.discover-filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.discover-filters-header h3{margin:0;font-size:.95rem;font-weight:700;color:#1e293b}.discover-filters-reset{background:none;border:none;color:#e67e22;font-size:.85rem;font-weight:600;cursor:pointer}.discover-filters-reset:hover{text-decoration:underline}.discover-distance-slider{display:flex;flex-direction:column;gap:.5rem}.discover-distance-slider label{font-size:.85rem;color:#475569;font-weight:500}.discover-distance-slider input[type=range]{width:100%;height:6px;border-radius:3px;background:#e2e8f0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.discover-distance-slider input[type=range]::-webkit-slider-thumb{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#e67e22,#f5a623);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;box-shadow:0 2px 6px #667eea66}.discover-filter-option{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:25px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.9rem;color:#475569;font-weight:500}.discover-filter-option:hover{background:#f0e7ff;border-color:#c4b5fd}.discover-filter-option:has(input:checked){background:linear-gradient(135deg,#e67e22,#f5a623);border-color:transparent;color:#fff;box-shadow:0 4px 12px #667eea59}.discover-filter-option input{accent-color:white;width:16px;height:16px}.discover-filter-option input:checked{filter:brightness(0) invert(1)}.discover-distance-slider{width:100%;display:flex;align-items:center;gap:1rem;padding:.5rem 0}.discover-distance-slider input[type=range]{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:linear-gradient(to right,#E67E22 0%,#F5A623 var(--progress, 50%),#e2e8f0 var(--progress, 50%),#e2e8f0 100%);border-radius:3px;outline:none}.discover-distance-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;background:linear-gradient(135deg,#e67e22,#f5a623);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #667eea80;-webkit-transition:transform .2s;transition:transform .2s}.discover-distance-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.discover-distance-slider span{font-weight:700;color:#e67e22;min-width:50px;text-align:right}.discover-weather-section{padding:0 1rem;max-width:600px;margin:0 auto .5rem}.discover-location-banner{display:flex;justify-content:center;padding:1rem}.location-badge{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:25px;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.9rem;font-weight:600}.location-badge.active{background:linear-gradient(135deg,#e67e2215,#f5a62315);color:#e67e22;border:2px solid #E67E2230}.location-badge.active:hover{background:linear-gradient(135deg,#e67e2225,#f5a62325);transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.location-badge.inactive{background:#f1f5f9;color:#64748b;border:2px dashed #cbd5e1}.location-badge.inactive:hover{background:#e2e8f0;color:#475569}.location-badge svg{width:1.125rem;height:1.125rem}.discover-categories{display:flex;gap:8px;padding:.75rem 1rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.discover-categories::-webkit-scrollbar{display:none}.discover-category-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;cursor:pointer;transition:all .25s ease;flex-shrink:0;min-width:60px;box-shadow:0 1px 4px #0000000a}.discover-category-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--category-color, #E67E22)}.discover-category-card.active{border-color:var(--category-color, #E67E22);background:linear-gradient(135deg,var(--category-color, #E67E22) 0%,color-mix(in srgb,var(--category-color, #E67E22) 70%,#F5A623) 100%);box-shadow:0 4px 12px #e67e224d}.discover-category-card.active .discover-category-emoji{filter:brightness(0) invert(1)}.discover-category-card.active .discover-category-name{color:#fff}.discover-category-emoji{font-size:1.35rem;transition:all .25s;line-height:1}.discover-category-name{font-size:.65rem;font-weight:600;color:#475569;white-space:nowrap;transition:color .25s;text-transform:capitalize}.discover-recommendations{padding:0 1rem;margin-bottom:1.5rem}.discover-section-header{margin-bottom:1.25rem}.discover-section-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.35rem;font-weight:800;color:#1e293b;margin:0 0 .35rem;letter-spacing:-.3px}.discover-section-header h2 svg{width:1.75rem;height:1.75rem;color:#f59e0b;animation:sparkle 2s infinite ease-in-out}.discover-section-header p{font-size:.9rem;color:#64748b;margin:0;font-weight:500}.discover-recommendations-grid{display:flex;gap:1rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.75rem}.discover-recommendations-grid::-webkit-scrollbar{display:none}.discover-recommendation-card{background:linear-gradient(135deg,#fefce8,#fef08a,#fde047);border-radius:20px;padding:1.25rem;min-width:300px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #facc1540;position:relative;overflow:hidden}.discover-recommendation-card:before{content:"✨";position:absolute;top:-10px;right:-10px;font-size:4rem;opacity:.15;transform:rotate(15deg)}.discover-recommendation-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 32px #facc1566}.discover-recommendation-content{display:flex;align-items:center;gap:1rem;position:relative;z-index:2}.discover-recommendation-emoji{font-size:2.25rem;background:#fff;border-radius:16px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #0000001a}.discover-recommendation-info{flex:1;min-width:0}.discover-recommendation-info h3{font-size:1rem;font-weight:700;color:#713f12;margin:0 0 .35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discover-recommendation-info p{font-size:.85rem;color:#a16207;margin:0;font-weight:500}.discover-recommendation-match{display:flex;align-items:center;gap:.3rem;background:#fff;padding:.5rem .875rem;border-radius:20px;flex-shrink:0;box-shadow:0 2px 8px #00000014}.discover-recommendation-match svg{width:1rem;height:1rem;color:#f59e0b}.discover-recommendation-match span{font-size:.85rem;font-weight:800;color:#713f12}.discover-main{padding:0 1rem}.discover-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;color:#64748b}.discover-loading svg{color:#e67e22;margin-bottom:1rem}.discover-skeleton-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:100%;max-width:600px;margin-top:1.5rem}.animate-spin{animation:spin 1s linear infinite}.discover-error{text-align:center;padding:3rem 1rem;background:#fff;border-radius:16px;animation:fadeIn .3s ease-out}.discover-error .error-emoji{font-size:3rem;display:block;margin-bottom:1rem}.discover-error p{color:#ef4444;margin-bottom:1.5rem;font-size:1rem}.discover-error .retry-btn{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#e67e22,#f5a623);color:#fff;border:none;padding:.875rem 1.75rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #e67e224d}.discover-error .retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e67e2259}.discover-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem;padding:0 .5rem}@media(max-width:360px){.discover-grid{grid-template-columns:1fr;gap:.75rem}}.discover-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #0000000d;cursor:pointer;transition:all .25s ease;position:relative}.discover-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.discover-card:active{transform:translateY(-1px)}.discover-card-image{position:relative;height:130px;overflow:hidden}.discover-card-image:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 100%);pointer-events:none}.discover-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.discover-card:hover .discover-card-image img{transform:scale(1.05)}.discover-card-placeholder{position:relative;height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--placeholder-bg, #FFF9F5) 0%,var(--placeholder-bg-end, #FFEEE4) 100%);overflow:hidden}.discover-card-placeholder:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 80%,rgba(230,126,34,.12) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(245,166,35,.12) 0%,transparent 50%);pointer-events:none}.discover-card-placeholder:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;border:1.5px dashed rgba(230,126,34,.15);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;animation:rotate-slow 20s linear infinite}@keyframes rotate-slow{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.discover-card-emoji{font-size:2.75rem;transition:all .25s ease;position:relative;z-index:2;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));animation:float-emoji 3s ease-in-out infinite}@keyframes float-emoji{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.discover-card-placeholder .placeholder-label{position:absolute;bottom:8px;left:50%;transform:translate(-50%);font-size:.6rem;font-weight:700;color:#d35400;background:#ffffffe6;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2;box-shadow:0 2px 6px #00000014}.discover-card:hover .discover-card-emoji{transform:scale(1.1) rotate(-2deg)}.discover-card-favorite{position:absolute;top:.6rem;right:.6rem;width:34px;height:34px;background:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1.5px solid transparent;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#94a3b8;transition:all .25s ease;z-index:5;box-shadow:0 2px 8px #0000001a}.discover-card-favorite:hover{color:#ef4444;transform:scale(1.1);background:#fff;border-color:#fecaca}.discover-card-favorite.active{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);border-color:transparent;animation:heartPop .4s ease-in-out;box-shadow:0 3px 10px #ef444459}.discover-card-favorite.active:hover{transform:scale(1.05)}@keyframes heartPop{0%{transform:scale(1)}25%{transform:scale(1.25)}50%{transform:scale(.95)}75%{transform:scale(1.1)}to{transform:scale(1)}}.discover-card-favorite svg{width:1.1rem;height:1.1rem}.discover-card-distance{position:absolute;bottom:.5rem;left:.5rem;display:flex;align-items:center;gap:.25rem;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;padding:.3rem .6rem;border-radius:14px;font-size:.65rem;font-weight:600;z-index:5}.discover-card-distance svg{width:.7rem;height:.7rem}.discover-card-content{padding:.75rem}.discover-card-header{display:flex;align-items:center;gap:.35rem;margin-bottom:.5rem;flex-wrap:wrap}.discover-card-category{font-size:.6rem;font-weight:700;padding:.25rem .6rem;border-radius:14px;letter-spacing:.2px;text-transform:uppercase}.discover-card-free{font-size:.6rem;font-weight:700;padding:.25rem .6rem;border-radius:14px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d;letter-spacing:.2px}.discover-card-title{font-size:.9rem;font-weight:700;color:#1e293b;margin:0 0 .35rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.discover-card-description{font-size:.75rem;color:#64748b;margin:0 0 1rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.discover-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.5rem;border-top:1px solid #f1f5f9}.discover-card-location{display:flex;align-items:center;gap:.25rem;color:#64748b;font-size:.7rem;font-weight:500}.discover-card-location svg{width:.8rem;height:.8rem;color:#e67e22}.discover-card-match{display:flex;align-items:center;gap:.2rem;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:.25rem .5rem;border-radius:14px;color:#b45309;font-size:.65rem;font-weight:700}.discover-card-match svg{width:.75rem;height:.75rem;color:#f59e0b}.discover-map-view{padding:.75rem;min-height:400px;height:calc(100vh - 320px)}.discover-map-view .activity-map-container{height:100%!important;min-height:350px}.discover-map-placeholder{background:#fff;border-radius:14px;padding:1.5rem;text-align:center;box-shadow:0 2px 8px #0000000d}.discover-map-placeholder svg{width:3rem;height:3rem;color:#94a3b8;margin-bottom:.75rem}.discover-map-placeholder h3{font-size:1rem;color:#1e293b;margin:0 0 .35rem}.discover-map-placeholder p{color:#64748b;margin:0 0 1.5rem}.discover-map-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto;margin-bottom:1rem}.discover-map-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border-radius:12px;cursor:pointer;text-align:left;transition:all .2s}.discover-map-item:hover{background:#e0e7ff}.discover-map-item span{font-size:1.5rem}.discover-map-item strong{display:block;font-size:.9rem;color:#1e293b}.discover-map-item p{font-size:.8rem;color:#64748b;margin:0}.discover-map-note{font-size:.85rem;color:#94a3b8;font-style:italic}.discover-empty{text-align:center;padding:4rem 1rem;background:#fff;border-radius:16px}.discover-empty-emoji{font-size:4rem;display:block;margin-bottom:1rem;opacity:.5}.discover-empty h3{font-size:1.2rem;color:#1e293b;margin:0 0 .5rem}.discover-empty p{color:#64748b;margin:0}.discover-stats{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;color:#94a3b8;font-size:.8rem}.load-more-trigger{grid-column:1 / -1;padding:2rem;display:flex;justify-content:center}.loading-more{display:flex;align-items:center;gap:.75rem;color:#64748b;font-size:.875rem}.loading-spinner-small{width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#f97316;border-radius:50%;animation:spin 1s linear infinite}.discover-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:1rem}.discover-modal{background:#fff;border-radius:28px 28px 0 0;max-height:92vh;width:100%;max-width:520px;overflow:hidden;animation:slideUp .4s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 -10px 50px #0003}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.discover-modal-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;color:#64748b;box-shadow:0 4px 12px #00000026;transition:all .3s}.discover-modal-close:hover{background:#fff;color:#1e293b;transform:rotate(90deg)}.discover-modal-image{height:220px;overflow:hidden;position:relative}.discover-modal-image:after{content:"";position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,white 0%,transparent 100%);pointer-events:none}.discover-modal-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.modal-distance-badge{position:absolute;bottom:1rem;left:1rem;display:flex;align-items:center;gap:.35rem;background:linear-gradient(135deg,#e67e22,#f5a623);color:#fff;padding:.5rem .875rem;border-radius:20px;font-size:.8rem;font-weight:700;box-shadow:0 4px 12px #667eea66;z-index:5}.modal-distance-badge svg{width:1rem;height:1rem}.discover-modal-content{padding:1.75rem;max-height:calc(92vh - 220px);overflow-y:auto}.discover-modal-header{display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:1.25rem}.discover-modal-emoji{font-size:2.5rem;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:20px;width:72px;height:72px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #0000000f}.discover-modal-title-section{flex:1}.discover-modal-title-section h2{font-size:1.35rem;font-weight:800;color:#1e293b;margin:0 0 .5rem;letter-spacing:-.3px;line-height:1.3}.discover-modal-category{font-size:.8rem;font-weight:700;padding:.4rem .875rem;border-radius:20px;display:inline-block;text-transform:uppercase;letter-spacing:.3px}.discover-modal-description{color:#475569;line-height:1.7;margin-bottom:1.75rem;font-size:.95rem}.discover-modal-info{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.75rem;background:#f8fafc;padding:1.25rem;border-radius:16px}.discover-modal-info-item{display:flex;align-items:flex-start;gap:.875rem;color:#64748b}.discover-modal-info-item svg{width:1.35rem;height:1.35rem;flex-shrink:0;color:#e67e22;margin-top:.15rem}.discover-modal-info-item strong{color:#1e293b;display:block;font-weight:600}.discover-modal-info-item p{font-size:.85rem;margin:.25rem 0 0}.discover-modal-info-item.discover-match{color:#f59e0b;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:.75rem 1rem;border-radius:12px;margin:-.25rem}.discover-modal-info-item.discover-match svg{color:#f59e0b}.text-green-600{color:#16a34a;font-weight:700}.discover-modal-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.discover-tag{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569;font-size:.8rem;font-weight:600;padding:.4rem .875rem;border-radius:20px;transition:all .2s}.discover-tag:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.discover-modal-accessibility{background:linear-gradient(135deg,#ecfdf5,#d1fae5);padding:1.25rem;border-radius:16px;margin-bottom:1.25rem;color:#16a34a;font-size:.9rem}.discover-modal-accessibility strong{display:block;margin-bottom:.625rem;color:#15803d;font-weight:700}.discover-modal-accessibility span{display:inline-block;margin-right:1rem}.discover-modal-actions{display:flex;gap:.75rem;margin-bottom:1.25rem}.discover-modal-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;background:#f1f5f9;border:none;border-radius:14px;font-weight:600;color:#475569;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.9rem;position:relative;overflow:hidden}.discover-modal-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);transform:translate(-100%);transition:transform .5s ease}.discover-modal-btn:hover:before{transform:translate(100%)}.discover-modal-btn svg{width:1.25rem;height:1.25rem}.discover-modal-btn.favorite:hover,.discover-modal-btn.favorite.active{background:#fef2f2;color:#ef4444}.discover-modal-btn.agenda{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#059669;border:2px solid #10b98130}.discover-modal-btn.agenda:hover{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 6px 20px #10b98159}.discover-modal-btn.agenda:hover svg{animation:calendarBounce .5s ease}@keyframes calendarBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.discover-modal-btn.agenda.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:transparent;box-shadow:0 4px 16px #10b98166}.discover-modal-btn.agenda.success svg{animation:checkPop .4s ease}@keyframes checkPop{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.discover-modal-btn.share{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#0284c7;border:2px solid #0ea5e930}.discover-modal-btn.share:hover{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 6px 20px #0ea5e959}.discover-share-container{position:relative;flex:1}.discover-share-menu{position:absolute;bottom:calc(100% + .5rem);right:0;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;padding:.5rem;min-width:180px;z-index:10;animation:fadeInUp .2s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.discover-share-menu button{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:10px;font-size:.9rem;color:#475569;cursor:pointer;transition:all .2s}.discover-share-menu button:hover{background:#f1f5f9;color:#1e293b}.discover-modal-link{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#e67e22,#f5a623);border-radius:16px;font-weight:700;color:#fff;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #e67e2259;margin-bottom:0}.discover-modal-link .link-icon{font-size:1.1rem}.discover-modal-link:hover{background:#d35400;transform:translateY(-2px);box-shadow:0 6px 20px #e67e2273}.discover-modal-source-section{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;padding:1rem;margin-top:1rem;border:1px solid #e2e8f0}.source-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border-radius:10px;font-size:.85rem;color:#64748b;margin-bottom:.75rem;box-shadow:0 1px 3px #0000000d}.source-badge .source-icon{font-size:1.25rem}.source-badge strong{color:#1e293b}.discover-modal-source{text-align:center;font-size:.8rem;color:#94a3b8;margin:0;font-style:italic}.discover-modal-info-item.location-full{background:linear-gradient(135deg,#fff9f5,#ffeee4);border-radius:12px;padding:1rem;border:1px solid rgba(230,126,34,.15)}.discover-modal-info-item.location-full .location-details{flex:1}.discover-modal-info-item.location-full strong{display:block;color:#1e293b;font-size:.95rem;margin-bottom:.25rem}.discover-modal-info-item.location-full .address-line{color:#475569;font-size:.875rem;margin:.25rem 0}.discover-modal-info-item.location-full .city-line{color:#64748b;font-size:.85rem;margin:.25rem 0 .5rem}.discover-modal-info-item.location-full .maps-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;color:#e67e22;font-weight:600;text-decoration:none;padding:.375rem .75rem;background:#fff;border-radius:8px;border:1px solid rgba(230,126,34,.3);transition:all .2s;margin-top:.25rem}.discover-modal-info-item.location-full .maps-link:hover{background:#e67e22;color:#fff;border-color:#e67e22}.discover-agenda-form{background:linear-gradient(135deg,#fff9f5,#ffeee4);border:2px solid rgba(230,126,34,.2);border-radius:16px;padding:1.25rem;margin-bottom:1rem;animation:fadeInUp .3s ease-out}.discover-agenda-form h4{margin:0 0 1rem;font-size:1rem;font-weight:700;color:#d35400}.agenda-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.agenda-form-field{display:flex;flex-direction:column;gap:.375rem}.agenda-form-field label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.agenda-form-field input,.agenda-form-field select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;font-weight:500;color:#1e293b;background:#fff;transition:all .2s}.agenda-form-field input:focus,.agenda-form-field select:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 3px #e67e221a}.agenda-form-actions{display:flex;gap:.75rem}.agenda-form-cancel{flex:1;padding:.75rem;border:2px solid #e2e8f0;border-radius:10px;background:#fff;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s}.agenda-form-cancel:hover{border-color:#94a3b8;color:#475569}.agenda-form-confirm{flex:2;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:none;border-radius:10px;background:linear-gradient(135deg,#10b981,#059669);font-weight:700;color:#fff;cursor:pointer;transition:all .2s}.agenda-form-confirm:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98159}.agenda-form-confirm svg{width:1rem;height:1rem}.discover-modal-info-item.discover-dates strong{color:#e67e22;font-weight:700}.discover-modal-info-item.discover-dates p{color:#64748b;font-size:.85rem;margin-top:2px}@media(min-width:640px){.discover-header{padding:3rem 1.5rem 4rem}.discover-header h1{font-size:2.25rem}.discover-search-section{margin:0 1.5rem;border-radius:24px;padding:1.25rem}.discover-search-bar{padding:1rem 1.5rem}.discover-categories{padding:1.75rem 1.5rem;gap:1rem}.discover-category-card{padding:1rem 1.75rem;min-width:95px}.discover-main{padding:0 1.5rem}.discover-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.discover-card-image{height:220px}.discover-recommendations-grid{gap:1.25rem}.discover-recommendation-card{min-width:340px;padding:1.5rem}.discover-modal{border-radius:28px;margin:auto;max-height:85vh}.discover-modal-overlay{align-items:center;padding:2rem}.discover-modal-image{height:260px}.discover-modal-content{padding:2rem}.discover-modal-actions{gap:1rem}}@media(min-width:1024px){.discover-header{padding:3.5rem 2rem 5rem}.discover-header h1{font-size:2.5rem}.discover-header p{font-size:1.1rem}.discover-search-section{max-width:900px;margin:0 auto;padding:1.5rem}.discover-view-btn{width:50px;height:50px}.discover-filters{max-width:900px;margin:1rem auto 0}.discover-location-banner{padding:1.25rem}.discover-categories{justify-content:center;max-width:1100px;margin:0 auto;padding:2rem;gap:1.25rem}.discover-category-card{padding:1.125rem 2rem}.discover-category-emoji{font-size:2rem}.discover-category-name{font-size:.9rem}.discover-recommendations{max-width:1300px;margin:0 auto 1.5rem;padding:0 2rem}.discover-recommendations-grid{gap:1.5rem}.discover-recommendation-card{min-width:380px}.discover-main{max-width:1300px;margin:0 auto;padding:0 2rem}.discover-grid{grid-template-columns:repeat(3,1fr);gap:2rem}.discover-card{border-radius:28px}.discover-card-image{height:240px}.discover-card-content{padding:1.5rem}.discover-card-title{font-size:1.2rem}.discover-modal{max-width:580px;border-radius:32px;max-height:80vh}.discover-modal-image{height:300px}.discover-modal-emoji{width:80px;height:80px;font-size:2.75rem}.discover-modal-title-section h2{font-size:1.5rem}}@media(min-width:1440px){.discover-grid{grid-template-columns:repeat(4,1fr)}.discover-main{max-width:1600px}.discover-categories{max-width:1400px}}.animate-fade-in{opacity:0;animation:fadeInUp .4s ease-out forwards}.stagger-item{opacity:1;animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) both}.stagger-item:nth-child(-n+12){opacity:0;animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) forwards}.stagger-item:nth-child(1){animation-delay:0s}.stagger-item:nth-child(2){animation-delay:.05s}.stagger-item:nth-child(3){animation-delay:.1s}.stagger-item:nth-child(4){animation-delay:.15s}.stagger-item:nth-child(5){animation-delay:.2s}.stagger-item:nth-child(6){animation-delay:.25s}.stagger-item:nth-child(7){animation-delay:.3s}.stagger-item:nth-child(8){animation-delay:.35s}.stagger-item:nth-child(9){animation-delay:.4s}.stagger-item:nth-child(10){animation-delay:.45s}.stagger-item:nth-child(11){animation-delay:.5s}.stagger-item:nth-child(12){animation-delay:.55s}.skeleton-card{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:24px;height:280px}.category-pill{transition:all .25s cubic-bezier(.4,0,.2,1)}.category-pill:hover{transform:translateY(-2px)}.category-pill:active{transform:scale(.95)}.reco-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.reco-card:hover{transform:translateY(-4px)}@keyframes pulse-fade{0%,to{opacity:.4}50%{opacity:1}}.pulse-fade{animation:pulse-fade 1.5s ease-in-out infinite}.stagger-item{opacity:0;animation:fadeInUp .5s ease-out forwards}.discover-empty{animation:fadeInUp .4s ease-out}.discover-page{animation:fadeIn .3s ease-out}.discover-location-banner{display:flex;justify-content:center;padding:.5rem 1rem;margin-bottom:.5rem}.location-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.location-badge.active{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#047857;border:1px solid #a7f3d0}.location-badge.active:hover{background:linear-gradient(135deg,#d1fae5,#a7f3d0);transform:translateY(-1px)}.location-badge.inactive{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fcd34d}.location-badge.inactive:hover{background:linear-gradient(135deg,#fde68a,#fcd34d);transform:translateY(-1px)}.location-badge svg{width:16px;height:16px}.discover-card-distance{position:absolute;top:.75rem;left:.75rem;display:flex;align-items:center;gap:.25rem;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:8px;z-index:2}.discover-card-distance svg{color:#10b981}.discover-distance-slider{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;margin-top:.5rem}.discover-distance-slider input[type=range]{flex:1;height:4px;background:#e5e7eb;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.discover-distance-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:linear-gradient(135deg,#e67e22,#f5a623);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #6366f166}.discover-distance-slider span{font-size:.875rem;font-weight:600;color:#e67e22;min-width:50px;text-align:right}body.dark-mode .location-badge.active{background:linear-gradient(135deg,#064e3b,#047857);border-color:#059669;color:#a7f3d0}body.dark-mode .location-badge.inactive{background:linear-gradient(135deg,#78350f,#92400e);border-color:#b45309;color:#fde68a}body.dark-mode .discover-distance-slider input[type=range]{background:#444}.discover-modal-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #f3f4f6}.discover-modal-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.discover-modal-action-btn.share{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.discover-modal-action-btn.share:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.discover-modal-action-btn.agenda{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.discover-modal-action-btn.agenda:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.discover-modal-action-btn.success{background:linear-gradient(135deg,#e67e22,#f5a623);color:#fff;pointer-events:none}.discover-modal-action-btn svg{width:18px;height:18px}@keyframes successBounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.discover-modal-action-btn.success svg{animation:successBounce .5s ease}body.dark-mode .discover-page{background:linear-gradient(180deg,#1e1b4b,#0f172a)}body.dark-mode .discover-header{background:linear-gradient(135deg,#312e81,#4c1d95,#581c87)}body.dark-mode .discover-search-section{background:#1e293b;box-shadow:0 4px 20px #0000004d}body.dark-mode .discover-search-bar{background:#0f172a;border-color:#334155}body.dark-mode .discover-search-bar:focus-within{background:#1e293b;border-color:#e67e22}body.dark-mode .discover-search-bar input{color:#f1f5f9}body.dark-mode .discover-search-clear{background:#475569;color:#f1f5f9}body.dark-mode .discover-filter-btn{background:#1e293b;border-color:#334155;color:#f1f5f9}body.dark-mode .discover-filter-btn:hover{background:#334155;border-color:#e67e22}body.dark-mode .discover-main{background:#0f172a}body.dark-mode .discover-categories-section{background:#1e293b}body.dark-mode .discover-section-title{color:#f1f5f9}body.dark-mode .discover-category-btn{background:#0f172a;border-color:#334155}body.dark-mode .discover-category-btn.active{background:#6366f133;border-color:#e67e22}body.dark-mode .discover-card,body.dark-mode .discover-activity-card{background:#1e293b;border-color:#334155;box-shadow:0 4px 16px #0000004d}body.dark-mode .discover-card-placeholder{background:linear-gradient(135deg,#1e293b,#334155)}body.dark-mode .discover-card-content h3,body.dark-mode .discover-card-content h4,body.dark-mode .discover-card-title{color:#f1f5f9}body.dark-mode .discover-card-description{color:#94a3b8}body.dark-mode .discover-card-footer{border-color:#334155}body.dark-mode .discover-card-location svg{color:#f5a623}body.dark-mode .discover-card-emoji{background:#6366f133}body.dark-mode .placeholder-label,body.dark-mode .discover-card-meta span{color:#94a3b8}body.dark-mode .discover-ai-section{background:linear-gradient(135deg,#312e81,#1e1b4b);border-color:#4c1d95}body.dark-mode .discover-favorites-title{color:#f1f5f9}body.dark-mode .discover-chip{background:#1e293b;border-color:#334155;color:#e2e8f0}body.dark-mode .discover-chip:hover{border-color:#e67e22;color:#f5a623}body.dark-mode .discover-chip.active{background:linear-gradient(135deg,#e67e22,#f5a623);border-color:transparent;color:#fff}body.dark-mode .discover-chip.timeframe-chip{background:#0ea5e926;border-color:#0284c7;color:#7dd3fc}body.dark-mode .discover-chip.timeframe-chip:hover{border-color:#0ea5e9;color:#38bdf8}body.dark-mode .discover-chip.timeframe-chip.active{background:linear-gradient(135deg,#0284c7,#0891b2);border-color:transparent;color:#fff}body.dark-mode .filter-divider{background:#334155}body.dark-mode .discover-results-count{color:#94a3b8}body.dark-mode .discover-favorites-section{background:linear-gradient(135deg,#ef44441a,#ec48991a);border-color:#ef44444d}body.dark-mode .discover-favorite-mini{background:#1e293b}body.dark-mode .discover-favorite-title{color:#e2e8f0}body.dark-mode .discover-quick-filter{background:#1e293b;border-color:#334155;color:#e2e8f0}body.dark-mode .discover-quick-filter.active{background:#6366f133;border-color:#e67e22;color:#f5a623}body.dark-mode .discover-filters{background:#1e293b}body.dark-mode .discover-filters-header h3{color:#f1f5f9}body.dark-mode .discover-distance-slider label{color:#94a3b8}body.dark-mode .discover-distance-slider input[type=range]{background:#334155}body.dark-mode .discover-loading,body.dark-mode .discover-empty{background:#1e293b;border-color:#334155}body.dark-mode .discover-empty h3{color:#f1f5f9}body.dark-mode .discover-modal-overlay{background:#000c}body.dark-mode .discover-modal{background:#1e293b;border-color:#334155}body.dark-mode .discover-modal h2{color:#f1f5f9}body.dark-mode .discover-modal p{color:#94a3b8}body.dark-mode .discover-modal-btn{background:#334155;color:#e2e8f0;border:none}body.dark-mode .discover-modal-btn:hover{background:#475569}body.dark-mode .discover-modal-btn.agenda{background:linear-gradient(135deg,#064e3b,#065f46);color:#a7f3d0;border:2px solid #10b98140}body.dark-mode .discover-modal-btn.agenda:hover{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:transparent}body.dark-mode .discover-modal-btn.agenda.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}body.dark-mode .discover-modal-btn.share{background:linear-gradient(135deg,#0c4a6e,#075985);color:#7dd3fc;border:2px solid #0ea5e940}body.dark-mode .discover-modal-btn.share:hover{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border-color:transparent}body.dark-mode .discover-modal-btn.favorite:hover,body.dark-mode .discover-modal-btn.favorite.active{background:#7f1d1d;color:#fca5a5}body.dark-mode .discover-container{background:linear-gradient(180deg,#1e1b4b,#0f172a)}body.dark-mode .discover-header{background:linear-gradient(135deg,#312e81,#1e1b4b)}body.dark-mode .discover-search-container{background:#1e1b4be6;border-color:#4c1d95}body.dark-mode .discover-search-bar{background:#1e293b;border-color:#334155}body.dark-mode .discover-search-bar input{background:transparent;color:#e2e8f0}body.dark-mode .discover-search-bar input::-moz-placeholder{color:#64748b}body.dark-mode .discover-search-bar input::placeholder{color:#64748b}body.dark-mode .discover-filter-btn{background:#1e293b;border-color:#334155;color:#e2e8f0}body.dark-mode .discover-filter-btn:hover{background:#334155}body.dark-mode .discover-content{background:#0f172a}body.dark-mode .discover-section-title{color:#e2e8f0}body.dark-mode .discover-section-subtitle{color:#94a3b8}body.dark-mode .discover-category-btn{background:#1e293b;border-color:#334155}body.dark-mode .discover-category-btn span:last-child{color:#e2e8f0}body.dark-mode .discover-category-btn.active{border-color:#e67e22;background:#6366f133}body.dark-mode .discover-grid-item{background:#1e293b;border-color:#334155}body.dark-mode .discover-card-content h4{color:#e2e8f0}body.dark-mode .discover-card-location{color:#94a3b8}body.dark-mode .discover-card-badges span{background:#334155;color:#e2e8f0}body.dark-mode .discover-card-distance{background:#10b98133;border-color:#047857;color:#a7f3d0}body.dark-mode .discover-quick-chip{background:#1e293b;border-color:#334155;color:#e2e8f0}body.dark-mode .discover-quick-chip.active{background:#6366f133;border-color:#e67e22;color:#f5a623}body.dark-mode .discover-ai-card{background:linear-gradient(135deg,#312e81,#1e1b4b);border-color:#4c1d95}body.dark-mode .discover-favorites-section{background:#1e1b4b80;border-color:#4c1d95}body.dark-mode .discover-favorites-title{color:#e2e8f0}body.dark-mode .discover-modal-content{background:#1e293b;border-color:#334155}body.dark-mode .discover-modal-header{background:linear-gradient(135deg,#312e81,#1e1b4b)}body.dark-mode .discover-modal-body h2{color:#e2e8f0}body.dark-mode .discover-modal-body p{color:#94a3b8}body.dark-mode .discover-modal-location{color:#a7f3d0;background:#10b9811a}body.dark-mode .discover-modal-dates{color:#93c5fd;background:#3b82f61a}body.dark-mode .discover-modal-description{background:#0f172a;border-color:#334155;color:#cbd5e1}body.dark-mode .discover-modal-actions{border-color:#334155}body.dark-mode .discover-modal-close{background:#475569;color:#fff}body.dark-mode .discover-modal-close:hover{background:#64748b}body.dark-mode .discover-filters-panel{background:#1e293b;border-color:#334155}body.dark-mode .discover-filters-panel h3,body.dark-mode .discover-filter-group h4,body.dark-mode .discover-filter-checkbox label{color:#e2e8f0}body.dark-mode .discover-filter-checkbox input[type=checkbox]{border-color:#475569}body.dark-mode .discover-filter-checkbox input[type=checkbox]:checked{background:#e67e22;border-color:#e67e22}body.dark-mode .discover-clear-filters{color:#94a3b8}body.dark-mode .discover-clear-filters:hover{color:#e2e8f0}body.dark-mode .discover-empty{background:#1e293b;border-color:#334155}body.dark-mode .discover-empty h3{color:#e2e8f0}body.dark-mode .discover-empty p{color:#94a3b8}body.dark-mode .discover-skeleton{background:#1e293b}body.dark-mode .discover-skeleton:after{background:linear-gradient(90deg,#1e293b,#334155,#1e293b)}body.dark-mode .discover-view-toggle button{background:#334155;color:#e2e8f0}body.dark-mode .discover-view-toggle button.active{background:#e67e22;color:#fff}body.dark-mode .discover-content::-webkit-scrollbar-track{background:#0f172a}body.dark-mode .discover-content::-webkit-scrollbar-thumb{background:#475569}body.dark-mode .discover-content::-webkit-scrollbar-thumb:hover{background:#64748b}.discover-favorite-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026,0 4px 12px #0000001a;z-index:10000;animation:toastSlideUp .4s cubic-bezier(.4,0,.2,1);max-width:90vw}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.discover-favorite-toast.added{border-left:4px solid #ef4444}.discover-favorite-toast.added .toast-icon{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#ef4444}.discover-favorite-toast.removed{border-left:4px solid #94a3b8}.discover-favorite-toast.removed .toast-icon{background:#f1f5f9;color:#64748b}.toast-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-icon svg{width:1.25rem;height:1.25rem}.toast-content{display:flex;flex-direction:column;gap:.125rem}.toast-content strong{font-size:.875rem;font-weight:700;color:#1e293b}.toast-content span{font-size:.75rem;color:#64748b;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-count{padding:.375rem .75rem;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-radius:20px;font-size:.875rem;font-weight:700;color:#ef4444;flex-shrink:0}body.dark-mode .discover-favorite-toast{background:#1e293b;box-shadow:0 10px 40px #0006}body.dark-mode .toast-content strong{color:#f1f5f9}body.dark-mode .toast-content span{color:#94a3b8}body.dark-mode .discover-favorite-toast.added .toast-icon{background:#ef444433}body.dark-mode .discover-favorite-toast.removed .toast-icon{background:#334155}body.dark-mode .toast-count{background:#ef444433}.discover-card{transform-style:preserve-3d;perspective:1000px}.discover-card:hover{transform:translateY(-8px) rotateX(2deg) rotateY(-2deg) scale(1.02);box-shadow:0 20px 40px #667eea26,0 10px 20px #0000001a}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.discover-card-image.loading:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#fff0,#fff6,#fff0);background-size:200% 100%;animation:shimmer 1.5s infinite;z-index:10}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(50px)}50%{opacity:1;transform:scale(1.05) translateY(-10px)}70%{transform:scale(.95) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}.discover-card.animate-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55) forwards}.discover-grid .discover-card:nth-child(1){animation-delay:.05s}.discover-grid .discover-card:nth-child(2){animation-delay:.1s}.discover-grid .discover-card:nth-child(3){animation-delay:.15s}.discover-grid .discover-card:nth-child(4){animation-delay:.2s}.discover-grid .discover-card:nth-child(5){animation-delay:.25s}.discover-grid .discover-card:nth-child(6){animation-delay:.3s}.discover-grid .discover-card:nth-child(7){animation-delay:.35s}.discover-grid .discover-card:nth-child(8){animation-delay:.4s}.discover-card.featured{animation:float 4s ease-in-out infinite}.discover-card.featured:before{content:"⭐ À la une";position:absolute;top:12px;left:12px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:6px 12px;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;z-index:10;box-shadow:0 4px 12px #f59e0b66}.discover-card:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(102,126,234,.3) 0%,transparent 70%);border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;pointer-events:none;z-index:1}.discover-card:active:after{width:400px;height:400px}.discover-card-image img{transition:transform .8s cubic-bezier(.25,.46,.45,.94)}.discover-card:hover .discover-card-image img{transform:scale(1.12) translateY(-5px)}.discover-card-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#fff0,#ffffff1a,#fff0);opacity:0;transition:opacity .4s ease;z-index:2}.discover-card:hover .discover-card-image:before{opacity:1}@keyframes emojiBounce{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.2) rotate(-10deg)}50%{transform:scale(1.1) rotate(5deg)}75%{transform:scale(1.15) rotate(-5deg)}}.discover-card:hover .discover-card-emoji{animation:emojiBounce .6s ease-in-out}.discover-card-content{transition:transform .3s ease}.discover-card:hover .discover-card-content{transform:translateY(-5px)}@keyframes badgePulse{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 8px #10b98100}}.discover-card-free{animation:badgePulse 2s infinite}.discover-card-category{transition:all .3s ease;position:relative;overflow:hidden}.discover-card-category:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);transition:left .5s ease}.discover-card:hover .discover-card-category:before{left:100%}@keyframes heartBeat{0%,to{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}.discover-card-favorite.active svg{animation:heartBeat 1s ease-in-out}.discover-card-distance{animation:slideInLeft .4s ease-out}.discover-card{opacity:1}.discover-card.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.discover-card.scroll-reveal.visible{opacity:1;transform:translateY(0)}.discover-card.scroll-reveal.fade-up.visible{animation:fadeUp .7s ease forwards}.discover-card.scroll-reveal.zoom-in.visible{animation:zoomIn .5s ease forwards}.discover-card.scroll-reveal.slide-right.visible{animation:slideRight .6s ease forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes slideRight{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.discover-modal-btn,.discover-view-btn,.discover-chip{position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.discover-modal-btn:hover,.discover-view-btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px #667eea4d}.discover-modal-btn:active,.discover-view-btn:active{transform:translateY(-1px) scale(.98)}.discover-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:24px;height:320px}.discover-load-more{display:flex;justify-content:center;padding:2rem}.discover-load-more .spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#e67e22;border-radius:50%;animation:spin .8s linear infinite}.discover-grid.masonry{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-auto-rows:10px;gap:1.25rem}.discover-grid.masonry .discover-card{grid-row-end:span var(--row-span, 30)}.discover-card.new:before{content:"🆕 Nouveau";position:absolute;top:12px;left:12px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:6px 12px;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;z-index:10;animation:badgePulse 2s infinite}.discover-card.popular:before{content:"🔥 Populaire";position:absolute;top:12px;left:12px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;padding:6px 12px;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;z-index:10}@media(prefers-reduced-motion:reduce){.discover-card,.discover-card-image img,.discover-card-emoji,.discover-card-favorite,.discover-chip,.discover-modal-btn{animation:none!important;transition:opacity .3s ease!important}.discover-card:hover{transform:none}.discover-card.featured{animation:none}}:root{--sidebar-width: 280px;--sidebar-min-width: 220px;--sidebar-max-width: 400px;--primary-gradient: linear-gradient(135deg, #E67E22 0%, #D35400 50%, #F5A623 100%);--primary-color: #E67E22;--primary-light: #F5A623;--primary-dark: #D35400;--accent-gradient: linear-gradient(135deg, #F39C12 0%, #E67E22 100%);--success-color: #10b981;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-xl: 24px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--keyboard-safe-bottom: env(safe-area-inset-bottom, 0px);--mobile-input-height: 60px}.nestia-page{display:flex;flex-direction:column;height:100vh;height:100dvh;height:-webkit-fill-available;background:linear-gradient(135deg,#fff9f5,#ffeee4,#ffe4d0);overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;overscroll-behavior:none;-webkit-overflow-scrolling:touch}@supports (-webkit-touch-callout: none){.nestia-page{height:-webkit-fill-available}.chat-input{font-size:16px!important}}.chat-sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);min-width:var(--sidebar-min-width);max-width:var(--sidebar-max-width);height:100%;background:#fff;border-right:1px solid rgba(0,0,0,.06);z-index:100;display:flex;flex-direction:column;transform:translate(-100%);transition:transform var(--transition-slow),width var(--transition-normal);box-shadow:4px 0 24px #00000014;will-change:transform}.chat-sidebar.open{transform:translate(0)}.sidebar-resize-handle{position:absolute;right:-4px;top:0;width:8px;height:100%;cursor:ew-resize;background:transparent;z-index:10;transition:background var(--transition-fast)}.sidebar-resize-handle:hover,.sidebar-resize-handle.resizing{background:linear-gradient(90deg,transparent 0%,rgba(230,126,34,.3) 50%,transparent 100%)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:99;opacity:0;animation:fadeIn var(--transition-normal) forwards}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 16px 20px;background:var(--primary-gradient);flex-shrink:0}.sidebar-header h2{margin:0;font-size:15px;font-weight:600;color:#fff;letter-spacing:-.01em}.sidebar-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffffff26;border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;transition:all var(--transition-fast)}.sidebar-close:hover{background:#ffffff40;transform:scale(1.05)}.sidebar-close svg{width:18px;height:18px}.new-chat-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 12px 8px;padding:11px 16px;background:linear-gradient(135deg,var(--success-color) 0%,#E67E22 100%);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-normal);flex-shrink:0}.new-chat-btn svg{width:16px;height:16px}.new-chat-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #10b98159}.conversations-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 8px 8px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.1) transparent}.conversations-list::-webkit-scrollbar{width:5px}.conversations-list::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px}.no-conversations{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:#94a3b8;text-align:center}.no-conversations svg{width:40px;height:40px;color:#cbd5e1;margin-bottom:10px}.no-conversations p{margin:0;font-size:13px}.conversation-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);margin-bottom:2px;border:1px solid transparent}.conversation-item:hover{background:#f8fafc}.conversation-item.active{background:linear-gradient(135deg,#6366f114,#8b5cf614);border-color:#6366f126}.conversation-icon{width:32px;height:32px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--primary-color);flex-shrink:0}.conversation-icon svg{width:14px;height:14px}.conversation-info{flex:1;min-width:0}.conversation-info h4{margin:0 0 2px;font-size:13px;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.conversation-info p{margin:0;font-size:11px;color:#94a3b8}.delete-conv-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;padding:0;color:#94a3b8;cursor:pointer;border-radius:var(--border-radius-sm);opacity:0;transition:all var(--transition-fast);flex-shrink:0}.delete-conv-btn svg{width:14px;height:14px}.conversation-item:hover .delete-conv-btn{opacity:1}.delete-conv-btn:hover{background:#fee2e2;color:#ef4444}.sidebar-toggle{position:fixed;left:0;top:50%;transform:translateY(-50%);width:20px;height:48px;background:#fff;border:1px solid rgba(0,0,0,.08);border-left:none;border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:98;transition:all var(--transition-normal);box-shadow:2px 0 8px #0000000f}.sidebar-toggle:hover{width:24px;background:var(--primary-color);color:#fff}.sidebar-toggle svg{width:14px;height:14px;transition:transform var(--transition-fast)}.sidebar-toggle.open svg{transform:rotate(180deg)}.sidebar-toggle-desktop{display:none}.chat-main{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;background:linear-gradient(180deg,#f8fafc,#fff);transition:margin-left var(--transition-slow);overflow:hidden;position:relative}.chat-header{display:flex;align-items:center;padding:10px 12px;background:var(--primary-gradient);box-shadow:0 4px 20px #e67e2259;position:relative;z-index:10;flex-shrink:0;border-bottom:2px solid rgba(255,255,255,.1)}.menu-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff26;border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.menu-btn svg{width:20px;height:20px}.menu-btn:hover{background:#ffffff40}.header-center{flex:1;display:flex;align-items:center;justify-content:center;gap:10px}.header-avatar{width:36px;height:36px;background:#fff3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;color:#fff;animation:pulse-glow 3s ease-in-out infinite}.header-avatar svg{width:18px;height:18px}@keyframes pulse-glow{0%,to{box-shadow:0 0 #ffffff4d}50%{box-shadow:0 0 16px 4px #ffffff26}}.header-info{text-align:left}.header-info h1{margin:0;font-size:15px;font-weight:600;color:#fff;letter-spacing:-.01em}.status-badge{display:flex;align-items:center;gap:5px;font-size:11px;color:#ffffffd9}.status-dot{width:6px;height:6px;background:#22c55e;border-radius:50%;animation:pulse-status 2s ease-in-out infinite}@keyframes pulse-status{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.85)}}.new-chat-header-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff26;border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.new-chat-header-btn svg{width:18px;height:18px}.new-chat-header-btn:hover{background:#ffffff40;transform:scale(1.05)}.header-toggle-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff26;border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;transition:all var(--transition-fast);margin-right:8px}.header-toggle-btn:hover{background:#ffffff40}.header-toggle-btn svg{width:18px;height:18px}.ai-mode-toggle-container{display:flex;justify-content:center;padding:12px 16px 8px;background:linear-gradient(180deg,rgba(255,249,245,.9) 0%,transparent 100%)}.ai-mode-toggle{display:flex;background:#fff;border-radius:999px;padding:4px;box-shadow:0 2px 12px #00000014;border:1px solid rgba(0,0,0,.05)}.mode-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;border-radius:999px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.mode-btn svg{width:16px;height:16px}.mode-btn.active{background:linear-gradient(135deg,#f5a623,#e67e22);color:#fff;box-shadow:0 2px 8px #e67e2259}.mode-btn:not(.active):hover{background:#e67e2214;color:#e67e22}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.08) transparent}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-thumb{background:#00000014;border-radius:4px}.date-separator{display:flex;align-items:center;justify-content:center;margin:4px 0 8px}.date-separator span{background:#0000000a;padding:4px 12px;border-radius:12px;font-size:11px;color:#64748b;font-weight:500}.message{display:flex;gap:8px;align-items:flex-start;animation:messageSlide .3s ease-out;max-width:100%}@keyframes messageSlide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.message-avatar{width:30px;height:30px;background:var(--primary-gradient);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:var(--shadow-md)}.message-avatar svg{width:14px;height:14px}.message-bubble{max-width:75%;padding:10px 14px;border-radius:var(--border-radius-lg);position:relative;word-wrap:break-word;overflow-wrap:break-word}.message.assistant .message-bubble{background:linear-gradient(135deg,#fff8e1,#ffe4b5);border:none;border-bottom-left-radius:4px;box-shadow:0 2px 12px #f5a62326}.message.user .message-bubble{background:#f5f5f5;color:#1e293b;border-bottom-right-radius:4px;box-shadow:0 2px 8px #00000014}.message-text{font-size:14px;line-height:1.55;color:#1e293b}.message-text p{margin:0 0 8px}.message-text p:last-child{margin-bottom:0}.message-text strong{color:#d35400;font-weight:600}.message.user .message-text{color:#1e293b}.message.user .message-text strong{color:#e67e22}.message-time{display:block;font-size:10px;color:#94a3b8;margin-top:6px;text-align:right}.message.user .message-time{color:#ffffffb3}.message-bubble.typing{padding:12px 18px}.typing-dots{display:flex;gap:4px}.typing-dots span{width:6px;height:6px;background:#94a3b8;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{transform:scale(.7);opacity:.4}40%{transform:scale(1);opacity:1}}.suggestions-container{padding:12px 16px;background:linear-gradient(180deg,transparent 0%,rgba(248,250,252,.95) 100%);flex-shrink:0}.suggestions-label{margin:0 0 8px;font-size:12px;color:#64748b;font-weight:500}.suggestions-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.suggestions-scroll::-webkit-scrollbar{display:none}.suggestion-chip{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1.5px solid var(--chip-color, #e5e7eb);border-radius:20px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;flex-shrink:0}.suggestion-chip:hover{background:var(--chip-color, var(--primary-color));color:#fff;border-color:var(--chip-color, var(--primary-color));transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.chip-icon{font-size:15px;line-height:1}.chat-input-area{padding:12px 16px;padding-bottom:calc(12px + var(--keyboard-safe-bottom));background:#fff;border-top:1px solid rgba(0,0,0,.05);flex-shrink:0;position:relative;z-index:20;transform:translateZ(0);-webkit-transform:translateZ(0)}@supports (-webkit-touch-callout: none){.chat-input-area{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.chat-input:focus~.chat-input-area,.input-container:focus-within{position:sticky;bottom:0}}.input-container{display:flex;gap:10px;align-items:center;background:#f8fafc;border:1.5px solid #e5e7eb;border-radius:24px;padding:4px 4px 4px 16px;transition:all var(--transition-fast);min-height:46px}.input-container:focus-within{border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 3px #e67e2226}.chat-input{flex:1;border:none;background:transparent;font-size:16px;color:#1e293b;outline:none;min-width:0;padding:8px 0;line-height:1.4;touch-action:manipulation}.chat-input::-moz-placeholder{color:#94a3b8}.chat-input::placeholder{color:#94a3b8}.send-button{width:38px;height:38px;background:#e5e7eb;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#94a3b8;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.send-button svg{width:16px;height:16px}.send-button.active{background:var(--primary-gradient);color:#fff;box-shadow:0 2px 10px #6366f159}.send-button.active:hover{transform:scale(1.05)}.send-button:disabled{cursor:not-allowed}.powered-by{margin:8px 0 0;font-size:10px;color:#94a3b8;text-align:center}.ia-section-title{font-size:13px;font-weight:600;color:var(--primary-color);margin:10px 0 6px}.ia-section-title:first-child{margin-top:0}.ia-list-item{padding:3px 0;color:#374151;font-size:14px}.ia-paragraph{margin:6px 0}body.dark-mode .nestia-page{background:linear-gradient(135deg,#022c22,#0f172a,#020617)}body.dark-mode .chat-sidebar{background:#1e293b;border-color:#ffffff0f}body.dark-mode .sidebar-header{background:linear-gradient(135deg,#d35400,#e67e22)}body.dark-mode .new-chat-btn{background:linear-gradient(135deg,#e67e22,#d35400)}body.dark-mode .conversation-item:hover{background:#ffffff0a}body.dark-mode .conversation-item.active{background:#10b98126;border-color:#10b98140}body.dark-mode .conversation-icon{background:linear-gradient(135deg,#064e3b,#065f46);color:#f5a623}body.dark-mode .conversation-info h4{color:#f1f5f9}body.dark-mode .conversation-info p{color:#64748b}body.dark-mode .sidebar-toggle{background:#1e293b;border-color:#ffffff14;color:#94a3b8}body.dark-mode .sidebar-toggle:hover{background:var(--primary-color);color:#fff}body.dark-mode .chat-main{background:linear-gradient(180deg,#022c22,#0f172a)}body.dark-mode .chat-header{background:linear-gradient(135deg,#d35400,#e67e22,#10b981)}body.dark-mode .date-separator span{background:#ffffff0f;color:#94a3b8}body.dark-mode .message.assistant .message-bubble{background:#1e293b;border-color:#ffffff0f}body.dark-mode .message-text{color:#e2e8f0}body.dark-mode .message-text strong{color:#f5a623}body.dark-mode .message-time{color:#64748b}body.dark-mode .typing-dots span{background:#64748b}body.dark-mode .suggestions-container{background:linear-gradient(180deg,transparent 0%,rgba(15,23,42,.9) 100%)}body.dark-mode .suggestions-label{color:#94a3b8}body.dark-mode .suggestion-chip{background:#1e293b;color:#e2e8f0;border-color:#ffffff14}body.dark-mode .suggestion-chip:hover{border-color:var(--chip-color, var(--primary-color))}body.dark-mode .chat-input-area{background:#1e293b;border-color:#ffffff0f}body.dark-mode .input-container{background:#0f172a;border-color:#ffffff14}body.dark-mode .input-container:focus-within{border-color:var(--primary-color);background:#1e293b}body.dark-mode .chat-input{color:#f1f5f9}body.dark-mode .chat-input::-moz-placeholder{color:#64748b}body.dark-mode .chat-input::placeholder{color:#64748b}body.dark-mode .send-button{background:#334155;color:#64748b}body.dark-mode .ia-section-title{color:#a78bfa}body.dark-mode .ia-list-item{color:#cbd5e1}body.dark-mode .powered-by{color:#64748b}body.dark-mode .sidebar-toggle-desktop{background:#1e293b;border-color:#ffffff14;color:#94a3b8}body.dark-mode .sidebar-toggle-desktop:hover{background:var(--primary-color);color:#fff}@media(max-width:767px){.nestia-page{position:fixed;top:0;right:0;bottom:0;left:0;height:100%;height:100dvh;height:-webkit-fill-available}.chat-main{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-header{flex-shrink:0}.ai-mode-toggle-container{flex-shrink:0;padding:8px 12px}.messages-container{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:12px}.suggestions-container{flex-shrink:0;padding:10px 12px;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.95) 100%)}.suggestions-scroll{gap:6px}.suggestion-chip{padding:8px 12px;font-size:12px}.chat-input-area{flex-shrink:0;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid rgba(0,0,0,.05)}.input-container{border-radius:22px;padding:4px 4px 4px 14px}.chat-input{padding:10px 0}.send-button{width:40px;height:40px}.powered-by{display:none}.chat-header{padding:10px 12px}.header-avatar{width:34px;height:34px}.header-info h1{font-size:14px}.menu-btn,.new-chat-header-btn{width:36px;height:36px}.chat-sidebar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;min-width:100%!important;max-width:100%!important;height:70vh!important;max-height:70vh!important;border-radius:24px 24px 0 0;transform:translateY(100%)!important;transition:transform .35s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 -8px 32px #0003;border-right:none!important;border-top:3px solid #E67E22;z-index:1000!important}.chat-sidebar.open{transform:translateY(0)!important}.sidebar-header{border-radius:24px 24px 0 0;padding:20px 20px 16px;position:relative}.sidebar-header:before{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:50px;height:5px;background:#fff9;border-radius:3px;box-shadow:0 1px 3px #0003}.sidebar-header h2{margin-top:8px}.sidebar-overlay{background:#0009!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;z-index:999!important}.conversations-list{padding:8px 16px 32px;gap:4px}.conversation-item{padding:14px 16px;border-radius:14px;margin-bottom:4px;background:#f8f9fa;border:1px solid #e5e7eb}.conversation-item.active{background:linear-gradient(135deg,#e67e221a,#f5a6231a);border-color:#e67e224d}.conversation-icon{width:36px;height:36px;background:linear-gradient(135deg,#fde8d3,#f5a623);color:#d35400}.delete-conv-btn{opacity:.6;width:32px;height:32px}.new-chat-btn{margin:12px 16px;padding:14px 20px;font-size:14px;font-weight:600;border-radius:14px}}@media(max-width:359px){.chat-header{padding:8px 10px}.menu-btn,.new-chat-header-btn{width:32px;height:32px}.menu-btn svg,.new-chat-header-btn svg{width:16px;height:16px}.header-avatar{width:30px;height:30px}.header-avatar svg{width:14px;height:14px}.header-info h1{font-size:13px}.status-badge{font-size:10px}.messages-container{padding:10px;gap:8px}.message-avatar{width:26px;height:26px}.message-avatar svg{width:12px;height:12px}.message-bubble{max-width:85%;padding:8px 10px;border-radius:var(--border-radius-md)}.message-text{font-size:13px;line-height:1.5}.message-time{font-size:9px;margin-top:4px}.suggestions-container{padding:10px 12px}.suggestion-chip{padding:6px 10px;font-size:11px;gap:4px}.chip-icon{font-size:13px}.chat-input-area{padding:10px 12px}.input-container{padding:3px 3px 3px 12px;border-radius:20px}.chat-input{font-size:13px}.send-button{width:32px;height:32px}.send-button svg{width:14px;height:14px}.powered-by{font-size:9px;margin-top:6px}.chat-sidebar{width:90vw;max-width:260px}.sidebar-header{padding:12px 14px}.sidebar-header h2{font-size:13px}.new-chat-btn{margin:10px;padding:9px 12px;font-size:12px}.conversation-item{padding:8px 10px;gap:8px}.conversation-icon{width:28px;height:28px}.conversation-info h4{font-size:12px}.conversation-info p{font-size:10px}}@media(min-width:360px)and (max-width:479px){.chat-header{padding:10px 12px}.menu-btn,.new-chat-header-btn,.header-avatar{width:34px;height:34px}.header-info h1{font-size:14px}.messages-container{padding:12px;gap:10px}.message-bubble{max-width:82%;padding:10px 12px}.message-text{font-size:14px}.suggestion-chip{padding:8px 12px;font-size:12px}.chat-sidebar{width:85vw;max-width:280px}}@media(min-width:480px)and (max-width:767px){.chat-header{padding:10px 14px}.messages-container{padding:14px;gap:10px}.message-bubble{max-width:78%}.suggestions-scroll{gap:10px}.chat-sidebar{width:320px}}@media(min-width:768px){.nestia-page{flex-direction:row}.chat-sidebar{position:relative;transform:translate(0);width:var(--sidebar-width);flex-shrink:0;box-shadow:none;border-right:1px solid rgba(0,0,0,.06)}.chat-sidebar.collapsed{width:0;min-width:0;opacity:0;overflow:hidden;border:none;padding:0;margin:0}.sidebar-overlay,.sidebar-close,.sidebar-toggle,.menu-btn{display:none}.sidebar-toggle-desktop{display:flex;align-items:center;justify-content:center;width:24px;height:48px;position:absolute;right:-24px;top:50%;transform:translateY(-50%);background:#fff;border:1px solid rgba(0,0,0,.08);border-left:none;border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;cursor:pointer;z-index:10;transition:all var(--transition-fast);box-shadow:2px 0 8px #0000000a}.sidebar-toggle-desktop:hover{background:var(--primary-color);color:#fff;width:28px}.sidebar-toggle-desktop svg{width:14px;height:14px;transition:transform var(--transition-fast)}.chat-main{flex:1;min-width:0}.messages-container{padding:20px 24px;gap:14px}.message-bubble{max-width:70%}.chat-input-area,.suggestions-container{padding:14px 24px}.show-toggle .header-toggle-btn{display:flex}}@media(min-width:1024px){:root{--sidebar-width: 300px}.messages-container{padding:24px 32px;gap:16px}.message-bubble{max-width:65%;padding:12px 16px}.message-text{font-size:14px;line-height:1.6}.chat-input-area{padding:16px 32px}.input-container{max-width:800px;margin:0 auto}.suggestions-container{padding:16px 32px}.suggestions-scroll{justify-content:center;flex-wrap:wrap;gap:10px}.chat-header{padding:12px 20px}}@media(min-width:1280px){:root{--sidebar-width: 320px}.messages-container{padding:28px 48px;max-width:1000px;margin:0 auto;width:100%}.message-bubble{max-width:60%;padding:14px 18px}.message-text{font-size:15px}.chat-input-area{padding:18px 48px}.input-container{max-width:900px}.suggestions-container{padding:18px 48px;max-width:1000px;margin:0 auto}}@media(min-width:1536px){:root{--sidebar-width: 360px}.messages-container{padding:32px 64px;max-width:1100px}.message-bubble{max-width:55%}.chat-input-area{padding:20px 64px}.input-container{max-width:1000px}}@media(max-height:500px)and (orientation:landscape){.chat-header{padding:6px 12px}.header-avatar{width:28px;height:28px}.header-info h1{font-size:13px}.status-badge{display:none}.messages-container{padding:8px 12px;gap:6px}.message-bubble{padding:8px 10px}.message-text{font-size:13px}.suggestions-container{padding:8px 12px}.suggestion-chip{padding:6px 10px;font-size:11px}.chat-input-area{padding:8px 12px}.send-button{width:34px;height:34px}.powered-by{display:none}}@media print{.chat-sidebar,.chat-header,.suggestions-container,.chat-input-area,.sidebar-toggle,.sidebar-overlay{display:none!important}.nestia-page{background:#fff}.messages-container{padding:20px;overflow:visible;height:auto}.message-bubble{box-shadow:none;border:1px solid #e5e7eb}}.activities-cards{margin-top:16px;padding-top:16px;border-top:1px solid rgba(230,126,34,.2)}.activities-header{display:flex;align-items:center;gap:8px;font-weight:600;color:#e67e22;margin-bottom:12px;font-size:.9rem}.activities-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.activities-scroll::-webkit-scrollbar{height:4px}.activities-scroll::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.activities-scroll::-webkit-scrollbar-thumb{background:#e67e22;border-radius:2px}.activity-card{flex:0 0 200px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:all .2s ease;scroll-snap-align:start;border:1px solid rgba(0,0,0,.05)}.activity-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #e67e2233;border-color:#e67e22}.activity-card-image{height:100px;overflow:hidden;background:linear-gradient(135deg,#fff9f5,#ffeee4)}.activity-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.activity-card-content{padding:10px 12px}.activity-card-content h4{font-size:.85rem;font-weight:600;color:#1e293b;margin:0 0 4px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.activity-location{font-size:.75rem;color:#64748b;margin:0 0 6px}.activity-category{display:inline-block;font-size:.65rem;padding:2px 8px;background:#e67e221a;color:#e67e22;border-radius:10px;font-weight:500}.activity-free{display:inline-block;font-size:.65rem;padding:2px 8px;background:#10b9811a;color:#10b981;border-radius:10px;font-weight:500;margin-left:4px}.activity-arrow{position:absolute;top:8px;right:8px;background:#ffffffe6;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#e67e22;box-shadow:0 2px 4px #0000001a}.activity-card{position:relative}body.dark-mode .activity-card{background:#1e293b;border-color:#334155}body.dark-mode .activity-card:hover{border-color:#e67e22}body.dark-mode .activity-card-content h4{color:#f1f5f9}body.dark-mode .activity-location{color:#94a3b8}body.dark-mode .activities-header{color:#f5a623}body.dark-mode .activities-cards{border-top-color:#f5a6234d}.nesti-ia-blocked{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff9f5,#ffeee4,#ffe4d0);padding:24px}.blocked-content{text-align:center;background:#fff;border-radius:24px;padding:48px 32px;max-width:400px;box-shadow:0 20px 60px #0000001a}.blocked-icon{font-size:4rem;display:block;margin-bottom:16px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.blocked-content h2{font-size:1.5rem;font-weight:700;color:#374151;margin:0 0 16px}.blocked-content p{color:#6b7280;font-size:1rem;line-height:1.6;margin:0 0 24px}.back-home-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;text-decoration:none;border-radius:12px;font-weight:600;font-size:1rem;transition:all .3s}.back-home-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #f973164d}body.dark-mode .nesti-ia-blocked{background:#1a1a1a}body.dark-mode .blocked-content{background:#2d2d2d}body.dark-mode .blocked-content h2{color:#f5f5f5}body.dark-mode .blocked-content p{color:#a0a0a0}@media(max-width:767px){body.dark-mode .chat-sidebar{background:#1a1a1a;border-top-color:#a78bfa4d}body.dark-mode .conversation-item{background:#252525;border-color:#333}body.dark-mode .conversation-item.active{background:linear-gradient(135deg,#818cf826,#a78bfa26);border-color:#818cf84d}body.dark-mode .conversation-info h4{color:#f5f5f5}body.dark-mode .conversation-info p{color:#888}body.dark-mode .conversation-icon{background:linear-gradient(135deg,#4c1d95,#7c3aed);color:#fff}body.dark-mode .sidebar-header:before{background:#fff3}body.dark-mode .sidebar-overlay{background:#000000b3}body.dark-mode .nestia-page{background:linear-gradient(135deg,#0f0f0f,#1a1a1a)}body.dark-mode .chat-main{background:linear-gradient(180deg,#0f0f0f,#141414)}body.dark-mode .chat-input-area{background:#1a1a1a;border-top-color:#ffffff0f}body.dark-mode .input-container{background:#252525;border-color:#333}body.dark-mode .input-container:focus-within{border-color:#818cf8;background:#1a1a1a;box-shadow:0 0 0 3px #818cf833}body.dark-mode .chat-input{color:#f5f5f5}body.dark-mode .chat-input::-moz-placeholder{color:#666}body.dark-mode .chat-input::placeholder{color:#666}body.dark-mode .suggestions-container{background:linear-gradient(180deg,transparent 0%,rgba(26,26,26,.95) 100%)}body.dark-mode .suggestion-chip{background:#252525;border-color:#333;color:#e5e5e5}body.dark-mode .suggestion-chip:hover{background:#818cf8;border-color:#818cf8;color:#fff}}.feedback-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:overlay-fade-in .3s ease}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.feedback-modal{background:#fff;border-radius:24px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 80px #6c5ce74d;animation:modal-slide-up .4s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.feedback-header{text-align:center;padding:24px 24px 16px;position:relative;background:linear-gradient(135deg,#6c5ce7,#a29bfe);border-radius:24px 24px 0 0;color:#fff}.feedback-header h2{margin:0 0 8px;font-size:22px;font-weight:700}.feedback-header p{margin:0;opacity:.9;font-size:14px}.close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#fff3;border-radius:50%;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.feedback-content{padding:24px}.rating-section{margin-bottom:24px}.rating-section label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:12px}.stars-container{display:flex;justify-content:center;gap:8px}.star-btn{background:none;border:none;padding:8px;cursor:pointer;transition:transform .2s ease}.star-btn:hover{transform:scale(1.2)}.star-btn:active{transform:scale(.9)}.star-icon{font-size:36px;filter:grayscale(100%);opacity:.4;transition:all .2s ease}.star-btn.active .star-icon{filter:grayscale(0%);opacity:1;animation:star-pop .3s ease}@keyframes star-pop{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.rating-label{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;font-size:16px;font-weight:500;color:#6c5ce7;animation:fade-in .3s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.rating-emoji{font-size:28px}.category-section{margin-bottom:24px}.category-section label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:12px}.category-chips{display:flex;flex-wrap:wrap;gap:8px}.category-chip{display:flex;align-items:center;gap:6px;padding:8px 14px;border:2px solid #e0e0e0;border-radius:20px;background:#fff;font-size:13px;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease}.category-chip:hover{border-color:#6c5ce7;color:#6c5ce7}.category-chip.active{border-color:#6c5ce7;background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff}.comment-section{margin-bottom:20px;position:relative}.comment-section label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.comment-section textarea{width:100%;padding:14px;border:2px solid #e0e0e0;border-radius:16px;font-size:14px;font-family:inherit;resize:none;transition:all .2s ease;box-sizing:border-box}.comment-section textarea:focus{outline:none;border-color:#6c5ce7;box-shadow:0 0 0 4px #6c5ce71a}.comment-section textarea::-moz-placeholder{color:#aaa}.comment-section textarea::placeholder{color:#aaa}.char-count{position:absolute;bottom:10px;right:12px;font-size:11px;color:#aaa}.feedback-error{color:#e74c3c;font-size:13px;text-align:center;margin-bottom:16px;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.submit-btn{width:100%;padding:16px 24px;border:none;border-radius:16px;background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 15px #6c5ce74d}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #6c5ce766}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.sending{display:flex;align-items:center;gap:8px}.feedback-success{padding:48px 24px;text-align:center;animation:success-appear .5s ease}@keyframes success-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.success-animation{position:relative;margin-bottom:24px}.success-emoji{font-size:64px;display:block;animation:bounce .6s ease infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.heart-burst{position:absolute;top:-10px;right:calc(50% - 40px);font-size:24px;animation:heart-float 1s ease-out forwards}@keyframes heart-float{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-30px) scale(1.5)}}.feedback-success h3{font-size:22px;color:#333;margin:0 0 12px}.feedback-success p{font-size:14px;color:#666;margin:0;line-height:1.5}.dark-mode .feedback-modal{background:#1a1a2e}.dark-mode .feedback-header{background:linear-gradient(135deg,#6c5ce7,#5a4fcf)}.dark-mode .rating-section label,.dark-mode .category-section label,.dark-mode .comment-section label{color:#e0e0e0}.dark-mode .category-chip{background:#2d2d44;border-color:#3d3d5c;color:#e0e0e0}.dark-mode .category-chip:hover{border-color:#a29bfe;color:#a29bfe}.dark-mode .comment-section textarea{background:#2d2d44;border-color:#3d3d5c;color:#e0e0e0}.dark-mode .comment-section textarea:focus{border-color:#a29bfe}.dark-mode .feedback-success h3{color:#e0e0e0}.dark-mode .feedback-success p{color:#aaa}@media(max-width:480px){.feedback-modal-overlay{padding:10px;align-items:flex-end}.feedback-modal{border-radius:24px 24px 0 0;max-height:85vh}.stars-container{gap:4px}.star-icon{font-size:30px}.category-chips{justify-content:center}}.parental-section{padding:24px;background:#f8fafc;border-radius:20px;margin:20px 0}.parental-section.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:12px}.loading-spinner{font-size:2rem;animation:spin 1s linear infinite}.parental-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;flex-wrap:wrap}.header-content h2{font-size:1.5rem;font-weight:800;color:#1a202c;margin-bottom:4px}.header-content p{color:#718096;font-size:.95rem}.btn-primary{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;padding:12px 20px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 16px #667eea66}.btn-primary .icon{width:20px;height:20px}.btn-secondary{background:#e2e8f0;color:#4a5568;border:none;border-radius:12px;padding:12px 20px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#cbd5e0}.login-link-card{background:linear-gradient(135deg,#e0e7ff,#fce7f3);border-radius:16px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.link-info{display:flex;align-items:center;gap:12px}.link-icon{width:24px;height:24px;color:#667eea}.link-info strong{display:block;color:#1a202c}.link-info p{font-size:.85rem;color:#718096}.btn-copy{background:#fff;border:2px solid #667eea;border-radius:10px;padding:10px 16px;font-weight:600;color:#667eea;cursor:pointer;transition:all .2s ease}.btn-copy:hover{background:#667eea;color:#fff}.empty-state{text-align:center;padding:48px 24px}.empty-icon{font-size:4rem;margin-bottom:16px;display:block}.empty-state h3{font-size:1.25rem;font-weight:700;color:#2d3748;margin-bottom:8px}.empty-state p{color:#718096;max-width:300px;margin:0 auto}.children-list{display:flex;flex-direction:column;gap:12px}.child-card{background:#fff;border-radius:16px;padding:16px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #0000000a;transition:all .2s ease}.child-card:hover{box-shadow:0 4px 16px #00000014}.child-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.child-avatar .avatar-emoji{font-size:1.8rem}.child-info{flex:1;min-width:0}.child-info h3{font-size:1.1rem;font-weight:700;color:#1a202c;margin-bottom:2px}.child-username{font-size:.85rem;color:#a0aec0;margin-bottom:8px}.child-badges{display:flex;flex-wrap:wrap;gap:6px}.badge{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:20px}.badge-blue{background:#ebf8ff;color:#2b6cb0}.badge-green{background:#f0fff4;color:#276749}.badge-red{background:#fff5f5;color:#c53030}.badge-orange{background:#fffaf0;color:#c05621}.child-actions{display:flex;gap:8px}.action-btn{width:40px;height:40px;border-radius:10px;background:#f7fafc;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.action-btn:hover{background:#edf2f7}.action-btn.delete:hover{background:#fed7d7}.action-btn .icon{width:18px;height:18px;color:#718096}.action-btn.delete:hover .icon{color:#c53030}.pending-section{margin-top:32px;padding-top:24px;border-top:2px dashed #e2e8f0}.pending-section h3{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:700;color:#2d3748;margin-bottom:16px}.section-icon{width:24px;height:24px;color:#667eea}.pending-list{display:flex;flex-direction:column;gap:8px}.pending-card{background:#fffbeb;border:2px solid #fcd34d;border-radius:12px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.pending-info{display:flex;flex-direction:column;gap:2px}.pending-child{font-weight:700;color:#92400e}.pending-type{font-size:.9rem;color:#78350f}.pending-actions{display:flex;gap:8px}.approve-btn,.reject-btn{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.approve-btn{background:#48bb78;color:#fff}.approve-btn:hover{background:#38a169;transform:scale(1.1)}.reject-btn{background:#fc8181;color:#fff}.reject-btn:hover{background:#f56565;transform:scale(1.1)}.approve-btn .icon,.reject-btn .icon{width:18px;height:18px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:24px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0}.modal-header h2{font-size:1.25rem;font-weight:700;color:#1a202c}.close-btn{width:36px;height:36px;border-radius:50%;background:#f7fafc;border:none;font-size:1.5rem;color:#718096;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:#e2e8f0}.modal-body{padding:24px}.form-step h3{font-size:1.1rem;font-weight:700;color:#2d3748;margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:600;color:#4a5568;margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group small{display:block;margin-top:4px;font-size:.85rem;color:#a0aec0}.checkbox-group label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-group input[type=checkbox]{width:20px;height:20px;accent-color:#667eea}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e2e8f0}.stats-period{text-align:center;color:#718096;margin-bottom:20px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.stat-item{background:#f8fafc;border-radius:16px;padding:20px;text-align:center}.stat-item .stat-icon{font-size:2rem;display:block;margin-bottom:8px}.stat-item .stat-value{font-size:2rem;font-weight:800;color:#667eea;display:block}.stat-item .stat-label{font-size:.85rem;color:#718096}.stats-total{text-align:center;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px}@media(max-width:600px){.parental-header{flex-direction:column;align-items:stretch}.btn-primary{justify-content:center}.login-link-card{flex-direction:column;align-items:stretch;text-align:center}.link-info{flex-direction:column}.child-card{flex-wrap:wrap}.child-actions{width:100%;justify-content:flex-end;margin-top:8px}}:root{--settings-bg: #FFF9F5;--settings-card: #ffffff;--settings-border: #F0E0D0;--settings-text: #2C3E50;--settings-text-secondary: #5D6D7E;--settings-primary: #E67E22;--settings-primary-dark: #D35400;--settings-success: #27AE60;--settings-danger: #E74C3C;--settings-accent: #F5A623}body.dark-mode{--settings-bg: #1A1A1A;--settings-card: #242424;--settings-border: #3D3D3D;--settings-text: #F5F5F5;--settings-text-secondary: #A0A0A0}.settings-page{width:100%;min-height:100vh;background:linear-gradient(180deg,#fff9f5,#fff5eb,#ffeee0);transition:background .3s ease}body.dark-mode .settings-page{background:var(--settings-bg)}.settings-page-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--settings-bg);z-index:1000;overflow-y:auto;transition:background .3s ease}.settings-panel{max-width:600px;margin:0 auto;min-height:100vh;background:var(--settings-card);transition:background .3s ease;box-shadow:0 0 40px #8b5a2b0d}.settings-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--settings-text-secondary)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--settings-border);position:sticky;top:0;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:10;transition:all .3s ease}body.dark-mode .settings-header{background:#242424f2}.settings-header h1{font-size:18px;font-weight:700;margin:0;color:var(--settings-text);transition:color .3s ease}.back-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--settings-text);border-radius:var(--radius);transition:all .25s ease}.back-btn:hover{background:var(--color-bg-hover);color:var(--settings-primary)}.header-spacer{width:40px}.status-message{padding:14px 20px;font-size:14px;font-weight:500;text-align:center;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.status-message.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.status-message.error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}body.dark-mode .status-message.success{background:linear-gradient(135deg,#064e3b,#047857);color:#a7f3d0}body.dark-mode .status-message.error{background:linear-gradient(135deg,#7f1d1d,#991b1b);color:#fecaca}.settings-tabs-container{padding:16px 20px;border-bottom:1px solid var(--settings-border);background:var(--settings-card);transition:all .3s ease}.settings-tabs{display:flex;background:var(--settings-bg);border-radius:14px;padding:4px;gap:4px;transition:background .3s ease}.tab-pill{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 14px;border:none;background:transparent;border-radius:12px;font-size:13px;font-weight:600;color:var(--settings-text-secondary);cursor:pointer;transition:all .25s ease}.tab-pill:hover{color:var(--settings-text);background:#e67e221a}.tab-pill.active{background:linear-gradient(135deg,#e67e22,#f5a623);color:#fff;box-shadow:0 4px 12px #e67e224d}.tab-icon{font-size:16px}.settings-content{padding:0 0 180px}.settings-sections{display:flex;flex-direction:column;gap:0;animation:fadeIn .3s ease-out}.settings-section{background:var(--settings-card);padding:24px 20px;border-bottom:8px solid var(--settings-bg);transition:all .3s ease}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.section-icon{font-size:22px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--settings-primary) 0%,var(--settings-accent) 100%);border-radius:12px}.settings-section h2{font-size:17px;font-weight:700;margin:0;color:var(--settings-text);transition:color .3s ease}.section-desc{font-size:14px;color:var(--settings-text-secondary);margin:0 0 20px;line-height:1.5;transition:color .3s ease}.info-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--settings-border);transition:border-color .3s ease}.info-row:last-child{border-bottom:none}.info-label{font-size:14px;font-weight:500;color:var(--settings-text);transition:color .3s ease}.info-value{font-size:14px;color:var(--settings-text-secondary);transition:color .3s ease}.role-select{padding:10px 14px;border-radius:10px;border:2px solid var(--settings-border);background:var(--settings-bg);font-size:14px;font-weight:500;color:var(--settings-text);cursor:pointer;transition:all .2s ease}.role-select:focus{border-color:var(--settings-primary);outline:none;box-shadow:0 0 0 3px #e67e2233}.toggle-list{display:flex;flex-direction:column}.toggle-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--settings-border);cursor:pointer;transition:border-color .3s ease}.toggle-item:last-child{border-bottom:none}.toggle-info{flex:1;padding-right:16px}.toggle-label{display:block;font-size:14px;font-weight:600;color:var(--settings-text);margin-bottom:4px;transition:color .3s ease}.toggle-desc{display:block;font-size:12px;color:var(--settings-text-secondary);line-height:1.4;transition:color .3s ease}.toggle-switch{position:relative;width:52px;height:30px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--settings-border);border-radius:15px;cursor:pointer;transition:all .3s ease;flex-shrink:0}.toggle-switch:checked{background:linear-gradient(135deg,var(--settings-primary) 0%,var(--settings-accent) 100%)}.toggle-switch:before{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 2px 8px #00000026}.toggle-switch:checked:before{transform:translate(22px);box-shadow:0 2px 8px #e67e2266}body.dark-mode .toggle-switch{background:#475569}body.dark-mode .toggle-switch:checked{background:linear-gradient(135deg,var(--settings-primary) 0%,var(--settings-accent) 100%)}.settings-list{display:flex;flex-direction:column}.settings-list-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border:none;background:none;border-bottom:1px solid var(--settings-border);cursor:pointer;text-align:left;width:100%;transition:all .2s ease}.settings-list-item:last-child{border-bottom:none}.settings-list-item:hover{background:#e67e220d;margin:0 -20px;padding:16px 20px;border-radius:12px}.item-info{flex:1}.item-label{display:block;font-size:14px;font-weight:500;color:var(--settings-text);margin-bottom:4px;transition:color .3s ease}.item-desc{display:block;font-size:12px;color:var(--settings-text-secondary);transition:color .3s ease}.settings-list-item.danger .item-label{color:var(--settings-danger)}.arrow-icon{font-size:20px;color:var(--settings-text-secondary);transition:color .3s ease}.toggle-indicator{font-size:12px;font-weight:600;padding:6px 12px;border-radius:20px;transition:all .3s ease}.toggle-indicator.on{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.toggle-indicator.off{background:var(--settings-bg);color:var(--settings-text-secondary)}body.dark-mode .toggle-indicator.on{background:linear-gradient(135deg,#064e3b,#047857);color:#a7f3d0}body.dark-mode .toggle-indicator.off{background:#475569;color:#94a3b8}.activity-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.activity-chip{padding:10px 16px;border-radius:25px;border:2px solid #E67E22;background:#fff;font-size:14px;font-weight:600;color:#1e293b;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #e67e2226;position:relative;z-index:1;display:flex;align-items:center;gap:6px}.chip-emoji{font-size:16px}.chip-label{font-size:13px}.chip-check{margin-left:4px;font-weight:700}.prefs-summary{text-align:center;margin-bottom:16px}.prefs-count{font-size:13px;color:var(--settings-text-secondary);background:#e67e221a;padding:6px 14px;border-radius:20px}.activity-prefs-section{background:linear-gradient(135deg,#e67e2208,#f39c1208);border-radius:16px;border:1px dashed rgba(230,126,34,.3)}.activity-chip:hover{background:#fff5eb;border-color:#d35400;transform:translateY(-2px) scale(1.02);box-shadow:0 6px 16px #e67e2240;color:#d35400}.activity-chip:active{transform:translateY(0) scale(.98)}.activity-chip.selected{background:linear-gradient(135deg,#e67e22,#f5a623);border-color:transparent;color:#fff;box-shadow:0 4px 12px #e67e2266}.activity-chip.selected:hover{background:linear-gradient(135deg,#d35400,#e67e22);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 16px #e67e2280;color:#fff}body.dark-mode .activity-chip{background:#1a1410;border-color:#e67e22;color:#e2e8f0;box-shadow:0 2px 8px #e67e2240}body.dark-mode .activity-chip:hover{background:#2a1f15;border-color:#f5a623;color:#f5a623}body.dark-mode .activity-chip.selected{background:linear-gradient(135deg,#e67e22,#f5a623);border-color:transparent;color:#fff;box-shadow:0 4px 12px #e67e2280}.save-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:14px 24px;margin-top:20px;border:2px solid var(--settings-border);border-radius:14px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;background:var(--settings-bg);color:var(--settings-text);position:relative;overflow:hidden}.save-btn:hover:not(:disabled){border-color:#e67e22;color:#e67e22;background:#fff5eb;transform:translateY(-1px)}.save-btn.primary{background:linear-gradient(135deg,#e67e22,#f5a623);color:#fff;border:none;box-shadow:0 4px 12px #e67e224d}.save-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#d35400,#e67e22);transform:translateY(-2px);box-shadow:0 8px 24px #e67e2280}.save-btn.primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #e67e224d}.save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}body.dark-mode .save-btn:hover:not(:disabled){background:#2a1f15;border-color:#f5a623;color:#f5a623}.action-btn{padding:12px 24px;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .25s ease}.action-btn.secondary{background:var(--settings-bg);color:var(--settings-text);border:2px solid var(--settings-border)}.action-btn.secondary:hover{border-color:var(--settings-primary);color:var(--settings-primary)}.loading-text{text-align:center;padding:20px;color:var(--settings-text-secondary);font-size:14px}.loading-spinner-container{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--settings-text-secondary);font-size:14px}.settings-footer{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:600px;padding:16px 20px;background:var(--settings-card);border-top:1px solid var(--settings-border);text-align:center;z-index:100;transition:all .3s ease}.logout-btn{width:100%;padding:14px;border:none;border-radius:14px;background:linear-gradient(135deg,#fef2f2,#fee2e2);color:var(--settings-danger);font-size:15px;font-weight:600;cursor:pointer;transition:all .25s ease}.logout-btn:hover{background:linear-gradient(135deg,#fee2e2,#fecaca);transform:translateY(-2px);box-shadow:0 4px 12px #ef444433}body.dark-mode .logout-btn{background:linear-gradient(135deg,#450a0a,#7f1d1d);color:#fecaca}body.dark-mode .logout-btn:hover{background:linear-gradient(135deg,#7f1d1d,#991b1b)}.version-info{margin-top:16px;text-align:center}.version-text{font-size:14px;font-weight:700;color:var(--settings-primary);margin:0 0 4px}.made-with{font-size:12px;color:var(--settings-text-secondary);margin:0 0 4px}.copyright{font-size:11px;color:var(--settings-text-secondary);opacity:.7;margin:0}.legal-content{background:var(--settings-bg);border-radius:16px;padding:20px;font-size:14px;line-height:1.7;color:var(--settings-text-secondary);transition:all .3s ease}.legal-content p{margin:0 0 14px}.legal-content p:last-child{margin-bottom:0}.legal-content strong{color:var(--settings-text)}.legal-content ul{list-style:none;padding:0;margin:14px 0}.legal-content li{padding:10px 0;border-bottom:1px solid var(--settings-border);display:flex;align-items:flex-start;gap:8px}.legal-content li:last-child{border-bottom:none}.contact-content{display:flex;flex-direction:column;gap:16px}.contact-content p{color:var(--settings-text-secondary);margin:0;font-size:14px}.contact-btn{display:flex;align-items:center;gap:16px;padding:18px;background:linear-gradient(135deg,var(--settings-primary) 0%,var(--settings-accent) 100%);border-radius:16px;text-decoration:none;color:#fff;transition:all .25s ease}.contact-btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px #e67e2259}.contact-icon{font-size:28px;background:#fff3;padding:14px;border-radius:14px}.contact-info{display:flex;flex-direction:column;gap:4px}.contact-info strong{font-size:16px}.contact-info span{font-size:13px;opacity:.85}.help-links{display:flex;flex-direction:column;gap:10px}.help-link{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--settings-bg);border:2px solid var(--settings-border);border-radius:14px;font-size:14px;font-weight:500;color:var(--settings-text);cursor:pointer;transition:all .25s ease}.help-link:hover{background:#e67e221a;border-color:var(--settings-primary);color:var(--settings-primary);transform:translate(4px)}.help-link span{font-size:20px}.about-content{text-align:center}.about-logo{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.nesti-logo{font-size:52px;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:20px;border-radius:24px;box-shadow:0 8px 20px #fde68a66}body.dark-mode .nesti-logo{background:linear-gradient(135deg,#78350f,#92400e);box-shadow:0 8px 20px #78350f66}.about-name{display:flex;flex-direction:column;gap:4px}.about-name strong{font-size:26px;color:var(--settings-text);transition:color .3s ease}.about-name span{font-size:14px;color:var(--settings-text-secondary);transition:color .3s ease}.about-content p{color:var(--settings-text-secondary);font-size:14px;line-height:1.7;margin:10px 0;transition:color .3s ease}.fade-in{animation:fadeIn .3s ease-out}.animate-fade-in{animation:fadeInUp .4s ease-out}@media(max-width:768px){.tab-pill{padding:10px 8px;font-size:12px;gap:4px}.tab-icon{font-size:14px}.settings-section{padding:20px 16px}.section-icon{width:38px;height:38px;font-size:18px}.activity-chip{padding:8px 14px;font-size:12px}.settings-footer{padding:12px 16px}.logout-btn{padding:12px;font-size:14px}}@media(max-width:480px){.tab-pill span:last-child{display:none}.tab-icon{font-size:18px}.tab-pill{padding:12px}}.profile-card{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px;background:linear-gradient(135deg,#e67e220d,#f39c120d);border-radius:16px;border:1px solid var(--settings-border)}body.dark-mode .profile-card{background:linear-gradient(135deg,#e67e221a,#f39c121a)}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;gap:8px}.profile-avatar-wrapper{position:relative;width:100px;height:100px}.profile-avatar-img{width:100px;height:100px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:3px solid var(--settings-primary)}.profile-avatar-placeholder{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--settings-primary) 0%,var(--settings-accent) 100%);display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:700;color:#fff}.avatar-upload-btn{position:absolute;bottom:0;right:0;width:36px;height:36px;border-radius:50%;background:var(--settings-card);border:2px solid var(--settings-primary);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:transform .2s,box-shadow .2s}.avatar-upload-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #0003}.uploading-text{font-size:12px;color:var(--settings-primary);animation:pulse 1s infinite}.profile-info-display{text-align:center}.profile-name{font-size:20px;font-weight:700;color:var(--settings-text);margin:0 0 4px}.profile-email{font-size:14px;color:var(--settings-text-secondary);margin:0 0 16px}.edit-profile-btn{background:var(--settings-primary);color:#fff;border:none;padding:10px 20px;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.edit-profile-btn:hover{background:var(--settings-primary-dark);transform:translateY(-2px)}.profile-edit-form,.password-change-form{width:100%;display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:600;color:var(--settings-text-secondary)}.form-input{width:100%;padding:12px 16px;border:1px solid var(--settings-border);border-radius:10px;font-size:15px;background:var(--settings-card);color:var(--settings-text);transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:var(--settings-primary);box-shadow:0 0 0 3px #e67e2226}body.dark-mode .form-input{background:#1a1a1a}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input{padding-right:50px}.toggle-password-btn{position:absolute;right:12px;background:none;border:none;font-size:18px;cursor:pointer;opacity:.7;transition:opacity .2s}.toggle-password-btn:hover{opacity:1}.profile-edit-actions{display:flex;gap:12px;margin-top:8px}.btn-cancel{flex:1;padding:12px;background:transparent;border:1px solid var(--settings-border);border-radius:10px;color:var(--settings-text-secondary);font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#0000000d}body.dark-mode .btn-cancel:hover{background:#ffffff0d}.btn-save{flex:1;padding:12px;background:linear-gradient(135deg,var(--settings-primary) 0%,var(--settings-primary-dark) 100%);border:none;border-radius:10px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #e67e2259}.btn-save:disabled{opacity:.6;cursor:not-allowed}.accessibility-group{margin-top:24px;padding-top:20px;border-top:1px solid var(--settings-border)}.accessibility-group-title{font-size:14px;font-weight:700;color:var(--settings-primary);margin:0 0 16px;display:flex;align-items:center;gap:8px}.accessibility-group .toggle-item{margin-left:8px;border-left:2px solid var(--settings-border);padding-left:16px}.accessibility-group .toggle-item:hover{border-left-color:var(--settings-primary)}.form-textarea{width:100%;padding:12px 16px;border:1px solid var(--settings-border);border-radius:10px;font-size:14px;font-family:inherit;background:var(--settings-card);color:var(--settings-text);resize:vertical;min-height:80px;transition:border-color .2s,box-shadow .2s}.form-textarea:focus{outline:none;border-color:var(--settings-primary);box-shadow:0 0 0 3px #e67e2226}.form-textarea::-moz-placeholder{color:var(--settings-text-secondary)}.form-textarea::placeholder{color:var(--settings-text-secondary)}body.dark-mode .form-textarea{background:#1a1a1a}.parental-control-section{margin-top:24px;padding-top:20px;border-top:1px dashed var(--settings-border)}.parental-title{font-size:1.125rem;font-weight:700;color:var(--settings-text);margin:0 0 8px;display:flex;align-items:center;gap:8px}.parental-desc{font-size:.875rem;color:var(--settings-text-secondary);margin:0 0 16px;line-height:1.5}.child-accounts-loading{display:flex;align-items:center;gap:8px;padding:16px;color:var(--settings-text-secondary);font-size:.875rem}.child-accounts-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.child-account-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #fed7aa;border-radius:12px;transition:all .2s}body.dark-mode .child-account-card{background:linear-gradient(135deg,#3d2e24,#2d2620);border-color:#5c4d3d}.child-account-card:hover{transform:translate(4px);box-shadow:0 4px 12px #f9731626}.child-avatar{font-size:1.75rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a}body.dark-mode .child-avatar{background:#2d2d2d}.child-info{flex:1;display:flex;flex-direction:column;gap:2px}.child-info strong{font-size:.9375rem;color:var(--settings-text)}.child-status{font-size:.75rem;font-weight:500}.child-status.active{color:#22c55e}.child-status.inactive{color:#9ca3af}.child-controls-badge{font-size:1.25rem}.create-child-btn.modern{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s}.create-child-btn.modern:hover{transform:translateY(-2px);box-shadow:0 8px 20px #f973164d}.create-child-btn.modern .btn-icon{font-size:1.125rem}.child-login-link{display:block;text-align:center;margin-top:12px;padding:10px;color:var(--settings-primary);font-size:.875rem;font-weight:500;text-decoration:none;border-radius:8px;transition:all .2s}.child-login-link:hover{background:#f973161a}.auth-page{min-height:100vh;background:linear-gradient(145deg,#fff9f5,#ffeee0,#ffe4d0);display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);position:relative;overflow:hidden}.auth-page:before,.auth-page:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:floatOrb 8s ease-in-out infinite}.auth-page:before{width:400px;height:400px;background:linear-gradient(135deg,#e67e22,#f5a623);top:-100px;left:-100px;animation-delay:0s}.auth-page:after{width:300px;height:300px;background:linear-gradient(135deg,#f5a623,#ffd93d);bottom:-50px;right:-50px;animation-delay:-4s}@keyframes floatOrb{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-30px) scale(1.1)}}body.dark-mode .auth-page{background:linear-gradient(145deg,#1a1a2e,#16213e,#0f3460)}body.dark-mode .auth-page:before{background:linear-gradient(135deg,#e67e22,#d35400);opacity:.2}body.dark-mode .auth-page:after{background:linear-gradient(135deg,#f5a623,#e67e22);opacity:.15}.auth-container{width:100%;max-width:480px;position:relative;z-index:1;animation:slideUp .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.auth-card{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;padding:40px 32px;box-shadow:0 25px 50px -12px #00000026;border:1px solid rgba(255,255,255,.5)}body.dark-mode .auth-card{background:#1e1e32e6;border-color:#ffffff1a}.auth-logo{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.logo-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);border-radius:20px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:40px;font-weight:800;box-shadow:0 10px 30px #e67e2266;animation:logoEntrance .8s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.2s;opacity:0}@keyframes logoEntrance{0%{opacity:0;transform:scale(.5) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-header h1{font-size:28px;font-weight:700;color:var(--color-text);margin:0 0 8px;animation:fadeInUp .5s ease-out forwards;animation-delay:.3s;opacity:0}.auth-header p{font-size:1rem;color:var(--color-text-secondary);margin:0;animation:fadeInUp .5s ease-out forwards;animation-delay:.4s;opacity:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.auth-message{padding:var(--spacing);border-radius:var(--radius);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);font-weight:500}.auth-message.error{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}.auth-message.success{background:#d1fae5;color:#059669;border:1px solid #a7f3d0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing)}.input-group{display:flex;flex-direction:column;gap:var(--spacing-sm);animation:fadeInUp .5s ease-out forwards;animation-delay:.5s;opacity:0}.input-group:nth-child(2){animation-delay:.55s}.input-group:nth-child(3){animation-delay:.6s}.input-group:nth-child(4){animation-delay:.65s}.input-group label{font-weight:600;font-size:.9rem;color:var(--color-text)}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;width:20px;height:20px;color:var(--color-text-secondary);pointer-events:none;transition:color .2s ease}.input-with-icon:focus-within .input-icon{color:var(--color-primary)}.input-with-icon input{width:100%;padding:14px 44px;border:2px solid var(--color-border);border-radius:12px;font-size:1rem;background:var(--color-bg);color:var(--color-text);transition:all .25s ease}.input-with-icon input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #e67e221a;transform:translateY(-1px)}.input-with-icon input::-moz-placeholder{color:var(--color-text-secondary);opacity:.7}.input-with-icon input::placeholder{color:var(--color-text-secondary);opacity:.7}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.password-toggle .toggle-icon{width:20px;height:20px;color:var(--color-text-secondary);transition:color .2s ease}.password-toggle:hover .toggle-icon{color:var(--color-primary)}.auth-button{width:100%;padding:16px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;border:none;border-radius:14px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 20px #e67e2259;animation:fadeInUp .5s ease-out forwards;animation-delay:.7s;opacity:0;position:relative;overflow:hidden}.auth-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}.auth-button:hover:before{left:100%}.auth-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 30px #e67e2273}.auth-button:active:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #e67e2266}.auth-button:disabled{opacity:.6;cursor:not-allowed}.forgot-password-link{text-align:right;margin-top:var(--spacing-xs)}.link-button{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);text-decoration:underline;cursor:pointer;padding:0;font-weight:500}.link-button:hover{color:var(--color-primary-light)}.auth-divider{display:flex;align-items:center;text-align:center;margin:var(--spacing-lg) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border)}.auth-divider span{padding:0 var(--spacing)}.oauth-buttons{display:flex;flex-direction:column;gap:var(--spacing)}.oauth-button{width:100%;padding:12px;border:2px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing);background:var(--color-bg-card);color:var(--color-text)}.oauth-button:hover:not(:disabled){border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.oauth-button:disabled{opacity:.6;cursor:not-allowed}.oauth-icon{width:20px;height:20px}.oauth-button.google .oauth-icon{color:#4285f4}.auth-toggle{margin-top:var(--spacing-lg);text-align:center}.toggle-button{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;padding:var(--spacing-sm);transition:all .2s ease}.toggle-button:hover{text-decoration:underline}.auth-privacy{margin-top:var(--spacing-lg);padding:var(--spacing);background:var(--color-bg-secondary);border-radius:var(--radius);text-align:center}.auth-privacy p{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.5}.demo-login-section{margin-top:var(--spacing-lg);text-align:center}.demo-button{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing) var(--spacing-lg);background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #f973164d}.demo-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f9731666}.demo-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.demo-icon{font-size:1.3rem}.demo-hint{margin:var(--spacing-sm) 0 0 0;font-size:var(--font-size-xs);color:var(--color-text-secondary)}@media(max-width:640px){.auth-page{padding:var(--spacing)}.auth-card{padding:var(--spacing-lg)}.form-row{grid-template-columns:1fr}.auth-header h1{font-size:var(--font-size-2xl)}}.onboarding-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(180deg,#fff9f5,#fff5eb,#ffeee0);position:relative;overflow:hidden}.onboarding-container:before{content:"";position:absolute;top:-100px;right:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(255,183,130,.2) 0%,transparent 70%);border-radius:50%;pointer-events:none}.onboarding-container:after{content:"";position:absolute;bottom:-80px;left:-80px;width:250px;height:250px;background:radial-gradient(circle,rgba(255,213,178,.3) 0%,transparent 70%);border-radius:50%;pointer-events:none}.onboarding-step{background:#fff;border-radius:28px;padding:3rem 2rem;max-width:480px;width:100%;text-align:center;box-shadow:0 4px 6px #00000005,0 12px 24px #0000000a,0 24px 48px #8b5a2b0f;animation:fadeIn .6s ease-out;position:relative;z-index:1;border:1px solid rgba(255,183,130,.15)}.onboarding-welcome{padding:4rem 2.5rem}.onboarding-completion{padding:3.5rem 2.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.onboarding-progress{font-size:.8rem;color:#b8860b;margin-bottom:1.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;background:linear-gradient(90deg,#fff8f0,#fff2e5);padding:.5rem 1rem;border-radius:20px;display:inline-block}.onboarding-icon{font-size:4.5rem;margin-bottom:1.5rem;animation:gentleFloat 3s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(255,165,89,.2))}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.onboarding-brand{font-size:2.75rem;font-weight:800;background:linear-gradient(135deg,#e67e22,#d35400,#c0392b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;letter-spacing:-.5px}.onboarding-title{font-size:1.6rem;font-weight:700;color:#2c3e50;margin-bottom:.75rem;line-height:1.3}.onboarding-subtitle{font-size:1.1rem;font-weight:500;color:#e67e22;margin-bottom:1rem}.onboarding-description{font-size:1rem;color:#5d6d7e;line-height:1.7;margin-bottom:2rem;font-weight:400}.onboarding-form{margin:2rem 0}.onboarding-input{width:100%;padding:1.1rem 1.5rem;font-size:1rem;border:2px solid #F0E0D0;border-radius:14px;transition:all .3s ease;font-family:inherit;background-color:#fffbf8;color:#2c3e50}.onboarding-input::-moz-placeholder{color:#a0a8b0;font-weight:400}.onboarding-input::placeholder{color:#a0a8b0;font-weight:400}.onboarding-input:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 4px #e67e221a;background-color:#fff}.onboarding-input:disabled{background-color:#f8f4f0;cursor:not-allowed;opacity:.7}.onboarding-error{color:#e74c3c;font-size:.875rem;margin-top:.75rem;text-align:left;font-weight:500}.onboarding-preferences-count{background:linear-gradient(135deg,#fff8f0,#ffecd9);color:#d35400;padding:.875rem 1.25rem;border-radius:14px;font-size:.9rem;font-weight:600;margin-bottom:1.5rem;border:1px solid rgba(211,84,0,.1)}.onboarding-preferences-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem;margin-bottom:2rem}.onboarding-preference-btn{padding:1rem;font-size:.9rem;font-weight:500;border:2px solid #F0E0D0;border-radius:14px;background:#fffbf8;color:#2c3e50;cursor:pointer;transition:all .25s ease;font-family:inherit}.onboarding-preference-btn:hover{border-color:#e67e22;background-color:#fff8f0;transform:translateY(-1px)}.onboarding-preference-btn.selected{border-color:#e67e22;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;box-shadow:0 4px 12px #e67e2240}.onboarding-btn-primary{width:100%;padding:1.1rem 2rem;font-size:1.05rem;font-weight:600;color:#fff!important;background:linear-gradient(135deg,#e67e22,#d35400)!important;border:none;border-radius:14px;cursor:pointer;transition:all .3s ease;font-family:inherit;box-shadow:0 4px 14px #e67e224d}.onboarding-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#d35400,#c0392b)!important;transform:translateY(-2px);box-shadow:0 8px 24px #d3540059;color:#fff!important}.onboarding-btn-primary:disabled{opacity:.5;cursor:not-allowed;background:#bdc3c7!important;color:#fff!important;box-shadow:none}.onboarding-btn-secondary{padding:1rem 1.5rem;font-size:.9rem;font-weight:600;color:#7f8c8d;background-color:transparent;border:2px solid #E0D5CA;border-radius:14px;cursor:pointer;transition:all .3s ease;font-family:inherit}.onboarding-btn-secondary:hover{border-color:#e67e22;color:#e67e22;background-color:#fff8f0}.onboarding-actions{display:flex;gap:1rem;margin-top:2rem}.onboarding-actions .onboarding-btn-primary{flex:1}.onboarding-summary{background:linear-gradient(135deg,#fff9f5,#fff4ec);border-radius:16px;padding:1.75rem;margin-bottom:2rem;border:1px solid rgba(230,126,34,.1)}.onboarding-summary-item{font-size:.95rem;color:#2c3e50;margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem}.onboarding-summary-item:last-child{margin-bottom:0}.onboarding-summary-item strong{font-weight:600;color:#e67e22;margin-right:.5rem}.dark-mode .onboarding-container{background:linear-gradient(180deg,#1a1a1a,#2d2d2d)}.dark-mode .onboarding-step{background:#242424;color:#f5f5f5;border-color:#e67e2233}.dark-mode .onboarding-title,.dark-mode .onboarding-subtitle{color:#f5f5f5}.dark-mode .onboarding-subtitle{color:#f5a623}.dark-mode .onboarding-description{color:#a0a0a0}.dark-mode .onboarding-input{background-color:#1a1a1a;border-color:#3d3d3d;color:#f5f5f5}.dark-mode .onboarding-input:focus{border-color:#e67e22;background-color:#2d2d2d}.dark-mode .onboarding-preference-btn{background-color:#1a1a1a;border-color:#3d3d3d;color:#f5f5f5}.dark-mode .onboarding-preference-btn:hover{background-color:#e67e221a;border-color:#e67e22}.dark-mode .onboarding-summary{background:linear-gradient(135deg,#2d2d2d,#1a1a1a)}.dark-mode .onboarding-summary-item{color:#f5f5f5}@media(max-width:600px){.onboarding-container{padding:1rem .75rem}.onboarding-step{padding:2.5rem 1.75rem;border-radius:24px}.onboarding-welcome,.onboarding-completion{padding:3rem 1.75rem}.onboarding-icon{font-size:3.5rem}.onboarding-brand{font-size:2.25rem}.onboarding-title{font-size:1.4rem}.onboarding-subtitle{font-size:1rem}.onboarding-description{font-size:.95rem}.onboarding-preferences-grid{grid-template-columns:1fr;gap:.75rem}}.onboarding-accessibility-grid{display:flex;flex-direction:column;gap:1.5rem;margin:1.5rem 0;text-align:left;max-height:400px;overflow-y:auto;padding-right:.5rem}.onboarding-accessibility-grid::-webkit-scrollbar{width:6px}.onboarding-accessibility-grid::-webkit-scrollbar-track{background:#f5f0eb;border-radius:3px}.onboarding-accessibility-grid::-webkit-scrollbar-thumb{background:#e0d5ca;border-radius:3px}.onboarding-accessibility-grid::-webkit-scrollbar-thumb:hover{background:#d0c5ba}.accessibility-category{display:flex;flex-direction:column;gap:.75rem}.accessibility-category-title{font-size:.85rem;font-weight:700;color:#e67e22;text-transform:uppercase;letter-spacing:.5px;padding:.5rem 0;border-bottom:2px solid #FFF0E0;margin-bottom:.25rem}.accessibility-category-hint{font-size:.8rem;color:#7f8c8d;font-style:italic;padding:.5rem .75rem;background:linear-gradient(135deg,#fff9f5,#fff4ec);border-radius:8px;border-left:3px solid #F5A623;margin-bottom:.25rem}.onboarding-accessibility-btn{padding:1rem 1.25rem;background:#fffbf8;border:2px solid #F0E0D0;border-radius:12px;cursor:pointer;transition:all .25s ease;text-align:left}.onboarding-accessibility-btn:hover{border-color:#e67e22;background:#fff8f0;transform:translateY(-1px)}.onboarding-accessibility-btn.selected{background:linear-gradient(135deg,#fff4e8,#ffebd4);border-color:#e67e22;box-shadow:0 4px 12px #e67e2226}.accessibility-label{font-size:1rem;font-weight:600;color:#2c3e50;margin-bottom:.35rem}.accessibility-description{font-size:.875rem;color:#7f8c8d;line-height:1.4}.onboarding-accessibility-btn.selected .accessibility-label{color:#d35400}@media(max-width:640px){.onboarding-accessibility-grid{gap:1rem;max-height:350px}.accessibility-category{gap:.5rem}.accessibility-category-title{font-size:.8rem}.onboarding-accessibility-btn{padding:.875rem 1rem}.accessibility-label{font-size:.9rem}.accessibility-description{font-size:.8rem}}.join-nest-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff9f5,#ffeee0,#ffe4d0);padding:20px}.join-nest-container{background:#fff;border-radius:20px;padding:40px;max-width:440px;width:100%;box-shadow:0 10px 40px #e67e221a}.join-nest-header{text-align:center;margin-bottom:30px}.join-icon{font-size:60px;margin-bottom:16px}.join-nest-header h1{font-size:24px;font-weight:700;color:#e67e22;margin-bottom:8px}.join-nest-header p{color:#666;font-size:14px}.error-message{background:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:10px;margin-bottom:20px;display:flex;align-items:center;gap:8px;font-size:14px}.success-message{background:#dcfce7;border:1px solid #bbf7d0;color:#16a34a;padding:16px;border-radius:10px;margin-bottom:20px;display:flex;align-items:center;gap:8px;font-size:16px;font-weight:500;justify-content:center}.join-nest-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#374151}.form-group input{padding:14px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:18px;font-family:SF Mono,Menlo,monospace;letter-spacing:2px;text-align:center;transition:all .2s ease}.form-group input:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 3px #e67e221a}.form-group input::-moz-placeholder{color:#9ca3af;letter-spacing:1px}.form-group input::placeholder{color:#9ca3af;letter-spacing:1px}.join-btn{background:linear-gradient(135deg,#e67e22,#f5a623);color:#fff;padding:14px 24px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.join-btn:hover:not(:disabled){background:linear-gradient(135deg,#d35400,#e67e22);transform:translateY(-1px)}.join-btn:disabled{background:#9ca3af;cursor:not-allowed}.cancel-btn{background:transparent;color:#666;padding:12px 24px;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.join-nest-help{margin-top:30px;padding-top:20px;border-top:1px solid #e5e7eb;text-align:center}.join-nest-help p{font-size:13px;color:#6b7280;margin-bottom:8px}.join-nest-help strong{color:#e67e22;font-family:SF Mono,Menlo,monospace}body.dark-mode .join-nest-page{background:linear-gradient(135deg,#1a1a1a,#0d1412)}body.dark-mode .join-nest-container{background:#1e1e1e;box-shadow:0 10px 40px #0000004d}body.dark-mode .join-nest-header h1{color:#4ade80}body.dark-mode .join-nest-header p{color:#9ca3af}body.dark-mode .form-group label{color:#d1d5db}body.dark-mode .form-group input{background:#2d2d2d;border-color:#404040;color:#fff}body.dark-mode .form-group input:focus{border-color:#4ade80;box-shadow:0 0 0 3px #4ade801a}body.dark-mode .join-btn{background:#16a34a}body.dark-mode .join-btn:hover:not(:disabled){background:#15803d}body.dark-mode .cancel-btn{color:#9ca3af;border-color:#404040}body.dark-mode .cancel-btn:hover:not(:disabled){background:#2d2d2d;border-color:#525252}body.dark-mode .join-nest-help{border-top-color:#404040}body.dark-mode .join-nest-help p{color:#9ca3af}body.dark-mode .join-nest-help strong{color:#4ade80}.faq-page{min-height:100vh;background:#faf5ff;background:linear-gradient(180deg,#faf5ff,#f0f9ff,#f0fdf4);padding-bottom:100px;color:#1e293b}.faq-header{background:linear-gradient(135deg,#f5a623,#f39c12,#d35400);padding:16px 20px 24px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:100}.faq-back-btn{background:#fff3;border:none;border-radius:12px;padding:10px;color:#fff;cursor:pointer;transition:all .2s ease}.faq-back-btn:hover{background:#ffffff4d;transform:scale(1.05)}.faq-header-content{display:flex;align-items:center;gap:14px;flex:1}.faq-header-icon{width:40px;height:40px;color:#fff;background:#fff3;padding:8px;border-radius:12px}.faq-header h1{margin:0;font-size:22px;font-weight:700;color:#fff}.faq-header p{margin:2px 0 0;font-size:14px;color:#fffc}.faq-categories{display:flex;gap:8px;padding:16px 20px;overflow-x:auto;background:#fff;border-bottom:1px solid #e5e7eb;-webkit-overflow-scrolling:touch}.faq-categories::-webkit-scrollbar{display:none}.faq-category-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;border:1px solid #e5e7eb;background:#fff;color:#64748b;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.faq-category-btn:hover{border-color:#f5a623;color:#f5a623}.faq-category-btn.active{background:linear-gradient(135deg,#f5a623,#f39c12);border-color:transparent;color:#fff}.faq-content{padding:20px}.faq-list{display:flex;flex-direction:column;gap:12px}.faq-item{background:#fff;border-radius:16px;border:1px solid #e5e7eb;overflow:hidden;transition:all .3s ease}.faq-item:hover{border-color:#c4b5fd;box-shadow:0 4px 12px #8b5cf61a}.faq-item.open{border-color:#f5a623;box-shadow:0 4px 16px #8b5cf626}.faq-question{width:100%;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:none;cursor:pointer;text-align:left}.faq-question span{font-size:15px;font-weight:600;color:#1e293b;flex:1;line-height:1.4}.faq-question svg{color:#f5a623;flex-shrink:0}.faq-answer{padding:0 20px 18px;animation:fadeIn .3s ease}.faq-answer p{margin:0;font-size:14px;color:#64748b;line-height:1.7;padding-top:12px;border-top:1px solid #f1f5f9}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.faq-contact{margin-top:32px;padding:28px 24px;background:linear-gradient(135deg,#faf5ff,#fce7f3);border-radius:20px;text-align:center;border:1px solid #e9d5ff}.faq-contact-icon{width:48px;height:48px;color:#ec4899;margin-bottom:12px}.faq-contact h3{margin:0 0 6px;font-size:18px;font-weight:700;color:#1e293b}.faq-contact p{margin:0 0 20px;font-size:14px;color:#64748b}.faq-contact-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,#f5a623,#f39c12);color:#fff;font-size:15px;font-weight:600;border-radius:14px;text-decoration:none;transition:all .2s ease}.faq-contact-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf666}.faq-links{margin-top:24px;display:flex;flex-direction:column;gap:12px}.faq-link{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;color:#64748b;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s ease}.faq-link:hover{border-color:#f5a623;color:#f39c12;background:#faf5ff}body.dark-mode .faq-page{background:linear-gradient(180deg,#1e1b4b,#0f172a)}body.dark-mode .faq-header{background:linear-gradient(135deg,#5b21b6,#4c1d95,#3b0764)}body.dark-mode .faq-categories{background:#1e293b;border-color:#334155}body.dark-mode .faq-category-btn{background:#0f172a;border-color:#334155;color:#94a3b8}body.dark-mode .faq-category-btn:hover{border-color:#f5a623;color:#a78bfa}body.dark-mode .faq-category-btn.active{background:linear-gradient(135deg,#f39c12,#d35400)}body.dark-mode .faq-item{background:#1e293b;border-color:#334155}body.dark-mode .faq-item:hover{border-color:#d35400}body.dark-mode .faq-item.open{border-color:#f5a623;box-shadow:0 4px 16px #8b5cf633}body.dark-mode .faq-question span{color:#f1f5f9}body.dark-mode .faq-question svg{color:#a78bfa}body.dark-mode .faq-answer p{color:#94a3b8;border-color:#334155}body.dark-mode .faq-contact{background:linear-gradient(135deg,#312e81,#1e1b4b);border-color:#4c1d95}body.dark-mode .faq-contact h3{color:#f1f5f9}body.dark-mode .faq-contact p{color:#94a3b8}body.dark-mode .faq-contact-btn{background:linear-gradient(135deg,#f39c12,#d35400)}body.dark-mode .faq-link{background:#1e293b;border-color:#334155;color:#94a3b8}body.dark-mode .faq-link:hover{border-color:#d35400;color:#a78bfa;background:#8b5cf61a}@media(max-width:480px){.faq-header{padding:14px 16px 20px}.faq-header h1{font-size:20px}.faq-categories{padding:12px 16px}.faq-content,.faq-question{padding:16px}.faq-question span{font-size:14px}.faq-answer{padding:0 16px 16px}.faq-answer p{font-size:13px}}.guide-page{min-height:100vh;background:#fff9f5;background:linear-gradient(180deg,#fff9f5,#ffeee4,#ffe4d0);padding-bottom:100px;color:#1e293b}.guide-header{background:linear-gradient(135deg,#e67e22,#f5a623,#ffb347);padding:16px 20px 24px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:100}.guide-back-btn{background:#fff3;border:none;border-radius:12px;padding:10px;color:#fff;cursor:pointer;transition:all .2s ease}.guide-back-btn:hover{background:#ffffff4d;transform:scale(1.05)}.guide-header-content{display:flex;align-items:center;gap:14px;flex:1}.guide-header-icon{width:40px;height:40px;color:#fff;background:#fff3;padding:8px;border-radius:12px}.guide-header h1{margin:0;font-size:22px;font-weight:700;color:#fff}.guide-header p{margin:2px 0 0;font-size:14px;color:#fffc}.guide-nav{display:flex;gap:8px;padding:16px 20px;overflow-x:auto;background:#fff;border-bottom:1px solid #e5e7eb;-webkit-overflow-scrolling:touch}.guide-nav::-webkit-scrollbar{display:none}.guide-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 16px;border-radius:14px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.guide-nav-item:hover{border-color:var(--section-color, #F5A623);transform:translateY(-2px)}.guide-nav-item.active{background:var(--section-color, #F5A623);border-color:transparent;color:#fff;box-shadow:0 4px 12px #e67e224d}.guide-nav-icon{font-size:20px}.guide-nav-title{font-size:11px;font-weight:600;color:inherit;white-space:nowrap}.guide-nav-item:not(.active) .guide-nav-title{color:#64748b}.guide-content{padding:20px}.guide-section{animation:fadeSlideIn .3s ease}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.guide-section-header{padding:28px 24px;border-radius:20px;text-align:center;margin-bottom:24px}.guide-section-emoji{font-size:48px;display:block;margin-bottom:12px}.guide-section-header h2{margin:0 0 8px;font-size:24px;font-weight:700;color:#fff}.guide-section-header p{margin:0;font-size:15px;color:#ffffffe6;line-height:1.5}.guide-steps{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.guide-step{display:flex;gap:16px;padding:18px 20px;background:#fff;border-radius:16px;border:1px solid #e5e7eb;transition:all .2s ease}.guide-step:hover{border-color:#c4b5fd;box-shadow:0 4px 12px #8b5cf61a;transform:translate(4px)}.guide-step-number{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}.guide-step-content h4{margin:0 0 6px;font-size:15px;font-weight:600;color:#1e293b}.guide-step-content p{margin:0;font-size:14px;color:#64748b;line-height:1.5}.guide-examples{margin-bottom:24px;padding:20px;background:#fff;border-radius:16px;border:1px solid #e5e7eb}.guide-examples h4{margin:0 0 14px;font-size:14px;font-weight:600;color:#64748b}.guide-examples-list{display:flex;flex-direction:column;gap:10px}.guide-example{padding:12px 16px;background:linear-gradient(135deg,#fef3c7,#fef9c3);border-radius:12px;font-size:14px;color:#92400e;border:1px solid #fde68a}.guide-tip{padding:18px 20px;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border-radius:14px;font-size:14px;color:#1e40af;line-height:1.5;border:1px solid #bfdbfe;margin-bottom:24px}.guide-navigation{display:flex;justify-content:space-between;gap:12px;margin-bottom:24px}.guide-nav-btn{display:flex;align-items:center;gap:8px;padding:14px 20px;border-radius:14px;border:1px solid #e5e7eb;background:#fff;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.guide-nav-btn:hover{border-color:#f5a623;color:#f39c12;background:#faf5ff}.guide-nav-btn.next{margin-left:auto;background:linear-gradient(135deg,#f5a623,#f39c12);border:none;color:#fff}.guide-nav-btn.next:hover{transform:translate(4px);box-shadow:0 4px 12px #8b5cf64d}.guide-progress{display:flex;align-items:center;gap:12px;margin-bottom:32px}.guide-progress-bar{flex:1;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.guide-progress-fill{height:100%;background:linear-gradient(90deg,#f5a623,#e67e22);border-radius:3px;transition:width .3s ease}.guide-progress span{font-size:13px;font-weight:600;color:#f5a623;white-space:nowrap}.guide-cta{padding:32px 24px;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-radius:20px;text-align:center;border:1px solid #bbf7d0}.guide-cta-icon{width:48px;height:48px;color:#10b981;margin-bottom:12px}.guide-cta h3{margin:0 0 6px;font-size:20px;font-weight:700;color:#1e293b}.guide-cta p{margin:0 0 24px;font-size:14px;color:#64748b}.guide-cta-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.guide-cta-btn{display:flex;align-items:center;gap:8px;padding:14px 24px;border-radius:14px;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s ease}.guide-cta-btn.primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.guide-cta-btn.primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #10b98166}.guide-cta-btn.secondary{background:#fff;color:#64748b;border:1px solid #e5e7eb}.guide-cta-btn.secondary:hover{border-color:#f5a623;color:#f39c12}body.dark-mode .guide-page{background:linear-gradient(180deg,#1e1b4b,#0f172a)}body.dark-mode .guide-header{background:linear-gradient(135deg,#4338ca,#6d28d9,#f39c12)}body.dark-mode .guide-nav{background:#1e293b;border-color:#334155}body.dark-mode .guide-nav-item{background:#0f172a;border-color:#334155}body.dark-mode .guide-nav-item:not(.active) .guide-nav-title{color:#94a3b8}body.dark-mode .guide-nav-item:hover{border-color:var(--section-color, #F5A623)}body.dark-mode .guide-step{background:#1e293b;border-color:#334155}body.dark-mode .guide-step:hover{border-color:#6d28d9}body.dark-mode .guide-step-content h4{color:#f1f5f9}body.dark-mode .guide-step-content p{color:#94a3b8}body.dark-mode .guide-examples{background:#1e293b;border-color:#334155}body.dark-mode .guide-examples h4{color:#94a3b8}body.dark-mode .guide-example{background:linear-gradient(135deg,#451a03,#78350f);border-color:#92400e;color:#fef3c7}body.dark-mode .guide-tip{background:linear-gradient(135deg,#1e3a8a,#312e81);border-color:#3730a3;color:#a5b4fc}body.dark-mode .guide-nav-btn{background:#1e293b;border-color:#334155;color:#94a3b8}body.dark-mode .guide-nav-btn:hover{border-color:#6d28d9;color:#a78bfa;background:#8b5cf61a}body.dark-mode .guide-nav-btn.next{background:linear-gradient(135deg,#f39c12,#6d28d9)}body.dark-mode .guide-progress-bar{background:#334155}body.dark-mode .guide-progress span{color:#a78bfa}body.dark-mode .guide-cta{background:linear-gradient(135deg,#064e3b,#065f46);border-color:#047857}body.dark-mode .guide-cta h3{color:#f1f5f9}body.dark-mode .guide-cta p{color:#a7f3d0}body.dark-mode .guide-cta-btn.secondary{background:#1e293b;border-color:#334155;color:#94a3b8}body.dark-mode .guide-cta-btn.secondary:hover{border-color:#6d28d9;color:#a78bfa}@media(max-width:480px){.guide-header{padding:14px 16px 20px}.guide-header h1{font-size:20px}.guide-nav{padding:12px 16px}.guide-nav-item{padding:8px 14px}.guide-nav-icon{font-size:18px}.guide-content{padding:16px}.guide-section-header{padding:24px 20px}.guide-section-emoji{font-size:40px}.guide-section-header h2{font-size:20px}.guide-step{padding:14px 16px}.guide-step-number{width:28px;height:28px;font-size:12px}.guide-navigation{flex-direction:column}.guide-nav-btn.next{margin-left:0}}.post-page{min-height:100vh;background:var(--background, #f5f5f5)}.post-page-header{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:100}.post-page-header h1{font-size:1.25rem;font-weight:600;margin:0;color:var(--text-primary, #1a1a1a)}.post-page-header .back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:#f0f0f0;border-radius:50%;cursor:pointer;transition:background .2s}.post-page-header .back-button:hover{background:#e0e0e0}.post-page-header .back-button .icon{width:20px;height:20px;color:var(--text-primary, #1a1a1a)}.post-page-content{padding:1rem;max-width:600px;margin:0 auto}.post-page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:3rem 1rem;text-align:center}.post-page-error p{color:var(--text-secondary, #666);font-size:1rem}.post-page-error .btn-primary{padding:.75rem 1.5rem;background:var(--primary, #F97316);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.post-page-error .btn-primary:hover{background:var(--primary-dark, #ea580c)}body.dark-mode .post-page{background:#121212}body.dark-mode .post-page-header{background:#1a1a1a;border-bottom-color:#333}body.dark-mode .post-page-header h1{color:#f5f5f5}body.dark-mode .post-page-header .back-button{background:#333}body.dark-mode .post-page-header .back-button:hover{background:#444}body.dark-mode .post-page-header .back-button .icon{color:#f5f5f5}body.dark-mode .post-page-error p{color:#aaa}:root{--chat-bg: linear-gradient(180deg, #f0f4f8 0%, #e8f0f7 100%);--chat-header-bg: #ffffff;--chat-input-bg: #ffffff;--chat-bubble-own: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);--chat-bubble-other: #ffffff;--chat-text: #1e293b;--chat-text-secondary: #64748b;--chat-text-own: #ffffff;--chat-border: #e2e8f0;--chat-avatar-bg: linear-gradient(135deg, #E67E22, #F5A623);--chat-shadow: 0 2px 12px rgba(0, 0, 0, .08)}body.dark-mode{--chat-bg: linear-gradient(180deg, #0a0a0a 0%, #111111 100%);--chat-header-bg: #1a1a1a;--chat-input-bg: #1a1a1a;--chat-bubble-own: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);--chat-bubble-other: #262626;--chat-text: #ffffff;--chat-text-secondary: #a1a1aa;--chat-text-own: #ffffff;--chat-border: #333333;--chat-shadow: 0 2px 12px rgba(0, 0, 0, .3)}.chat-page{display:flex;flex-direction:column;height:calc(100vh - 80px);background:var(--chat-bg);position:relative}.chat-loading,.chat-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--chat-text-secondary);text-align:center;padding:2rem}.chat-loading-spinner{width:40px;height:40px;border:3px solid var(--chat-border);border-top-color:#22c55e;border-radius:50%;animation:spin 1s linear infinite}.chat-empty-icon{font-size:4rem}.chat-empty-state h2{color:var(--chat-text);margin:0;font-size:1.25rem}.chat-empty-state p{margin:0;font-size:.9rem}.chat-header{background:var(--chat-header-bg);border-bottom:1px solid var(--chat-border);padding:1rem;position:sticky;top:0;z-index:10}.chat-header-content{margin-bottom:1rem}.chat-title{font-size:1.75rem;font-weight:700;color:var(--chat-text);margin:0}.chat-members-scroll{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none;-ms-overflow-style:none}.chat-members-scroll::-webkit-scrollbar{display:none}.chat-member-item{display:flex;flex-direction:column;align-items:center;gap:.375rem;min-width:60px}.chat-member-avatar{width:56px;height:56px;border-radius:50%;background:var(--chat-avatar-bg);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border:2px solid transparent;background-origin:border-box}.chat-member-avatar:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;padding:3px;background:linear-gradient(135deg,#22c55e,#16a34a,#22c55e);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.8}.chat-member-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.chat-member-avatar span{color:#fff;font-weight:600;font-size:1.125rem;z-index:1}.chat-member-online{position:absolute;bottom:2px;right:2px;width:14px;height:14px;background:#22c55e;border-radius:50%;border:2px solid var(--chat-bg);z-index:2}.chat-member-name{font-size:.75rem;color:var(--chat-text);text-align:center;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.25rem}.chat-no-messages{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--chat-text-secondary);text-align:center}.chat-no-messages span{font-size:3rem;margin-bottom:.5rem}.chat-no-messages p{margin:.25rem 0}.chat-no-messages .hint{font-size:.875rem;opacity:.7}.chat-date-divider{display:flex;justify-content:center;margin:1rem 0}.chat-date-divider span{background:var(--chat-border);padding:.375rem 1rem;border-radius:999px;font-size:.75rem;color:var(--chat-text-secondary);font-weight:500}.chat-message{display:flex;align-items:flex-end;gap:.5rem;max-width:75%;animation:messageIn .2s ease-out}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.own{align-self:flex-end;flex-direction:row-reverse}.chat-message.other{align-self:flex-start}.chat-message-avatar{width:32px;height:32px;border-radius:50%;background:var(--chat-avatar-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.chat-message-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.chat-message-avatar span{color:#fff;font-weight:600;font-size:.75rem}.chat-message-content{display:flex;flex-direction:column;gap:.25rem;position:relative}.chat-message-sender{font-size:.75rem;color:var(--chat-text-secondary);margin-left:.75rem;font-weight:500}.chat-message-bubble{padding:.75rem 1rem;border-radius:1.25rem;position:relative;max-width:100%;box-shadow:var(--chat-shadow);transition:transform .15s ease}.chat-message-bubble:active{transform:scale(.98)}.chat-message.other .chat-message-bubble{background:var(--chat-bubble-other);color:var(--chat-text);border-bottom-left-radius:.25rem}.chat-message.own .chat-message-bubble{background:var(--chat-bubble-own);color:var(--chat-text-own);border-bottom-right-radius:.25rem}.chat-message-bubble p{margin:0;font-size:.9375rem;line-height:1.4;word-break:break-word}.chat-message-time{font-size:.625rem;opacity:.7;margin-top:.25rem;display:block;text-align:right}.chat-message-delete{position:absolute;left:-36px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:#ef4444;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;animation:fadeIn .2s ease-out forwards;transition:transform .2s}@keyframes fadeIn{to{opacity:1}}.chat-message-delete:hover{transform:translateY(-50%) scale(1.1)}.chat-message.selected .chat-message-bubble{box-shadow:0 0 0 2px #ef4444}.chat-input-container{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--chat-input-bg);border-top:1px solid var(--chat-border);box-shadow:0 -4px 20px #0000000d}.chat-input-action{width:44px;height:44px;border-radius:50%;background:transparent;border:none;color:var(--chat-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.chat-input-action:hover{color:#22c55e;background:#22c55e1a}.chat-input{flex:1;padding:.875rem 1.25rem;border:2px solid var(--chat-border);border-radius:999px;font-size:1rem;outline:none;background:var(--chat-bg);color:var(--chat-text);transition:all .2s}.chat-input:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.chat-input::-moz-placeholder{color:var(--chat-text-secondary)}.chat-input::placeholder{color:var(--chat-text-secondary)}.chat-send-btn{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0;box-shadow:0 4px 12px #22c55e59}.chat-send-btn:hover:not(:disabled){transform:scale(1.08);box-shadow:0 6px 16px #22c55e73}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-voice-btn{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0;box-shadow:0 4px 12px #22c55e59}.chat-voice-btn:hover:not(:disabled){transform:scale(1.08);box-shadow:0 6px 16px #22c55e73}@media(max-width:480px){.chat-member-avatar{width:50px;height:50px}.chat-member-item{min-width:54px}.chat-message{max-width:85%}.chat-emoji-grid{grid-template-columns:repeat(6,1fr)}}.chat-member-count{font-size:.8rem;color:var(--chat-text-secondary);margin-top:.25rem}.chat-emoji-picker,.chat-sticker-picker{position:absolute;bottom:80px;left:1rem;right:1rem;background:var(--chat-header-bg);border-radius:1rem;box-shadow:0 -4px 20px #00000026;z-index:100;animation:slideUp .2s ease-out;border:1px solid var(--chat-border);max-height:320px;overflow:hidden;display:flex;flex-direction:column}.chat-picker-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--chat-border);flex-shrink:0}.chat-picker-header span{font-weight:600;color:var(--chat-text)}.chat-picker-header button{background:none;border:none;color:var(--chat-text-secondary);cursor:pointer;padding:.25rem}.chat-emoji-categories{display:flex;gap:.25rem;padding:.5rem;border-bottom:1px solid var(--chat-border);overflow-x:auto;flex-shrink:0}.chat-category-btn{padding:.5rem;border:none;background:transparent;font-size:1.25rem;cursor:pointer;border-radius:.5rem;transition:all .2s;flex-shrink:0}.chat-category-btn:hover,.chat-category-btn.active{background:var(--chat-border)}.chat-category-btn.active{background:var(--chat-bubble-own)}.chat-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.25rem;padding:.75rem;overflow-y:auto;flex:1}.chat-emoji-btn{width:100%;aspect-ratio:1;border:none;background:transparent;font-size:1.5rem;cursor:pointer;border-radius:.5rem;transition:all .15s;display:flex;align-items:center;justify-content:center}.chat-emoji-btn:hover{background:var(--chat-border);transform:scale(1.15)}.chat-sticker-packs{display:flex;gap:.5rem;padding:.5rem 1rem;border-bottom:1px solid var(--chat-border);overflow-x:auto;flex-shrink:0}.chat-pack-btn{padding:.5rem 1rem;border:none;background:var(--chat-border);color:var(--chat-text);font-size:.8rem;cursor:pointer;border-radius:999px;transition:all .2s;white-space:nowrap}.chat-pack-btn:hover,.chat-pack-btn.active{background:var(--chat-bubble-own);color:#fff}.chat-sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:1rem;overflow-y:auto;flex:1}.chat-sticker-btn{width:100%;aspect-ratio:1;border:none;background:var(--chat-border);font-size:2.5rem;cursor:pointer;border-radius:1rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.chat-sticker-btn:hover{transform:scale(1.1);background:var(--chat-bubble-other)}.chat-attach-menu{position:absolute;bottom:80px;left:1rem;display:flex;gap:.5rem;background:var(--chat-header-bg);border-radius:1rem;padding:.75rem;box-shadow:0 -4px 20px #00000026;z-index:100;animation:slideUp .2s ease-out;border:1px solid var(--chat-border)}.chat-attach-menu button{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1rem;border:none;background:transparent;color:var(--chat-text);cursor:pointer;border-radius:.75rem;transition:all .2s}.chat-attach-menu button:hover{background:var(--chat-border)}.chat-attach-menu button span{font-size:.7rem;color:var(--chat-text-secondary)}.chat-attach-menu .attach-emoji{font-size:1.5rem}.chat-recording-bar{display:flex;align-items:center;gap:1rem;padding:1rem;background:#ef4444;color:#fff}.chat-recording-dot{width:12px;height:12px;background:#fff;border-radius:50%;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.chat-recording-time{font-family:monospace;font-size:1.1rem}.chat-recording-cancel,.chat-recording-stop{width:40px;height:40px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s}.chat-recording-cancel:hover,.chat-recording-stop:hover{transform:scale(1.1)}.chat-audio-preview{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--chat-input-bg);border-top:1px solid var(--chat-border)}.chat-audio-cancel{background:#ef4444;color:#fff}.chat-audio-cancel:hover,.chat-audio-send:hover{transform:scale(1.1)}.chat-voice-btn{width:44px;height:44px;border-radius:50%;background:#22c55e;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.chat-voice-btn:hover:not(:disabled){background:#16a34a;transform:scale(1.05)}.chat-voice-btn:disabled{opacity:.5;cursor:not-allowed}.chat-media-content{position:relative;border-radius:.75rem;overflow:hidden}.chat-image{max-width:280px;max-height:300px;width:100%;height:auto;display:block;cursor:pointer;transition:opacity .2s}.chat-image:hover{opacity:.9}.chat-video{max-width:280px;max-height:300px;width:100%;border-radius:.5rem}.chat-media-caption{padding:.5rem 0 0;margin:0;font-size:.875rem}.chat-upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;font-size:2rem;animation:pulse 1s infinite}.chat-audio-content{display:flex;align-items:center;gap:.75rem;min-width:200px}.chat-audio-icon{font-size:1.5rem}.chat-audio{flex:1;height:36px}.chat-audio-duration{font-size:.75rem;opacity:.7}.chat-document-content{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#0000001a;border-radius:.5rem;text-decoration:none;color:inherit;min-width:200px;transition:background .2s}.chat-document-content:hover{background:#0003}.chat-document-icon{width:40px;height:40px;background:#fff3;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.chat-document-info{flex:1;display:flex;flex-direction:column;gap:.125rem;overflow:hidden}.chat-document-name{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-document-size{font-size:.7rem;opacity:.7}.chat-document-download{opacity:.7}.chat-sticker-content{background:transparent!important}.chat-sticker{font-size:4rem;line-height:1}.chat-message-bubble.sticker{background:transparent!important;padding:.25rem}.chat-link-content p{margin:0 0 .5rem}.chat-link-preview{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#0000001a;border-radius:.5rem;text-decoration:none;color:inherit;font-size:.8rem;transition:background .2s}.chat-link-preview:hover{background:#0003}.chat-media-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease-out}.chat-modal-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;background:#fff3;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.chat-modal-close:hover{background:#ffffff4d}.chat-modal-image{max-width:100%;max-height:90vh;-o-object-fit:contain;object-fit:contain;border-radius:.5rem}.chat-upload-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--chat-header-bg);padding:1.5rem 2rem;border-radius:1rem;box-shadow:0 4px 20px #0000004d;display:flex;align-items:center;gap:1rem;z-index:1001;color:var(--chat-text)}.chat-upload-spinner{width:24px;height:24px;border:3px solid var(--chat-border);border-top-color:#22c55e;border-radius:50%;animation:spin 1s linear infinite}.chat-message-bubble.image,.chat-message-bubble.video{padding:.25rem;background:transparent!important}.chat-message.own .chat-message-bubble.image,.chat-message.own .chat-message-bubble.video,.chat-message.other .chat-message-bubble.image,.chat-message.other .chat-message-bubble.video{background:transparent!important}.chat-message-bubble.image .chat-message-time,.chat-message-bubble.video .chat-message-time{position:absolute;bottom:.5rem;right:.5rem;background:#0009;padding:.125rem .5rem;border-radius:999px;color:#fff}.chat-message.editing .chat-message-bubble{background:var(--chat-input-bg)!important;border:2px solid #22c55e}.chat-edit-container{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.chat-edit-input{width:100%;padding:.5rem;border:none;border-radius:.5rem;background:var(--chat-bg);color:var(--chat-text);font-size:.9375rem;outline:none}.chat-edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.chat-edit-cancel,.chat-edit-save{width:32px;height:32px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.chat-edit-cancel{background:#ef44441a;color:#ef4444}.chat-edit-cancel:hover{background:#ef444433}.chat-edit-save{background:#22c55e;color:#fff}.chat-edit-save:hover{background:#16a34a}.chat-message-actions{display:flex;gap:.25rem;position:absolute;left:-60px;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .2s}.chat-message.own.selected .chat-message-actions{opacity:1}.chat-message-edit,.chat-message-delete{width:28px;height:28px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;background:var(--chat-border);color:var(--chat-text-secondary)}.chat-message-edit:hover{background:#3b82f6;color:#fff}.chat-message-delete:hover{background:#ef4444;color:#fff}.chat-message-meta{display:flex;align-items:center;gap:.375rem;margin-top:.25rem}.chat-message-edited{font-size:.6875rem;font-style:italic;opacity:.7}.chat-audio-content{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;min-width:200px}.chat-audio-icon{width:40px;height:40px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.chat-message.other .chat-audio-icon{background:#0000001a}.chat-audio{flex:1;height:36px;border-radius:999px}.chat-audio::-webkit-media-controls-panel{background:transparent}.chat-audio::-webkit-media-controls-current-time-display,.chat-audio::-webkit-media-controls-time-remaining-display{color:inherit;font-size:.75rem}.chat-audio-duration{font-size:.75rem;opacity:.8;font-variant-numeric:tabular-nums}.chat-recording-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;animation:recordingPulse 1.5s ease-in-out infinite}@keyframes recordingPulse{0%,to{opacity:1}50%{opacity:.85}}.chat-recording-indicator{display:flex;align-items:center;gap:.5rem;flex:1}.chat-recording-dot{width:12px;height:12px;background:#fff;border-radius:50%;animation:recordingBlink 1s ease-in-out infinite}@keyframes recordingBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.chat-recording-time{font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums}.chat-recording-cancel,.chat-recording-stop{width:40px;height:40px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.chat-recording-cancel{background:#fff3;color:#fff}.chat-recording-cancel:hover{background:#ffffff4d}.chat-recording-stop{background:#fff;color:#ef4444}.chat-recording-stop:hover{transform:scale(1.1)}.chat-audio-preview{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--chat-header-bg);border-top:1px solid var(--chat-border)}.chat-audio-preview audio{flex:1;height:40px}.chat-audio-cancel,.chat-audio-send{width:44px;height:44px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.chat-audio-cancel{background:var(--chat-border);color:var(--chat-text-secondary)}.chat-audio-cancel:hover{background:#ef4444;color:#fff}.chat-audio-send{background:#22c55e;color:#fff}.chat-audio-send:hover{background:#16a34a;transform:scale(1.05)}.chat-audio-send:disabled{opacity:.5;cursor:not-allowed;transform:none}.news-page{background:#fff9f5;min-height:100vh;padding-bottom:100px}.news-header{background:linear-gradient(135deg,#e67e22,#f5a623,#ffb347);padding:1.25rem 1rem 2.5rem;margin-bottom:-1.25rem;position:relative;display:flex;justify-content:space-between;align-items:flex-start}.news-header-content{position:relative;z-index:2}.news-header h1{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:1.35rem;font-weight:700;margin:0 0 .25rem}.news-header h1 svg{width:1.35rem;height:1.35rem}.news-header p{color:#ffffffe6;margin:0;font-size:.75rem}.news-refresh-btn{background:#fff3;border:1.5px solid rgba(255,255,255,.3);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s ease}.news-refresh-btn:hover{background:#ffffff4d}.news-refresh-btn.refreshing svg{animation:spin 1s linear infinite}.news-refresh-btn svg{width:1rem;height:1rem}.news-categories{display:flex;gap:6px;padding:.5rem .75rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);margin:0 .75rem;border-radius:14px;box-shadow:0 4px 16px #00000014;position:relative;z-index:10}.news-categories::-webkit-scrollbar{display:none}.news-category-chip{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:16px;font-size:.7rem;font-weight:600;color:#475569;white-space:nowrap;cursor:pointer;transition:all .2s ease;flex-shrink:0}.news-category-chip:hover{border-color:var(--cat-color, #E67E22);color:var(--cat-color, #E67E22)}.news-category-chip.active{background:linear-gradient(135deg,#e67e22,#f5a623);border-color:transparent;color:#fff;box-shadow:0 2px 6px #e67e224d}.category-emoji{font-size:.85rem;line-height:1}.category-name{font-size:.7rem}@media(max-width:400px){.news-category-chip .category-name{display:none}.news-category-chip{padding:6px 8px;min-width:32px;justify-content:center}}@media(min-width:401px)and (max-width:640px){.news-categories{gap:5px;padding:.5rem}.news-category-chip{font-size:.65rem;padding:5px 8px}.category-emoji{font-size:.8rem}}.news-main{padding:.875rem .5rem}.news-loading{display:flex;justify-content:center;padding:2rem}.news-loader{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:#94a3b8}.news-loader svg{color:#e67e22;width:2.5rem;height:2.5rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.95)}}.news-error,.news-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:#64748b}.error-emoji,.empty-emoji{font-size:3rem;margin-bottom:1rem}.news-error h3,.news-empty h3{margin:0 0 .5rem;font-size:1.25rem;color:#1e293b}.retry-btn{display:flex;align-items:center;gap:.35rem;padding:.6rem 1.25rem;background:linear-gradient(135deg,#e67e22,#f5a623);border:none;border-radius:10px;color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;margin-top:.75rem}.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem;padding:0 .25rem}@media(max-width:360px){.news-grid{grid-template-columns:1fr;gap:.75rem}}@media(min-width:640px){.news-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media(min-width:1024px){.news-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}.news-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 6px #0000000d;cursor:pointer;transition:all .2s ease;position:relative;animation:fadeInUp .25s ease-out both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.news-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.news-card-image{height:120px;overflow:hidden;position:relative}.news-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .25s ease}.news-source-badge{position:absolute;bottom:6px;left:6px;background:#000000b3;color:#fff;padding:3px 8px;border-radius:10px;font-size:.6rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.news-card:hover .news-card-image img{transform:scale(1.03)}.news-card-placeholder{height:100px;background:linear-gradient(135deg,var(--placeholder-color, #E67E22)15 0%,var(--placeholder-color, #E67E22)25 100%);display:flex;align-items:center;justify-content:center}.placeholder-emoji{font-size:2.5rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.news-card-content{padding:.75rem}.news-card-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.news-source{display:flex;align-items:center;gap:.25rem;font-size:.65rem;font-weight:600;color:#64748b}.news-date{display:flex;align-items:center;gap:.2rem;font-size:.6rem;color:#94a3b8}.news-date svg{width:10px;height:10px}.news-card-title{margin:0 0 .35rem;font-size:.82rem;font-weight:700;color:#1e293b;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-card-desc{margin:0 0 .5rem;font-size:.7rem;color:#64748b;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-card-footer{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.news-category-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .5rem;border-radius:6px;font-size:.6rem;font-weight:600}.news-location{display:flex;align-items:center;gap:.2rem;font-size:.6rem;color:#94a3b8}.news-save-btn{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;background:#ffffffe6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#94a3b8;cursor:pointer;transition:all .2s ease}.news-save-btn svg{width:14px;height:14px}.news-save-btn:hover{background:#fff;color:#e67e22;transform:scale(1.05)}.news-save-btn.saved{color:#e67e22}.news-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:.75rem;animation:fadeIn .2s ease-out}.news-modal{background:#fff;border-radius:24px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.news-modal-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#475569;cursor:pointer;z-index:10;transition:all .2s}.news-modal-close:hover{background:#f1f5f9}.news-modal-image{height:200px;overflow:hidden}.news-modal-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.news-modal-content{padding:1.5rem}.news-modal-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.news-modal-title{margin:0 0 1rem;font-size:1.25rem;font-weight:700;color:#1e293b;line-height:1.4}.news-modal-desc{margin:0 0 1rem;font-size:.95rem;color:#475569;line-height:1.6}.news-modal-location{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f8fafc;border-radius:12px;margin-bottom:1rem;color:#64748b;font-size:.9rem}.news-modal-location svg{color:#e67e22}.news-modal-actions{display:flex;gap:.75rem;margin-bottom:1rem}.news-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;font-weight:600;font-size:.9rem;color:#475569;cursor:pointer;transition:all .2s}.news-action-btn:hover{border-color:#e67e22;color:#e67e22}.news-action-btn.active{background:#fff9f5;border-color:#e67e22;color:#e67e22}.news-modal-full-content{margin-bottom:1rem}.news-modal-desc{font-size:.95rem;line-height:1.6;color:#475569;margin:0 0 1rem}.news-modal-summary{background:linear-gradient(135deg,#fff9f5,#fef3c7);border:1px solid rgba(230,126,34,.2);border-radius:12px;padding:1rem;margin-top:1rem}.summary-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:#e67e22;margin-bottom:.5rem}.summary-header svg{color:#f59e0b}.news-modal-summary p{font-size:.9rem;line-height:1.5;color:#92400e;margin:0}.news-modal-link{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:1rem;background:linear-gradient(135deg,#e67e22,#f5a623);border-radius:14px;font-weight:700;color:#fff;text-decoration:none;transition:all .2s}.news-modal-link:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e67e2259}body.dark-mode .news-page{background:linear-gradient(135deg,#0f172a,#1e293b)}body.dark-mode .news-categories{background:#1e293bf2}body.dark-mode .news-category-chip{background:#1e293b;border-color:#334155;color:#94a3b8}body.dark-mode .news-card{background:#1e293b;box-shadow:0 2px 12px #0000004d}body.dark-mode .news-card-title{color:#f1f5f9}body.dark-mode .news-card-desc{color:#94a3b8}body.dark-mode .news-modal-summary{background:linear-gradient(135deg,#1e293b,#334155);border-color:#e67e224d}body.dark-mode .news-modal-summary p{color:#fcd34d}body.dark-mode .news-modal{background:#1e293b}body.dark-mode .news-modal-title{color:#f1f5f9}body.dark-mode .news-modal-desc{color:#cbd5e1}body.dark-mode .news-modal-location{background:#334155;color:#94a3b8}body.dark-mode .news-action-btn{background:#334155;border-color:#475569;color:#cbd5e1}.loading-sub{font-size:.8rem;color:#94a3b8;margin-top:.5rem}.news-counter{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:8px 16px;border-radius:20px;font-size:.75rem;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:90%;text-align:center}.news-card-location{display:flex;align-items:center;gap:4px;font-size:.7rem;color:#64748b;margin-top:8px}.news-image-container{position:relative;overflow:hidden;background:#f1f5f9}.news-image-container img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity .3s ease}.news-image-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 200%;animation:shimmer 1.5s ease-in-out infinite}.news-image-skeleton svg{color:#cbd5e1}.news-section{margin-bottom:1.5rem}.news-section-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;margin-bottom:.75rem}.news-section-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;color:#1e293b;margin:0}.news-section-header h2 svg{color:#e67e22}.news-section-badge{font-size:.7rem;background:#e67e221a;color:#e67e22;padding:4px 10px;border-radius:12px;font-weight:600}.news-section-badge.sport{background:#10b9811a;color:#10b981}.news-headlines{padding:0 .25rem}.headlines-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:640px){.headlines-grid{grid-template-columns:1.5fr 1fr}}.headline-main{position:relative;border-radius:16px;overflow:hidden;cursor:pointer;min-height:280px}.headline-main .news-image-container{position:absolute;top:0;right:0;bottom:0;left:0}.headline-main .news-image-container img{height:100%}.headline-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.4) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.25rem;color:#fff}.headline-source{font-size:.7rem;background:#fff3;padding:4px 10px;border-radius:12px;width:-moz-fit-content;width:fit-content;margin-bottom:.5rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.headline-overlay h3{font-size:1.2rem;font-weight:700;margin:0 0 .5rem;line-height:1.3}.headline-desc{font-size:.85rem;opacity:.9;margin:0 0 .5rem;line-height:1.4}.headline-time{display:flex;align-items:center;gap:4px;font-size:.75rem;opacity:.8}.headlines-secondary{display:flex;flex-direction:column;gap:.75rem}.headline-card{display:flex;gap:.75rem;background:#fff;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:0 2px 8px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.headline-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.headline-card .news-image-container{width:100px;min-width:100px;height:100%;min-height:90px}.headline-card-content{padding:.75rem .75rem .75rem 0;display:flex;flex-direction:column;justify-content:center;flex:1}.headline-source-small{font-size:.65rem;color:#64748b;margin-bottom:4px}.headline-card-content h4{font-size:.85rem;font-weight:600;color:#1e293b;margin:0 0 4px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.headline-card-content p{font-size:.75rem;color:#64748b;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-sport .news-section-header h2 svg{color:#10b981}.sport-news-scroll{display:flex;gap:.75rem;overflow-x:auto;padding:.25rem .5rem .5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sport-news-scroll::-webkit-scrollbar{display:none}.sport-news-card{flex-shrink:0;width:260px;background:#fff;border-radius:14px;overflow:hidden;cursor:pointer;box-shadow:0 2px 8px #0000000f;border:2px solid rgba(16,185,129,.15);transition:all .2s ease}.sport-news-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #10b98126;border-color:#10b981}.sport-news-card .news-image-container{height:120px}.sport-card-content{padding:.75rem}.sport-source{font-size:.65rem;color:#10b981;font-weight:600}.sport-card-content h4{font-size:.85rem;font-weight:600;color:#1e293b;margin:4px 0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sport-card-content p{font-size:.75rem;color:#64748b;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sport-time{font-size:.7rem;color:#94a3b8}body.dark-mode .news-section-header h2{color:#f1f5f9}body.dark-mode .headline-card{background:#1e293b}body.dark-mode .headline-card-content h4{color:#f1f5f9}body.dark-mode .sport-news-card{background:#1e293b;border-color:#10b9814d}body.dark-mode .sport-card-content h4{color:#f1f5f9}body.dark-mode .news-image-skeleton{background:linear-gradient(135deg,#334155,#475569,#334155)}.legal-page{background:#fff9f5;min-height:100vh;padding-bottom:100px}.legal-header{background:linear-gradient(135deg,#e67e22,#f5a623);padding:1rem;display:flex;align-items:center;gap:1rem;position:sticky;top:0;z-index:100}.legal-back-btn{background:#fff3;border:none;border-radius:10px;padding:.5rem;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.legal-back-btn:hover{background:#ffffff4d}.legal-header h1{color:#fff;font-size:1.1rem;font-weight:700;margin:0}.legal-content{padding:1.5rem 1rem;max-width:800px;margin:0 auto}.legal-intro{background:#fff;border-radius:16px;padding:1.5rem;display:flex;gap:1rem;align-items:flex-start;box-shadow:0 2px 12px #0000000f;margin-bottom:1.5rem}.legal-intro-icon{width:48px;height:48px;color:#e67e22;flex-shrink:0}.legal-intro p{margin:0;font-size:.95rem;color:#475569;line-height:1.6}.legal-update{font-size:.8rem;color:#94a3b8;margin-bottom:1.5rem;font-style:italic}.legal-section{background:#fff;border-radius:16px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000000a}.legal-section h2{font-size:1.1rem;font-weight:700;color:#1e293b;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid #f1f5f9}.legal-section h3{font-size:.95rem;font-weight:600;color:#334155;margin:1.25rem 0 .75rem}.legal-section p{font-size:.9rem;color:#475569;line-height:1.6;margin:0 0 1rem}.legal-section ul{margin:0 0 1rem;padding-left:1.25rem}.legal-section li{font-size:.9rem;color:#475569;line-height:1.6;margin-bottom:.5rem}.legal-section li strong{color:#1e293b}.legal-list-check{list-style:none;padding-left:0}.legal-list-check li{padding-left:.5rem}.legal-list-forbidden{list-style:none;padding-left:0}.legal-list-forbidden li{padding-left:.5rem;color:#dc2626}.legal-info-box{background:#f8fafc;border-radius:12px;padding:1rem;margin-top:1rem}.legal-info-box p{margin:.25rem 0;font-size:.85rem}.legal-highlight-box{display:flex;gap:.75rem;padding:1rem;border-radius:12px;margin:1rem 0;align-items:flex-start}.legal-highlight-box svg{flex-shrink:0}.legal-highlight-box p{margin:0;font-size:.9rem}.legal-highlight-box.safe{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac}.legal-highlight-box.safe svg{color:#16a34a}.legal-highlight-box.safe p{color:#166534}.legal-highlight-box.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d}.legal-highlight-box.warning svg{color:#d97706}.legal-highlight-box.warning p{color:#92400e}.legal-highlight-box.info{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border:1px solid #7dd3fc}.legal-highlight-box.info svg{color:#0284c7}.legal-highlight-box.info p{color:#0c4a6e}.legal-highlight-box.family{background:linear-gradient(135deg,#fce7f3,#fbcfe8);border:1px solid #f9a8d4}.legal-highlight-box.family svg{color:#db2777}.legal-highlight-box.family p{color:#9d174d}.legal-data-category{background:#f8fafc;border-radius:12px;padding:1rem;margin-bottom:.75rem}.legal-data-category h3{margin:0 0 .5rem;font-size:.9rem}.legal-data-category ul{margin:0}.legal-data-category li{font-size:.85rem;margin-bottom:.25rem}.legal-security-features{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.security-feature{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);padding:.6rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;color:#166534}.security-feature svg{color:#16a34a}.legal-rights-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1rem 0}.legal-right{background:#f8fafc;border-radius:12px;padding:1rem;text-align:center}.right-icon{font-size:1.5rem;display:block;margin-bottom:.25rem}.legal-right strong{display:block;font-size:.85rem;color:#1e293b;margin-bottom:.25rem}.legal-right p{font-size:.75rem;color:#64748b;margin:0}.legal-exercise-rights{text-align:center;margin-top:1rem}.legal-exercise-rights a{color:#e67e22;font-weight:600}.legal-section.contact{background:linear-gradient(135deg,#fef7ed,#ffecd2);border:1px solid #fed7aa}.legal-contact-box{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:12px;padding:1rem;margin-top:1rem}.legal-contact-box svg{color:#e67e22;flex-shrink:0}.legal-contact-box p{margin:0;font-size:.9rem}.legal-contact-box a{color:#e67e22;font-weight:600;text-decoration:none}.legal-contact-box a:hover{text-decoration:underline}.legal-cnil{margin-top:1rem;font-size:.8rem}.legal-cnil a{color:#e67e22}.legal-footer{text-align:center;padding:1.5rem;margin-top:1rem}.legal-footer p{font-size:.85rem;color:#64748b}.legal-footer a{color:#e67e22;font-weight:600}body.dark-mode .legal-page{background:#0f172a}body.dark-mode .legal-header{background:linear-gradient(135deg,#b45309,#d97706)}body.dark-mode .legal-intro,body.dark-mode .legal-section{background:#1e293b}body.dark-mode .legal-intro p,body.dark-mode .legal-section p,body.dark-mode .legal-section li{color:#94a3b8}body.dark-mode .legal-section h2{color:#f1f5f9;border-bottom-color:#334155}body.dark-mode .legal-section h3{color:#e2e8f0}body.dark-mode .legal-section li strong{color:#f1f5f9}body.dark-mode .legal-info-box,body.dark-mode .legal-data-category,body.dark-mode .legal-right{background:#334155}body.dark-mode .legal-right strong{color:#f1f5f9}body.dark-mode .legal-right p{color:#94a3b8}body.dark-mode .legal-contact-box{background:#334155}body.dark-mode .legal-footer p{color:#94a3b8}@media(min-width:640px){.legal-content{padding:2rem}.legal-header h1{font-size:1.25rem}.legal-rights-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.legal-rights-grid{grid-template-columns:repeat(6,1fr)}}.child-login{min-height:100vh;min-height:100dvh;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.child-login-decor{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.decor-cloud{position:absolute;font-size:3rem;opacity:.6;animation:float 8s ease-in-out infinite}.cloud-1{top:10%;left:10%;animation-delay:0s}.cloud-2{top:15%;right:15%;animation-delay:2s;font-size:2.5rem}.decor-star{position:absolute;animation:twinkle 2s ease-in-out infinite}.star-1{top:20%;left:25%;font-size:1.5rem;animation-delay:.5s}.star-2{top:30%;right:20%;font-size:1.2rem;animation-delay:1s}.star-3{bottom:25%;left:15%;font-size:1.8rem;animation-delay:1.5s}@keyframes float{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-15px) translate(10px)}50%{transform:translateY(-5px) translate(-5px)}75%{transform:translateY(-20px) translate(5px)}}.child-login-card{background:#fff;border-radius:32px;padding:40px 32px;max-width:400px;width:100%;box-shadow:0 20px 60px #0003;position:relative;z-index:10}.child-login-logo{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:32px}.logo-icon{font-size:2.5rem}.logo-text{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-kids{font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#f093fb,#f5576c);padding:4px 12px;border-radius:20px;margin-left:4px}.child-login-error{background:#fff5f5;border:2px solid #fed7d7;color:#c53030;padding:16px;border-radius:16px;text-align:center;margin-bottom:24px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.child-login-loading{text-align:center;padding:60px 20px}.loading-mascot{font-size:4rem;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.child-select-step{text-align:center}.child-select-step h1{font-size:1.75rem;font-weight:800;color:#2d3748;margin-bottom:8px}.child-select-step p{color:#718096;margin-bottom:32px}.child-profiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px;max-width:320px;margin:0 auto}.child-profile-btn{background:#f7fafc;border:3px solid transparent;border-radius:24px;padding:20px 16px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:12px}.child-profile-btn:hover{background:#edf2f7;border-color:#667eea;transform:translateY(-4px);box-shadow:0 8px 20px #667eea33}.child-profile-btn:active{transform:translateY(-2px)}.profile-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;overflow:hidden}.profile-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile-avatar .avatar-emoji{font-size:2.5rem}.profile-name{font-size:1.1rem;font-weight:700;color:#2d3748}.child-pin-step{text-align:center;position:relative}.back-btn{position:absolute;top:-20px;left:0;background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:12px;transition:all .2s ease}.back-btn:hover{background:#edf2f7}.selected-profile{margin-bottom:24px}.selected-profile .profile-avatar{width:96px;height:96px;margin:0 auto 16px}.selected-profile .profile-avatar.large .avatar-emoji{font-size:3rem}.selected-profile h2{font-size:1.5rem;font-weight:800;color:#2d3748}.pin-instruction{color:#718096;margin-bottom:24px;font-size:1.1rem}.pin-input-container{display:flex;justify-content:center;gap:12px;margin-bottom:24px}.pin-digit{width:60px;height:72px;border:3px solid #e2e8f0;border-radius:16px;text-align:center;font-size:2rem;font-weight:800;color:#2d3748;background:#f7fafc;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:textfield}.pin-digit::-webkit-outer-spin-button,.pin-digit::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pin-digit:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea33}.pin-digit.filled{border-color:#667eea;background:#fff}.pin-digit.error{border-color:#fc8181;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.pin-loading{display:flex;align-items:center;justify-content:center;gap:8px;color:#667eea;font-weight:600;margin-bottom:16px}.loading-dots{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pin-help{display:flex;align-items:center;justify-content:center;gap:8px;color:#a0aec0;font-size:.9rem;padding:12px;background:#f7fafc;border-radius:12px}.child-login-footer{margin-top:32px;text-align:center;padding-top:24px;border-top:2px dashed #e2e8f0}.child-login-footer p{color:#a0aec0;font-size:.9rem}.child-login-mascot{position:fixed;bottom:20px;right:20px;z-index:100}.mascot{font-size:4rem;animation:float 3s ease-in-out infinite}.mascot.thinking{animation:think .5s ease-in-out infinite}@keyframes think{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@media(max-width:480px){.child-login-card{padding:32px 24px;border-radius:24px}.pin-digit{width:52px;height:64px;font-size:1.75rem}.profile-avatar{width:64px;height:64px}.profile-avatar .avatar-emoji{font-size:2rem}.mascot{font-size:3rem}}.child-layout{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(180deg,#f0f4ff,#fdf4ff)}.child-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;box-shadow:0 2px 10px #0000000d;position:sticky;top:0;z-index:100}.child-header-left{display:flex;align-items:center;gap:12px}.child-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 12px #667eea4d}.child-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.child-avatar span{font-size:1.5rem}.child-greeting{display:flex;flex-direction:column}.greeting-text{font-size:.85rem;color:#718096}.greeting-name{font-size:1.2rem;font-weight:800;color:#2d3748;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.child-header-right{display:flex;align-items:center;gap:8px}.child-logout-btn{width:44px;height:44px;border-radius:12px;background:#f7fafc;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.child-logout-btn:hover{background:#fed7d7}.child-logout-btn .logout-icon{width:24px;height:24px;color:#718096}.child-logout-btn:hover .logout-icon{color:#c53030}.child-main{flex:1;padding:20px 20px 100px;overflow-y:auto}.child-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;display:flex;justify-content:space-around;padding:8px 16px 24px;box-shadow:0 -4px 20px #00000014;border-radius:24px 24px 0 0;z-index:100}.child-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;border-radius:16px;text-decoration:none;color:#a0aec0;transition:all .3s ease}.child-nav-item:hover{color:#667eea;background:#f0f4ff}.child-nav-item.active{color:#667eea;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.child-nav-item .nav-emoji{font-size:1.5rem;transition:transform .3s ease}.child-nav-item:hover .nav-emoji,.child-nav-item.active .nav-emoji{transform:scale(1.2)}.child-nav-item .nav-label{font-size:.75rem;font-weight:600}.child-mode-indicator{position:fixed;top:80px;right:16px;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:700;display:flex;align-items:center;gap:4px;box-shadow:0 4px 12px #f5576c4d;z-index:99}@media(max-width:480px){.child-header{padding:12px 16px}.child-avatar{width:40px;height:40px}.child-avatar span{font-size:1.2rem}.greeting-name{font-size:1.1rem}.child-nav-item{padding:8px 12px}.child-nav-item .nav-emoji{font-size:1.3rem}.child-nav-item .nav-label{font-size:.7rem}}.notification-bell-container{position:relative}.notification-bell-btn{background:none;border:none;font-size:1.5em;cursor:pointer;position:relative;padding:8px;transition:transform .2s}.notification-bell-btn:hover{transform:scale(1.1)}.bell-icon{display:inline-block;transition:transform .3s ease}.notification-bell-btn:hover .bell-icon{animation:bellRing .5s ease}@keyframes bellRing{0%,to{transform:rotate(0)}20%{transform:rotate(15deg)}40%{transform:rotate(-15deg)}60%{transform:rotate(10deg)}80%{transform:rotate(-10deg)}}.notification-badge{position:absolute;top:2px;right:2px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.45em;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 5px;box-shadow:0 2px 8px #ef444466;animation:badgePulse 2s infinite}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notification-toast{position:fixed;top:80px;right:20px;display:flex;align-items:center;gap:12px;padding:14px 18px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;z-index:10000;animation:toastSlideIn .4s cubic-bezier(.4,0,.2,1);max-width:350px;border-left:4px solid #10b981}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.notification-toast .toast-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f0fdf4;border-radius:12px}.notification-toast .toast-content{flex:1}.notification-toast .toast-content strong{display:block;font-size:.85rem;color:#10b981;margin-bottom:2px}.notification-toast .toast-content p{margin:0;font-size:.9rem;color:#1e293b;line-height:1.4}.notification-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000}.notification-dropdown{position:fixed;top:70px;right:10px;left:10px;width:auto;max-width:400px;max-height:calc(100vh - 150px);background:var(--color-bg, white);border-radius:20px;box-shadow:0 15px 50px #00000040;z-index:1001;overflow:hidden;animation:dropdown-appear .25s cubic-bezier(.4,0,.2,1)}@media(min-width:500px){.notification-dropdown{position:absolute;top:calc(100% + 10px);right:0;left:auto;width:380px;max-height:500px}}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:linear-gradient(135deg,var(--color-bg-card, #f8fafc) 0%,var(--color-bg, #f1f5f9) 100%);border-bottom:1px solid var(--color-border, #e2e8f0)}.notification-header h3{margin:0;font-size:1.1em;font-weight:700;color:#1e293b}.mark-all-read-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;font-size:.8em;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .2s}.mark-all-read-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #10b9814d}.notification-list{max-height:420px;overflow-y:auto}.notification-loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px;color:#64748b}.loading-spinner{width:30px;height:30px;border:3px solid #e2e8f0;border-top-color:#10b981;border-radius:50%;animation:spin .8s linear infinite}.notification-empty{padding:40px 20px;text-align:center;color:#64748b}.notification-empty .empty-icon{font-size:3em;display:block;margin-bottom:12px;opacity:.5}.notification-empty p{margin:0 0 6px;font-weight:600;color:#475569}.notification-empty .empty-hint{font-size:.85em;color:#94a3b8}.notification-item{display:flex;align-items:flex-start;padding:14px 18px;cursor:pointer;transition:all .2s;border-bottom:1px solid #f1f5f9;gap:14px}.notification-item:hover{background-color:#f8fafc}.notification-item.unread{background:linear-gradient(135deg,#10b9810d,#10b98114);border-left:3px solid var(--notif-color, #10b981)}.notification-item.read{opacity:.7}.notification-icon{font-size:1.2em;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px}.notification-content{flex:1;min-width:0}.notification-message{margin:0 0 4px;font-size:.9em;line-height:1.4;color:#1e293b;word-wrap:break-word}.notification-time{font-size:.75em;color:#94a3b8;font-weight:500}.unread-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:6px;animation:dotPulse 2s infinite}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}body.dark-mode .notification-dropdown{background:#1e293b;box-shadow:0 15px 50px #0006}body.dark-mode .notification-header{background:linear-gradient(135deg,#334155,#1e293b);border-color:#475569}body.dark-mode .notification-header h3{color:#f1f5f9}body.dark-mode .notification-item{border-color:#334155}body.dark-mode .notification-item:hover{background:#334155}body.dark-mode .notification-message,body.dark-mode .notification-empty p{color:#e2e8f0}body.dark-mode .notification-toast{background:#1e293b;border-color:#10b981}body.dark-mode .notification-toast .toast-content p{color:#e2e8f0}@media(max-width:480px){.notification-dropdown{width:calc(100vw - 30px);right:-10px}.notification-toast{right:10px;left:10px;max-width:none}}.header{position:sticky;top:0;left:0;right:0;background:#ffffffbf;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border-bottom:1px solid rgba(139,90,43,.06);padding:10px 16px;z-index:999;box-shadow:0 4px 24px #0000000a,0 1px 3px #8b5a2b08}body.dark-mode .header{background:#1c1c1ed9;border-bottom-color:#ffffff0f;box-shadow:0 4px 24px #0003,0 1px 3px #00000026}.header-container{display:flex;justify-content:space-between;align-items:center;max-width:600px;margin:0 auto}.header-left{display:flex;align-items:center;gap:12px}.header-logo{width:44px;height:44px;background:linear-gradient(135deg,#e67e22,#f5a623,#fb3);border-radius:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #e67e224d,0 2px 6px #e67e2233,inset 0 1px #ffffff4d;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.34,1.56,.64,1);cursor:pointer}.header-logo:hover{transform:scale(1.05) rotate(-2deg);box-shadow:0 6px 24px #e67e2266,0 3px 10px #e67e224d,inset 0 1px #ffffff4d}.header-logo:active{transform:scale(.95)}.header-logo:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:logoShine 3s ease-in-out infinite}@keyframes logoShine{0%,to{left:-100%}50%{left:100%}}.logo-text{color:#fff;font-size:26px;font-weight:800;line-height:1;text-shadow:0 2px 4px rgba(0,0,0,.15);position:relative;z-index:1}.header-title{font-size:17px;font-weight:700;color:var(--color-text);margin:0;letter-spacing:-.02em}.header-right{display:flex;align-items:center;gap:6px}.header-icon-btn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:12px;cursor:pointer;color:var(--color-text-secondary);transition:all .25s cubic-bezier(.34,1.56,.64,1);position:relative;-webkit-tap-highlight-color:transparent}.header-icon-btn:hover{background:#e67e2214;color:var(--color-primary);transform:scale(1.05)}.header-icon-btn:active{transform:scale(.92)}.header-icon{width:24px;height:24px;transition:transform .2s ease}.header-icon-btn:hover .header-icon{transform:rotate(-5deg)}.notification-badge{position:absolute;top:6px;right:6px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;padding:0 4px;border-radius:10px;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 2px 8px #e74c3c66;animation:badgePop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes badgePop{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}body.dark-mode .notification-badge{border-color:#1c1c1e}.user-menu{position:relative}.user-avatar-btn{padding:0!important;border-radius:50%!important}.user-avatar-header{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-sm);overflow:hidden;border:2px solid transparent;background-clip:padding-box;position:relative;transition:all .25s ease}.user-avatar-btn:hover .user-avatar-header{border-color:#e67e224d;box-shadow:0 0 0 3px #e67e2226}.user-avatar-header .avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.user-dropdown{position:absolute;top:calc(100% + 12px);right:0;background:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(0,0,0,.06);border-radius:16px;box-shadow:0 20px 60px #00000026,0 8px 24px #00000014,0 0 1px #0000001a;min-width:260px;z-index:1000;animation:dropdownSlide .25s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.user-dropdown-header{padding:16px;display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#e67e220f,#f5a62308)}.user-avatar-large{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-lg);flex-shrink:0;overflow:hidden;box-shadow:0 4px 12px #e67e2240}.user-avatar-large .avatar-img,.user-avatar-large .avatar-img.avatar-large{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.user-info{flex:1;min-width:0}.user-name{font-weight:700;font-size:15px;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.user-email{font-size:12px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.08),transparent);margin:0}.dropdown-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;color:var(--color-text);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.dropdown-item:hover{background:#e67e220f;padding-left:20px}.dropdown-item.logout{color:#e74c3c}.dropdown-item.logout:hover{background:#e74c3c0f}.dropdown-item.logout .dropdown-icon{color:#e74c3c}.dropdown-icon{width:20px;height:20px;color:var(--color-text-secondary);transition:transform .2s ease}.dropdown-item:hover .dropdown-icon{transform:translate(2px)}body.dark-mode .user-dropdown{background:#2c2c2ef2;border-color:#ffffff14;box-shadow:0 20px 60px #0006,0 8px 24px #00000040}body.dark-mode .user-dropdown-header{background:linear-gradient(135deg,#e67e221a,#f5a6230d)}body.dark-mode .dropdown-divider{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}body.dark-mode .dropdown-item:hover{background:#e67e221a}body.dark-mode .dropdown-item.logout:hover{background:#e74c3c1f}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#ffffffd9;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border-top:1px solid rgba(139,90,43,.08);padding:8px 0 env(safe-area-inset-bottom,10px);z-index:1000;box-shadow:0 -8px 32px #0000000d,0 -2px 8px #8b5a2b0a}.bottom-nav-container{display:flex;justify-content:space-around;align-items:center;max-width:500px;margin:0 auto;padding:0 8px}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 16px;background:none;border:none;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);color:var(--color-text-light);position:relative;border-radius:16px;-webkit-tap-highlight-color:transparent}.bottom-nav-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;background:radial-gradient(circle,var(--color-primary) 0%,transparent 70%);opacity:0;transform:scale(0);transition:all .4s ease}.bottom-nav-item:active:before{opacity:.15;transform:scale(1.5)}.bottom-nav-item:hover,.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-item.active:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:24px;height:4px;background:linear-gradient(90deg,#e67e22,#f5a623);border-radius:4px;animation:indicatorSlide .3s cubic-bezier(.34,1.56,.64,1)}@keyframes indicatorSlide{0%{width:0;opacity:0}to{width:24px;opacity:1}}.bottom-nav-icon-wrapper{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative}.bottom-nav-item.active .bottom-nav-icon-wrapper{background:linear-gradient(135deg,#e67e221f,#f5a62314);transform:translateY(-2px);box-shadow:0 4px 16px #e67e2226}.bottom-nav-item.active .bottom-nav-icon-wrapper:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:16px;background:linear-gradient(135deg,#e67e2233,#f5a6231a);filter:blur(8px);opacity:.6;z-index:-1}.bottom-nav-icon{width:26px;height:26px;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.bottom-nav-item.active .bottom-nav-icon{transform:scale(1.1)}.bottom-nav-item:active .bottom-nav-icon{animation:iconBounce .4s cubic-bezier(.34,1.56,.64,1)}@keyframes iconBounce{0%{transform:scale(1)}30%{transform:scale(.85)}60%{transform:scale(1.15)}to{transform:scale(1.1)}}.bottom-nav-label{font-size:10px;font-weight:600;letter-spacing:.02em;transition:all .3s ease;opacity:.7}.bottom-nav-item.active .bottom-nav-label{color:var(--color-primary);font-weight:700;opacity:1;transform:scale(1.05)}.bottom-nav-item .notification-dot{position:absolute;top:6px;right:50%;transform:translate(14px);width:8px;height:8px;background:linear-gradient(135deg,#e74c3c,#c0392b);border-radius:50%;border:2px solid white;box-shadow:0 2px 6px #e74c3c66;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:translate(14px) scale(1)}50%{transform:translate(14px) scale(1.2)}}body.dark-mode .bottom-nav{background:#1c1c1ee6;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border-top-color:#ffffff14;box-shadow:0 -8px 32px #0000004d,0 -2px 8px #0003}body.dark-mode .bottom-nav-item .notification-dot{border-color:#1c1c1e}body.dark-mode .bottom-nav-item.active:after{box-shadow:0 0 12px #e67e2266}:root,[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f1f3f5;--text-primary: #1a1a2e;--text-secondary: #495057;--text-muted: #868e96;--border-color: #e9ecef;--accent-color: #6366f1;--accent-light: #818cf8;--accent-bg: rgba(99, 102, 241, .1);--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1)}[data-theme=dark]{--bg-primary: #0f0f0f;--bg-secondary: #1a1a1a;--bg-tertiary: #262626;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--border-color: #27272a;--accent-color: #818cf8;--accent-light: #a5b4fc;--accent-bg: rgba(129, 140, 248, .15);--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4)}.app-layout{min-height:100vh;background:var(--bg-secondary);transition:background-color .3s ease}.desktop-layout{display:flex}.mobile-layout{display:flex;flex-direction:column;padding-top:64px;padding-bottom:72px}.desktop-sidebar{position:fixed;top:0;left:0;bottom:0;width:240px;background:var(--bg-primary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:100;box-shadow:var(--shadow-sm);transition:all .3s ease}.sidebar-header{padding:16px 14px;border-bottom:1px solid var(--border-color)}.sidebar-logo{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 8px;border-radius:8px;transition:background .2s}.sidebar-logo:hover{background:var(--bg-tertiary)}.sidebar-logo-icon{font-size:24px}.sidebar-logo-text{font-size:1.2rem;font-weight:700;color:var(--accent-color);letter-spacing:-.02em}.sidebar-nav{flex:1;display:flex;flex-direction:column;padding:10px;overflow-y:auto}.sidebar-nav-section{display:flex;flex-direction:column;gap:2px}.sidebar-bottom-section{margin-top:auto;padding-top:10px;border-top:1px solid var(--border-color)}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:all .2s ease;width:100%;text-align:left}.sidebar-nav-item:hover{background:var(--bg-tertiary)}.sidebar-nav-item.active{background:var(--accent-bg)}.sidebar-nav-item.active .sidebar-nav-icon,.sidebar-nav-item.active .sidebar-nav-label{color:var(--accent-color)}.sidebar-nav-icon{width:20px;height:20px;color:var(--text-secondary);flex-shrink:0;transition:color .2s}.sidebar-nav-label{font-size:.85rem;font-weight:500;color:var(--text-primary);transition:color .2s}.sidebar-nav-item.theme-toggle{margin-top:8px;background:var(--bg-tertiary)}.sidebar-nav-item.theme-toggle:hover{background:var(--border-color)}.mobile-header{position:fixed;top:0;left:0;right:0;height:64px;background:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:100;box-shadow:var(--shadow-sm)}.mobile-header-content{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 16px}.mobile-header-left{display:flex;align-items:center;gap:12px}.mobile-logo-emoji{font-size:28px}.mobile-page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.mobile-header-right{display:flex;align-items:center;gap:8px}.mobile-header-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:var(--bg-tertiary);border-radius:50%;cursor:pointer;transition:all .2s}.mobile-header-btn:hover{background:var(--border-color)}.mobile-header-icon{width:24px;height:24px;color:var(--text-secondary)}.mobile-user-avatar{width:32px;height:32px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:72px;background:var(--bg-primary);border-top:1px solid var(--border-color);z-index:100;box-shadow:0 -2px 10px #0000000d;padding-bottom:env(safe-area-inset-bottom,0)}.mobile-nav-container{display:flex;justify-content:space-around;align-items:center;height:100%;max-width:500px;margin:0 auto;padding:0 8px}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 12px;border:none;background:transparent;border-radius:12px;cursor:pointer;transition:all .2s;min-width:60px}.mobile-nav-item:active{transform:scale(.95)}.mobile-nav-icon{width:26px;height:26px;color:var(--text-muted);transition:color .2s}.mobile-nav-label{font-size:.7rem;font-weight:500;color:var(--text-muted);transition:color .2s}.mobile-nav-item.active .mobile-nav-icon,.mobile-nav-item.active .mobile-nav-label{color:var(--accent-color)}@media(min-width:1024px){.desktop-layout{background:var(--bg-secondary)}.desktop-layout .main-content.desktop-content{margin-left:280px;flex:1;min-height:100vh;padding:32px 48px;display:flex;flex-direction:column;align-items:center}.desktop-layout .content-wrapper{width:100%;max-width:680px}}.mobile-layout .main-content.mobile-content{flex:1;padding:16px;background:var(--bg-secondary)}.desktop-right-panel{position:fixed;right:0;top:0;bottom:0;width:320px;padding:16px;overflow-y:auto;background:linear-gradient(180deg,#fafbfcf2,#f8fafffa);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid rgba(0,0,0,.04);display:flex;flex-direction:column;gap:14px;z-index:50}.desktop-right-panel::-webkit-scrollbar{width:4px}.desktop-right-panel::-webkit-scrollbar-track{background:transparent}.desktop-right-panel::-webkit-scrollbar-thumb{background:#00000014;border-radius:4px}.desktop-right-panel::-webkit-scrollbar-thumb:hover{background:#0000001f}.widget{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 3px #00000005,0 4px 12px #0000000a;transition:all .3s ease;border:1px solid rgba(0,0,0,.03)}.widget:hover{box-shadow:0 2px 8px #0000000a,0 8px 24px #0000000f;transform:translateY(-1px)}.widget.loading{min-height:160px;display:flex;align-items:center;justify-content:center}.widget-skeleton{width:100%;height:140px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:12px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.weather-widget{background:linear-gradient(135deg,#99cdd8,#daebe3,#fde8d3);border:none;color:#4a5568;position:relative;overflow:hidden}.weather-widget:before{content:"";position:absolute;top:-50%;right:-20%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);pointer-events:none}.weather-location{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:#657166;margin-bottom:16px}.weather-current{display:flex;align-items:center;gap:16px;margin-bottom:20px}.weather-icon-large{font-size:3.5rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.weather-temp-main{display:flex;flex-direction:column}.temp-value{font-size:3rem;font-weight:700;color:#2d3748;line-height:1;letter-spacing:-2px}.temp-label{font-size:.875rem;color:#657166;margin-top:4px}.weather-details{display:flex;gap:24px;margin-bottom:16px;padding:12px 16px;background:#ffffff80;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.weather-detail-item{display:flex;align-items:center;gap:8px}.detail-icon{font-size:1.25rem}.detail-value{font-weight:600;color:#2d3748;font-size:.9375rem}.detail-label{font-size:.75rem;color:#657166}.running-advice{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;margin-bottom:16px;transition:all .3s ease}.running-advice.good{background:#22c55e26;border:1px solid rgba(34,197,94,.2)}.running-advice.bad{background:#ef44441a;border:1px solid rgba(239,68,68,.15)}.advice-icon{font-size:1.5rem}.advice-text{display:flex;flex-direction:column}.advice-title{font-weight:600;font-size:.875rem;color:#2d3748}.advice-reason{font-size:.75rem;color:#657166}.weather-forecast{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.forecast-day{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:#fff9;border-radius:12px;transition:all .2s ease}.forecast-day:hover{background:#ffffffe6;transform:scale(1.02)}.forecast-label{font-size:.6875rem;color:#657166;font-weight:500}.forecast-icon{font-size:1.25rem}.forecast-temps{display:flex;flex-direction:column;align-items:center}.forecast-max{font-weight:600;font-size:.8125rem;color:#2d3748}.forecast-min{font-size:.6875rem;color:#8b8fa3}.inspiration-widget{background:linear-gradient(135deg,#f8f9ff,#fff5f9);text-align:center;padding:24px 20px}.inspiration-content{display:flex;flex-direction:column;align-items:center;gap:12px}.inspiration-icon{font-size:2rem;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.1) rotate(5deg);opacity:.8}}.inspiration-quote{font-size:1rem;font-style:italic;color:#4a5568;line-height:1.6;margin:0;padding:0 8px}.inspiration-author{font-size:.8125rem;color:#8b8fa3;font-style:normal}.inspiration-dots{display:flex;gap:6px;justify-content:center;margin-top:12px}.inspiration-dots .dot{width:6px;height:6px;border-radius:50%;background:#d1d5db;border:none;padding:0;cursor:pointer;transition:all .3s ease}.inspiration-dots .dot.active{background:#6172f3;width:18px;border-radius:10px}.recommendations-widget{padding:16px}.widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.widget-title{display:flex;align-items:center;gap:8px;font-weight:600;color:#1a1a2e;font-size:.9375rem}.widget-title svg{color:#f59e0b}.widget-see-all{display:flex;align-items:center;gap:4px;font-size:.8125rem;color:#6172f3;background:none;border:none;cursor:pointer;padding:6px 12px;border-radius:20px;transition:all .2s ease}.widget-see-all:hover{background:#6172f314}.recommendations-list{display:flex;flex-direction:column;gap:12px}.recommendation-card{display:flex;gap:12px;padding:10px;background:#fafbfc;border-radius:14px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.recommendation-card:hover{background:#f5f6f8;border-color:#6172f31a;transform:translate(4px)}.recommendation-image{position:relative;width:64px;height:64px;border-radius:12px;overflow:hidden;flex-shrink:0}.recommendation-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.recommendation-emoji{position:absolute;bottom:4px;left:4px;font-size:.875rem;background:#ffffffe6;padding:2px 6px;border-radius:6px}.recommendation-fav{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:#ffffffe6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#9ca3af}.recommendation-fav:hover{transform:scale(1.1)}.recommendation-fav.active{color:#ef4444}.recommendation-fav.active svg{fill:#ef4444}.recommendation-content{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1}.recommendation-title{font-size:.875rem;font-weight:600;color:#1a1a2e;margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recommendation-meta{display:flex;align-items:center;gap:8px}.recommendation-location{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#8b8fa3}.recommendation-price{font-size:.6875rem;padding:2px 8px;border-radius:10px;background:#f3f4f6;color:#4b5563;font-weight:500}.recommendation-price.free{background:#22c55e1a;color:#16a34a}.stats-widget{background:linear-gradient(135deg,#fef9f7,#fafbfc);padding:16px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-item{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.03)}.stat-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-icon.fire{background:#f973161a;color:#f97316}.stat-icon.bolt{background:#8b5cf61a;color:#8b5cf6}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.25rem;font-weight:700;color:#1a1a2e}.stat-label{font-size:.6875rem;color:#8b8fa3}body.dark-mode .desktop-right-panel{background:linear-gradient(180deg,#1a1a24fa,#1e1e2dfa);border-left-color:#ffffff0d}body.dark-mode .widget{background:#282837cc;border-color:#ffffff0d;box-shadow:0 4px 20px #0000004d}body.dark-mode .weather-widget{background:linear-gradient(135deg,#2a3f4a,#3a4a50,#4a4040)}body.dark-mode .weather-location{color:#fff9}body.dark-mode .temp-value,body.dark-mode .detail-value,body.dark-mode .advice-title{color:#fff}body.dark-mode .temp-label,body.dark-mode .detail-label,body.dark-mode .advice-reason,body.dark-mode .forecast-label{color:#fff9}body.dark-mode .weather-details{background:#0003}body.dark-mode .forecast-day{background:#ffffff1a}body.dark-mode .forecast-max{color:#fff}body.dark-mode .inspiration-widget{background:linear-gradient(135deg,#323246cc,#3c323ccc)}body.dark-mode .inspiration-quote{color:#ffffffd9}body.dark-mode .inspiration-author{color:#ffffff80}body.dark-mode .widget-title{color:#fff}body.dark-mode .recommendation-card{background:#ffffff0d}body.dark-mode .recommendation-card:hover{background:#ffffff14}body.dark-mode .recommendation-title{color:#fff}body.dark-mode .recommendation-location{color:#ffffff80}body.dark-mode .stats-widget{background:linear-gradient(135deg,#322d2dcc,#282837cc)}body.dark-mode .stat-item{background:#ffffff0d;border-color:#ffffff0d}body.dark-mode .stat-value{color:#fff}body.dark-mode .stat-label{color:#ffffff80}@media(max-width:1400px){.desktop-right-panel{width:280px;padding:14px}.widget{padding:14px}.weather-icon-large,.temp-value{font-size:2.2rem}}@media(max-width:1200px){.desktop-right-panel{display:none}}.tasks-widget{background:linear-gradient(135deg,#fff,#f8faf8)}.tasks-widget .widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tasks-widget .widget-title{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:600;color:#1e293b}.tasks-widget .widget-title svg{color:#10b981}.widget-add-btn{width:28px;height:28px;border-radius:8px;border:1.5px dashed #10b981;background:#10b98114;color:#10b981;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.widget-add-btn:hover{background:#10b981;color:#fff;border-style:solid}.task-input-container{display:flex;gap:8px;margin-bottom:12px}.task-input{flex:1;padding:10px 12px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:.85rem;background:#fff;outline:none;transition:border-color .2s}.task-input:focus{border-color:#10b981}.task-add-confirm{padding:8px 14px;background:#10b981;color:#fff;border:none;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.task-add-confirm:hover{background:#059669;transform:translateY(-1px)}.tasks-list{display:flex;flex-direction:column;gap:6px}.task-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fffc;border:1px solid rgba(0,0,0,.04);border-radius:12px;transition:all .2s}.task-item:hover{background:#fff;box-shadow:0 2px 8px #0000000a}.task-checkbox{width:22px;height:22px;border:none;background:transparent;color:#d1d5db;cursor:pointer;padding:0;transition:all .2s}.task-checkbox:hover{color:#10b981;transform:scale(1.1)}.task-checkbox.done{color:#10b981}.task-text{flex:1;font-size:.85rem;color:#374151;line-height:1.4}.task-item.done .task-text{text-decoration:line-through;color:#9ca3af}.task-assignee{font-size:1rem}.task-remove{opacity:0;width:20px;height:20px;border:none;background:transparent;color:#ef4444;cursor:pointer;padding:0;transition:opacity .2s}.task-item:hover .task-remove{opacity:.6}.task-remove:hover{opacity:1!important}.tasks-done-section{margin-top:8px;padding-top:8px;border-top:1px dashed #e5e7eb}.tasks-done-label{font-size:.75rem;color:#9ca3af;font-weight:500;margin-bottom:6px;display:block}.tasks-empty{display:flex;flex-direction:column;align-items:center;padding:24px;gap:8px}.tasks-empty-icon{font-size:2rem}.tasks-empty-text{font-size:.85rem;color:#9ca3af}.family-events-widget{background:linear-gradient(135deg,#fff9f5,#fde8d3)}.family-events-widget .widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.family-events-widget .widget-title{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:600;color:#1e293b}.family-events-widget .widget-title svg{color:#f59e0b}.family-events-list{display:flex;flex-direction:column;gap:8px}.family-event-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#ffffffb3;border-radius:14px;border:1px solid rgba(0,0,0,.03);transition:all .2s}.family-event-item:hover{background:#fff;box-shadow:0 4px 12px #0000000d;transform:translate(2px)}.family-event-item.birthday{border-left:3px solid #f472b6}.family-event-item.event{border-left:3px solid #60a5fa}.event-emoji{font-size:1.5rem;line-height:1}.event-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.event-title{font-size:.85rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-date{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#64748b}.event-date svg{width:12px;height:12px}.event-age{background:#fce7f3;color:#db2777;padding:1px 6px;border-radius:10px;font-size:.65rem;font-weight:600;margin-left:4px}.event-location{display:flex;align-items:center;gap:4px;font-size:.7rem;color:#94a3b8}.event-location svg{width:10px;height:10px}.event-countdown{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:40px;padding:6px 10px;background:#00000008;border-radius:10px}.event-countdown.soon{background:linear-gradient(135deg,#fef3c7,#fde68a);animation:pulse-soft 2s infinite}@keyframes pulse-soft{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.countdown-number{font-size:1.1rem;font-weight:700;color:#374151;line-height:1}.countdown-label{font-size:.65rem;color:#9ca3af;text-transform:uppercase}.birthday-reminder{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;background:linear-gradient(135deg,#fce7f3,#fbcfe8);border-radius:10px;color:#be185d;font-size:.75rem;font-weight:500}.birthday-reminder svg{width:14px;height:14px;flex-shrink:0}body.dark-mode .tasks-widget{background:linear-gradient(135deg,#282d2de6,#232828e6)}body.dark-mode .tasks-widget .widget-title{color:#f5f5f5}body.dark-mode .task-item{background:#ffffff0d;border-color:#ffffff0d}body.dark-mode .task-item:hover{background:#ffffff14}body.dark-mode .task-text{color:#e5e5e5}body.dark-mode .task-item.done .task-text{color:#666}body.dark-mode .task-input{background:#ffffff0d;border-color:#ffffff1a;color:#f5f5f5}body.dark-mode .tasks-done-section{border-top-color:#ffffff1a}body.dark-mode .tasks-done-label{color:#666}body.dark-mode .family-events-widget{background:linear-gradient(135deg,#322d28e6,#2d2823e6)}body.dark-mode .family-events-widget .widget-title{color:#f5f5f5}body.dark-mode .family-event-item{background:#ffffff0d;border-color:#ffffff0d}body.dark-mode .family-event-item:hover{background:#ffffff14}body.dark-mode .event-title{color:#f5f5f5}body.dark-mode .event-date,body.dark-mode .event-location{color:#888}body.dark-mode .event-countdown{background:#ffffff14}body.dark-mode .countdown-number{color:#f5f5f5}body.dark-mode .birthday-reminder{background:linear-gradient(135deg,#be185d33,#db277733);color:#f9a8d4}.app{min-height:100vh;display:flex;flex-direction:column}.app-container{display:flex;flex-direction:column;min-height:100vh}.main{flex:1;padding-top:var(--header-height, 60px);padding-bottom:calc(var(--navbar-height, 70px) + var(--safe-area-inset-bottom, 0px));background:#f9fafb;overflow-y:auto;-webkit-overflow-scrolling:touch}@media(min-width:768px)and (max-width:1023px){.main{padding-left:1rem;padding-right:1rem}}@media(min-width:1024px){.app{flex-direction:row}.main{padding-top:0;padding-bottom:0;padding-left:2rem;padding-right:2rem}}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .2s ease,transform .2s ease}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .15s ease}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.page-loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}@media(prefers-reduced-motion:no-preference){.main{scroll-behavior:smooth}}@media(max-width:768px){.main::-webkit-scrollbar{display:none}.main{-ms-overflow-style:none;scrollbar-width:none}}@media(prefers-color-scheme:dark){.main{background:#111827}}:root{--sidebar-width: 240px;--right-panel-width: 320px;--content-max-width: 700px;--color-sky: #99CDD8;--color-mint: #DAEBE3;--color-peach: #FDE8D3;--color-coral: #F3C3B2;--color-sage: #CFD6C4;--color-forest: #657166;--bg-primary: #fafbfc;--bg-secondary: #ffffff;--bg-tertiary: #f5f6f8;--text-primary: #1a1a2e;--text-secondary: #4a5568;--text-muted: #8b8fa3;--border-light: rgba(0, 0, 0, .04);--border-medium: rgba(0, 0, 0, .08);--accent-primary: #6172f3;--accent-secondary: #8b5cf6;--accent-gradient: linear-gradient(135deg, #6172f3 0%, #8b5cf6 100%);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .02), 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .08), 0 16px 48px rgba(0, 0, 0, .1)}body.dark-mode{--bg-primary: #13131a;--bg-secondary: #1a1a24;--bg-tertiary: #22222e;--text-primary: #f8f9fa;--text-secondary: #b8bcc8;--text-muted: #6b7280;--border-light: rgba(255, 255, 255, .04);--border-medium: rgba(255, 255, 255, .08);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2), 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4), 0 16px 48px rgba(0, 0, 0, .5)}@media(min-width:1024px){html,body{overflow-x:hidden}.app-layout.desktop-layout{display:flex!important;min-height:100vh!important;width:100%!important;background:var(--bg-primary)!important;padding:0!important;margin:0!important}.app-layout.desktop-layout.light{background:linear-gradient(135deg,#daebe34d,#fafbfc 40%,#fde8d333)!important}.app-layout.desktop-layout.dark{background:linear-gradient(135deg,#13131a,#1a1a24,#22222e)!important}.app-layout.desktop-layout .desktop-sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:var(--sidebar-width)!important;background:var(--bg-secondary)!important;border-right:1px solid var(--border-light)!important;display:flex!important;flex-direction:column!important;z-index:100!important;overflow-y:auto!important;box-shadow:var(--shadow-sm)!important}.app-layout.desktop-layout .main-content.desktop-content{margin-left:var(--sidebar-width)!important;margin-right:var(--right-panel-width)!important;flex:1!important;min-height:100vh!important;padding:24px 40px!important;display:flex!important;flex-direction:column!important;align-items:center!important;overflow-y:auto!important;background:transparent!important}.app-layout.desktop-layout .main-content.desktop-content .content-wrapper{width:100%!important;max-width:var(--content-max-width)!important}@media(max-width:1200px){.app-layout.desktop-layout .main-content.desktop-content{margin-right:0!important}}}.desktop-sidebar{padding:0;background:var(--bg-secondary)}.sidebar-header{padding:28px 24px 20px;border-bottom:1px solid var(--border-light)}.sidebar-logo{display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s ease}.sidebar-logo:hover{transform:translate(2px)}.sidebar-logo-icon{width:44px;height:44px;background:linear-gradient(135deg,var(--color-mint) 0%,var(--color-peach) 100%);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 4px 12px #99cdd84d}.sidebar-logo-text{font-size:1.375rem;font-weight:700;background:linear-gradient(135deg,var(--color-forest) 0%,var(--text-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}body.dark-mode .sidebar-logo-text{background:linear-gradient(135deg,var(--color-sky) 0%,#ffffff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column}.sidebar-nav-section{display:flex;flex-direction:column;gap:4px}.sidebar-bottom-section{margin-top:auto;padding-top:16px;border-top:1px solid var(--border-light)}.sidebar-nav-item{display:flex;align-items:center;gap:14px;padding:13px 18px;border:none;background:transparent;border-radius:14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%;text-align:left;color:var(--text-secondary);font-size:.9375rem;font-weight:500;position:relative;overflow:hidden}.sidebar-nav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--accent-primary);border-radius:0 3px 3px 0;transition:height .2s ease}.sidebar-nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-nav-item:hover:before{height:20px}.sidebar-nav-item.active{background:linear-gradient(135deg,#6172f31a,#8b5cf614);color:var(--accent-primary)}.sidebar-nav-item.active:before{height:24px}body.dark-mode .sidebar-nav-item.active{background:linear-gradient(135deg,#6172f326,#8b5cf61f)}.sidebar-nav-icon{width:22px;height:22px;flex-shrink:0;transition:transform .2s ease}.sidebar-nav-item:hover .sidebar-nav-icon{transform:scale(1.05)}.sidebar-nav-label{font-size:.9375rem;white-space:nowrap}.sidebar-nav-item.theme-toggle{margin-top:8px;background:linear-gradient(135deg,var(--color-peach) 0%,var(--color-coral) 100%);color:var(--color-forest)}.sidebar-nav-item.theme-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f3c3b266}body.dark-mode .sidebar-nav-item.theme-toggle{background:linear-gradient(135deg,#2a3f4a,#3a4a55);color:var(--color-sky)}body.dark-mode .sidebar-nav-item.theme-toggle:hover{box-shadow:0 4px 12px #99cdd833}@media(min-width:1024px){.feed-container,.discover-page,.agenda-page,.mon-nest-page,.nesti-ia-page,.settings-page,.profile-page{background:transparent!important;padding:0!important}.post-card,.event-card,.activity-card,.member-card{background:var(--bg-secondary)!important;border:1px solid var(--border-light)!important;border-radius:20px!important;box-shadow:var(--shadow-sm)!important;transition:all .3s ease!important}.post-card:hover,.event-card:hover,.activity-card:hover{box-shadow:var(--shadow-md)!important;transform:translateY(-2px)!important}.page-header{background:transparent!important;border:none!important;padding:0 0 24px!important}.page-title{font-size:1.75rem!important;font-weight:700!important;color:var(--text-primary)!important;letter-spacing:-.5px!important}.btn-primary,.primary-btn{background:var(--accent-gradient)!important;border:none!important;border-radius:14px!important;padding:12px 24px!important;font-weight:600!important;transition:all .2s ease!important;box-shadow:0 4px 12px #6172f340!important}.btn-primary:hover,.primary-btn:hover{transform:translateY(-1px)!important;box-shadow:0 6px 20px #6172f359!important}input[type=text],input[type=email],input[type=password],textarea,select{background:var(--bg-tertiary)!important;border:1px solid var(--border-light)!important;border-radius:12px!important;padding:14px 18px!important;font-size:.9375rem!important;transition:all .2s ease!important;color:var(--text-primary)!important}input:focus,textarea:focus,select:focus{border-color:var(--accent-primary)!important;box-shadow:0 0 0 3px #6172f31a!important;outline:none!important}.modal-overlay{backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;background:#0006!important}body.dark-mode .modal-overlay{background:#0009!important}.modal-content{background:var(--bg-secondary)!important;border-radius:24px!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--border-light)!important}}body.dark-mode{background:var(--bg-primary);color:var(--text-primary)}body.dark-mode .desktop-sidebar{background:var(--bg-secondary)!important;border-right-color:var(--border-light)!important}body.dark-mode .sidebar-header{border-bottom-color:var(--border-light)}body.dark-mode .sidebar-logo-icon{background:linear-gradient(135deg,#99cdd833,#daebe333)}body.dark-mode .sidebar-nav-item{color:var(--text-secondary)}body.dark-mode .sidebar-nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}body.dark-mode .post-card,body.dark-mode .event-card,body.dark-mode .activity-card,body.dark-mode .member-card{background:var(--bg-secondary)!important;border-color:var(--border-light)!important}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.desktop-layout .content-wrapper{animation:fadeInUp .4s ease-out}.desktop-sidebar{animation:slideInLeft .3s ease-out}.desktop-right-panel{animation:slideInRight .4s ease-out}@media(min-width:1024px){::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}body.dark-mode ::-webkit-scrollbar-thumb{background:#ffffff1a}body.dark-mode ::-webkit-scrollbar-thumb:hover{background:#fff3}}@media(min-width:1024px)and (max-width:1200px){:root{--sidebar-width: 200px;--content-max-width: 600px}.sidebar-nav-item{padding:9px 10px}.sidebar-nav-label{font-size:.8rem}}@media(min-width:1400px){:root{--sidebar-width: 260px;--right-panel-width: 340px;--content-max-width: 750px}}.child-home{display:flex;flex-direction:column;gap:24px}.welcome-section{margin-bottom:8px}.welcome-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:24px;padding:24px;display:flex;align-items:center;gap:16px;color:#fff;box-shadow:0 8px 32px #667eea4d}.welcome-emoji{font-size:3rem;animation:wave 2s ease-in-out infinite}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(20deg)}75%{transform:rotate(-10deg)}}.welcome-text h1{font-size:1.5rem;font-weight:800;margin-bottom:4px}.welcome-text p{opacity:.9;font-size:1rem}.quick-actions-section h2{font-size:1.2rem;font-weight:700;color:#2d3748;margin-bottom:16px}.quick-actions-grid{display:flex;flex-direction:column;gap:12px}.quick-action-card{background:#fff;border:none;border-radius:20px;padding:20px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0000000d;text-align:left;width:100%}.quick-action-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.quick-action-card:active{transform:translateY(-2px)}.quick-action-card .action-icon{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--action-color) 0%,color-mix(in srgb,var(--action-color) 70%,white) 100%);display:flex;align-items:center;justify-content:center;font-size:1.8rem;flex-shrink:0}.quick-action-card .action-content{flex:1}.quick-action-card .action-content h3{font-size:1.1rem;font-weight:700;color:#2d3748;margin-bottom:4px}.quick-action-card .action-content p{font-size:.9rem;color:#718096}.quick-action-card .action-arrow{font-size:1.5rem;color:#cbd5e0;transition:all .3s ease}.quick-action-card:hover .action-arrow{color:var(--action-color);transform:translate(4px)}.fun-fact-section{margin-top:8px}.fun-fact-card{background:linear-gradient(135deg,#ffecd2,#fcb69f);border-radius:20px;padding:20px;text-align:center}.fun-fact-header{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;color:#744210;margin-bottom:12px}.fun-fact-header .sparkle{animation:twinkle 1.5s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.fun-fact-content{display:flex;align-items:center;justify-content:center;gap:12px}.fun-fact-content .fact-emoji{font-size:2.5rem}.fun-fact-content p{font-size:1.1rem;font-weight:600;color:#744210;text-align:left}.safety-section{margin-top:8px}.safety-card{background:#ebf8ff;border:2px solid #90cdf4;border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px}.safety-icon{font-size:2rem}.safety-content strong{display:block;color:#2c5282;margin-bottom:2px}.safety-content p{font-size:.9rem;color:#4a5568}.child-activities{display:flex;flex-direction:column;gap:20px}.child-activities-header{text-align:center;margin-bottom:8px}.child-activities-header h1{font-size:1.75rem;font-weight:800;color:#2d3748;margin-bottom:8px}.child-activities-header p{color:#718096}.activity-categories{display:flex;gap:8px;overflow-x:auto;padding:4px;-webkit-overflow-scrolling:touch}.category-chip{background:#fff;border:2px solid #e2e8f0;border-radius:20px;padding:10px 16px;font-weight:600;color:#4a5568;cursor:pointer;white-space:nowrap;transition:all .2s ease;display:flex;align-items:center;gap:6px}.category-chip:hover{border-color:#667eea;color:#667eea}.category-chip.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.activities-list{display:flex;flex-direction:column;gap:12px}.child-activity-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 12px #0000000d;transition:all .3s ease}.child-activity-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.child-activity-image{height:140px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;position:relative}.child-activity-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.child-activity-image .placeholder-emoji{font-size:4rem}.activity-age-badge{position:absolute;top:12px;right:12px;background:#fffffff2;padding:6px 12px;border-radius:12px;font-size:.8rem;font-weight:700;color:#667eea}.child-activity-content{padding:16px}.child-activity-content h3{font-size:1.1rem;font-weight:700;color:#2d3748;margin-bottom:8px}.child-activity-content p{font-size:.9rem;color:#718096;margin-bottom:12px}.child-activity-meta{display:flex;gap:16px;font-size:.85rem;color:#a0aec0}.child-activity-meta span{display:flex;align-items:center;gap:4px}.child-profile{display:flex;flex-direction:column;gap:24px}.profile-header-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:24px;padding:32px;text-align:center;color:#fff}.profile-avatar-large{width:100px;height:100px;margin:0 auto 16px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #0003}.profile-avatar-large img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.profile-avatar-large .emoji{font-size:3.5rem}.profile-name{font-size:1.75rem;font-weight:800;margin-bottom:4px}.profile-username{opacity:.8;font-size:.9rem}.profile-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{background:#fff;border-radius:16px;padding:20px;text-align:center;box-shadow:0 4px 12px #0000000d}.stat-icon{font-size:2rem;margin-bottom:8px}.stat-value{font-size:1.5rem;font-weight:800;color:#667eea}.stat-label{font-size:.85rem;color:#718096}.profile-actions{display:flex;flex-direction:column;gap:12px}.profile-action-btn{background:#fff;border:none;border-radius:16px;padding:16px 20px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000d;width:100%;text-align:left}.profile-action-btn:hover{background:#f7fafc}.profile-action-btn .action-emoji{font-size:1.5rem}.profile-action-btn .action-text{flex:1}.profile-action-btn .action-text strong{display:block;color:#2d3748;margin-bottom:2px}.profile-action-btn .action-text span{font-size:.85rem;color:#718096}.profile-action-btn .action-arrow{color:#cbd5e0}.child-restricted{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.restricted-icon{font-size:5rem;margin-bottom:24px;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.child-restricted h1{font-size:1.5rem;font-weight:800;color:#2d3748;margin-bottom:12px}.child-restricted p{color:#718096;max-width:300px;line-height:1.6}.ask-parent-btn{margin-top:24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:16px;padding:14px 28px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.ask-parent-btn:hover{transform:scale(1.05);box-shadow:0 8px 24px #667eea66}.child-messages{display:flex;flex-direction:column;gap:16px}.child-messages-header{text-align:center;margin-bottom:8px}.child-messages-header h1{font-size:1.5rem;font-weight:800;color:#2d3748}.family-contacts{display:flex;flex-direction:column;gap:12px}.family-contact-card{background:#fff;border-radius:16px;padding:16px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000d}.family-contact-card:hover{background:#f7fafc;transform:translate(4px)}.contact-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.contact-info{flex:1}.contact-info h3{font-weight:700;color:#2d3748;margin-bottom:2px}.contact-info p{font-size:.85rem;color:#718096}.contact-arrow{color:#cbd5e0;font-size:1.2rem}.child-nesti{display:flex;flex-direction:column;height:calc(100vh - 200px)}.nesti-header{text-align:center;padding:16px}.nesti-avatar{width:80px;height:80px;margin:0 auto 12px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;box-shadow:0 8px 24px #667eea4d}.nesti-header h1{font-size:1.3rem;font-weight:800;color:#2d3748}.nesti-header p{color:#718096;font-size:.9rem}.nesti-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.nesti-message{max-width:85%;padding:14px 18px;border-radius:20px;line-height:1.5}.nesti-message.from-nesti{background:#fff;border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 2px 8px #0000000d}.nesti-message.from-child{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.nesti-input-area{padding:16px;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #0000000d}.nesti-input-container{display:flex;gap:12px;align-items:center}.nesti-input{flex:1;border:2px solid #e2e8f0;border-radius:20px;padding:12px 20px;font-size:1rem;transition:all .2s ease}.nesti-input:focus{outline:none;border-color:#667eea}.nesti-send-btn{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.nesti-send-btn:hover{transform:scale(1.1)}.nesti-send-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.welcome-card{padding:20px}.welcome-emoji{font-size:2.5rem}.welcome-text h1{font-size:1.3rem}.quick-action-card .action-icon{width:48px;height:48px;font-size:1.5rem}}.cookie-consent-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:flex-end;justify-content:center;padding:1rem;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cookie-consent-modal{background:#fff;border-radius:24px 24px 16px 16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 -10px 50px #00000040;animation:slideUp .4s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.cookie-header{display:flex;align-items:center;gap:1rem;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #f1f5f9}.cookie-icon-wrapper{width:56px;height:56px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cookie-icon-wrapper .cookie-icon{width:32px;height:32px;color:#b45309}.cookie-header-text h2{font-size:1.1rem;font-weight:700;color:#1e293b;margin:0 0 .25rem}.cookie-header-text p{font-size:.85rem;color:#64748b;margin:0}.cookie-content{padding:1.25rem 1.5rem}.cookie-description{font-size:.9rem;color:#475569;margin:0 0 .75rem}.cookie-list{list-style:none;padding:0;margin:0 0 1rem}.cookie-list li{font-size:.85rem;color:#334155;padding:.5rem 0;border-bottom:1px solid #f1f5f9}.cookie-list li:last-child{border-bottom:none}.cookie-list li strong{color:#1e293b}.cookie-details-toggle{display:flex;align-items:center;gap:.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.6rem 1rem;font-size:.8rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s ease;width:100%;justify-content:center}.cookie-details-toggle:hover{background:#f1f5f9;color:#475569}.cookie-preferences{margin-top:1rem;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;animation:fadeIn .3s ease-out}.cookie-preference-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #f1f5f9}.cookie-preference-item:last-child{border-bottom:none}.preference-info h4{font-size:.85rem;font-weight:600;color:#1e293b;margin:0 0 .2rem}.preference-info p{font-size:.75rem;color:#64748b;margin:0}.preference-toggle{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.preference-toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:#cbd5e1;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #00000026}.preference-toggle input:checked+.toggle-slider{background:linear-gradient(135deg,#e67e22,#f5a623)}.preference-toggle input:checked+.toggle-slider:before{transform:translate(22px)}.preference-toggle.disabled .toggle-slider{background:linear-gradient(135deg,#22c55e,#16a34a);cursor:not-allowed}.preference-toggle.disabled .toggle-slider:before{transform:translate(22px)}.cookie-actions{display:flex;gap:.75rem;padding:0 1.5rem 1.25rem}.cookie-btn{flex:1;padding:.875rem 1rem;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.cookie-btn-secondary{background:#f1f5f9;color:#475569}.cookie-btn-secondary:hover{background:#e2e8f0}.cookie-btn-primary{background:linear-gradient(135deg,#e67e22,#f5a623);color:#fff;box-shadow:0 4px 12px #e67e224d}.cookie-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #e67e2266}.cookie-links{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem 1.25rem;border-top:1px solid #f1f5f9}.cookie-link{font-size:.75rem;color:#64748b;text-decoration:none;transition:color .2s}.cookie-link:hover{color:#e67e22;text-decoration:underline}.cookie-link-separator{color:#cbd5e1;font-size:.75rem}body.dark-mode .cookie-consent-modal{background:#1e293b}body.dark-mode .cookie-header{border-bottom-color:#334155}body.dark-mode .cookie-header-text h2{color:#f1f5f9}body.dark-mode .cookie-header-text p,body.dark-mode .cookie-description{color:#94a3b8}body.dark-mode .cookie-list li{color:#e2e8f0;border-bottom-color:#334155}body.dark-mode .cookie-list li strong{color:#f8fafc}body.dark-mode .cookie-details-toggle{background:#334155;border-color:#475569;color:#94a3b8}body.dark-mode .cookie-details-toggle:hover{background:#475569;color:#e2e8f0}body.dark-mode .cookie-preferences{border-color:#475569}body.dark-mode .cookie-preference-item{border-bottom-color:#334155}body.dark-mode .preference-info h4{color:#f1f5f9}body.dark-mode .preference-info p{color:#94a3b8}body.dark-mode .cookie-btn-secondary{background:#334155;color:#e2e8f0}body.dark-mode .cookie-btn-secondary:hover{background:#475569}body.dark-mode .cookie-links{border-top-color:#334155}body.dark-mode .cookie-link{color:#94a3b8}@media(min-width:640px){.cookie-consent-overlay{align-items:center}.cookie-consent-modal{border-radius:24px;max-height:85vh}}.toast-container{position:fixed;top:calc(env(safe-area-inset-top,0) + 16px);left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:10px;width:calc(100% - 32px);max-width:400px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:14px;box-shadow:0 10px 40px #0000001f,0 4px 16px #00000014,0 0 0 1px #0000000a;pointer-events:auto;animation:toastSlideIn .4s cubic-bezier(.34,1.56,.64,1) forwards;transform-origin:top center}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-icon{width:24px;height:24px;flex-shrink:0}.toast-message{flex:1;font-size:14px;font-weight:500;color:#1a1a1a;line-height:1.4}.toast-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#0000000d;border:none;border-radius:8px;cursor:pointer;color:#666;transition:all .2s ease;flex-shrink:0}.toast-close svg{width:16px;height:16px}.toast-close:hover{background:#0000001a;color:#333}.toast-success{border-left:4px solid #22c55e}.toast-success .toast-icon{color:#22c55e}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6}body.dark-mode .toast{background:#2c2c2ef2;box-shadow:0 10px 40px #0006,0 4px 16px #0000004d,0 0 0 1px #ffffff0f}body.dark-mode .toast-message{color:#f0f0f0}body.dark-mode .toast-close{background:#ffffff14;color:#999}body.dark-mode .toast-close:hover{background:#ffffff26;color:#fff}.toast:nth-child(2){animation-delay:.05s}.toast:nth-child(3){animation-delay:.1s}.welcome-animation{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#6c5ce7,#a29bfe,#fd79a8);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100000;overflow:hidden;transition:opacity .5s ease,transform .5s ease}.welcome-animation.fade-out{opacity:0;transform:scale(1.1);pointer-events:none}.welcome-bg{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;pointer-events:none}.particle{position:absolute;font-size:24px;opacity:.3;animation:particle-float 4s ease-in-out infinite}.p1{top:10%;left:10%;animation-delay:0s}.p2{top:20%;right:15%;animation-delay:.5s}.p3{bottom:30%;left:20%;animation-delay:1s}.p4{top:40%;right:10%;animation-delay:1.5s}.p5{bottom:20%;right:25%;animation-delay:2s}@keyframes particle-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(10deg)}}.welcome-logo{opacity:0;transform:scale(.5);transition:all .6s cubic-bezier(.34,1.56,.64,1)}.welcome-logo.visible{opacity:1;transform:scale(1)}.logo-house{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center;animation:logo-bounce 2s ease-in-out infinite}.house-emoji{font-size:80px;filter:drop-shadow(0 10px 30px rgba(0,0,0,.2));z-index:1}.logo-glow{position:absolute;width:150px;height:150px;background:radial-gradient(circle,rgba(255,255,255,.4) 0%,transparent 70%);border-radius:50%;animation:glow-pulse 2s ease-in-out infinite}@keyframes logo-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes glow-pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.8}}.welcome-text{margin-top:30px;text-align:center;color:#fff;opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.34,1.56,.64,1)}.welcome-text.visible{opacity:1;transform:translateY(0)}.welcome-text h1{margin:0;font-size:32px;font-weight:700;text-shadow:0 4px 15px rgba(0,0,0,.2);display:flex;flex-direction:column;gap:5px}.welcome-word{font-size:28px;font-weight:400;opacity:.9}.user-name{font-size:36px;font-weight:800;animation:name-shine 2s ease-in-out infinite}@keyframes name-shine{0%,to{text-shadow:0 4px 15px rgba(0,0,0,.2)}50%{text-shadow:0 4px 25px rgba(255,255,255,.5)}}.welcome-message{margin-top:20px;text-align:center;color:#fff;opacity:0;transform:translateY(20px);transition:all .6s ease}.welcome-message.visible{opacity:1;transform:translateY(0)}.welcome-message p{margin:0 0 20px;font-size:18px;opacity:.9}.mini-mascot{display:flex;align-items:center;justify-content:center;gap:5px}.mascot-cat{font-size:40px;animation:cat-run .5s ease-in-out infinite alternate}@keyframes cat-run{0%{transform:translate(-5px) rotate(-5deg)}to{transform:translate(5px) rotate(5deg)}}.mascot-dust{font-size:20px;opacity:.7;animation:dust-fade .5s ease-out infinite}@keyframes dust-fade{0%{opacity:.7;transform:translate(0)}to{opacity:0;transform:translate(-15px)}}.confetti-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.confetti{position:absolute;font-size:30px;opacity:0}.confetti-container.active .confetti{animation:confetti-burst 1s ease-out forwards}.c1{animation-delay:0s}.c2{animation-delay:.1s}.c3{animation-delay:.2s}.c4{animation-delay:.3s}.c5{animation-delay:.4s}@keyframes confetti-burst{0%{opacity:1;transform:translateY(0) translate(0) rotate(0) scale(0)}20%{opacity:1;transform:scale(1)}to{opacity:0}}.c1{animation-name:confetti-1}.c2{animation-name:confetti-2}.c3{animation-name:confetti-3}.c4{animation-name:confetti-4}.c5{animation-name:confetti-5}@keyframes confetti-1{0%{opacity:1;transform:translate(0) rotate(0) scale(0)}20%{transform:scale(1)}to{opacity:0;transform:translate(-80px,-100px) rotate(360deg) scale(.5)}}@keyframes confetti-2{0%{opacity:1;transform:translate(0) rotate(0) scale(0)}20%{transform:scale(1)}to{opacity:0;transform:translate(60px,-120px) rotate(-360deg) scale(.5)}}@keyframes confetti-3{0%{opacity:1;transform:translate(0) rotate(0) scale(0)}20%{transform:scale(1)}to{opacity:0;transform:translate(-100px,-60px) rotate(180deg) scale(.5)}}@keyframes confetti-4{0%{opacity:1;transform:translate(0) rotate(0) scale(0)}20%{transform:scale(1)}to{opacity:0;transform:translate(90px,-80px) rotate(-180deg) scale(.5)}}@keyframes confetti-5{0%{opacity:1;transform:translate(0) rotate(0) scale(0)}20%{transform:scale(1)}to{opacity:0;transform:translateY(-150px) rotate(360deg) scale(.5)}}@media(max-width:480px){.house-emoji{font-size:60px}.logo-house{width:100px;height:100px}.logo-glow{width:120px;height:120px}.welcome-text h1{font-size:26px}.welcome-word{font-size:22px}.user-name{font-size:30px}}@media(prefers-reduced-motion:reduce){.welcome-animation{transition:none}.particle,.logo-house,.logo-glow,.mascot-cat,.mascot-dust,.confetti{animation:none!important}.welcome-animation.fade-out{display:none}}:root{--color-primary: #E67E22;--color-primary-light: #F5A623;--color-primary-dark: #D35400;--color-primary-gradient: linear-gradient(135deg, #E67E22 0%, #D35400 100%);--color-secondary: #2C3E50;--color-secondary-light: #34495E;--color-accent-yellow: #F5A623;--color-accent-orange: #E67E22;--color-accent-coral: #E74C3C;--color-accent-warm: #FF8A3D;--color-text: #2C3E50;--color-text-secondary: #5D6D7E;--color-text-light: #7F8C8D;--color-bg: #FFF9F5;--color-background: #FFF9F5;--color-bg-warm: linear-gradient(180deg, #FFF9F5 0%, #FFF5EB 50%, #FFEEE0 100%);--color-bg-card: #FFFFFF;--color-card-bg: #FFFFFF;--color-bg-secondary: #FFF4EC;--color-bg-hover: #FFF0E5;--color-bg-input: #FFFBF8;--color-border: #F0E0D0;--color-border-light: #F5EBE0;--color-shadow: 0 4px 6px -1px rgba(139, 90, 43, .08);--shadow-sm: 0 1px 2px 0 rgba(139, 90, 43, .05);--shadow: 0 4px 12px rgba(139, 90, 43, .08);--shadow-md: 0 8px 24px rgba(139, 90, 43, .12);--shadow-lg: 0 16px 40px rgba(139, 90, 43, .15);--shadow-warm: 0 4px 14px rgba(230, 126, 34, .25);--card-shadow: 0 2px 8px rgba(139, 90, 43, .06), 0 8px 24px rgba(139, 90, 43, .08);--radius-sm: 10px;--radius: 14px;--radius-md: 18px;--radius-lg: 22px;--radius-xl: 28px;--radius-full: 9999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing: 12px;--spacing-md: 16px;--spacing-lg: 20px;--spacing-xl: 24px;--spacing-2xl: 32px;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--color-success: #27AE60;--color-success-light: #D5F5E3;--color-error: #E74C3C;--color-error-light: #FADBD8;--color-warning: #F39C12;--color-warning-light: #FCF3CF;--color-info: #3498DB;--color-info-light: #D6EAF8}body.dark-mode{--color-primary: #F5A623;--color-primary-light: #FFBC42;--color-primary-dark: #E67E22;--color-text: #F5F5F5;--color-text-secondary: #B0B0B0;--color-text-light: #888888;--color-bg: #1A1A1A;--color-background: #1A1A1A;--color-bg-card: #242424;--color-card-bg: #242424;--color-bg-secondary: #2D2D2D;--color-bg-hover: #333333;--color-bg-input: #1F1F1F;--color-border: #3D3D3D;--color-border-light: #4A4A4A;--color-shadow: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow: 0 4px 12px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);--shadow-warm: 0 4px 14px rgba(245, 166, 35, .2);--card-shadow: 0 2px 8px rgba(0, 0, 0, .2), 0 8px 24px rgba(0, 0, 0, .3)}body{background-color:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-base);line-height:1.6;transition:background-color .3s ease,color .3s ease}*{transition-property:background-color,color,border-color,opacity,transform;transition-duration:.2s;transition-timing-function:ease}.theme-changing *{transition:none!important}.page-enter,.page-container{animation:fadeIn .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:slideInRight .3s ease-out}.btn:active,button:active{transform:scale(.95);transition-duration:.1s}.btn-lift:hover,.card-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pulse{animation:pulse 2s infinite}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-enter,.modal-content{animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.modal-overlay{animation:fadeInOverlay .2s ease-out}@keyframes scaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-scale{animation:scaleUp .3s cubic-bezier(.34,1.56,.64,1)}@keyframes pulseBadge{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.notification-badge{animation:pulseBadge 2s infinite}.shake{animation:shake .5s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner,.loading-spinner{animation:spin 1s linear infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,var(--color-bg) 0%,var(--color-bg-secondary) 50%,var(--color-bg) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}@keyframes dotBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.loading-dots span{display:inline-block;width:8px;height:8px;margin:0 2px;background:var(--color-primary);border-radius:50%;animation:dotBounce 1.4s infinite ease-in-out both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.list-item-enter{animation:fadeInUp .4s ease-out backwards}.list-item-enter:nth-child(1){animation-delay:.05s}.list-item-enter:nth-child(2){animation-delay:.1s}.list-item-enter:nth-child(3){animation-delay:.15s}.list-item-enter:nth-child(4){animation-delay:.2s}.list-item-enter:nth-child(5){animation-delay:.25s}@keyframes expandCard{0%{transform:scale(1)}to{transform:scale(1.02)}}.card-expand:hover{animation:expandCard .2s forwards}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.icon-bounce{animation:bounce 2s infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-rotate{animation:rotate 2s linear infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(hover:none)and (pointer:coarse){.btn:active,button:active,.card:active{opacity:.7}}.app{min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column;transition:background-color .3s ease}body:not(.dark-mode) .app{background:linear-gradient(180deg,#fff9f5,#fff5eb,#ffeee0);background-attachment:fixed}.app-container{max-width:600px;margin:0 auto;width:100%;min-height:100vh;background-color:transparent;position:relative;transition:background-color .3s ease}.main{flex:1;padding-bottom:80px;overflow-y:auto;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-container{padding:var(--spacing-md);min-height:calc(100vh - 80px)}.card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--card-shadow);margin-bottom:var(--spacing-md);transition:transform .25s ease,box-shadow .25s ease;border:1px solid var(--color-border-light)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn{padding:12px 24px;border-radius:var(--radius);font-weight:600;font-size:var(--font-size-base);border:none;cursor:pointer;transition:all .25s ease;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.btn-primary{background:var(--color-primary-gradient);color:#fff;box-shadow:var(--shadow-warm)}.btn-primary:hover{background:linear-gradient(135deg,#d35400,#c0392b);transform:translateY(-2px);box-shadow:0 6px 20px #d3540059}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text);border:2px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-bg-hover)}input,textarea,select{width:100%;padding:14px 18px;border:2px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-base);background:var(--color-bg-input);color:var(--color-text);transition:all .25s ease}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-light)}input::placeholder,textarea::placeholder{color:var(--color-text-light)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #e67e221a;background:var(--color-bg-card)}.avatar{width:44px;height:44px;border-radius:var(--radius-full);background:linear-gradient(135deg,#e67e22,#f5a623);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-md);box-shadow:0 2px 8px #e67e2240}.avatar-sm{width:36px;height:36px;font-size:var(--font-size-sm)}.avatar-lg{width:56px;height:56px;font-size:var(--font-size-lg)}.badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;line-height:1}.badge-admin,.badge-parent{background:#10b981;color:#fff}.badge-ado{background:#fbbf24;color:#78350f}.badge-urgent{background:#ef4444;color:#fff}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg);gap:var(--spacing-md)}.loading-spinner{width:50px;height:50px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{color:var(--color-text-secondary);font-weight:500}@media(min-width:375px){.app-container{max-width:100%}}@media(min-width:425px){.page-container,.card{padding:var(--spacing-lg)}}@media(min-width:768px){.app-container{max-width:768px}.page-container{padding:var(--spacing-xl)}.btn{padding:12px 24px;font-size:var(--font-size-md)}.card{padding:var(--spacing-xl)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}}@media(min-width:1024px){.app-container{max-width:1024px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}}@media(min-width:1440px){.app-container{max-width:1200px}}@media(hover:none)and (pointer:coarse){.btn,button,a,.clickable{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}}@supports (padding: max(0px)){.app{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.main{padding-bottom:max(80px,calc(80px + env(safe-area-inset-bottom)))}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:640px){.page-container{padding:var(--spacing)}.card{border-radius:var(--radius);margin-bottom:var(--spacing)}.hide-mobile{display:none!important}}.high-contrast{--color-text: #000000;--color-text-secondary: #333333;--color-bg: #ffffff;--color-bg-card: #ffffff;--color-border: #000000;--color-primary: #0066cc;--color-primary-dark: #004499}.high-contrast button,.high-contrast .btn{border:2px solid #000;font-weight:700}.simplified-ui *{transition:none!important;animation:none!important}.simplified-ui .gradient{background:var(--color-primary)!important}.visual-indicators{--notification-pulse: pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.visual-indicators .notification,.visual-indicators .alert{border:3px solid var(--color-primary);animation:var(--notification-pulse)}.large-touch-targets button,.large-touch-targets a,.large-touch-targets input,.large-touch-targets select{min-height:var(--touch-target-min, 48px);min-width:var(--touch-target-min, 48px);padding:12px 16px}.large-touch-targets .icon-btn{width:56px;height:56px}@font-face{font-family:OpenDyslexic;src:url(https://cdn.jsdelivr.net/npm/open-dyslexic@1.0.3/fonts/OpenDyslexic-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(https://cdn.jsdelivr.net/npm/open-dyslexic@1.0.3/fonts/OpenDyslexic-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.large-touch-targets :focus-visible{outline-width:4px;outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-to-content{position:absolute;top:-40px;left:0;background:var(--color-primary);color:#fff;padding:8px 16px;text-decoration:none;z-index:100}.skip-to-content:focus{top:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-15px)}60%{transform:translateY(-7px)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #6c5ce74d}50%{box-shadow:0 0 20px #6c5ce799}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}@keyframes confetti-1{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-100px) translate(-50px) rotate(360deg);opacity:0}}@keyframes confetti-2{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-120px) translate(30px) rotate(-360deg);opacity:0}}@keyframes confetti-3{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-80px) translate(60px) rotate(180deg);opacity:0}}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(4);opacity:0}}.animate-bounce{animation:bounce 2s ease infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-shake{animation:shake .5s ease}.animate-wiggle{animation:wiggle .5s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-pop{animation:pop .3s ease-out}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out}.animate-slide-up{animation:slideInUp .5s ease-out}.animate-slide-down{animation:slideInDown .5s ease-out}.animate-slide-left{animation:slideInLeft .5s ease-out}.animate-slide-right{animation:slideInRight .5s ease-out}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}.hover-bounce:hover{animation:bounce .5s ease}.hover-wiggle:hover{animation:wiggle .3s ease-in-out}.hover-pulse:hover{animation:pulse .5s ease}.hover-glow:hover{animation:glow 1s ease-in-out infinite}.focus-glow:focus{animation:glow 1s ease-in-out infinite}.card-3d{transition:transform .3s ease,box-shadow .3s ease;transform-style:preserve-3d}.card-3d:hover{transform:perspective(1000px) rotateX(2deg) rotateY(2deg) translateY(-5px);box-shadow:0 20px 40px #00000026}.btn-press{transition:transform .1s ease,box-shadow .1s ease}.btn-press:active{transform:scale(.95);box-shadow:inset 0 2px 4px #0000001a}.link-underline{position:relative}.link-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,#6c5ce7,#a29bfe);transition:width .3s ease}.link-underline:hover:after{width:100%}.badge-pulse:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;animation:pulse 2s ease-in-out infinite;background:inherit;z-index:-1}.text-gradient-animated{background:linear-gradient(90deg,#6c5ce7,#a29bfe,#fd79a8,#6c5ce7);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-flow 3s ease infinite}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.typing-effect{overflow:hidden;border-right:2px solid #6c5ce7;white-space:nowrap;animation:typing 3s steps(30) 1s forwards,blink .75s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{50%{border-color:transparent}}.loading-dots{display:flex;gap:6px}.loading-dots span{width:8px;height:8px;background:#6c5ce7;border-radius:50%;animation:dot-bounce 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes dot-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.loading-bar{width:100%;height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden}.loading-bar:after{content:"";display:block;width:40%;height:100%;background:linear-gradient(90deg,#6c5ce7,#a29bfe);border-radius:2px;animation:loading-progress 1.5s ease-in-out infinite}@keyframes loading-progress{0%{transform:translate(-100%)}to{transform:translate(350%)}}.checkmark-animated{width:50px;height:50px;border-radius:50%;display:block;stroke-width:3;stroke:#10b981;stroke-miterlimit:10;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;box-shadow:inset 0 0 #10b981}.checkmark-animated__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:3;stroke:#10b981;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark-animated__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #10b9811a}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}.confetti-burst{position:relative}.confetti-burst:before,.confetti-burst:after{content:"🎉";position:absolute;font-size:20px;pointer-events:none}.confetti-burst.active:before{animation:confetti-1 .8s ease-out forwards;left:20%}.confetti-burst.active:after{animation:confetti-2 .8s ease-out forwards;right:20%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-bounce,.animate-pulse,.animate-float,.animate-wiggle,.animate-glow,.animate-heartbeat{animation:none!important}}button,a,[role=button],.clickable{-webkit-tap-highlight-color:rgba(108,92,231,.1);touch-action:manipulation}button:active,a:active,.clickable:active{opacity:.8;transform:scale(.98)}html{scroll-behavior:smooth}.scroll-container,[data-scroll]{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6c5ce74d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6c5ce780}:focus-visible{outline:2px solid #6c5ce7;outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}::selection{background:#6c5ce74d;color:inherit}::-moz-selection{background:#6c5ce74d;color:inherit}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}button,a,input,textarea,select{transition:all .2s ease}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:8px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-text.short{width:60%}.skeleton-text.medium{width:80%}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-card{height:200px;border-radius:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.5;animation:float 3s ease-in-out infinite}.empty-state-title{font-size:18px;font-weight:600;color:#333;margin:0 0 8px}.empty-state-desc{font-size:14px;color:#666;max-width:280px;line-height:1.5}.empty-state-action{margin-top:20px}.card-hover{transition:transform .3s ease,box-shadow .3s ease}.card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001f}.card-hover:active{transform:translateY(-2px)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;font-size:12px;font-weight:600;border-radius:100px;white-space:nowrap}.badge-primary{background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff}.badge-success{background:#10b981;color:#fff}.badge-warning{background:#f59e0b;color:#fff}.badge-danger{background:#ef4444;color:#fff}.badge-info{background:#3b82f6;color:#fff}.badge-pulse{position:relative}.badge-pulse:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;background:inherit;animation:pulse-badge 2s ease-in-out infinite;z-index:-1}@keyframes pulse-badge{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.5);opacity:0}}.inline-notification{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;font-size:14px;animation:slideInUp .3s ease}.inline-notification.info{background:#3b82f61a;border-left:4px solid #3b82f6;color:#1e40af}.inline-notification.success{background:#10b9811a;border-left:4px solid #10b981;color:#047857}.inline-notification.warning{background:#f59e0b1a;border-left:4px solid #f59e0b;color:#92400e}.inline-notification.error{background:#ef44441a;border-left:4px solid #ef4444;color:#991b1b}.avatar-group{display:flex}.avatar-group .avatar{margin-left:-12px;border:2px solid white;box-shadow:0 2px 8px #0000001a}.avatar-group .avatar:first-child{margin-left:0}.avatar-group .avatar-more{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#6c5ce7;color:#fff;font-size:12px;font-weight:600;margin-left:-12px;border:2px solid white}.drag-handle{display:flex;flex-direction:column;gap:3px;padding:8px;cursor:grab;opacity:.4;transition:opacity .2s ease}.drag-handle:hover{opacity:.8}.drag-handle:active{cursor:grabbing}.drag-handle-line{width:20px;height:2px;background:currentColor;border-radius:1px}.swipe-container{position:relative;overflow:hidden}.swipe-actions{position:absolute;top:0;right:0;bottom:0;display:flex;transform:translate(100%);transition:transform .3s ease}.swipe-container.swiped .swipe-actions{transform:translate(0)}.swipe-action{display:flex;align-items:center;justify-content:center;width:80px;color:#fff;font-size:20px}.swipe-action.delete{background:#ef4444}.swipe-action.edit{background:#3b82f6}.swipe-action.archive{background:#6c5ce7}.progress-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#6c5ce7,#a29bfe);border-radius:4px;transition:width .5s ease}.progress-circle{position:relative;width:60px;height:60px}.progress-circle svg{transform:rotate(-90deg)}.progress-circle-bg{fill:none;stroke:#e0e0e0;stroke-width:6}.progress-circle-fill{fill:none;stroke:#6c5ce7;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.progress-circle-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;font-weight:600;color:#6c5ce7}.dark-mode .skeleton{background:linear-gradient(90deg,#2d2d44 25%,#3d3d5c,#2d2d44 75%);background-size:200% 100%}.dark-mode ::-webkit-scrollbar-thumb{background:#a29bfe4d}.dark-mode ::-webkit-scrollbar-thumb:hover{background:#a29bfe80}.dark-mode ::-moz-selection{background:#a29bfe66}.dark-mode ::selection{background:#a29bfe66}.dark-mode .empty-state-title{color:#e0e0e0}.dark-mode .empty-state-desc{color:#aaa}.dark-mode .inline-notification.info{background:#3b82f626;color:#93c5fd}.dark-mode .inline-notification.success{background:#10b98126;color:#6ee7b7}.dark-mode .inline-notification.warning{background:#f59e0b26;color:#fcd34d}.dark-mode .inline-notification.error{background:#ef444426;color:#fca5a5}
