: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, #2D6A4F);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: #edf5f1;--primary-100: #d1e7dd;--primary-200: #7AB89A;--primary-300: #7AB89A;--primary-400: #5E9B7D;--primary-500: #2D6A4F;--primary-600: #2D6A4F;--primary-700: #1B4332;--primary-800: #1B4332;--primary-900: #1a1f1c;--nesti-primary: #2D6A4F;--nesti-primary-light: #5E9B7D;--nesti-primary-soft: #edf5f1;--color-primary: #2D6A4F;--color-primary-light: #5E9B7D;--color-primary-dark: #1B4332;--color-secondary: #6C757D;--color-text: #1B4332;--color-text-secondary: #6C757D;--color-bg: #F8F9FA;--color-bg-secondary: #FFFFFF;--color-border: #E9ECEF;--color-border-light: #E9ECEF;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing: 1rem;--spacing-md: 1.25rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius: 8px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--accent-rose: #ef4444;--accent-rose-soft: #fee2e2;--accent-rose-light: #fecaca;--accent-violet: #1B4332;--accent-violet-soft: #edf5f1;--accent-violet-light: #d1e7dd;--accent-teal: #2D6A4F;--accent-teal-soft: #edf5f1;--accent-teal-light: #d1e7dd;--accent-orange: #5E9B7D;--accent-orange-soft: #edf5f1;--accent-orange-light: #d1e7dd;--accent-sky: #2D6A4F;--accent-sky-soft: #edf5f1;--accent-sky-light: #d1e7dd;--gray-25: #FFFFFF;--gray-50: #F8F9FA;--gray-100: #F8F9FA;--gray-200: #E9ECEF;--gray-300: #E9ECEF;--gray-400: #ADB5BD;--gray-500: #6C757D;--gray-600: #6C757D;--gray-700: #1B4332;--gray-800: #1B4332;--gray-900: #1a1f1c;--surface-primary: #FFFFFF;--surface-secondary: #F8F9FA;--surface-tertiary: #E9ECEF;--surface-elevated: #FFFFFF;--bg-main: #F8F9FA;--bg-warm: linear-gradient(135deg, #F8F9FA 0%, #FFFFFF 50%, #F8F9FA 100%);--text-primary: #1B4332;--text-secondary: #6C757D;--text-tertiary: #6C757D;--text-muted: #ADB5BD;--text-inverse: #ffffff;--border-light: #E9ECEF;--border-default: #E9ECEF;--border-strong: #E9ECEF;--shadow-xs: 0 1px 2px 0 rgba(27, 67, 50, .04);--shadow-sm: 0 1px 3px rgba(27, 67, 50, .06), 0 1px 2px rgba(27, 67, 50, .04);--shadow-md: 0 4px 8px -2px rgba(27, 67, 50, .06), 0 2px 4px -2px rgba(27, 67, 50, .04);--shadow-lg: 0 12px 16px -4px rgba(27, 67, 50, .06), 0 4px 6px -2px rgba(27, 67, 50, .02);--shadow-xl: 0 20px 24px -4px rgba(27, 67, 50, .06), 0 8px 8px -4px rgba(27, 67, 50, .02);--shadow-primary: 0 4px 14px rgba(45, 106, 79, .2);--shadow-rose: 0 4px 14px rgba(220, 53, 69, .15);--shadow-violet: 0 4px 14px rgba(27, 67, 50, .15);--glow-primary: 0 0 20px rgba(45, 106, 79, .12);--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: 960px;--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: #1a1f1c;--bg-secondary: #232b27;--bg-tertiary: #2a332f;--bg-elevated: #313b36;--bg-hover: #3a4a43;--text-primary: #F8F9FA;--text-secondary: #ADB5BD;--text-muted: #6C757D;--text-disabled: #6C757D;--border-subtle: rgba(94, 155, 125, .06);--border-default: rgba(94, 155, 125, .12);--border-strong: rgba(94, 155, 125, .18);--accent-primary: #5E9B7D;--accent-secondary: #7AB89A;--accent-success: #5E9B7D;--accent-warning: #5E9B7D;--accent-error: #ef4444;--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(94, 155, 125, .02) 0%, transparent 100%);--gradient-glow: radial-gradient(ellipse at top, rgba(94, 155, 125, .1) 0%, transparent 60%);--color-primary: #5E9B7D;--color-primary-light: #7AB89A;--color-primary-dark: #2D6A4F;--color-secondary: #6C757D;--color-text: #F8F9FA;--color-text-secondary: #ADB5BD;--color-bg: #1a1f1c;--color-bg-secondary: #232b27;--color-border: rgba(94, 155, 125, .15);--color-border-light: rgba(94, 155, 125, .08)}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 #5e9b7d33!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 #2d6a4f4d!important}body.dark-mode .btn-primary:hover,body.dark-mode .primary-btn:hover{box-shadow:0 6px 20px #2d6a4f66!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:#5e9b7d33;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:#5e9b7d4d;color:#fff}body.dark-mode ::selection{background:#5e9b7d4d;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:#5e9b7d1f;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:#5e9b7d1f}body.dark-mode .weather-widget .weather-main{background:linear-gradient(135deg,#5e9b7d1a,#7ab89a1a)}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:#5e9b7d1a;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:#7ab89a!important;text-decoration:underline!important}body.dark-mode code,body.dark-mode pre{background:var(--bg-elevated)!important;color:#e9ecef!important;border:1px solid var(--border-subtle)!important}@media(max-width:767px){body.dark-mode .bottom-nav{background:#1a1f1cf2!important;-webkit-backdrop-filter:blur(20px)!important;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}.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)}.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}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / 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:#1a1f1c;color:#f8f9fa}body.dark-mode .app-layout,body.dark-mode .app-container{background-color:#1a1f1c}body.dark-mode .desktop-sidebar{background-color:#232b27;border-color:#3a4a43}body.dark-mode .sidebar-header{border-color:#3a4a43}body.dark-mode .sidebar-logo-text{color:#5e9b7d}body.dark-mode .sidebar-nav-item{color:#f8f9fa}body.dark-mode .sidebar-nav-icon{color:#adb5bd}body.dark-mode .sidebar-nav-label{color:#f8f9fa}body.dark-mode .sidebar-nav-item:hover{background-color:#2a332f}body.dark-mode .sidebar-nav-item.active{background-color:#5e9b7d1f}body.dark-mode .sidebar-nav-item.active .sidebar-nav-icon,body.dark-mode .sidebar-nav-item.active .sidebar-nav-label{color:#5e9b7d}body.dark-mode .sidebar-bottom-section{border-color:#3a4a43}body.dark-mode .sidebar-nav-item.theme-toggle{background-color:#2a332f}body.dark-mode .main-content.desktop-content{background-color:#1a1f1c}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{opacity:0;transform:translateY(20px)}.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}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-slideUp{animation:slideUp .4s cubic-bezier(.16,1,.3,1) forwards}.animate-slideInRight{animation:slideInRight .3s ease-out forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-scaleIn{animation:scaleIn .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce{animation:bounce .6s ease-in-out}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.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}.animate-spin{animation:spin 1s linear 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;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}}.auth-page{min-height:100vh;min-height:100dvh;background:linear-gradient(145deg,#f8f9fa,#edf5f1,#d1e7dd);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:var(--gradient-primary);top:-100px;left:-100px;animation-delay:0s}.auth-page:after{width:300px;height:300px;background:linear-gradient(135deg,#5e9b7d,#7ab89a);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,#1a1f1c,#232b27,#2a332f)}body.dark-mode .auth-page:before{background:linear-gradient(135deg,#2d6a4f,#1b4332);opacity:.2}body.dark-mode .auth-page:after{background:var(--gradient-primary-reverse);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;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:32px 24px;box-shadow:0 8px 32px #1b433214;border:1px solid rgba(226,222,211,.5)}body.dark-mode .auth-card{background:#1e1e32e6;border-color:#ffffff1a}body.dark-mode .input-with-icon input{background:#ffffff0d;border-color:#ffffff26;color:#f8f9fa}body.dark-mode .input-with-icon input::-moz-placeholder{color:#adb5bd}body.dark-mode .input-with-icon input::placeholder{color:#adb5bd}body.dark-mode .input-with-icon input:focus{border-color:#5e9b7d;box-shadow:0 0 0 4px #5e9b7d26}body.dark-mode .input-icon{color:#adb5bd}body.dark-mode .input-with-icon:focus-within .input-icon{color:#5e9b7d}body.dark-mode .input-group label{color:#f8f9fa}.auth-logo{display:flex;justify-content:center;margin-bottom:12px}.logo-icon{width:56px;height:56px;background:linear-gradient(135deg,#2d6a4f,#5e9b7d);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;font-weight:800;box-shadow:0 6px 18px #2d6a4f40;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:16px}.auth-header h1{font-size:22px;font-weight:700;color:var(--color-text);margin:0 0 4px;animation:fadeInUp .5s ease-out forwards;animation-delay:.3s;opacity:0}.auth-header p{font-size:.85rem;color:#6c757d;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:10px 14px;border-radius:8px;margin-bottom:12px;font-size:.85rem;font-weight:500}.auth-message.error{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}.auth-message.success{background:#d1e7dd;color:#1b4332;border:1px solid #d1e7dd}.auth-form{display:flex;flex-direction:column;gap:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-group{display:flex;flex-direction:column;gap:0;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:.85rem;color:var(--color-text, #1B4332);display:block;margin-bottom:4px}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;width:18px;height:18px;color:var(--color-text-secondary, #6C757D);pointer-events:none;transition:color .2s ease;z-index:2;flex-shrink:0}.input-with-icon:focus-within .input-icon{color:var(--color-primary, #2D6A4F)}.input-with-icon input{width:100%;padding:11px 14px;border:1.5px solid var(--color-border, #E9ECEF);border-radius:10px;font-size:.95rem;background:#fff;color:var(--color-text, #1B4332);transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}.input-with-icon input:focus{outline:none;border-color:var(--color-primary, #2D6A4F);box-shadow:0 0 0 3px #2d6a4f14;background:#fff}.input-with-icon input::-moz-placeholder{color:#6c757d;opacity:1;font-size:.9rem}.input-with-icon input::placeholder{color:#6c757d;opacity:1;font-size:.9rem}.input-with-icon input::-webkit-credentials-auto-fill-button,.input-with-icon input::-webkit-contacts-auto-fill-button,.input-with-icon input::-webkit-credit-card-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0}.input-with-icon input:-webkit-autofill,.input-with-icon input:-webkit-autofill:hover,.input-with-icon input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px #FFFFFF inset!important;-webkit-text-fill-color:var(--color-text, #1B4332)!important;caret-color:var(--color-text, #1B4332)}body.dark-mode .input-with-icon input:-webkit-autofill,body.dark-mode .input-with-icon input:-webkit-autofill:hover,body.dark-mode .input-with-icon input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px #1e2723 inset!important;-webkit-text-fill-color:#F8F9FA!important;caret-color:#f8f9fa}.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:13px 16px;background:linear-gradient(135deg,#2d6a4f,#5e9b7d);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #2d6a4f40;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(-1px);box-shadow:0 6px 20px #2d6a4f4d}.auth-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #2d6a4f33}.auth-button:disabled{opacity:.6;cursor:not-allowed}.forgot-password-link{text-align:right;margin-top:2px}.link-button{background:none;border:none;color:var(--color-primary);font-size:.8rem;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:16px 0;color:#6c757d;font-size:.8rem}.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:10px}.oauth-button{width:100%;padding:11px;border:1.5px solid #E9ECEF;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:var(--color-text)}.oauth-button:hover:not(:disabled){border-color:var(--color-primary);background:#fff;box-shadow:0 2px 8px #0000000f}.oauth-button:disabled{opacity:.6;cursor:not-allowed}.oauth-icon{width:20px;height:20px}.oauth-button.google .oauth-icon{color:#2d6a4f}.auth-toggle{margin-top:16px;text-align:center}.toggle-button{background:none;border:none;color:var(--color-primary);font-size:.85rem;font-weight:600;cursor:pointer;padding:6px;transition:all .2s ease}.toggle-button:hover{text-decoration:underline}.auth-privacy{margin-top:14px;padding:12px;background:#edf5f1;border-radius:10px;text-align:center}.auth-privacy p{margin:0;font-size:.75rem;color:#6c757d;line-height:1.5}.demo-login-section{margin-top:14px;text-align:center}.demo-button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#5e9b7d,#2d6a4f);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 3px 12px #f9731640}.demo-button:hover{transform:translateY(-1px);box-shadow:0 4px 16px #f973164d}.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:12px;align-items:flex-start;padding-top:env(safe-area-inset-top,12px)}.auth-card{padding:24px 18px;border-radius:16px}.auth-container{max-width:100%}.form-row{grid-template-columns:1fr}.auth-header h1{font-size:20px}.logo-icon{width:48px;height:48px;font-size:24px;border-radius:14px}}.confirmation-screen{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0;animation:fadeInUp .5s ease-out forwards}.confirmation-icon-wrapper{position:relative;width:80px;height:80px;margin-bottom:20px}.confirmation-icon{width:80px;height:80px;color:var(--color-primary, #2D6A4F);animation:envelopeBounce 1.2s cubic-bezier(.34,1.56,.64,1) forwards}.confirmation-check{position:absolute;bottom:-4px;right:-4px;width:28px;height:28px;color:#2d6a4f;background:#fff;border-radius:50%;animation:checkPop .4s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:.6s;opacity:0}@keyframes envelopeBounce{0%{opacity:0;transform:scale(.5) translateY(20px)}60%{transform:scale(1.1) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes checkPop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.confirmation-title{font-size:22px;font-weight:700;color:var(--color-text, #1B4332);margin:0 0 12px}.confirmation-text{font-size:.95rem;color:var(--color-text-secondary, #6C757D);margin:0 0 4px;line-height:1.5;max-width:340px}.confirmation-text strong{color:var(--color-text, #1B4332)}.confirmation-email{font-size:1rem;font-weight:700;color:var(--color-primary, #2D6A4F);margin:4px 0 16px;word-break:break-all}.confirmation-screen .auth-message{width:100%;margin-top:12px}.resend-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 18px;margin-top:20px;background:#edf5f1;color:var(--color-primary, #2D6A4F);border:1.5px solid var(--color-primary, #2D6A4F);border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.resend-button:hover:not(:disabled){background:var(--color-primary, #2D6A4F);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px #2d6a4f40}.resend-button:disabled{opacity:.5;cursor:not-allowed;border-color:var(--color-border, #E9ECEF);color:var(--color-text-secondary, #6C757D)}.resend-icon{width:18px;height:18px;flex-shrink:0}.resend-icon.spinning{animation:spin 1s linear infinite}.confirmation-screen .toggle-button{margin-top:16px;color:var(--color-text-secondary, #6C757D)}.confirmation-screen .toggle-button:hover{color:var(--color-primary, #2D6A4F)}body.dark-mode .confirmation-title{color:var(--text-primary, #F8F9FA)}body.dark-mode .confirmation-text{color:var(--text-secondary, #6C757D)}body.dark-mode .confirmation-email{color:#5e9b7d}body.dark-mode .confirmation-check{background:var(--bg-secondary, #232b27)}body.dark-mode .resend-button{background:#2d6a4f1a;border-color:#5e9b7d;color:#5e9b7d}body.dark-mode .resend-button:hover:not(:disabled){background:#5e9b7d;color:#1a1f1c}.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 #2D6A4F}@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:#f8f9fa;border-radius:12px}.notification-toast .toast-content{flex:1}.notification-toast .toast-content strong{display:block;font-size:.85rem;color:#2d6a4f;margin-bottom:2px}.notification-toast .toast-content p{margin:0;font-size:.9rem;color:#2a332f;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, #FFFFFF) 0%,var(--color-bg, #F8F9FA) 100%);border-bottom:1px solid var(--color-border, #E9ECEF)}.notification-header h3{margin:0;font-size:1.1em;font-weight:700;color:#2a332f}.mark-all-read-btn{background:linear-gradient(135deg,#2d6a4f,#1b4332);border:none;color:#fff;font-size:.8em;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer;transition:var(--transition-fast)}.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:#6c757d}.loading-spinner{width:30px;height:30px;border:3px solid #E9ECEF;border-top-color:#2d6a4f;border-radius:50%;animation:spin .8s linear infinite}.notification-empty{padding:40px 20px;text-align:center;color:#6c757d}.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:#6c757d}.notification-empty .empty-hint{font-size:.85em;color:#6c757d}.notification-item{display:flex;align-items:flex-start;padding:14px 18px;cursor:pointer;transition:var(--transition-fast);border-bottom:1px solid #F8F9FA;gap:14px}.notification-item:hover{background-color:#fff}.notification-item.unread{background:linear-gradient(135deg,#10b9810d,#10b98114);border-left:3px solid var(--notif-color, #2D6A4F)}.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:#2a332f;word-wrap:break-word}.notification-time{font-size:.75em;color:#6c757d;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:#2a332f;box-shadow:0 15px 50px #0006}body.dark-mode .notification-header{background:linear-gradient(135deg,#1b4332,#2a332f);border-color:#6c757d}body.dark-mode .notification-header h3{color:#f8f9fa}body.dark-mode .notification-item{border-color:#1b4332}body.dark-mode .notification-item:hover{background:#1b4332}body.dark-mode .notification-message,body.dark-mode .notification-empty p{color:#e9ecef}body.dark-mode .notification-toast{background:#2a332f;border-color:#2d6a4f}body.dark-mode .notification-toast .toast-content p{color:#e9ecef}@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;-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);border-bottom:1px solid rgba(27,67,50,.06);padding:10px 16px;z-index:999;box-shadow:0 4px 24px #0000000a,0 1px 3px #1b433208}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:100%;margin:0 auto}.header-left{display:flex;align-items:center;gap:12px}.header-logo{width:44px;height:44px;background:linear-gradient(135deg,#2d6a4f,#5e9b7d,#5e9b7d);border-radius:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #2d6a4f4d,0 2px 6px #2d6a4f33,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 #2d6a4f66,0 3px 10px #2d6a4f4d,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:#2d6a4f14;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,#ef4444,#ef4444);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:#1a1f1c}.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:var(--transition-base)}.user-avatar-btn:hover .user-avatar-header{border-color:#2d6a4f4d;box-shadow:0 0 0 3px #2d6a4f26}.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;-webkit-backdrop-filter:blur(20px) saturate(180%);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,#2d6a4f0f,#5e9b7d08)}.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 #2d6a4f40}.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:var(--transition-fast);text-align:left}.dropdown-item:hover{background:#2d6a4f0f;padding-left:20px}.dropdown-item.logout{color:#ef4444}.dropdown-item.logout:hover{background:#e74c3c0f}.dropdown-item.logout .dropdown-icon{color:#ef4444}.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,#2d6a4f1a,#5e9b7d0d)}body.dark-mode .dropdown-divider{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}body.dark-mode .dropdown-item:hover{background:#2d6a4f1a}body.dark-mode .dropdown-item.logout:hover{background:#e74c3c1f}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#ffffffd9;-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);border-top:1px solid rgba(27,67,50,.08);padding:8px 0 env(safe-area-inset-bottom,10px);z-index:1000;box-shadow:0 -8px 32px #0000000d,0 -2px 8px #1b43320a}.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,#2d6a4f,#5e9b7d);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,#2d6a4f1f,#5e9b7d14);transform:translateY(-2px);box-shadow:0 4px 16px #2d6a4f26}.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,#2d6a4f33,#5e9b7d1a);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:var(--transition-slow);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,#ef4444,#ef4444);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;-webkit-backdrop-filter:blur(30px) saturate(180%);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:#1a1f1c}body.dark-mode .bottom-nav-item.active:after{box-shadow:0 0 12px #2d6a4f66}:root,[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #FFFFFF;--bg-tertiary: #F8F9FA;--text-primary: #1a1f1c;--text-secondary: #6C757D;--text-muted: #ADB5BD;--border-color: #e9ecef;--accent-color: #2D6A4F;--accent-light: #5E9B7D;--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: #1a1f1c;--bg-secondary: #1a1f1c;--bg-tertiary: #232b27;--text-primary: #F8F9FA;--text-secondary: #ADB5BD;--text-muted: #6C757D;--border-color: #232b27;--accent-color: #5E9B7D;--accent-light: #5E9B7D;--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:var(--transition-slow)}.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)}.nesti-kids-btn{background:linear-gradient(135deg,#a78bfa1a,#7c3aed14)!important;border:1px solid rgba(124,58,237,.15)!important;border-radius:10px!important}.nesti-kids-btn:hover{background:linear-gradient(135deg,#a78bfa33,#7c3aed26)!important}.nesti-kids-btn.active{background:linear-gradient(135deg,#a78bfa40,#7c3aed33)!important}.nesti-kids-icon{display:flex;align-items:center;justify-content:center;font-size:1.1rem}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:var(--transition-fast);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:var(--transition-fast)}.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:var(--transition-fast);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:768px)and (max-width:1023px){.desktop-sidebar{width:200px}.sidebar-header{padding:12px 10px}.sidebar-logo-icon{font-size:22px}.sidebar-logo-text{font-size:1.1rem}.sidebar-nav{padding:8px}.sidebar-nav-item{padding:9px 10px;gap:8px}.sidebar-nav-icon{width:18px;height:18px}.sidebar-nav-label{font-size:.8rem}.sidebar-bottom-section{padding-top:8px}}@media(min-width:1024px){.desktop-layout{background:var(--bg-secondary)}.desktop-layout .main-content.desktop-content{margin-left:240px;flex:1;min-height:100vh;padding:24px 32px;display:flex;flex-direction:column;align-items:center}.desktop-layout .content-wrapper{width:100%;max-width:var(--content-max-width, 960px)}}.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);-webkit-backdrop-filter:blur(20px);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:var(--transition-slow);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,#f8f9fa 25%,#e9ecef,#f8f9fa 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:#fff;border:1px solid #E9ECEF;color:#1b4332;position:relative;overflow:hidden;padding:20px}.weather-widget:before{display:none}.weather-location{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:#6c757d;margin-bottom:20px;font-weight:500}.weather-location svg{width:14px;height:14px;color:#2d6a4f}.weather-current{display:flex;align-items:center;gap:16px;margin-bottom:24px}.weather-icon-large{font-size:3.5rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,.08));animation:float 4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.weather-temp-main{display:flex;flex-direction:column}.temp-value{font-size:3rem;font-weight:700;color:#1b4332;line-height:1;letter-spacing:-2px}.temp-label{font-size:.8125rem;color:#6c757d;margin-top:6px;font-weight:400}.weather-details{display:flex;gap:20px;margin-bottom:20px;padding:12px 16px;background:#f8f9fa;border-radius:12px;border:1px solid #E9ECEF}.weather-detail-item{display:flex;align-items:center;gap:8px}.detail-icon{font-size:1.125rem}.detail-value{font-weight:600;color:#1b4332;font-size:.875rem}.detail-label{font-size:.75rem;color:#adb5bd}.running-advice{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;margin-bottom:20px;transition:var(--transition-slow)}.running-advice.good{background:#edf5f1;border:1px solid #d1e7dd}.running-advice.bad{background:#fee2e2;border:1px solid #fecaca}.advice-icon{font-size:1.25rem}.advice-text{display:flex;flex-direction:column}.advice-title{font-weight:600;font-size:.8125rem;color:#1b4332}.advice-reason{font-size:.75rem;color:#6c757d;margin-top:2px}.weather-forecast{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.forecast-day{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;background:#f8f9fa;border:1px solid #E9ECEF;border-radius:12px;transition:var(--transition-fast)}.forecast-day:hover{background:#edf5f1;border-color:#d1e7dd;transform:translateY(-1px)}.forecast-label{font-size:.6875rem;color:#6c757d;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.forecast-icon{font-size:1.25rem}.forecast-temps{display:flex;flex-direction:column;align-items:center;gap:1px}.forecast-max{font-weight:600;font-size:.8125rem;color:#1b4332}.forecast-min{font-size:.6875rem;color:#adb5bd}.inspiration-widget{background:linear-gradient(135deg,#f8f9fa,#f8f9fa);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:#6c757d;line-height:1.6;margin:0;padding:0 8px}.inspiration-author{font-size:.8125rem;color:#adb5bd;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:#e9ecef;border:none;padding:0;cursor:pointer;transition:var(--transition-slow)}.inspiration-dots .dot.active{background:#2d6a4f;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:#1a1f1c;font-size:.9375rem}.widget-title svg{color:#5e9b7d}.widget-see-all{display:flex;align-items:center;gap:4px;font-size:.8125rem;color:#2d6a4f;background:none;border:none;cursor:pointer;padding:6px 12px;border-radius:20px;transition:var(--transition-fast)}.widget-see-all:hover{background:#6172f314}.recommendations-list{display:flex;flex-direction:column;gap:12px}.recommendation-card{display:flex;gap:12px;padding:10px;background:#f8f9fa;border-radius:14px;cursor:pointer;transition:var(--transition-fast);border:1px solid transparent}.recommendation-card:hover{background:#f8f9fa;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:var(--transition-fast);color:#adb5bd}.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:#1a1f1c;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:#adb5bd}.recommendation-price{font-size:.6875rem;padding:2px 8px;border-radius:10px;background:#f8f9fa;color:#6c757d;font-weight:500}.recommendation-price.free{background:#2d6a4f1a;color:#1b4332}.stats-widget{background:linear-gradient(135deg,#f8f9fa,#f8f9fa);padding:16px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-item{display:flex;align-items:center;gap:10px;padding:14px;background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.03);overflow:hidden;min-width:0}.stat-icon{width:40px;min-width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.fire{background:#f973161a;color:#2d6a4f}.stat-icon.bolt{background:#8b5cf61a;color:#2d6a4f}.stat-info{display:flex;flex-direction:column;min-width:0;overflow:hidden}.stat-value{font-size:1.25rem;font-weight:700;color:#1a1f1c}.stat-label{font-size:.6875rem;color:#adb5bd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.dark-mode .desktop-right-panel{background:linear-gradient(180deg,#1a1a24fa,#1e1e2dfa);border-left-color:#ffffff0d}body.dark-mode .widget{background:#232b27;border-color:#ffffff0f;box-shadow:0 2px 12px #0000004d}body.dark-mode .weather-widget{background:#2a332f;border-color:#3a4a43}body.dark-mode .weather-location{color:#ffffff80}body.dark-mode .weather-location svg{color:#5e9b7d}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:#ffffff80}body.dark-mode .weather-details,body.dark-mode .forecast-day{background:#ffffff0d;border-color:#ffffff0f}body.dark-mode .forecast-day:hover{background:#ffffff14;border-color:#5e9b7d33}body.dark-mode .forecast-max{color:#fff}body.dark-mode .forecast-min{color:#fff6}body.dark-mode .running-advice.good{background:#2d6a4f26;border-color:#2d6a4f33}body.dark-mode .running-advice.bad{background:#ef44441a;border-color:#ef444426}body.dark-mode .inspiration-widget{background:#232b27}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:#232b27}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,#f8f9fa)}.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:#2a332f}.tasks-widget .widget-title svg{color:#2d6a4f}.widget-add-btn{width:28px;height:28px;border-radius:8px;border:1.5px dashed #2D6A4F;background:#2d6a4f14;color:#2d6a4f;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.widget-add-btn:hover{background:#2d6a4f;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 #E9ECEF;border-radius:10px;font-size:.85rem;background:#fff;outline:none;transition:border-color .2s}.task-input:focus{border-color:#2d6a4f}.task-add-confirm{padding:8px 14px;background:#2d6a4f;color:#fff;border:none;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition-fast)}.task-add-confirm:hover{background:#1b4332;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:var(--transition-fast)}.task-item:hover{background:#fff;box-shadow:0 2px 8px #0000000a}.task-checkbox{width:22px;height:22px;border:none;background:transparent;color:#e9ecef;cursor:pointer;padding:0;transition:var(--transition-fast)}.task-checkbox:hover{color:#2d6a4f;transform:scale(1.1)}.task-checkbox.done{color:#2d6a4f}.task-text{flex:1;font-size:.85rem;color:#1b4332;line-height:1.4}.task-item.done .task-text{text-decoration:line-through;color:#adb5bd}.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 #E9ECEF}.tasks-done-label{font-size:.75rem;color:#adb5bd;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:#adb5bd}.family-events-widget{background:linear-gradient(135deg,#f8f9fa,#edf5f1)}.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:#2a332f}.family-events-widget .widget-title svg{color:#5e9b7d}.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:var(--transition-fast)}.family-event-item:hover{background:#fff;box-shadow:0 4px 12px #0000000d;transform:translate(2px)}.family-event-item.birthday,.family-event-item.event{border-left:3px solid #5E9B7D}.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:#2a332f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-date{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#6c757d}.event-date svg{width:12px;height:12px}.event-age{background:#edf5f1;color:#ef4444;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:#6c757d}.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,#edf5f1,#d1e7dd);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:#1b4332;line-height:1}.countdown-label{font-size:.65rem;color:#adb5bd;text-transform:uppercase}.birthday-reminder{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;background:linear-gradient(135deg,#edf5f1,#edf5f1);border-radius:10px;color:#ef4444;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,#2a332fe6,#2a332fe6)}body.dark-mode .tasks-widget .widget-title{color:#f8f9fa}body.dark-mode .task-item{background:#ffffff0d;border-color:#ffffff0d}body.dark-mode .task-item:hover{background:#ffffff14}body.dark-mode .task-text{color:#e9ecef}body.dark-mode .task-item.done .task-text{color:#666}body.dark-mode .task-input{background:#ffffff0d;border-color:#ffffff1a;color:#f8f9fa}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,#2a332fe6,#2a332fe6)}body.dark-mode .family-events-widget .widget-title{color:#f8f9fa}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:#f8f9fa}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:#f8f9fa}body.dark-mode .birthday-reminder{background:linear-gradient(135deg,#be185d33,#db277733);color:#adb5bd}.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:#f8f9fa;overflow-y:auto}@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 #E9ECEF;border-top-color:#2d6a4f;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:#1a1f1c}}:root{--sidebar-width: 240px;--right-panel-width: 320px;--content-max-width: 960px;--color-sky: #7AB89A;--color-mint: #d1e7dd;--color-peach: #edf5f1;--color-coral: #d1e7dd;--color-sage: #d1e7dd;--color-forest: #6C757D;--bg-primary: #F8F9FA;--bg-secondary: #ffffff;--bg-tertiary: #F8F9FA;--text-primary: #1a1f1c;--text-secondary: #6C757D;--text-muted: #ADB5BD;--border-light: rgba(0, 0, 0, .04);--border-medium: rgba(0, 0, 0, .08);--accent-primary: #2D6A4F;--accent-secondary: #2D6A4F;--accent-gradient: linear-gradient(135deg, #2D6A4F 0%, #2D6A4F 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: #1a1f1c;--bg-secondary: #1a1f1c;--bg-tertiary: #232b27;--text-primary: #FFFFFF;--text-secondary: #ADB5BD;--text-muted: #6C757D;--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:var(--transition-fast)}.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,#2a332f,#3a4a43);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{-webkit-backdrop-filter:blur(8px)!important;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:768px)and (max-width:1023px){:root{--sidebar-width: 200px;--content-max-width: 100%}.app-layout.desktop-layout{display:flex!important;min-height:100vh!important}.app-layout.desktop-layout.tablet-layout{padding:0!important}.app-layout.desktop-layout .desktop-sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:var(--sidebar-width)!important;z-index:100!important}.sidebar-header{padding:12px 10px}.sidebar-logo-icon{font-size:22px}.sidebar-logo-text{font-size:1.1rem}.sidebar-nav{padding:8px}.sidebar-nav-item{padding:9px 10px;gap:8px}.sidebar-nav-icon{width:18px;height:18px}.sidebar-nav-label{font-size:.8rem}.app-layout.desktop-layout .main-content{margin-left:var(--sidebar-width)!important;margin-right:0!important;width:calc(100% - var(--sidebar-width))!important;padding:16px!important}.app-layout.desktop-layout .main-content.no-right-panel{margin-right:0!important}.app-layout.desktop-layout .content-wrapper{max-width:100%!important;padding:0!important}.post-card,.activity-card,.event-card{max-width:100%}}@media(min-width:1024px)and (max-width:1200px){:root{--sidebar-width: 200px;--content-max-width: 100%}.sidebar-nav-item{padding:9px 10px}.sidebar-nav-label{font-size:.8rem}.main-content.no-right-panel{margin-right:0!important;width:calc(100% - var(--sidebar-width))!important}.main-content.no-right-panel .content-wrapper{max-width:100%!important;margin:0 auto!important}}@media(min-width:1400px){:root{--sidebar-width: 260px;--right-panel-width: 340px;--content-max-width: 1100px}}.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;-webkit-backdrop-filter:blur(20px) saturate(180%);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:#1a1f1c;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:var(--transition-fast);flex-shrink:0}.toast-close svg{width:16px;height:16px}.toast-close:hover{background:#0000001a;color:#333}.toast-success{border-left:4px solid #2D6A4F}.toast-success .toast-icon{color:#2d6a4f}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left:4px solid #5E9B7D}.toast-warning .toast-icon{color:#5e9b7d}.toast-info{border-left:4px solid #2D6A4F}.toast-info .toast-icon{color:#2d6a4f}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:#f8f9fa}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}.cookie-consent-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);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 #F8F9FA}.cookie-icon-wrapper{width:56px;height:56px;background:linear-gradient(135deg,#edf5f1,#d1e7dd);border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cookie-icon-wrapper .cookie-icon{width:32px;height:32px;color:#1b4332}.cookie-header-text h2{font-size:1.1rem;font-weight:700;color:#2a332f;margin:0 0 .25rem}.cookie-header-text p{font-size:.85rem;color:#6c757d;margin:0}.cookie-content{padding:1.25rem 1.5rem}.cookie-description{font-size:.9rem;color:#6c757d;margin:0 0 .75rem}.cookie-list{list-style:none;padding:0;margin:0 0 1rem}.cookie-list li{font-size:.85rem;color:#1b4332;padding:.5rem 0;border-bottom:1px solid #F8F9FA}.cookie-list li:last-child{border-bottom:none}.cookie-list li strong{color:#2a332f}.cookie-details-toggle{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #E9ECEF;border-radius:10px;padding:.6rem 1rem;font-size:.8rem;font-weight:600;color:#6c757d;cursor:pointer;transition:var(--transition-fast);width:100%;justify-content:center}.cookie-details-toggle:hover{background:#f8f9fa;color:#6c757d}.cookie-preferences{margin-top:1rem;border:1px solid #E9ECEF;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 #F8F9FA}.cookie-preference-item:last-child{border-bottom:none}.preference-info h4{font-size:.85rem;font-weight:600;color:#2a332f;margin:0 0 .2rem}.preference-info p{font-size:.75rem;color:#6c757d;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:#e9ecef;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:var(--gradient-primary)}.preference-toggle input:checked+.toggle-slider:before{transform:translate(22px)}.preference-toggle.disabled .toggle-slider{background:linear-gradient(135deg,#2d6a4f,#1b4332);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:var(--transition-fast);border:none}.cookie-btn-secondary{background:#f8f9fa;color:#6c757d}.cookie-btn-secondary:hover{background:#e9ecef}.cookie-btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}.cookie-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2d6a4f66}.cookie-links{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem 1.25rem;border-top:1px solid #F8F9FA}.cookie-link{font-size:.75rem;color:#6c757d;text-decoration:none;transition:color .2s}.cookie-link:hover{color:#2d6a4f;text-decoration:underline}.cookie-link-separator{color:#e9ecef;font-size:.75rem}body.dark-mode .cookie-consent-modal{background:#2a332f}body.dark-mode .cookie-header{border-bottom-color:#1b4332}body.dark-mode .cookie-header-text h2{color:#f8f9fa}body.dark-mode .cookie-header-text p,body.dark-mode .cookie-description{color:#6c757d}body.dark-mode .cookie-list li{color:#e9ecef;border-bottom-color:#1b4332}body.dark-mode .cookie-list li strong{color:#fff}body.dark-mode .cookie-details-toggle{background:#1b4332;border-color:#6c757d;color:#6c757d}body.dark-mode .cookie-details-toggle:hover{background:#6c757d;color:#e9ecef}body.dark-mode .cookie-preferences{border-color:#6c757d}body.dark-mode .cookie-preference-item{border-bottom-color:#1b4332}body.dark-mode .preference-info h4{color:#f8f9fa}body.dark-mode .preference-info p{color:#6c757d}body.dark-mode .cookie-btn-secondary{background:#1b4332;color:#e9ecef}body.dark-mode .cookie-btn-secondary:hover{background:#6c757d}body.dark-mode .cookie-links{border-top-color:#1b4332}body.dark-mode .cookie-link{color:#6c757d}@media(min-width:640px){.cookie-consent-overlay{align-items:center}.cookie-consent-modal{border-radius:24px;max-height:85vh}}:root{--color-primary: #2D6A4F;--color-primary-light: #5E9B7D;--color-primary-dark: #1B4332;--color-primary-gradient: linear-gradient(135deg, #2D6A4F 0%, #5E9B7D 100%);--color-secondary: #6C757D;--color-secondary-light: #5E9B7D;--color-accent-yellow: #5E9B7D;--color-accent-orange: #2D6A4F;--color-accent-coral: #ef4444;--color-accent-warm: #5E9B7D;--color-text: #1B4332;--color-text-secondary: #6C757D;--color-text-light: #6C757D;--color-bg: #F8F9FA;--color-background: #F8F9FA;--color-bg-warm: linear-gradient(180deg, #F8F9FA 0%, #FFFFFF 50%, #F8F9FA 100%);--color-bg-card: #FFFFFF;--color-card-bg: #FFFFFF;--color-bg-secondary: #F8F9FA;--color-bg-hover: #E9ECEF;--color-bg-input: #FFFFFF;--color-border: #E9ECEF;--color-border-light: #E9ECEF;--color-shadow: 0 4px 6px -1px rgba(45, 106, 79, .06);--shadow-sm: 0 1px 2px 0 rgba(27, 67, 50, .05);--shadow: 0 4px 12px rgba(27, 67, 50, .06);--shadow-md: 0 8px 24px rgba(27, 67, 50, .08);--shadow-lg: 0 16px 40px rgba(27, 67, 50, .1);--shadow-warm: 0 4px 14px rgba(45, 106, 79, .2);--card-shadow: 0 2px 8px rgba(27, 67, 50, .05), 0 8px 24px rgba(27, 67, 50, .06);--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: #2D6A4F;--color-success-light: #d1e7dd;--color-error: #ef4444;--color-error-light: #fee2e2;--color-warning: #5E9B7D;--color-warning-light: #edf5f1;--color-info: #2D6A4F;--color-info-light: #d1e7dd;--gradient-primary: linear-gradient(135deg, #2D6A4F 0%, #5E9B7D 100%);--gradient-primary-alt: linear-gradient(135deg, #2D6A4F, #5E9B7D);--gradient-primary-wide: linear-gradient(135deg, #1B4332 0%, #2D6A4F 50%, #5E9B7D 100%);--gradient-primary-reverse: linear-gradient(135deg, #5E9B7D 0%, #2D6A4F 100%);--gradient-dark: linear-gradient(135deg, #1B4332 0%, #1B4332 100%);--gradient-success: linear-gradient(135deg, #2D6A4F 0%, #5E9B7D 100%);--gradient-purple: linear-gradient(135deg, #2D6A4F 0%, #1B4332 100%);--gradient-mint: linear-gradient(135deg, #2D6A4F 0%, #5E9B7D 100%);--transition-fast: all .2s ease;--transition-base: all .25s ease;--transition-slow: all .3s ease;--transition-color: color .2s ease;--transition-bg: background .2s ease;--transition-transform: transform .2s ease;--transition-border: border-color .2s ease;--blur-sm: blur(4px);--blur-md: blur(8px);--blur-lg: blur(20px);--blur-xl: blur(30px);--shadow-primary: 0 4px 12px rgba(45, 106, 79, .25);--shadow-primary-hover: 0 4px 12px rgba(45, 106, 79, .35);--shadow-primary-lg: 0 4px 15px rgba(45, 106, 79, .3)}body.dark-mode{--color-primary: #5E9B7D;--color-primary-light: #7AB89A;--color-primary-dark: #2D6A4F;--color-text: #F8F9FA;--color-text-secondary: #ADB5BD;--color-text-light: #6C757D;--color-bg: #1a1f1c;--color-background: #1a1f1c;--color-bg-card: #232b27;--color-card-bg: #232b27;--color-bg-secondary: #2a332f;--color-bg-hover: #313b36;--color-bg-input: #1e2723;--color-border: #3a4a43;--color-border-light: #4a5a53;--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(45, 106, 79, .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,#f8f9fa,#fff,#f8f9fa);background-attachment:fixed}.app-container{max-width:100%;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:var(--transition-base);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,#1b4332,#2d6a4f);transform:translateY(-2px);box-shadow:0 6px 20px #2d6a4f4d}.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:var(--transition-base)}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 #2d6a4f14;background:var(--color-bg-card)}.avatar{width:44px;height:44px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-md);box-shadow:0 2px 8px #2d6a4f26}.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:#2d6a4f;color:#fff}.badge-ado{background:#5e9b7d;color:#1b4332}.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: #1B4332;--color-bg: #ffffff;--color-bg-card: #ffffff;--color-border: #000000;--color-primary: #2D6A4F;--color-primary-dark: #1B4332}.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,#2d6a4f,#5e9b7d);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,#2d6a4f,#5e9b7d,#5e9b7d,#2d6a4f);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 #2D6A4F;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:#2d6a4f;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:#e9ecef;border-radius:2px;overflow:hidden}.loading-bar:after{content:"";display:block;width:40%;height:100%;background:linear-gradient(90deg,#2d6a4f,#5e9b7d);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:#2d6a4f;stroke-miterlimit:10;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;box-shadow:inset 0 0 #2d6a4f}.checkmark-animated__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:3;stroke:#2d6a4f;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]{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 #2D6A4F;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:var(--transition-fast)}.skeleton{background:linear-gradient(90deg,#f8f9fa 25%,#e9ecef,#f8f9fa 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,#2d6a4f,#5e9b7d);color:#fff}.badge-success{background:#2d6a4f;color:#fff}.badge-warning{background:#5e9b7d;color:#fff}.badge-danger{background:#ef4444;color:#fff}.badge-info{background:#2d6a4f;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 #2D6A4F;color:#1b4332}.inline-notification.success{background:#10b9811a;border-left:4px solid #2D6A4F;color:#1b4332}.inline-notification.warning{background:#f59e0b1a;border-left:4px solid #5E9B7D;color:#1b4332}.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:#2d6a4f;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,.swipe-action.archive{background:#2d6a4f}.progress-bar{height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#2d6a4f,#5e9b7d);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:#e9ecef;stroke-width:6}.progress-circle-fill{fill:none;stroke:#2d6a4f;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:#2d6a4f}.dark-mode .skeleton{background:linear-gradient(90deg,#232b27 25%,#2a332f,#232b27 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:#e9ecef}.dark-mode .empty-state-desc{color:#aaa}.dark-mode .inline-notification.info{background:#3b82f626;color:#7ab89a}.dark-mode .inline-notification.success{background:#10b98126;color:#7ab89a}.dark-mode .inline-notification.warning{background:#f59e0b26;color:#7ab89a}.dark-mode .inline-notification.error{background:#ef444426;color:#fca5a5}
