:root{--font-ui:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", "SF Mono", Consolas, "Liberation Mono", monospace;--void:#0c101c;--void-deep:#080b14;--void-surface:#161b2b;--void-elevated:#202638;--void-hover:#2a3146;--surface-paper:#161b2b;--surface-raised:#202638;--surface-soft:#ffffff0b;--border-subtle:#c5cbe021;--glass:#161b2bc7;--glass-border:var(--border-subtle);--glass-shine:#ffffff06;--amethyst:#8b5e9f;--amethyst-glow:#8b5e9f2e;--sapphire:#6aa6d8;--sapphire-glow:#6aa6d829;--accent-sage:#85a887;--accent-sky:#6aa6d8;--accent-amber:#d4a24f;--accent-rose:#c9828f;--grad-primary:linear-gradient(135deg, #8b5e9f 0%, #6f527f 100%);--grad-warm:linear-gradient(135deg, #d4a24f 0%, #c9828f 100%);--grad-cool:linear-gradient(135deg, #6aa6d8 0%, #8b5e9f 100%);--grad-life:linear-gradient(135deg, #85a887 0%, #6aa6d8 100%);--grad-rose:linear-gradient(135deg, #c9828f 0%, #9b5f71 100%);--text-primary:#f3f0ec;--text-secondary:#c9c1d1;--text-muted:#9d95aa;--text-on-primary:#fff;--success:#85a887;--warning:#d4a24f;--danger:#d16d72;--info:#6aa6d8;--bg-muted:#c5cbe01f;--member-1:#8b5e9f;--member-2:#c9828f;--member-3:#6aa6d8;--member-4:#d4a24f;--shadow-sm:0 2px 8px #080b142e;--shadow-md:0 10px 28px -18px #080b14a6;--shadow-lg:0 18px 48px -28px #080b14bf;--shadow-soft:var(--shadow-md);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:100px;--sidebar-width:240px;--sidebar-collapsed:70px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--void:#f8f3eb;--void-deep:#f0e7dc;--void-surface:#fffdf8;--void-elevated:#fbf5ed;--void-hover:#f2e8da;--surface-paper:#fffdf8;--surface-raised:#fffaf3;--surface-soft:#f7efe6;--border-subtle:#5d4a3821;--glass:#fffdf8e0;--glass-border:var(--border-subtle);--glass-shine:#ffffff42;--amethyst:#7b568a;--amethyst-glow:#7b568a24;--sapphire:#4d91bd;--sapphire-glow:#4d91bd1f;--accent-sage:#739c78;--accent-sky:#68a4c9;--accent-amber:#c78932;--accent-rose:#bd7480;--grad-primary:linear-gradient(135deg, #7b568a 0%, #674876 100%);--grad-warm:linear-gradient(135deg, #d6a04e 0%, #bd7480 100%);--grad-cool:linear-gradient(135deg, #68a4c9 0%, #7b568a 100%);--grad-life:linear-gradient(135deg, #739c78 0%, #68a4c9 100%);--grad-rose:linear-gradient(135deg, #bd7480 0%, #9f5e6b 100%);--text-primary:#241d18;--text-secondary:#5f554d;--text-muted:#766b61;--text-on-primary:#fff;--success:#4f8a59;--warning:#b8731e;--danger:#b94d55;--info:#367fa8;--bg-muted:#614a3614;--shadow-sm:0 1px 4px #614a3612;--shadow-md:0 10px 26px -20px #614a364d;--shadow-lg:0 18px 46px -32px #614a3657;--shadow-soft:0 8px 24px -20px #614a3642;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light] .mesh-bg:before{background:radial-gradient(circle,#edc2a859 0%,#0000 70%)}[data-theme=light] .mesh-bg:after{background:radial-gradient(circle,#c4b5e44d 0%,#0000 70%)}[data-theme=light] .grain{opacity:.01}[data-theme=light] .glass{background:var(--glass);-webkit-backdrop-filter:blur(4px)saturate(1.05);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}[data-theme=light] .glass:before{display:none}[data-theme=light] .glass-sm{background:var(--glass);-webkit-backdrop-filter:blur(3px);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}[data-theme=light] .glow-purple{box-shadow:0 1px 3px #0000000a,0 8px 32px -8px #7c3aed1a}[data-theme=light] .glow-blue{box-shadow:0 1px 3px #0000000a,0 8px 32px -8px #2563eb14}[data-theme=light] .glow-rose{box-shadow:0 1px 3px #0000000a,0 8px 32px -8px #f43f5e14}[data-theme=light] .glow-amber{box-shadow:0 1px 3px #0000000a,0 8px 32px -8px #f59e0b14}[data-theme=light] .glow-emerald{box-shadow:0 1px 3px #0000000a,0 8px 32px -8px #10b98114}[data-theme=light] .sidebar{-webkit-backdrop-filter:blur(12px);border-right:1px solid var(--glass-border);background:#fffaf3f2}[data-theme=light] .family-switcher{background:var(--surface-raised);border:1px solid var(--glass-border)}[data-theme=light] .family-switcher:hover{background:#fff;border-color:#614a362e}[data-theme=light] .nav-item:hover{color:var(--text-primary);background:#7b568a14}[data-theme=light] .nav-item.active{color:var(--text-primary);background:#7b568a1f}[data-theme=light] .sidebar-logout:hover{color:var(--danger);background:#dc262614}[data-theme=light] .sidebar-action-btn:hover{background:#0000000a}[data-theme=light] .auth-tabs{background:#00000008}[data-theme=light] .auth-tab{color:var(--text-secondary)}[data-theme=light] .auth-tab.active{background:var(--amethyst);color:var(--text-on-primary)}[data-theme=light] .form-input{color:var(--text-primary);background:#fff;border:1px solid #0000001a}[data-theme=light] .form-input::placeholder{color:var(--text-muted)}[data-theme=light] .form-input:focus-visible{border-color:var(--amethyst);background:#fff;box-shadow:0 0 0 3px #7c3aed1a}[data-theme=light] .quick-add-input{color:var(--text-primary);background:#fff;border:1px solid #0000001a}[data-theme=light] .quick-add-input::placeholder{color:var(--text-muted)}[data-theme=light] .quick-add-input:focus-visible{border-color:var(--amethyst);box-shadow:0 0 0 3px #7c3aed1a}[data-theme=light] .btn-ghost{color:var(--text-primary);background:#00000008;border:1px solid #00000014}[data-theme=light] .btn-ghost:hover{background:#0000000f;border-color:#0000001f}[data-theme=light] .btn-primary:hover{box-shadow:0 8px 24px -4px #7c3aed40}[data-theme=light] .dashboard-search-btn,[data-theme=light] .view-date{color:var(--text-secondary);background:#00000008;border:1px solid #0000000f}[data-theme=light] .stat-item{background:#00000005}[data-theme=light] .stat-item:hover{background:#0000000a;border-color:#0000000f}[data-theme=light] .bento-card{background:var(--void-surface);border-color:#0000000f}[data-theme=light] .bento-card:hover{border-color:#0000001a;box-shadow:0 2px 6px #0000000a,0 12px 32px -6px #00000014}[data-theme=light] .bento-more:hover{color:var(--text-primary);background:#0000000a}[data-theme=light] .event-item,[data-theme=light] .task-preview-item{background:#00000004}[data-theme=light] .task-preview-item:hover{background:#00000008}[data-theme=light] .task-check{border:2px solid #00000026}[data-theme=light] .task-check:hover{border-color:var(--amethyst)}[data-theme=light] .task-card{background:#00000004}[data-theme=light] .task-card:hover{background:#00000008;border-color:#00000014}[data-theme=light] .task-checkbox{border:2px solid #00000026}[data-theme=light] .task-checkbox:hover{border-color:var(--amethyst)}[data-theme=light] .badge-high{color:#b91c1c;background:#dc262614;border:1px solid #dc262626}[data-theme=light] .badge-normal{color:#6d28d9;background:#7c3aed0f;border:1px solid #7c3aed1f}[data-theme=light] .badge-low{color:#1d4ed8;background:#2563eb0f;border:1px solid #2563eb1f}[data-theme=light] .badge-overdue{color:#991b1b;background:#dc26261a;border:1px solid #dc26262e}[data-theme=light] .badge-recurring{color:#0e7490;background:#0e749014;border:1px solid #0e749026}[data-theme=light] .birthday-item{background:#00000004}[data-theme=light] .rewards-tabs{background:#00000008}[data-theme=light] .rewards-tab.active{background:var(--surface-paper)}[data-theme=light] .rewards-row-pending{background:#f59e0b0f}[data-theme=light] .rewards-progress-bar{background:#0000000f}[data-theme=light] .calendar-nav-btn{color:var(--text-primary);background:#00000008;border:1px solid #00000014}[data-theme=light] .calendar-nav-btn:hover{background:#0000000f}[data-theme=light] .calendar-view-toggle{background:#00000008}[data-theme=light] .calendar-view-btn.active{color:var(--text-primary);background:#fff;box-shadow:0 1px 3px #0000000f}[data-theme=light] .today-btn{border:1px solid var(--amethyst);color:var(--amethyst);background:#7c3aed0f}[data-theme=light] .today-btn:hover{background:#7c3aed1f}[data-theme=light] .calendar-day:hover:not(.empty){background:#00000008;border-color:#00000014}[data-theme=light] .calendar-day.today{border-color:var(--amethyst);background:#7c3aed14}[data-theme=light] .day-event-card{background:#00000005}[data-theme=light] .day-event-card:hover{background:#0000000a}[data-theme=light] .week-day-header{background:#00000005}[data-theme=light] .week-day-header:hover{background:#0000000a}[data-theme=light] .week-day-header.week-day-selected{background:#7c3aed0f}[data-theme=light] .calendar-grid-wrapper,[data-theme=light] .day-detail-panel,[data-theme=light] .cal-form-panel{background:var(--void-surface);border-color:#0000000f}[data-theme=light] .cal-edit-form{background:#00000005}[data-theme=light] .cal-dialog{background:var(--void-surface);border-color:#0000000f}[data-theme=light] .event-card-action:hover{background:#0000000a}[data-theme=light] .cal-onboard{background:#7c3aed0a;border-color:#7c3aed14}[data-theme=light] .tasks-filter-tabs{background:#00000008}[data-theme=light] .tasks-filter-btn.active{color:var(--text-primary);background:#fff;box-shadow:0 1px 3px #0000000f}[data-theme=light] .bottom-nav{border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);background:#fffaf3f2}[data-theme=light] .mobile-header-avatar{background:var(--grad-primary)}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0003}[data-theme=light] .auth-divider:before,[data-theme=light] .auth-divider:after{background:#00000014}[data-theme=light] .contact-add-cta-avatar{background:#00000008;border:2px dashed #0000001f}[data-theme=light] .contact-card,[data-theme=light] .birthday-card,[data-theme=light] .contacts-empty{background:var(--void-surface);border-color:#0000000f}[data-theme=light] .contacts-tab-toggle{background:#00000008}[data-theme=light] .contacts-tab-btn.active{background:var(--void-elevated)}[data-theme=light] .contact-modal-panel{background:var(--void-surface);border-color:#0000000f}[data-theme=light] .theme-item-inactive{background:#00000005;border-color:#0000000f}[data-theme=light] .theme-item-inactive:hover{background:#0000000a;border-color:#0000001a}[data-theme=light] .auth-logo:after{opacity:.2;filter:blur(20px)}[data-theme=dark]{--void:#15130f;--void-deep:#0f0d0a;--void-surface:#211f1a;--void-elevated:#2b2822;--void-hover:#373229;--surface-paper:#211f1a;--surface-raised:#2b2822;--surface-soft:#fffaf30b;--border-subtle:#e2d6c21f;--glass:#211f1ad1;--glass-border:var(--border-subtle);--glass-shine:#ffffff06;--amethyst:#a579ad;--amethyst-glow:#a579ad29;--sapphire:#7fb1d2;--sapphire-glow:#7fb1d224;--accent-sage:#91ad87;--accent-sky:#7fb1d2;--accent-amber:#d2a45b;--accent-rose:#d08b94;--grad-primary:linear-gradient(135deg, #a579ad 0%, #87608d 100%);--text-primary:#f4eee5;--text-secondary:#cabfaf;--text-muted:#a89b8a;--success:#91ad87;--warning:#d2a45b;--danger:#d08b94;--info:#7fb1d2;--bg-muted:#e2d6c21a;--shadow-sm:0 2px 8px #0f0d0a38;--shadow-md:0 12px 34px -24px #0f0d0ab8;--shadow-lg:0 22px 58px -36px #0f0d0ac7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}button{color:inherit;font-family:inherit}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-ui);background:var(--void);color:var(--text-primary);min-height:100vh;overflow-x:hidden}:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}:focus:not(:focus-visible){outline:none}.skip-link{top:-100px;left:var(--space-md);z-index:10000;background:var(--amethyst);color:#fff;border-radius:var(--radius-sm);padding:12px 24px;font-size:.9rem;font-weight:600;text-decoration:none;transition:top .2s;position:absolute}.skip-link:focus{top:var(--space-md)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mesh-bg{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.mesh-bg:before{content:"";background:radial-gradient(circle,#7c3aed14 0%,#0000 70%);width:800px;height:800px;animation:25s ease-in-out infinite alternate meshDrift1;position:absolute;top:-200px;right:-200px}.mesh-bg:after{content:"";background:radial-gradient(circle,#3b82f60f 0%,#0000 70%);width:600px;height:600px;animation:30s ease-in-out infinite alternate meshDrift2;position:absolute;bottom:-100px;left:-100px}@keyframes meshDrift1{0%{transform:translate(0)scale(1)}to{transform:translate(-80px,60px)scale(1.15)}}@keyframes meshDrift2{0%{transform:translate(0)scale(1)}to{transform:translate(60px,-40px)scale(1.1)}}.grain{z-index:1;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px;position:fixed;inset:0}:root[data-display-mode=standalone] .mesh-bg:before,:root[data-display-mode=standalone] .mesh-bg:after{animation:none}:root[data-display-mode=standalone] .grain{display:none}.glass{background:var(--glass);-webkit-backdrop-filter:blur(10px)saturate(1.08);border:1px solid var(--glass-border);border-radius:var(--radius-lg);position:relative;overflow:hidden}.glass:before{content:"";border-radius:inherit;background:linear-gradient(135deg, var(--glass-shine), transparent 50%);pointer-events:none;position:absolute;inset:0}.glass-sm{background:var(--glass);-webkit-backdrop-filter:blur(6px);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.glow-purple{box-shadow:0 0 0 1px #8b5e9f1f,0 8px 28px -18px #8b5e9f47}.glow-blue{box-shadow:0 0 0 1px #6aa6d81f,0 8px 28px -18px #6aa6d83d}.glow-rose{box-shadow:0 0 0 1px #c9828f1f,0 8px 28px -18px #c9828f3d}.glow-amber{box-shadow:0 0 0 1px #d4a24f1f,0 8px 28px -18px #d4a24f3d}.glow-emerald{box-shadow:0 0 0 1px #85a8871f,0 8px 28px -18px #85a8873d}.landing-page{z-index:2;min-height:100vh;position:relative;overflow-x:hidden}.landing-hero{text-align:center;min-height:70vh;padding:80px var(--space-lg) var(--space-2xl);animation:authEnter .8s var(--ease-out-expo) both;flex-direction:column;justify-content:center;align-items:center;display:flex}.landing-hero h1{letter-spacing:-.03em;background:var(--grad-primary);-webkit-text-fill-color:transparent;margin-top:var(--space-sm);-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:700}.landing-hero-subtitle{color:var(--text-secondary);margin-top:var(--space-xs);max-width:400px;font-size:1.15rem;font-weight:300}.landing-hero-ctas{gap:var(--space-md);margin-top:var(--space-xl);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.landing-hero-ctas .btn-primary{align-items:center;gap:8px;padding:14px 28px;font-size:1rem;display:inline-flex}.landing-hero-ctas .btn-ghost{padding:14px 24px;font-size:.95rem;text-decoration:none}.landing-features{gap:var(--space-lg);max-width:680px;padding:var(--space-2xl) var(--space-lg);grid-template-columns:repeat(2,1fr);margin:0 auto;display:grid}.landing-feature-card{padding:var(--space-xl);text-align:center;animation:featureEnter .6s var(--ease-out-expo) both}.landing-feature-icon{background:var(--grad-primary);color:#fff;width:48px;height:48px;margin-bottom:var(--space-md);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.landing-feature-card h3{color:var(--text-primary);margin-bottom:var(--space-xs);font-size:1rem;font-weight:600}.landing-feature-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.5}@keyframes featureEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.landing-trust{gap:var(--space-md);padding:var(--space-lg) var(--space-lg) var(--space-2xl);animation:authEnter .8s var(--ease-out-expo) .4s both;flex-wrap:wrap;justify-content:center;display:flex}.landing-trust-badge{border:1px solid var(--glass-border);border-radius:var(--radius-pill);color:var(--text-secondary);background:#ffffff0a;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:500;display:inline-flex}.landing-auth{max-width:440px;padding:var(--space-2xl) var(--space-lg);scroll-margin-top:var(--space-xl);margin:0 auto}.landing-footer{text-align:center;padding:var(--space-xl) var(--space-lg);color:var(--text-muted);border-top:1px solid var(--glass-border);margin-top:var(--space-lg);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:.82rem;display:flex}.landing-footer-link{color:var(--text-secondary);align-items:center;gap:4px;text-decoration:none;transition:color .2s;display:inline-flex}.landing-footer-link:hover{color:var(--amethyst)}.landing-footer-dot{color:var(--text-muted)}.auth-page{z-index:2;min-height:100vh;padding:var(--space-lg);justify-content:center;align-items:center;display:flex;position:relative}.auth-container{width:100%;max-width:440px;animation:authEnter .8s var(--ease-out-expo) both}.auth-brand{text-align:center;margin-bottom:var(--space-2xl)}.auth-brand h1{letter-spacing:-.02em;background:var(--grad-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700}.auth-brand p{color:var(--text-secondary);margin-top:var(--space-xs);font-size:.95rem;font-weight:300}.auth-footer{text-align:center;margin-top:var(--space-lg);color:var(--text-muted);justify-content:center;align-items:center;gap:4px;font-size:.82rem;display:flex}@keyframes authEnter{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-logo{background:var(--grad-primary);width:72px;height:72px;margin-bottom:var(--space-md);box-shadow:0 8px 40px -8px var(--amethyst-glow);border-radius:22px;justify-content:center;align-items:center;display:inline-flex;position:relative}.auth-logo:after{content:"";background:var(--grad-primary);opacity:.4;filter:blur(16px);z-index:-1;border-radius:24px;position:absolute;inset:-2px}.auth-card{padding:var(--space-xl)}.auth-tabs{gap:var(--space-xs);border-radius:var(--radius-sm);margin-bottom:var(--space-lg);background:#ffffff08;padding:3px;display:flex}.auth-tab{color:var(--text-secondary);cursor:pointer;transition:all .25s var(--ease-out-expo);background:0 0;border:none;border-radius:8px;flex:1;padding:10px;font-family:inherit;font-size:.9rem;font-weight:500}.auth-tab.active{background:var(--amethyst);color:var(--text-on-primary);box-shadow:0 2px 12px -2px var(--amethyst-glow)}.auth-form{gap:var(--space-md);display:grid}.form-field{gap:6px;display:grid}.form-field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:500}.form-field .form-input{width:100%}.form-input{border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);background:#ffffff0a;min-height:44px;padding:14px 16px;font-family:inherit;font-size:.95rem;transition:all .2s}.form-input::placeholder{color:var(--text-muted)}.form-input:focus-visible{border-color:var(--amethyst);box-shadow:0 0 0 3px var(--amethyst-glow);outline:2px solid var(--amethyst);outline-offset:2px;background:#7c3aed0a}.form-input option{background:var(--void-surface);color:var(--text-primary)}[data-theme=light] .form-input option{color:var(--text-primary);background:#fff}.auth-divider{align-items:center;gap:var(--space-md);color:var(--text-muted);margin-top:20px;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--glass-border);flex:1;height:1px}.btn-demo{width:100%;color:var(--amethyst);border-radius:var(--radius-sm);cursor:pointer;transition:all .25s var(--ease-out-expo);background:#7c3aed14;border:1px dashed #7c3aed4d;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:13px;font-family:inherit;font-size:.9rem;font-weight:600;display:flex}.btn-demo:hover{border-color:var(--amethyst);background:#7c3aed26}.sso-login-box{margin-top:16px}.sso-login-btn{justify-content:center;align-items:center;gap:8px;width:100%;text-decoration:none;display:inline-flex}.sso-section{gap:12px;display:grid}.sso-section .adm-form-desc{color:var(--text-muted);max-width:72ch;margin:0;font-size:.85rem;line-height:1.55}.sso-section .sso-grid{gap:var(--space-lg,20px) var(--space-md,14px);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.sso-section .sso-field-span-2{grid-column:1/-1}.sso-section .form-field{flex-direction:column;gap:8px;margin:0;display:flex}.sso-section .form-field>label{font-size:.9rem;font-weight:500}.sso-section .sso-hint{color:var(--text-muted);font-size:.78rem;line-height:1.5;display:block}.sso-section .sso-hint-warning{color:var(--warning,#c05621)}.sso-section .sso-option-stack{gap:12px;display:grid}.sso-section .sso-checkbox-field{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 54%, var(--surface-paper));border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.sso-section .sso-checkbox-field .set-checkbox-label{margin:0}.sso-section .sso-secret-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sso-section .sso-callback-box{border:1px dashed var(--border-subtle);background:color-mix(in srgb, var(--amethyst) 7%, var(--surface-paper));border-radius:12px;padding:12px 14px}.sso-section .set-btn-row{margin:0}.sso-action-row{gap:8px}.sso-test-banner{margin-top:0}.sso-test-banner-error{background:var(--danger-bg,#fee);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 28%, var(--border-subtle))}@media (max-width:900px){.sso-section .sso-grid{grid-template-columns:1fr}.sso-section .sso-field-span-2{grid-column:auto}}.btn-primary{background:var(--grad-primary);color:var(--text-on-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all .25s var(--ease-out-expo);border:none;padding:15px;font-family:inherit;font-size:.95rem;font-weight:600;position:relative;overflow:hidden}.btn-primary:hover{box-shadow:0 8px 24px -4px var(--amethyst-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-ghost{border:1px solid var(--glass-border);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0a;align-items:center;gap:6px;min-height:44px;padding:9px 16px;font-family:inherit;font-size:.82rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-ghost:hover{background:#ffffff12}.btn-sm{background:var(--grad-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;min-height:44px;padding:10px 16px;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-sm:hover{box-shadow:0 4px 16px -4px var(--amethyst-glow)}.demo-banner{z-index:100;background:linear-gradient(90deg, var(--amethyst), #3b82f6);color:#fff;text-align:center;letter-spacing:.04em;padding:6px 0;padding-top:calc(6px + env(safe-area-inset-top));font-size:.78rem;font-weight:600;position:fixed;top:0;left:0;right:0}.pwa-banner{z-index:101;padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top));justify-content:center;align-items:center;gap:8px;font-size:.78rem;font-weight:500;animation:.3s pwa-slide-in;display:flex;position:fixed;top:0;left:0;right:0}.pwa-banner--offline{background:var(--danger,#ef4444);color:#fff}.pwa-banner--online{background:var(--success,#10b981);color:#fff}.pwa-banner--update{background:linear-gradient(90deg, var(--amethyst), #3b82f6);color:#fff}.pwa-banner--install{background:var(--void-elevated);color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.pwa-banner__action{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:6px;padding:4px 12px;font-size:.75rem;font-weight:600}.pwa-banner--install .pwa-banner__action{background:var(--amethyst)}.pwa-banner__dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0 4px;font-size:1.1rem}@keyframes pwa-slide-in{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.search-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:flex-start;padding-top:10vh;animation:.15s fade-in;display:flex;position:fixed;inset:0}.search-panel{background:var(--void-surface);border-radius:12px;flex-direction:column;width:min(520px,100vw - 32px);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000004d}.search-header{border-bottom:1px solid var(--glass-border);align-items:center;gap:8px;padding:12px 16px;display:flex}.search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:1rem}.search-input::placeholder{color:var(--text-muted)}.search-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.search-results{padding:8px 0;overflow-y:auto}.search-loading,.search-empty{text-align:center;color:var(--text-muted);padding:24px 16px;font-size:.88rem}.search-group{padding:4px 0}.search-group-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:6px;padding:8px 16px 4px;font-size:.72rem;font-weight:600;display:flex}.search-result-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 16px;font-size:.88rem;display:flex}.search-result-item:hover{background:var(--glass-border)}.search-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.member-group-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:var(--space-md) 0 var(--space-xs);font-size:.72rem;font-weight:600}.app-shell{z-index:2;background:var(--void);min-height:100vh;display:flex;position:relative}.page-shell,.ui-page-shell{gap:var(--space-lg);width:100%;max-width:1440px;margin:0 auto;display:grid}.page-header,.ui-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.page-header-copy,.ui-page-header-copy{gap:4px;min-width:0;display:grid}.ui-card{background:var(--surface-paper);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);color:var(--text-primary);border-radius:8px}.ui-bento-module{background:var(--surface-paper);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);padding:var(--space-lg);border-radius:8px;min-width:0}.ui-icon-btn{border:1px solid var(--glass-border);background:var(--surface-raised);width:44px;min-width:44px;height:44px;color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.ui-icon-btn:hover{background:var(--void-hover);color:var(--text-primary);border-color:color-mix(in srgb, var(--amethyst) 28%, var(--glass-border))}.ui-badge{border-radius:var(--radius-pill);min-width:22px;min-height:22px;color:var(--amethyst);background:#7b568a1f;border:1px solid #7b568a2e;justify-content:center;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.ui-pill,.ui-filter-chip,.filter-chip{border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--surface-soft);min-height:36px;color:var(--text-secondary);font:inherit;cursor:pointer;align-items:center;gap:7px;padding:7px 12px;font-size:.84rem;font-weight:600;display:inline-flex}.filter-chip.active,.ui-filter-chip.active{color:var(--text-primary);background:#7b568a24;border-color:#7b568a47}.ui-tabs{border:1px solid var(--glass-border);background:var(--surface-soft);border-radius:10px;gap:3px;padding:3px;display:inline-flex}.ui-tab{min-height:38px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-weight:600}.ui-tab.active{background:var(--surface-paper);color:var(--text-primary);box-shadow:var(--shadow-sm)}.ui-input{border:1px solid var(--glass-border);background:var(--surface-paper);width:100%;min-height:44px;color:var(--text-primary);font:inherit;border-radius:8px;padding:10px 12px}.ui-input::placeholder{color:var(--text-muted)}.ui-input:focus-visible{border-color:var(--amethyst);box-shadow:0 0 0 3px var(--amethyst-glow)}.ui-empty-state{place-items:center;gap:var(--space-sm);min-height:140px;padding:var(--space-lg);border:1px dashed var(--glass-border);background:var(--surface-soft);color:var(--text-secondary);text-align:center;border-radius:8px;display:grid}.ui-list-row{align-items:center;gap:var(--space-md);min-height:52px;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:8px;padding:10px 12px;display:flex}.ui-list-row:hover{background:var(--surface-soft);border-color:var(--glass-border)}.ui-bottom-sheet,.compact-mobile-panel{border:1px solid var(--glass-border);background:var(--surface-paper);box-shadow:var(--shadow-lg);padding:var(--space-md);border-radius:16px 16px 0 0}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);z-index:30;-webkit-backdrop-filter:blur(14px);border-right:1px solid var(--glass-border);background:#161b2bf0;flex-direction:column;height:100vh;transition:width .25s,min-width .25s;display:flex;position:fixed;top:0;left:0;overflow:visible}.sidebar-header{padding:var(--space-lg) var(--space-md);white-space:nowrap;justify-content:space-between;align-items:center;display:flex}.sidebar-brand{align-items:center;gap:var(--space-md);display:flex}.sidebar-logo{background:var(--grad-primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.sidebar-brand-text h2{letter-spacing:0;margin:0;font-size:1.15rem;font-weight:700}.sidebar-brand-text span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:400}.sidebar-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;font-size:1.2em;transition:color .2s;display:flex}.sidebar-toggle:hover{color:var(--text-primary)}.sidebar-content{min-height:0;padding:0 var(--space-md) var(--space-sm);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.sidebar-footer{padding:0 var(--space-md) var(--space-md);background:inherit;flex:none}.sidebar-divider{border-top:1px solid var(--glass-border);margin:var(--space-md) 0}.family-switcher{background:var(--surface-soft);border:1px solid var(--glass-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:var(--space-sm);width:100%;min-width:0;min-height:44px;color:var(--text-primary);font:inherit;cursor:pointer;padding:9px 10px;transition:all .2s;display:flex}.family-switcher:hover{background:#ffffff0d;border-color:#7882b433}.family-switcher-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;font-size:.84rem;font-weight:700;overflow:hidden}.sidebar-family-menu{flex:1;min-width:0;position:relative}.family-switcher-menu{z-index:80;border:1px solid var(--glass-border);background:var(--surface-paper);box-shadow:var(--shadow-lg);border-radius:10px;gap:4px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;right:0}.family-switcher-option{min-height:38px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:.82rem;font-weight:650}.family-switcher-option:hover,.family-switcher-option.active{color:var(--text-primary);background:#8b5e9f1f}.nav-groups{gap:var(--space-sm);flex-direction:column;flex:1;min-height:0;display:flex}.nav-section{gap:3px;display:grid}.nav-section-system{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--glass-border)}.nav-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-sm) var(--space-sm) 3px;pointer-events:none;min-height:24px;font-size:.6875rem;font-weight:700}.nav-item{min-height:44px;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:11px;width:100%;margin-bottom:1px;padding:9px 10px;font-family:inherit;font-size:.9rem;font-weight:650;transition:background .18s,border-color .18s,color .18s;display:flex;position:relative}.nav-item:hover{background:var(--surface-soft);color:var(--text-primary);border-color:var(--glass-border)}.nav-item.active{color:var(--text-primary);box-shadow:none;background:#8b5e9f21;border-color:#8b5e9f38}.nav-item.active:before{content:none}.nav-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.nav-item.active .nav-icon{color:var(--amethyst);background:#8b5e9f1f}.nav-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-badge{color:var(--danger);border-radius:var(--radius-pill);font-size:.68rem;font-weight:700;font-family:var(--font-mono);background:#b94d551f;border:1px solid #b94d5533;margin-left:auto;padding:2px 7px}.sidebar-search-btn{background:var(--surface-soft);border:1px solid var(--glass-border);width:100%;min-height:44px;color:var(--text-muted);cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:9px 12px;font-size:.82rem;transition:background .18s,border-color .18s,color .18s;display:flex}.sidebar-search-btn:hover{background:var(--surface-raised);color:var(--text-primary);border-color:#8b5e9f38}.sidebar-search-btn:focus-visible{border-color:var(--amethyst);box-shadow:0 0 0 3px var(--amethyst-glow);color:var(--text-primary);outline:none}.sidebar-search-kbd{opacity:.72;background:var(--void-surface);border:1px solid var(--glass-border);border-radius:4px;margin-left:auto;padding:2px 5px;font-size:.65rem}.sidebar-spacer{min-height:var(--space-sm);flex:1}.sidebar-user{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:0;display:grid}@media (max-height:1040px) and (min-width:769px){.sidebar-spacer{flex:0 0 var(--space-sm)}.sidebar-content,.sidebar-footer{padding-bottom:var(--space-sm)}}.sidebar-profile-button{width:44px;min-width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:14px;justify-content:center;align-items:center;padding:4px;display:inline-flex}.sidebar-profile-button:hover{background:var(--surface-soft)}.sidebar-logout{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:6px;transition:all .2s;display:flex}.sidebar-logout:hover{color:var(--danger);background:#ef44441a}.sidebar-action-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:6px;transition:all .2s;display:flex}.sidebar-action-btn:hover{color:var(--text-primary);background:#ffffff0a}.sidebar-badge{background:var(--danger);color:#fff;min-width:16px;height:16px;font-size:.6rem;font-weight:700;font-family:var(--font-mono);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.sidebar.collapsed{width:var(--sidebar-collapsed);min-width:var(--sidebar-collapsed)}.sidebar.collapsed .sidebar-header{padding:var(--space-lg) var(--space-sm);justify-content:center}.sidebar.collapsed .sidebar-content{padding:0 var(--space-sm) var(--space-sm);overflow:visible}.sidebar.collapsed .sidebar-footer{padding:0 var(--space-sm) var(--space-sm)}.sidebar.collapsed .nav-item{padding:10px var(--space-sm);justify-content:center}.sidebar.collapsed .nav-icon{transition:transform .2s}.sidebar.collapsed .nav-item:hover .nav-icon{transform:scale(1.1)}.sidebar.collapsed .sidebar-user{flex-direction:column;justify-content:center;gap:6px;display:flex}.sidebar.collapsed .sidebar-user .sidebar-logout{margin-left:0}.sidebar.collapsed .nav-item:hover:after{content:attr(data-tooltip);background:var(--void-surface);color:var(--text-primary);white-space:nowrap;z-index:1000;pointer-events:none;border:1px solid var(--glass-border);border-radius:6px;padding:6px 12px;font-size:.875rem;display:block;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 4px 12px #00000040}.sidebar-backdrop{z-index:59;opacity:0;pointer-events:none;background:#0009;transition:opacity .3s;position:fixed;inset:0}.sidebar-backdrop.active{opacity:1;pointer-events:auto}.mobile-hamburger{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:4px;display:flex}.main-content{margin-left:var(--sidebar-width);min-height:100vh;width:calc(100% - var(--sidebar-width));z-index:2;padding:clamp(18px,2.2vw,28px);transition:margin-left .25s,width .25s;position:relative}.view-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.dashboard-today-page{gap:var(--space-lg);display:grid}.today-command-center{box-shadow:none;background:0 0;border:0;border-radius:0;gap:14px;margin-bottom:2px;padding:clamp(12px,1.6vw,20px) 0 0;display:grid}.today-command-header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);flex-wrap:wrap;display:flex}.today-command-header>div:first-child{flex:360px;min-width:0}.view-title.today-command-title{color:var(--text-primary);letter-spacing:-.02em;font-size:clamp(1.75rem,2.65vw,2.25rem);font-weight:500;line-height:1.08}.view-title.today-command-title span:first-of-type{font-weight:850}.today-command-wave{margin-left:2px;font-size:.8em;display:inline-block;transform:translateY(-1px)}.today-command-family-inline{color:var(--text-muted);font-weight:700}.today-command-family{color:var(--text-secondary);margin:7px 0 0;font-size:.9rem}.today-command-grid{gap:var(--space-md);grid-template-columns:minmax(320px,.95fr) minmax(380px,1.35fr);align-items:stretch;display:grid}.next-up-card{color:#fff;min-height:126px;box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#8b5e9f26,#202638e6);border:1px solid #8b5e9f3d;border-radius:18px;padding:14px;position:relative;overflow:hidden}.next-up-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#8b5e9f24,#8b5e9f00);border-radius:999px;width:138px;height:138px;position:absolute;bottom:-36px;right:-28px}.next-up-eyebrow{z-index:1;color:#fff;letter-spacing:0;text-transform:none;margin-bottom:10px;font-size:.82rem;font-weight:800;position:relative}.next-up-content{z-index:1;text-align:left;width:100%;min-height:82px;color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(72px,auto) minmax(0,1fr) auto;align-items:center;gap:10px 14px;padding:0;display:grid;position:relative}.next-up-time-chip{color:#fff;background:#ffffff14;border-radius:13px;justify-content:center;align-items:center;min-width:72px;min-height:52px;font-size:.98rem;font-weight:850;display:inline-flex;box-shadow:inset 0 0 0 1px #c5cbe01f}.next-up-details{gap:7px;min-width:0;display:grid}.next-up-title{color:#fff;letter-spacing:-.015em;font-size:1rem;font-weight:850;line-height:1.18;display:block}.next-up-meta{color:#ffffffc7;flex-wrap:wrap;align-items:center;gap:5px 10px;font-size:.82rem;display:flex}.next-up-meta span{align-items:center;gap:4px;display:inline-flex}.next-up-visual{justify-content:center;place-self:center end;align-items:center;width:64px;height:64px;display:inline-flex}.next-up-visual-orb{width:54px;height:54px;color:var(--amethyst);background:linear-gradient(135deg,#ffffff1f,#8b5e9f2e);border-radius:999px;justify-content:center;align-items:center;display:inline-flex;transform:rotate(-8deg);box-shadow:0 10px 22px #080b1438}.next-up-clear{color:#ffffffc7;align-content:center;gap:8px;min-height:112px;display:grid}.next-up-clear p{max-width:34rem;margin:0}.next-up-empty-action{border:1px solid var(--glass-border);border-radius:var(--radius-pill);background:var(--void-elevated);min-height:38px;color:var(--text-primary);font:inherit;cursor:pointer;justify-self:start;padding:8px 13px;font-size:.82rem;font-weight:700}.next-up-empty-action:hover{border-color:var(--amethyst);color:var(--amethyst)}.today-status-card{border:1px solid var(--glass-border);min-height:126px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0b;border-radius:18px;padding:15px 18px}.today-status-heading{color:var(--text-primary);margin-bottom:13px;font-size:.86rem;font-weight:850}.today-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:clamp(10px,2vw,18px);display:grid}.today-status-item{min-height:74px;color:inherit;font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:12px;align-content:start;justify-items:center;gap:5px;padding:0;transition:background .18s,transform .18s;display:grid}.today-status-item:hover{background:#8b5e9f12;transform:translateY(-1px)}.today-status-item:focus-visible{outline:2px solid var(--amethyst);outline-offset:3px}.today-status-item:active{transform:translateY(0)}.today-status-icon{width:36px;height:36px;color:var(--amethyst);background:#8b5e9f1c;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.today-status-item-tasks .today-status-icon{color:#5f8a4c;background:#5f8a4c24}.today-status-item-shopping .today-status-icon{color:#b97826;background:#b9782621}.today-status-item-birthdays .today-status-icon{color:#c46d3b;background:#c46d3b21}.today-status-value{color:var(--text-primary);font-size:1.26rem;font-weight:850;line-height:1;font-family:var(--font-mono);margin-top:3px}.today-status-label{color:var(--text-secondary);font-size:.76rem;font-weight:700;line-height:1.2}[data-theme=light] .next-up-card{background:linear-gradient(135deg,#f8f1fbf5,#fff8f4e6);box-shadow:0 18px 45px #472d5f14}[data-theme=light] .next-up-time-chip{background:#ffffffc7;box-shadow:inset 0 0 0 1px #8b5e9f14}[data-theme=light] .next-up-card,[data-theme=light] .next-up-eyebrow,[data-theme=light] .next-up-title,[data-theme=light] .next-up-time-chip{color:var(--text-primary)}[data-theme=light] .next-up-meta,[data-theme=light] .next-up-clear{color:var(--text-secondary)}[data-theme=light] .next-up-visual-orb{background:linear-gradient(135deg,#ffffffeb,#ebe0f3bf);box-shadow:0 12px 28px #472d5f29}[data-theme=light] .today-status-card{background:#ffffffdb;border-color:#7882b429;box-shadow:0 18px 44px #2f233e14}[data-theme=light] .bento-card-action{color:#674876;background:#ffffffbd;border-color:#7b568a29;box-shadow:0 1px 2px #614a360d}[data-theme=light] .bento-card-action:hover{color:#563d63;background:#7b568a14;border-color:#7b568a3d}.view-title{letter-spacing:-.02em;font-size:1.65rem;font-weight:700}.view-subtitle{color:var(--text-secondary);margin-top:2px;font-size:.88rem}.view-date{font-family:var(--font-mono);color:var(--text-secondary);border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:#ffffff08;padding:8px 14px;font-size:.82rem}.dashboard-header-actions{justify-content:flex-end;align-items:center;gap:var(--space-sm);flex-wrap:wrap;flex:440px;min-width:min(100%,360px);display:flex}.dashboard-search-btn{border:1px solid var(--glass-border);border-radius:var(--radius-sm);min-width:min(100%,320px);max-width:520px;min-height:40px;color:var(--text-secondary);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);background:#ffffff0a;flex:320px;align-items:center;gap:10px;padding:9px 12px;font-size:.84rem;display:inline-flex}.dashboard-search-btn:hover{background:var(--surface-raised);color:var(--text-primary);border-color:#8b5e9f42}.dashboard-search-btn:focus-visible{border-color:var(--amethyst);box-shadow:0 0 0 3px var(--amethyst-glow);color:var(--text-primary);outline:none}.dashboard-search-placeholder{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;overflow:hidden}.dashboard-search-kbd{opacity:.72;background:var(--void-surface);border:1px solid var(--glass-border);border-radius:4px;flex-shrink:0;padding:2px 5px;font-size:.65rem}.dashboard-layout-toggle,.dashboard-layout-reset{border:1px solid var(--glass-border);border-radius:var(--radius-pill);min-height:38px;color:var(--text-primary);font:inherit;cursor:pointer;background:#ffffff08;justify-content:center;align-items:center;gap:7px;padding:8px 13px;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.dashboard-layout-toggle{gap:0;width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.dashboard-layout-toggle:hover,.dashboard-layout-reset:hover{background:#ffffff0f;border-color:#7882b447}.dashboard-icon-action{border:1px solid var(--glass-border);border-radius:var(--radius-pill);width:40px;min-width:40px;height:40px;color:var(--text-primary);cursor:pointer;background:#ffffff08;justify-content:center;align-items:center;transition:background .2s,border-color .2s;display:inline-flex;position:relative}.dashboard-icon-action:hover{background:#ffffff0f;border-color:#7882b447}.dashboard-action-badge{border-radius:var(--radius-pill);background:var(--danger);color:#fff;min-width:18px;height:18px;font-family:var(--font-mono);justify-content:center;align-items:center;padding:0 5px;font-size:.62rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-5px;right:-5px}.dashboard-layout-panel{margin:calc(-1 * var(--space-sm)) 0 var(--space-md);padding:var(--space-md);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:#ffffff06}.dashboard-layout-panel-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.dashboard-layout-panel h2{margin:0;font-size:1rem}.dashboard-layout-panel p{color:var(--text-muted);margin:5px 0 0;font-size:.86rem}.dashboard-layout-list{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:0;padding:0;list-style:none;display:grid}.dashboard-layout-item{justify-content:space-between;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);color:var(--text-primary);background:#7882b40f;border:1px solid #7882b41f;padding:10px 12px;font-size:.88rem;display:flex}.dashboard-layout-controls{align-items:center;gap:5px;display:inline-flex}.dashboard-layout-controls button{border-radius:var(--radius-pill);background:var(--void-surface);width:34px;min-width:34px;height:34px;color:var(--text-primary);cursor:pointer;border:0;justify-content:center;align-items:center;display:inline-flex}.dashboard-layout-controls button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:960px){.today-command-grid{grid-template-columns:1fr}.today-command-header{flex-direction:column;align-items:stretch}.today-command-header>div:first-child,.dashboard-header-actions{flex:0 auto;min-width:0}.today-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.view-enter{animation:viewEnter .4s var(--ease-out-expo) both}@keyframes viewEnter{0%{opacity:0}to{opacity:1}}.bento-grid{column-gap:var(--space-md);row-gap:var(--space-md);grid-template-columns:repeat(12,1fr);display:grid}.dashboard-module-shell{min-width:0;display:flex}.dashboard-module-shell>.bento-card,.dashboard-module-shell>.activation-panel{width:100%}.dashboard-module-shell[data-dashboard-module=events],.dashboard-module-shell[data-dashboard-module=tasks],.dashboard-module-shell[data-dashboard-module=birthdays],.dashboard-module-shell[data-dashboard-module=activity],.dashboard-module-shell[data-dashboard-module=rewards]{grid-column:span 3}.dashboard-module-shell[data-dashboard-module=quick_capture],.dashboard-module-shell[data-dashboard-module=daily_loop]{grid-column:1/-1}.dashboard-activation-shell{order:99;grid-column:1/-1}.bento-card{background:var(--surface-paper);border:1px solid var(--glass-border);box-shadow:var(--shadow-soft);border-radius:16px;padding:clamp(14px,1.25vw,18px);transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;overflow:hidden}.bento-card-illustrated{flex-direction:column;display:flex}.bento-card:hover{border-color:#7882b433}.bento-card-illustrated .bento-card-header{align-items:flex-start;min-height:52px;padding-right:62px}.bento-card-visual{width:52px;height:52px;color:var(--amethyst);pointer-events:none;background:#8b5e9f1a;border:1px solid #8b5e9f1f;border-radius:17px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:14px;right:14px}.bento-card-visual-events{color:#6f5fa7;background:#6f5fa71c}.bento-card-visual-tasks{color:#5f8a4c;background:#5f8a4c21}.bento-card-visual-birthdays{color:#c46d3b;background:#c46d3b1f}.bento-card-visual-rewards{color:#b97826;background:#b978261f}.activity-page{gap:12px;width:min(100%,980px);margin:0 auto;display:grid}.activity-view-header{margin-bottom:0}.activity-title-block{align-items:center;gap:13px;min-width:0;display:flex}.activity-page-icon{background:color-mix(in srgb, var(--accent-sage) 12%, var(--surface-paper));width:44px;height:44px;color:color-mix(in srgb, var(--accent-sage) 76%, var(--text-primary));border:1px solid var(--border-subtle);border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.activity-history-layout{min-width:0}.activity-history-layout .bento-activity{background:var(--surface-paper);border-color:var(--border-subtle);width:100%;box-shadow:var(--shadow-soft)}.activity-history-layout .activity-feed-list{max-width:none}.bento-card-header{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:10px;display:flex}.bento-card-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;font-size:.78rem;font-weight:600;display:flex}.bento-card-illustrated .bento-card-title{color:var(--text-primary)}.bento-more{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:none;padding:4px 10px;font-family:inherit;font-size:.78rem;transition:all .2s}.bento-more:hover{color:var(--text-primary);background:#ffffff0d}.bento-card-footer{margin-top:auto;padding-top:12px}.bento-card-action{width:100%;min-height:34px;color:var(--text-primary);font:inherit;cursor:pointer;background:#ffffff16;border:1px solid #c5cbe033;border-radius:12px;justify-content:center;align-items:center;font-size:.75rem;font-weight:750;transition:background .18s,border-color .18s,transform .18s;display:inline-flex;box-shadow:inset 0 1px #ffffff09}.bento-card-action:hover{background:#8b5e9f29;border-color:#8b5e9f57;transform:translateY(-1px)}.bento-card-action:focus-visible{outline:2px solid var(--amethyst);outline-offset:3px}.activity-feed-list{gap:var(--space-sm);flex-direction:column;display:flex}.activity-feed-item{gap:var(--space-sm);border-bottom:1px solid #7882b414;grid-template-columns:auto 1fr;align-items:flex-start;padding:10px 0;display:grid}.activity-feed-item:last-child{border-bottom:0}.activity-feed-dot{border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--amethyst), var(--sapphire));width:10px;height:10px;margin-top:6px;box-shadow:0 0 0 4px #8b5cf614}.activity-feed-copy{min-width:0}.activity-feed-summary{color:var(--text-primary);overflow-wrap:anywhere;font-size:.9rem;line-height:1.35}.activity-feed-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px 10px;margin-top:4px;font-size:.75rem;display:flex}.bento-empty{color:var(--text-muted);padding:var(--space-md) 0;align-items:center;gap:var(--space-sm);font-size:.85rem;display:flex}.bento-empty-action{color:var(--amethyst);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;min-height:44px;padding:8px 12px;font-family:inherit;font-size:.85rem;font-weight:500;transition:opacity .2s;display:inline-flex}.bento-empty-action:hover{opacity:.7}.quick-capture-card,.bento-quick-capture{align-content:start;gap:14px;padding:14px 16px;display:grid}.quick-capture-header{margin-bottom:0}.bento-quick-capture .bento-card-title{color:var(--text-primary)}.bento-quick-capture.has-quick-capture-inbox .quick-capture-header{padding-right:44px}.quick-capture-intro{color:var(--text-muted);margin:4px 0 0;font-size:.84rem}.quick-capture-form{gap:var(--space-sm);display:grid}.quick-capture-form--command{grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:12px}.quick-capture-input{resize:none;width:100%;min-height:44px;max-height:44px;color:var(--text-primary);font:inherit;background:#ffffff5c;border:1px solid #7882b429;border-radius:10px;padding:12px 14px;line-height:1.2;overflow:hidden}.quick-capture-input:focus{border-color:#8b5cf65c;outline:2px solid #8b5cf63d}.quick-capture-actions{flex-wrap:nowrap;justify-content:flex-start;gap:10px;display:flex}.quick-capture-actions .btn-sm{background:var(--surface-raised);border:1px solid var(--glass-border);min-height:44px;color:var(--text-primary);box-shadow:none;white-space:nowrap;border-radius:10px;padding:0 15px}.quick-capture-actions .btn-sm svg{color:var(--amethyst)}.quick-capture-actions .quick-capture-action-task svg{color:#e35f4f}.quick-capture-actions .quick-capture-action-event svg{color:#3c9eb8}.quick-capture-actions .quick-capture-action-shopping svg{color:#6f9c4d}.quick-capture-actions .quick-capture-action-meal svg{color:#c46d3b}.quick-capture-actions .quick-capture-action-note svg{color:#d18b2c}.quick-capture-action{border-radius:var(--radius-pill);background:var(--void-surface);min-height:40px;color:var(--text-primary);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);border:1px solid #7882b424;align-items:center;gap:7px;padding:8px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.quick-capture-action.primary{background:linear-gradient(135deg, var(--amethyst), var(--sapphire));color:#fff;border-color:#0000}.quick-capture-action:disabled{opacity:.55;cursor:not-allowed}.quick-capture-inbox{gap:8px;display:grid}.quick-capture-inbox:not([open]){z-index:2;position:absolute;top:8px;right:16px}.quick-capture-inbox-head,.quick-capture-inbox-title{justify-content:flex-start;align-items:center;gap:var(--space-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;font-size:.76rem;font-weight:650;list-style:none;display:flex}.quick-capture-inbox:not([open]) .quick-capture-inbox-title{width:28px;height:28px;box-shadow:none;text-transform:none;letter-spacing:0;background:0 0;border:1px solid #7882b42e;border-radius:11px;justify-content:center;gap:0;padding:0}.quick-capture-inbox:not([open]) .quick-capture-inbox-label,.quick-capture-inbox:not([open]) .quick-capture-inbox-title:before{display:none}.quick-capture-inbox-title:before{content:"›";border-radius:var(--radius-pill);width:16px;height:16px;color:var(--amethyst);background:#8b5e9f1a;justify-content:center;align-items:center;transition:transform .18s;display:inline-flex}.quick-capture-inbox[open] .quick-capture-inbox-title:before{transform:rotate(90deg)}.quick-capture-inbox-summary{border-radius:var(--radius-pill);min-width:24px;height:22px;color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:0;background:#7882b414;justify-content:center;align-items:center;margin-left:auto;padding:0 8px;display:inline-flex}.quick-capture-inbox:not([open]) .quick-capture-inbox-summary{width:100%;min-width:0;height:100%;color:var(--text-primary);background:0 0;margin-left:0;padding:0;font-weight:750}.quick-capture-item{background:#7882b40e;border:1px solid #7882b414;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.quick-capture-text,.quick-capture-item-text{color:var(--text-primary);overflow-wrap:anywhere;font-size:.9rem}.quick-capture-item-actions{flex-wrap:wrap;gap:6px;display:flex}.quick-capture-item-actions button{border-radius:var(--radius-pill);min-height:34px;color:var(--amethyst);font:inherit;cursor:pointer;background:#8b5cf61a;border:0;align-items:center;gap:5px;padding:6px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.quick-capture-item-actions button:last-child{color:var(--text-muted);background:#7882b414}.quick-capture-error{color:var(--danger);font-size:.82rem}@media (max-width:1180px){.quick-capture-form--command{grid-template-columns:1fr;align-items:stretch}.quick-capture-actions{flex-wrap:wrap}}.bento-daily-loop{gap:12px;display:grid}.bento-daily-loop .bento-card-title{color:var(--text-primary)}.daily-loop-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.daily-loop-action{min-height:104px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:#7882b40e;border:1px solid #7882b41f;border-radius:15px;grid-template-rows:1fr auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 12px;padding:12px;transition:background .18s,border-color .18s,transform .18s;display:grid}.daily-loop-action:hover{background:#8b5e9f11;border-color:#8b5e9f29;transform:translateY(-1px)}.daily-loop-action:focus-visible{outline:2px solid var(--amethyst);outline-offset:3px}.daily-loop-action-art{width:50px;height:50px;color:var(--amethyst);background:#8b5e9f1c;border-radius:15px;grid-row:1/3;justify-content:center;align-items:center;display:inline-flex}.daily-loop-action-shopping .daily-loop-action-art{color:#b97826;background:#b9782621}.daily-loop-action-routines .daily-loop-action-art{color:#5f8a4c;background:#5f8a4c21}.daily-loop-action-copy{gap:3px;min-width:0;display:grid}.daily-loop-action-value{color:var(--text-primary);font-family:var(--font-mono);font-size:1.4rem;font-weight:850;line-height:1}.daily-loop-action-label{color:var(--text-secondary);font-size:.84rem;font-weight:700;line-height:1.2}.daily-loop-action-link{color:var(--text-muted);grid-column:2;font-size:.74rem;font-weight:700}@media (max-width:1280px){.dashboard-module-shell[data-dashboard-module=events],.dashboard-module-shell[data-dashboard-module=tasks],.dashboard-module-shell[data-dashboard-module=birthdays],.dashboard-module-shell[data-dashboard-module=activity],.dashboard-module-shell[data-dashboard-module=rewards]{grid-column:span 6}}.admin-error{color:var(--danger);margin-bottom:var(--space-md)}.admin-actions{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.admin-time-toggle{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.admin-time-label{font-size:.88rem;font-weight:500}.admin-subpage{gap:12px;min-width:0;display:grid}.admin-subpage-header{min-height:58px;margin:0;padding:0}.admin-subpage-title-block{align-items:center;gap:12px;min-width:0;display:flex}.admin-subpage-icon{background:color-mix(in srgb, var(--amethyst) 10%, var(--surface-paper));width:40px;height:40px;color:color-mix(in srgb, var(--amethyst) 76%, var(--text-primary));border:1px solid var(--border-subtle);border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.admin-subpage .invite-intro{color:var(--text-secondary);max-width:76ch;margin:0;font-size:.86rem;line-height:1.5}.admin-subpage .settings-section,.admin-subpage.settings-section{background:var(--surface-paper);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);border-radius:14px}.adm-success-banner{background:color-mix(in srgb, var(--success) 11%, var(--surface-paper));border:1px solid color-mix(in srgb, var(--success) 26%, var(--border-subtle));border-radius:13px;margin-bottom:0;padding:12px}.adm-banner-header{margin-bottom:var(--space-sm);align-items:center;gap:8px;display:flex}.adm-banner-title{font-size:.88rem;font-weight:600}.adm-banner-warning{color:var(--warning);margin-bottom:var(--space-sm);font-size:.82rem}.adm-banner-row{gap:var(--space-sm);align-items:center;display:flex}.adm-banner-no-shrink{flex-shrink:0}.adm-banner-dismiss{color:var(--text-muted);cursor:pointer;margin-top:var(--space-sm);background:0 0;border:none;font-size:.78rem}.adm-icon-success{color:var(--success)}.adm-icon-middle{vertical-align:middle}.adm-icon-shield{color:var(--amethyst)}.adm-add-wrapper{margin-top:var(--space-md)}.adm-form-grid{gap:12px;padding:14px;display:grid}.adm-form-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.adm-profile-name{align-items:center;gap:6px;display:flex}.adm-age{color:var(--text-muted);margin-left:8px;font-size:.75rem}.adm-self-hint{color:var(--text-muted);font-size:.82rem;font-style:italic}.adm-birthdate-input{width:auto;min-width:140px;padding:4px 8px;font-size:.78rem}.adm-section-header{margin-top:0}.adm-section-gap{margin-bottom:0}.adm-col-layout{flex-direction:column;gap:8px;display:flex}.adm-col-layout-lg{flex-direction:column;gap:10px;display:flex}.adm-field-title{color:var(--text-primary);font-weight:800}.adm-field-hint{color:var(--text-muted);font-size:.8rem}.adm-field-hint-sm{color:var(--text-muted);font-size:.78rem}.adm-self-start{align-self:flex-start}.adm-empty{border:1px dashed var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 50%, var(--surface-paper));color:var(--text-muted);border-radius:12px;margin:0;padding:12px;font-size:.86rem}.adm-input-narrow{width:5rem}.adm-select-block{margin-top:.25rem;display:block}.adm-input-block{width:5rem;margin-top:.25rem;display:block}.adm-list-item{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 50%, var(--surface-paper));border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:10px 12px;display:flex}.adm-list-item+.adm-list-item{margin-top:8px}.adm-list-item-header{align-items:center;gap:.5rem;display:flex}.adm-list-item-icon{opacity:.78;color:var(--amethyst)}.adm-list-item-role{color:var(--text-primary);font-size:.88rem;font-weight:820}.adm-list-item-status{font-size:.78rem;font-weight:600}.adm-list-item-meta{color:var(--text-muted);margin-top:3px;font-size:.78rem}.adm-revoke-btn{color:var(--danger)}.adm-backup-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:10px;display:flex}.adm-backup-filename{color:var(--text-primary);overflow-wrap:anywhere;font-size:.9rem;font-weight:820}.adm-backup-meta{color:var(--text-muted);font-size:.8rem}.adm-backup-last{color:var(--text-secondary);font-size:.85rem}.adm-backup-volume,.adm-retention-hint{color:var(--text-muted);font-size:.8rem}.adm-btn-row{flex-wrap:wrap;gap:.5rem;display:flex}.backup-confidence-panel{gap:var(--space-md);display:grid}.backup-confidence-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.backup-confidence-warning{color:var(--warning,#d97706);margin:.35rem 0 0;font-size:.9rem}.backup-docs-link{white-space:nowrap}.backup-confidence-grid{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.backup-confidence-card{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 56%, var(--surface-paper));border-radius:12px;gap:.35rem;min-width:0;padding:12px;display:grid}.backup-confidence-card span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.backup-confidence-card strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:.95rem}.backup-confidence-card small{color:var(--text-muted);overflow-wrap:anywhere}.backup-confidence-list-card,.backup-restore-card{grid-column:span 2}.backup-domain-list{flex-wrap:wrap;gap:.4rem;display:flex}.backup-domain-list em{color:var(--text-primary);background:#7c3aed1a;border-radius:999px;padding:.25rem .55rem;font-size:.82rem;font-style:normal}.backup-domain-list.muted em{color:var(--text-secondary);background:#7882b414}@media (max-width:720px){.backup-confidence-header{display:grid}.backup-docs-link{width:fit-content}.backup-confidence-grid{grid-template-columns:1fr}.backup-confidence-list-card,.backup-restore-card{grid-column:auto}}.adm-load-more{margin-top:var(--space-sm)}.event-list{gap:var(--space-sm);display:grid}.event-item{border-radius:var(--radius-sm);background:#ffffff05;align-items:flex-start;gap:12px;padding:12px;display:flex}.event-time{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;width:48px;padding-top:2px;font-size:.78rem}.event-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.event-info{flex:1}.event-title{font-size:.9rem;font-weight:500}.event-meta{color:var(--text-muted);margin-top:2px;font-size:.78rem}.task-preview-list{gap:6px;display:grid}.task-preview-item{border-radius:var(--radius-sm);cursor:pointer;background:#ffffff05;align-items:center;gap:10px;padding:10px 12px;transition:all .2s;display:flex}.task-preview-item:hover{background:#ffffff0a}.task-check{border:2px solid var(--glass-border);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.task-check:hover{border-color:var(--amethyst)}.task-check.done{background:var(--amethyst);border-color:var(--amethyst)}.task-preview-info{flex:1;min-width:0}.task-preview-title{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:450;overflow:hidden}.task-preview-title.done{color:var(--text-muted);text-decoration:line-through}.task-priority-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.task-assignee-mini{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.6rem;font-weight:600;display:flex}.birthday-list{gap:var(--space-sm);display:grid}.birthday-item{border-radius:var(--radius-sm);background:#ffffff05;align-items:center;gap:10px;padding:10px;transition:all .2s;display:flex}.birthday-avatar{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex}.birthday-info{flex:1}.birthday-name{font-size:.88rem;font-weight:500}.birthday-date{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono)}.birthday-countdown{font-family:var(--font-mono);border-radius:var(--radius-pill);padding:3px 8px;font-size:.72rem;font-weight:500}.rewards-widget-card{min-height:100%}.rewards-widget-header{padding-right:66px}.rewards-widget-visual{background:color-mix(in srgb, var(--accent-amber) 14%, var(--surface-soft));color:color-mix(in srgb, var(--accent-amber) 78%, var(--text-primary))}.rewards-widget-skeleton{gap:8px;padding-top:4px;display:grid}.rewards-widget-skeleton-line{width:62%;height:14px}.rewards-widget-skeleton-line.short{width:42%}.rewards-widget-empty{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 64%, transparent);min-height:74px;color:var(--text-secondary);border-radius:12px;align-items:center;gap:10px;padding:12px;font-size:.82rem;font-weight:650;display:flex}.rewards-widget-empty-icon{background:color-mix(in srgb, var(--accent-amber) 12%, var(--surface-paper));width:34px;height:34px;color:var(--accent-amber);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.rewards-widget-summary{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.rewards-widget-total{gap:2px;display:grid}.rewards-widget-total-value,.rewards-widget-balance-value{color:var(--text-primary);align-items:center;gap:7px;font-size:1.55rem;font-weight:880;line-height:1;display:inline-flex}.rewards-widget-total-label,.rewards-widget-balance-label{color:var(--text-muted);font-size:.74rem;font-weight:700}.rewards-widget-pending{border:1px solid color-mix(in srgb, var(--accent-amber) 24%, var(--border-subtle));border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent-amber) 9%, var(--surface-paper));min-height:34px;color:color-mix(in srgb, var(--accent-amber) 76%, var(--text-primary));font:inherit;cursor:pointer;align-items:center;gap:6px;padding:6px 10px;font-size:.74rem;font-weight:800;display:inline-flex}.rewards-child-list{gap:7px;display:grid}.rewards-child-row{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 58%, var(--surface-paper));border-radius:11px;align-items:center;gap:10px;min-height:42px;padding:8px 10px;font-size:.82rem;display:flex}.rewards-child-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:1;font-weight:760;overflow:hidden}.rewards-child-balance{color:var(--text-primary);align-items:center;gap:5px;font-weight:850;display:inline-flex}.rewards-widget-balance{justify-items:start;gap:4px;margin-bottom:12px;display:grid}.rewards-widget-goal{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 58%, var(--surface-paper));border-radius:12px;gap:8px;padding:10px;display:grid}.rewards-widget-goal-copy{justify-content:space-between;align-items:center;gap:12px;display:flex}.rewards-widget-goal-label{color:var(--text-secondary);font-size:.75rem;font-weight:750}.rewards-widget-goal-cost{color:var(--text-primary);align-items:center;gap:5px;font-size:.76rem;font-weight:850;display:inline-flex}.rewards-page{gap:12px;width:min(100%,980px);margin:0 auto;display:grid}.rewards-page-header{justify-content:flex-start;align-items:center;gap:13px;margin-bottom:0;display:flex}.rewards-page-icon{background:color-mix(in srgb, var(--accent-amber) 12%, var(--surface-paper));width:44px;height:44px;color:color-mix(in srgb, var(--accent-amber) 78%, var(--text-primary));border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.rewards-page-title{gap:3px;min-width:0;display:grid}.rewards-page-title h1{color:var(--text-primary);margin:0;font-size:1.22rem;font-weight:880;line-height:1.15}.rewards-header-currency{color:var(--text-muted);align-items:center;gap:6px;font-size:.8rem;font-weight:720;display:inline-flex}.rewards-tabs{background:color-mix(in srgb, var(--surface-soft) 70%, transparent);border:1px solid var(--border-subtle);scrollbar-width:none;border-radius:13px;gap:4px;width:fit-content;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.rewards-tabs::-webkit-scrollbar{display:none}.rewards-tab{min-height:36px;color:var(--text-secondary);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:7px;padding:7px 13px;font-size:.79rem;font-weight:800;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.rewards-tab.active{background:var(--surface-paper);border-color:var(--border-subtle);color:var(--text-primary);box-shadow:var(--shadow-soft)}.rewards-tab-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent-rose) 18%, var(--surface-paper));min-width:20px;height:20px;color:var(--accent-rose);justify-content:center;align-items:center;padding:0 6px;font-size:.68rem;font-weight:850;display:inline-flex}.rewards-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);align-items:start;gap:12px;display:grid}.rewards-panel{border:1px solid var(--border-subtle);background:var(--surface-paper);min-width:0;box-shadow:var(--shadow-soft);border-radius:14px;padding:14px}.rewards-panel-wide{grid-column:1/-1}.rewards-panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.rewards-section-title{color:var(--text-primary);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:860}.rewards-balances{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.rewards-balance-card{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 58%, var(--surface-paper));border-radius:12px;align-items:center;gap:10px;min-height:68px;padding:10px 12px;display:flex}.rewards-balance-card-name{color:var(--text-primary);font-size:.84rem;font-weight:780}.rewards-balance-card-value{color:var(--text-primary);align-items:center;gap:5px;font-size:1rem;font-weight:880;display:inline-flex}.rewards-balance-pending{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent-amber) 12%, var(--surface-paper));color:color-mix(in srgb, var(--accent-amber) 76%, var(--text-primary));white-space:nowrap;align-self:flex-start;margin-left:auto;padding:3px 8px;font-size:.68rem;font-weight:820}.rewards-list{gap:8px;display:grid}.rewards-row{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 54%, var(--surface-paper));min-height:48px;color:var(--text-secondary);border-radius:11px;align-items:center;gap:10px;padding:9px 10px;font-size:.84rem;display:flex}.rewards-row-title{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;flex:1;font-weight:760}.rewards-row-meta,.rewards-row-note{color:var(--text-muted);font-size:.75rem;font-weight:650}.rewards-amount{color:var(--text-primary);white-space:nowrap;align-items:center;gap:5px;font-weight:860;display:inline-flex}.rewards-row-icon{background:var(--surface-paper);width:34px;height:34px;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.rewards-row-icon-earn,.rewards-row-icon-star{color:var(--accent-amber);background:color-mix(in srgb, var(--accent-amber) 12%, var(--surface-paper))}.rewards-row-icon-spend,.rewards-row-icon-gem,.rewards-row-icon-trophy{color:var(--amethyst);background:color-mix(in srgb, var(--amethyst) 10%, var(--surface-paper))}.rewards-row-icon-task,.rewards-row-icon-zap{color:var(--accent-sky);background:color-mix(in srgb, var(--accent-sky) 12%, var(--surface-paper))}.rewards-row-icon-pending,.rewards-row-icon-heart{color:var(--accent-rose);background:color-mix(in srgb, var(--accent-rose) 10%, var(--surface-paper))}.rewards-row-top{border-radius:11px 11px 0 0}.rewards-row-bottom{background:var(--surface-paper);border-top:0;border-radius:0 0 11px 11px}.rewards-action{border-radius:9px;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:7px;display:inline-flex}.rewards-action-task{color:var(--accent-sky)}.rewards-action-confirm{color:var(--success)}.rewards-action-reject,.rewards-action-delete{color:var(--danger)}.rewards-earn-form{grid-template-columns:minmax(120px,1fr) 86px;align-items:stretch;gap:8px;display:grid}.rewards-earn-form .rewards-earn-note,.rewards-earn-form .rewards-submit-btn{grid-column:1/-1}.rewards-earn-form .form-input,.rewards-add-form .form-input{border-color:var(--border-subtle);background:var(--surface-paper);min-width:0;box-shadow:none}.rewards-add-form{grid-template-columns:minmax(0,1fr) 86px 44px;gap:8px;margin-top:10px;display:grid}.rewards-add-reward-form{grid-template-columns:minmax(0,1fr) 86px minmax(108px,.45fr) 44px}.rewards-add-btn{min-width:44px}.rewards-hero{text-align:center;padding:22px}.rewards-hero-value{color:var(--text-primary);justify-content:center;align-items:center;gap:10px;font-size:3rem;font-weight:900;line-height:1;display:inline-flex}.rewards-hero-label{color:var(--text-muted);margin-top:7px;font-size:.85rem;font-weight:750}.rewards-hero-pending{color:var(--accent-rose);margin-top:7px;font-size:.78rem;font-weight:800}.rewards-progress{gap:9px;display:grid}.rewards-progress-label{color:var(--text-primary);font-size:.82rem;font-weight:800}.rewards-progress-bar{background:color-mix(in srgb, var(--text-primary) 7%, transparent);border-radius:var(--radius-pill);height:8px;overflow:hidden}.rewards-progress-fill{background:linear-gradient(90deg, var(--amethyst), var(--accent-amber));border-radius:inherit;height:100%;transition:width .4s var(--ease-out-expo);display:block}.rewards-progress-info{color:var(--text-muted);justify-content:space-between;gap:12px;font-size:.74rem;font-weight:720;display:flex}.rewards-catalog-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;display:grid}.rewards-catalog-card{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 54%, var(--surface-paper));border-radius:12px;align-items:center;gap:11px;min-height:72px;padding:11px;display:flex}.rewards-catalog-card-locked{opacity:.62}.rewards-empty{min-height:96px;padding:var(--space-lg);border:1px dashed var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 54%, transparent);color:var(--text-muted);text-align:center;border-radius:12px;place-items:center;font-size:.86rem;font-weight:700;display:grid}.rewards-setup{width:min(100%,520px);margin:0 auto}.rewards-setup-grid{gap:8px;display:grid}.rewards-setup-option{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 58%, var(--surface-paper));min-height:58px;color:var(--text-primary);font:inherit;cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;transition:background .18s,border-color .18s,transform .18s;display:flex}.rewards-setup-option:hover{background:var(--surface-paper);border-color:color-mix(in srgb, var(--amethyst) 18%, var(--border-subtle));transform:translateY(-1px)}.rewards-setup-option:disabled{opacity:.5;cursor:not-allowed;transform:none}.rewards-setup-option-name{font-size:.95rem;font-weight:820}.rewards-history-link{grid-column:1/-1;justify-content:center;margin-top:2px;display:flex}.rewards-history-link .btn-ghost,.rewards-history-back{min-height:36px;color:var(--text-secondary);border-radius:10px;align-items:center;gap:7px;font-size:.78rem;font-weight:800;display:inline-flex}.rewards-history-row{font-size:.82rem}.rewards-history-date{color:var(--text-muted);min-width:78px;font-weight:700}.rewards-history-member{min-width:90px;color:var(--text-secondary);font-weight:740}.rewards-history-status{border-radius:var(--radius-pill);padding:3px 8px;font-size:.68rem;font-weight:820}.rewards-history-status-pending{color:var(--accent-amber);background:color-mix(in srgb, var(--accent-amber) 10%, var(--surface-paper))}.rewards-history-status-confirmed{color:var(--success);background:color-mix(in srgb, var(--success) 10%, var(--surface-paper))}.rewards-history-status-rejected{color:var(--danger);background:color-mix(in srgb, var(--danger) 9%, var(--surface-paper))}.calendar-layout{gap:var(--space-md);grid-template-columns:1fr 360px;max-width:1400px;display:grid}.calendar-controls{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.calendar-nav{align-items:center;gap:var(--space-xs);pointer-events:none;min-width:0;display:flex}.calendar-nav-btn{border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;z-index:1;pointer-events:auto;background:#ffffff0a;border-radius:10px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;position:relative}.calendar-nav-btn:hover{background:#ffffff12}.calendar-month-label{text-align:center;pointer-events:none;min-width:160px;font-size:1.1rem;font-weight:600}.calendar-view-toggle{background:#ffffff08;border-radius:8px;margin-left:auto;padding:3px;display:flex}.calendar-view-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 14px;font-family:inherit;font-size:.82rem;font-weight:500;transition:all .2s}.calendar-view-btn.active{background:var(--void-elevated);color:var(--text-primary)}.today-btn{border:1px solid var(--amethyst);color:var(--amethyst);cursor:pointer;margin-left:var(--space-sm);background:#7c3aed1a;border-radius:8px;min-height:44px;padding:7px 14px;font-family:inherit;font-size:.82rem;font-weight:500;transition:all .2s}.today-btn:hover{background:#7c3aed33}.calendar-grid-wrapper{padding:var(--space-lg);background:var(--void-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.calendar-weekdays{margin-bottom:var(--space-sm);grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-weekday{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:8px 0;font-size:.72rem;font-weight:600}.calendar-week-num{font-family:var(--font-mono);color:var(--text-muted);opacity:.5;justify-content:center;align-items:center;font-size:.68rem;display:flex}.calendar-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-day{cursor:pointer;min-height:80px;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:12px;grid-template-rows:24px minmax(16px,1fr) 18px;place-items:start center;gap:4px;font-family:inherit;transition:all .2s;display:grid;position:relative}.calendar-day:hover:not(.empty){border-color:var(--glass-border);background:#ffffff0a}.calendar-day.today{border-color:var(--amethyst);background:#7c3aed1f}.calendar-day.today .calendar-day-num{color:var(--amethyst);font-weight:700}.calendar-day.selected{background:var(--amethyst);border-color:var(--amethyst)}.calendar-day.selected .calendar-day-num{color:#fff}.calendar-day.empty{opacity:.25;cursor:default}.calendar-day.other-month{opacity:.3}.calendar-day-num{min-width:24px;min-height:24px;font-size:.88rem;font-weight:500;font-family:var(--font-mono);border-radius:var(--radius-pill);grid-row:1;justify-content:center;align-items:center;display:inline-flex}.calendar-day-dots{grid-row:3;justify-content:center;align-items:center;gap:3px;width:100%;min-height:16px;display:flex;overflow:hidden}.calendar-day-dot{border-radius:50%;width:5px;height:5px}.calendar-day-icon-indicator{background:var(--bg-muted);border-radius:999px;flex:none;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;line-height:1;display:inline-flex}.calendar-day-birthday-indicator{color:#f43f5e;background:#f43f5e1f;border-radius:999px;flex:none;justify-content:center;align-items:center;width:13px;height:13px;display:inline-flex}.day-detail-panel{padding:var(--space-lg);background:var(--void-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);align-self:start}.day-detail-date{margin-bottom:var(--space-xs);font-size:1.1rem;font-weight:600}.day-detail-events{gap:var(--space-sm);margin-bottom:var(--space-lg);display:grid}.day-event-card{border-radius:var(--radius-sm);background:#ffffff08;border-left:3px solid;gap:10px;padding:12px;transition:all .2s;display:flex}.day-event-card:hover{background:#ffffff0d}.quick-add-form{gap:var(--space-sm);display:grid}.quick-add-form .form-input,.quick-add-form select,.cal-edit-form .form-input{width:100%;min-width:0}.cal-form-panel{padding:var(--space-lg);background:var(--void-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.calendar-days-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.week-view{gap:var(--space-sm);display:grid}.week-day{border-radius:var(--radius-sm);background:var(--void-surface);border:1px solid var(--glass-border);overflow:hidden}.week-day-today{border-left:3px solid var(--amethyst)}.week-day-header{align-items:center;gap:var(--space-sm);width:100%;padding:12px var(--space-md);border:none;border-bottom:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;text-align:left;background:#ffffff08;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .2s;display:flex}.week-day-header:hover{background:#ffffff0f}.week-day-header.week-day-selected{background:#7c3aed14}.week-day-today .week-day-header{color:var(--amethyst)}.week-day-today-badge{border-radius:var(--radius-pill);color:var(--amethyst);text-transform:uppercase;letter-spacing:.04em;background:#7c3aed1f;padding:2px 8px;font-size:.68rem;font-weight:500}.week-day-events{padding:var(--space-sm) var(--space-md);gap:var(--space-xs);display:grid}.week-day-empty{color:var(--text-muted);padding:var(--space-xs) 0;font-size:.82rem}.cal-dialog-backdrop{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cal-dialog{padding:var(--space-xl);gap:var(--space-md);background:var(--void-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);flex-direction:column;width:90%;max-width:380px;display:flex}.cal-dialog-title{font-size:1rem;font-weight:600}.cal-dialog-subtitle{color:var(--text-secondary);font-size:.88rem}.cal-dialog-actions{gap:var(--space-sm);flex-direction:column;display:flex}.cal-dialog-actions .btn-sm{width:100%}.cal-dialog-delete-all{background:var(--danger);color:#fff}.cal-dialog-cancel{border:1px solid var(--glass-border);color:var(--text-secondary);background:0 0}.cal-dialog-cancel:hover{color:var(--text-primary);box-shadow:none;background:#7882b414}.assign-chips{flex-wrap:wrap;gap:6px;display:flex}.assign-chip{cursor:pointer;border:1.5px solid var(--glass-border);color:var(--text-secondary);background:0 0;border-radius:999px;min-height:32px;padding:4px 10px;font-family:inherit;font-size:.78rem;transition:all .2s}.assign-chip-active{background:var(--amethyst);border-color:var(--amethyst);color:#fff}.assigned-badges{gap:3px;margin-top:2px;display:flex}.assigned-badge{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.6rem;font-weight:600;display:inline-flex}.event-card-title{align-items:center;gap:6px;font-size:.9rem;font-weight:500;display:flex}.event-card-icon{flex-shrink:0;line-height:1}.event-card-meta{color:var(--text-muted);margin-top:2px;font-size:.78rem}.event-card-location{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:5px;margin-top:4px;font-size:.78rem;display:flex}.event-card-map-links{gap:8px;margin-left:2px;display:inline-flex}.event-card-map-links a{color:var(--amethyst-light);font-weight:500;text-decoration:none}.event-card-map-links a:hover{text-decoration:underline}.event-card-action{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;transition:all .2s;display:inline-flex}.event-card-action:hover{color:var(--text-primary);background:#ffffff0a}.color-picker{flex-wrap:wrap;gap:4px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:32px;height:32px;padding:0;transition:all .15s}.color-swatch-active{border-color:var(--text-primary)}.color-swatch-none{background:var(--void-surface);border-color:var(--glass-border)}.color-swatch-none.color-swatch-active{border-color:var(--text-primary)}.cal-form-label{color:var(--text-muted);margin-bottom:4px;font-size:.75rem}.cal-form-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-md);font-size:.78rem;font-weight:600}.cal-form-row{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.day-detail-panel .cal-form-row{grid-template-columns:1fr}.cal-form-actions{gap:var(--space-sm);display:flex}.cal-empty-day{color:var(--text-muted);font-size:.88rem}.cal-onboard{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-sm);background:#7c3aed0f;border:1px solid #7c3aed1f}.cal-onboard-text{color:var(--text-secondary);margin-bottom:var(--space-sm);font-size:.85rem}.cal-edit-form{border-radius:var(--radius-sm);gap:var(--space-sm);border:1px solid var(--glass-border);background:#ffffff05;margin-bottom:12px;padding:12px;display:grid}.cal-edit-recurring-hint{color:var(--text-secondary);border-radius:var(--radius-sm);background:#7c3aed14;border:1px solid #7c3aed33;padding:8px 10px;font-size:.78rem}.cal-form-datetime{font-size:.82rem}.cal-form-input-lg{padding:12px 14px;font-size:.88rem}.notifications-page{gap:12px;width:min(100%,980px);margin:0 auto;display:grid}.notifications-header{margin-bottom:0}.notifications-title-block{align-items:center;gap:13px;min-width:0;display:flex}.notifications-page-icon{background:color-mix(in srgb, var(--accent-rose) 11%, var(--surface-paper));width:44px;height:44px;color:color-mix(in srgb, var(--accent-rose) 74%, var(--text-primary));border:1px solid var(--border-subtle);border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.notifications-panel-content{gap:var(--space-sm);display:grid}.notif-list{gap:8px;display:grid}.notif-item{cursor:pointer;background:var(--surface-paper);border:1px solid var(--border-subtle);min-height:64px;box-shadow:var(--shadow-soft);border-radius:14px;align-items:flex-start;gap:12px;padding:12px;transition:background .18s,border-color .18s,transform .18s;display:flex}.notif-item:hover{background:color-mix(in srgb, var(--surface-soft) 42%, var(--surface-paper));border-color:color-mix(in srgb, var(--amethyst) 18%, var(--border-subtle));transform:translateY(-1px)}.notif-item:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.notif-item-unread{border-left:4px solid var(--amethyst)}.notif-item-read{opacity:.7}.notif-icon{width:38px;height:38px;color:var(--text-muted);background:color-mix(in srgb, var(--surface-soft) 72%, transparent);border:1px solid var(--border-subtle);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.notif-icon-unread{color:var(--amethyst)}.notif-content{flex:1;min-width:0}.notif-header{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.notif-title{color:var(--text-primary);font-size:.92rem;font-weight:720}.notif-title-unread{font-weight:850}.notif-time{color:var(--text-muted);flex-shrink:0;font-size:.75rem}.notif-body{color:var(--text-secondary);margin-top:2px;font-size:.85rem}.notif-delete{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;display:inline-flex}.notif-empty{padding:var(--space-xl);text-align:center;color:var(--text-muted);background:var(--surface-paper);border:1px dashed var(--border-subtle);box-shadow:var(--shadow-soft);border-radius:14px}.notif-empty-icon{margin-bottom:var(--space-sm);opacity:.4}.notif-group-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-sm) 0;margin-top:var(--space-sm);font-size:.75rem;font-weight:600}.notif-group-header:first-child{margin-top:0}[data-theme=light] .notif-item,[data-theme=light] .notif-empty{background:var(--surface-paper);border-color:var(--border-subtle)}.notif-panel-backdrop{z-index:100;background:#0000004d;position:fixed;inset:0}.notif-panel{background:var(--void-deep);border-left:1px solid var(--border-subtle);z-index:101;width:380px;max-width:100vw;padding:var(--space-lg);gap:var(--space-sm);animation:notifSlideIn .25s var(--ease-out-expo);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}@keyframes notifSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.notif-panel-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.notif-panel-title{flex:1;font-size:1.1rem;font-weight:600}[data-theme=light] .notif-panel{background:var(--void);border-color:var(--border-subtle)}.tasks-layout{gap:var(--space-md);display:grid}.tasks-toolbar{align-items:center;gap:var(--space-md);padding:0 var(--space-md);flex-wrap:wrap;display:flex}.tasks-refine-controls{align-items:center;gap:var(--space-xs);flex-wrap:wrap;width:100%;display:flex}.tasks-refine-input{flex:150px;min-width:150px;padding:9px 10px;font-size:.8rem}.tasks-filter-tabs{background:var(--surface-soft);border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-wrap:wrap;gap:4px;padding:4px;display:flex}.tasks-filter-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;min-height:38px;padding:8px 14px;font-family:inherit;font-size:.82rem;font-weight:650;transition:all .2s}.tasks-filter-btn.active{background:var(--surface-paper);color:var(--text-primary);box-shadow:var(--shadow-sm)}.tasks-count{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:.78rem}.quick-add-bar{gap:var(--space-sm);padding:var(--space-md);align-items:center;display:flex}.shopping-item-suggest-field{flex:1;min-width:0;position:relative}.shopping-item-suggest-field .quick-add-input{width:100%}.shopping-item-suggestions{z-index:30;background:var(--void-surface);border:1px solid var(--glass-border-strong,var(--glass-border));border-radius:var(--radius-sm);max-height:min(240px,45vh);box-shadow:var(--shadow-lg);opacity:1;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.shopping-item-suggestion{border-radius:calc(var(--radius-sm) - 4px);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:12px 14px}.shopping-item-suggestion:hover,.shopping-item-suggestion.active{background:var(--void-hover)}.shopping-item-suggestion:focus-visible{background:var(--void-hover);outline:2px solid var(--amethyst);outline-offset:-2px}.quick-add-input{border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);background:#ffffff0a;flex:1;min-height:44px;padding:14px 16px;font-family:inherit;font-size:.95rem;transition:all .2s}.quick-add-input::placeholder{color:var(--text-muted)}.quick-add-input:focus-visible{border-color:var(--amethyst);box-shadow:0 0 0 3px var(--amethyst-glow);outline:2px solid var(--amethyst);outline-offset:2px}.quick-add-btn{background:var(--grad-primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex}.quick-add-btn:hover{box-shadow:0 4px 16px -4px var(--amethyst-glow);transform:translateY(-1px)}.tasks-list{gap:var(--space-sm);padding:0 var(--space-md) var(--space-md);margin-top:var(--space-md);display:grid}.task-card{border:1px solid var(--glass-border);transition:all .25s var(--ease-out-expo);background:#ffffff05;border-radius:14px;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.task-card:hover{border-color:var(--glass-border);background:#ffffff0a}.task-card.overdue{border-left:3px solid var(--danger)}.task-checkbox{border:2px solid var(--glass-border);cursor:pointer;width:32px;height:32px;transition:all .25s var(--ease-spring);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.task-checkbox:hover{border-color:var(--amethyst);transform:scale(1.1)}.task-checkbox.checked{background:var(--amethyst);border-color:var(--amethyst)}.task-content{flex:1;min-width:0}.task-title-row{align-items:center;gap:8px;display:flex}.task-title{font-size:.95rem;font-weight:500}.task-title.done{color:var(--text-muted);text-decoration:line-through}.task-description{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin-top:4px;font-size:.82rem}.task-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.task-badge{border-radius:var(--radius-pill);font-size:.72rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.02em;padding:3px 10px}.badge-high{color:#f87171;background:#ef44441f;border:1px solid #ef444433}.badge-normal{color:#a78bfa;background:#7c3aed1a;border:1px solid #7c3aed33}.badge-low{color:#60a5fa;background:#3b82f61a;border:1px solid #3b82f633}.badge-overdue{color:#fca5a5;background:#ef444426;border:1px solid #ef444440}.badge-recurring{color:#22d3ee;background:#06b6d41a;border:1px solid #06b6d433}.task-due{font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:4px;font-size:.72rem;display:flex}.task-due.overdue{color:var(--danger)}.task-assignee{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;font-size:.65rem;font-weight:600;display:flex}.tasks-wrapper{background:var(--void-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.task-form-fields{padding:0 var(--space-md) var(--space-sm);gap:var(--space-sm);display:grid}.task-form-desc{resize:vertical;min-height:60px;padding:10px 14px;font-size:.88rem}.task-form-grid{gap:var(--space-sm);grid-template-columns:repeat(4,1fr);display:grid}.task-form-input{padding:10px 12px;font-size:.82rem}.task-delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;transition:all .2s;display:flex}.task-delete-btn:hover{color:var(--danger);background:#ef44441a}.task-edit-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;transition:all .2s;display:flex}.task-edit-btn:hover{color:var(--text-primary);background:#ffffff0f}.tasks-empty{color:var(--text-muted);padding:0 var(--space-md);align-items:center;gap:var(--space-sm);font-size:.88rem;display:flex}.task-form-toggle{align-items:center;gap:var(--space-xs);color:var(--text-muted);cursor:pointer;padding:4px var(--space-md) var(--space-sm);background:0 0;border:none;font-family:inherit;font-size:.78rem;transition:color .2s;display:flex}.task-form-toggle:hover{color:var(--text-primary)}.task-form-toggle-open{transition:transform .2s;transform:rotate(180deg)}[data-theme=light] .tasks-wrapper{background:var(--void-surface);border-color:#0000000f}.shopping-layout{gap:var(--space-md);grid-template-columns:260px minmax(240px,320px) 1fr;align-items:start;display:grid}.shopping-layout-readonly{grid-template-columns:260px 1fr}.shopping-lists-panel{gap:var(--space-sm);flex-direction:column;display:flex}.shopping-templates-panel{background:var(--void-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-md);gap:var(--space-md);flex-direction:column;min-width:0;display:flex}.shopping-templates-header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.shopping-templates-actions{justify-content:flex-end;align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.shopping-template-toggle{min-height:44px}.shopping-templates-header h2{margin:0;font-size:.9rem;font-weight:600}.shopping-template-list{gap:var(--space-sm);flex-direction:column;display:flex}.shopping-template-card{border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-sm);gap:var(--space-sm);background:#ffffff08;flex-direction:column;display:flex}.shopping-template-card-header{justify-content:space-between;gap:var(--space-sm);align-items:flex-start;display:flex}.shopping-template-title{margin:0;font-size:.9rem;font-weight:600}.shopping-template-count{font-family:var(--font-mono);color:var(--text-muted);margin-top:2px;font-size:.72rem}.shopping-template-card-actions{gap:2px;display:flex}.shopping-template-items{gap:6px;display:grid}.shopping-template-item{align-items:center;gap:var(--space-xs);flex-wrap:wrap;font-size:.82rem;display:flex}.shopping-template-item-name{font-weight:500}.shopping-category-pill{color:var(--text-secondary);border:1px solid var(--glass-border);border-radius:999px;padding:2px 8px;font-size:.72rem}.shopping-template-apply{justify-content:center}.shopping-template-form{gap:var(--space-sm);flex-direction:column;display:flex}.shopping-template-items-editor{gap:var(--space-xs);flex-direction:column;display:flex}.shopping-template-item-row{gap:var(--space-xs);grid-template-columns:1fr .8fr .8fr auto;align-items:center;display:grid}.shopping-template-item-row .form-input{min-width:0;padding:9px 10px;font-size:.82rem}.shopping-template-remove-item{min-width:36px;min-height:36px;padding:6px}.shopping-template-form-actions{gap:var(--space-xs);flex-wrap:wrap;justify-content:flex-end;display:flex}.shopping-lists-panel.mobile{padding-bottom:var(--space-sm);flex-direction:row;overflow-x:auto}.shopping-lists-panel.mobile .shopping-list-card{flex-shrink:0;min-width:140px}.shopping-list-card{cursor:pointer;align-items:center;gap:var(--space-sm);background:var(--surface-paper);border:1px solid var(--glass-border);border-radius:14px;padding:14px 16px;transition:all .2s;display:flex;position:relative}.shopping-list-card.active{background:color-mix(in srgb, var(--amethyst) 8%, var(--surface-paper));border-color:#8b5e9f6b;box-shadow:inset 0 0 0 1px #8b5e9f1f}.shopping-list-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.9rem;font-weight:500;overflow:hidden}.shopping-list-meta{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;font-size:.72rem}.shopping-list-delete{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;transition:all .2s;display:inline-flex}.shopping-list-card:hover .shopping-list-delete,.shopping-list-card.active .shopping-list-delete{opacity:1}.shopping-list-delete:hover{color:var(--danger);background:#ef44441a}.shopping-new-list-form{gap:var(--space-sm);flex-direction:column;display:flex}.shopping-add-list-btn{align-items:center;gap:var(--space-sm);border:1px dashed var(--glass-border);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;background:0 0;padding:10px 14px;font-family:inherit;font-size:.85rem;transition:all .2s;display:flex}.shopping-add-list-btn:hover{border-color:var(--amethyst);color:var(--amethyst);background:#7c3aed0d}.shopping-items-panel{min-width:0}.shopping-spec-input,.shopping-category-input{flex:0 180px!important}.shopping-items-list{gap:var(--space-xs);padding-bottom:var(--space-sm);display:grid}.shopping-category-group{gap:0;display:grid}.shopping-category-header{background:var(--surface-soft);width:100%;color:var(--text-secondary);align-items:center;gap:var(--space-xs);padding:9px var(--space-md);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:0;font-family:inherit;font-size:.76rem;font-weight:700;display:flex}.shopping-category-header:hover{color:var(--text-primary);background:#ffffff0d}.shopping-category-count{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto}.shopping-category-items{gap:0;display:grid}.shopping-item{padding:4px var(--space-md);cursor:pointer;align-items:center;gap:14px;min-height:58px;transition:background .15s,opacity .15s;display:flex;position:relative}.shopping-item:hover{background:#ffffff08}.shopping-item.checked{opacity:.58;background:#7882b409}.shopping-item.checked .shopping-item-name{color:var(--text-muted);text-decoration:line-through;transition:all .2s}.shopping-item-info{align-items:baseline;gap:var(--space-sm);flex:1;min-width:0;display:flex}.shopping-item-name{font-size:.95rem;font-weight:500}.shopping-spec{color:var(--text-muted);font-size:.82rem;font-family:var(--font-mono)}.shopping-check{border:2px solid var(--glass-border);width:34px;height:34px;transition:all .25s var(--ease-spring);background:var(--surface-paper);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.shopping-check:hover{border-color:var(--amethyst);transform:scale(1.1)}.shopping-check.done{background:var(--amethyst);border-color:var(--amethyst);animation:checkBounce .3s var(--ease-spring)}@keyframes checkBounce{0%{transform:scale(.8)}50%{transform:scale(1.15)}to{transform:scale(1)}}.shopping-added-by{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.6rem;font-weight:600;display:flex}.shopping-item-delete{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;transition:all .2s;display:inline-flex}.shopping-item:hover .shopping-item-delete{opacity:1}.shopping-item-delete:hover{color:var(--danger);background:#ef44441a}.shopping-divider{align-items:center;gap:var(--space-sm);padding:var(--space-md);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600;display:flex}.shopping-divider:before,.shopping-divider:after{content:"";background:var(--glass-border);flex:1;height:1px}.shopping-items-wrapper{background:var(--void-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.shopping-empty{color:var(--text-muted);padding:var(--space-md);align-items:center;gap:var(--space-sm);font-size:.88rem;display:flex}.shopping-clear-wrapper{padding:0 var(--space-md) var(--space-md)}.shopping-clear-btn{justify-content:center;width:100%}.shopping-no-lists{padding:var(--space-xl);text-align:center;color:var(--text-muted);background:var(--void-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.shopping-no-lists-icon{color:var(--text-muted);margin-bottom:var(--space-md)}.shopping-new-list-input{padding:10px 14px;font-size:.88rem}.shopping-new-list-actions{gap:var(--space-xs);display:flex}.shopping-list-progress{border-radius:0 0 var(--radius-md) var(--radius-md);background:#ffffff0a;height:3px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.shopping-list-progress-fill{background:var(--amethyst);border-radius:0 0 var(--radius-md) var(--radius-md);height:100%;transition:width .3s var(--ease-out-expo)}[data-theme=light] .shopping-list-card{background:var(--void-surface);border-color:#0000000f}[data-theme=light] .shopping-list-card:hover{background:#ffffffb3}[data-theme=light] .shopping-item:hover{background:#00000005}[data-theme=light] .shopping-check{border-color:#00000026}[data-theme=light] .shopping-check:hover{border-color:var(--amethyst)}[data-theme=light] .shopping-add-list-btn:hover{background:#7c3aed0f}[data-theme=light] .shopping-list-progress{background:#0000000a}[data-theme=light] .shopping-items-wrapper,[data-theme=light] .shopping-no-lists{background:var(--void-surface);border-color:#0000000f}.contacts-page{gap:12px;width:min(100%,1040px);margin:0 auto;display:grid}.contacts-header{margin-bottom:0}.contacts-title-block{align-items:center;gap:13px;min-width:0;display:flex}.contacts-page-icon{background:color-mix(in srgb, var(--accent-rose) 11%, var(--surface-paper));width:44px;height:44px;color:color-mix(in srgb, var(--accent-rose) 74%, var(--text-primary));border:1px solid var(--border-subtle);border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.contacts-add-btn{font-size:.85rem}.contacts-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:10px;display:grid}.contacts-section-letter{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;grid-column:1/-1;padding:8px 2px 0;font-size:.74rem;font-weight:780}.contact-card{background:var(--surface-paper);border:1px solid var(--border-subtle);min-height:76px;box-shadow:var(--shadow-soft);border-radius:14px;align-items:center;gap:12px;padding:12px;transition:background .18s,border-color .18s,transform .18s;display:flex}.contact-card:hover{border-color:color-mix(in srgb, var(--amethyst) 18%, var(--border-subtle));background:color-mix(in srgb, var(--surface-soft) 40%, var(--surface-paper));transform:translateY(-1px)}.contact-avatar{color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.1rem;font-weight:600;display:flex}.contact-info{flex:1;min-width:0}.contact-name{color:var(--text-primary);font-size:.95rem;font-weight:780}.contact-detail{color:var(--text-secondary);margin-top:2px;font-size:.82rem}.contact-birthday{color:var(--text-muted);align-items:center;gap:4px;margin-top:4px;font-size:.75rem;display:flex}.contact-card-clickable{cursor:pointer}.contact-card-clickable:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.contacts-tab-toggle{background:color-mix(in srgb, var(--surface-soft) 70%, transparent);border:1px solid var(--border-subtle);scrollbar-width:none;border-radius:13px;gap:4px;width:fit-content;max-width:100%;margin-bottom:0;padding:4px;display:inline-flex;overflow-x:auto}.contacts-tab-toggle::-webkit-scrollbar{display:none}.contacts-tab-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;min-height:38px;padding:7px 14px;font-family:inherit;font-size:.82rem;font-weight:800;transition:all .2s;display:flex}.contacts-tab-btn:hover{color:var(--text-primary)}.contacts-tab-btn.active{background:var(--surface-paper);color:var(--text-primary);border-color:var(--border-subtle);box-shadow:var(--shadow-soft)}.contact-modal-overlay{z-index:1000;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.contact-modal-panel{padding:var(--space-xl);background:var(--void-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:90%;max-width:440px}.modal-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.modal-title{margin:0;font-size:1.1rem;font-weight:600}.modal-close{min-height:auto;padding:6px}.modal-form{gap:var(--space-md);flex-direction:column;display:flex}.modal-actions{gap:var(--space-sm);margin-top:var(--space-sm);justify-content:flex-end;display:flex}.modal-date-row{gap:var(--space-sm);display:flex}.modal-date-row .form-input{flex:1}.modal-delete-confirm{gap:var(--space-xs);margin-right:auto;display:flex}.modal-delete-danger{color:var(--danger);border-color:var(--danger)}.modal-delete-trigger{margin-right:auto}.contact-delete-btn{color:var(--text-muted)}.contact-delete-btn:hover{color:var(--danger);border-color:var(--danger)}.birthdays-grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:10px;display:grid}.birthdays-section-month{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;grid-column:1/-1;padding:8px 2px 0;font-size:.78rem;font-weight:780}.birthday-card{background:var(--surface-paper);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);border-radius:14px;align-items:center;gap:12px;padding:12px;transition:background .18s,border-color .18s,transform .18s;display:flex}.birthday-card:hover{border-color:color-mix(in srgb, var(--accent-rose) 18%, var(--border-subtle));background:color-mix(in srgb, var(--surface-soft) 40%, var(--surface-paper));transform:translateY(-1px)}.birthday-card .birthday-avatar{color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.1rem;font-weight:600;display:flex}.birthday-card .birthday-info{flex:1;min-width:0}.birthday-card .birthday-name{color:var(--text-primary);font-size:.95rem;font-weight:780}.birthday-age{color:var(--text-muted);margin-left:4px;font-size:.85rem;font-weight:400}.birthday-member-tag{color:var(--amethyst);text-transform:lowercase;letter-spacing:.02em;margin-left:4px;font-size:.75rem;font-weight:500}.birthday-card-member{cursor:default}.contacts-empty-hint{margin-top:var(--space-md);color:var(--text-muted);max-width:440px;font-size:.82rem;line-height:1.5}.birthday-card .birthday-date{color:var(--text-secondary);margin-top:2px;font-size:.82rem}.birthday-card-clickable{cursor:pointer}.birthday-card-clickable:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.birthday-countdown{color:var(--text-muted);white-space:nowrap;border-radius:var(--radius-sm);background:#7c3aed14;padding:4px 10px;font-size:.75rem}.birthday-today{color:var(--success);background:#10b9811a;font-weight:600}.contacts-empty{padding:var(--space-xl);text-align:center;color:var(--text-muted);background:var(--surface-paper);border:1px dashed var(--border-subtle);box-shadow:var(--shadow-soft);border-radius:14px;grid-column:1/-1}.contacts-empty-text{font-size:.95rem}.contacts-empty-actions{gap:var(--space-sm);margin-top:var(--space-md);justify-content:center;display:flex}.settings-page{gap:12px;width:min(100%,1120px);margin:0 auto;display:grid}.settings-page-header{margin-bottom:0}.settings-title-block{align-items:center;gap:13px;min-width:0;display:flex}.settings-page-icon{background:color-mix(in srgb, var(--amethyst) 10%, var(--surface-paper));width:44px;height:44px;color:color-mix(in srgb, var(--amethyst) 72%, var(--text-primary));border:1px solid var(--border-subtle);border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.settings-layout{grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:12px;min-width:0;max-width:min(1040px,100%);display:grid}.settings-sidebar{top:var(--space-md);flex-direction:column;align-self:start;gap:2px;min-width:0;display:flex;position:sticky}.settings-sidebar-group{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:12px 12px 4px;font-size:.68rem;font-weight:600}.settings-sidebar-item{min-height:42px;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:.88rem;font-weight:700;transition:all .15s;display:flex}.settings-sidebar-item:hover{background:color-mix(in srgb, var(--surface-soft) 60%, transparent);color:var(--text-primary);border-color:var(--border-subtle)}.settings-sidebar-item.active{background:var(--surface-paper);border-color:var(--border-subtle);color:var(--text-primary);box-shadow:var(--shadow-soft);font-weight:820}.settings-content{min-width:0}.settings-mobile-list{gap:8px;display:grid}.settings-mobile-item{border:1px solid var(--border-subtle);background:var(--surface-paper);min-height:54px;color:var(--text-primary);cursor:pointer;text-align:left;width:100%;box-shadow:var(--shadow-soft);border-radius:13px;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;font-size:.95rem;font-weight:760;transition:all .15s;display:flex}.settings-mobile-item:hover{background:color-mix(in srgb, var(--surface-soft) 50%, var(--surface-paper))}.settings-mobile-item svg:last-child{color:var(--text-muted);margin-left:auto}.settings-mobile-back{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;margin-bottom:var(--space-md);background:0 0;border:none;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;font-size:.85rem;font-weight:500;display:inline-flex}.settings-mobile-back:hover{color:var(--text-primary)}@media (max-width:768px){.settings-layout{grid-template-columns:1fr}.settings-sidebar{display:none}}.admin-page{gap:12px;width:min(100%,1120px);margin:0 auto;display:grid}.admin-page-header{margin-bottom:0}.admin-title-block{align-items:center;gap:13px;min-width:0;display:flex}.admin-page-icon{background:color-mix(in srgb, var(--accent-amber) 12%, var(--surface-paper));width:44px;height:44px;color:color-mix(in srgb, var(--accent-amber) 78%, var(--text-primary));border:1px solid var(--border-subtle);border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.admin-layout{max-width:1040px}.admin-sidebar{gap:4px}.admin-content{min-width:0}@media (max-width:768px){.admin-layout{gap:var(--space-md)}.admin-sidebar{flex-flow:wrap;gap:6px;display:flex;position:static}.admin-sidebar .settings-sidebar-item{width:auto}}.settings-grid{gap:10px;min-width:0;max-width:min(760px,100%);display:grid}.settings-section{border-radius:14px;min-width:0;max-width:100%;padding:14px}.settings-section:not(.glass):not(.glass-sm){background:var(--surface-paper);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft)}.settings-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-md);align-items:center;gap:8px;font-size:.78rem;font-weight:600;display:flex}.settings-divider{background:var(--border-subtle);height:1px;margin:var(--space-sm) 0}.settings-mobile-group{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:12px 16px 4px;font-size:.68rem;font-weight:600}.settings-subsection{background:color-mix(in srgb, var(--surface-soft) 52%, var(--surface-paper));border:1px solid var(--border-subtle);padding:var(--space-md);border-radius:12px}[data-theme=light] .settings-section:not(.glass):not(.glass-sm){background:var(--surface-paper);border-color:var(--border-subtle)}[data-theme=light] .settings-subsection{background:color-mix(in srgb, var(--surface-soft) 52%, var(--surface-paper));border-color:var(--border-subtle)}.profile-row{align-items:center;gap:var(--space-md);display:flex}.profile-avatar{background:var(--grad-primary);color:#fff;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.3rem;font-weight:700;display:flex}.profile-info{flex:1}.profile-name{font-size:1.05rem;font-weight:600}.profile-email{color:var(--text-secondary);font-size:.82rem}.profile-role{border-radius:var(--radius-pill);color:var(--amethyst);font-size:.72rem;font-weight:500;font-family:var(--font-mono);background:#7c3aed1a;margin-top:4px;padding:3px 10px;display:inline-block}.theme-grid{gap:var(--space-sm);display:grid}.theme-item{align-items:center;gap:var(--space-md);border-radius:var(--radius-md);cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:2px solid #0000;padding:14px;transition:all .2s;display:flex}.theme-item.active{border-color:var(--amethyst);background:#7c3aed14}.theme-item-inactive{border-color:var(--glass-border);background:#ffffff05}.theme-item-inactive:hover{background:#ffffff0a;border-color:#7882b433}.theme-preview{border:1px solid var(--glass-border);border-radius:6px;flex-shrink:0;width:40px;height:28px}.theme-item-info{flex:1;gap:2px;min-width:0;display:grid}.theme-item-name{overflow-wrap:anywhere;font-size:.9rem;font-weight:500;display:block}.theme-item-desc{color:var(--text-muted);overflow-wrap:anywhere;font-size:.75rem;display:block}.lang-toggle{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr));min-width:0;max-width:100%;display:grid}.lang-btn{border-radius:var(--radius-sm);border:1px solid var(--glass-border);width:100%;min-width:0;min-height:40px;color:var(--text-secondary);cursor:pointer;white-space:normal;overflow-wrap:anywhere;background:0 0;padding:8px 12px;font-family:inherit;font-size:.84rem;font-weight:500;line-height:1.2;transition:all .2s}.lang-btn.active{background:var(--amethyst);color:#fff;border-color:var(--amethyst)}.token-display{font-family:var(--font-mono);border-radius:var(--radius-sm);word-break:break-all;background:#0003;flex:1;padding:8px 12px;font-size:.78rem;display:block}.adm-avatar-label{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.adm-avatar-input{display:none}.profile-avatar-img{object-fit:cover}.set-field-group{margin-top:var(--space-md)}.set-label{color:var(--text-secondary);margin-bottom:var(--space-sm);font-size:.82rem;display:block}.set-file-input{font-size:.88rem}.set-input-narrow{max-width:200px}.set-color-grid{flex-wrap:wrap;gap:8px;display:flex}.set-color-swatch{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:relative}.set-color-taken-label{color:#fff;font-size:.65rem;font-weight:700}.set-section-desc{color:var(--text-secondary);margin:var(--space-sm) 0 var(--space-md);font-size:.82rem;line-height:1.5}.set-field-hint{color:var(--text-muted);margin-top:4px;font-size:.75rem;display:block}.set-password-form{gap:var(--space-md);max-width:420px;display:grid}.set-password-form .btn-primary{justify-self:start}.set-password-error{color:var(--danger);border-radius:var(--radius-sm);background:#ef44441a;border:1px solid #ef444440;padding:8px 10px;font-size:.82rem}.set-danger-section{border-color:var(--error,#ef4444)}.set-danger-title{color:var(--error,#ef4444)}.set-danger-block{margin-bottom:var(--space-lg)}.set-danger-heading{font-size:.88rem;font-weight:600}.set-danger-desc{color:var(--text-secondary);margin-bottom:var(--space-sm);font-size:.82rem}.set-danger-confirm{color:var(--error,#ef4444);margin-bottom:var(--space-sm);font-size:.85rem}.set-btn-row{gap:var(--space-sm);display:flex}.btn-outline-danger{color:var(--error,#ef4444);border-color:var(--error,#ef4444)}.set-delete-input{margin-bottom:var(--space-sm);max-width:200px}.set-notif-grid{gap:var(--space-md);display:grid}.set-checkbox-label{cursor:pointer;align-items:center;gap:8px;font-size:.88rem;display:flex}.set-input-time{max-width:140px}.set-time-row{gap:var(--space-sm);align-items:center;display:flex}.set-separator{color:var(--text-muted)}.set-save-btn{justify-self:start}.set-push-section{border-top:1px solid var(--glass-border);padding-top:var(--space-md);margin-top:var(--space-sm)}.set-push-header{margin-bottom:var(--space-sm);align-items:center;gap:8px;display:flex}.set-push-title{font-size:.88rem;font-weight:600}.set-push-status{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.set-push-enabled{color:var(--success);font-size:.85rem}.set-push-disable{font-size:.82rem}.set-push-blocked{color:var(--warning);margin-top:var(--space-sm);font-size:.78rem}.set-push-diagnostic{border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-sm);margin-bottom:var(--space-sm);background:var(--glass-bg)}.set-push-diagnostic strong{margin-bottom:2px;font-size:.86rem;display:block}.set-push-diagnostic p{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.45}.set-push-diagnostic-warning{border-color:color-mix(in srgb, var(--warning) 38%, var(--glass-border))}.set-push-diagnostic-success{border-color:color-mix(in srgb, var(--success) 38%, var(--glass-border))}.set-push-category-section{gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-md);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--void-surface) 70%, transparent);display:grid}.set-push-category-title{font-size:.9rem;font-weight:700}.set-push-category-help{color:var(--text-muted);margin:-2px 0 2px;font-size:.8rem;line-height:1.5}.set-push-category-groups{gap:var(--space-md);display:grid}.set-push-category-group{gap:8px;display:grid}.set-push-category-group-title{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.74rem;font-weight:700}.set-push-category-list{gap:8px;display:grid}.set-push-category-row{justify-content:space-between;align-items:center;gap:var(--space-md);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);cursor:pointer;min-height:52px;padding:10px 12px;transition:border-color .15s,background .15s,transform .15s;display:flex}.set-push-category-row:hover{border-color:color-mix(in srgb, var(--amethyst) 42%, var(--glass-border));background:color-mix(in srgb, var(--amethyst) 8%, var(--glass-bg))}.set-push-category-row:focus-within{outline:2px solid color-mix(in srgb, var(--amethyst) 72%, transparent);outline-offset:2px}.set-push-category-copy{gap:3px;min-width:0;display:grid}.set-push-category-copy strong{font-size:.86rem;line-height:1.25}.set-push-category-copy small{color:var(--text-muted);font-size:.76rem;line-height:1.4}.set-push-category-control{flex:none;width:18px;height:18px;margin:0}@media (max-width:520px){.set-push-category-section{padding:var(--space-sm)}.set-push-category-row{align-items:flex-start;gap:var(--space-sm);min-height:56px;padding:12px}.set-push-category-control{margin-top:2px}}.set-nav-desc{color:var(--text-secondary);margin-bottom:var(--space-md);font-size:.85rem;line-height:1.5}.set-nav-list{gap:2px;display:grid}.set-nav-item{border-radius:var(--radius-sm);align-items:center;gap:12px;padding:8px 12px;transition:all .15s;display:flex}.set-nav-item-icon{color:var(--text-muted);flex-shrink:0}.set-nav-item-label{flex:1;font-size:.9rem;font-weight:500}.set-nav-item-badge{color:var(--text-muted);font-size:.68rem;font-family:var(--font-mono);flex-shrink:0}.set-nav-btn{background:0 0;border:none;min-height:32px;padding:4px 6px}.set-nav-actions{gap:var(--space-sm);margin-top:var(--space-md);display:flex}.set-about-desc{color:var(--text-secondary);font-size:.88rem;line-height:1.6}.set-about-desc-mb{color:var(--text-secondary);margin-bottom:var(--space-md);font-size:.88rem;line-height:1.6}.set-about-version{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--glass-border);color:var(--text-secondary);font-size:.82rem}.set-about-uptodate{margin-left:var(--space-sm);color:var(--amethyst)}.set-about-update{margin-left:var(--space-sm)}.set-about-link{color:var(--amethyst)}.set-about-support-links{gap:var(--space-sm);flex-wrap:wrap;display:flex}.set-about-support-btn{align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.bottom-nav{bottom:max(12px, env(safe-area-inset-bottom));z-index:50;-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);background:#161b2bf0;border-radius:18px;padding:7px 10px;display:none;position:fixed;left:12px;right:12px}.bottom-nav-inner{grid-template-columns:repeat(auto-fit,minmax(0,1fr));align-items:center;display:grid}.bottom-nav-item{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:44px;min-height:44px;padding:8px 4px;font-family:inherit;font-size:.65rem;font-weight:600;transition:background .18s,border-color .18s,color .18s;display:flex;position:relative;overflow:hidden}.bottom-nav-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav-item:hover{background:var(--surface-soft);color:var(--text-primary)}.bottom-nav-item.active{color:var(--text-primary);background:#8b5e9f24;border-color:#8b5e9f3d}.bottom-nav-item.active:before{content:"";background:var(--amethyst);border-radius:var(--radius-pill);width:18px;height:3px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.bottom-nav-badge{background:var(--danger);color:#fff;min-width:16px;height:16px;font-size:.6rem;font-weight:700;font-family:var(--font-mono);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;line-height:1;display:flex;position:absolute;top:2px;right:50%;transform:translate(calc(50% + 12px))}.mobile-header{padding:var(--space-md);padding-top:calc(var(--space-md) + env(safe-area-inset-top));background:color-mix(in srgb, var(--void) 86%, transparent);justify-content:space-between;align-items:center;display:none}.mobile-header-user{align-items:center;gap:10px;display:flex}.mobile-header-actions{align-items:center;gap:8px;display:flex}.mobile-header-avatar{background:var(--grad-primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.82rem;font-weight:600;display:flex}.mobile-header-text h3{margin:0;font-size:.95rem;font-weight:600}.mobile-header-text span{color:var(--text-muted);font-size:.72rem}@keyframes pulse-glow{0%,to{box-shadow:0 0 #7c3aed4d}50%{box-shadow:0 0 0 6px #7c3aed00}}.pulse{animation:2.5s ease-in-out infinite pulse-glow}.stagger>*{animation:staggerIn .5s var(--ease-out-expo) both}.stagger>:first-child{animation-delay:50ms}.stagger>:nth-child(2){animation-delay:.1s}.stagger>:nth-child(3){animation-delay:.15s}.stagger>:nth-child(4){animation-delay:.2s}.stagger>:nth-child(5){animation-delay:.25s}.stagger>:nth-child(6){animation-delay:.3s}.stagger>:nth-child(7){animation-delay:.35s}.stagger>:nth-child(8){animation-delay:.4s}@keyframes staggerIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--void-surface) 25%, var(--void-elevated) 50%, var(--void-surface) 75%);border-radius:var(--radius-md);background-size:800px 100%;animation:1.8s ease-in-out infinite shimmer}.skeleton-text{border-radius:6px;height:14px;margin-bottom:8px}.skeleton-text.lg{width:60%;height:20px}.skeleton-text.sm{width:40%;height:12px}.skeleton-avatar{border-radius:14px;flex-shrink:0;width:48px;height:48px}.skeleton-card{min-height:120px}.loading-spinner{border:3px solid var(--glass-border);border-top-color:var(--amethyst);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{justify-content:center;align-items:center;min-height:200px;display:flex}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--void-elevated);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--void-hover)}.sidebar-toggle:focus-visible,.sidebar-logout:focus-visible,.sidebar-action-btn:focus-visible,.calendar-nav-btn:focus-visible,.today-btn:focus-visible,.calendar-view-btn:focus-visible,.tasks-filter-btn:focus-visible,.shopping-add-list-btn:focus-visible,.auth-tab:focus-visible,.btn-demo:focus-visible,.btn-primary:focus-visible,.btn-ghost:focus-visible,.btn-sm:focus-visible,.nav-item:focus-visible,.bottom-nav-item:focus-visible,.sidebar-profile-button:focus-visible,.family-switcher:focus-visible,.family-switcher-option:focus-visible,.dashboard-icon-action:focus-visible,.lang-btn:focus-visible,.bento-more:focus-visible,.task-checkbox:focus-visible,.task-delete-btn:focus-visible,.task-edit-btn:focus-visible,.task-form-toggle:focus-visible,.shopping-check:focus-visible,.mobile-hamburger:focus-visible,.shopping-list-card:focus-visible,.shopping-item:focus-visible,.shopping-template-toggle:focus-visible,.shopping-list-delete:focus-visible,.shopping-item-delete:focus-visible,.theme-item:focus-visible,.quick-add-btn:focus-visible,.week-day-header:focus-visible,.calendar-day:focus-visible:not(.empty){outline:2px solid var(--amethyst);outline-offset:2px}.bottom-nav-overflow{-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);min-width:180px;box-shadow:var(--shadow-lg);padding:var(--space-sm);z-index:51;animation:fadeSlideUp .2s var(--ease-out-expo) both;background:#161b2bf5;border-radius:12px;position:absolute;bottom:calc(100% + 8px);right:12px}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bottom-nav-overflow-item{width:100%;min-height:44px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:10px 14px;font-family:inherit;font-size:.88rem;font-weight:500;transition:all .15s;display:flex}.bottom-nav-overflow-item:hover{color:var(--text-primary);background:#ffffff0f}.bottom-nav-overflow-item.active{color:var(--text-primary);box-shadow:inset 3px 0 0 var(--amethyst);background:#8b5e9f24}.bottom-nav-overflow-item:focus-visible{border-color:var(--amethyst);box-shadow:0 0 0 3px var(--amethyst-glow);outline:none}:root[data-display-mode=standalone] .view-enter{animation:none!important}:root[data-display-mode=standalone] .glass,:root[data-display-mode=standalone] .glass-sm,:root[data-display-mode=standalone] .sidebar,:root[data-display-mode=standalone] .bottom-nav,:root[data-display-mode=standalone] .search-overlay,:root[data-display-mode=standalone] .bottom-nav-overflow{-webkit-backdrop-filter:none!important}:root[data-display-mode=standalone] .sidebar,:root[data-display-mode=standalone] .bottom-nav,:root[data-display-mode=standalone] .search-overlay,:root[data-display-mode=standalone] .bottom-nav-overflow{background:var(--void-surface)}[data-theme=light] .bottom-nav-overflow{border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);background:#fffaf3f5}:root[data-display-mode=standalone][data-theme=light] .sidebar,:root[data-display-mode=standalone][data-theme=light] .bottom-nav,:root[data-display-mode=standalone][data-theme=light] .search-overlay,:root[data-display-mode=standalone][data-theme=light] .bottom-nav-overflow{background:var(--void-surface)}[data-theme=light] .bottom-nav-overflow-item:hover{color:var(--text-primary);background:#0000000a}[data-theme=light] .bottom-nav-overflow-item.active{color:var(--text-primary);background:#7b568a1f}.audit-entry{align-items:center;gap:var(--space-sm);border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 50%, var(--surface-paper));border-radius:12px;flex-wrap:wrap;padding:10px 12px;font-size:.85rem;display:flex}.audit-entry+.audit-entry{margin-top:8px}.audit-time{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;font-size:.75rem}.audit-action-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--amethyst) 10%, var(--surface-paper));color:color-mix(in srgb, var(--amethyst) 80%, var(--text-primary));font-size:.75rem;font-weight:800;font-family:var(--font-mono);padding:4px 10px}.audit-target{color:var(--text-primary);font-weight:500}.audit-details{font-family:var(--font-mono);color:var(--text-secondary);background:var(--surface-paper);border:1px solid var(--border-subtle);border-radius:8px;padding:4px 8px;font-size:.75rem}.audit-admin{color:var(--text-muted);margin-left:auto;font-size:.75rem}[data-theme=light] .audit-action-badge{background:color-mix(in srgb, var(--amethyst) 10%, var(--surface-paper));color:color-mix(in srgb, var(--amethyst) 80%, var(--text-primary))}[data-theme=light] .audit-details{background:var(--surface-paper)}@media (max-width:1100px){.dashboard-module-shell[data-dashboard-module=quick_capture],.dashboard-module-shell[data-dashboard-module=daily_loop]{grid-column:span 12}.dashboard-module-shell[data-dashboard-module=events],.dashboard-module-shell[data-dashboard-module=tasks],.dashboard-module-shell[data-dashboard-module=birthdays],.dashboard-module-shell[data-dashboard-module=activity],.dashboard-module-shell[data-dashboard-module=rewards]{grid-column:span 6}.calendar-layout{grid-template-columns:1fr}}@media (max-width:768px){.today-command-center{border-radius:var(--radius-lg);gap:10px;padding:6px 0 0}.view-title.today-command-title{letter-spacing:0;font-size:1.08rem;line-height:1.18}.today-command-family-inline{font-weight:700}.today-command-wave{font-size:.9em}.today-command-family{margin-top:4px;font-size:.78rem}.dashboard-header-actions{display:none}.today-command-grid{gap:10px}.today-status-card{border-radius:14px;min-height:0;padding:10px}.today-status-heading{margin-bottom:8px;font-size:.76rem}.today-status-grid{gap:4px}.today-status-item{gap:3px;min-height:64px}.today-status-icon{border-radius:10px;width:30px;height:30px}.today-status-icon svg{width:16px;height:16px}.today-status-value{margin-top:1px;font-size:.98rem}.today-status-label{font-size:.61rem;line-height:1.05}.next-up-card{border-radius:14px;min-height:0;padding:10px}.next-up-card:after{width:92px;height:92px;bottom:-42px;right:-32px}.next-up-eyebrow{margin-bottom:7px;font-size:.76rem}.next-up-content{grid-template-columns:62px minmax(0,1fr);align-items:center;gap:8px 10px;min-height:0}.next-up-time-chip{border-radius:12px;justify-self:start;min-width:58px;min-height:44px;font-size:.82rem}.next-up-details{grid-area:1/2;gap:4px}.next-up-visual{display:none}.next-up-title{font-size:.88rem;line-height:1.16}.next-up-meta{font-size:.74rem}.sidebar{width:260px;min-width:260px;transition:transform .3s var(--ease-out-expo);z-index:60;padding-top:env(safe-area-inset-top);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{background:var(--void-surface);transform:translate(0)}.main-content{width:100%;padding:12px;padding-bottom:calc(112px + env(safe-area-inset-bottom));margin-left:0}.mobile-header{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));display:flex}.mobile-header-avatar{border-radius:10px;width:32px;height:32px}.mobile-header-text h3{font-size:.86rem}.mobile-header-text span{font-size:.68rem}.mobile-header-user{min-width:0}.mobile-header-actions{gap:6px}.mobile-header .icon-btn,.mobile-header .sidebar-action-btn,.mobile-header .sidebar-logout{width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.bottom-nav{display:block}.bento-grid{row-gap:var(--space-md);grid-template-columns:1fr}.dashboard-module-shell[data-dashboard-module=events],.dashboard-module-shell[data-dashboard-module=tasks],.dashboard-module-shell[data-dashboard-module=birthdays],.dashboard-module-shell[data-dashboard-module=activity],.dashboard-module-shell[data-dashboard-module=rewards],.dashboard-module-shell[data-dashboard-module=daily_loop],.dashboard-module-shell[data-dashboard-module=quick_capture],.dashboard-module-shell[data-dashboard-module=setup_checklist]{grid-column:span 1}.dashboard-module-shell[data-dashboard-module=quick_capture]{order:0!important}.bento-card-title{letter-spacing:.07em;font-size:.7rem}.bento-quick-capture{padding:12px}.quick-capture-intro{font-size:.76rem}.quick-capture-input{min-height:40px;max-height:40px;padding:10px;font-size:.84rem}.quick-capture-inbox:not([open]){right:12px}.quick-capture-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.quick-capture-actions .btn-sm{justify-content:center;gap:4px;min-height:38px;padding:7px 5px;font-size:.66rem}.quick-capture-actions .btn-sm svg{width:15px;height:15px}.bento-card-visual{display:none}.bento-card-illustrated .bento-card-header{min-height:0;padding-right:0}.daily-loop-actions{grid-template-columns:1fr;gap:8px}.daily-loop-action{grid-template-rows:1fr;grid-template-columns:auto minmax(0,1fr) auto;min-height:72px;padding:10px}.daily-loop-action-art{border-radius:13px;grid-row:auto;width:42px;height:42px}.daily-loop-action-value{font-size:1.08rem}.daily-loop-action-link{grid-column:auto;font-size:.68rem}.view-header,.tasks-toolbar{flex-direction:column;align-items:flex-start}.tasks-count{margin-left:0}.task-form-grid{grid-template-columns:1fr}.calendar-controls{flex-wrap:wrap}.calendar-view-toggle{margin-left:0}.birthday-list,.contacts-grid{grid-template-columns:1fr}.shopping-layout{gap:var(--space-sm);grid-template-columns:1fr}.shopping-lists-panel{padding-bottom:var(--space-sm);scrollbar-width:none;flex-direction:row;order:1;overflow-x:auto}.shopping-items-panel{order:2}.shopping-templates-panel{padding:var(--space-sm);gap:var(--space-sm);order:3}.shopping-lists-panel::-webkit-scrollbar{display:none}.shopping-lists-panel .shopping-list-card{flex-shrink:0;min-width:140px}.shopping-template-item-row{grid-template-columns:1fr}.shopping-item-delete,.shopping-list-delete{opacity:1}.view-title{font-size:1.3rem}.calendar-month-label{min-width:auto}.quick-add-bar{gap:var(--space-xs);padding:var(--space-sm);grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px;align-items:stretch;display:grid}.quick-add-bar .shopping-item-suggest-field{grid-area:1/1/auto/3;width:100%;min-width:0}.quick-add-bar .quick-add-input:first-of-type{width:100%;min-width:0}.quick-add-bar .shopping-spec-input{grid-area:2/1/auto/2;width:100%;min-width:0;flex:none!important}.quick-add-bar .shopping-category-input{grid-area:2/2/auto/4;width:100%;min-width:0;flex:none!important}.quick-add-btn{grid-area:1/3;width:48px;min-width:48px;min-height:48px}.shopping-items-list{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.shopping-item .shopping-category-pill{display:none}.rewards-page{width:100%;padding-bottom:calc(106px + env(safe-area-inset-bottom));gap:10px}.rewards-page-header{padding:var(--space-md);flex-direction:row;align-items:center}.rewards-grid,.rewards-catalog-management{grid-template-columns:1fr}.rewards-panel-wide{grid-column:auto}.rewards-tabs{width:100%}.rewards-tab{flex:1 0 auto;justify-content:center}.rewards-earn-form{grid-template-columns:minmax(0,1fr) 82px}.rewards-add-form,.rewards-add-reward-form{grid-template-columns:1fr}.rewards-earn-form .rewards-earn-note,.rewards-earn-form .rewards-submit-btn{grid-column:1/-1}.rewards-earn-select,.rewards-earn-amount,.rewards-earn-note,.rewards-add-name,.rewards-add-amount,.rewards-add-icon{width:100%;min-width:0}.rewards-balances,.rewards-catalog-grid{grid-template-columns:1fr}.rewards-row{align-items:center}.rewards-history-row{grid-template-columns:34px minmax(0,1fr) auto;display:grid}.rewards-history-date,.rewards-history-member{min-width:0}.rewards-history-member,.rewards-history-status{grid-column:2/-1}.calendar-day{aspect-ratio:1;min-height:44px}.cal-form-row{grid-template-columns:1fr}.notif-panel{border-left:none;border-top:1px solid var(--glass-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100vw;max-height:80vh;padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom));animation-name:notifSlideUp;top:auto;bottom:0}@keyframes notifSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.setup-steps{justify-content:center;gap:8px;margin-bottom:20px;display:flex}.setup-dot{background:var(--glass-border);border-radius:50%;width:8px;height:8px;transition:all .3s}.setup-dot.active{background:var(--amethyst);box-shadow:0 0 8px var(--amethyst-glow);transform:scale(1.3)}.setup-dot.done{background:var(--success)}.onboarding-feature-card{border-radius:var(--radius-sm);background:var(--glass);border:1px solid var(--glass-border);align-items:center;gap:14px;padding:14px 16px;display:flex}.onboarding-feature-icon{border-radius:var(--radius-sm);background:var(--grad-primary);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.onboarding-color-picker{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.onboarding-color-chip{cursor:pointer;border:3px solid #0000;border-radius:50%;width:36px;height:36px;transition:all .2s;position:relative}.onboarding-color-chip:hover:not(:disabled){transform:scale(1.15)}.onboarding-color-chip.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--void), 0 0 0 4px var(--text-primary)}.onboarding-color-chip.taken{opacity:.3;cursor:not-allowed}.onboarding-avatar-wrapper{cursor:pointer;border-radius:50%;width:80px;height:80px;position:relative;overflow:hidden}.onboarding-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.onboarding-avatar-placeholder{width:100%;height:100%;color:var(--text-secondary);background:var(--glass);border:2px solid var(--glass-border);border-radius:50%;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:flex}.onboarding-avatar-overlay{color:#fff;opacity:0;background:#0006;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.onboarding-avatar-wrapper:hover .onboarding-avatar-overlay,.onboarding-avatar-wrapper:focus-visible .onboarding-avatar-overlay{opacity:1}.onboarding-tour-carousel{border-radius:var(--radius-sm);margin-bottom:4px;overflow:hidden}.onboarding-tour-track{transition:transform .3s;display:flex}.onboarding-tour-slide{text-align:center;min-width:100%;padding:20px 16px}.onboarding-tour-dot{background:var(--glass-border);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:12px;min-width:44px;height:12px;min-height:44px;padding:0;transition:all .2s;display:flex}.onboarding-tour-dot:after{content:"";background:inherit;border-radius:50%;width:8px;height:8px;transition:all .2s}.onboarding-tour-dot.active:after{background:var(--amethyst);transform:scale(1.3)}.setup-upload-zone{border:2px dashed var(--glass-border);border-radius:var(--radius-md);padding:var(--space-xl) var(--space-lg);text-align:center;cursor:pointer;transition:all .2s}.setup-upload-zone:hover,.setup-upload-zone.drag-over{border-color:var(--amethyst);background:#7c3aed0a}.setup-theme-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px;display:grid}.setup-theme-card{border-radius:var(--radius-sm);border:2px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;background:0 0;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;font-family:inherit;font-size:.78rem;transition:all .2s;display:flex}.setup-theme-card.active{border-color:var(--amethyst);color:var(--text-primary)}.setup-theme-card:hover{border-color:var(--amethyst)}.setup-theme-preview{border:1px solid;border-radius:6px;width:100%;height:28px}.setup-lang-toggle{z-index:10;color:var(--text-muted);align-items:center;gap:4px;font-size:.8rem;display:flex;position:fixed;top:16px;right:16px}.setup-lang-toggle select{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.8rem}.btn-secondary{border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;padding:15px;font-family:inherit;font-size:.95rem;font-weight:500;transition:all .2s}.btn-secondary:hover{border-color:var(--amethyst);color:var(--text-primary);background:#7c3aed0f}.btn-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:8px;font-family:inherit;font-size:.85rem;transition:color .2s}.btn-link:hover{color:var(--text-primary)}.toast-container{bottom:var(--space-lg);right:var(--space-lg);z-index:9999;gap:var(--space-sm);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{pointer-events:auto;align-items:center;gap:var(--space-sm);min-width:280px;max-width:420px;padding:var(--space-md);border-radius:var(--radius-sm);background:var(--void-elevated);border:1px solid var(--glass-border);border-left:3px solid var(--info);color:var(--text-primary);animation:toastEnter .35s var(--ease-out-expo) both;font-size:.88rem;display:flex;box-shadow:0 8px 32px #00000040}.toast--success{border-left-color:var(--success)}.toast--error{border-left-color:var(--danger)}.toast--info{border-left-color:var(--info)}.toast--exiting{animation:toastExit .3s var(--ease-out-expo) both}.toast__message{flex:1;line-height:1.4}.toast__action{color:var(--amethyst);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s}.toast__action:hover{background:var(--amethyst-glow)}.toast__dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex}.toast__dismiss:hover{color:var(--text-primary);background:#ffffff0f}@keyframes toastEnter{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastExit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.96)}}[data-theme=light] .toast{background:var(--void-surface);box-shadow:0 4px 20px #0000001a}[data-theme=light] .toast__dismiss:hover{background:#0000000a}@media (max-width:768px){.toast-container{bottom:calc(88px + env(safe-area-inset-bottom));right:var(--space-md);left:var(--space-md)}.toast{min-width:0;max-width:100%}}@media (max-width:640px){.landing-hero{min-height:60vh;padding:72px var(--space-md) var(--space-xl)}.landing-hero h1{font-size:2.5rem}.landing-hero-subtitle{font-size:1rem}.landing-features{max-width:400px;padding:var(--space-xl) var(--space-md);grid-template-columns:1fr}.landing-trust{flex-direction:column;align-items:center}.landing-auth{padding:var(--space-xl) var(--space-md)}}.set-data-section-desc{color:var(--text-secondary);margin-bottom:var(--space-md);font-size:.85rem;line-height:1.5}.set-data-block{margin-bottom:var(--space-lg)}.set-data-sub-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-sm);font-size:.82rem;font-weight:600}.set-data-sub-heading--block{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-sm);font-size:.82rem;font-weight:600;display:block}.set-data-btn-row{gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.set-data-msg{margin-bottom:var(--space-sm);font-size:.88rem}.set-data-warning{margin-bottom:var(--space-sm);color:var(--warning,#f6ad55);font-size:.82rem}.set-data-warning-list{margin:4px 0 0 16px;padding:0}.set-data-form-hint{color:var(--text-muted);font-size:.82rem}.set-data-file-input{padding:10px 12px}.set-data-textarea-ics{min-height:100px}.set-data-textarea-csv{min-height:120px}.set-data-sub-grid{gap:var(--space-md);display:grid}.set-data-flex-row{gap:var(--space-sm);align-items:center;display:flex}.set-data-flex-grow{flex:1}.set-data-no-shrink{flex-shrink:0}.set-data-hints-btn{font-size:.85rem}.set-data-hints-content{margin-top:var(--space-sm);gap:var(--space-md);color:var(--text-secondary);font-size:.85rem;line-height:1.6;display:grid}.set-data-hint-para{margin:4px 0 0}.set-data-hint-para--flush{margin:0}.set-data-muted-info{color:var(--text-muted);margin-bottom:var(--space-sm);font-size:.85rem}.set-token-section-desc{color:var(--text-secondary);margin-bottom:var(--space-md);font-size:.85rem;line-height:1.5}.set-token-banner{border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-md);background:#10b9811a;border:1px solid #10b9814d}.set-token-banner-header{margin-bottom:var(--space-sm);align-items:center;gap:8px;display:flex}.set-token-banner-title{font-size:.88rem;font-weight:600}.set-token-banner-warning{color:var(--warning);margin-bottom:var(--space-sm);font-size:.82rem}.set-token-banner-row{gap:var(--space-sm);align-items:center;display:flex}.set-token-no-shrink{flex-shrink:0}.set-token-dismiss{color:var(--text-muted);cursor:pointer;margin-top:var(--space-sm);background:0 0;border:none;font-size:.78rem}.set-token-empty{color:var(--text-muted);font-size:.85rem;font-style:italic}.set-token-item{margin-bottom:var(--space-sm)}.set-token-item-row{justify-content:space-between;align-items:flex-start;display:flex}.set-token-name{font-size:.92rem;font-weight:600}.set-token-scopes{color:var(--text-muted);margin-top:4px;font-size:.78rem}.set-token-meta{gap:var(--space-md);color:var(--text-muted);margin-top:6px;font-size:.75rem;display:flex}.set-token-revoke{color:var(--danger);flex-shrink:0}.set-token-create-form{margin-top:var(--space-md)}.set-token-form-grid{gap:var(--space-md);display:grid}.set-token-scope-check{cursor:pointer;align-items:center;gap:8px;margin-bottom:8px;font-size:.88rem;display:flex}.set-token-scope-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;display:grid}.set-token-scope-module{font-size:.82rem}.set-token-scope-label{color:var(--text-secondary);margin-bottom:4px;font-weight:500}.set-token-scope-action{cursor:pointer;align-items:center;gap:6px;margin-bottom:2px;display:flex}.set-token-expiry-row{gap:var(--space-sm);align-items:center;display:flex}.set-token-expiry-input{flex:1}.set-token-actions{gap:var(--space-sm);display:flex}.set-token-add-btn{margin-top:var(--space-sm)}.set-token-banner-icon{color:var(--success)}.set-token-dismiss-icon{vertical-align:middle}.gift-page{gap:12px;width:min(100%,980px);margin:0 auto;display:grid}.gift-page-header{align-items:center;gap:13px;display:flex}.gift-page-icon{background:color-mix(in srgb, var(--accent-rose) 11%, var(--surface-paper));width:44px;height:44px;color:color-mix(in srgb, var(--accent-rose) 76%, var(--text-primary));border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.gift-page-title{gap:3px;min-width:0;display:grid}.gift-page-title h1{color:var(--text-primary);margin:0;font-size:1.22rem;font-weight:880;line-height:1.15}.gift-page-title p:not(.view-kicker){color:var(--text-muted);margin:0;font-size:.8rem;font-weight:720}.gift-view-header-actions{gap:var(--space-sm);flex-wrap:wrap;align-items:center;margin-left:auto;display:flex}.gift-add-btn{border-radius:10px;min-height:40px;font-size:.82rem;font-weight:820}.gift-toolbar{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 58%, var(--surface-paper));min-width:0;box-shadow:var(--shadow-soft);border-radius:14px;gap:10px;padding:12px;display:grid}.gift-status-tabs{scrollbar-width:none;gap:8px;min-width:0;display:flex;overflow-x:auto}.gift-status-tabs::-webkit-scrollbar{display:none}.gift-status-tab{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-paper);min-height:34px;color:var(--text-secondary);font:inherit;white-space:nowrap;cursor:pointer;align-items:center;padding:6px 12px;font-size:.76rem;font-weight:800;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.gift-status-tab.active{background:color-mix(in srgb, var(--gift-accent,var(--amethyst)) 10%, var(--surface-paper));border-color:color-mix(in srgb, var(--gift-accent,var(--amethyst)) 30%, var(--border-subtle));color:color-mix(in srgb, var(--gift-accent,var(--amethyst)) 76%, var(--text-primary))}.gift-status-tab:focus-visible,.gift-filter-toggle:focus-within{outline:2px solid var(--amethyst);outline-offset:2px}.gift-status-tab-idea{--gift-accent:var(--amethyst)}.gift-status-tab-ordered{--gift-accent:var(--accent-sky)}.gift-status-tab-purchased{--gift-accent:var(--accent-amber)}.gift-status-tab-gifted{--gift-accent:var(--accent-sage)}.gift-filters{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto auto;align-items:center;gap:8px;display:grid}.gift-filters .form-input{border-color:var(--border-subtle);background:var(--surface-paper);width:100%;min-width:0;min-height:38px;color:var(--text-primary);box-shadow:none;border-radius:10px;font-size:.8rem}.gift-filter-toggle{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-paper);min-height:38px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:7px 11px;font-size:.78rem;font-weight:760;display:inline-flex}.gift-filter-toggle input{accent-color:var(--amethyst)}.gift-loading{color:var(--text-muted);padding:var(--space-md) 0;font-size:.88rem}.gift-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.gift-card{--gift-accent:var(--amethyst);border:1px solid var(--border-subtle);background:var(--surface-paper);min-height:190px;box-shadow:var(--shadow-soft);border-radius:14px;flex-direction:column;gap:10px;padding:14px;transition:border-color .18s,background .18s,transform .18s;display:flex;position:relative;overflow:hidden}.gift-card:hover{border-color:color-mix(in srgb, var(--gift-accent) 20%, var(--border-subtle));transform:translateY(-1px)}.gift-status-idea{--gift-accent:var(--amethyst)}.gift-status-ordered{--gift-accent:var(--accent-sky)}.gift-status-purchased{--gift-accent:var(--accent-amber)}.gift-status-gifted{--gift-accent:var(--accent-sage)}.gift-card-visual{background:color-mix(in srgb, var(--gift-accent) 12%, var(--surface-paper));width:50px;height:50px;color:color-mix(in srgb, var(--gift-accent) 78%, var(--text-primary));border:1px solid color-mix(in srgb, var(--gift-accent) 18%, var(--border-subtle));pointer-events:none;border-radius:16px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:13px;right:13px}.gift-card-header{justify-content:space-between;align-items:flex-start;gap:8px;min-height:52px;padding-right:60px;display:flex}.gift-card-title-row{flex:1;align-items:center;min-width:0;display:flex}.gift-card-title{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:.98rem;font-weight:840;line-height:1.25}.gift-card-actions{flex-shrink:0;gap:4px;display:flex}.gift-card-action{width:34px;min-width:34px;height:34px;min-height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:7px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.gift-card-action:hover{color:var(--text-primary);background:var(--surface-soft);border-color:var(--border-subtle)}.gift-card-action:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.gift-card-action-danger:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 24%, var(--border-subtle));background:color-mix(in srgb, var(--danger) 8%, var(--surface-paper))}.gift-card-description{color:var(--text-secondary);margin:0;font-size:.86rem;line-height:1.45}.gift-card-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:7px;font-size:.78rem;display:flex}.gift-card-recipient{color:var(--text-primary);align-items:center;gap:6px;font-weight:740;display:inline-flex}.gift-card-recipient-text,.gift-card-occasion,.gift-card-date{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-soft) 62%, var(--surface-paper));min-height:26px;color:var(--text-secondary);align-items:center;padding:4px 9px;font-size:.74rem;font-weight:720;display:inline-flex}.gift-card-price{color:var(--text-primary);font-family:var(--font-ui);margin-left:auto;font-size:.82rem;font-weight:850}.gift-card-link{width:fit-content;color:var(--amethyst);align-items:center;gap:6px;font-size:.8rem;font-weight:780;text-decoration:none;display:inline-flex}.gift-card-link:hover{text-decoration:underline}.gift-card-notes{border:1px solid color-mix(in srgb, var(--gift-accent) 14%, var(--border-subtle));background:color-mix(in srgb, var(--gift-accent) 6%, var(--surface-paper));color:var(--text-secondary);border-radius:11px;margin:0;padding:9px 10px;font-size:.8rem;line-height:1.4}.gift-card-footer{margin-top:auto;padding-top:4px;display:flex}.gift-status-seg{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%;display:grid}.gift-status-seg-btn{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 52%, var(--surface-paper));min-height:32px;color:var(--text-secondary);font:inherit;white-space:nowrap;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:4px;padding:5px 6px;font-size:.68rem;font-weight:780;display:inline-flex}.gift-status-seg-btn:hover:not([aria-pressed=true]){color:var(--text-primary);background:var(--surface-paper)}.gift-status-seg-btn:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.gift-status-seg-btn[aria-pressed=true]{background:color-mix(in srgb, var(--gift-accent) 12%, var(--surface-paper));border-color:color-mix(in srgb, var(--gift-accent) 34%, var(--border-subtle));color:color-mix(in srgb, var(--gift-accent) 82%, var(--text-primary))}.gift-empty-panel{border:1px solid var(--border-subtle);background:var(--surface-paper);box-shadow:var(--shadow-soft);border-radius:14px}.gift-empty-rich{align-items:center;gap:var(--space-md);padding:var(--space-2xl) var(--space-md);text-align:center;color:var(--text-secondary);flex-direction:column;display:flex}.gift-empty-icon-wrap{background:color-mix(in srgb, var(--accent-rose) 10%, var(--surface-paper));width:68px;height:68px;color:color-mix(in srgb, var(--accent-rose) 74%, var(--text-primary));border:1px solid color-mix(in srgb, var(--accent-rose) 16%, var(--border-subtle));border-radius:20px;justify-content:center;align-items:center;display:inline-flex}.gift-empty-title{color:var(--text-primary);margin:0;font-size:1.16rem;font-weight:860}.gift-empty-body{max-width:440px;margin:0;font-size:.9rem;line-height:1.5}.gift-empty-cta{margin-top:var(--space-sm);align-items:center;gap:8px;display:inline-flex}.gift-empty-chips{margin-top:var(--space-sm);flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.gift-empty-chip{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-soft) 62%, var(--surface-paper));min-height:36px;color:var(--text-secondary);cursor:pointer;font:inherit;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:760;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.gift-empty-chip:hover{background:var(--surface-paper);border-color:color-mix(in srgb, var(--amethyst) 24%, var(--border-subtle));color:var(--text-primary)}.gift-empty-chip:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.gift-empty-chip-hint{margin-top:var(--space-md);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.gift-group{gap:9px;display:grid}.gift-group+.gift-group{margin-top:6px}.gift-group-header{align-items:center;gap:var(--space-sm);min-height:34px;color:var(--text-primary);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:840;display:flex}.gift-group-count{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--amethyst) 10%, var(--surface-paper));min-width:24px;height:22px;color:var(--amethyst);letter-spacing:0;text-transform:none;justify-content:center;align-items:center;padding:0 8px;font-size:.7rem;font-weight:840;display:inline-flex}.gift-birthday-picker{gap:var(--space-sm);border:1px solid color-mix(in srgb, var(--accent-rose) 18%, var(--border-subtle));background:color-mix(in srgb, var(--accent-rose) 7%, var(--surface-paper));border-radius:12px;flex-direction:column;padding:10px 12px;display:flex}.gift-birthday-picker-label{color:var(--text-primary);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:.76rem;font-weight:820;display:inline-flex}.gift-birthday-picker-chips{flex-wrap:wrap;gap:6px;display:flex}.gift-birthday-chip{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-paper);min-height:34px;color:var(--text-primary);cursor:pointer;font:inherit;align-items:center;gap:8px;padding:6px 11px;font-size:.78rem;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.gift-birthday-chip:hover{border-color:color-mix(in srgb, var(--accent-rose) 26%, var(--border-subtle));transform:translateY(-1px)}.gift-birthday-chip:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.gift-birthday-chip-name{font-weight:780}.gift-birthday-chip-date{color:var(--text-muted);font-size:.72rem;font-family:var(--font-ui);font-weight:720}.gift-empty-filtered{align-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-md);text-align:center;color:var(--text-secondary);flex-direction:column;display:flex}.gift-empty-filtered-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-paper);min-height:34px;color:var(--text-secondary);cursor:pointer;font:inherit;padding:6px 14px;font-size:.82rem;font-weight:760}.gift-empty-filtered-btn:hover{background:var(--surface-soft);color:var(--text-primary)}.gift-dialog{gap:var(--space-md);width:min(92vw,640px);max-height:92vh;padding:var(--space-xl);border:1px solid var(--border-subtle);background:var(--surface-paper);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;display:flex;overflow-y:auto}.gift-dialog-header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.gift-dialog-title{color:var(--text-primary);margin:0;font-size:1.08rem;font-weight:860}.gift-dialog-close{width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.gift-dialog-close:hover{color:var(--text-primary);background:var(--surface-soft);border-color:var(--border-subtle)}.gift-dialog-close:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.gift-form{gap:var(--space-md);flex-direction:column;display:flex}.gift-form-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gift-form-grid .form-input{border-color:var(--border-subtle);background:var(--surface-paper);width:100%;min-width:0;color:var(--text-primary);box-shadow:none;border-radius:10px}.gift-form-row-full,.gift-form-url{grid-column:1/-1}.gift-form-notes{resize:vertical;grid-column:1/-1;min-height:86px;font-family:inherit}.gift-form-actions{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-sm);display:flex}@media (max-width:900px){.gift-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.gift-page{width:100%;padding-bottom:calc(106px + env(safe-area-inset-bottom));gap:10px}.gift-page-header{padding:var(--space-md);border-radius:var(--radius-lg)}.gift-view-header-actions{width:100%;margin-left:0}.gift-add-btn{justify-content:center;width:100%}.gift-toolbar{padding:10px}.gift-filters{grid-template-columns:1fr}.gift-filter-toggle{justify-content:flex-start}.gift-grid{grid-template-columns:1fr}.gift-card{min-height:0;padding:12px}.gift-card-visual{border-radius:14px;width:44px;height:44px}.gift-card-header{padding-right:52px}.gift-card-price{margin-left:0}.gift-status-seg-label{display:none}.gift-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 120px);padding:var(--space-lg);padding-bottom:calc(var(--space-lg) + 78px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom))}.gift-form-grid{grid-template-columns:1fr}.gift-form-actions{scroll-margin-bottom:calc(116px + env(safe-area-inset-bottom))}}.meal-header-actions{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.meal-week-nav{align-items:center;gap:4px;display:inline-flex}.meal-week-nav-btn{min-height:36px;padding:6px 10px}.meal-week-nav-label{font-variant-numeric:tabular-nums;align-items:center;gap:8px;min-height:36px;padding:6px 14px;display:inline-flex}.meal-loading{color:var(--text-muted);padding:var(--space-md) 0;font-size:.88rem}.meal-grid{margin-top:var(--space-lg);grid-template-columns:minmax(90px,120px) repeat(7,minmax(0,1fr));gap:6px;display:grid;overflow-x:auto}.meal-grid-corner{background:0 0}.meal-grid-day-header{color:var(--text-secondary);border-bottom:1px solid var(--glass-border);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:8px 10px;font-size:.82rem;font-weight:600;display:flex}.meal-grid-day-today{color:var(--amethyst);border-bottom-color:var(--amethyst)}.meal-grid-day-name{font-size:.72rem}.meal-grid-day-date{font-size:.88rem;font-weight:500;font-family:var(--font-mono);color:var(--text-muted);text-transform:none;letter-spacing:0}.meal-grid-day-today .meal-grid-day-date{color:var(--amethyst)}.meal-grid-row{display:contents}.meal-grid-slot-label{color:var(--text-secondary);align-items:center;padding:10px 12px;font-size:.85rem;font-weight:600;display:flex}.meal-grid-cell{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--text-primary);min-height:72px;transition:transform .15s var(--ease-out-expo), border-color .15s, background .15s;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;font-family:inherit;display:flex;position:relative}.meal-grid-cell:hover{border-color:#7c3aed59;transform:translateY(-1px)}.meal-grid-cell:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.meal-grid-cell-empty{color:var(--text-muted);background:0 0;border-style:dashed;justify-content:center;align-items:center}.meal-grid-cell-empty:hover{color:var(--amethyst);background:#7c3aed0d}.meal-grid-cell-filled:before{content:"";background:var(--meal-accent,var(--amethyst));border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm);width:3px;position:absolute;top:0;bottom:0;left:0}.meal-grid-slot-morning{--meal-accent:var(--warning)}.meal-grid-slot-noon{--meal-accent:var(--sapphire)}.meal-grid-slot-evening{--meal-accent:var(--amethyst)}.meal-cell-title{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.92rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.meal-cell-meta{color:var(--text-muted);font-size:.75rem}.meal-cell-edit-icon{color:var(--text-muted);opacity:0;transition:opacity .15s;position:absolute;top:8px;right:8px}.meal-grid-cell-filled:hover .meal-cell-edit-icon{opacity:1}.meal-dialog{padding:var(--space-xl);gap:var(--space-md);background:var(--void-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);flex-direction:column;width:92%;max-width:640px;max-height:92vh;display:flex;overflow-y:auto}[data-theme=light] .meal-dialog{border-color:#0000000f}.meal-dialog-header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.meal-dialog-title{margin:0;font-size:1.1rem;font-weight:600}.meal-dialog-close{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;min-height:auto;padding:6px;display:inline-flex}.meal-dialog-close:hover{color:var(--text-primary);background:#7882b414}.meal-dialog-close:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.meal-form{gap:var(--space-md);flex-direction:column;display:flex}.meal-form-grid{gap:var(--space-sm);grid-template-columns:2fr 1fr 1fr;display:grid}.meal-form-grid .form-input{width:100%}.meal-form-notes{resize:vertical;min-height:70px;font-family:inherit}.meal-ingredients{gap:var(--space-sm);flex-direction:column;display:flex}.meal-ingredients-header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.meal-ingredients-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;font-weight:600}.meal-ingredient-empty{color:var(--text-muted);margin:0;font-size:.82rem;font-style:italic}.meal-ingredient-add{min-height:auto;padding:4px 10px;font-size:.8rem}.meal-ingredient-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.meal-ingredient-row{grid-template-columns:2fr 1fr 1fr auto;align-items:center;gap:6px;display:grid}.meal-ingredient-row .form-input{width:100%;padding:10px 12px}.meal-ingredient-remove{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;min-height:auto;padding:6px;display:inline-flex}.meal-ingredient-remove:hover{color:var(--danger);background:#ef444414;border-color:#ef44444d}.meal-form-actions{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.meal-form-actions-right{gap:var(--space-sm);margin-left:auto;display:flex}.meal-dialog-delete{color:var(--danger);border-color:#ef44444d}.meal-dialog-delete:hover{background:#ef444414}@media (max-width:780px){.meal-grid{grid-template-columns:minmax(70px,90px) repeat(7,minmax(60px,1fr))}.meal-grid-day-header{padding:6px}.meal-grid-day-name{display:none}.meal-grid-cell{min-height:54px;padding:6px 8px}.meal-cell-title{font-size:.82rem}.meal-cell-meta{font-size:.68rem}.meal-form-grid{grid-template-columns:1fr}.meal-ingredient-row{grid-template-columns:1fr 80px 60px auto}}.meal-grid-cell-filled{padding:0}.meal-cell-edit-btn{color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:4px;width:100%;height:100%;padding:10px 32px 10px 12px;font-family:inherit;display:flex;position:relative}.meal-cell-edit-btn:focus-visible{outline:2px solid var(--amethyst);outline-offset:-2px}.meal-cell-grip-btn{color:var(--text-muted);cursor:grab;opacity:0;touch-action:none;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:auto;padding:4px;transition:opacity .15s;display:inline-flex;position:absolute;top:4px;right:4px}.meal-grid-cell-filled:hover .meal-cell-grip-btn,.meal-cell-grip-btn:focus-visible{opacity:1}.meal-cell-grip-btn:hover{color:var(--text-primary);background:#7882b41f}.meal-cell-grip-btn:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.meal-cell-grip-btn:active{cursor:grabbing}.meal-grid-cell-dragging{opacity:.3}.meal-grid-cell-drop-over{border-color:var(--amethyst);background:#7c3aed14}.meal-cell-overlay{background:var(--void-elevated);cursor:grabbing;border-radius:var(--radius-sm);border:1px solid var(--glass-border);max-width:220px;padding:10px 12px;transform:rotate(-1deg);box-shadow:0 12px 32px -8px #0006}.meal-push{padding:var(--space-sm);border:1px dashed var(--glass-border);border-radius:var(--radius-sm);background:#7c3aed0a;flex-direction:column;gap:6px;display:flex}.meal-push-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:.78rem;font-weight:600;display:inline-flex}.meal-push-row{align-items:center;gap:6px;display:flex}.meal-push-list{flex:1;min-width:0}.meal-push-btn{white-space:nowrap}.meal-recipe-picker{gap:var(--space-sm);padding:var(--space-sm);border:1px dashed var(--glass-border);border-radius:var(--radius-sm);background:#2563eb0a;grid-template-columns:120px 1fr;align-items:center;display:grid}.meal-recipe-picker-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:inline-flex}.meal-recipe-picker-select{width:100%;min-width:0}.meal-plans-page{box-sizing:border-box;gap:12px;width:min(100%,1120px);margin:0 auto;padding-inline:clamp(8px,1.6vw,14px);display:grid}.meal-plans-page .meal-plan-header{border:1px solid var(--border-subtle);background:var(--surface-paper);min-height:66px;box-shadow:var(--shadow-soft);border-radius:14px;align-items:center;gap:12px;margin-bottom:0;padding:12px 16px}.meal-plan-title-block{align-items:center;gap:13px;min-width:0;display:flex}.meal-plan-page-icon{background:color-mix(in srgb, var(--accent-amber) 12%, var(--surface-paper));width:44px;height:44px;color:color-mix(in srgb, var(--accent-amber) 80%, var(--text-primary));border:1px solid var(--border-subtle);border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.meal-plans-page .view-title{color:var(--text-primary);letter-spacing:0;margin:0;font-size:1.1rem;font-weight:850}.meal-plans-page .view-subtitle{color:var(--text-secondary);margin-top:2px;font-size:.8rem;font-weight:650}.meal-plans-page .meal-header-actions{justify-content:flex-end;gap:8px}.meal-plans-page .meal-week-nav{gap:6px}.meal-plans-page .meal-week-nav-btn,.meal-plans-page .meal-week-nav-label,.meal-plans-page .meal-week-shopping .btn,.meal-plans-page .btn-primary{min-height:38px;box-shadow:none;border-radius:10px}.meal-plans-page .meal-week-nav-btn,.meal-plans-page .meal-week-nav-label,.meal-plans-page .meal-week-shopping .btn{border-color:var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 64%, var(--surface-paper));color:var(--text-primary)}.meal-plans-page .meal-week-nav-label{font-family:var(--font-ui);font-size:.8rem;font-weight:760}.meal-plan-week-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.meal-plan-summary-card{border:1px solid var(--border-subtle);background:var(--surface-paper);min-height:66px;box-shadow:var(--shadow-soft);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.meal-plan-summary-card:before{content:"";background:color-mix(in srgb, var(--meal-accent,var(--amethyst)) 14%, var(--surface-soft));border:1px solid color-mix(in srgb, var(--meal-accent,var(--amethyst)) 20%, var(--border-subtle));border-radius:11px;width:34px;height:34px}.meal-plan-summary-morning{--meal-accent:var(--warning)}.meal-plan-summary-noon{--meal-accent:var(--sapphire)}.meal-plan-summary-evening{--meal-accent:var(--amethyst)}.meal-plan-summary-label{min-width:0;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;flex:1;font-size:.78rem;font-weight:800}.meal-plan-summary-value{color:var(--text-primary);font-family:var(--font-mono);font-size:1.35rem;font-weight:880;line-height:1}.meal-plans-page .meal-week-shopping{align-items:center;gap:7px;display:inline-flex}.meal-plans-page .meal-week-shopping-list{border-color:var(--border-subtle);background:var(--surface-paper);min-width:150px;min-height:38px;color:var(--text-primary);border-radius:10px;padding:7px 34px 7px 12px;font-size:.82rem}.meal-plans-page .meal-loading{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 62%, var(--surface-paper));border-radius:12px;margin:0;padding:12px 16px}.meal-plans-page .meal-grid{border:1px solid var(--border-subtle);background:var(--surface-paper);box-shadow:var(--shadow-soft);border-radius:14px;grid-template-columns:minmax(78px,92px) repeat(7,minmax(86px,1fr));gap:8px;margin-top:0;padding:12px}.meal-plans-page .meal-grid-day-header,.meal-plans-page .meal-grid-slot-label{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 68%, var(--surface-paper));border-radius:11px;min-height:50px}.meal-plans-page .meal-grid-day-header{text-align:center;letter-spacing:0;align-items:center;padding:8px 6px}.meal-plans-page .meal-grid-day-today{color:var(--amethyst);border-color:color-mix(in srgb, var(--amethyst) 28%, var(--border-subtle));background:color-mix(in srgb, var(--amethyst) 8%, var(--surface-paper))}.meal-plans-page .meal-grid-day-name{color:var(--text-secondary);font-size:.7rem;font-weight:800}.meal-plans-page .meal-grid-day-date{color:var(--text-primary);font-family:var(--font-ui);font-size:.82rem;font-weight:820}.meal-plans-page .meal-grid-slot-label{color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em;justify-content:center;padding:8px;font-size:.78rem;font-weight:850}.meal-plans-page .meal-grid-cell{border-color:var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 54%, var(--surface-paper));min-height:74px;box-shadow:none;border-radius:11px}.meal-plans-page .meal-grid-cell:hover{border-color:color-mix(in srgb, var(--amethyst) 22%, var(--border-subtle));background:var(--surface-paper);transform:none}.meal-plans-page .meal-grid-cell-empty{color:var(--text-muted);border-style:solid}.meal-plans-page .meal-grid-cell-empty svg{width:18px;height:18px}.meal-plans-page .meal-grid-cell-filled{background:linear-gradient(135deg, color-mix(in srgb, var(--meal-accent,var(--amethyst)) 8%, var(--surface-paper)), var(--surface-paper))}.meal-plans-page .meal-grid-cell-filled:before{border-radius:var(--radius-pill);width:3px;top:8px;bottom:8px;left:8px}.meal-plans-page .meal-cell-edit-btn{padding:10px 12px 10px 18px}.meal-plans-page .meal-cell-title{color:var(--text-primary);font-size:.88rem;font-weight:820}.meal-plans-page .meal-cell-meta{color:var(--text-secondary);font-size:.72rem;font-weight:650}.meal-plans-page .meal-cell-grip-btn{opacity:1;color:var(--text-muted)}.meal-plans-page .meal-grid-cell-drop-over{border-color:var(--amethyst);background:color-mix(in srgb, var(--amethyst) 10%, var(--surface-paper))}.meal-plans-page .meal-cell-overlay{border-color:var(--border-subtle);background:var(--surface-paper);box-shadow:var(--shadow-soft)}@media (max-width:780px){.meal-plans-page{width:100%}.meal-plans-page .meal-plan-header{align-items:stretch;padding:12px}.meal-plan-week-summary{grid-template-columns:1fr;gap:8px}.meal-plan-summary-card{min-height:52px}.meal-plans-page .meal-header-actions,.meal-plans-page .meal-week-shopping{justify-content:flex-start}.meal-plans-page .meal-grid{grid-template-columns:minmax(72px,86px) repeat(7,minmax(68px,1fr));padding:10px}.meal-plans-page .meal-grid-day-header,.meal-plans-page .meal-grid-slot-label{min-height:42px}}.recipes-page{gap:12px;width:min(100%,1120px);margin:0 auto;display:grid}.recipes-header{margin-bottom:0}.recipes-title-block{align-items:center;gap:13px;min-width:0;display:flex}.recipes-page-icon{background:color-mix(in srgb, var(--accent-sage) 13%, var(--surface-paper));width:44px;height:44px;color:color-mix(in srgb, var(--accent-sage) 74%, var(--text-primary));border:1px solid var(--border-subtle);border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.recipe-header-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.recipe-search{background:var(--surface-paper);border:1px solid var(--border-subtle);min-width:min(320px,100%);min-height:40px;color:var(--text-muted);box-shadow:var(--shadow-soft);border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.recipe-search input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;min-width:0;font-family:inherit;font-size:.9rem}.recipe-search input::placeholder{color:var(--text-muted)}.recipe-search:focus-within{border-color:var(--amethyst);box-shadow:0 0 0 3px var(--amethyst-glow)}.recipe-loading{color:var(--text-muted);padding:var(--space-md) 0;font-size:.88rem}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:10px;display:grid}.recipe-card{background:var(--surface-paper);border:1px solid var(--border-subtle);padding:14px;min-height:236px;box-shadow:var(--shadow-soft);transition:transform .2s var(--ease-out-expo), box-shadow .2s var(--ease-out-expo), border-color .2s var(--ease-out-expo);border-radius:14px;flex-direction:column;gap:10px;padding-right:68px;display:flex;position:relative;overflow:hidden}.recipe-card:hover{border-color:color-mix(in srgb, var(--accent-sage) 22%, var(--border-subtle));transform:translateY(-1px);box-shadow:0 14px 34px -24px #2a231c61}.recipe-card-visual{background:color-mix(in srgb, var(--accent-sage) 13%, var(--surface-soft));width:48px;height:48px;color:color-mix(in srgb, var(--accent-sage) 76%, var(--text-primary));border:1px solid var(--border-subtle);border-radius:14px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:14px;right:14px}.recipe-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);min-height:38px;display:flex}.recipe-card-title-row{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.recipe-card-icon{color:var(--sapphire);flex-shrink:0}.recipe-card-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:850;overflow:hidden}.recipe-card-action{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;min-height:auto;padding:6px;transition:all .15s;display:inline-flex}.recipe-card-action:hover{color:var(--text-primary);border-color:var(--glass-border);background:#7882b41a}.recipe-card-actions{align-items:center;gap:4px;display:flex}.recipe-card-action-active{color:var(--warning);background:#f59e0b1f}.recipe-card-favorite{color:var(--warning)}.recipe-card-action:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.recipe-card-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;display:flex}.recipe-card-meta-item{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-soft) 74%, transparent);border:1px solid var(--border-subtle);align-items:center;gap:5px;padding:4px 8px;display:inline-flex}.recipe-card-description{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.88rem;line-height:1.45;display:-webkit-box;overflow:hidden}.recipe-tags{flex-wrap:wrap;gap:6px;display:flex}.recipe-tag{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent-sky) 12%, var(--surface-paper));color:color-mix(in srgb, var(--accent-sky) 78%, var(--text-primary));border:1px solid var(--border-subtle);padding:3px 8px;font-size:.74rem;font-weight:760}.recipe-ingredient-preview{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.recipe-ingredient-preview li{justify-content:space-between;align-items:baseline;gap:var(--space-sm);color:var(--text-secondary);border-bottom:1px dashed #7882b42e;padding-bottom:4px;font-size:.84rem;display:flex}.recipe-ingredient-preview li:last-child{border-bottom:none;padding-bottom:0}.recipe-ingredient-preview-amount{color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;font-size:.76rem}.recipe-card-footer{padding-top:var(--space-sm);border-top:1px dashed var(--glass-border);margin-top:auto}.recipe-card-link{color:var(--sapphire);align-items:center;gap:6px;font-size:.82rem;text-decoration:none;display:inline-flex}.recipe-card-link:hover{text-decoration:underline}.recipe-card-muted{color:var(--text-muted);font-size:.82rem}.recipe-empty-rich{align-items:center;gap:var(--space-md);padding:var(--space-2xl) var(--space-md);text-align:center;color:var(--text-secondary);background:var(--surface-paper);border:1px dashed var(--border-subtle);box-shadow:var(--shadow-soft);border-radius:14px;flex-direction:column;display:flex}.recipe-empty-icon-wrap{background:color-mix(in srgb, var(--accent-sage) 13%, var(--surface-soft));width:72px;height:72px;color:color-mix(in srgb, var(--accent-sage) 76%, var(--text-primary));border:1px solid var(--border-subtle);border-radius:18px;justify-content:center;align-items:center;display:inline-flex}.recipe-empty-title{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:600}.recipe-empty-body{max-width:440px;margin:0;font-size:.92rem;line-height:1.5}.recipe-empty-cta{margin-top:var(--space-sm)}.recipe-empty-filtered{align-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-md);text-align:center;color:var(--text-secondary);flex-direction:column;display:flex}.recipe-empty-filtered-btn{border:1px solid var(--glass-border);color:var(--text-secondary);border-radius:var(--radius-pill);cursor:pointer;background:0 0;padding:6px 14px;font-family:inherit;font-size:.85rem;transition:all .15s}.recipe-empty-filtered-btn:hover{color:var(--text-primary);background:#7882b414}.recipe-dialog{padding:var(--space-xl);gap:var(--space-md);background:var(--void-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);flex-direction:column;width:92%;max-width:720px;max-height:92vh;display:flex;overflow-y:auto}[data-theme=light] .recipe-dialog{border-color:#0000000f}.recipe-dialog-header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.recipe-dialog-title{margin:0;font-size:1.1rem;font-weight:600}.recipe-dialog-close{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;min-height:auto;padding:6px;display:inline-flex}.recipe-dialog-close:hover{color:var(--text-primary);background:#7882b414}.recipe-dialog-close:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.recipe-dialog-delete{color:var(--danger);border-color:#ef44444d}.recipe-dialog-delete:hover{background:#ef444414}.recipe-form{gap:var(--space-md);flex-direction:column;display:flex}.recipe-form-grid{gap:var(--space-sm);grid-template-columns:2fr 140px;display:grid}.recipe-form-grid .form-input{width:100%}.recipe-form-wide{grid-column:1/-1}.recipe-form-instructions{resize:vertical;min-height:110px;font-family:inherit}.recipe-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;font-weight:600}.recipe-ingredients{gap:var(--space-sm);flex-direction:column;display:flex}.recipe-ingredients-header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.recipe-ingredient-empty{color:var(--text-muted);margin:0;font-size:.82rem;font-style:italic}.recipe-ingredient-add{min-height:auto;padding:4px 10px;font-size:.8rem}.recipe-ingredient-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.recipe-ingredient-row{grid-template-columns:2fr 1fr 1fr auto;align-items:center;gap:6px;display:grid}.recipe-ingredient-row .form-input{width:100%;padding:10px 12px}.recipe-ingredient-remove{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;min-height:auto;padding:6px;display:inline-flex}.recipe-ingredient-remove:hover{color:var(--danger);background:#ef444414;border-color:#ef44444d}.recipe-form-actions{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.recipe-form-actions-right{gap:var(--space-sm);margin-left:auto;display:flex}.recipe-push{padding:var(--space-sm);border:1px dashed var(--glass-border);border-radius:var(--radius-sm);background:#2563eb0d;flex-direction:column;gap:8px;display:flex}.recipe-push-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:.78rem;font-weight:600;display:inline-flex}.recipe-push-picker{flex-wrap:wrap;gap:6px;display:flex}.recipe-push-chip{border:1px solid var(--glass-border);border-radius:var(--radius-pill);color:var(--text-secondary);background:var(--void-elevated);cursor:pointer;align-items:center;gap:6px;padding:5px 9px;font-size:.8rem;display:inline-flex}.recipe-push-chip input{accent-color:var(--sapphire)}.recipe-push-row{align-items:center;gap:6px;display:flex}.recipe-push-list{flex:1;min-width:0}.recipe-push-btn{white-space:nowrap}.recipe-scale{padding:var(--space-sm);border:1px dashed var(--glass-border);border-radius:var(--radius-sm);background:#f59e0b0d;flex-direction:column;gap:8px;display:flex}.recipe-scale-label{color:var(--text-secondary);align-items:center;gap:8px;font-size:.85rem;display:flex}.recipe-scale-input{max-width:120px}.recipe-scale-preview ul{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.recipe-scale-preview li{color:var(--text-secondary);justify-content:space-between;gap:12px;font-size:.82rem;display:flex}@media (max-width:780px){.recipe-header-actions{width:100%}.recipe-search{flex:100%}.recipe-form-grid{grid-template-columns:1fr}.recipe-form-title{grid-column:auto}.recipe-ingredient-row{grid-template-columns:1fr 80px 60px auto}.recipe-push-row,.recipe-form-actions{flex-direction:column;align-items:stretch}.recipe-form-actions-right{justify-content:flex-end;width:100%;margin-left:0}.meal-recipe-picker{grid-template-columns:1fr}}.sync-section-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:var(--space-lg) 0 var(--space-sm);font-size:.82rem;font-weight:600;display:block}.sync-family-block{border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);background:#7882b40a}.sync-family-title{margin-bottom:6px;font-weight:600}.sync-url-row{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;display:flex}.sync-url-label{color:var(--text-muted);flex-shrink:0;width:160px;font-size:.78rem}.sync-url-value{min-width:0;font-family:var(--font-mono);border-radius:var(--radius-sm);white-space:nowrap;background:#7882b414;flex:1;padding:6px 10px;font-size:.78rem;overflow:auto}.sync-url-copy{flex-shrink:0}.sync-steps{padding-left:var(--space-lg);color:var(--text-secondary);font-size:.88rem;line-height:1.6}.sync-steps li{margin-bottom:4px}.sync-limits{color:var(--text-muted)}.sync-external-link{color:var(--amethyst);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.sync-external-link:hover{text-decoration:underline}.sync-health-panel{margin:var(--space-md) 0 var(--space-lg)}.sync-health-list{gap:var(--space-sm);display:grid}.sync-health-card{gap:var(--space-md);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-md);background:#7882b40d;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.sync-health-card-warning{background:#f59e0b12;border-color:#f59e0b59}.sync-health-card-main{gap:5px;min-width:0;display:grid}.sync-health-card-title-row{color:var(--text-primary);align-items:center;gap:8px;display:flex}.sync-health-card-warning .sync-health-card-title-row{color:var(--warning,#d97706)}.sync-health-card-title{overflow-wrap:anywhere;font-weight:600}.sync-health-scope{color:var(--text-muted);overflow-wrap:anywhere;font-size:.78rem}.sync-health-meta{color:var(--text-secondary);gap:3px;font-size:.82rem;line-height:1.4;display:grid}.sync-health-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.sync-health-action{align-items:center;gap:6px;min-height:36px;display:inline-flex}.sync-health-danger{color:var(--danger,#dc2626)}.sync-health-empty,.sync-health-error{border:1px dashed var(--glass-border);border-radius:var(--radius-md);padding:var(--space-md);color:var(--text-secondary);background:#7882b40a}.sync-health-error{color:var(--danger,#dc2626);background:#dc26260f;border-color:#dc262647}.sync-health-token-banner{margin-bottom:var(--space-md)}@media (max-width:720px){.sync-health-card{grid-template-columns:1fr}.sync-health-actions{justify-content:flex-start}}.weekly-plan-page{--weekly-plan-surface:#fffdf8;--weekly-plan-surface-soft:#f8f4ed;--weekly-plan-text-primary:var(--text-primary);--weekly-plan-text-secondary:var(--text-secondary);--weekly-plan-border:var(--border-subtle);--weekly-plan-shadow:var(--shadow-soft);width:min(100%,1080px);color:var(--weekly-plan-text-primary);gap:12px;margin:0 auto;display:grid}[data-theme=dark] .weekly-plan-page{--weekly-plan-surface:#211f1a;--weekly-plan-surface-soft:#2b2822}[data-theme=midnight-glass] .weekly-plan-page{--weekly-plan-surface:#161b2b;--weekly-plan-surface-soft:#1f2538}.weekly-plan-page .weekly-plan-header{background:var(--weekly-plan-surface);border-color:var(--weekly-plan-border);box-shadow:var(--weekly-plan-shadow);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;display:grid;position:relative;overflow:hidden}.weekly-plan-header-icon{background:color-mix(in srgb, var(--amethyst) 12%, var(--surface-paper));width:48px;height:48px;color:var(--amethyst);border:1px solid color-mix(in srgb, var(--amethyst) 16%, var(--weekly-plan-border));border-radius:15px;justify-content:center;align-items:center;display:inline-flex}.weekly-plan-title-block{gap:3px;min-width:0;display:grid}.weekly-plan-title-block .view-kicker{margin:0}.weekly-plan-header h1{color:var(--weekly-plan-text-primary);letter-spacing:0;margin:0;font-size:1.28rem;font-weight:880;line-height:1.15}.weekly-plan-header p{color:var(--weekly-plan-text-secondary);margin:0;font-size:.88rem;line-height:1.45}.weekly-plan-week-pill{border-radius:var(--radius-pill);border:1px solid var(--weekly-plan-border);background:var(--weekly-plan-surface-soft);min-height:38px;color:var(--weekly-plan-text-primary);white-space:nowrap;justify-self:end;align-items:center;padding:8px 13px;font-size:.84rem;font-weight:780;display:inline-flex}.weekly-plan-toolbar{border:1px solid var(--weekly-plan-border);background:var(--weekly-plan-surface);box-shadow:var(--weekly-plan-shadow);border-radius:14px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.weekly-plan-nav{justify-content:center;align-items:center;gap:7px;display:inline-flex}.weekly-plan-toolbar button{min-height:38px;box-shadow:none;border-radius:11px;justify-content:center;align-items:center;gap:7px;display:inline-flex}.weekly-plan-back-btn{justify-self:start}.weekly-plan-print-btn{justify-self:end}.weekly-plan-icon-btn{width:38px;min-width:38px;padding:0}.weekly-plan-today-btn{padding-inline:14px}.weekly-plan-filters{border:1px solid var(--weekly-plan-border);background:var(--weekly-plan-surface);box-shadow:var(--weekly-plan-shadow);color:var(--weekly-plan-text-primary);border-radius:14px;grid-template-columns:minmax(190px,260px) minmax(0,1fr);align-items:center;gap:12px;padding:10px;display:grid}.weekly-plan-member-filter{color:var(--weekly-plan-text-secondary);text-transform:uppercase;letter-spacing:.06em;gap:5px;font-size:.76rem;font-weight:800;display:grid}.weekly-plan-member-filter select{border:1px solid var(--weekly-plan-border);background:var(--weekly-plan-surface-soft);width:100%;min-height:38px;color:var(--weekly-plan-text-primary);font:inherit;border-radius:11px;padding:8px 34px 8px 11px;font-size:.86rem;font-weight:680}.weekly-plan-member-filter select option{background:var(--weekly-plan-surface);color:var(--weekly-plan-text-primary)}.weekly-plan-section-filters{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.weekly-plan-section-filters label{border-radius:var(--radius-pill);background:var(--weekly-plan-surface-soft);min-height:36px;color:var(--weekly-plan-text-secondary);cursor:pointer;border:1px solid var(--weekly-plan-border);align-items:center;gap:7px;padding:7px 11px;font-size:.82rem;font-weight:720;display:inline-flex}.weekly-plan-section-filters input{accent-color:var(--amethyst)}.weekly-plan-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.weekly-plan-summary-card{border:1px solid var(--weekly-plan-border);background:var(--weekly-plan-surface);min-width:0;min-height:86px;color:var(--weekly-plan-text-primary);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--weekly-plan-shadow);border-radius:14px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px;display:grid}.weekly-plan-summary-card:not(.active){background:var(--weekly-plan-surface-soft);border-style:dashed}.weekly-plan-summary-card:not(.active) .weekly-plan-summary-icon,.weekly-plan-summary-card:not(.active) .weekly-plan-summary-label,.weekly-plan-summary-card:not(.active) strong{opacity:.62}.weekly-plan-summary-icon{background:color-mix(in srgb, var(--amethyst) 10%, var(--surface-paper));width:36px;height:36px;color:var(--amethyst);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.weekly-plan-summary-label{min-width:0;color:var(--weekly-plan-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:760;overflow:hidden}.weekly-plan-summary-card strong{color:var(--weekly-plan-text-primary);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:860}.weekly-plan-summary-card-events .weekly-plan-summary-icon,.weekly-plan-section-visual-events{color:#6f5fa7;background:#6f5fa71c}.weekly-plan-summary-card-tasks .weekly-plan-summary-icon,.weekly-plan-section-visual-tasks{color:#5f8a4c;background:#5f8a4c21}.weekly-plan-summary-card-meals .weekly-plan-summary-icon,.weekly-plan-section-visual-meals{color:#b97826;background:#b978261f}.weekly-plan-summary-card-birthdays .weekly-plan-summary-icon,.weekly-plan-section-visual-birthdays{color:#c46d3b;background:#c46d3b1f}.weekly-plan-summary-card-shopping .weekly-plan-summary-icon,.weekly-plan-section-visual-shopping{color:#4d91bd;background:#4d91bd1f}.weekly-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.weekly-plan-section{padding:15px;border:1px solid var(--weekly-plan-border);background:var(--weekly-plan-surface);min-height:210px;color:var(--weekly-plan-text-primary);box-shadow:var(--weekly-plan-shadow);break-inside:avoid;border-radius:16px;padding-right:82px;position:relative;overflow:hidden}.weekly-plan-section-visual{border:1px solid color-mix(in srgb, currentColor 14%, transparent);pointer-events:none;border-radius:17px;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex;position:absolute;top:14px;right:14px}.weekly-plan-section-header{justify-content:space-between;align-items:flex-start;gap:10px;min-height:52px;margin-bottom:8px;display:flex}.weekly-plan-section h2{color:var(--weekly-plan-text-primary);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.83rem;font-weight:830}.weekly-plan-section-count{border-radius:var(--radius-pill);background:var(--weekly-plan-surface-soft);min-width:28px;min-height:28px;color:var(--weekly-plan-text-secondary);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:.78rem;font-weight:820;display:inline-flex}.weekly-plan-section ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.weekly-plan-section li{background:var(--weekly-plan-surface-soft);border:1px solid color-mix(in srgb, var(--weekly-plan-border) 74%, transparent);border-radius:12px;gap:3px;padding:10px 11px 10px 14px;display:grid}.weekly-plan-item{position:relative}.weekly-plan-item:before{content:"";border-radius:var(--radius-pill);background:var(--amethyst);opacity:.72;width:3px;position:absolute;top:11px;bottom:11px;left:6px}.weekly-plan-item-events:before{background:#6f5fa7}.weekly-plan-item-tasks:before{background:#5f8a4c}.weekly-plan-item-meals:before{background:#b97826}.weekly-plan-item-birthdays:before{background:#c46d3b}.weekly-plan-item-shopping:before{background:#4d91bd}.weekly-plan-section li span{color:var(--weekly-plan-text-secondary);font-size:.76rem;font-weight:680}.weekly-plan-section li strong{color:var(--weekly-plan-text-primary);font-size:.91rem;font-weight:820;line-height:1.25}.weekly-plan-empty{border:1px dashed var(--weekly-plan-border);background:var(--weekly-plan-surface-soft);color:var(--weekly-plan-text-secondary);border-radius:12px;margin:0;padding:12px;font-size:.86rem}@media (max-width:980px){.weekly-plan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-plan-grid{grid-template-columns:1fr}}@media (max-width:760px){.weekly-plan-page{width:100%;padding-bottom:calc(104px + env(safe-area-inset-bottom));gap:10px}.weekly-plan-header{padding:var(--space-md);grid-template-columns:42px minmax(0,1fr);gap:10px}.weekly-plan-header-icon{border-radius:13px;width:42px;height:42px}.weekly-plan-week-pill{grid-column:1/-1;justify-self:start}.weekly-plan-toolbar{grid-template-columns:auto 1fr auto;padding:8px}.weekly-plan-back-btn{gap:0;width:38px;min-width:38px;padding:0;font-size:0}.weekly-plan-nav{justify-content:flex-start}.weekly-plan-print-btn{min-width:44px;padding-inline:12px}.weekly-plan-filters{grid-template-columns:1fr;gap:10px}.weekly-plan-section-filters{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.weekly-plan-section-filters::-webkit-scrollbar{display:none}.weekly-plan-summary{scrollbar-width:none;padding-bottom:2px;display:flex;overflow-x:auto}.weekly-plan-summary::-webkit-scrollbar{display:none}.weekly-plan-summary-card{min-width:168px}.weekly-plan-section{min-height:0;padding:14px 70px 14px 14px}.weekly-plan-section-visual{border-radius:14px;width:44px;height:44px}}@media print{body{background:#fff!important}.no-print,.pwa-banner,.sidebar,.mobile-header,.mobile-topbar,.bottom-nav,.app-sidebar,.app-header{display:none!important}.app-layout,.main-content,.weekly-plan-page{background:#fff!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important}:root .weekly-plan-page{--weekly-plan-surface:#fff;--weekly-plan-surface-soft:#f8f7f4;--weekly-plan-text-primary:#1a1520;--weekly-plan-text-secondary:#5e5673;--weekly-plan-border:#d4d4d8;--weekly-plan-shadow:none}.weekly-plan-header,.weekly-plan-section{box-shadow:none!important;border-color:#d4d4d8!important}.weekly-plan-header{grid-template-columns:1fr auto;margin-bottom:12px}.weekly-plan-header-icon,.weekly-plan-section-visual{display:none!important}.weekly-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.weekly-plan-section{min-height:0;padding-right:15px}}.activation-panel{background:var(--glass);-webkit-backdrop-filter:blur(8px)saturate(1.2);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-lg);position:relative;overflow:hidden}.activation-panel:before{content:"";background:var(--grad-primary);opacity:.08;pointer-events:none;position:absolute;inset:0}.activation-panel-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex;position:relative}.activation-panel-title{color:var(--text-primary);margin:0 0 4px;font-size:1.1rem;font-weight:600}.activation-panel-subtitle{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.45}.activation-step-list{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid;position:relative}.activation-step{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#7882b40d;grid-template-columns:28px 1fr auto;align-items:center;display:grid}.activation-step-done{background:#10b9810f;border-color:#10b98140}.activation-step-icon{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--text-muted);background:#7882b41a;justify-content:center;align-items:center;display:inline-flex}.activation-step-done .activation-step-icon{color:var(--success);background:#10b98126}.activation-step-body{flex-direction:column;gap:2px;min-width:0;display:flex}.activation-step-title{color:var(--text-primary);font-size:.94rem;font-weight:600}.activation-step-desc{color:var(--text-secondary);font-size:.82rem;line-height:1.4}.activation-step-done .activation-step-title{color:var(--text-secondary)}.activation-step-cta{border:1px solid var(--glass-border);color:var(--text-primary);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 12px;font-family:inherit;font-size:.82rem;transition:all .15s}.activation-step-cta:hover{border-color:var(--amethyst);color:var(--amethyst);background:#7882b41a}.activation-step-cta:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.activation-step-status{color:var(--success);white-space:nowrap;font-size:.82rem;font-weight:500}.setup-checklist-progress{min-width:58px;height:58px;color:var(--amethyst);background:#7c3aed1a;border:1px solid #7c3aed38;border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex;position:relative}.setup-checklist-footer{margin-top:var(--space-md);justify-content:flex-end;display:flex;position:relative}.setup-checklist-dismiss{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:.84rem}.setup-checklist-dismiss:hover{color:var(--amethyst)}.setup-checklist-dismiss:focus-visible{outline:2px solid var(--amethyst);outline-offset:3px;border-radius:var(--radius-sm)}@media (max-width:560px){.activation-step{grid-template-columns:28px 1fr}.activation-step-cta,.activation-step-status{grid-column:2;justify-self:start}}.invite-intro{color:var(--text-secondary);margin:0 0 var(--space-md);max-width:720px;font-size:.9rem;line-height:1.5}.invite-helper-text{color:var(--text-muted);margin-top:4px;font-size:.8rem;line-height:1.45;display:block}.invite-next-card{border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);background:#7c3aed0f;border:1px solid #7c3aed2e}.invite-next-title{margin:0 0 var(--space-sm);color:var(--text-primary);align-items:center;gap:6px;font-size:.92rem;font-weight:600;display:flex}.invite-next-list{color:var(--text-secondary);flex-direction:column;gap:8px;margin:0;padding:0;font-size:.86rem;line-height:1.45;list-style:none;display:flex}.invite-next-list li{grid-template-columns:22px 1fr;align-items:start;gap:8px;display:grid}.invite-next-step-num{border-radius:var(--radius-pill);width:22px;height:22px;color:var(--amethyst);background:#7c3aed2e;justify-content:center;align-items:center;font-size:.78rem;font-weight:600;display:inline-flex}.invite-role-pill{margin-top:var(--space-sm);border:1px solid var(--glass-border);border-radius:var(--radius-pill);color:var(--text-secondary);background:#7882b41a;padding:4px 10px;font-size:.8rem;display:inline-block}.invite-role-pill strong{color:var(--text-primary);font-weight:600}.display-root{-webkit-user-select:none;user-select:none;width:100vw;height:100vh;font-family:var(--font-ui);color:var(--text-primary);background:radial-gradient(1200px 800px at 18% 22%, #7c3aed38, transparent 60%), radial-gradient(900px 700px at 82% 78%, #3b82f62e, transparent 60%), linear-gradient(160deg, var(--void) 0%, var(--void-deep) 60%, #03050a 100%);position:fixed;inset:0;overflow:hidden}.display-root::-webkit-scrollbar{width:0;height:0}.display-root ::-webkit-scrollbar{width:0;height:0}.display-root *{-webkit-tap-highlight-color:transparent}[data-theme=light] .display-root{background:radial-gradient(1200px 800px at 18% 22%,#7c3aed29,#0000 60%),radial-gradient(900px 700px at 82% 78%,#f43f5e1a,#0000 60%),linear-gradient(160deg,#faf6ff 0%,#efe9fb 60%,#e3dbf7 100%)}.display-state{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-2xl);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.display-state h1{letter-spacing:-.02em;background:var(--grad-primary);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:700}.display-state p{max-width:60ch;color:var(--text-secondary);margin:0;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.55}.display-state-loading{grid-template-columns:minmax(260px,1fr) minmax(420px,2fr) minmax(260px,1fr);gap:1.75rem;padding:1.75rem;display:grid;position:absolute;inset:0}.display-state-loading .display-skeleton-card{border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:linear-gradient(110deg, #ffffff05 0%, #ffffff0f 50%, #ffffff05 100%) var(--glass);background-size:220% 100%;animation:2.4s ease-in-out infinite display-shimmer}@keyframes display-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:1024px),(orientation:portrait){.display-state-loading{grid-template-columns:1fr;grid-auto-rows:minmax(120px,auto)}}.display-state-revoked,.display-state-invalid{background:radial-gradient(800px 500px,#ef44441f,#0000 70%)}.display-dashboard{--display-spacing-base:clamp(1.5rem, 2.5vw, 2.5rem);padding:var(--display-spacing-base);box-sizing:border-box;width:100%;height:100%}.display-layout-grid{grid-template-columns:repeat(var(--display-grid-columns,4), minmax(0, 1fr));grid-template-rows:repeat(var(--display-grid-rows,3), minmax(0, 1fr));gap:var(--display-spacing-base);width:100%;height:100%;display:grid}.display-widget{min-width:0;min-height:0;display:flex}.display-widget>.display-card{width:100%;min-width:0;min-height:0}.display-pulse,.display-tribe{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.display-card{background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.15);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:clamp(1.25rem,1.75vw,2rem);position:relative;box-shadow:inset 0 1px #ffffff0a,0 24px 48px -32px #00000073}@supports not ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.display-card{background:var(--void-surface)}}[data-theme=light] .display-card{background:#ffffff8c;border:1px solid #00000012;box-shadow:inset 0 1px #fffc,0 1px 3px #0000000a,0 24px 48px -24px #0000002e}.display-identity{flex-direction:column;gap:6px;display:flex}.display-hearth-label{text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:.55ch;font-size:clamp(.95rem,1.2vw,1.15rem);font-weight:500;display:inline-flex}.display-hearth-prefix,.display-hearth-suffix{color:var(--text-muted)}.display-hearth-name{letter-spacing:-.01em;text-transform:none;background:var(--grad-primary);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:800}.display-device-tag{border-radius:var(--radius-pill);color:var(--text-secondary);background:#7c3aed1a;border:1px solid #7c3aed40;align-self:flex-start;margin-top:6px;padding:4px 12px;font-size:.85rem;font-weight:500}.display-clock-shell{flex-direction:column;gap:4px;display:flex}.display-clock{font-family:var(--font-mono);letter-spacing:-.05em;color:var(--text-primary);font-variant-numeric:tabular-nums;text-shadow:0 8px 40px #7c3aed4d;font-size:clamp(3.75rem,8vw,6.5rem);font-weight:700;line-height:.95}.display-date{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.22em;font-size:clamp(1rem,1.3vw,1.25rem);font-weight:500}.display-home-header{flex-direction:column;gap:clamp(.65rem,1vw,1.1rem);min-width:0;display:flex;overflow:hidden}.display-home-header-brand{flex-direction:column;align-items:flex-start;gap:.55rem;display:flex}.display-home-header-time{flex-direction:column;gap:.35rem;min-width:0;display:flex}.display-home-header-time .display-clock{text-shadow:none}.display-home-header--compact{text-align:center;justify-content:center;align-items:center;gap:.25rem;padding:clamp(.75rem,1.25vw,1.25rem)}.display-home-header--compact .display-home-header-time{align-items:center;gap:.2rem}.display-home-header--compact .display-clock{letter-spacing:-.045em;font-size:clamp(2.4rem,5.5vw,4rem);line-height:1}.display-home-header--compact .display-date{letter-spacing:.18em;font-size:clamp(.7rem,.9vw,.9rem)}.display-home-header--standard .display-clock{font-size:clamp(3rem,6vw,4.8rem);line-height:.95}.display-home-header--standard .display-hearth-name{background:0 0;-webkit-background-clip:initial;background-clip:initial;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.18em;font-size:clamp(1.05rem,1.4vw,1.35rem);font-weight:700}.display-home-header--standard .display-hearth-prefix,.display-home-header--standard .display-hearth-suffix{font-weight:500}.display-home-header-cue{border-radius:var(--radius-pill);color:var(--text-secondary);letter-spacing:.02em;background:#7c3aed14;border:1px solid #7c3aed2e;align-self:flex-start;align-items:center;gap:.5rem;padding:6px 14px;font-size:.86rem;font-weight:600;display:inline-flex}.display-home-header-cue-dot{background:var(--amethyst);border-radius:50%;width:6px;height:6px;display:inline-block}.display-home-header--expanded{gap:clamp(.75rem,1.2vw,1.25rem)}.display-home-header--expanded .display-clock{font-size:clamp(2.8rem,5.4vw,4.5rem);line-height:.95}.display-home-header-upcoming{border-top:1px solid var(--glass-border);flex-direction:column;gap:.4rem;min-width:0;margin-top:auto;padding-top:clamp(.5rem,1vw,.85rem);display:flex}.display-home-header-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:600}.display-home-header-events{flex-direction:column;gap:.4rem;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.display-home-header-event{grid-template-columns:4.5rem 1fr auto;align-items:center;gap:.6rem;min-width:0;display:grid}.display-home-header-when{font-family:var(--font-mono);color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:600}.display-home-header-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.display-home-header-empty{color:var(--text-muted);font-size:.95rem;font-style:italic}.display-focus{--focus-tint:var(--amethyst);border-left:6px solid var(--focus-tint);background:linear-gradient(135deg, color-mix(in srgb, var(--focus-tint) 16%, transparent), transparent 70%), var(--glass);flex-direction:column;gap:.5rem;display:flex}.display-focus-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--focus-tint);font-size:.78rem;font-weight:600}.display-focus-title{color:var(--text-primary);word-break:break-word;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;line-height:1.15}.display-focus-meta{color:var(--text-secondary);font-size:clamp(1rem,1.2vw,1.15rem)}.display-focus--live{animation:3.6s ease-in-out infinite display-focus-pulse}.display-focus--empty{--focus-tint:var(--text-muted)}@keyframes display-focus-pulse{0%,to{box-shadow:inset 0 1px #ffffff0a,0 30px 60px -30px #0000008c,0 0 #10b98100}50%{box-shadow:inset 0 1px #ffffff0a,0 30px 60px -30px #0000008c,0 0 0 8px #10b9812e}}.display-horizon{flex-direction:column;gap:1rem;min-height:0;display:flex;overflow:hidden}.display-section-header{color:var(--text-secondary);align-items:center;gap:.75rem;margin:0 0 .25rem;display:flex}.display-section-header h2{letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:clamp(.95rem,1.2vw,1.15rem);font-weight:600}.display-agenda{scrollbar-width:none;flex-direction:column;flex:auto;gap:1rem;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.display-agenda::-webkit-scrollbar{display:none}.display-agenda-day{flex-direction:column;gap:.5rem;display:flex}.display-agenda-day-head{justify-content:space-between;align-items:baseline;padding:0 .25rem;display:flex}.display-agenda-day-name{letter-spacing:-.01em;color:var(--text-primary);font-size:clamp(1.05rem,1.4vw,1.3rem);font-weight:700}.display-agenda-day-date{color:var(--text-muted);text-transform:uppercase;letter-spacing:.18em;font-size:.82rem}.display-agenda-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.display-agenda-row{--row-tint:var(--amethyst);border-radius:var(--radius-md);border-left:4px solid var(--row-tint);background:#7882b40f;grid-template-columns:5.5rem 1fr auto;align-items:center;gap:.85rem;padding:.85rem 1rem;font-size:clamp(1rem,1.2vw,1.15rem);display:grid}.display-agenda-row--live{border-left-color:var(--success);background:#10b9811a;animation:3.6s ease-in-out infinite display-row-pulse}@keyframes display-row-pulse{0%,to{background-color:#10b9811a}50%{background-color:#10b98133}}.display-agenda-when{font-family:var(--font-mono);color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.display-agenda-title{color:var(--text-primary);word-break:break-word;min-width:0;font-weight:500}.display-agenda-meta{justify-content:flex-end;align-items:center;gap:.45rem;min-width:0;display:inline-flex}.display-event-participants{flex:none;align-items:center;gap:0;min-width:0;display:inline-flex}.display-event-participants--compact{justify-content:flex-end}.display-event-participant-color{--participant-color:var(--amethyst);background:var(--participant-color);border:2px solid var(--void-elevated);width:.72rem;height:.72rem;box-shadow:0 0 0 1px color-mix(in srgb, var(--participant-color) 45%, transparent);border-radius:50%}.display-event-participant-color+.display-event-participant-color{margin-left:-.22rem}.display-agenda-category{text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);border:1px solid var(--glass-border);border-radius:var(--radius-pill);white-space:nowrap;padding:3px 10px;font-size:.75rem}.display-tribe{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.display-card-celebration{text-align:center}.display-celebration{flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 0 .25rem;display:flex}.display-celebration-emoji{filter:drop-shadow(0 8px 20px #f43f5e59);font-size:clamp(2.5rem,4vw,3.5rem);line-height:1}.display-celebration-name{color:var(--text-primary);font-size:clamp(1.25rem,1.8vw,1.6rem);font-weight:700}.display-celebration-when{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.18em;font-size:.95rem}.display-member-wall{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.display-member{--member-tint:var(--amethyst);flex-direction:column;align-items:center;gap:.45rem;display:flex;position:relative}.display-member-avatar{object-fit:cover;width:clamp(64px,6vw,84px);height:clamp(64px,6vw,84px);color:var(--text-on-primary);background:linear-gradient(135deg, color-mix(in srgb, var(--member-tint) 92%, white), color-mix(in srgb, var(--member-tint) 60%, black));border:3px solid color-mix(in srgb, var(--member-tint) 35%, transparent);box-shadow:0 14px 30px -10px color-mix(in srgb, var(--member-tint) 50%, transparent);border-radius:50%;justify-content:center;align-items:center;font-size:clamp(1.4rem,2vw,1.8rem);font-weight:700;display:inline-flex}.display-member-name{color:var(--text-primary);text-align:center;word-break:break-word;font-size:.95rem;font-weight:600}.display-member--celebrant .display-member-avatar{outline:3px solid var(--warning);outline-offset:3px;animation:2.4s ease-in-out infinite display-celebrant-pulse}@keyframes display-celebrant-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.display-member-badge{background:var(--void-elevated);border:1px solid var(--glass-border);border-radius:50%;padding:2px 4px;font-size:1.2rem;position:absolute;top:-4px;right:14%}.display-empty{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:2rem 1rem;font-size:1rem;display:flex}.display-empty-glyph{color:var(--text-muted);font-size:2rem;line-height:.5}.display-empty--soft{padding:1rem}@media (max-width:1024px),(orientation:portrait){.display-dashboard{height:auto;min-height:100vh;padding:1.25rem;overflow-y:auto}.display-layout-grid{flex-direction:column;gap:1.25rem;height:auto;display:flex}.display-widget{display:flex}.display-horizon{overflow:visible}.display-agenda{max-height:none;overflow:visible}.display-clock{font-size:clamp(3rem,14vw,5rem)}.display-card{padding:1.25rem}}.display-dashboard--eink{color:#000;background:#fff}.display-dashboard--eink .display-layout-grid{gap:1rem}.display-dashboard--eink .display-card{box-shadow:none;-webkit-backdrop-filter:none;background:#fff;border:2px solid #000;border-radius:8px}.display-dashboard--eink .display-hearth-name,.display-dashboard--eink .display-clock,.display-dashboard--eink .display-date,.display-dashboard--eink .display-focus-title,.display-dashboard--eink .display-agenda-day-name,.display-dashboard--eink .display-agenda-when,.display-dashboard--eink .display-agenda-title,.display-dashboard--eink .display-member-name,.display-dashboard--eink .display-celebration-name{color:#000;text-shadow:none;background:0 0;-webkit-background-clip:initial;background-clip:initial}.display-dashboard--eink .display-section-header,.display-dashboard--eink .display-section-header h2,.display-dashboard--eink .display-date,.display-dashboard--eink .display-focus-meta,.display-dashboard--eink .display-agenda-day-date,.display-dashboard--eink .display-agenda-category,.display-dashboard--eink .display-device-tag,.display-dashboard--eink .display-empty,.display-dashboard--eink .display-celebration-when{color:#111}.display-dashboard--eink .display-focus,.display-dashboard--eink .display-agenda-row,.display-dashboard--eink .display-agenda-row--live{background:#fff;border-left-color:#000}.display-dashboard--eink .display-member-avatar{color:#fff;box-shadow:none;background:#000;border-color:#000}.display-dashboard--eink .display-focus--live,.display-dashboard--eink .display-agenda-row--live,.display-dashboard--eink .display-member--celebrant .display-member-avatar{animation:none}@media (prefers-reduced-motion:reduce){.display-focus--live,.display-agenda-row--live,.display-member--celebrant .display-member-avatar,.display-state-loading .display-skeleton-card{animation:none}}.display-device-composer-shell{gap:.85rem;margin-top:1rem;display:grid}.display-config-toggle{color:var(--accent-strong,#6d28d9);background:#7c3aed14;border-radius:999px;justify-self:flex-start;padding-inline:.95rem}.display-device-compact-preview{color:var(--text-muted);background:radial-gradient(circle at 0 0,#7c3aed1a,#0000 42%),#ffffff94;border:1px solid #7c3aed24;border-radius:18px;grid-template-columns:minmax(120px,180px) 1fr;align-items:center;gap:.85rem;padding:.85rem;font-size:.9rem;line-height:1.45;display:grid}.display-device-compact-preview .display-layout-preview{min-height:92px;box-shadow:none}[data-theme=dark] .display-device-compact-preview{background:radial-gradient(circle at 0 0,#a78bfa24,#0000 42%),#0f172a8f;border-color:#a78bfa2e}@media (max-width:760px){.display-device-compact-preview{grid-template-columns:1fr}}.display-layout-card-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin:0;padding:0;display:grid}.display-layout-card{gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--text-primary);background:#ffffff08;flex-direction:column;min-height:132px;font-family:inherit;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;display:flex;position:relative}.display-layout-card:hover{background:#ffffff0d;border-color:#7c3aed59;transform:translateY(-1px)}.display-layout-card:focus-visible{outline:2px solid var(--amethyst);outline-offset:2px}.display-layout-card--selected{border-color:var(--amethyst);box-shadow:0 0 0 1px var(--amethyst-glow), 0 12px 24px -16px var(--amethyst-glow);background:linear-gradient(135deg,#7c3aed1a,#7c3aed05)}.display-layout-card--selected:after{content:"✓";background:var(--amethyst);color:#fff;width:22px;height:22px;box-shadow:0 6px 14px -6px var(--amethyst-glow);border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:inline-flex;position:absolute;top:8px;right:10px}[data-theme=light] .display-layout-card{background:#ffffffa6;border-color:#00000014}[data-theme=light] .display-layout-card:hover{background:#ffffffd9}.display-layout-card-label{color:var(--text-primary);letter-spacing:.01em;font-size:.85rem;font-weight:600}.display-layout-select-fallback{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.display-layout-preview{aspect-ratio:16/10;border:1px solid var(--glass-border);background:#7882b40a;border-radius:8px;gap:3px;width:100%;padding:6px;display:grid}.display-layout-card .display-layout-preview{flex:1}.display-layout-preview-cell{color:#ffffffeb;background:linear-gradient(135deg,#7c3aed4d,#7c3aed2e);border-radius:4px;justify-content:center;align-items:center;min-width:0;font-size:.7rem;display:flex;position:relative;overflow:hidden}.display-layout-preview-cell[data-widget-type=agenda]{background:linear-gradient(135deg,#3b82f652,#3b82f62e)}.display-layout-preview-cell[data-widget-type=birthdays]{background:linear-gradient(135deg,#f43f5e57,#f43f5e2e)}.display-layout-preview-cell[data-widget-type=members]{background:linear-gradient(135deg,#10b98152,#10b9812e)}.display-layout-preview-cell[data-widget-type=focus]{background:linear-gradient(135deg,#f59e0b57,#f59e0b2e)}.display-layout-preview-cell[data-widget-type=clock]{background:linear-gradient(135deg,#94a3b857,#94a3b829)}.display-layout-preview-cell[data-widget-type=identity]{background:linear-gradient(135deg,#a855f757,#a855f72e)}.display-layout-preview-cell[data-widget-type=home_header]{background:linear-gradient(135deg,#7c3aed6b,#7c3aed3d)}[data-theme=light] .display-layout-preview{background:#00000008;border-color:#00000012}.display-layout-preview-cell-glyph,.display-layout-preview-cell-label{display:none}.display-layout-preview--labeled .display-layout-preview-cell{color:#fffffff5;text-shadow:0 1px 4px #00000073;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px;font-size:.78rem}.display-layout-preview--labeled .display-layout-preview-cell-glyph,.display-layout-preview--labeled .display-layout-preview-cell-label{justify-content:center;align-items:center;display:inline-flex}.display-layout-preview--labeled .display-layout-preview-cell-glyph{opacity:.9;font-size:1.1rem;font-weight:600}.display-layout-preview--labeled .display-layout-preview-cell-label{letter-spacing:.02em;text-align:center;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.72rem;font-weight:600;line-height:1.15;display:-webkit-box;overflow:hidden}[data-theme=light] .display-layout-preview--labeled .display-layout-preview-cell{color:#0f172aeb;text-shadow:0 1px #ffffff80}.display-live-preview-body{gap:var(--space-md);grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr);align-items:start;display:grid}@media (max-width:720px){.display-live-preview-body{grid-template-columns:1fr}}.display-live-preview-frame{background:linear-gradient(160deg,#0f1420 0%,#060812 100%);border-radius:22px;padding:10px;position:relative;box-shadow:inset 0 1px #ffffff0f,0 18px 36px -20px #0000008c}.display-live-preview-frame:before{content:"";background:#7c3aed80;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.display-live-preview-frame-bezel{background:radial-gradient(120% 120% at 30% 20%,#7c3aed2e,#0000 60%),linear-gradient(160deg,#1a1f33 0%,#0a0d18 100%);border-radius:14px;padding:8px;overflow:hidden}.display-live-preview-frame-bezel .display-layout-preview{background:#ffffff05;border-color:#ffffff0d}.display-live-preview-frame--eink{background:#d8d4cb}.display-live-preview-frame--eink:before{background:#00000059}.display-live-preview-frame--eink .display-live-preview-frame-bezel{background:#fff}.display-live-preview-frame--eink .display-layout-preview{background:#fff;border:1px solid #000}.display-live-preview-frame--eink .display-layout-preview-cell{color:#000;text-shadow:none;border:1.5px solid #000;background:#fff!important}[data-theme=light] .display-live-preview-frame{background:linear-gradient(160deg,#1a1d2e 0%,#0d0f1c 100%)}.display-live-preview-meta{gap:var(--space-sm);flex-direction:column;min-width:0;display:flex}.display-live-preview-title{color:var(--text-primary);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.display-live-preview-grid-summary{text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);font-size:.78rem;font-weight:600}.display-live-preview-slots{scrollbar-width:thin;flex-direction:column;gap:4px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.display-live-preview-slots li{border:1px solid var(--glass-border);color:var(--text-secondary);background:#ffffff05;border-radius:8px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;font-size:.82rem;display:grid}.display-live-preview-slot-glyph{width:22px;height:22px;color:var(--text-primary);background:#7c3aed2e;border-radius:6px;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:inline-flex}.display-live-preview-slot-glyph[data-widget-type=agenda]{background:#3b82f638}.display-live-preview-slot-glyph[data-widget-type=birthdays]{background:#f43f5e38}.display-live-preview-slot-glyph[data-widget-type=members]{background:#10b98138}.display-live-preview-slot-glyph[data-widget-type=focus]{background:#f59e0b38}.display-live-preview-slot-glyph[data-widget-type=home_header]{background:#7c3aed52}.display-live-preview-slot-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.display-live-preview-slot-coords{font-family:var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.74rem}[data-theme=light] .display-live-preview-slots li{background:#00000006;border-color:#00000014}.display-slot-editor{padding:var(--space-sm);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#7882b40a;flex-direction:column;gap:6px;display:flex}.display-slot-editor-head,.display-slot-editor-row{grid-template-columns:28px minmax(140px,2.4fr) repeat(4,minmax(60px,1fr)) minmax(168px,1.8fr);align-items:center;gap:8px;display:grid}.display-slot-editor-head{border-bottom:1px solid var(--glass-border);margin-bottom:4px;padding:0 2px 6px}.display-slot-editor-head-cell{text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);font-size:.7rem;font-weight:700}.display-slot-editor-head-cell--type{grid-column:2}.display-slot-editor-row{background:#ffffff05;border:1px solid #0000;border-radius:8px;padding:6px;transition:background .15s,border-color .15s}.display-slot-editor-row:hover,.display-slot-editor-row:focus-within{border-color:var(--glass-border);background:#ffffff0a}.display-slot-editor-marker{width:28px;height:28px;color:var(--text-primary);background:#7c3aed29;border-radius:8px;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;display:inline-flex}.display-slot-editor-marker[data-widget-type=agenda]{background:#3b82f638}.display-slot-editor-marker[data-widget-type=birthdays]{background:#f43f5e38}.display-slot-editor-marker[data-widget-type=members]{background:#10b98138}.display-slot-editor-marker[data-widget-type=focus]{background:#f59e0b38}.display-slot-editor-marker[data-widget-type=home_header]{background:#7c3aed52}.display-slot-editor-type{min-width:0}.display-slot-editor-num{text-align:center;font-variant-numeric:tabular-nums;min-width:0;padding:10px 8px}.display-slot-visual-controls{grid-template-columns:repeat(4,minmax(30px,1fr));align-items:center;gap:4px;display:grid}.display-slot-control-btn{border:1px solid var(--glass-border);min-width:0;min-height:30px;color:var(--text-primary);cursor:pointer;background:#ffffff0d;border-radius:8px;padding:.25rem .35rem;font-size:.78rem;font-weight:700;line-height:1}.display-slot-control-btn:hover:not(:disabled),.display-slot-control-btn:focus-visible:not(:disabled){background:var(--accent-soft);border-color:#7c3aed73;outline:none}.display-slot-control-btn:disabled{opacity:.35;cursor:not-allowed}.display-slot-control-btn--wide{font-size:.68rem}[data-theme=light] .display-slot-editor{background:#00000006;border-color:#00000014}[data-theme=light] .display-slot-editor-row{background:#ffffff80}[data-theme=light] .display-slot-editor-row:hover,[data-theme=light] .display-slot-editor-row:focus-within{background:#fffc;border-color:#0000000f}@media (max-width:720px){.display-slot-editor-head{display:none}.display-slot-editor-row{grid-template-columns:28px repeat(4,minmax(0,1fr));row-gap:6px}.display-slot-editor-row .display-slot-editor-type{grid-column:2/-1}.display-slot-visual-controls{grid-column:1/-1}}.display-create-form-heading{gap:.25rem;margin-bottom:.2rem;display:grid}.display-create-form-heading h2{color:var(--text-primary);margin:0;font-size:1.1rem}.display-create-form-heading p{color:var(--text-muted);margin:0;line-height:1.45}.templates-view{gap:12px;width:min(100%,1120px);margin:0 auto}.templates-header{align-items:flex-start;gap:var(--space-md);margin-bottom:0}.templates-title-block{align-items:center;gap:13px;min-width:0;display:flex}.templates-page-icon{background:color-mix(in srgb, var(--accent-sky) 12%, var(--surface-paper));width:44px;height:44px;color:color-mix(in srgb, var(--accent-sky) 76%, var(--text-primary));border:1px solid var(--border-subtle);border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.templates-header p{color:var(--text-secondary);margin-top:4px}.templates-apply-panel{gap:var(--space-md);border:1px solid var(--border-subtle);background:var(--surface-paper);box-shadow:var(--shadow-soft);border-radius:14px;grid-template-columns:minmax(180px,240px) minmax(220px,1fr);padding:14px;display:grid}.templates-apply-panel label,.template-editor label{color:var(--text-secondary);gap:6px;font-size:.85rem;font-weight:600;display:grid}.input-with-icon{display:block;position:relative}.input-with-icon svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-with-icon .form-input{padding-left:38px}.templates-section{gap:10px;display:grid}.section-title h2{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.78rem}.templates-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:10px;display:grid}.template-card{border:1px solid var(--border-subtle);background:var(--surface-paper);box-shadow:var(--shadow-soft);border-radius:14px;gap:12px;min-height:236px;padding:14px 72px 14px 14px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.template-card:hover{border-color:color-mix(in srgb, var(--accent-sky) 18%, var(--border-subtle));transform:translateY(-1px);box-shadow:0 14px 34px -24px #2a231c61}.template-card-visual{border:1px solid var(--border-subtle);border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;position:absolute;top:14px;right:14px}.template-card-visual-builtin{background:color-mix(in srgb, var(--amethyst) 10%, var(--surface-soft));color:color-mix(in srgb, var(--amethyst) 74%, var(--text-primary))}.template-card-visual-custom{background:color-mix(in srgb, var(--accent-sage) 13%, var(--surface-soft));color:color-mix(in srgb, var(--accent-sage) 76%, var(--text-primary))}.template-card-title-row{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.template-card h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:850}.template-card p{color:var(--text-secondary);margin:6px 0 0;line-height:1.45}.template-badge{border-radius:var(--radius-pill);padding:3px 8px;font-size:.72rem;font-weight:700}.template-badge.builtin{color:var(--amethyst);background:#7c3aed24}.template-badge.custom{color:var(--success);background:#10b98124}.template-stats{gap:var(--space-sm);display:flex}.template-stats span{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-soft) 74%, transparent);border:1px solid var(--border-subtle);color:var(--text-secondary);align-items:center;gap:5px;padding:5px 9px;font-size:.82rem;display:inline-flex}.template-preview-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.template-preview-grid h4,.template-editor-section h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:.8rem}.template-preview-grid ul,.template-editor-section ul{color:var(--text-secondary);margin:0;padding-left:18px;line-height:1.6}.template-actions{gap:var(--space-sm);flex-wrap:wrap;align-items:center;margin-top:auto;display:flex}.btn-primary.small,.btn-ghost.small{padding:7px 10px;font-size:.82rem}.btn-ghost.danger{color:var(--danger)}.template-editor{gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--border-subtle);background:var(--surface-paper);box-shadow:var(--shadow-soft);border-radius:14px;display:grid}.template-editor-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.template-editor-section{gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 48%, var(--surface-paper));border-radius:12px;display:grid}.status-banner{border-radius:var(--radius-md);color:var(--success);background:#10b9811f;padding:10px 14px}.status-banner.error{color:var(--danger);background:#ef44441f}.loading-card{padding:var(--space-lg);border-radius:var(--radius-lg);color:var(--text-secondary)}.template-empty{border:1px dashed var(--border-subtle);background:var(--surface-paper);box-shadow:var(--shadow-soft)}@media (max-width:780px){.templates-header,.templates-apply-panel,.template-editor-grid,.template-preview-grid{grid-template-columns:1fr}.templates-header{display:grid}}.settings-help{color:var(--text-muted);margin:0 0 var(--space-md);font-size:.9rem;line-height:1.5}.settings-form{gap:var(--space-md);display:grid}.settings-checklist{gap:var(--space-xs);padding:var(--space-sm);border:1px solid var(--glass-border);border-radius:var(--radius-md);display:grid}.settings-list{gap:var(--space-sm);display:grid}.settings-list-item{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--glass-border);border-radius:var(--radius-md);display:flex}.settings-row-actions{gap:var(--space-xs);flex-wrap:wrap;justify-content:flex-end;display:flex}.muted-text{color:var(--text-muted);margin-top:2px;font-size:.82rem}@media (max-width:768px){.settings-list-item{flex-direction:column}.settings-row-actions{justify-content:flex-start}}.muted{color:var(--text-muted);font-size:.85rem}.form-status{color:var(--text-secondary);font-size:.88rem}.school-timetables-view{gap:12px;width:min(100%,1180px);margin:0 auto;display:grid}.school-header{margin-bottom:0}.school-title-block{align-items:center;gap:13px;min-width:0;display:flex}.school-page-icon{background:color-mix(in srgb, var(--accent-sky) 12%, var(--surface-paper));width:44px;height:44px;color:color-mix(in srgb, var(--accent-sky) 76%, var(--text-primary));border:1px solid var(--border-subtle);border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.school-timetables-view .btn-danger{color:var(--danger);border-radius:var(--radius-sm);cursor:pointer;background:#ef444414;border:1px solid #ef444452;align-items:center;gap:8px;padding:12px 16px;font-family:inherit;font-size:.92rem;font-weight:600;transition:all .18s;display:inline-flex}.school-timetables-view .btn-danger:hover{border-color:var(--danger);background:#ef444424}[data-theme=light] .school-timetables-view .btn-danger{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.school-empty-rich{align-items:center;gap:var(--space-md);padding:var(--space-2xl) var(--space-md);text-align:center;color:var(--text-secondary);border:1px dashed var(--border-subtle);background:var(--surface-paper);box-shadow:var(--shadow-soft);border-radius:14px;flex-direction:column;display:flex}.school-empty-icon-wrap{background:color-mix(in srgb, var(--accent-sky) 12%, var(--surface-soft));width:80px;height:80px;color:color-mix(in srgb, var(--accent-sky) 76%, var(--text-primary));border:1px solid var(--border-subtle);border-radius:20px;justify-content:center;align-items:center;display:inline-flex}.school-empty-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.school-empty-body{max-width:460px;margin:0;font-size:.95rem;line-height:1.55}.school-empty-cta{margin-top:var(--space-sm);align-items:center;gap:8px;display:inline-flex}.school-add-btn{align-items:center;gap:8px;padding:12px 20px;font-size:.92rem;display:inline-flex}.school-layout{gap:var(--space-md);grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;display:grid}.school-list-card,.school-editor-card{background:var(--surface-paper);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);border-radius:14px;padding:14px}[data-theme=light] .school-list-card,[data-theme=light] .school-editor-card{background:var(--surface-paper);box-shadow:var(--shadow-soft)}.school-editor-card{gap:var(--space-lg);flex-direction:column;display:flex}.school-editor-section{gap:var(--space-md);flex-direction:column;display:flex}.school-section-head{flex-direction:column;gap:2px;display:flex}.school-section-title{letter-spacing:-.01em;color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.school-section-hint{color:var(--text-muted);margin:0;font-size:.82rem}.school-list-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:baseline;display:flex}.school-list-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.78rem;font-weight:700}.school-list-count{color:var(--text-secondary);background:color-mix(in srgb, var(--surface-soft) 80%, transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);text-align:center;min-width:28px;padding:2px 10px;font-size:.78rem;font-weight:600}.school-list-empty{margin:0 0 var(--space-sm)}.school-list-items{flex-direction:column;gap:4px;display:flex}.school-list-item{border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--text-primary);background:0 0;border:1px solid #0000;flex-direction:column;gap:6px;padding:12px;font-family:inherit;transition:background .15s,border-color .15s;display:flex}.school-list-item:hover{background:color-mix(in srgb, var(--surface-soft) 58%, var(--surface-paper));border-color:color-mix(in srgb, var(--amethyst) 18%, var(--border-subtle))}.school-list-item.active{background:color-mix(in srgb, var(--amethyst) 10%, var(--surface-paper));border-color:color-mix(in srgb, var(--amethyst) 34%, var(--border-subtle));box-shadow:0 4px 16px -12px var(--amethyst-glow)}.school-list-item-name{font-size:.95rem;font-weight:600}.school-list-item-meta{justify-content:space-between;align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:.8rem;display:flex}.school-list-item-class{font-weight:500}.school-list-item-children{align-items:center;display:inline-flex}.school-list-item-children>*+*{margin-left:-6px}.school-meta-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.school-field{flex-direction:column;gap:6px;display:flex}.school-field>span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.school-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-self:flex-start;align-items:center;gap:12px;display:inline-flex}.school-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.school-toggle-track{border-radius:var(--radius-pill);background:#7882b447;flex-shrink:0;width:42px;height:24px;transition:background .2s;display:inline-block;position:relative}.school-toggle-thumb{width:20px;height:20px;transition:transform .2s var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #0003}.school-toggle input:checked+.school-toggle-track{background:var(--amethyst)}.school-toggle input:checked+.school-toggle-track .school-toggle-thumb{transform:translate(18px)}.school-toggle input:focus-visible+.school-toggle-track{outline:2px solid var(--amethyst);outline-offset:2px}.school-toggle-label{color:var(--text-primary);font-size:.92rem}.school-children-row{gap:var(--space-sm);flex-wrap:wrap;display:flex}.school-child-chip{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-paper);color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;padding:5px 14px 5px 5px;font-family:inherit;font-size:.9rem;transition:all .18s;display:inline-flex}.school-child-chip:hover{background:#7c3aed14;border-color:#7c3aed66}.school-child-chip.active{border-color:color-mix(in srgb, var(--amethyst) 36%, var(--border-subtle));background:color-mix(in srgb, var(--amethyst) 10%, var(--surface-paper));box-shadow:0 4px 14px -8px var(--amethyst-glow)}.school-child-chip-name{font-weight:500}.school-child-chip-check{background:var(--amethyst);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}[data-theme=light] .school-child-chip{background:#ffffffb3}.school-day-pager{background:color-mix(in srgb, var(--surface-soft) 70%, transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-wrap:nowrap;gap:4px;padding:4px;display:none;overflow-x:auto}.school-day-tab{border-radius:var(--radius-sm);min-width:48px;min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1 1 0;padding:10px 12px;font-family:inherit;font-size:.92rem;font-weight:600;transition:all .15s}.school-day-tab:hover{color:var(--text-primary)}.school-day-tab.active{background:var(--surface-paper);border:1px solid var(--border-subtle);color:var(--text-primary);box-shadow:var(--shadow-soft)}.school-grid{grid-template-columns:120px repeat(var(--school-columns,5), minmax(110px, 1fr));background:color-mix(in srgb, var(--surface-soft) 72%, var(--surface-paper));border:1px solid var(--border-subtle);border-radius:12px;gap:0;padding:0;display:grid;overflow:auto hidden}.school-grid-corner{background:0 0}.school-grid-day-head{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);background:var(--surface-paper);text-align:center;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 8px;display:flex}.school-grid-day-short{color:var(--text-primary);font-size:1rem;font-weight:700}.school-grid-day-full{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.7rem;font-weight:500}.school-grid-row,.school-grid-row--break{display:contents}.school-grid-time{background:var(--surface-paper);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);z-index:1;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:10px 14px;display:flex;position:sticky;left:0}.school-grid-time-num{color:var(--text-primary);font-size:1rem;font-weight:700}.school-grid-time-range{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.72rem}.school-grid-time--break{background:color-mix(in srgb, var(--accent-amber) 10%, var(--surface-paper))}.school-grid-break-bar{background:color-mix(in srgb, var(--accent-amber) 10%, var(--surface-paper));color:color-mix(in srgb, var(--accent-amber) 76%, var(--text-primary));letter-spacing:.02em;border:0;border-bottom:1px solid color-mix(in srgb, var(--accent-amber) 24%, var(--border-subtle));border-radius:0;grid-column:2/-1;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;font-weight:600;display:flex}.school-cell{--st-bg:#ffffff05;--st-fg:var(--text-primary);background:var(--st-bg);border:1px solid #7882b429;border-top:0;border-left:0;border-radius:0;min-height:56px;transition:border-color .15s,transform .15s;display:flex}[data-theme=light] .school-cell{background:#ffffffa6}.school-cell:hover{border-color:#7c3aed52}.school-cell--filled{background:var(--st-bg);border-color:#0000;box-shadow:inset 0 0 0 1px #ffffff0a}.school-cell-input{width:100%;min-width:0;color:var(--st-fg);text-align:center;background:0 0;border:none;flex:1;padding:10px 12px;font-family:inherit;font-size:.92rem;font-weight:600}.school-cell-input::placeholder{color:var(--text-muted);font-weight:400}.school-cell-input:focus-visible{outline:2px solid var(--amethyst);outline-offset:-2px;border-radius:var(--radius-sm)}.school-day-list{display:none}.school-day-list-item{--st-bg:#ffffff08;--st-fg:var(--text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--st-bg);grid-template-columns:84px 1fr;align-items:center;gap:12px;padding:10px 12px;display:grid}[data-theme=light] .school-day-list-item{background:#ffffffb3}.school-day-list-item--filled{background:var(--st-bg);border-color:#0000}.school-day-list-item--break{color:var(--warning);background:linear-gradient(135deg,#f59e0b1f,#f43f5e0f);border-color:#f59e0b47}.school-day-list-time{font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.school-day-list-num{color:var(--text-primary);font-size:1rem;font-weight:700}.school-day-list-range{color:var(--text-muted);font-size:.72rem}.school-day-list-input{text-align:left;color:var(--st-fg);min-height:44px;padding:12px;font-size:1rem;font-weight:600}.school-periods-config{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#7882b40a;padding:0}.school-periods-config>summary{justify-content:space-between;align-items:center;gap:var(--space-sm);cursor:pointer;padding:14px 16px;font-weight:600;list-style:none;display:flex}.school-periods-config>summary::-webkit-details-marker{display:none}.school-periods-chevron{color:var(--text-muted);transition:transform .2s}.school-periods-config[open] .school-periods-chevron{transform:rotate(180deg)}.school-periods-config[open]>summary{border-bottom:1px solid var(--glass-border)}.school-periods{gap:8px;padding:14px 16px;display:grid}.school-period-row{grid-template-columns:minmax(0,1.4fr) 110px 110px 110px 40px;align-items:center;gap:8px;display:grid}.school-period-row--break .school-period-label{color:var(--warning);font-style:italic}.school-period-remove{border-radius:var(--radius-sm);border:1px solid var(--glass-border);width:40px;height:40px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.school-period-remove:hover{color:var(--danger);background:#ef444414;border-color:#ef444466}.school-periods-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.school-form-status{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:#7882b414;margin:0;padding:10px 14px}.school-action-bar{padding-top:var(--space-md);border-top:1px solid var(--glass-border);flex-wrap:wrap;gap:12px;display:flex}.display-school-today{background:#ffffff14;border:1px solid #94a3b847;border-radius:20px;margin-bottom:1rem;padding:.8rem}.display-school-today-title{align-items:center;gap:.45rem;margin-bottom:.65rem;font-weight:800;display:flex}.display-school-groups{gap:.65rem;display:grid}.display-school-group{background:#0f172a14;border-radius:16px;padding:.65rem}.display-school-group-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.display-school-children{flex-wrap:wrap;gap:.35rem;margin:.45rem 0;display:flex}.display-school-child{border-left:4px solid var(--child-color,#8b5cf6);background:#ffffff1f;border-radius:999px;padding:.15rem .45rem;font-size:.82rem}.display-school-lessons{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.display-school-lesson{grid-template-columns:95px 1fr;gap:.45rem;font-size:.9rem;display:grid}.display-school-lesson-time,.display-school-lesson--break{opacity:.78}@media (max-width:760px){.school-layout{gap:var(--space-md);grid-template-columns:1fr}.school-list-card,.school-editor-card{padding:var(--space-md)}.school-editor-card{margin-bottom:calc(88px + env(safe-area-inset-bottom))}.school-meta-grid{grid-template-columns:1fr}.school-grid{display:none}.school-day-pager{display:flex}.school-day-list{flex-direction:column;gap:8px;display:flex}.school-period-row{grid-template-columns:1fr 1fr;gap:8px}.school-period-label{grid-column:1/-1}.school-period-remove{grid-column:1/-1;width:100%}.school-action-bar>*{flex:100%;justify-content:center}}.calendar-page,.tasks-page,.shopping-page{gap:var(--space-lg);display:grid}.family-view-header{padding:var(--space-lg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--surface-raised), var(--void-surface));box-shadow:var(--shadow-soft);margin-bottom:0}.view-kicker{color:var(--amethyst);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:.72rem;font-weight:800}.calendar-controls-surface{padding:var(--space-sm);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--void-surface);box-shadow:var(--shadow-soft);margin-bottom:0}.calendar-grid-wrapper{border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.calendar-day{background:#ffffff04;justify-content:flex-start;align-items:flex-start;min-height:92px;padding:10px}.calendar-day-num{align-self:flex-start}.calendar-day-dots{justify-content:flex-start;align-self:stretch;margin-top:auto}.calendar-day.today{background:#8b5e9f1a;border-color:#8b5e9f52}.calendar-day.selected{border-color:var(--amethyst);background:#8b5e9f29;box-shadow:inset 0 0 0 1px #8b5e9f42}.calendar-day.selected .calendar-day-num{color:var(--text-primary);font-weight:800}.day-detail-panel{border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.day-event-card{border-radius:var(--radius-md);background:var(--surface-soft)}.tasks-wrapper,.shopping-items-wrapper,.shopping-templates-panel,.shopping-list-card{box-shadow:var(--shadow-soft)}.tasks-toolbar{padding-top:var(--space-md)}.task-card{border-color:var(--glass-border);background:var(--surface-soft);min-height:68px}.task-card.done{opacity:.68}.shopping-active-header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-lg) var(--space-md);display:flex}.shopping-active-header h2{margin:0;font-size:1.15rem}.shopping-category-overview{gap:var(--space-xs);padding:0 var(--space-lg) var(--space-sm);scrollbar-width:none;display:flex;overflow-x:auto}.shopping-category-overview::-webkit-scrollbar{display:none}.shopping-category-overview-chip{border:1px solid var(--glass-border);border-radius:var(--radius-pill);background:var(--surface-soft);min-height:40px;color:var(--text-secondary);font:inherit;white-space:nowrap;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.shopping-category-overview-chip:hover,.shopping-category-overview-chip:focus-visible{color:var(--text-primary);box-shadow:0 0 0 3px var(--amethyst-glow);border-color:#8b5e9f52;outline:none}.shopping-category-overview-chip strong{color:var(--amethyst);font-size:.8rem}.shopping-category-header{border-radius:var(--radius-sm)}.shopping-item{min-height:60px}.shopping-check,.task-checkbox{background:var(--void-surface)}@media (max-width:900px){.shopping-layout{grid-template-columns:1fr}}@media (max-width:768px){.calendar-page,.tasks-page,.shopping-page{gap:var(--space-md)}.family-view-header{padding:var(--space-md);border-radius:var(--radius-lg)}.calendar-controls-surface{align-items:stretch}.calendar-nav{flex:100%;justify-content:space-between}.calendar-month-label{flex:1;min-width:0}.calendar-day{grid-template-rows:20px 8px 14px;min-height:56px;padding:7px}.calendar-day-dots{gap:2px;height:12px}.day-detail-panel{scroll-margin-top:88px;scroll-margin-bottom:calc(128px + env(safe-area-inset-bottom))}.day-detail-panel .quick-add-form>button[type=submit]{margin-top:var(--space-sm);scroll-margin-bottom:calc(128px + env(safe-area-inset-bottom))}.day-detail-panel .event-card-action{scroll-margin-bottom:calc(128px + env(safe-area-inset-bottom))}.tasks-refine-controls{grid-template-columns:1fr;display:grid}.task-card{align-items:center;gap:10px;padding:12px}.task-edit-btn,.task-delete-btn{opacity:1}.shopping-active-header{padding:var(--space-md) var(--space-md) var(--space-sm);align-items:flex-start}.shopping-category-overview{padding-left:var(--space-md);padding-right:var(--space-md)}.shopping-item{min-height:60px;padding:6px var(--space-md)}.shopping-item-info{align-items:center;gap:2px;display:grid}.quick-capture-item{grid-template-columns:1fr}.quick-capture-item-actions{justify-content:flex-start}}@media (max-width:1280px) and (min-width:769px){.shopping-layout{grid-template-columns:minmax(220px,260px) minmax(0,1fr);align-items:start}.shopping-lists-panel{grid-area:1/1}.shopping-templates-panel{grid-area:2/1}.shopping-items-panel{grid-area:1/2/span 2}}.shopping-items-wrapper>.quick-add-bar{grid-template-columns:minmax(0,1.3fr) minmax(128px,.75fr) minmax(128px,.75fr) 48px;align-items:stretch;display:grid}.shopping-items-wrapper>.quick-add-bar .shopping-item-suggest-field,.shopping-items-wrapper>.quick-add-bar .quick-add-input{min-width:0}.shopping-items-wrapper>.quick-add-bar .shopping-spec-input,.shopping-items-wrapper>.quick-add-bar .shopping-category-input{width:100%;flex:none!important}@media (max-width:1280px) and (min-width:769px){.shopping-items-wrapper>.quick-add-bar{grid-template-columns:minmax(0,1fr) 48px}.shopping-items-wrapper>.quick-add-bar .shopping-item-suggest-field{grid-area:1/1}.shopping-items-wrapper>.quick-add-bar .quick-add-btn{grid-area:1/2}.shopping-items-wrapper>.quick-add-bar .shopping-spec-input{grid-area:2/1/auto/3}.shopping-items-wrapper>.quick-add-bar .shopping-category-input{grid-area:3/1/auto/3;min-width:0}}.tasks-page{gap:12px;width:min(100%,760px);margin:0 auto}.tasks-page .tasks-layout{min-width:0;max-width:100%;display:block}.tasks-page .tasks-wrapper{border-color:var(--border-subtle);background:var(--surface-paper);min-width:0;max-width:100%;box-shadow:var(--shadow-soft);border-radius:14px}.tasks-card-header,.shopping-active-header{min-height:54px;padding:12px 16px 8px}.tasks-card-header{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.tasks-card-header h1,.shopping-active-header h1{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:850;line-height:1.2}.tasks-card-actions,.shopping-active-actions{align-items:center;gap:8px;min-width:0;display:flex}.tasks-new-btn,.shopping-add-item-btn{background:var(--amethyst);min-height:36px;color:var(--text-on-primary);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:9px;padding:8px 13px;font-size:.78rem;font-weight:800}.shopping-add-item-btn{background:color-mix(in srgb, var(--success) 82%, #1b5f24);align-items:center;gap:6px;display:inline-flex}.tasks-page .tasks-toolbar{justify-content:space-between;align-items:center;gap:10px;padding:0 16px 8px;display:flex}.tasks-page .tasks-filter-tabs{background:0 0;border:0;flex:auto;gap:8px;min-width:0;padding:0}.tasks-page .tasks-filter-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-paper);min-height:34px;color:var(--text-secondary);box-shadow:none;align-items:center;gap:7px;padding:6px 11px;display:inline-flex}.tasks-page .tasks-filter-btn.active{background:color-mix(in srgb, var(--amethyst) 9%, var(--surface-paper));border-color:color-mix(in srgb, var(--amethyst) 28%, var(--border-subtle));color:var(--amethyst);box-shadow:none}.tasks-page .tasks-filter-btn strong{border-radius:var(--radius-pill);background:color-mix(in srgb, currentColor 12%, transparent);color:currentColor;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.68rem;line-height:1;display:inline-flex}.tasks-refine-toggle{min-height:34px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:6px;font-size:.78rem;font-weight:750;display:inline-flex}.tasks-refine-toggle:hover,.tasks-refine-toggle.active{color:var(--text-primary);background:var(--surface-soft)}.tasks-page .quick-add-bar{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 58%, transparent);grid-template-columns:minmax(0,1fr) auto 48px;align-items:stretch;gap:8px;padding:8px 16px 12px;display:grid}.tasks-page .quick-add-bar.quick-add-expanded{border-bottom:0;padding-bottom:8px}.tasks-page .quick-add-bar.quick-add-expanded+.task-form-fields{border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 58%, transparent);padding:0 16px 12px}.tasks-page .quick-add-input,.shopping-items-wrapper .quick-add-input{border-color:var(--border-subtle);background:var(--surface-paper);color:var(--text-primary);box-shadow:none;border-radius:9px}.tasks-page .quick-add-btn,.shopping-items-wrapper .quick-add-btn{background:var(--surface-paper);color:var(--amethyst);border:1px solid var(--border-subtle);box-shadow:none;border-radius:9px}.tasks-page .task-form-toggle{white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-self:stretch;min-height:48px;padding:0 10px}.tasks-page .task-form-toggle:hover{background:var(--surface-paper);border-color:var(--border-subtle)}.tasks-page .tasks-refine-controls{border:1px solid var(--border-subtle);background:var(--surface-soft);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:8px;width:auto;margin:0 16px 10px;padding:10px;display:grid}.tasks-page .tasks-refine-controls .tasks-state-tabs{grid-column:1/-1}.tasks-page .tasks-refine-input{width:100%;min-width:0}.tasks-state-tabs{flex-wrap:wrap;gap:6px;width:100%;display:flex}.tasks-state-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-paper);min-height:34px;color:var(--text-secondary);font:inherit;cursor:pointer;padding:6px 11px;font-size:.76rem;font-weight:750}.tasks-state-btn.active{color:var(--text-primary);background:color-mix(in srgb, var(--accent-sage) 14%, var(--surface-paper))}.tasks-page .tasks-list{gap:8px;margin-top:0;padding:10px 12px 16px}.tasks-page .task-card{border-color:var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 54%, var(--surface-paper));min-height:58px;box-shadow:none;border-radius:10px;align-items:center;gap:10px;padding:10px 12px}.tasks-page .task-card:hover{background:var(--surface-paper);border-color:color-mix(in srgb, var(--amethyst) 18%, var(--border-subtle))}.tasks-page .task-checkbox{background:var(--surface-paper);border-width:1.5px;border-radius:6px;width:24px;min-width:24px;height:24px;margin-top:0}.tasks-page .task-title{color:var(--text-primary);font-size:.9rem;font-weight:760}.tasks-page .task-description{margin-top:2px;font-size:.78rem}.tasks-page .task-meta{gap:6px;margin-top:4px}.task-due-label,.tasks-page .task-badge,.tasks-page .task-due{font-family:inherit;font-size:.7rem;font-weight:760}.task-due-today{color:var(--accent-amber)}.tasks-page .badge-overdue,.tasks-page .task-due.overdue{color:var(--danger)}.task-priority-label{border-radius:var(--radius-pill);background:var(--surface-paper);align-items:center;min-height:20px;padding:2px 8px;font-size:.68rem;font-weight:780;display:inline-flex}.task-priority-low{color:color-mix(in srgb, var(--accent-sage) 72%, var(--text-primary));background:color-mix(in srgb, var(--accent-sage) 12%, var(--surface-paper))}.task-priority-normal{color:color-mix(in srgb, var(--accent-amber) 82%, var(--text-primary));background:color-mix(in srgb, var(--accent-amber) 12%, var(--surface-paper))}.task-priority-high{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--surface-paper))}.tasks-page .task-edit-btn,.tasks-page .task-delete-btn{width:34px;min-width:34px;height:34px;min-height:34px;padding:6px}.shopping-page{gap:12px;width:min(100%,940px);margin:0 auto}.shopping-page .shopping-layout,.shopping-page .shopping-layout-readonly{grid-template-columns:1fr;gap:12px}.shopping-page .shopping-items-panel{order:1}.shopping-page .shopping-lists-panel{scrollbar-width:none;flex-direction:row;order:2;gap:8px;padding:0 0 4px;overflow-x:auto}.shopping-page .shopping-lists-panel::-webkit-scrollbar{display:none}.shopping-page .shopping-templates-panel{order:3}.shopping-page .shopping-list-card{border-color:var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 62%, var(--surface-paper));min-width:148px;min-height:58px;box-shadow:none;border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.shopping-page .shopping-list-card.active{border-color:color-mix(in srgb, var(--amethyst) 24%, var(--border-subtle));background:var(--surface-paper);box-shadow:none}.shopping-page .shopping-list-name{color:var(--text-primary);font-weight:800}.shopping-page .shopping-list-meta{color:var(--text-secondary);font-family:var(--font-ui);font-size:.74rem;font-weight:650}.shopping-page .shopping-list-delete{opacity:1;width:32px;min-width:32px;height:32px;min-height:32px;padding:6px}.shopping-page .shopping-list-progress{background:0 0;height:2px}.shopping-page .shopping-list-progress-fill{background:var(--amethyst)}.shopping-page .shopping-add-list-btn{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 62%, var(--surface-paper));min-height:58px;color:var(--text-secondary);border-radius:12px;padding:10px 13px;font-weight:700}.shopping-page .shopping-add-list-btn:hover{border-color:color-mix(in srgb, var(--amethyst) 22%, var(--border-subtle));background:var(--surface-paper);color:var(--amethyst)}.shopping-items-wrapper{border-color:var(--border-subtle);background:var(--surface-paper);box-shadow:var(--shadow-soft);border-radius:14px}.shopping-active-header{border-bottom:0;justify-content:space-between;align-items:center;display:flex}.shopping-active-select{background:var(--surface-paper);border-radius:9px;min-width:150px;min-height:38px;padding:7px 34px 7px 12px;font-size:.78rem}.shopping-items-wrapper>.quick-add-bar{grid-template-columns:minmax(0,1.25fr) minmax(120px,.75fr) minmax(120px,.75fr) 44px;padding:4px 16px 12px}.shopping-market-layout{grid-template-columns:minmax(0,1fr) minmax(160px,210px);align-items:start;gap:16px;padding:0 12px 16px 16px;display:grid}.shopping-page .shopping-items-list{gap:10px;padding:0}.shopping-page .shopping-category-group{gap:8px}.shopping-page .shopping-category-header{min-height:32px;color:var(--text-primary);letter-spacing:0;text-transform:none;background:0 0;border-radius:0;justify-content:flex-start;padding:5px 0;font-size:.78rem}.shopping-page .shopping-category-count{color:var(--text-muted);margin-left:8px}.shopping-page .shopping-category-items{gap:7px}.shopping-page .shopping-item{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 48%, var(--surface-paper));border-radius:9px;min-height:46px;padding:8px 10px}.shopping-page .shopping-item:hover{background:var(--surface-paper)}.shopping-page .shopping-check{background:var(--surface-paper);border-width:1.5px;border-radius:6px;width:24px;height:24px}.shopping-page .shopping-item-name{color:var(--text-primary);font-size:.9rem;font-weight:760}.shopping-page .shopping-item-info{gap:8px}.shopping-page .shopping-category-pill{display:none}.shopping-page .shopping-item-delete{width:34px;min-width:34px;height:34px;min-height:34px;padding:6px}.shopping-page .shopping-category-overview{gap:8px;padding:2px 0 0;display:grid;overflow:visible}.shopping-category-summary{min-height:28px;color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:7px;font-size:.78rem;display:inline-flex}.shopping-category-summary svg{color:color-mix(in srgb, var(--accent-sage) 70%, var(--text-muted))}.shopping-category-summary strong{color:var(--text-primary);font-weight:800}.shopping-category-overview-chip{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 72%, var(--surface-paper));width:100%;min-height:38px;color:var(--text-primary);box-shadow:none;cursor:pointer;font:inherit;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.79rem;font-weight:760;display:flex}.shopping-category-overview-chip:nth-child(3n+1){--shopping-category-accent:var(--accent-sky)}.shopping-category-overview-chip:nth-child(3n+2){--shopping-category-accent:var(--accent-amber)}.shopping-category-overview-chip:nth-child(3n+3){--shopping-category-accent:var(--accent-rose)}.shopping-category-overview-label{align-items:center;gap:8px;min-width:0;display:inline-flex}.shopping-category-overview-marker{background:color-mix(in srgb, var(--shopping-category-accent,var(--accent-sage)) 16%, var(--surface-paper));border:1px solid color-mix(in srgb, var(--shopping-category-accent,var(--accent-sage)) 24%, var(--border-subtle));border-radius:7px;flex:none;width:18px;height:18px}.shopping-category-overview-chip strong{color:var(--text-primary);font-size:.82rem;font-weight:850}.shopping-category-overview-chip.muted{opacity:.58}.shopping-page .shopping-templates-panel{border-color:var(--border-subtle);background:color-mix(in srgb, var(--surface-soft) 58%, var(--surface-paper));box-shadow:none;border-radius:14px;padding:14px 16px}.shopping-page .shopping-templates-header h2{color:var(--text-primary);font-size:.95rem;font-weight:850}.shopping-page .shopping-templates-panel .shopping-add-list-btn{border-radius:var(--radius-pill);background:var(--surface-paper);min-height:40px}@media (max-width:768px){.tasks-page,.shopping-page{width:100%}.tasks-card-header,.shopping-active-header{padding:12px 12px 8px}.tasks-page .tasks-toolbar{align-items:flex-start;padding:0 12px 8px}.tasks-page .tasks-filter-tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.tasks-page .tasks-filter-tabs::-webkit-scrollbar{display:none}.tasks-page .quick-add-bar{grid-template-columns:minmax(0,1fr) 44px;padding:8px 12px 12px}.tasks-page .quick-add-bar.quick-add-expanded{padding-bottom:8px}.tasks-page .quick-add-bar.quick-add-expanded+.task-form-fields{padding:0 12px 12px}.tasks-page .quick-add-input{grid-column:1/-1}.tasks-page .task-form-toggle{grid-area:2/1;justify-content:flex-start;min-height:44px}.tasks-page .quick-add-btn{grid-area:2/2;width:44px;min-width:44px;min-height:44px}.tasks-page .tasks-refine-controls{grid-template-columns:1fr;margin:0 12px 10px}.tasks-page .tasks-list{padding:10px 10px 16px}.shopping-active-header{align-items:flex-start}.shopping-active-actions{grid-template-columns:minmax(0,1fr) 44px;width:100%;display:grid}.shopping-active-select{grid-column:1;width:100%;min-width:0}.shopping-add-item-btn{grid-column:1/3;justify-content:center}.shopping-items-wrapper>.quick-add-bar{grid-template-columns:minmax(0,1fr) 44px;padding:4px 12px 12px}.shopping-market-layout{grid-template-columns:1fr;gap:12px;padding:0 12px 16px}.shopping-page .shopping-category-overview{order:-1;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0}.shopping-category-summary{grid-column:1/-1;justify-content:flex-start}.shopping-category-overview-chip{min-height:38px;padding:8px 10px}}.landing-page{background:radial-gradient(900px 520px at 50% 0%, color-mix(in srgb, var(--accent-amber) 12%, transparent), transparent 68%), linear-gradient(180deg, var(--void) 0%, var(--void-deep) 100%)}[data-theme=light] .landing-page{background:radial-gradient(760px 460px at 50% 0,#d4a24f29,#0000 70%),linear-gradient(#fff8ef 0%,#f4eadc 100%)}.landing-welcome-mat{min-height:42vh;padding-top:clamp(3.5rem,6vw,5.5rem);padding-bottom:var(--space-md)}.landing-welcome-mat h1{color:var(--text-primary);-webkit-text-fill-color:currentColor;letter-spacing:-.045em;background:0 0}.landing-hero-subtitle{max-width:34rem;color:var(--text-secondary);font-weight:400}.landing-page .auth-logo--warm{color:var(--amethyst);background:var(--surface-raised);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.landing-page .auth-logo--warm:after{display:none}.landing-paper-stack{width:min(260px,70vw);height:64px;margin:-.25rem auto var(--space-md);pointer-events:none;position:relative}.landing-paper-card{border:1px solid var(--border-subtle);background:var(--surface-paper);width:142px;height:42px;box-shadow:var(--shadow-sm);border-radius:14px;position:absolute;top:20px;left:50%}.landing-paper-card--calendar{border-top:5px solid var(--accent-sky);transform:translate(-92%)rotate(-6deg)}.landing-paper-card--tasks{border-top:5px solid var(--accent-sage);z-index:2;transform:translate(-50%)translateY(-8px)}.landing-paper-card--shopping{border-top:5px solid var(--accent-amber);transform:translate(-8%)rotate(5deg)}.landing-features{display:none}.landing-feature-card{background:var(--surface-paper);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.landing-feature-icon{color:var(--text-on-primary);background:var(--amethyst);box-shadow:none}.landing-feature-card--calendar .landing-feature-icon{background:var(--accent-sky)}.landing-feature-card--tasks .landing-feature-icon{background:var(--accent-sage)}.landing-feature-card--shopping .landing-feature-icon{background:var(--accent-amber)}.landing-feature-card--notifications .landing-feature-icon{background:var(--accent-rose)}.landing-trust-badge,.auth-card--warm{background:var(--surface-paper);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:none;padding:clamp(1rem,1.35vw,1.45rem)}.landing-trust{padding:var(--space-sm) var(--space-lg) var(--space-lg)}.landing-auth{padding-top:var(--space-md)}.auth-card--warm{border-radius:var(--radius-xl)}.auth-card--warm .auth-tabs{background:var(--surface-soft);border:1px solid var(--border-subtle)}.auth-card--warm .auth-tab.active{background:var(--amethyst);box-shadow:none}.auth-card--warm .auth-divider{color:var(--text-muted)}.display-root--hearth{color:var(--text-primary);background:radial-gradient(900px 640px at 14% 18%, color-mix(in srgb, var(--accent-amber) 13%, transparent), transparent 64%), radial-gradient(840px 620px at 84% 82%, color-mix(in srgb, var(--accent-rose) 10%, transparent), transparent 68%), linear-gradient(145deg, var(--void) 0%, var(--void-deep) 100%)}[data-theme=light] .display-root--hearth{background:radial-gradient(900px 640px at 14% 18%,#d4a24f29,#0000 64%),radial-gradient(840px 620px at 84% 82%,#c9828f1f,#0000 68%),linear-gradient(145deg,#fff7ed 0%,#f1e6d8 100%)}.display-dashboard--hearth:not(.display-dashboard--eink){--display-spacing-base:clamp(1rem, 1.85vw, 1.55rem)}.display-dashboard--hearth:not(.display-dashboard--eink) .display-card{background:color-mix(in srgb, var(--surface-paper) 94%, transparent);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:none;padding:clamp(1rem,1.35vw,1.45rem)}.display-dashboard--hearth:not(.display-dashboard--eink) .display-clock{color:var(--text-primary);text-shadow:none;font-size:clamp(3.5rem,6.7vw,6rem)}.display-dashboard--hearth:not(.display-dashboard--eink) .display-date{color:var(--text-secondary);letter-spacing:.16em}.display-dashboard--hearth:not(.display-dashboard--eink) .display-hearth-name{color:var(--text-primary);-webkit-text-fill-color:currentColor;background:0 0}.display-dashboard--hearth:not(.display-dashboard--eink) .display-device-tag,.display-dashboard--hearth:not(.display-dashboard--eink) .display-agenda-category{background:var(--surface-soft);border-color:var(--border-subtle)}.display-dashboard--hearth:not(.display-dashboard--eink) .display-focus{background:linear-gradient(135deg, color-mix(in srgb, var(--focus-tint) 12%, transparent), transparent 72%), var(--surface-paper);border-left-width:7px;justify-content:center;gap:.42rem}.display-dashboard--hearth:not(.display-dashboard--eink) .display-focus-title{font-size:clamp(1.75rem,3vw,2.45rem)}.display-dashboard--hearth:not(.display-dashboard--eink) .display-focus--live,.display-dashboard--hearth:not(.display-dashboard--eink) .display-agenda-row--live,.display-dashboard--hearth:not(.display-dashboard--eink) .display-member--celebrant .display-member-avatar{animation:none}.display-dashboard--hearth:not(.display-dashboard--eink) .display-section-header,.display-dashboard--hearth:not(.display-dashboard--eink) .display-section-header h2{color:var(--text-secondary)}.display-dashboard--hearth:not(.display-dashboard--eink) .display-agenda-row{background:var(--surface-soft);border:1px solid var(--border-subtle);border-left:5px solid var(--row-tint)}.display-dashboard--hearth:not(.display-dashboard--eink) .display-agenda-row--live{background:color-mix(in srgb, var(--accent-sage) 14%, var(--surface-soft));border-left-color:var(--accent-sage)}.display-dashboard--hearth:not(.display-dashboard--eink) .display-member-avatar{box-shadow:none;border-color:color-mix(in srgb, var(--member-tint) 30%, var(--surface-paper))}.display-dashboard--hearth:not(.display-dashboard--eink) .display-celebration-emoji{filter:none}.display-state--warm{background:radial-gradient(520px 360px at 50% 38%, color-mix(in srgb, var(--surface-paper) 72%, transparent), transparent 72%)}.display-state--warm h1{color:var(--text-primary);-webkit-text-fill-color:currentColor;background:0 0}.display-state-loading .display-skeleton-card{background:linear-gradient(100deg, color-mix(in srgb, var(--surface-paper) 84%, transparent) 0%, color-mix(in srgb, var(--surface-raised) 96%, transparent) 45%, color-mix(in srgb, var(--surface-paper) 84%, transparent) 100%);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}@media (max-width:640px){.landing-features{grid-template-columns:1fr}.landing-paper-stack{height:72px}.landing-paper-card{width:140px;height:46px}}.calendar-page{gap:12px;width:min(100%,760px);margin:0 auto}.calendar-board{border:1px solid var(--border-subtle);background:var(--surface-paper);box-shadow:var(--shadow-soft);border-radius:16px;gap:14px;padding:18px;display:grid}.calendar-board-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.calendar-board-title{color:var(--text-primary);letter-spacing:0;margin:0;font-size:clamp(1.25rem,1.8vw,1.45rem);font-weight:850}.calendar-board-family{color:var(--text-muted);margin-top:3px;font-size:.78rem;font-weight:650}.calendar-board .calendar-controls{align-items:center;gap:10px;margin:0}.calendar-board .calendar-controls-surface{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.calendar-board .calendar-nav{pointer-events:auto;flex:240px;justify-content:flex-start;gap:6px}.calendar-board .calendar-month-label{text-align:left;min-width:min(42vw,160px);color:var(--text-primary);letter-spacing:0;font-size:1rem;font-weight:750}.calendar-board .calendar-nav-btn{border-radius:var(--radius-pill);width:32px;min-width:32px;height:32px;min-height:32px;color:var(--text-secondary);background:0 0;border:0;flex-basis:32px}.calendar-board .calendar-nav-btn:hover{background:var(--surface-soft);color:var(--text-primary)}.calendar-board .today-btn{border-color:var(--border-subtle);background:var(--surface-paper);min-height:34px;color:var(--text-primary);border-radius:10px;margin-left:0;padding:6px 13px;font-size:.74rem;font-weight:750}.calendar-board .today-btn:hover{background:var(--surface-soft);border-color:#8b5e9f52}.calendar-board .calendar-view-toggle{border:1px solid var(--border-subtle);background:var(--surface-soft);border-radius:10px;margin-left:0;padding:3px}.calendar-board .calendar-view-btn{border-radius:8px;min-height:28px;padding:5px 11px;font-size:.72rem;font-weight:750}.calendar-board .calendar-view-btn.active{background:var(--surface-paper);box-shadow:var(--shadow-sm)}.calendar-month-flow{gap:14px;display:grid}.calendar-board .calendar-grid-wrapper{border-color:var(--border-subtle);background:var(--surface-paper);box-shadow:none;border-radius:12px;padding:0;overflow:hidden}.calendar-board .calendar-weekdays{border-bottom:1px solid var(--border-subtle);background:var(--surface-paper);gap:0;margin:0}.calendar-board .calendar-weekday{min-width:0;min-height:34px;color:var(--text-muted);letter-spacing:.04em;justify-content:center;align-items:center;padding:0;font-size:.66rem;font-weight:800;display:flex}.calendar-board .calendar-days-grid{background:var(--border-subtle);gap:0;min-width:0}.calendar-board .calendar-day{box-sizing:border-box;background:var(--surface-paper);width:100%;min-width:0;min-height:clamp(54px,8vw,72px);color:var(--text-primary);border:0;border-radius:0;grid-template-rows:24px minmax(8px,1fr) 18px;justify-content:stretch;place-items:start center;gap:2px;padding:8px}.calendar-board .calendar-day:hover:not(.empty){background:color-mix(in srgb, var(--accent-sky) 9%, var(--surface-paper));border-color:#0000}.calendar-board .calendar-day.empty{opacity:1;cursor:default}.calendar-board .calendar-day.empty:disabled{opacity:1}.calendar-board .calendar-day-num{place-self:start center;min-width:28px;min-height:28px;font-family:inherit;font-size:.84rem;font-weight:700;transition:background .18s,color .18s,transform .18s}.calendar-board .calendar-day-num-muted{color:color-mix(in srgb, var(--text-muted) 62%, transparent);font-weight:600}.calendar-board .calendar-day.today{background:color-mix(in srgb, var(--amethyst) 7%, var(--surface-paper))}.calendar-board .calendar-day.today .calendar-day-num{color:var(--amethyst);background:color-mix(in srgb, var(--amethyst) 12%, transparent)}.calendar-board .calendar-day.selected{background:var(--surface-paper);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--amethyst) 18%, transparent)}.calendar-board .calendar-day.selected .calendar-day-num{color:#fff;background:var(--amethyst);width:42px;height:42px;margin-top:4px;transform:translateY(2px);box-shadow:0 10px 24px #472d5f38}.calendar-board .calendar-day.selected .calendar-day-dots{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-paper) 86%, transparent);justify-content:center;width:auto;padding:2px 4px;position:absolute;bottom:6px;left:6px;right:6px}.calendar-board .calendar-day.selected .calendar-day-dots:empty{display:none}.calendar-board .calendar-day-dots{justify-content:center;align-self:end;min-height:18px;margin-top:0}.calendar-board .calendar-day-dot{width:5px;height:5px}.calendar-board .calendar-day-icon-indicator,.calendar-board .calendar-day-birthday-indicator{background:var(--surface-soft);width:16px;height:16px;box-shadow:0 1px 4px #2f233e14}.calendar-page>.day-detail-panel,.calendar-month-flow>.day-detail-panel{border-color:var(--border-subtle);background:var(--surface-paper);box-shadow:var(--shadow-soft);border-radius:14px;padding:16px;margin-top:0!important}.day-detail-date{color:var(--text-primary);margin-bottom:2px;font-size:1rem;font-weight:850}.day-detail-weekday{color:var(--text-secondary);margin-bottom:14px;font-size:.82rem}.day-detail-events{gap:10px;margin-bottom:14px}.day-event-card{border:1px solid var(--border-subtle);background:var(--surface-soft);min-height:70px;box-shadow:none;border-left:4px solid;border-radius:12px;align-items:stretch;padding:12px}.day-event-card:hover{background:var(--surface-paper);border-color:color-mix(in srgb, var(--amethyst) 20%, var(--border-subtle))}.event-card-title{color:var(--text-primary);font-weight:800}.event-card-meta,.event-card-location{color:var(--text-secondary)}.cal-empty-day{border:1px dashed var(--border-subtle);background:var(--surface-soft);border-radius:12px;padding:12px}.calendar-board .week-view{margin-top:2px}@media (min-width:1100px){.calendar-page{width:min(100%,820px)}}@media (max-width:768px){.calendar-page{gap:10px;width:100%}.calendar-board{border-radius:14px;padding:14px}.calendar-board-header{margin-bottom:2px}.calendar-board-family{display:none}.calendar-board .calendar-controls{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;display:grid}.calendar-board .calendar-nav{flex:auto;grid-column:1;grid-template-columns:minmax(0,1fr) 28px 28px;gap:2px;min-width:0;display:grid}.calendar-board .calendar-month-label{min-width:0;font-size:.94rem}.calendar-board .calendar-nav-btn{flex-basis:28px;width:28px;min-width:28px;height:28px;min-height:28px}.calendar-board .today-btn{grid-column:2;min-height:32px;padding:5px 10px;font-size:.68rem}.calendar-board .calendar-view-toggle{grid-column:3}.calendar-board .calendar-view-btn{min-height:26px;padding:4px 7px;font-size:.68rem}.calendar-board .calendar-day{grid-template-rows:21px minmax(5px,1fr) 16px;min-height:56px;padding:5px}.calendar-board .calendar-day-num{min-width:24px;min-height:24px;font-size:.78rem}.calendar-board .calendar-day.selected .calendar-day-num{width:38px;height:38px;margin-top:2px}.calendar-board .calendar-day-icon-indicator,.calendar-board .calendar-day-birthday-indicator{width:14px;height:14px}.calendar-page>.day-detail-panel,.calendar-month-flow>.day-detail-panel{border-radius:14px;padding:14px}}@media (max-width:360px){.calendar-board .calendar-controls{grid-template-columns:minmax(0,1fr) auto}.calendar-board .calendar-nav,.calendar-board .today-btn{grid-column:auto}.calendar-board .calendar-view-toggle{grid-column:1/-1;justify-self:end}}
