@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap);:root{--primary:#00c853;--primary-dark:#00a846;--primary-deeper:#00897b;--primary-light:#00c8531a;--primary-light2:#00c8532e;--gradient:linear-gradient(135deg,#00c853,#00897b);--gradient-hover:linear-gradient(135deg,#00e676,#00a846);--bg:#f0f2f7;--surface:#fff;--surface-2:#f7f9fc;--surface-3:#eef1f7;--surface-hover:#00000008;--text:#111827;--text-2:#4b5563;--text-muted:#9ca3af;--text-light:#d1d5db;--border:#e5e7eb;--border-subtle:#f3f4f6;--border-focus:#00c853;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014,0 1px 2px #0000000a;--shadow-md:0 4px 6px #00000012,0 2px 4px #0000000d;--shadow-lg:0 10px 15px #00000014,0 4px 6px #0000000d;--shadow-xl:0 20px 25px #0000001a,0 10px 10px #0000000a;--shadow-primary:0 4px 14px #00c85359;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--transition-fast:all 0.12s ease;--transition-base:all 0.18s ease;--transition-slow:all 0.28s ease;--success:#22c55e;--warning:#d4a017;--danger:#ef4444;--info:#3b82f6;--success-bg:#22c55e1a;--warning-bg:#d4a0171a;--danger-bg:#ef44441a;--info-bg:#3b82f61a;--chart-1:#4f46e5;--chart-2:#0284c7;--chart-3:#0d9488;--chart-4:#7c3aed;--chart-5:#d4a017;--chart-6:#ec4899;--chart-7:#0891b2}[data-theme=dark]{--bg:#0c0e17;--surface:#141724;--surface-2:#1c2035;--surface-3:#232742;--surface-hover:#ffffff0a;--text:#f1f5f9;--text-2:#94a3b8;--text-muted:#64748b;--text-light:#374151;--border:#1e2338;--border-subtle:#181b2e;--border-focus:#00c853;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 3px #0006,0 1px 2px #0000004d;--shadow-md:0 4px 6px #00000080,0 2px 4px #0006;--shadow-lg:0 10px 15px #0000008c,0 4px 6px #0006;--shadow-xl:0 20px 25px #0009,0 10px 10px #00000080;--shadow-primary:0 4px 14px #00c85347}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;transition:background-color .25s,color .25s}body,html{max-width:100%;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11";background-color:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}code{font-family:JetBrains Mono,Fira Code,source-code-pro,Menlo,Monaco,Consolas,monospace}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:#00c8532e;color:var(--text)}:focus-visible{border-radius:4px;outline:2px solid var(--primary);outline-offset:2px}.icon-xs{height:14px;width:14px}.icon-sm,.icon-xs{object-fit:contain;vertical-align:middle}.icon-sm{height:18px;width:18px}.icon-md{height:22px;width:22px}.icon-lg,.icon-md{object-fit:contain;vertical-align:middle}.icon-lg{height:32px;width:32px}.icon-xl{height:48px;vertical-align:middle;width:48px}.btn-icon img{height:16px;object-fit:contain;vertical-align:middle;width:16px}.chart-card h3,.kpi-value,.modal-title,.page-heading,.section-title,.stat-num,h1,h2,h3,h4{font-family:Plus Jakarta Sans,Inter,-apple-system,sans-serif;letter-spacing:-.3px}.bar-val,.debt-summary-value,.fin-amount,.kpi-value,.lb-points,.lb-score,.stat-num{font-feature-settings:"tnum","tnum";font-variant-numeric:tabular-nums}.lp-root{background:#080c14;color:#e8eaf6;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}.lp-orb{border-radius:50%;pointer-events:none;position:fixed;z-index:0}.lp-animate{opacity:0;transform:translateY(32px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}.lp-animate.lp-visible{opacity:1;transform:translateY(0)}.lp-nav{left:0;padding:20px 0;position:fixed;right:0;top:0;transition:all .3s ease;z-index:100}.lp-nav-scrolled{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#080c14d9;border-bottom:1px solid #ffffff12;padding:14px 0}.lp-nav-inner{gap:40px;margin:0 auto;max-width:1160px;padding:0 32px}.lp-nav-brand,.lp-nav-inner{align-items:center;display:flex}.lp-nav-brand{gap:10px;text-decoration:none}.lp-nav-logo{border-radius:9px;height:34px;width:34px}.lp-nav-brand-name{color:#fff;font-family:Cooper BT,CooperBT,Cooper Black,Paytone One,serif;font-size:22px;font-weight:400;letter-spacing:.2px}.lp-nav-links{display:flex;flex:1 1;gap:32px}.lp-nav-link{color:#fff9;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.lp-nav-link:hover{color:#fff}.lp-nav-actions{align-items:center;display:flex;gap:10px;margin-left:auto}.lp-btn-primary{align-items:center;background:#00c853;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;gap:8px;padding:10px 20px;transition:all .2s;white-space:nowrap}.lp-btn-primary:hover{background:#00e676;box-shadow:0 0 24px #00c85373;transform:translateY(-1px)}.lp-btn-ghost{align-items:center;background:#0000;border:none;border-radius:10px;color:#ffffffb3;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s;white-space:nowrap}.lp-btn-ghost:hover{background:#ffffff12;color:#fff}.lp-btn-outline{align-items:center;background:#0000;border:1.5px solid #ffffff2e;border-radius:12px;color:#fffc;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;padding:14px 24px;transition:all .2s;white-space:nowrap}.lp-btn-outline:hover{background:#ffffff0d;border-color:#fff6;color:#fff}.lp-btn-lg{border-radius:12px;font-size:16px;padding:14px 26px}.lp-hero{align-items:center;display:flex;gap:60px;margin:0 auto;max-width:1160px;min-height:100vh;padding:120px 32px 80px;position:relative;z-index:1}.lp-hero-inner{flex:1 1;max-width:580px}.lp-hero-badge{align-items:center;animation:lp-badge-in .6s cubic-bezier(.22,1,.36,1) .1s both;background:#00c8531a;border:1px solid #00c85340;border-radius:20px;color:#00c853;display:inline-flex;font-size:13px;font-weight:600;gap:8px;margin-bottom:28px;padding:6px 14px}.lp-badge-dot{animation:lp-pulse 2s ease infinite;background:#00c853;border-radius:50%;height:6px;width:6px}@keyframes lp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@keyframes lp-badge-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.lp-hero-headline{animation:lp-hero-in .7s cubic-bezier(.22,1,.36,1) .2s both;color:#fff;font-size:clamp(40px,5vw,64px);font-weight:900;letter-spacing:-2px;line-height:1.08;margin:0 0 22px}.lp-gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#00c853,#00e676 40%,#69f0ae);-webkit-background-clip:text;background-clip:text}@keyframes lp-hero-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lp-hero-sub{animation:lp-hero-in .7s cubic-bezier(.22,1,.36,1) .32s both;color:#ffffff8c;font-size:18px;line-height:1.65;margin:0 0 36px}.lp-hero-actions{animation:lp-hero-in .7s cubic-bezier(.22,1,.36,1) .44s both;display:flex;flex-wrap:wrap;gap:12px}.lp-hero-social-proof{align-items:center;animation:lp-hero-in .7s cubic-bezier(.22,1,.36,1) .56s both;display:flex;gap:12px;margin-top:28px}.lp-hero-avatars{display:flex}.lp-hero-avatar{border:2px solid #080c14;border-radius:50%;height:32px;margin-left:-8px;width:32px}.lp-hero-avatars .lp-hero-avatar:first-child{margin-left:0}.lp-hero-proof-text{color:#ffffff73;font-size:13px;font-weight:500}.lp-hero-visual{animation:lp-visual-in .9s cubic-bezier(.22,1,.36,1) .4s both;flex:1 1;max-width:520px;position:relative}@keyframes lp-visual-in{0%{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.lp-app-mockup{background:#0f1624;border:1px solid #ffffff1a;border-radius:18px;box-shadow:0 0 0 1px #ffffff0d,0 40px 80px #0009,0 0 60px #00c85314;overflow:hidden}.lp-mockup-bar{align-items:center;background:#0a0f1a;border-bottom:1px solid #ffffff12;display:flex;gap:7px;padding:14px 16px}.lp-dot{border-radius:50%;height:11px;width:11px}.lp-dot-r{background:#ff5f56}.lp-dot-y{background:#ffbd2e}.lp-dot-g{background:#27c93f}.lp-mockup-body{display:flex}.lp-mockup-sidebar{background:#0a0f1a;border-right:1px solid #ffffff0f;display:flex;flex-direction:column;gap:2px;padding:16px 0;width:120px}.lp-mockup-nav-item{border-radius:0 8px 8px 0;color:#ffffff59;cursor:default;font-size:11.5px;font-weight:600;margin-right:8px;padding:8px 14px;transition:all .15s}.lp-mockup-nav-item.active{background:#00c8531a;color:#00c853}.lp-mockup-content{flex:1 1;padding:18px 16px}.lp-mockup-greeting{color:#ffffffe6;font-size:13px;font-weight:700;margin-bottom:14px}.lp-mockup-cards{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:16px}.lp-mockup-card{background:#ffffff0a;border:1px solid #ffffff12;border-radius:10px;padding:10px 12px}.lp-mockup-card-val{font-size:18px;font-weight:800;line-height:1;margin-bottom:3px}.lp-mockup-card-label{color:#fff6;font-size:10px;font-weight:500}.lp-mockup-activity-label{color:#ffffff59;font-size:11px;font-weight:700;letter-spacing:.8px;margin-bottom:8px;text-transform:uppercase}.lp-mockup-activity-list{display:flex;flex-direction:column;gap:7px}.lp-mockup-activity-item{align-items:center;display:flex;gap:8px}.lp-mockup-activity-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.lp-mockup-activity-text{color:#fff9;flex:1 1;font-size:11px;font-weight:500}.lp-mockup-activity-time{color:#ffffff40;font-size:10px}.lp-chip-icon{filter:brightness(0) invert(1);flex-shrink:0;height:18px;object-fit:contain;opacity:.85;width:18px}.lp-chip{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffff12;border:1px solid #ffffff24;border-radius:22px;box-shadow:0 8px 24px #0000004d;color:#ffffffd9;display:flex;font-size:12px;font-weight:600;gap:7px;padding:8px 14px;position:absolute;white-space:nowrap}.lp-chip-1{animation:lp-float 4s ease-in-out infinite;right:10px;top:-18px}.lp-chip-2{animation:lp-float 4s ease-in-out 1.3s infinite;bottom:40px;left:-30px}.lp-chip-3{animation:lp-float 4s ease-in-out 2.6s infinite;bottom:-18px;right:30px}@keyframes lp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.lp-stats-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff05;border-bottom:1px solid #ffffff12;border-top:1px solid #ffffff12;display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:1}.lp-stat-item{align-items:center;border-right:1px solid #ffffff12;display:flex;flex-direction:column;justify-content:center;padding:32px 16px}.lp-stat-item:last-child{border-right:none}.lp-stat-val{color:#fff;font-size:32px;font-weight:900;letter-spacing:-1px;line-height:1;margin-bottom:6px}.lp-stat-label{color:#fff6;font-size:13px;font-weight:500}.lp-section{padding:96px 32px;position:relative;z-index:1}.lp-section-alt{background:#ffffff05}.lp-section-inner{margin:0 auto;max-width:1160px}.lp-section-header{margin-bottom:60px;text-align:center}.lp-section-tag{color:#00c853;display:inline-block;font-size:12px;font-weight:700;letter-spacing:1.2px;margin-bottom:14px;text-transform:uppercase}.lp-section-title{color:#fff;font-size:clamp(28px,3.5vw,44px);font-weight:900;letter-spacing:-1.5px;margin:0 0 14px}.lp-section-sub{color:#ffffff73;font-size:17px;line-height:1.6;margin:0 auto;max-width:520px}.lp-features-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.lp-feature-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:18px;cursor:default;padding:28px;transition:all .25s}.lp-feature-card:hover{background:hsla(0,0%,100%,.055);border-color:rgba(var(--fc),.3);box-shadow:0 8px 32px #00000040,0 0 0 1px #ffffff0f;transform:translateY(-3px)}.lp-feature-icon{align-items:center;border-radius:14px;display:flex;height:52px;justify-content:center;margin-bottom:18px;width:52px}.lp-feature-title{color:#fff;font-size:17px;font-weight:800;letter-spacing:-.3px;margin:0 0 8px}.lp-feature-desc{color:#ffffff73;font-size:14px;line-height:1.6;margin:0}.lp-steps{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(3,1fr);position:relative}.lp-step{display:flex;flex-direction:column;gap:16px;position:relative}.lp-step-num{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#00c853,#00c85333);-webkit-background-clip:text;background-clip:text;font-size:48px;font-weight:900;letter-spacing:-2px;line-height:1}.lp-step-connector{display:none}.lp-step-title{color:#fff;font-size:20px;font-weight:800;letter-spacing:-.4px;margin:0}.lp-step-desc{color:#ffffff73;font-size:15px;line-height:1.65;margin:0}.lp-cta{overflow:hidden;padding:100px 32px;position:relative;text-align:center;z-index:1}.lp-cta-glow{background:radial-gradient(ellipse 60% 50% at 50% 50%,#00c8531f 0,#0000 70%);inset:0;pointer-events:none;position:absolute}.lp-cta-inner{margin:0 auto;max-width:640px;position:relative}.lp-cta-title{color:#fff;font-size:clamp(30px,4vw,50px);font-weight:900;letter-spacing:-2px;margin:0 0 16px}.lp-cta-sub{color:#ffffff73;font-size:18px;line-height:1.6;margin:0 0 40px}.lp-cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.lp-footer{border-top:1px solid #ffffff12;padding:28px 32px;position:relative;z-index:1}.lp-footer-inner{align-items:center;display:flex;flex-wrap:wrap;gap:24px;margin:0 auto;max-width:1160px}.lp-footer-brand{align-items:center;display:flex;gap:8px}.lp-footer-copy{color:#ffffff40;flex:1 1;font-size:13px;margin:0;text-align:center}.lp-footer-links{display:flex;gap:8px}.lp-footer-link{background:none;border:none;border-radius:6px;color:#ffffff59;cursor:pointer;font-size:13px;font-weight:500;padding:4px 10px;transition:all .15s}.lp-footer-link:hover{background:#ffffff0f;color:#ffffffbf}@media (max-width:1024px){.lp-hero{align-items:flex-start;flex-direction:column;padding-top:100px}.lp-hero-visual{max-width:100%;width:100%}.lp-features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.lp-nav-links{display:none}.lp-hero{padding:90px 20px 60px}.lp-hero-headline{letter-spacing:-1.5px}.lp-hero-actions{flex-direction:column}.lp-hero-actions .lp-btn-outline,.lp-hero-actions .lp-btn-primary{justify-content:center;width:100%}.lp-stats-bar{grid-template-columns:repeat(2,1fr)}.lp-features-grid,.lp-steps{grid-template-columns:1fr}.lp-steps{gap:40px}.lp-chip-2{display:none}.lp-cta,.lp-section{padding:64px 20px}.lp-footer-copy{text-align:left}.lp-nav-inner{padding:0 20px}}@media (max-width:480px){.lp-stats-bar{grid-template-columns:repeat(2,1fr)}.lp-chip-1,.lp-chip-3{display:none}.lp-app-mockup .lp-mockup-sidebar{width:90px}}.lp-btn-sm{align-items:center;display:flex;font-size:13px!important;gap:6px;padding:7px 14px!important}.lp-section-install{background:#0000}.lp-install-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-top:48px}.lp-install-card{align-items:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:20px;display:flex;flex-direction:column;gap:12px;padding:32px 28px;position:relative;text-align:center;transition:transform .2s,border-color .2s}.lp-install-card:hover{border-color:#ffffff26;transform:translateY(-4px)}.lp-install-card-featured{background:#00c8530d;border-color:#00c8534d;box-shadow:0 0 40px #00c85314}.lp-install-badge{background:#00c853;background:var(--primary,#00c853);border-radius:20px;color:#000;font-size:11px;font-weight:700;left:50%;letter-spacing:.5px;padding:4px 14px;position:absolute;top:-12px;transform:translateX(-50%);white-space:nowrap}.lp-install-icon{align-items:center;border-radius:18px;display:flex;height:72px;justify-content:center;margin-bottom:4px;width:72px}.lp-install-android{background:#3ddc841f}.lp-install-ios{background:#a78bfa1f}.lp-install-desktop{background:#38bdf81f}.lp-install-title{color:#fff;font-size:18px;font-weight:700;margin:0}.lp-install-desc{color:#ffffff8c;flex:1 1;font-size:13.5px;line-height:1.6;margin:0}.lp-install-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin-top:4px;padding:12px 20px;transition:opacity .2s,transform .15s;width:100%}.lp-install-btn:hover{opacity:.88;transform:translateY(-1px)}.lp-install-btn-android{background:#3ddc84;color:#0a1a10}.lp-install-btn-ios{background:#a78bfa;color:#1a0e2e}.lp-install-btn-desktop{background:#38bdf8;color:#0a1e2e}.lp-install-done{align-items:center;color:#00c853;display:flex;font-size:13px;font-weight:600;gap:6px;padding:10px 0}.lp-install-note{color:#ffffff4d;font-size:13px;margin-top:32px;text-align:center}.lp-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.lp-modal{animation:modalIn .25s cubic-bezier(.34,1.4,.64,1);background:#13172a;border:1px solid #ffffff1a;border-radius:24px;max-width:420px;padding:36px 32px 28px;position:relative;width:100%}@keyframes modalIn{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.lp-modal-close{align-items:center;background:#ffffff14;border:none;border-radius:50%;color:#fff9;cursor:pointer;display:flex;font-size:22px;height:32px;justify-content:center;line-height:1;position:absolute;right:18px;top:16px;width:32px}.lp-modal-close:hover{background:#ffffff24;color:#fff}.lp-modal-icon{display:flex;justify-content:center;margin-bottom:16px}.lp-modal-app-icon{border-radius:16px;box-shadow:0 4px 20px #0006;height:72px;width:72px}.lp-modal-title{color:#fff;font-size:20px;font-weight:700;margin:0 0 8px;text-align:center}.lp-modal-sub{color:#ffffff80;font-size:13.5px;margin:0 0 24px;text-align:center}.lp-ios-steps{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.lp-ios-step{align-items:flex-start;background:#ffffff0a;border-radius:14px;display:flex;gap:14px;padding:14px 16px}.lp-ios-step-num{align-items:center;background:#007aff;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:28px;justify-content:center;width:28px}.lp-ios-step-body{flex:1 1}.lp-ios-step-body strong{color:#fff;display:block;font-size:14px;margin-bottom:3px}.lp-ios-step-body p{color:#ffffff80;font-size:12.5px;line-height:1.5;margin:0}.lp-ios-step-icon{margin-top:8px;opacity:.8}.lp-ios-note{color:#ffffff59;font-size:12px;line-height:1.5;margin-bottom:20px;text-align:center}.lp-ios-note strong{color:#fff9}@media (max-width:900px){.lp-install-cards{grid-template-columns:1fr;margin-inline:auto;max-width:420px}}@media (max-width:768px){.lp-modal{padding:28px 20px 22px}}.theme-toggle{align-items:center;background:var(--surface-2);border:1.5px solid var(--border);border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:17px;height:38px;justify-content:center;transition:background .2s,border-color .2s,transform .2s;width:38px}.theme-toggle:hover{background:var(--primary-light);border-color:var(--primary);transform:rotate(20deg)}.auth-container{background:var(--bg);display:block;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.auth-form-panel,.auth-split{display:flex;min-height:100vh;width:100%}.auth-form-panel{align-items:center;background:var(--bg);justify-content:center;padding:40px 24px}.auth-hero-panel{display:none}@media (min-width:900px){.auth-form-panel{flex-shrink:0;width:42%}.auth-hero-panel{align-items:center;background:#000;display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:48px;position:relative}}.auth-form-panel .auth-box{box-shadow:var(--shadow-md)}.auth-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:420px;padding:40px;width:100%}.auth-box h1{font-size:36px;font-weight:800;letter-spacing:-.5px}.auth-box h1,.auth-box h2{color:var(--text);margin:0 0 10px;text-align:center}.auth-box h2{font-size:24px;font-weight:700;letter-spacing:-.3px}.subtitle{color:var(--text-2);font-size:14px;margin:0 0 6px;text-align:center}.auth-tagline{color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.08em;margin:0 0 28px;opacity:.9;text-align:center;text-transform:uppercase}.form-group{margin-bottom:18px}.form-group input{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-family:inherit;font-size:14px;padding:10px 12px;transition:var(--transition-fast);width:100%}.form-group input:hover{border-color:var(--text-muted)}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00c8531f;outline:none}.form-group input::placeholder{color:var(--text-light)}.auth-box .btn-primary{border-radius:var(--radius-sm);font-size:15px;justify-content:center;margin-top:8px;padding:11px;width:100%}.btn-primary{font-family:inherit;justify-content:center;padding:10px 18px}.error-message{background:var(--danger-bg);border:1px solid #ef44444d;border-radius:var(--radius-sm);color:#b91c1c;font-size:13px;font-weight:500;margin:14px 0;padding:11px 14px}[data-theme=dark] .error-message{color:#fca5a5}.auth-link{color:var(--text-2);font-size:14px;margin-top:18px;text-align:center}.auth-link a{color:var(--primary);font-weight:600;text-decoration:none;transition:var(--transition-fast)}.auth-link a:hover{text-decoration:underline;text-underline-offset:2px}@media (max-width:600px){.auth-box{padding:28px 20px}.form-row{grid-template-columns:1fr}}[data-theme=dark] .auth-container,[data-theme=dark] .auth-form-panel{background:var(--bg)}[data-theme=dark] .auth-box{background:var(--surface);border-color:var(--border)}[data-theme=dark] .auth-form-panel .auth-box{background:var(--surface)}[data-theme=dark] .form-group input{background:var(--surface-2);border-color:var(--border);color:var(--text)}[data-theme=dark] .form-group input:focus{background:var(--surface-3)}[data-theme=dark] .form-group input::placeholder{color:var(--text-muted)}.auth-terms-row{align-items:flex-start;color:var(--text-2);display:flex;font-size:13px;gap:9px;line-height:1.5;margin:4px 0 16px}.auth-terms-row input[type=checkbox]{accent-color:var(--primary);cursor:pointer;flex-shrink:0;height:16px;margin-top:2px;width:16px}.auth-terms-row label{cursor:pointer;font-weight:500}.auth-terms-row a{color:var(--primary);font-weight:600;text-decoration:none}.auth-terms-row a:hover{text-decoration:underline;text-underline-offset:2px}.auth-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.auth-label-row label{margin-bottom:0}.auth-forgot-link{color:var(--primary);font-size:12px;font-weight:600;text-decoration:none;transition:var(--transition-fast)}.auth-forgot-link:hover{text-decoration:underline;text-underline-offset:2px}.auth-remember-row{margin:4px 0 12px}.auth-remember-label{align-items:center;color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;-webkit-user-select:none;user-select:none}.auth-remember-label input[type=checkbox]{accent-color:var(--primary);cursor:pointer;height:15px;width:15px}.auth-success-box{padding:8px 0;text-align:center}.auth-success-icon{font-size:40px;margin-bottom:12px}.auth-success-box h3{color:var(--text);font-size:18px;font-weight:700;margin:0 0 10px}.auth-success-box p{color:var(--text-2);font-size:14px;line-height:1.6;margin:0}.auth-logo{display:block;height:72px;margin:0 auto 12px;object-fit:contain;width:auto}.auth-theme-toggle{position:fixed;right:16px;top:16px;z-index:10}.auth-glow{border-radius:50%;filter:blur(72px);pointer-events:none;position:absolute}.auth-glow-1{background:radial-gradient(circle,#00c85373 0,#0000 70%);height:420px;left:-80px;top:-100px;width:420px}.auth-glow-2{background:radial-gradient(circle,#00c8534d 0,#0000 70%);bottom:-80px;height:340px;right:-60px;width:340px}.auth-glow-3{background:radial-gradient(circle,#00e6642e 0,#0000 70%);height:200px;left:50%;top:50%;transform:translate(-50%,-50%);width:200px}.auth-hero-inner{align-items:center;display:flex;flex-direction:column;position:relative;text-align:center;z-index:2}.auth-hero-logo{filter:drop-shadow(0 0 28px rgba(0,200,83,.6));height:96px;margin-bottom:20px;object-fit:contain;width:96px}.auth-hero-smart{color:#fff;font-size:46px;font-weight:900;letter-spacing:-.03em;line-height:1.1;margin:0 0 28px;text-align:center}.auth-hero-green{color:#00c853;text-shadow:0 0 32px #00c8538c}.auth-hero-divider{background:linear-gradient(90deg,#0000,#00c853,#0000);border-radius:2px;height:2px;margin:0 auto 28px;width:56px}.auth-hero-quote{font-feature-settings:"smcp";color:#ffffffd9;font-size:20px;font-variant:small-caps;font-weight:600;letter-spacing:.08em;margin:0;text-shadow:0 0 20px #00c85340}.auth-bug-link{margin-top:12px;text-align:center}.auth-bug-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:12px;padding:4px 0;text-decoration:underline;text-underline-offset:2px;transition:var(--transition-fast)}.auth-bug-btn:hover{color:var(--danger)}.password-wrap{align-items:center;display:flex;position:relative}.password-wrap input{flex:1 1;padding-right:42px!important}.pw-toggle{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;font-family:inherit;padding:4px;position:absolute;right:10px;transition:var(--transition-fast)}.pw-toggle:hover{color:var(--text-2)}.input-validation-wrap{align-items:center;display:flex;position:relative}.input-validation-wrap input{flex:1 1;padding-right:36px!important}.input-status-icon{font-size:14px;font-weight:700;pointer-events:none;position:absolute;right:10px}.input-status-icon.valid{color:var(--primary)}.input-status-icon.invalid{color:var(--danger)}input.input-valid{border-color:var(--primary)!important}input.input-invalid{border-color:var(--danger)!important}.field-hint{color:var(--text-muted);font-size:11px;font-style:italic;margin:4px 0 0}.field-hint.error{color:var(--danger)}.verify-box{text-align:center}.verify-icon{font-size:48px;margin-bottom:12px}.verify-email-highlight{color:var(--primary);font-size:15px;font-weight:700;margin:0 0 20px;word-break:break-all}.verify-code-input{font-family:monospace!important;font-size:28px!important;font-weight:700!important;letter-spacing:10px!important;padding:12px!important;text-align:center!important}.verify-resend{color:var(--text-muted);font-size:13px;margin-top:16px;text-align:center}.notif-bell,.notif-wrapper{position:relative}.notif-bell{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:20px;line-height:1;padding:6px 8px;transition:background .2s}.notif-bell-icon{height:26px;object-fit:contain;width:26px}.notif-bell:hover{background:#0000000f}.notif-badge{align-items:center;background:#e53e3e;border-radius:8px;color:#fff;display:flex;font-size:10px;font-weight:700;height:16px;justify-content:center;line-height:1;min-width:16px;padding:0 4px;position:absolute;right:2px;top:2px}.notif-dropdown{background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 8px 32px #0000002e;overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);width:340px;z-index:500}.notif-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:14px 16px}.notif-title{color:#333;font-size:14px;font-weight:700}.notif-mark-all{background:none;border:none;color:#667eea;cursor:pointer;font-size:12px;font-weight:600}.notif-mark-all:hover{text-decoration:underline}.notif-empty{color:#bbb;font-size:13px;padding:32px 16px;text-align:center}.notif-list{max-height:360px;overflow-y:auto}.notif-item{align-items:flex-start;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;gap:10px;padding:12px 16px;transition:background .15s}.notif-item:last-child{border-bottom:none}.notif-item.unread{background:#f8f8ff}.notif-item:hover{background:#f0f0ff}.notif-icon{flex-shrink:0;font-size:16px;margin-top:2px}.notif-body{flex:1 1;min-width:0}.notif-item-title{color:#333;font-size:13px;font-weight:700;margin-bottom:2px}.notif-message{color:#666;font-size:12px;margin-bottom:4px}.notif-time{color:#bbb;font-size:11px}.notif-dot{background:#667eea;border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}.notif-toast-stack{bottom:24px;display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:24px;z-index:9999}.notif-toast{align-items:flex-start;animation:toastIn .3s cubic-bezier(.34,1.56,.64,1) both;background:#fff;border-left:4px solid #667eea;border-radius:12px;box-shadow:0 6px 28px #0000002e;display:flex;gap:10px;max-width:380px;min-width:300px;padding:14px 16px;pointer-events:all}@keyframes toastIn{0%{opacity:0;transform:translateX(60px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}.notif-toast-info{border-left-color:#667eea}.notif-toast-success{border-left-color:#51cf66}.notif-toast-warning{border-left-color:#d4a017}.notif-toast-error{border-left-color:#e53e3e}.notif-toast-icon{flex-shrink:0;margin-top:2px}.notif-toast-body{flex:1 1;min-width:0}.notif-toast-title{color:#222;font-size:13px;font-weight:700;margin-bottom:3px}.notif-toast-msg{color:#555;font-size:12px;line-height:1.4}.notif-toast-close{background:none;border:none;color:#aaa;cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;margin-top:-2px;padding:0 2px}.notif-toast-close:hover{color:#555}@media (max-width:640px){.notif-dropdown{bottom:70px;left:12px;position:fixed;right:12px;top:auto;width:auto}}[data-theme=dark] .notif-dropdown{background:#1e2028;border-color:#2d2f3a}[data-theme=dark] .notif-title{color:#e8eaf6}[data-theme=dark] .notif-item{border-bottom-color:#2d2f3a}[data-theme=dark] .notif-item.unread{background:#23263a}[data-theme=dark] .notif-item:hover{background:#2a2d42}[data-theme=dark] .notif-item-title{color:#e8eaf6}[data-theme=dark] .notif-message{color:#9da3c8}[data-theme=dark] .notif-header{border-bottom-color:#2d2f3a}[data-theme=dark] .notif-toast{background:#1e2028;box-shadow:0 6px 28px #00000073}[data-theme=dark] .notif-toast-title{color:#e8eaf6}[data-theme=dark] .notif-toast-msg{color:#9da3c8}[data-theme=dark] .notif-toast-close{color:#555}[data-theme=dark] .notif-toast-close:hover{color:#999}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;min-width:232px;overflow-x:hidden;overflow-y:auto;transition:transform .25s cubic-bezier(.4,0,.2,1);width:232px;z-index:200}.sidebar-logo-wrap{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:9px;padding:18px 16px 14px}.sidebar-logo{border-radius:var(--radius-sm);height:34px;object-fit:contain;width:34px}.sidebar-brand{color:var(--primary);font-family:Cooper BT,CooperBT,Cooper Black,Paytone One,serif;font-size:19px;font-weight:400;letter-spacing:.2px}.sidebar-family-badge{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 14px 8px}.sidebar-role-badge{align-items:center;background:#16a34a1a;border:1px solid #16a34a38;border-radius:var(--radius-full);color:#16a34a;display:inline-flex;font-size:10px;font-weight:700;gap:5px;letter-spacing:.06em;margin:8px 12px 4px;padding:4px 10px;text-transform:uppercase}.sidebar-family-name{color:var(--text-muted);display:block;font-size:11px;font-weight:700;letter-spacing:.07em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:1px;padding:8px}.sidebar-nav-item{align-items:center;border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;display:flex;font-size:13.5px;font-weight:500;gap:9px;padding:8px 10px;position:relative;text-decoration:none;transition:var(--transition-fast);white-space:nowrap}.sidebar-nav-item:hover{background:var(--primary-light);color:var(--primary-dark)}.sidebar-nav-item.active{background:var(--primary-light2);color:var(--primary-dark);font-weight:600}.sidebar-nav-item.active:before{background:var(--primary);border-radius:0 3px 3px 0;bottom:4px;content:"";left:0;position:absolute;top:4px;width:3px}.sidebar-nav-icon{filter:brightness(0) invert(.5);flex-shrink:0;height:18px;object-fit:contain;opacity:.7;transition:filter .15s;width:18px}.sidebar-nav-emoji{align-items:center;display:flex;flex-shrink:0;font-size:15px;height:18px;justify-content:center;line-height:1;width:18px}.sidebar-nav-item.active .sidebar-nav-icon,.sidebar-nav-item:hover .sidebar-nav-icon{filter:invert(45%) sepia(97%) saturate(500%) hue-rotate(110deg) brightness(95%) contrast(101%);opacity:1}.sidebar-nav-label{flex:1 1}.sidebar-footer{border-top:1px solid var(--border);display:none;flex-direction:column;flex-shrink:0;gap:7px;padding:10px 10px 12px}.sidebar-user{align-items:center;display:flex;gap:8px}.sidebar-user-avatar{align-items:center;background:var(--gradient);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:32px;justify-content:center;width:32px}.sidebar-user-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.sidebar-user-name{color:var(--text);font-size:13px;font-weight:600}.sidebar-user-email,.sidebar-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-email{color:var(--text-muted);font-size:11px}.sidebar-user-actions{align-items:center;display:flex;flex-shrink:0;gap:2px}.sidebar-signout{background:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;font-size:13px;font-weight:600;padding:7px 0;transition:var(--transition-fast);width:100%}.sidebar-signout:hover{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}[data-theme=dark] .sidebar-signout:hover{background:#ef44441f}.sidebar-install-btn{align-items:center;background:var(--primary-light);border:1.5px solid #00c8534d;border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:7px;justify-content:center;padding:8px 0;transition:var(--transition-fast);width:100%}.sidebar-install-btn:hover{background:var(--primary-light2);border-color:var(--primary);transform:translateY(-1px)}.sidebar-install-btn img{filter:invert(45%) sepia(97%) saturate(500%) hue-rotate(110deg) brightness(95%);height:15px;width:15px}.sidebar-ios-panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-2);font-size:12px;line-height:1.55;padding:12px 13px;position:relative}.sidebar-ios-panel-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;line-height:1;padding:0;position:absolute;right:9px;top:7px}.sidebar-ios-panel strong{color:var(--text)}.sidebar-ios-steps-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:8px 0 0;padding:0}.sidebar-ios-steps-list li{align-items:flex-start;display:flex;gap:7px}.sidebar-ios-step-num{align-items:center;background:#007aff;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:10px;font-weight:700;height:18px;justify-content:center;margin-top:1px;width:18px}.sidebar-mobile-bar,.sidebar-overlay{display:none}@media (max-width:768px){.sidebar-mobile-bar{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:var(--surface);border-bottom:1px solid var(--border);display:flex;gap:10px;height:calc(54px + env(safe-area-inset-top));left:0;padding:env(safe-area-inset-top) 16px 0;position:fixed;right:0;top:0;z-index:300}.sidebar-hamburger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:4px;justify-content:center;padding:6px 4px}.sidebar-hamburger span{background:var(--text);border-radius:2px;display:block;height:2px;transition:var(--transition-fast);width:20px}.sidebar-mobile-logo{border-radius:6px;height:28px;object-fit:contain;width:28px}.sidebar-mobile-brand{color:var(--primary);font-family:Cooper BT,CooperBT,Cooper Black,Paytone One,serif;font-size:18px;font-weight:400}.sidebar{box-shadow:var(--shadow-xl);height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);z-index:400}.sidebar.sidebar-open{transform:translateX(0)}.sidebar-footer{display:flex}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;display:block;inset:0;position:fixed;z-index:399}}.sidebar-admin-link{align-items:center;background:var(--primary-light);border:1px solid #00c85333;border-radius:var(--radius-sm);color:var(--primary);display:flex;font-size:12.5px;font-weight:700;gap:8px;margin-bottom:4px;padding:8px 10px;text-decoration:none;transition:var(--transition-fast)}.sidebar-admin-link.active,.sidebar-admin-link:hover{background:var(--primary);border-color:var(--primary);color:#fff}.sidebar-group-toggle{align-items:center;appearance:none;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;display:flex;font-size:13.5px;font-weight:500;gap:9px;justify-content:flex-start;padding:8px 10px;text-align:left;transition:var(--transition-fast);white-space:nowrap;width:100%}.sidebar-group-toggle:hover{background:var(--primary-light);color:var(--primary-dark)}.sidebar-group-toggle.open{color:var(--primary-dark);font-weight:600}.sidebar-chevron{color:var(--text-muted);flex-shrink:0;margin-left:auto;transition:transform .2s ease}.sidebar-group-toggle.open .sidebar-chevron{transform:rotate(180deg)}.sidebar-group-items{border-left:2px solid var(--border);margin-bottom:2px;margin-left:19px;padding-left:6px}.sidebar-sub-item{font-size:13px;padding:6px 10px}.topbar{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffe0;background:rgba(var(--surface-rgb,255,255,255),.88);border-bottom:1px solid var(--border);display:flex;gap:6px;height:54px;justify-content:flex-end;padding:0 22px;position:sticky;top:0;z-index:100}[data-theme=dark] .topbar{background:#141724e0}.topbar-right{align-items:center;display:flex;gap:6px}.topbar-divider{background:var(--border);flex-shrink:0;height:20px;margin:0 4px;width:1px}.topbar-install-wrap{position:relative}.topbar-install-btn{align-items:center;background:var(--primary-light);border:1.5px solid #00c8534d;border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:5px;padding:5px 12px;transition:var(--transition-fast);white-space:nowrap}.topbar-install-btn:hover{background:var(--primary-light2);border-color:var(--primary);transform:translateY(-1px)}.topbar-ios-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--text-2);font-size:12px;line-height:1.55;padding:14px 16px;position:absolute;right:0;top:calc(100% + 8px);width:240px;z-index:200}.topbar-ios-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:0;position:absolute;right:10px;top:8px;transition:var(--transition-fast)}.topbar-ios-close:hover{color:var(--text)}.topbar-ios-steps{display:flex;flex-direction:column;gap:6px;list-style:none;margin:8px 0 0;padding:0}.topbar-ios-steps li{align-items:flex-start;display:flex;gap:7px}.topbar-ios-num{background:#007aff;border-radius:50%;color:#fff;flex-shrink:0;font-size:10px;height:18px;justify-content:center;margin-top:1px;width:18px}.topbar-admin-btn,.topbar-ios-num{align-items:center;display:flex;font-weight:700}.topbar-admin-btn{background:var(--primary-light);border:1.5px solid #00c85340;border-radius:var(--radius-sm);color:var(--primary);font-size:12px;gap:5px;padding:5px 12px;text-decoration:none;transition:var(--transition-fast);white-space:nowrap}.topbar-admin-btn.active,.topbar-admin-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.topbar-user{gap:8px}.topbar-avatar,.topbar-user{align-items:center;display:flex}.topbar-avatar{background:var(--gradient);border-radius:50%;box-shadow:0 0 0 2px var(--surface),0 0 0 3px #00c8534d;color:#fff;flex-shrink:0;font-size:11px;font-weight:700;height:30px;justify-content:center;width:30px}.topbar-user-info{display:flex;flex-direction:column;min-width:0}.topbar-user-name{color:var(--text);font-size:13px;font-weight:600;letter-spacing:-.1px}.topbar-user-email,.topbar-user-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user-email{color:var(--text-muted);font-size:11px}.topbar-signout{background:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;transition:var(--transition-fast);white-space:nowrap}.topbar-signout:hover{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}[data-theme=dark] .topbar-signout:hover{background:#ef44441f}@media (max-width:768px){.topbar{display:none}}.fb-trigger{align-items:center;background:#1e293b;border:1.5px solid #334155;border-radius:50px;bottom:28px;box-shadow:0 4px 16px #00000059;color:#f1f5f9;cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:8px;padding:11px 18px 11px 14px;position:fixed;right:28px;transition:transform .2s,box-shadow .2s,background .15s;z-index:900}.fb-trigger:hover{background:#0f172a;border-color:#475569;box-shadow:0 8px 24px #00000073;transform:translateY(-2px)}.fb-trigger:active{transform:translateY(0)}.fb-backdrop{background:#0000;inset:0;position:fixed;z-index:950}.fb-panel{animation:fb-slide-up .22s cubic-bezier(.34,1.4,.64,1);background:var(--surface);border:1px solid var(--border);border-radius:20px;bottom:80px;box-shadow:0 20px 60px #0000002e;display:flex;flex-direction:column;max-height:80vh;max-width:calc(100vw - 40px);overflow:hidden;position:fixed;right:28px;width:380px;z-index:1000}@keyframes fb-slide-up{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.fb-panel-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:14px 16px 0}.fb-panel-title{color:var(--text);font-size:14px;font-weight:700}.fb-close{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:background .15s,color .15s;width:30px}.fb-close:hover{background:var(--surface-2);color:var(--text)}.fb-panel-body{flex:1 1;overflow-y:auto;padding:16px}.fb-intro{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0 0 16px}.fb-form{display:flex;flex-direction:column;gap:14px}.fb-type-selector{display:flex;gap:8px}.fb-type-btn{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;color:var(--text-muted);cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:7px;justify-content:center;padding:10px 12px;transition:all .15s}.fb-type-btn.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.fb-type-btn:hover:not(.active){border-color:var(--text-muted);color:var(--text)}.fb-field{display:flex;flex-direction:column;gap:6px;position:relative}.fb-label{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.fb-input,.fb-textarea{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;box-sizing:border-box;color:var(--text);font-family:inherit;font-size:13px;padding:10px 12px;resize:none;transition:border-color .15s,box-shadow .15s;width:100%}.fb-input:focus,.fb-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00c8531f;outline:none}.fb-input::placeholder,.fb-textarea::placeholder{color:var(--text-muted);opacity:.7}.fb-char-count{color:var(--text-muted);font-size:11px;margin-top:2px;text-align:right}.fb-priority-selector{display:flex;gap:6px}.fb-priority-btn{background:var(--surface);border:1.5px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:11px;font-weight:700;padding:6px 4px;transition:all .15s}.fb-priority-btn:hover:not(.active){border-color:var(--text-muted);color:var(--text)}.fb-priority-low.active{background:#dcfce7;border-color:#86efac;color:#16a34a}.fb-priority-medium.active{background:#f5f3ff;border-color:#d4a017;color:#d4a017}.fb-priority-high.active{background:#ede9fe;border-color:#7c3aed;color:#0284c7}.fb-priority-critical.active{background:#fee2e2;border-color:#f87171;color:#dc2626}[data-theme=dark] .fb-priority-low.active{background:#16a34a26;border-color:#4ade80;color:#4ade80}[data-theme=dark] .fb-priority-medium.active{background:#d4a01726;border-color:#d4a017;color:#d4a017}[data-theme=dark] .fb-priority-high.active{background:#4f46e526;border-color:#7c3aed;color:#7c3aed}[data-theme=dark] .fb-priority-critical.active{background:#dc262626;border-color:#f87171;color:#f87171}.fb-error{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;font-size:13px;padding:10px 12px}[data-theme=dark] .fb-error{background:#dc262626;border-color:#dc26264d;color:#f87171}.fb-submit-btn{justify-content:center;margin-top:4px;width:100%}.fb-success{align-items:center;display:flex;flex-direction:column;gap:10px;padding:16px 8px;text-align:center}.fb-success-icon{margin-bottom:4px}.fb-success h3{color:var(--text);font-size:17px;font-weight:800;margin:0}.fb-success p{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0}.fb-success .btn-primary{margin-top:8px}.fb-tickets-loading{align-items:center;color:var(--text-muted);display:flex;font-size:13px;gap:12px;justify-content:center;padding:40px 0}.fb-spinner{animation:fb-spin .7s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--primary);flex-shrink:0;height:20px;width:20px}@keyframes fb-spin{to{transform:rotate(1turn)}}.fb-no-tickets{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:14px;gap:10px;padding:24px 0;text-align:center}.fb-no-tickets .btn-primary{margin-top:6px}.fb-tickets-list{gap:10px}.fb-ticket-item,.fb-tickets-list{display:flex;flex-direction:column}.fb-ticket-item{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;gap:6px;padding:12px 14px}.fb-ticket-top{align-items:center;display:flex;gap:8px;justify-content:space-between}.fb-ticket-type{border-radius:20px;font-size:11px;font-weight:700;padding:3px 8px}.fb-type-bug{background:#fee2e2;color:#dc2626}.fb-type-feature{background:#ede9fe;color:#7c3aed}[data-theme=dark] .fb-type-bug{background:#dc26262e;color:#f87171}[data-theme=dark] .fb-type-feature{background:#7c3aed33;color:#c4b5fd}.fb-ticket-status{border-radius:20px;font-size:11px;font-weight:700;padding:3px 8px}.fb-status-open{background:#dbeafe;color:#1d4ed8}.fb-status-progress{background:#f5f3ff;color:#d4a017}.fb-status-resolved{background:#dcfce7;color:#16a34a}.fb-status-closed{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}[data-theme=dark] .fb-status-open{background:#1d4ed833;color:#93c5fd}[data-theme=dark] .fb-status-progress{background:#d4a01733;color:#d4a017}[data-theme=dark] .fb-status-resolved{background:#16a34a33;color:#4ade80}[data-theme=dark] .fb-status-closed{background:#0000;color:var(--text-muted)}.fb-ticket-title{color:var(--text);font-size:13px;font-weight:600;line-height:1.4}.fb-ticket-meta{font-size:11px}.fb-ticket-meta,.fb-ticket-priority{color:var(--text-muted)}@media (max-width:500px){.fb-trigger span{display:none}.fb-trigger{border-radius:50%;padding:13px}.fb-panel{bottom:74px;left:12px;max-width:100%;right:12px;width:auto}}.notif-prompt{align-items:center;animation:promptSlideUp .4s cubic-bezier(.34,1.56,.64,1) both;background:#fff;border:1.5px solid #00c85340;border-radius:16px;bottom:24px;box-shadow:0 8px 32px #0000002e;display:flex;gap:14px;left:50%;max-width:460px;min-width:300px;padding:16px 20px;position:fixed;transform:translateX(-50%);width:calc(100vw - 48px);z-index:9999}.notif-prompt-success{background:linear-gradient(135deg,#f0fff5,#e8fdf0);border-color:#00c853}@keyframes promptSlideUp{0%{opacity:0;transform:translateX(-50%) translateY(24px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.notif-prompt-icon{align-items:center;background:#00c8531a;border-radius:12px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.notif-prompt-body{flex:1 1;min-width:0}.notif-prompt-title{color:#111;font-size:14px;font-weight:700;margin-bottom:2px}.notif-prompt-msg{color:#666;font-size:12px;line-height:1.4}.notif-prompt-actions{display:flex;flex-direction:column;flex-shrink:0;gap:6px}.notif-prompt-allow{background:linear-gradient(135deg,#00c853,#00897b);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:8px 18px;transition:opacity .15s;white-space:nowrap}.notif-prompt-allow:hover{opacity:.88}.notif-prompt-dismiss{background:none;border:none;color:#aaa;cursor:pointer;font-size:12px;font-weight:600;padding:6px 10px;text-align:center;transition:color .15s}.notif-prompt-dismiss:hover{color:#666}[data-theme=dark] .notif-prompt{background:#1e2028;border-color:#00c8534d;box-shadow:0 8px 32px #00000073}[data-theme=dark] .notif-prompt-title{color:#e8eaf6}[data-theme=dark] .notif-prompt-msg{color:#9da3c8}[data-theme=dark] .notif-prompt-success{background:#0d2016}@media (max-width:480px){.notif-prompt{bottom:16px;flex-wrap:wrap;max-width:calc(100vw - 32px);width:calc(100vw - 32px)}.notif-prompt-actions{flex-direction:row;justify-content:flex-end;width:100%}}.offline-banner{align-items:center;animation:ob-slide-in .25s ease;display:flex;font-size:13px;font-weight:600;gap:10px;padding:10px 20px;position:sticky;top:0;z-index:200}@keyframes ob-slide-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.offline-banner.offline{background:#1e293b;color:#e2e8f0}.offline-banner.syncing{background:#1e3a5f;color:#93c5fd}.offline-banner.synced{background:#14532d;color:#86efac}.offline-banner.pending{background:#78350f;color:#fde68a}.ob-icon{align-items:center;display:inline-flex;flex-shrink:0}.ob-text{flex:1 1}.ob-spinner{animation:ob-spin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:initial;flex-shrink:0;height:16px;width:16px}@keyframes ob-spin{to{transform:rotate(1turn)}}.ob-sync-btn{background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;color:inherit;cursor:pointer;flex-shrink:0;font-size:12px;font-weight:700;padding:4px 12px;transition:background .15s;white-space:nowrap}.ob-sync-btn:hover{background:#ffffff40}@media (max-width:480px){.offline-banner{padding:8px 14px}}.trial-banner{align-items:center;border-bottom:1px solid #0000;display:flex;flex-shrink:0;font-size:.875rem;font-weight:500;gap:.75rem;padding:.6rem 1.25rem;z-index:100}.trial-banner--normal{background:#e8f5e9;border-color:#a5d6a7;color:#1b5e20}.trial-banner--warning{background:#fff8e1;border-color:#ffe082;color:#7c5e00}.trial-banner--urgent{background:#ffebee;border-color:#ef9a9a;color:#b71c1c}[data-theme=dark] .trial-banner--normal{background:#1b3321;border-color:#2e5a3a;color:#a5d6a7}[data-theme=dark] .trial-banner--warning{background:#332d0e;border-color:#665c1c;color:#ffe082}[data-theme=dark] .trial-banner--urgent{background:#3b1212;border-color:#7c2626;color:#ef9a9a}.trial-banner__msg{flex:1 1}.trial-banner__cta{background:#00c853;background:var(--primary,#00c853);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:.3rem .9rem;transition:opacity .15s;white-space:nowrap}.trial-banner__cta:hover{opacity:.85}.trial-banner--urgent .trial-banner__cta{background:#d32f2f}.trial-banner__dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:1.1rem;line-height:1;opacity:.5;padding:0 .25rem;transition:opacity .15s}.trial-banner__dismiss:hover{opacity:1}.app-layout{height:100vh;overflow:hidden}.app-layout,.app-main{background:var(--bg);display:flex}.app-main{flex:1 1;flex-direction:column;min-width:0;overflow-x:clip;overflow-y:auto}@media (max-width:768px){.app-main{padding-bottom:max(env(safe-area-inset-bottom,0px),16px);padding-top:calc(54px + env(safe-area-inset-top))}.inner-page{padding-bottom:80px!important}}.dashboard-inner{box-sizing:border-box;display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1100px;padding:28px 28px 60px;width:100%}.dash-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);justify-content:space-between;padding:22px 24px}.dash-hero,.dash-hero-left{align-items:center;display:flex;gap:16px}.dash-hero-avatar{align-items:center;background:var(--gradient);border-radius:50%;box-shadow:0 0 0 3px var(--surface),0 0 0 5px #00c85340;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:56px;justify-content:center;overflow:hidden;width:56px}.dash-hero-avatar img{height:100%;object-fit:cover;width:100%}.dash-greeting-text{color:var(--text);font-size:22px;font-weight:800;letter-spacing:-.4px;margin:0 0 3px}.dash-date{color:var(--text-muted);font-size:13px;font-weight:500;margin:0 0 4px}.dash-family-name{align-items:center;color:var(--text-2);display:flex;font-size:12px;font-weight:500;gap:5px;margin:0}.dash-role-chip{background:var(--primary-light);border:1px solid #00c85340;border-radius:var(--radius-full);color:var(--primary-dark);display:inline-block;font-size:10px;font-weight:700;letter-spacing:.03em;padding:1px 8px;text-transform:capitalize}.dash-hero-right{flex-shrink:0}.dash-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.dash-stat-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;gap:12px;padding:16px 14px;transition:var(--transition-base)}.dash-stat-card:hover{border-color:#00c85340;box-shadow:var(--shadow-md);transform:translateY(-2px)}.dash-stat-icon{align-items:center;border-radius:var(--radius-sm);display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.pending-icon{background:#00c8531f}.bills-icon{background:#d4a0171f}.grocery-icon{background:#3b82f61f}.events-icon{background:#a855f71f}.dash-stat-num{color:var(--text);font-size:22px;font-weight:800;letter-spacing:-.5px;line-height:1}.dash-stat-label{color:var(--text-muted);font-size:11.5px;font-weight:500;margin-top:3px}.dash-quick-actions{display:flex;flex-wrap:wrap;gap:10px}.dash-qa-btn{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:600;gap:7px;padding:8px 14px;transition:var(--transition-fast);white-space:nowrap}.dash-qa-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary-dark);transform:translateY(-1px)}.dash-qa-icon{filter:brightness(0) invert(.45);height:16px;object-fit:contain;transition:filter .12s;width:16px}.dash-qa-btn:hover .dash-qa-icon{filter:invert(45%) sepia(97%) saturate(500%) hue-rotate(110deg) brightness(95%)}.dash-two-col{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.dash-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px;transition:var(--transition-base)}.dash-panel:hover{box-shadow:var(--shadow-md)}.dash-panel-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;margin-bottom:14px;padding-bottom:12px}.dash-panel-header h2{align-items:center;color:var(--text);display:flex;font-size:14px;font-weight:700;gap:7px;letter-spacing:-.1px;margin:0}.dash-panel-icon{filter:brightness(0) invert(.5);height:18px;object-fit:contain;width:18px}.dash-panel-link{background:none;border:none;color:var(--primary);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:12px;font-weight:600;padding:0;transition:var(--transition-fast)}.dash-panel-link:hover{text-decoration:underline;text-underline-offset:2px}.dash-empty{color:var(--text-muted);padding:28px 16px;text-align:center}.dash-empty p{font-size:13px;margin:8px 0 0}.dash-loading{color:var(--text-muted);padding:60px 20px;text-align:center}.spinner{animation:spin .7s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:30px;margin:0 auto 12px;width:30px}@keyframes spin{to{transform:rotate(1turn)}}.dash-events-list{display:flex;flex-direction:column}.dash-event-item{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;gap:10px;padding:9px 0;transition:var(--transition-fast)}.dash-event-item:last-child{border-bottom:none}.dash-event-time{color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.02em;min-width:46px;padding-top:2px;white-space:nowrap}.dash-event-body{flex:1 1;min-width:0}.dash-event-title{color:var(--text);font-size:13px;font-weight:600;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-event-member{align-items:center;color:var(--text-2);display:flex;font-size:12px;gap:5px}.dash-event-cat{align-self:flex-start;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:11px;font-weight:500;margin-top:2px;padding:2px 8px;white-space:nowrap}.dash-mini-avatar{align-items:center;background:var(--gradient);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:8px;font-weight:700;height:20px;justify-content:center;overflow:hidden;width:20px}.dash-mini-avatar img{height:100%;object-fit:cover;width:100%}.dash-chores-list{display:flex;flex-direction:column}.dash-chore-item{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:10px;padding:8px 0;transition:var(--transition-fast)}.dash-chore-item:last-child{border-bottom:none}.dash-chore-item.completed{opacity:.42}.dash-chore-check{align-items:center;background:none;border:2px solid var(--border);border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:var(--transition-fast);width:20px}.dash-chore-check:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary)}.dash-chore-check.checked{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 3px #00c85326;cursor:default}.dash-chore-body{flex:1 1;min-width:0}.dash-chore-title{color:var(--text);font-size:13px;font-weight:600;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-chore-assignee{align-items:center;color:var(--text-2);display:flex;font-size:11px;gap:5px}.dash-chore-pts{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:11px;font-weight:600;padding:1px 7px;white-space:nowrap}.dash-budget-bars{display:flex;flex-direction:column;gap:8px}.dash-budget-row{align-items:center;display:flex;font-size:13.5px;justify-content:space-between}.dash-budget-label{color:var(--text-2);font-weight:500}.dash-budget-amount{font-weight:700;letter-spacing:-.2px}.dash-budget-income{color:var(--success)}.dash-budget-expense{color:var(--danger)}.dash-budget-divider{background:var(--border);height:1px;margin:2px 0}.dash-budget-balance-row{margin-top:2px}.dash-budget-balance.positive{color:var(--success)}.dash-budget-balance.negative{color:var(--danger)}.dash-spend-bar-wrap{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-full);height:7px;margin-top:10px;overflow:hidden;position:relative}.dash-spend-bar{background:var(--gradient);border-radius:var(--radius-full);height:100%;transition:width .5s ease}.dash-spend-pct{color:var(--text-muted);font-size:10px;font-weight:700;position:absolute;right:0;top:-18px}.dash-savings-goals{border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:14px}.dash-savings-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.dash-savings-name{color:var(--text);font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-savings-pct{color:var(--primary);font-size:11px;font-weight:700}.dash-savings-track{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-full);height:6px;overflow:hidden}.dash-savings-fill{background:var(--gradient);border-radius:var(--radius-full);height:100%;transition:width .5s ease}.dash-upcoming-section{margin-bottom:14px}.dash-upcoming-section:last-child{margin-bottom:0}.dash-upcoming-label{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.07em;margin-bottom:8px;text-transform:uppercase}.dash-upcoming-item{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:10px;padding:7px 0}.dash-upcoming-item:last-child{border-bottom:none}.dash-upcoming-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.dash-upcoming-dot-bill{background:var(--warning)}.dash-upcoming-dot-event{background:var(--info)}.dash-upcoming-body{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.dash-upcoming-title{color:var(--text);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-upcoming-date{color:var(--text-muted);font-size:11px;font-weight:500}.dash-upcoming-amount{color:var(--danger);flex-shrink:0;font-size:13px;font-weight:700;white-space:nowrap}.dash-members-row{display:flex;flex-wrap:wrap;gap:10px}.dash-member-pill{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;display:flex;font-family:inherit;gap:9px;padding:8px 14px 8px 8px;transition:var(--transition-fast)}.dash-member-pill:hover{background:var(--primary-light);border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.dash-member-avatar{align-items:center;background:var(--gradient);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:32px;justify-content:center;overflow:hidden;width:32px}.dash-member-avatar img{height:100%;object-fit:cover;width:100%}.dash-member-pill-info{align-items:flex-start;display:flex;flex-direction:column;gap:1px}.dash-member-pill-name{color:var(--text);font-size:13px;font-weight:600;line-height:1}.dash-member-pill-age{color:var(--text-muted);font-size:10px;font-weight:500}.dash-no-family .families-section{padding:28px}.families-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.families-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:16px}.family-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:20px;text-align:center;transition:var(--transition-base)}.family-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.family-card-icon{font-size:32px}.family-card h3{color:var(--text);font-size:16px;font-weight:700;letter-spacing:-.2px;margin:0}.family-members{color:var(--text-muted);font-size:13px;margin:0}.btn-card{background:var(--primary-light);border:1.5px solid #00c8534d;border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;margin-top:4px;padding:7px 16px;transition:var(--transition-fast);width:100%}.btn-card.active,.btn-card:hover{background:var(--primary);border-color:var(--primary);color:#fff}.create-family-form{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:16px}.create-family-form input{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-family:inherit;font-size:14px;padding:9px 12px;transition:var(--transition-fast);width:100%}.create-family-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00c8531f;outline:none}@media (max-width:960px){.dash-stats{grid-template-columns:repeat(2,1fr)}.dash-two-col{grid-template-columns:1fr}}@media (max-width:600px){.dashboard-inner{gap:14px;padding:16px 14px 48px}.dash-greeting-text{font-size:18px}.dash-stats{gap:10px;grid-template-columns:repeat(2,1fr)}.dash-hero{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}.dash-hero-right{display:none}.dash-stat-card{gap:8px;padding:12px 10px}.dash-stat-icon{height:36px;width:36px}.dash-stat-num{font-size:20px}.dash-quick-actions{gap:8px}.dash-qa-btn{font-size:12px;padding:7px 11px}.dash-members-row{gap:8px}}.page-top{border-bottom:1px solid var(--border);gap:12px;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.page-heading,.page-top{align-items:center;display:flex}.page-heading{color:var(--text);flex-shrink:0;font-size:22px;font-weight:800;gap:10px;letter-spacing:-.3px;margin:0;min-width:0}.page-top>.btn-danger,.page-top>.btn-primary,.page-top>.btn-secondary{flex-shrink:0;white-space:nowrap}.page-top>.page-top-actions{display:flex;flex-shrink:0;gap:8px}.page-top>.page-top-actions>button{white-space:nowrap}.page-heading-icon{height:28px;object-fit:contain;width:28px}.page-back-btn{align-items:center;background:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;line-height:0;padding:5px;transition:var(--transition-fast)}.page-back-btn:hover{background:var(--surface-hover);border-color:var(--primary);color:var(--text)}.page{background-color:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.page-header{background:var(--gradient);color:#fff;padding:20px 40px 30px}.page-header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.page-header-left{align-items:center;display:flex;gap:8px}.back-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:var(--radius-full);color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:var(--transition-fast)}.back-btn:hover{background:#ffffff40}.breadcrumb-sep{color:#fff6;font-size:14px}.breadcrumb-family{color:#ffffffd9;font-size:14px;font-weight:500}.page-header-right{align-items:center;display:flex;gap:12px}.header-username{color:#ffffffe6;font-size:14px;font-weight:500}.page-logout-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border:1px solid #ffffff40;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:var(--transition-fast)}.page-logout-btn:hover{background:#ffffff38}.page-title-row{align-items:flex-end;display:flex;justify-content:space-between}.page-title{color:#fff;font-size:28px;font-weight:800;letter-spacing:-.5px;margin:0 0 4px}.page-subtitle{color:#fffc;font-size:14px;margin:0}.page-content{margin:0 auto;max-width:1100px;padding:32px 24px 60px}.btn-primary{align-items:center;background:var(--gradient);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;letter-spacing:-.1px;line-height:1.4;padding:9px 18px;transition:var(--transition-fast);white-space:nowrap}.btn-primary:hover:not(:disabled){background:var(--gradient-hover);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{cursor:not-allowed;opacity:.55}.btn-secondary{align-items:center;background:var(--surface);border:1.5px solid var(--primary);border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;letter-spacing:-.1px;line-height:1.4;padding:8px 17px;transition:var(--transition-fast);white-space:nowrap}.btn-secondary:hover:not(:disabled){background:var(--primary-light);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:disabled{cursor:not-allowed;opacity:.55}.btn-danger{align-items:center;background:var(--surface);border:1.5px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:7px 14px;transition:var(--transition-fast);white-space:nowrap}.btn-danger:hover:not(:disabled){background:var(--danger-bg);transform:translateY(-1px)}.btn-danger:disabled{cursor:not-allowed;opacity:.55}.btn-icon{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:16px;justify-content:center;line-height:0;padding:6px;transition:var(--transition-fast)}.btn-icon:hover{background:var(--surface-hover);color:var(--text-2)}.btn-icon:active{transform:scale(.92)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:22px}.card:hover{box-shadow:var(--shadow-md)}.form-group{margin-bottom:16px}.form-group label{color:var(--text-2);display:block;font-size:13px;font-weight:600;letter-spacing:-.1px;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{appearance:none;-webkit-appearance:none;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-size:14px;padding:9px 12px;transition:var(--transition-fast);width:100%}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--surface);border-color:var(--primary);box-shadow:0 0 0 3px #00c8531f;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light)}.form-group textarea{min-height:80px;resize:vertical}.form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.form-actions{display:flex;gap:10px;margin-top:8px}.empty-state{color:var(--text-muted);padding:56px 20px;text-align:center}.empty-state-icon{font-size:44px;margin-bottom:14px}.empty-state h3{color:var(--text-2);font-size:17px;font-weight:700;margin:0 0 8px}.empty-state p{font-size:14px;margin:0}.alert{align-items:flex-start;border-radius:var(--radius-sm);display:flex;font-size:13px;font-weight:500;gap:8px;margin-bottom:14px;padding:11px 14px}.alert-warning{background:var(--warning-bg);border:1px solid #d4a0174d;color:#6d28d9}.alert-error{background:var(--danger-bg);border:1px solid #ef44444d;color:#b91c1c}.alert-success{background:var(--success-bg);border:1px solid #22c55e4d;color:#166534}[data-theme=dark] .alert-warning{color:#fde68a}[data-theme=dark] .alert-error{color:#fca5a5}[data-theme=dark] .alert-success{color:#86efac}.section-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.section-header h2{color:var(--text);flex-shrink:1;font-size:18px;font-weight:700;letter-spacing:-.3px;margin:0;min-width:0}.section-header>.btn-danger,.section-header>.btn-primary,.section-header>.btn-secondary{flex-shrink:0;white-space:nowrap}.modal-overlay{align-items:center;animation:overlayFadeIn .15s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal{animation:modalSlideUp .2s cubic-bezier(.34,1.56,.64,1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:90vh;max-width:480px;overflow-y:auto;padding:26px;width:100%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.modal-header h2{color:var(--text);font-size:18px;font-weight:700;letter-spacing:-.3px;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:30px;justify-content:center;line-height:1;transition:var(--transition-fast);width:30px}.modal-close:hover{background:var(--surface-hover);color:var(--text)}@media (max-width:768px){.page-header{padding:16px 20px 24px}.page-content{padding:20px 16px 40px}.page-title{font-size:22px}.page-title-row{align-items:flex-start;flex-direction:column;gap:12px}.form-row{grid-template-columns:1fr}.page-header-top{flex-wrap:wrap;gap:8px}}[data-theme=dark] .page{background-color:var(--bg)}[data-theme=dark] .card{background:var(--surface);border-color:var(--border)}[data-theme=dark] .btn-secondary{background:#0000;border-color:var(--primary);color:var(--primary)}[data-theme=dark] .btn-secondary:hover{background:var(--primary-light)}[data-theme=dark] .btn-icon{color:var(--text-muted)}[data-theme=dark] .btn-icon:hover{background:var(--surface-2);color:var(--text-2)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background:var(--surface-2);border-color:var(--border);color:var(--text)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus,[data-theme=dark] .form-group textarea:focus{background:var(--surface-3)}.inner-page{margin:0 auto;max-width:1100px;padding:28px 24px 60px}@media (max-width:768px){.inner-page{box-sizing:border-box;overflow-x:hidden;padding:20px 14px 80px;width:100%}.btn-danger,.btn-primary,.btn-secondary,.inner-page>*{box-sizing:border-box;max-width:100%}.bt-section-header,.page-top{flex-wrap:wrap;max-width:100%}}.cal-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 320px}.cal-main{padding:20px}.cal-nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.cal-nav .btn-icon{font-size:22px;padding:4px 12px}.cal-month-label{color:var(--text);font-size:20px;font-weight:700;margin:0}.cal-legend{border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px;padding-bottom:12px}.cal-legend-item{align-items:center;color:var(--text-muted);display:flex;font-size:11px;font-weight:600;gap:5px}.cal-legend-dot{border-radius:3px;flex-shrink:0;height:10px;width:10px}.cal-legend-task{background:#d4a017;border:1.5px dashed #d4a017}.cal-legend-chore{background:#0000;border:1.5px solid #51cf66;border-radius:50%}.cal-legend-tentative{background:repeating-linear-gradient(45deg,#667eea,#667eea 3px,#0000 0,#0000 7px)}.cal-grid-header{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.cal-day-name{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;padding:6px 0;text-align:center;text-transform:uppercase}.cal-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.cal-cell{background:var(--surface-2);border:2px solid #0000;border-radius:6px;cursor:pointer;min-height:88px;padding:6px;transition:background .15s}.cal-cell:hover{background:var(--surface-3)}.cal-cell-empty{background:#0000;cursor:default}.cal-cell-today{background:#00c8530f}.cal-cell-selected{border-color:var(--primary)!important}.cal-day-num{color:var(--text);display:inline-block;font-size:12px;font-weight:600}.today-circle{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:inline-flex;font-size:11px;height:22px;justify-content:center;width:22px}.cal-events-preview{display:flex;flex-direction:column;gap:2px;margin-top:4px}.event-pill{align-items:center;background:#667eea;background:var(--pill-color,#667eea);border-radius:3px;color:#fff;display:flex;font-size:10px;font-weight:600;gap:3px;overflow:hidden;padding:2px 5px;text-overflow:ellipsis;white-space:nowrap}.event-pill-task{background:#0000;border:1.5px dashed #d4a017;color:#b45309}.event-pill-chore{background:#0000;border:1.5px solid #22c55e;color:#166534}.event-pill-chore-grid{background:#22c55e26;border-radius:10px;color:#15803d;font-size:10px;font-weight:600;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.event-pill-tentative{background:repeating-linear-gradient(45deg,#667eea,#667eea 4px,#0000 0,#0000 9px)!important;background:repeating-linear-gradient(45deg,var(--pill-color,#667eea) 0,var(--pill-color,#667eea) 4px,#0000 4px,#0000 9px)!important;border:1px solid #667eea;border:1px solid var(--pill-color,#667eea);color:var(--text);opacity:.65}.pill-type-dot{border-radius:50%;flex-shrink:0;height:5px;width:5px}.pill-task{background:#d4a017}.pill-chore{background:#22c55e}.event-pill-more{color:var(--text-muted);font-size:10px;padding-left:2px}.cal-sidebar{display:flex;flex-direction:column;gap:16px}.cal-day-panel{padding:20px}.cal-day-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:14px;padding-bottom:12px}.cal-day-header h3{color:var(--text);font-size:14px;font-weight:700;margin:0}.cal-panel-tabs{background:var(--surface-2);border-radius:10px;display:flex;gap:4px;margin-bottom:14px;padding:3px}.cal-panel-tab{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;flex:1 1;font-size:12px;font-weight:600;gap:5px;justify-content:center;padding:6px 10px;transition:all .15s;white-space:nowrap}.cal-panel-tab.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--primary)}.cal-tab-badge{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-size:10px;font-weight:700;height:16px;justify-content:center;width:16px}.cal-no-events{color:var(--text-muted);padding:28px 0;text-align:center}.cal-no-events p{color:var(--text-muted);font-size:13px;margin:0}.cal-event-list{display:flex;flex-direction:column;gap:8px}.cal-event-item{align-items:flex-start;background:var(--surface-2);border:1px solid #0000;border-radius:10px;display:flex;gap:10px;padding:10px;transition:border-color .15s}.cal-event-item:hover{border-color:var(--border)}.cal-event-tentative{border:1.5px dashed var(--border);opacity:.8}.cal-event-task{background:#d4a0170f;border-left:3px solid #d4a017}.cal-event-chore-link{background:#22c55e0d;border-left:3px solid #22c55e}.cal-chore-item{background:#22c55e0d}.cal-event-bar{align-self:stretch;border-radius:2px;flex-shrink:0;min-height:36px;width:4px}.cal-event-body{flex:1 1;min-width:0}.cal-event-title-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:3px}.cal-event-title{color:var(--text);flex:1 1;font-size:13px;font-weight:700;min-width:0}.cal-event-badges{display:flex;flex-wrap:wrap;gap:4px}.cal-type-badge{border-radius:10px;flex-shrink:0;font-size:10px;font-weight:700;padding:1px 7px;text-transform:capitalize}.cal-type-task{background:#d4a01726;color:#b45309}.cal-type-chore{background:#22c55e26;color:#15803d}.cal-status-badge{background:repeating-linear-gradient(45deg,#6464c826,#6464c826 3px,#0000 0,#0000 7px);border:1px dashed #667eea;border-radius:10px;color:#667eea;flex-shrink:0}.cal-done-badge,.cal-status-badge{font-size:10px;font-weight:700;padding:1px 7px}.cal-done-badge{background:#22c55e26;border-radius:10px;color:#15803d}.cal-event-time{align-items:center;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:11px;gap:5px}.cal-event-cat{background:var(--surface-3);border-radius:8px;color:var(--text-muted);font-size:10px;padding:1px 6px;text-transform:capitalize}.cal-chore-link{color:#15803d;font-size:11px;font-weight:600}.cal-chore-link,.cal-notif-badge{align-items:center;display:flex;gap:4px;margin-top:3px}.cal-notif-badge{color:var(--text-muted);font-size:10px}.cal-event-desc{color:var(--text-muted);font-size:11px;line-height:1.4;margin-top:4px}.cal-event-actions{display:flex;flex-direction:column;gap:2px}.cal-upcoming-chores{padding:14px 16px}.cal-upcoming-title{align-items:center;color:var(--text);display:flex;font-size:12px;font-weight:800;gap:7px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.cal-upcoming-chore-item{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:7px 0}.cal-upcoming-chore-item:last-child{border-bottom:none}.cal-upcoming-dot{background:var(--primary);border-radius:50%;flex-shrink:0;height:8px;width:8px}.cal-upcoming-dot.overdue{background:var(--danger)}.cal-upcoming-chore-body{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.cal-upcoming-chore-name{color:var(--text);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-upcoming-chore-due{color:var(--text-muted);font-size:11px}.cal-upcoming-chore-due.overdue{color:var(--danger);font-weight:600}.cal-modal{max-width:540px}.cal-type-pill,.cal-type-pills{display:flex;gap:6px}.cal-type-pill{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;justify-content:center;padding:8px 12px;transition:all .15s}.cal-type-pill:hover{border-color:var(--primary);color:var(--text)}.cal-type-pill.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.cal-status-toggle{background:var(--surface-2);border-radius:8px;display:flex;gap:4px;padding:3px}.cal-status-btn{background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:6px 8px;transition:all .15s}.cal-status-btn.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--primary)}.cal-status-btn.tentative.active{background:#667eea14;border:1px dashed #667eea;color:#667eea}.cal-recur-pills{display:flex;flex-wrap:wrap;gap:5px}.cal-recur-pill{background:var(--surface);border:1.5px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600;padding:6px 11px;transition:all .15s;white-space:nowrap}.cal-recur-pill:hover{border-color:var(--primary);color:var(--text)}.cal-recur-pill.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.cal-day-picker{display:flex;gap:5px}.cal-day-btn{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:34px;justify-content:center;transition:all .15s;width:34px}.cal-day-btn:hover{border-color:var(--primary);color:var(--text)}.cal-day-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.cal-optional{color:var(--text-muted);font-size:11px;font-weight:400;margin-left:3px}.cal-recur-badge{align-items:center;color:var(--primary);display:inline-flex;margin-right:4px;vertical-align:middle}.cal-delete-modal{max-width:380px;padding:28px 24px 24px;text-align:center}.cal-delete-icon{margin:0 auto 12px;width:36px}.cal-delete-title{color:var(--text);font-size:17px;font-weight:800;margin:0 0 8px}.cal-delete-desc{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0 0 20px}.cal-delete-actions{display:flex;flex-direction:column;gap:8px}.btn-danger{background:#dc2626;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 16px;transition:background .15s;width:100%}.btn-danger:hover{background:#b91c1c}.btn-danger-outline{border:1.5px solid #dc2626;color:#dc2626;font-weight:700;padding:10px 16px;transition:all .15s;width:100%}.btn-danger-outline:hover{background:#fee2e2}[data-theme=dark] .cal-delete-modal{background:var(--surface)}[data-theme=dark] .btn-danger-outline:hover{background:#dc26261f}@media (max-width:1024px){.cal-layout{grid-template-columns:1fr 280px}}@media (max-width:900px){.cal-layout{grid-template-columns:1fr}.cal-cell{min-height:60px}}@media (max-width:600px){.cal-main.card{border-radius:12px;overflow:hidden;padding:0}.cal-nav{padding:10px 10px 4px}.cal-legend{padding:0 10px 6px}.cal-grid,.cal-grid-header{grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.cal-grid-header{padding:0}.cal-cell{min-height:52px;min-width:0;padding:3px 2px}.cal-day-name{font-size:9px;letter-spacing:0;padding:4px 0;text-align:center}.event-pill,.event-pill-chore-grid{font-size:8px;max-width:100%;overflow:hidden;padding:1px 2px;text-overflow:ellipsis}.cal-day-num{font-size:11px}.today-circle{font-size:10px;height:18px;width:18px}.cal-main{padding:0}.cal-member-filter{padding:8px 10px 6px}.cal-member-chip-name{font-size:10px}}[data-theme=dark] .cal-cell{background:var(--surface-2)}[data-theme=dark] .cal-cell:hover{background:var(--surface-3)}[data-theme=dark] .cal-cell-today{background:#00c85314}[data-theme=dark] .cal-event-item{background:var(--surface-2)}[data-theme=dark] .cal-upcoming-chores{background:var(--surface)}[data-theme=dark] .event-pill-task{border-color:#d4a017;color:#d4a017}[data-theme=dark] .event-pill-chore{border-color:#22c55e;color:#4ade80}[data-theme=dark] .event-pill-chore-grid{background:#22c55e1a;color:#4ade80}[data-theme=dark] .cal-type-task{background:#d4a01733;color:#d4a017}[data-theme=dark] .cal-done-badge,[data-theme=dark] .cal-type-chore{background:#22c55e33;color:#4ade80}[data-theme=dark] .cal-chore-link{color:#4ade80}[data-theme=dark] .cal-event-task{background:#d4a0170d}[data-theme=dark] .cal-event-chore-link{background:#22c55e0d}[data-theme=dark] .cal-chore-item{background:#22c55e0a}[data-theme=dark] .cal-month-label{color:var(--text)}[data-theme=dark] .cal-type-pill{background:var(--surface-2)}.cal-day-view{display:flex;flex-direction:column;height:100%;min-height:500px}.cal-day-view-header{border-bottom:1px solid var(--border);gap:8px;justify-content:space-between;padding:10px 14px}.cal-day-add-btn,.cal-day-view-header{align-items:center;display:flex;flex-shrink:0}.cal-day-add-btn{background:linear-gradient(135deg,#00c853,#00897b);border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:22px;height:32px;justify-content:center;line-height:1;padding:0;transition:transform .15s,box-shadow .15s;width:32px}.cal-day-add-btn:hover{box-shadow:0 3px 10px #00c85366;transform:scale(1.1)}.cal-day-back-btn{align-items:center;background:none;border:1.5px solid var(--border);border-radius:8px;color:var(--text-2);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:6px 12px;transition:all .15s;white-space:nowrap}.cal-day-back-btn:hover{border-color:var(--primary);color:var(--primary)}.cal-day-view-title{align-items:center;display:flex;flex:1 1;flex-direction:column;min-width:0}.cal-day-view-weekday{color:var(--primary);font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.cal-day-view-date{color:var(--text);font-size:17px;font-weight:800}.cal-day-timeline{flex:1 1;overflow-y:auto;padding-bottom:24px;position:relative}.cal-day-timeline-inner{margin-left:52px;margin-right:8px;position:relative}.cal-day-hour-row{align-items:flex-start;cursor:pointer;display:flex;left:0;position:absolute;right:0}.cal-day-hour-row:hover .cal-day-hour-line{background:var(--primary-light)}.cal-day-hour-label{color:var(--text-muted);font-size:11px;font-weight:600;left:-50px;line-height:1;padding-top:2px;position:absolute;text-align:right;-webkit-user-select:none;user-select:none;width:44px}.cal-day-hour-line{background:var(--border);height:1px;left:0;position:absolute;right:0;top:0;transition:background .1s}.cal-day-now-line{height:2px;left:-52px;pointer-events:none;right:0;z-index:10}.cal-day-now-dot,.cal-day-now-line{background:#ef4444;position:absolute}.cal-day-now-dot{border-radius:50%;height:10px;left:48px;top:-4px;width:10px}.cal-day-events-layer{inset:0;pointer-events:none;position:absolute}.cal-day-event-block{border-radius:6px;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:4px 7px;pointer-events:all;position:absolute;transition:filter .1s,box-shadow .1s}.cal-day-event-block:hover{box-shadow:0 2px 8px #0000001f;filter:brightness(.95);z-index:5}.cal-day-event-title{align-items:center;display:flex;font-size:12px;font-weight:700;gap:4px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-day-event-time{font-size:10px;margin-top:2px;opacity:.75;white-space:nowrap}.cal-day-empty{bottom:0;left:0;padding:16px;pointer-events:none;position:absolute;right:0;text-align:center}.cal-day-empty p{color:var(--text-muted);font-size:12px}@media (max-width:768px){.cal-day-view-header{gap:6px;padding:8px 10px}.cal-day-view-date{font-size:14px}.cal-day-view-weekday{font-size:11px}.cal-day-back-btn{font-size:12px;padding:5px 8px}.cal-day-timeline-inner{margin-left:44px}.cal-day-hour-label{left:-42px;width:36px}.cal-day-now-dot{left:40px}}.cal-member-filter{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:6px;overflow-x:auto;padding:10px 14px 8px;scrollbar-width:none}.cal-member-filter::-webkit-scrollbar{display:none}.cal-member-chip{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:20px;cursor:pointer;display:flex;flex-shrink:0;font-size:0;gap:6px;padding:4px 10px 4px 4px;transition:all .15s;white-space:nowrap}.cal-member-chip:hover{background:var(--primary-light);border-color:var(--chip-color,var(--primary))}.cal-member-chip.active{background:color-mix(in srgb,var(--primary) 12%,#0000);background:color-mix(in srgb,var(--chip-color,var(--primary)) 12%,#0000);border-color:var(--chip-color,var(--primary))}.cal-member-chip-avatar{align-items:center;color:#fff;display:flex;font-size:10px;font-weight:800;justify-content:center}.cal-member-chip-avatar,.cal-member-chip-img{border-radius:50%;flex-shrink:0;height:26px;width:26px}.cal-member-chip-img{object-fit:cover}.cal-member-chip-name{color:var(--text);font-size:12px;font-weight:600}.cal-member-chip.active .cal-member-chip-name{color:var(--primary);color:var(--chip-color,var(--primary))}.cal-day-view-filter-tag{align-items:center;background:var(--primary-light);border:1px solid #00c8534d;border-radius:20px;color:var(--primary);display:inline-flex;font-size:11px;font-weight:700;gap:4px;margin-top:4px;padding:2px 8px 2px 10px}.cal-day-view-filter-tag button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:14px;line-height:1;margin-left:2px;padding:0}.cal-assignee-picker{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}.cal-assignee-chip{align-items:center;background:#fff;border:1.5px solid #ddd;border-radius:20px;color:#555;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:5px 10px 5px 6px;transition:border-color .15s,background .15s,color .15s}.cal-assignee-chip.selected{background:#00c85314;border-color:#00c853;color:#00c853;font-weight:600}.cal-assignee-chip:hover:not(.selected){background:#f9f9f9;border-color:#aaa}.cal-assignee-chip-avatar{align-items:center;background:#00c853;border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:700;height:22px;justify-content:center;width:22px}.cal-assignee-chip.selected .cal-assignee-chip-avatar{background:#00c853}.cal-assignee-chip-img{border-radius:50%;height:22px;object-fit:cover;width:22px}[data-theme=dark] .cal-assignee-chip{background:var(--surface-2);border-color:var(--border);color:var(--text-2)}[data-theme=dark] .cal-assignee-chip.selected{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.cal-event-assignees{align-items:center;display:flex;gap:4px;margin-top:5px}.cal-mini-avatar{align-items:center;background:#00c853;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:10px;font-weight:700;height:20px;justify-content:center;overflow:hidden;width:20px}.cal-mini-avatar img{height:100%;object-fit:cover;width:100%}.cal-assignee-names{color:var(--text-muted);font-size:12px}.cal-day-event-assignees{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px}.cal-day-event-assignee{background:#ffffff4d;border-radius:4px;color:inherit;font-size:10px;opacity:.8;padding:0 3px}.cal-holiday-ctrl{align-items:center;display:flex;gap:6px;position:relative}.cal-holiday-toggle{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:5px;padding:7px 12px;transition:all .15s}.cal-holiday-toggle:hover{border-color:#fab005;color:#fab005}.cal-holiday-toggle.active{background:#fab0051a;border-color:#fab005;color:#e67700}.cal-holiday-country-btn{background:var(--surface-2);border:1.5px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.05em;padding:6px 10px;transition:all .15s}.cal-holiday-country-btn:hover{border-color:#fab005;color:#e67700}.cal-country-picker{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 32px #00000024;min-width:220px;padding:14px;position:absolute;right:0;top:calc(100% + 8px);z-index:200}.cal-country-picker-title{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.cal-country-select{background:var(--surface-2);border:1.5px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;outline:none;padding:4px;width:100%}.cal-country-close{background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;margin-top:10px;padding:7px;width:100%}.cal-country-close:hover{background:var(--surface-2)}.cal-holiday-pill{align-items:center;background:#fab00521!important;border-left:2px solid #fab005;color:#e67700!important;display:flex;font-weight:700;gap:5px}.cal-holiday-dot{background:#fab005;border-radius:50%;flex-shrink:0;height:7px;width:7px}.cal-cell-holiday{background:#fab0050a}.cal-holiday-banner{align-items:flex-start;background:linear-gradient(135deg,#fab0051a,#fab0050d);border:1.5px solid #fab0054d;border-radius:12px;display:flex;gap:12px;margin-bottom:12px;padding:12px 14px}.cal-holiday-banner-icon{flex-shrink:0;font-size:22px;line-height:1}.cal-holiday-banner-name{color:var(--text);font-size:14px;font-weight:800}.cal-holiday-banner-intl{color:var(--text-muted);font-size:12px;margin-top:1px}.cal-holiday-banner-tag{background:#fab0051f;border-radius:20px;color:#e67700;display:inline-block;font-size:11px;font-weight:600;margin-top:5px;padding:2px 8px}.tour-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0009;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.tour-card,.tour-overlay{align-items:center;display:flex}.tour-card{animation:tour-pop .25s cubic-bezier(.34,1.56,.64,1);background:#fff;background:var(--surface,#fff);border-radius:24px;box-shadow:0 24px 64px #0000002e;flex-direction:column;max-width:440px;padding:40px 32px 28px;position:relative;text-align:center;width:100%}@keyframes tour-pop{0%{opacity:0;transform:scale(.88) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.tour-skip{background:none;border:none;border-radius:6px;color:#999;color:var(--text-muted,#999);cursor:pointer;font-size:12px;font-weight:600;padding:4px 8px;position:absolute;right:18px;top:16px;transition:color .15s,background .15s}.tour-skip:hover{background:#f5f5f5;background:var(--surface-2,#f5f5f5);color:#333;color:var(--text,#333)}.tour-icon-wrap{align-items:center;background:linear-gradient(135deg,#00c8531f,#6366f11f);border-radius:20px;display:flex;height:72px;justify-content:center;margin-bottom:20px;width:72px}.tour-icon-wrap.tour-icon-large{background:linear-gradient(135deg,#00c85326,#6366f126);border-radius:24px;height:88px;width:88px}.tour-icon{height:44px;object-fit:contain;width:44px}.tour-icon-wrap.tour-icon-large .tour-icon{height:56px;width:56px}.tour-title{color:#0f172a;color:var(--text,#0f172a);font-size:22px;font-weight:800;line-height:1.2;margin:0 0 10px}.tour-body{color:#64748b;color:var(--text-muted,#64748b);font-size:15px;line-height:1.6;margin:0 0 24px}.tour-dots{display:flex;gap:6px;margin-bottom:24px}.tour-dot{background:#e2e8f0;background:var(--border,#e2e8f0);border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:all .2s;width:8px}.tour-dot.active{background:#00c853;border-radius:4px;width:24px}.tour-dot:hover:not(.active){background:#aaa}.tour-actions{display:flex;gap:10px;width:100%}.tour-btn-back{background:none;border:1.5px solid #e2e8f0;border:1.5px solid var(--border,#e2e8f0);border-radius:12px;color:#64748b;color:var(--text-muted,#64748b);cursor:pointer;flex:1 1;font-size:14px;font-weight:700;padding:12px;transition:all .15s}.tour-btn-back:hover{background:#f8f8f8;background:var(--surface-2,#f8f8f8);color:#333;color:var(--text,#333)}.tour-btn-next{background:linear-gradient(135deg,#00c853,#00897b);border:none;border-radius:12px;color:#fff;cursor:pointer;flex:2 1;font-size:14px;font-weight:700;padding:12px;transition:opacity .15s,transform .15s}.tour-btn-next:hover{opacity:.9;transform:translateY(-1px)}.tour-counter{color:#bbb;color:var(--text-muted,#bbb);font-size:11px;font-weight:600;letter-spacing:.05em;margin-top:14px}@media (max-width:480px){.tour-card{border-radius:20px;padding:32px 20px 24px}.tour-title{font-size:20px}.tour-body{font-size:14px}}.members-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}@media (max-width:640px){.members-grid{grid-template-columns:1fr}}.member-card{align-items:flex-start;display:flex;gap:16px;padding:20px}.member-avatar-wrap{flex-shrink:0;position:relative}.member-avatar-label{cursor:pointer;display:block;overflow:hidden;position:relative}.member-avatar,.member-avatar-label{border-radius:50%;height:56px;width:56px}.member-avatar{align-items:center;background:var(--gradient);color:#fff;display:flex;font-size:18px;font-weight:700;justify-content:center}.member-avatar-img{border-radius:50%;display:block;height:56px;object-fit:cover;width:56px}.member-avatar-overlay{align-items:center;background:#00000073;border-radius:50%;color:#fff;display:flex;font-size:18px;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s}.member-avatar-label:hover .member-avatar-overlay{opacity:1}.avatar-remove-btn{align-items:center;background:var(--danger);border:2px solid var(--surface);border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:18px;justify-content:center;line-height:1;opacity:0;padding:0;position:absolute;right:-4px;top:-4px;transition:opacity .2s;width:18px}.member-avatar-wrap:hover .avatar-remove-btn{opacity:1}.member-info{flex:1 1;min-width:0}.member-name{color:var(--text);font-size:16px;font-weight:700;letter-spacing:-.2px;margin:0 0 8px}.member-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.member-type{color:var(--text-2);font-size:13px;text-transform:capitalize}.member-role{border-radius:var(--radius-full);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;text-transform:capitalize}.member-details{color:var(--text-muted);display:flex;font-size:12px;gap:12px}.member-account-status{font-size:11px;font-weight:600;margin-top:6px}.account-linked{color:var(--success)}.account-none{color:var(--text-muted)}.member-actions{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.btn-invite{background:var(--primary-light);border:1px solid #00c8534d;border-radius:var(--radius-xs);color:var(--primary);cursor:pointer;font-family:inherit;font-size:11px;font-weight:700;padding:4px 8px;transition:var(--transition-fast);white-space:nowrap}.btn-invite:hover{background:var(--primary);border-color:var(--primary);color:#fff}.invite-modal{max-width:460px}.invite-instructions{color:var(--text-2);font-size:14px;line-height:1.5;margin-bottom:16px}.invite-loading{color:var(--text-muted);padding:24px;text-align:center}.invite-link-box{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;gap:8px;margin-bottom:8px;padding:10px 14px}.invite-link-text{color:var(--text);flex:1 1;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;word-break:break-all}.btn-copy{background:var(--primary);border:none;border-radius:var(--radius-xs);color:#fff;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:700;padding:6px 14px;transition:var(--transition-fast)}.btn-copy:hover{background:var(--primary-dark)}.invite-expiry{color:var(--text-muted);font-size:12px;margin-bottom:20px}.invite-share-label{color:var(--text-2);font-size:13px;font-weight:600;margin-bottom:10px}.invite-share-btns{display:flex;flex-wrap:wrap;gap:10px}.btn-share{align-items:center;border-radius:8px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;text-decoration:none;transition:opacity .2s}.btn-share:hover{opacity:.85}.btn-share.whatsapp{background:#25d366;color:#fff}.btn-share.sms{background:#555;color:#fff}.btn-share.email{background:#00c853;color:#fff}.member-age-row{align-items:center;display:flex;gap:6px}.member-age-unit-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;display:flex;flex-shrink:0;overflow:hidden}.age-unit-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600;padding:6px 10px;transition:all .15s}.age-unit-btn.active{background:var(--primary);color:#fff}.member-baby-note{color:var(--primary);font-size:11px;font-weight:500;margin-top:4px}.btn-baby-track{background:#00c8531a!important;border:1px solid var(--primary)!important;color:var(--primary)!important}.btn-baby-track:hover{background:var(--primary)!important;color:#fff!important}.btn-track-hub{align-items:center!important;background:#6366f11a!important;border:1px solid #6366f1!important;color:#6366f1!important;display:inline-flex!important;font-weight:700!important;gap:6px!important}.btn-track-hub:hover{background:#6366f1!important;color:#fff!important}.member-age-category{border-radius:20px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;padding:2px 10px}.recipe-trigger-btn{align-items:center;display:flex;gap:7px}.recipe-overlay{align-items:stretch;animation:recipe-fade-in .2s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:800}@keyframes recipe-fade-in{0%{opacity:0}to{opacity:1}}.recipe-panel{animation:recipe-slide-in .25s cubic-bezier(.34,1.2,.64,1);background:var(--bg);box-shadow:-8px 0 40px #0003;display:flex;flex-direction:column;max-width:95vw;overflow:hidden;width:860px}@keyframes recipe-slide-in{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}.recipe-panel-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:16px;justify-content:space-between;padding:20px 28px}.recipe-panel-title{align-items:center;display:flex;gap:12px}.recipe-panel-title h2{color:var(--text);font-size:20px;font-weight:800;margin:0}.recipe-panel-subtitle{color:var(--text-muted);font-size:12px;font-style:italic;margin:2px 0 0}.recipe-panel-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.recipe-refresh-btn{align-items:center;display:flex;font-size:13px;gap:6px}.recipe-close-btn{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;height:34px;justify-content:center;transition:background .15s,color .15s;width:34px}.recipe-close-btn:hover{background:var(--surface-2);color:var(--text)}.recipe-panel-body{flex:1 1;overflow-y:auto;padding:24px 28px 40px}.recipe-count-label{color:var(--text-muted);font-size:13px;margin:0 0 20px}.recipe-empty,.recipe-error,.recipe-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:14px;justify-content:center;padding:80px 0;text-align:center}.recipe-spinner{animation:recipe-spin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@keyframes recipe-spin{to{transform:rotate(1turn)}}.recipe-empty p,.recipe-error p,.recipe-loading p{color:var(--text-muted);font-size:15px;margin:0}.recipe-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}@media (max-width:760px){.recipe-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.recipe-grid{grid-template-columns:1fr}.recipe-panel-header{padding:16px 18px}.recipe-panel-body{padding:16px 18px 32px}}.recipe-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:0;text-align:left;transition:transform .18s,box-shadow .18s,border-color .18s}.recipe-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-3px)}.recipe-card-img-wrap{aspect-ratio:16/10;background:var(--surface-2);overflow:hidden;position:relative;width:100%}.recipe-card-img{display:block;height:100%;object-fit:cover;transition:transform .3s;width:100%}.recipe-card:hover .recipe-card-img{transform:scale(1.05)}.recipe-card-img-placeholder{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.recipe-card-category{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border-radius:20px;color:#fff;font-size:10px;font-weight:700;left:8px;letter-spacing:.04em;padding:3px 8px;position:absolute;text-transform:uppercase;top:8px}.recipe-card-body{display:flex;flex:1 1;flex-direction:column;gap:6px;padding:12px 14px 14px}.recipe-card-name{color:var(--text);font-size:14px;font-weight:700;line-height:1.3}.recipe-card-area{color:var(--text-muted);font-size:11px}.recipe-match-wrap{align-items:center;display:flex;gap:8px;margin-top:auto;padding-top:6px}.recipe-match-bar-track{background:var(--surface-2);border-radius:10px;flex:1 1;height:5px;overflow:hidden}.recipe-match-bar-fill{border-radius:10px;height:100%;transition:width .4s ease}.recipe-match-label{color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:600;white-space:nowrap}.recipe-detail-overlay{align-items:center;animation:recipe-fade-in .15s ease;background:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1100}.recipe-detail-modal{animation:recipe-pop-in .2s cubic-bezier(.34,1.3,.64,1);background:var(--surface);border-radius:20px;box-shadow:0 24px 80px #0000004d;max-height:88vh;max-width:100%;overflow-y:auto;position:relative;width:640px}@keyframes recipe-pop-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.recipe-detail-close{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;float:right;height:32px;justify-content:center;margin:12px 12px 0 0;position:sticky;top:12px;transition:background .15s;width:32px;z-index:10}.recipe-detail-close:hover{background:#000000b3}.recipe-detail-img-wrap{aspect-ratio:16/8;margin-top:-44px;overflow:hidden;position:relative;width:100%}.recipe-detail-img{display:block;height:100%;object-fit:cover;width:100%}.recipe-detail-img-overlay{background:linear-gradient(#0000,#000000b8);bottom:0;left:0;padding:24px 20px 16px;position:absolute;right:0}.recipe-detail-name{color:#fff;font-size:22px;font-weight:800;line-height:1.2;margin:0 0 8px}.recipe-detail-badges{display:flex;flex-wrap:wrap;gap:8px}.recipe-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border-radius:20px;color:#fff;font-size:11px;font-weight:700;padding:3px 10px}.recipe-detail-body{padding:20px 24px 28px}.recipe-detail-section{margin-bottom:24px}.recipe-detail-section-title{border-bottom:2px solid var(--border);color:var(--text);font-size:14px;font-weight:800;letter-spacing:.06em;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}.recipe-ingredients-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr);margin-bottom:10px}@media (max-width:480px){.recipe-ingredients-grid{grid-template-columns:1fr}}.recipe-ingredient-row{align-items:center;border-radius:8px;display:flex;font-size:13px;gap:8px;padding:6px 10px}.recipe-ingredient-row.have-it{background:#00c85314;border:1px solid #00c85333}.recipe-ingredient-row.need-it{background:var(--surface-2);border:1px solid #0000}.recipe-ingredient-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.dot-have{background:var(--primary)}.dot-need{background:#cbd5e1}.recipe-ingredient-name{color:var(--text);flex:1 1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-ingredient-measure{color:var(--text-muted);flex-shrink:0;font-size:11px;white-space:nowrap}.recipe-have-badge{background:#00c8531f;border-radius:20px;color:var(--primary);flex-shrink:0;font-size:10px;font-weight:700;padding:2px 6px;white-space:nowrap}.recipe-match-note{color:var(--text-muted);font-size:12px;margin:8px 0 0}.recipe-instructions{color:var(--text);font-size:14px;line-height:1.7;max-height:320px;overflow-y:auto}.recipe-instructions p{color:var(--text);margin:0 0 10px}.recipe-instructions p:last-child{margin-bottom:0}.recipe-detail-links{display:flex;flex-wrap:wrap;gap:10px}.recipe-link-btn{align-items:center;border-radius:10px;display:flex;font-size:13px;font-weight:700;gap:7px;padding:9px 16px;text-decoration:none;transition:opacity .15s}.recipe-link-btn:hover{opacity:.85}.recipe-link-yt{background:#fee2e2;color:#dc2626}.recipe-link-src{background:var(--surface-2);border:1px solid var(--border);color:var(--text)}[data-theme=dark] .recipe-link-yt{background:#dc26262e;color:#f87171}[data-theme=dark] .recipe-ingredient-row.have-it{background:#00c8531f;border-color:#00c85340}.grocery-tabs{display:flex;gap:8px;margin-bottom:20px}.grocery-tab{background:#fff;border:1.5px solid #ddd;border-radius:20px;color:#666;cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:all .2s}.grocery-tab.active{background:linear-gradient(135deg,#00c853,#00897b);border-color:#0000;color:#fff}.grocery-tab:hover:not(.active){border-color:#00c853;color:#00c853}.grocery-list{overflow:hidden;padding:0}.grocery-group{border-bottom:1px solid #f5f5f5}.grocery-group:last-child{border-bottom:none}.grocery-category-label{color:#aaa;font-size:11px;font-weight:700;letter-spacing:.8px;padding:10px 20px 6px;text-transform:uppercase}.purchased-label{color:#68d391}.grocery-item{align-items:center;border-top:1px solid #f5f5f5;display:flex;gap:12px;padding:12px 20px;transition:background .15s}.grocery-item:hover{background:#fafafa}.grocery-item.purchased .grocery-name{color:#bbb;text-decoration:line-through}.grocery-item.low-stock{background:var(--surface)f0}.grocery-item.ran-out{background:#fff5f5;border-left:3px solid #ef4444}.grocery-check{align-items:center;background:#fff;border:2px solid #ddd;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:22px;justify-content:center;transition:all .2s;width:22px}.grocery-check.checked{background:#51cf66;border-color:#51cf66}.grocery-check:hover:not(.checked){border-color:#00c853}.grocery-info{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.grocery-name{color:#333;font-size:14px;font-weight:500}.grocery-qty{color:#999;font-size:12px}.low-stock-badge{background:#ede9fe;color:#6d28d9;font-weight:600}.low-stock-badge,.ran-out-badge{border-radius:10px;font-size:11px;padding:2px 8px}.ran-out-badge{background:#fee2e2;color:#dc2626;font-weight:700}.ran-out-btn,.ranout-label{color:#ef4444}.ran-out-btn{opacity:.7;transition:opacity .15s,color .15s}.ran-out-btn:hover{color:#dc2626;opacity:1}.grocery-tab.ranout-tab{border-color:#ef4444;color:#ef4444}.grocery-tab.ranout-tab.active{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#0000;color:#fff}.grocery-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.grocery-item:hover .grocery-actions{opacity:1}@media (max-width:600px){.grocery-actions{opacity:1}}.templates-modal{max-width:480px;width:100%}.template-tabs{display:flex;gap:6px;margin-bottom:16px}.template-tab-btn{background:#fff;border:1.5px solid #ddd;border-radius:20px;color:#777;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:all .15s}.template-tab-btn.active{background:linear-gradient(135deg,#00c853,#00897b);border-color:#0000;color:#fff}.template-tab-btn:hover:not(.active){border-color:#00c853;color:#00c853}.template-list-body,.template-save-body{display:flex;flex-direction:column;gap:0}.template-empty{color:#aaa;font-size:14px;padding:32px 16px;text-align:center}.template-items{border:1px solid #f0f0f0;border-radius:10px;display:flex;flex-direction:column;gap:0;overflow:hidden}.template-row{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;gap:12px;justify-content:space-between;padding:12px 16px;transition:background .15s}.template-row:last-child{border-bottom:none}.template-row:hover{background:#fafafa}.template-row-info{display:flex;flex-direction:column;gap:2px;min-width:0}.template-row-name{color:#333;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-row-count{color:#aaa;font-size:12px}.template-row-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.template-apply-btn{font-size:12px!important;padding:6px 14px!important}.template-preview{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;margin-bottom:16px;max-height:200px;overflow-y:auto;padding:12px 14px}.template-preview-title{color:#aaa;font-size:12px;font-weight:700;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.template-preview-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.template-preview-item{align-items:center;color:#555;display:flex;font-size:13px;gap:8px;justify-content:space-between}.template-preview-qty{color:#aaa;font-size:11px;white-space:nowrap}.alert-success{background:#f0fff4;border:1px solid #c6f6d5;border-radius:8px;color:#276749;font-size:13px;font-weight:600;padding:10px 14px}.budget-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.budget-month-nav{align-items:center;display:flex;flex:1 1;gap:20px;justify-content:center;min-width:240px;padding:14px 16px}.budget-currency-picker{align-items:center;display:flex;gap:10px;padding:12px 16px;white-space:nowrap}.currency-label{color:var(--text-2);font-size:13px;font-weight:600}.currency-select{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;min-width:130px;outline:none;padding:6px 10px;transition:var(--transition-fast)}.currency-select:focus,.currency-select:hover{border-color:var(--primary)}[data-theme=dark] .currency-select{background:var(--surface-2);border-color:var(--border);color:var(--text)}@media (max-width:600px){.budget-controls{flex-direction:column}.budget-currency-picker{justify-content:space-between;width:100%}.currency-select{flex:1 1}}.budget-nav-btn{font-size:22px;padding:4px 12px}.budget-month-label{color:var(--text);font-size:17px;font-weight:700;letter-spacing:-.3px;min-width:160px;text-align:center}.budget-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:8px}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px 24px;text-align:center;transition:var(--transition-base)}.summary-card:hover{box-shadow:var(--shadow-md)}.summary-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.07em;margin-bottom:8px;text-transform:uppercase}.summary-amount{font-size:22px;font-weight:800;letter-spacing:-.5px}.summary-card.income .summary-amount{color:var(--success)}.summary-card.expenses .summary-amount{color:var(--danger)}.summary-card.balance.positive .summary-amount{color:var(--success)}.summary-card.balance.negative .summary-amount{color:var(--danger)}.summary-card.savings-rate .summary-amount{color:var(--info)}.summary-projected-note{color:var(--warning);font-size:10px;font-weight:700;letter-spacing:.05em;margin-top:4px;text-transform:uppercase}.summary-savings-hint{color:var(--info);font-size:11px;font-weight:600;margin-top:4px}.bills-amt-note{color:var(--text-muted);font-size:12px;font-style:italic;margin:-8px 0 12px}.bill-stat-note{color:var(--warning);cursor:help;margin-left:2px}.budget-list{overflow:hidden;padding:0}.budget-entry{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:14px;padding:13px 18px;transition:var(--transition-fast)}.budget-entry:last-child{border-bottom:none}.budget-entry:hover{background:var(--surface-hover)}.entry-type-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:15px;font-weight:700;height:32px;justify-content:center;width:32px}.entry-type-icon.income{background:var(--success-bg);color:var(--success)}.entry-type-icon.expense{background:var(--danger-bg);color:var(--danger)}.entry-body{flex:1 1;min-width:0}.entry-title{color:var(--text);font-size:14px;font-weight:600;margin-bottom:3px}.entry-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.entry-date{color:var(--text-muted);font-size:12px}.entry-cat{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-2);font-size:11px;font-weight:500;padding:1px 8px;text-transform:capitalize}.entry-notes{cursor:default;font-size:12px}.entry-amount{font-size:15px;font-weight:700;letter-spacing:-.2px;white-space:nowrap}.entry-amount.income{color:var(--success)}.entry-amount.expense{color:var(--danger)}.budget-type-toggle{display:flex;gap:8px;margin-bottom:18px}.type-btn{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;padding:10px;transition:var(--transition-fast)}.type-btn.expense-btn.active{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.type-btn.income-btn.active{background:var(--success-bg);border-color:var(--success);color:var(--success)}.type-btn:hover:not(.active){border-color:var(--text-muted);color:var(--text)}@media (max-width:600px){.budget-summary{grid-template-columns:1fr}}.budget-custom-range-wrap{align-items:center;display:flex;flex-shrink:0;gap:8px}.budget-custom-btn{font-size:13px;white-space:nowrap}.budget-custom-inputs{align-items:center;display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px}.budget-date-label{color:var(--text-muted);font-size:12px;font-weight:600}.budget-date-input{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:13px;outline:none;padding:5px 10px;transition:var(--transition-fast)}.budget-date-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00c8531f}[data-theme=dark] .budget-date-input{background:var(--surface-2);border-color:var(--border);color:var(--text)}.recurring-summary{border-left:3px solid var(--primary);margin:16px 0 0;padding:14px 18px}.recurring-summary-title{align-items:center;color:var(--primary-dark);display:flex;font-size:13px;font-weight:700;margin-bottom:10px}.recurring-summary-list{display:flex;flex-direction:column;gap:6px}.recurring-summary-item{align-items:center;display:flex;font-size:13px;gap:10px}.recurring-summary-name{color:var(--text);flex:1 1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recurring-summary-amount{color:var(--success);font-weight:700}.recurring-badge{align-items:center;border:1px solid #22c55e40;border-radius:var(--radius-full);display:inline-flex;margin-left:8px;vertical-align:middle}.recurring-badge,.recurring-freq-badge{background:var(--success-bg);color:var(--success);font-size:10px;font-weight:700;padding:2px 7px}.recurring-freq-badge{border-radius:var(--radius-full);text-transform:capitalize}.injected-badge{background:var(--info-bg);border-radius:var(--radius-full);color:var(--info);font-size:10px;font-weight:700;padding:2px 6px}.injected-entry{background:#00c85308}.stop-recurring-btn{background:var(--danger-bg)!important;border:1px solid #ef444466!important;border-radius:var(--radius-xs)!important;color:var(--danger)!important;cursor:pointer;font-family:inherit;font-size:11px!important;font-weight:600!important;padding:3px 8px!important;transition:var(--transition-fast)}.stop-recurring-btn:hover{background:#ef44442e!important;border-color:var(--danger)!important}.recurring-group{background:var(--success-bg);border:1px solid #22c55e40;border-radius:var(--radius-sm);padding:12px 14px}.recurring-checkbox-label{align-items:center;color:var(--success);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px}[data-theme=dark] .budget-summary{background:#0000}.budget-tabs{border-bottom:2px solid var(--border);display:flex;gap:4px;margin:20px 0 4px;padding-bottom:0}.budget-tab{background:none;border:none;border-bottom:2px solid #0000;border-radius:var(--radius-xs) var(--radius-xs) 0 0;color:var(--text-2);cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:500;margin-bottom:-2px;padding:8px 16px;transition:var(--transition-fast)}.budget-tab:hover{color:var(--text)}.budget-tab.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.salary-timing-hint{align-items:center;background:#00c85312;border:1px solid #00c85340;border-radius:var(--radius-sm);color:var(--text-2);display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin-bottom:12px;padding:10px 14px}.salary-timing-hint svg{color:var(--primary);flex-shrink:0}.salary-timing-hint span{flex:1 1}.salary-hint-btn{background:var(--primary);border:none;border-radius:var(--radius-xs);color:#fff;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:4px 12px;transition:var(--transition-fast);white-space:nowrap}.salary-hint-btn:hover{background:var(--primary-dark)}.salary-timing-note{align-items:flex-start;background:#00c8530f;border:1px solid #00c85333;border-radius:var(--radius-sm);color:var(--text-2);display:flex;font-size:13px;gap:10px;line-height:1.5;padding:12px 16px}.salary-timing-note svg{color:var(--primary);flex-shrink:0;margin-top:1px}.forecast-comparison{margin-top:16px;padding:20px}.forecast-comparison-title{align-items:center;color:var(--text);display:flex;font-size:15px;font-weight:600;letter-spacing:-.2px;margin-bottom:16px}.forecast-comparison-grid{display:flex;flex-direction:column;gap:12px}.fcomp-row{grid-gap:8px;align-items:end;border-bottom:1px solid var(--border);display:grid;gap:8px;grid-template-columns:100px 1fr 1fr 1fr;padding:10px 0}.fcomp-row:last-child{border-bottom:none}.fcomp-balance-row{padding-top:14px}.fcomp-label{align-self:center;color:var(--text);font-size:13px;font-weight:600}.fcomp-col{text-align:right}.fcomp-sub{color:var(--text-muted);font-size:11px;margin-bottom:2px}.fcomp-val{color:var(--text);font-size:14px;font-weight:600}.fcomp-income{color:var(--success)}.fcomp-expense{color:var(--danger)}.fcomp-positive{color:var(--success)}.fcomp-negative{color:var(--danger)}.fcomp-neutral{color:var(--text-muted)}.forecast-entry{opacity:.9}.forecast-badge{background:var(--info-bg);border-radius:var(--radius-full);color:var(--info);display:inline-block;font-size:10px;font-weight:600;margin-left:6px;padding:1px 8px;vertical-align:middle}.forecast-modal-period{background:var(--surface-2);border-radius:var(--radius-xs);color:var(--text-2);font-size:13px;margin-bottom:12px;padding:6px 12px}.budget-forecast-notice{color:var(--text-2);font-size:14px;margin-top:16px;padding:16px;text-align:center}.bt-type-pill{border-radius:var(--radius-full);color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:2px 10px}[data-theme=dark] .forecast-comparison{background:var(--surface)}[data-theme=dark] .salary-timing-hint,[data-theme=dark] .salary-timing-note{background:#00c85314}[data-theme=dark] .forecast-modal-period{background:var(--surface-3)}[data-theme=dark] .budget-forecast-notice{background:var(--surface)}[data-theme=dark] .injected-entry{background:#00c8530a}.join-page{align-items:center;background:linear-gradient(135deg,#00c853,#00897b);display:flex;justify-content:center;min-height:100vh;padding:20px}.join-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-width:460px;padding:40px;width:100%}.join-logo{color:#333;font-size:28px;font-weight:800;margin-bottom:28px;text-align:center}.join-loading{color:#aaa;padding:24px}.join-error-state,.join-loading{text-align:center}.join-error-icon{font-size:40px;margin-bottom:12px}.join-error-state h2{color:#333;margin-bottom:8px}.join-error-state p{color:#666;margin-bottom:20px}.join-done{text-align:center}.join-done-icon{font-size:48px;margin-bottom:12px}.join-done h2{color:#333;margin-bottom:8px}.join-done p{color:#666}.join-family-info{margin-bottom:24px;text-align:center}.join-family-icon{font-size:40px;margin-bottom:8px}.join-family-info h2{color:#333;font-size:22px;margin-bottom:6px}.join-family-info p{color:#555;font-size:15px}.join-form-error{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;color:#c53030;font-size:13px;margin-bottom:16px;padding:10px 14px}.join-actions{display:flex;flex-direction:column;gap:12px}.join-btn{border:none;border-radius:10px;cursor:pointer;font-size:15px;font-weight:700;padding:13px;transition:opacity .2s;width:100%}.join-btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary.join-btn{background:linear-gradient(135deg,#00c853,#00897b);color:#fff}.btn-secondary.join-btn{background:#f0f0f0;color:#333}.join-form h3{color:#333;font-size:18px;margin-bottom:16px}.join-form-group{margin-bottom:14px}.join-form-group label{color:#444;display:block;font-size:13px;font-weight:600;margin-bottom:5px}.join-form-group input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.join-form-group input:focus{border-color:#00c853;box-shadow:0 0 0 2px #667eea26;outline:none}.join-form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.btn-link{background:none;border:none;color:#00c853;cursor:pointer;font-size:13px;font-weight:600;margin-top:10px;text-align:center;width:100%}.btn-link:hover{text-decoration:underline}.join-form .password-wrap{align-items:center;display:flex;position:relative}.join-form .password-wrap input{flex:1 1;padding-right:42px!important}.join-form .input-validation-wrap{align-items:center;display:flex;position:relative}.join-form .input-validation-wrap input{flex:1 1;padding-right:36px!important}.join-form .input-status-icon{font-size:13px;font-weight:700;pointer-events:none;position:absolute;right:10px}.join-form .input-status-icon.valid{color:#2d9e5f}.join-form .input-status-icon.invalid{color:#e53e3e}.join-form .field-hint{font-size:11px;font-style:italic;margin:3px 0 0}.join-form .field-hint.error{color:#e53e3e}.join-form .verify-code-input{font-family:monospace;font-size:26px;font-weight:700;letter-spacing:10px;padding:12px;text-align:center}.chores-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.chore-stat{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000012;padding:16px;text-align:center}.chore-stat.done .stat-num{color:#51cf66}.chore-stat.total .stat-num{color:#00c853}.stat-num{color:#d4a017;display:block;font-size:28px;font-weight:800}.stat-label{color:#888;font-size:12px;margin-top:2px}.chores-tabs{border-bottom:2px solid #f0f0f0;display:flex;gap:8px;margin-bottom:20px;padding-bottom:0}.chore-tab{background:none;border:none;border-bottom:2px solid #0000;color:#888;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:-2px;padding:8px 16px;transition:color .2s}.chore-tab.active{border-bottom-color:#00c853;color:#00c853}.chores-list{display:flex;flex-direction:column;gap:10px}.chore-card{align-items:center;display:flex;gap:14px;padding:16px 20px;transition:opacity .2s}.chore-card.completed{opacity:.55}.chore-check{align-items:center;background:#fff;border:2px solid #ddd;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:28px;justify-content:center;transition:all .2s;width:28px}.chore-check:hover{background:#51cf661a;border-color:#51cf66}.chore-check.checked{background:#51cf66;border-color:#51cf66}.chore-body{flex:1 1;min-width:0}.chore-title{color:#333;font-size:15px;font-weight:600;margin-bottom:4px}.chore-card.completed .chore-title{color:#aaa;text-decoration:line-through}.chore-desc{color:#888;font-size:13px;margin-bottom:4px}.chore-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.chore-freq{color:#999;font-size:12px}.chore-due{color:#888;font-size:12px;font-weight:600}.chore-due.urgent{color:#e53e3e}.chore-points{color:#d4a017;font-size:12px;font-weight:700}.chore-time{color:#3b82f6;font-size:12px;font-weight:600}.chore-assignee{flex-shrink:0}.chore-avatar,.chore-avatar-img{align-items:center;background:linear-gradient(135deg,#00c853,#00897b);border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:32px;justify-content:center;object-fit:cover;width:32px}.chore-actions{display:flex;gap:4px}.bills-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.bill-stat{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000012;padding:16px 20px}.bill-stat-label{color:#888;font-size:12px;margin-bottom:4px}.bill-stat-value{color:#333;font-size:26px;font-weight:800}.bill-stat.unpaid .bill-stat-value{color:#e53e3e}.bill-stat.overdue .bill-stat-value{color:#d4a017}.bill-stat.upcoming .bill-stat-value{color:#00c853}.bills-list{display:flex;flex-direction:column;gap:10px}.bill-card{align-items:center;display:flex;gap:14px;padding:16px 20px}.bill-card.paid{opacity:.6}.bill-icon{flex-shrink:0;font-size:28px}.bill-body{flex:1 1;min-width:0}.bill-name{color:#333;font-size:15px;font-weight:600;margin-bottom:4px}.bill-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:2px}.bill-cat{color:#999;font-size:12px;text-transform:capitalize}.bill-date{color:#777;font-size:12px}.bill-recurring{color:#00c853;font-size:11px;font-weight:600}.bill-due{font-size:12px;font-weight:700}.bill-due.overdue{color:#e53e3e}.bill-due.soon,.bill-due.today{color:#d4a017}.bill-notes{color:#aaa;font-size:12px;margin-top:2px}.bill-right{flex-shrink:0;text-align:right}.bill-amount{color:#333;font-size:17px;font-weight:700;margin-bottom:6px}.bill-paid-badge{color:#51cf66;font-size:12px;font-weight:700}.btn-pay{background:linear-gradient(135deg,#51cf66,#37b24d);padding:6px 14px;transition:opacity .2s}.btn-pay:hover{opacity:.85}.form-check label{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:8px}.form-check input{cursor:pointer;height:16px;width:16px}.allowances-list{display:flex;flex-direction:column;gap:12px}.allowance-card{align-items:center;display:flex;gap:16px;padding:18px 20px}.allowance-avatar .av-initials,.allowance-avatar img{align-items:center;background:linear-gradient(135deg,#00c853,#00897b);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:48px;justify-content:center;object-fit:cover;width:48px}.allowance-body{flex:1 1;min-width:0}.allowance-name{color:#333;font-size:16px;font-weight:700;margin-bottom:4px}.allowance-amount{color:#00c853;font-size:22px;font-weight:800}.allowance-freq{color:#aaa;font-size:13px;font-weight:400}.allowance-last-paid{color:#999;font-size:12px;margin-top:2px}.allowance-notes{color:#bbb;font-size:12px;margin-top:2px}.allowance-actions{align-items:flex-end;display:flex;flex-direction:column;gap:6px}.pay-inline{align-items:center;display:flex;gap:6px}.pay-amount-input{border:1px solid #ddd;border-radius:6px;font-size:13px;padding:5px 8px;width:80px}.form-hint{color:#888;font-size:12px;margin-top:4px}.btn-wallet{background:#0000;border:1.5px solid #00c853;border:1.5px solid var(--primary,#00c853);border-radius:8px;color:#00c853;color:var(--primary,#00c853);cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:background .15s,color .15s;white-space:nowrap}.btn-wallet:hover{background:#00c853;background:var(--primary,#00c853);color:#fff}.wallet-modal{display:flex;flex-direction:column;max-height:90vh;max-width:640px;overflow:hidden;width:100%}.wallet-header{flex-shrink:0}.wallet-header-info{align-items:center;display:flex;flex:1 1;gap:14px}.wallet-avatar .av-initials,.wallet-avatar img{align-items:center;background:linear-gradient(135deg,#00c853,#00897b);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:15px;font-weight:700;height:44px;justify-content:center;object-fit:cover;width:44px}.wallet-allowance-rate{color:var(--text-2);font-size:12px}.wallet-balance-bar{grid-gap:12px;background:#00000005;background:var(--bg-2,#00000005);border-bottom:1px solid var(--border);display:grid;flex-shrink:0;gap:12px;grid-template-columns:1fr 1fr 1fr 1fr;padding:16px 24px}.wallet-balance-card{display:flex;flex-direction:column;gap:4px;grid-column:1}.wallet-balance-label{color:var(--text-2);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.wallet-balance-value{color:var(--text-1);font-size:26px;font-weight:800;letter-spacing:-.02em}.wallet-stat-card{display:flex;flex-direction:column;gap:4px}.wallet-stat-label{color:var(--text-2);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.wallet-stat-value{font-size:16px;font-weight:700}.wallet-stat-green{color:#00c853}.wallet-stat-red{color:#ef4444}.wallet-stat-blue{color:#2196f3}.wallet-tabs{border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:2px;padding:12px 24px 0}.wallet-tab{background:none;border:none;border-bottom:2.5px solid #0000;color:var(--text-2);cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:color .15s,border-color .15s;white-space:nowrap}.wallet-tab:hover{color:var(--text-1)}.wallet-tab.active{border-bottom-color:#00c853;border-bottom-color:var(--primary,#00c853);color:#00c853;color:var(--primary,#00c853)}.wallet-tab-content{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:20px 24px}.wallet-quick-actions{display:flex;flex-wrap:wrap;gap:10px}.wallet-quick-actions .btn-primary,.wallet-quick-actions .btn-secondary{align-items:center;display:flex;font-size:13px;gap:6px;padding:8px 16px}.wallet-section{display:flex;flex-direction:column;gap:10px}.wallet-section-header{align-items:center;display:flex;justify-content:space-between}.wallet-section-title{color:var(--text-1);font-size:14px;font-weight:700}.wallet-see-all{background:none;border:none;color:#00c853;color:var(--primary,#00c853);cursor:pointer;font-size:12px;font-weight:600}.wallet-see-all:hover{text-decoration:underline}.wallet-goals-mini{display:flex;flex-direction:column;gap:10px}.wallet-goal-mini{background:#00000005;background:var(--bg-2,#00000005);border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:12px 14px}.wallet-goal-mini-header{align-items:center;display:flex;justify-content:space-between}.wallet-goal-mini-name{color:var(--text-1);font-size:13px;font-weight:600}.wallet-goal-mini-pct{font-size:12px;font-weight:700}.wallet-goal-mini-amounts{color:var(--text-1);display:flex;font-size:12px;font-weight:600;gap:6px}.wallet-goals-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.wallet-goal-card{background:#fff;background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:12px;border-top:3px solid #2196f3;display:flex;flex-direction:column;gap:6px;padding:16px}.wallet-goal-card-top{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.wallet-goal-name{color:var(--text-1);flex:1 1;font-size:14px;font-weight:700}.wallet-goal-amounts{align-items:baseline;display:flex;gap:4px}.wallet-goal-pct{color:var(--text-2);font-size:12px;font-weight:700;margin-left:auto}.wallet-tx-list{display:flex;flex-direction:column;gap:6px}.wallet-tx-row{align-items:center;background:#00000005;background:var(--bg-2,#00000005);border-radius:10px;display:flex;gap:10px;padding:10px 12px;transition:background .1s}.wallet-tx-row:hover{background:#0000000a;background:var(--bg-3,#0000000a)}.wallet-tx-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.wallet-tx-icon-expense{background:#ef44441f;color:#ef4444}.wallet-tx-icon-savings{background:#2196f31f;color:#2196f3}.wallet-tx-body{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:6px;min-width:0}.wallet-tx-label{color:var(--text-1);font-size:13px;font-weight:600}.wallet-tx-date,.wallet-tx-note{color:var(--text-2);font-size:11px}.wallet-tx-note{font-style:italic;width:100%}.wallet-tx-amount{font-size:14px;font-weight:700;white-space:nowrap}.wallet-tx-neg{color:#ef4444}.wallet-tx-pos{color:#2196f3}.wallet-type-toggle{border:1.5px solid var(--border);border-radius:10px;display:flex;gap:0;overflow:hidden}.wallet-type-btn{background:#0000;border:none;color:var(--text-2);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:9px 0;transition:background .15s,color .15s}.wallet-type-btn.active-expense{background:#ef44441a;color:#ef4444}.wallet-type-btn.active-savings{background:#2196f31a;color:#2196f3}.wallet-balance-warn{background:#ef444414;border:1px solid #ef444440;border-radius:8px;color:#ef4444;font-size:12px;font-weight:500;margin-bottom:4px;padding:8px 12px}.wallet-empty{color:var(--text-2);font-size:14px;padding:32px;text-align:center}@media (max-width:640px){.wallet-balance-bar{grid-template-columns:1fr 1fr}.wallet-balance-card{grid-column:1/-1}.wallet-goals-grid{grid-template-columns:1fr}.wallet-tabs{overflow-x:auto;padding-bottom:0}}@media (max-width:600px){.allowance-card{flex-wrap:wrap;gap:12px}.allowance-actions{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;width:100%}.pay-inline{flex-wrap:wrap}}.my-budget-section{background:#fff;background:var(--card-bg,#fff);border:1px solid #eee;border:1px solid var(--border,#eee);border-radius:16px;box-shadow:0 2px 12px #0000000f;margin-bottom:24px;padding:20px 22px}.my-budget-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.my-budget-title{align-items:center;color:#222;color:var(--text-1,#222);display:flex;font-size:17px;font-weight:800;gap:8px;margin:0}.my-budget-meta{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.my-budget-amount{color:#00c853;color:var(--primary,#00c853);font-size:14px;font-weight:700}.my-budget-paid{color:#aaa;color:var(--text-2,#aaa);font-size:12px}.my-budget-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:2fr 1fr 1fr 1fr;margin-bottom:16px}.my-budget-stat{background:#00000005;background:var(--bg-2,#00000005);border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:12px 14px}.my-budget-stat.primary{background:linear-gradient(135deg,#00c85314,#00897b14)}.my-budget-stat-val{color:#222;color:var(--text-1,#222);font-size:20px;font-weight:800;letter-spacing:-.02em}.my-budget-stat-val.green{color:#00c853}.my-budget-stat-val.red{color:#ef4444}.my-budget-stat-val.blue{color:#2196f3}.my-budget-stat-lbl{color:#aaa;color:var(--text-2,#aaa);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.my-budget-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.my-budget-actions .btn-primary,.my-budget-actions .btn-secondary{font-size:13px;padding:8px 14px}.my-budget-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:14px}.my-budget-panel{background:#00000005;background:var(--bg-2,#00000005);border-radius:12px;padding:14px 16px}.my-budget-panel-title{color:#999;color:var(--text-2,#999);font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:12px;text-transform:uppercase}.my-budget-bar-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.my-budget-bar-label{color:#333;color:var(--text-1,#333);flex-shrink:0;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:90px}.my-budget-bar-track{background:#eee;background:var(--border,#eee);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.my-budget-bar-fill{background:#00c853;background:var(--primary,#00c853);border-radius:4px;height:100%;min-width:4px;transition:width .4s ease}.my-budget-bar-val{color:#333;color:var(--text-1,#333);flex-shrink:0;font-size:12px;font-weight:700;text-align:right;width:50px}.my-budget-goal-row{margin-bottom:12px}.my-budget-goal-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.my-budget-goal-name{color:#333;color:var(--text-1,#333);font-size:13px;font-weight:600}.my-budget-goal-pct{font-size:12px;font-weight:700}.my-budget-goal-amounts{color:#aaa;color:var(--text-2,#aaa);font-size:11px;margin-top:2px}.my-budget-recent{margin-top:16px}.my-budget-empty,.my-budget-loading{color:#aaa;color:var(--text-2,#aaa);font-size:13px;padding:20px;text-align:center}.my-budget-open-btn{margin-top:8px}.my-budget-divider{align-items:center;color:#999;color:var(--text-2,#999);display:flex;font-size:13px;font-weight:600;gap:12px;margin-bottom:16px}.my-budget-divider:after,.my-budget-divider:before{background:#eee;background:var(--border,#eee);content:"";flex:1 1;height:1px}@media (max-width:600px){.my-budget-stats{grid-template-columns:1fr 1fr}.my-budget-stat.primary{grid-column:1/-1}.my-budget-row{grid-template-columns:1fr}.my-budget-section{padding:16px}}[data-theme=dark] .page-shell{background:var(--bg)}[data-theme=dark] .allowance-card,[data-theme=dark] .bill-card,[data-theme=dark] .budget-card,[data-theme=dark] .budget-summary,[data-theme=dark] .calendar-grid,[data-theme=dark] .chart-card,[data-theme=dark] .chore-card,[data-theme=dark] .grocery-card,[data-theme=dark] .kpi-card,[data-theme=dark] .member-card,[data-theme=dark] .stat-box,[data-theme=dark] .timeoff-card,[data-theme=dark] .utility-card{background:var(--surface);border-color:var(--border)}[data-theme=dark] .bar-label,[data-theme=dark] .donut-label,[data-theme=dark] .kpi-label,[data-theme=dark] .stat-lbl,[data-theme=dark] .trend-label{color:var(--text-muted)}[data-theme=dark] .bar-val,[data-theme=dark] .kpi-value,[data-theme=dark] .stat-num{color:var(--text)}[data-theme=dark] .kpi-sub{color:var(--text-2)}[data-theme=dark] .bar-track,[data-theme=dark] .gc-track,[data-theme=dark] .mcr-bar-wrap,[data-theme=dark] .utility-bar-wrap{background:var(--surface-3)}[data-theme=dark] .tab-btn{background:var(--surface);border-color:var(--border);color:var(--text-2)}[data-theme=dark] .tab-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}[data-theme=dark] .chart-card h3,[data-theme=dark] .section-title,[data-theme=dark] h2,[data-theme=dark] h3{color:var(--text)}[data-theme=dark] p,[data-theme=dark] span:not(.badge):not(.status){color:var(--text-2)}.settings-tabs{border-bottom:2px solid var(--border);display:flex;gap:4px;margin-bottom:24px}.settings-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;font-size:.95rem;font-weight:500;margin-bottom:-2px;padding:10px 20px;transition:color .2s,border-color .2s}.settings-tab:hover{color:var(--text)}.settings-tab.active{border-bottom-color:var(--primary);color:var(--primary)}.settings-member-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:16px;padding:18px 20px;transition:box-shadow .2s}.settings-member-card:hover{box-shadow:var(--shadow-md)}.settings-member-row{align-items:center;display:flex;gap:16px}.settings-avatar{align-items:center;background:var(--gradient);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:44px;justify-content:center;text-transform:uppercase;width:44px}.settings-member-info{flex:1 1;min-width:0}.settings-member-name{color:var(--text);font-size:1rem;font-weight:600;margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-member-type{color:var(--text-muted);font-size:.78rem;text-transform:capitalize}.settings-role-select{background:var(--surface-2);border:1.5px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-size:.88rem;font-weight:600;min-width:110px;outline:none;padding:7px 12px;transition:border-color .2s}.settings-role-select:focus{border-color:var(--border-focus)}.settings-role-select:disabled{cursor:not-allowed;opacity:.5}.settings-access-summary{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.settings-access-label{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.settings-access-pills{display:flex;flex-wrap:wrap;gap:6px}.access-pill{border-radius:20px;font-size:.73rem;font-weight:500;padding:3px 10px;white-space:nowrap}.access-pill.allowed{background:#00c8531f;border:1px solid #00c8534d;color:#00a846}.access-pill.denied{background:var(--surface-3);border:1px solid var(--border);color:var(--text-muted);text-decoration:line-through}.settings-section{max-width:480px}.settings-section h2{color:var(--text);font-size:1.1rem;font-weight:700;margin:0 0 18px}.settings-form-group{margin-bottom:20px}.settings-form-group label{color:var(--text-2);display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.settings-form-group input{background:var(--surface-2);border:1.5px solid var(--border);border-radius:8px;box-sizing:border-box;color:var(--text);font-size:.95rem;outline:none;padding:10px 14px;transition:border-color .2s;width:100%}.settings-form-group input:focus{border-color:var(--border-focus)}.settings-form-group input:disabled{cursor:not-allowed;opacity:.6}.settings-save-msg{border-radius:8px;font-size:.88rem;font-weight:500;margin-top:10px;padding:8px 14px}.settings-save-msg.success{background:#00c8531a;border:1px solid #00c8534d;color:#00a846}.settings-save-msg.error{background:#e53e3e14;border:1px solid #e53e3e40;color:var(--danger)}.settings-account-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);max-width:480px;padding:24px}.settings-account-row{align-items:flex-start;display:flex;gap:16px;margin-bottom:20px}.settings-account-avatar{align-items:center;background:var(--gradient);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.3rem;font-weight:700;height:56px;justify-content:center;width:56px}.settings-account-details{flex:1 1}.settings-account-name{color:var(--text);font-size:1.1rem;font-weight:700;margin:0 0 4px}.settings-account-email{color:var(--text-muted);font-size:.9rem}.settings-account-role-badge{border-radius:20px;display:inline-block;font-size:.78rem;font-weight:600;margin-top:8px;padding:3px 12px;text-transform:capitalize}.settings-account-note{background:var(--surface-3);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:.85rem;margin-top:4px;padding:12px 14px}.settings-restricted{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:60px 24px;text-align:center}.settings-restricted-icon{font-size:3rem;margin-bottom:16px}.settings-restricted h2{color:var(--text);font-size:1.3rem;margin:0 0 8px}.settings-restricted p{font-size:.95rem;max-width:340px}@media (max-width:600px){.settings-member-row{flex-wrap:wrap}.settings-role-select{min-width:0;min-width:auto;width:100%}}.settings-custom-badge{background:#3b82f61f;border-radius:99px;color:#3b82f6;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;margin-left:6px;padding:1px 7px;text-transform:uppercase}.settings-edit-perms-btn{background:#0000;border:1.5px solid var(--border);border-radius:8px;color:var(--text-2);cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.settings-edit-perms-btn.active,.settings-edit-perms-btn:hover{border-color:#00c853;border-color:var(--primary,#00c853);color:#00c853;color:var(--primary,#00c853)}.settings-member-card-expanded{border-color:#00c853!important;border-color:var(--primary,#00c853)!important}.settings-perms-editor{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:16px;margin-top:16px;padding-top:16px}.settings-perms-group{display:flex;flex-direction:column;gap:8px}.settings-perms-group-label{color:var(--text-2);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.settings-perms-toggles{display:flex;flex-wrap:wrap;gap:8px}.settings-perm-toggle{align-items:center;border:1.5px solid #0000;border-radius:8px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:7px;padding:6px 12px;transition:all .15s}.settings-perm-toggle.on{background:#00c8531a;border-color:#00c85359;color:var(--text-1)}.settings-perm-toggle.off{background:#ef44440f;border-color:#ef444433;color:var(--text-2)}.settings-perm-toggle:hover.on{background:#00c8532e}.settings-perm-toggle:hover.off{background:#ef44441f}.settings-perm-toggle-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.settings-perm-toggle.on .settings-perm-toggle-dot{background:#00c853}.settings-perm-toggle.off .settings-perm-toggle-dot{background:#ef4444}.settings-perms-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:4px}@media (max-width:600px){.settings-perms-toggles{gap:6px}.settings-perm-toggle{font-size:12px;padding:5px 10px}}.notif-toggle{cursor:pointer;display:inline-block;height:24px;position:relative;width:44px}.notif-toggle input{height:0;opacity:0;width:0}.notif-toggle-slider{background:var(--border);border-radius:24px;inset:0;position:absolute;transition:background .2s}.notif-toggle-slider:before{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:18px;left:3px;position:absolute;top:3px;transition:transform .2s;width:18px}.notif-toggle input:checked+.notif-toggle-slider{background:var(--primary)}.notif-toggle input:checked+.notif-toggle-slider:before{transform:translateX(20px)}.notif-toggle input:disabled+.notif-toggle-slider{cursor:not-allowed;opacity:.5}.health-stats-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}@media (max-width:768px){.health-stats-row{grid-template-columns:repeat(2,1fr)}}.health-stat-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);display:flex;gap:12px;padding:16px}.health-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.health-stat-num{color:var(--text);font-size:26px;font-weight:800;line-height:1}.health-stat-label{color:var(--text-muted);font-size:12px;font-weight:500;margin-top:2px}.health-tabs{background:var(--surface-2);border-radius:12px;display:flex;gap:4px;margin-bottom:24px;max-width:360px;padding:4px}.health-tab{background:none;border:none;border-radius:9px;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.health-tab.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--primary)}.health-tab:hover:not(.active){background:#0000000a;color:var(--text)}.health-section{margin-bottom:28px}.health-section-title{align-items:center;color:var(--text);display:flex;font-size:15px;font-weight:800;gap:10px;margin:0 0 14px}.health-section-pts{background:var(--primary-light);border-radius:20px;color:var(--primary);font-size:12px;font-weight:600;margin-left:auto;padding:3px 10px}.health-loading{display:flex;justify-content:center;padding:48px 0}.health-spinner{animation:hs-spin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:36px;width:36px}@keyframes hs-spin{to{transform:rotate(1turn)}}.health-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:14px;gap:12px;padding:48px 0;text-align:center}.health-empty p{color:var(--text-muted);margin:0}.health-activity-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(5,1fr)}@media (max-width:960px){.health-activity-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:680px){.health-activity-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.health-activity-grid{grid-template-columns:repeat(2,1fr)}}.health-activity-btn{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:14px 10px;position:relative;text-align:center;transition:all .18s}.health-activity-btn:hover{border-color:var(--act-color,var(--primary));box-shadow:0 2px 12px #00000014;transform:translateY(-2px)}.health-activity-btn.has-log{background:color-mix(in srgb,var(--act-color) 6%,var(--surface));border-color:var(--act-color)}.health-activity-icon-wrap{align-items:center;border:1.5px solid;border-radius:12px;display:flex;height:48px;justify-content:center;width:48px}.health-activity-label{color:var(--text);font-size:12px;font-weight:700}.health-activity-logged{background:color-mix(in srgb,var(--primary) 12%,#0000);background:color-mix(in srgb,var(--act-color,var(--primary)) 12%,#0000);border-radius:20px;color:var(--primary);color:var(--act-color,var(--primary));font-size:11px;font-weight:700;padding:2px 8px}.health-activity-pts{color:var(--text-muted);font-size:10px}.health-log-list{display:flex;flex-direction:column;gap:8px}.health-log-item{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;gap:12px;padding:12px 14px}.health-log-icon{align-items:center;border:1.5px solid;border-radius:10px;display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.health-log-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.health-log-name{color:var(--text);font-size:14px;font-weight:700}.health-log-value{color:var(--text-muted);font-size:12px}.health-log-notes{color:var(--text-muted);font-size:11px;font-style:italic}.health-log-pts{color:var(--primary);flex-shrink:0;font-size:13px;font-weight:800;white-space:nowrap}.health-log-delete{align-items:center;border-radius:8px;color:var(--text-muted);display:flex;flex-shrink:0;height:28px;justify-content:center;opacity:.5;transition:opacity .15s;width:28px}.health-log-delete:hover{color:#ef4444;opacity:1}.health-leaderboard{padding-bottom:32px}.lb-period-selector{display:flex;gap:8px;margin-bottom:28px}.lb-period-btn{background:var(--surface);border:1.5px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:all .15s}.lb-period-btn.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.lb-podium{align-items:flex-end;display:flex;gap:12px;justify-content:center;margin-bottom:32px;padding:20px 0 0}.lb-podium-slot{align-items:center;display:flex;flex-direction:column;gap:6px;min-width:90px}.lb-podium-slot.empty{opacity:0;pointer-events:none}.lb-podium-medal{font-size:22px}.lb-podium-avatar{align-items:center;background:var(--primary-light);border:3px solid var(--surface);border-radius:50%;box-shadow:0 2px 12px #0000001a;color:var(--primary);display:flex;font-size:20px;font-weight:800;height:56px;justify-content:center;overflow:hidden;width:56px}.lb-podium-avatar img{height:100%;object-fit:cover;width:100%}.lb-podium-name{color:var(--text);font-size:13px;font-weight:700}.lb-podium-pts{color:var(--primary);font-size:14px;font-weight:800}.lb-podium-block{border-radius:8px 8px 0 0;width:80px}.rank-1 .lb-podium-block{background:linear-gradient(180deg,gold,#d4a017)}.rank-2 .lb-podium-block{background:linear-gradient(180deg,#e2e8f0,#94a3b8)}.rank-3 .lb-podium-block{background:linear-gradient(180deg,#ede9fe,#7c3aed)}.lb-rankings{display:flex;flex-direction:column;gap:8px}.lb-rank-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;gap:12px;padding:14px 16px;transition:box-shadow .15s}.lb-rank-row.top-three{background:#00c85308;border-color:var(--primary)}.lb-rank-row:hover{box-shadow:var(--shadow-sm)}.lb-rank-num{color:var(--text-muted);text-align:center;width:32px}.lb-rank-avatar,.lb-rank-num{flex-shrink:0;font-size:15px;font-weight:800}.lb-rank-avatar{align-items:center;background:var(--primary-light);border-radius:50%;color:var(--primary);display:flex;height:40px;justify-content:center;overflow:hidden;width:40px}.lb-rank-avatar img{height:100%;object-fit:cover;width:100%}.lb-rank-body{flex:1 1;min-width:0}.lb-rank-name{color:var(--text);flex-wrap:wrap;font-size:14px;gap:8px}.lb-rank-name,.lb-streak{align-items:center;display:flex;font-weight:700}.lb-streak{background:#f5f3ff;border-radius:20px;color:#d4a017;font-size:11px;gap:3px;padding:2px 7px}[data-theme=dark] .lb-streak{background:#d4a01726}.lb-rank-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.lb-act-chip{align-items:center;background:color-mix(in srgb,gray 12%,#0000);background:color-mix(in srgb,var(--chip-color,gray) 12%,#0000);border-radius:20px;color:var(--text-muted);color:var(--chip-color,var(--text-muted));display:flex;font-size:11px;font-weight:600;gap:4px;padding:2px 8px}.lb-rank-pts{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0}.lb-pts-num{color:var(--text);font-size:20px;font-weight:800;line-height:1}.lb-pts-label{color:var(--text-muted);font-size:11px;font-weight:600}.health-history{display:flex;flex-direction:column;gap:20px}.history-day{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.history-day-header{align-items:center;background:var(--surface-2);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 16px}.history-day-label{color:var(--text);font-size:13px;font-weight:700}.history-day-pts{color:var(--primary);font-size:12px;font-weight:700}.history-day-logs{display:flex;flex-direction:column}.history-log-item{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:10px 16px}.history-log-item:last-child{border-bottom:none}.history-log-member{color:var(--text-muted);font-size:11px;font-style:italic}.health-log-modal{max-width:560px}.health-modal-activity-picker{border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0 0 16px}.health-modal-act-btn{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 11px;transition:all .15s}.health-modal-act-btn.active,.health-modal-act-btn:hover{border-color:var(--act-color);color:var(--act-color)}.health-modal-act-btn.active{background:color-mix(in srgb,var(--act-color) 10%,var(--surface))}.health-modal-pts-preview{align-items:center;background:#f5f3ff;border:1px solid #fde68a;border-radius:10px;color:#6d28d9;display:flex;font-size:13px;gap:8px;margin-bottom:16px;padding:10px 14px}[data-theme=dark] .health-modal-pts-preview{background:#d4a0171f;border-color:#d4a01740;color:#d4a017}.health-fitness-section{margin-top:28px}.health-fitness-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.health-fitness-card{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:18px 16px;transition:box-shadow .2s,border-color .2s}.health-fitness-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.health-fitness-avatar{align-items:center;background:var(--gradient);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:52px;justify-content:center;overflow:hidden;width:52px}.health-fitness-avatar img{height:100%;object-fit:cover;width:100%}.health-fitness-name{color:var(--text);font-size:.9rem;font-weight:600;text-align:center}.health-fitness-actions{display:flex;flex-direction:column;gap:6px;width:100%}.health-fitness-btn{align-items:center;background:#00c85314;border:1.5px solid var(--primary);border-radius:8px;color:var(--primary);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;justify-content:center;padding:7px 12px;transition:all .15s;width:100%}.health-fitness-btn:hover{background:#00c8532e}.health-fitness-btn-secondary{background:var(--surface-2);border-color:var(--border);color:var(--text-2)}.health-fitness-btn-secondary:hover{background:#00c85314;border-color:var(--primary);color:var(--primary)}@media (max-width:600px){.health-fitness-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.mp-week-nav{align-items:center;display:flex;gap:12px;margin-bottom:16px}.mp-nav-btn{font-size:22px;padding:4px 12px}.mp-week-label{align-items:center;display:flex;flex:1 1;gap:12px}.mp-week-text{color:var(--text);font-size:16px;font-weight:700}.mp-today-btn{background:var(--primary-light);border:none;border-radius:20px;color:var(--primary);cursor:pointer;font-size:12px;font-weight:600;padding:3px 12px;transition:opacity .15s}.mp-today-btn:hover{opacity:.8}.mp-legend{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:10px 14px}.mp-legend-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.mp-legend-chip{align-items:center;color:var(--text);display:flex;font-size:12px;font-weight:600;gap:5px}.mp-legend-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.mp-legend-type{color:var(--text-muted);font-size:11px;font-weight:400}.mp-grid-wrap{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);overflow-x:auto}.mp-grid{display:grid;grid-template-columns:100px repeat(7,1fr);min-width:700px}.mp-col-header,.mp-grid-corner{background:var(--surface-2);border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.mp-col-header{align-items:center;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:10px 4px}.mp-col-header:last-child{border-right:none}.mp-col-header.mp-today .mp-day-name{color:var(--primary)}.mp-col-header.mp-today .mp-day-date{align-items:center;background:var(--primary);border-radius:50%;color:#fff!important;display:flex;font-size:14px;font-weight:900;height:28px;justify-content:center;width:28px}.mp-day-name{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.mp-day-date{color:var(--text);font-size:15px;font-weight:800}.mp-row-label{background:var(--surface-2);border-bottom:1px solid var(--border);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:12px 8px}.mp-meal-icon,.mp-row-label{align-items:center;display:flex;justify-content:center}.mp-meal-icon{color:var(--text-muted);flex-shrink:0}.mp-meal-name{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.mp-cell{border-bottom:1px solid var(--border);border-right:1px solid var(--border);cursor:pointer;min-height:80px;padding:8px;position:relative;transition:background .15s}.mp-cell:last-child{border-right:none}.mp-cell-empty{align-items:center;display:flex;justify-content:center}.mp-cell-empty:hover{background:var(--surface-2)}.mp-cell-add{color:var(--text-light);font-size:20px;font-weight:300;transition:color .15s}.mp-cell-empty:hover .mp-cell-add{color:var(--primary)}.mp-cell-filled{background:color-mix(in srgb,var(--primary) 6%,var(--surface));background:color-mix(in srgb,var(--cell-color,var(--primary)) 6%,var(--surface));border-top:2px solid var(--cell-color,var(--primary))}.mp-cell-filled:hover{background:color-mix(in srgb,var(--primary) 12%,var(--surface));background:color-mix(in srgb,var(--cell-color,var(--primary)) 12%,var(--surface))}.mp-cell-content{display:flex;flex-direction:column;gap:4px;height:100%}.mp-cell-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text);display:-webkit-box;font-size:12px;font-weight:700;line-height:1.3;overflow:hidden}.mp-cell-assignee{font-size:10px;font-weight:700;margin-top:auto}.mp-cell-delete{align-items:center;background:#ef44441a;border:none;border-radius:50%;color:#ef4444;cursor:pointer;display:none;font-size:13px;height:18px;justify-content:center;line-height:1;position:absolute;right:4px;top:4px;width:18px}.mp-cell:hover .mp-cell-delete{display:flex}.mp-modal{max-width:480px}.mp-loading{display:flex;justify-content:center;padding:60px 0}.mp-spinner{animation:mp-spin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:36px;width:36px}@keyframes mp-spin{to{transform:rotate(1turn)}}[data-theme=dark] .mp-grid-wrap{background:var(--surface)}[data-theme=dark] .mp-col-header,[data-theme=dark] .mp-grid-corner,[data-theme=dark] .mp-row-label{background:var(--surface-2)}[data-theme=dark] .mp-cell{background:var(--surface)}[data-theme=dark] .mp-cell-empty:hover{background:var(--surface-2)}.bap-panel{gap:20px}.bap-controls,.bap-panel{display:flex;flex-direction:column}.bap-controls{gap:10px}.bap-periods{display:flex;flex-wrap:wrap;gap:4px}.bap-period-btn{background:none;border:1.5px solid var(--border);border-radius:99px;color:var(--text-secondary);cursor:pointer;font-size:12.5px;font-weight:600;padding:6px 14px;transition:all .15s}.bap-period-btn.active,.bap-period-btn:hover{background:#ec4899;border-color:#ec4899;color:#fff}.bap-focus-row{display:flex;flex-wrap:wrap;gap:6px}.bap-focus-chip{border:1.5px solid;border-radius:99px;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:all .15s}.bap-kpi-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}@media (max-width:640px){.bap-kpi-grid{grid-template-columns:repeat(2,1fr)}}.bap-kpi-card{background:var(--surface);border-left:3px solid #ec4899;border:1px solid var(--border);border-left:3px solid var(--bk,#ec4899);border-radius:12px;box-shadow:var(--shadow-sm);padding:14px 16px}.bap-kpi-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.bap-kpi-val{color:#ec4899;color:var(--bk,#ec4899);font-size:22px;font-weight:800;line-height:1;margin-bottom:3px}.bap-kpi-note{color:var(--text-muted);font-size:11px}.bap-section{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px;padding:20px 18px 16px}.bap-section-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px}.bap-section-title{color:var(--text);font-size:15px;font-weight:800}.bap-section-sub{color:var(--text-muted);font-size:12px}.bap-feed-type-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}@media (max-width:680px){.bap-feed-type-grid{grid-template-columns:repeat(2,1fr)}}.bap-feed-type-card{background:var(--surface);background:var(--surface-2,var(--surface));border:1.5px solid color-mix(in srgb,var(--ft,#ec4899) 25%,var(--border));border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:12px 14px}.bap-ft-header{align-items:center;display:flex;gap:6px}.bap-ft-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.bap-ft-label{color:var(--text);flex:1 1;font-size:12px;font-weight:700}.bap-ft-pct{font-size:11px;font-weight:700}.bap-ft-pct,.bap-ft-val{color:#ec4899;color:var(--ft,#ec4899)}.bap-ft-val{font-size:18px;font-weight:800}.bap-ft-dur,.bap-ft-ml{color:var(--text-muted);font-size:11px}.bap-ft-dur{font-style:italic}.bap-ft-bar-track{background:var(--border);border-radius:99px;height:4px;margin-top:4px;overflow:hidden}.bap-ft-bar-fill{border-radius:99px;height:100%;transition:width .4s}.bap-chart-wrap{margin-top:4px}.bap-chart-title{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.05em;margin-bottom:10px;text-transform:uppercase}.bap-two-col{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:580px){.bap-two-col{grid-template-columns:1fr}}.bap-legend{display:flex;flex-wrap:wrap;gap:10px 16px}.bap-legend-item{align-items:center;color:var(--text-muted);display:flex;font-size:12px;font-weight:500;gap:6px}.bap-legend-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.bap-sleep-kpis{background:#8b5cf60f;border:1px solid #8b5cf626;border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;padding:12px 14px}.bap-sleep-kpi{display:flex;flex-direction:column;gap:2px;min-width:80px}.bap-sleep-kpi-val{color:#8b5cf6;font-size:20px;font-weight:800}.bap-sleep-kpi-label{color:var(--text-muted);font-size:11px;font-weight:600}.bap-diaper-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.bap-diaper-card{background:color-mix(in srgb,#4f46e5 8%,var(--surface));background:color-mix(in srgb,var(--dc,#4f46e5) 8%,var(--surface));border:1.5px solid color-mix(in srgb,var(--dc,#4f46e5) 25%,var(--border));border-radius:12px;padding:14px;text-align:center}.bap-diaper-type{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.bap-diaper-count{color:#4f46e5;color:var(--dc,#4f46e5);font-size:28px;font-weight:800;line-height:1}.bap-diaper-pct{color:var(--text-muted);font-size:12px;margin-top:3px}.bap-growth-table{display:flex;flex-direction:column;font-size:13px;margin-top:4px}.bap-growth-head,.bap-growth-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:100px 100px 80px 80px;padding:8px 4px}.bap-growth-head{border-bottom:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;padding-bottom:10px;text-transform:uppercase}.bap-growth-row{border-bottom:1px solid color-mix(in srgb,var(--border) 50%,#0000);color:var(--text-secondary)}.bap-growth-row:last-child{border-bottom:none}.bap-growth-birth-row{background:#d4a0170d;border-radius:6px}.bap-growth-gains{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.bap-growth-gain-card{background:var(--surface);background:var(--surface-2,var(--surface));border:1px solid var(--border);border-radius:12px;flex:1 1;min-width:100px;padding:12px 14px;text-align:center}.bap-growth-gain-val{color:#22c55e;font-size:20px;font-weight:800}.bap-growth-gain-label{color:var(--text-muted);font-size:11px;font-weight:600;margin-top:2px}.bap-growth-gain-range{color:var(--text-muted);font-size:10px;margin-top:3px}.bap-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);font-size:12px;min-width:140px;padding:10px 14px}.bap-tooltip-title{color:var(--text);font-size:12px;font-weight:700;margin-bottom:6px}.bap-tooltip-row{color:var(--text-secondary);display:flex;gap:16px;justify-content:space-between;margin-top:3px}.bap-tooltip-row span:last-child{color:var(--text);font-weight:600}.bap-empty{font-size:14px;padding:40px 16px}.bap-empty,.bap-empty-sm{color:var(--text-muted);text-align:center}.bap-empty-sm{font-size:13px;padding:20px}.bap-corr-toggles{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.bap-corr-chip{align-items:center;border:1.5px solid;border-radius:99px;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:5px;padding:5px 12px;transition:all .15s}.bap-corr-chip-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.bap-corr-axis-labels{color:var(--text-muted);display:flex;font-size:10px;font-weight:700;justify-content:space-between;letter-spacing:.04em;margin-bottom:4px;padding:0 2px;text-transform:uppercase}.bap-corr-axis-left{color:#3b82f6}.bap-corr-axis-right{color:#22c55e}.bap-corr-table{display:flex;flex-direction:column;font-size:12px;margin-top:16px}.bap-corr-head,.bap-corr-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:60px 1fr 1fr;grid-template-columns:var(--corr-cols,60px 1fr 1fr);padding:7px 4px}.bap-corr-head{border-bottom:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.bap-corr-row{border-bottom:1px solid color-mix(in srgb,var(--border) 50%,#0000);color:var(--text-secondary)}.bap-corr-row:last-child{border-bottom:none}.bap-who-divider{align-items:center;display:flex;gap:10px;margin:12px 0 4px}.bap-who-divider-line{background:var(--border);flex:1 1;height:1px}.bap-who-divider-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.bap-who-status{align-items:center;background:color-mix(in srgb,#22c55e 10%,var(--surface-2));background:color-mix(in srgb,var(--ws,#22c55e) 10%,var(--surface-2));border:1px solid color-mix(in srgb,#22c55e 25%,#0000);border:1px solid color-mix(in srgb,var(--ws,#22c55e) 25%,#0000);border-radius:8px;display:flex;gap:8px;margin-top:8px;padding:8px 14px}.bap-who-status-dot{background:#22c55e;background:var(--ws,#22c55e);border-radius:50%;flex-shrink:0;height:8px;width:8px}.bap-who-status-label{color:#22c55e;color:var(--ws,#22c55e);flex:1 1;font-size:13px;font-weight:700}.bap-who-status-val{color:var(--text-muted);font-size:12px;font-weight:500}.bap-who-legend{display:flex;flex-wrap:wrap;font-size:11px;font-weight:600;gap:14px;margin-top:8px}.bap-who-note{border-top:1px solid var(--border);color:var(--text-muted);font-size:11px;line-height:1.4;margin-top:4px;padding:10px 0 4px}.bt-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(6,1fr);margin-bottom:24px}@media (max-width:900px){.bt-stats{-webkit-overflow-scrolling:touch;display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.bt-stat-card{flex-shrink:0;min-width:130px;scroll-snap-align:start}}.bt-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);gap:12px;padding:16px}.bt-stat-card,.bt-stat-icon{align-items:center;display:flex}.bt-stat-icon{border-radius:12px;flex-shrink:0;height:44px;justify-content:center;width:44px}.bt-stat-num{color:var(--text);font-size:22px;font-weight:800;line-height:1}.bt-stat-label{color:var(--text-muted);font-size:12px;font-weight:500;margin-top:2px}.bt-tabs-wrap{-webkit-overflow-scrolling:touch;margin-bottom:24px;overflow-x:auto;scrollbar-width:none}.bt-tabs-wrap::-webkit-scrollbar{display:none}.bt-tabs{background:var(--surface-2);border-radius:12px;display:inline-flex;gap:4px;min-width:max-content;padding:4px}.bt-tab{background:none;border:none;border-radius:9px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:all .2s;white-space:nowrap}.bt-tab.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--primary)}.bt-tab:hover:not(.active){background:#0000000a;color:var(--text)}.bt-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.bt-section-title{color:var(--text);font-size:15px;font-weight:800;margin:0}.bt-loading{display:flex;justify-content:center;padding:48px 0}.bt-spinner{animation:bt-spin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:36px;width:36px}@keyframes bt-spin{to{transform:rotate(1turn)}}.bt-empty{align-items:center;display:flex;flex-direction:column;font-size:14px;gap:12px;padding:48px 0;text-align:center}.bt-empty,.bt-empty p{color:var(--text-muted)}.bt-empty p{margin:0}.bt-log-list{display:flex;flex-direction:column;gap:8px}.bt-log-item{background:var(--surface);border:1px solid var(--border);gap:12px;padding:12px 14px}.bt-log-icon,.bt-log-item{align-items:center;border-radius:12px;display:flex}.bt-log-icon{flex-shrink:0;height:42px;justify-content:center;width:42px}.bt-feed-icon{background:#3b82f61f;color:#3b82f6}.bt-feed-formula{background:#4f46e51f;color:#4f46e5}.bt-feed-solid{background:#22c55e1f;color:#22c55e}.bt-feed-water{background:#06b6d41f;color:#06b6d4}.bt-sleep-icon{background:#8b5cf61f;color:#8b5cf6}.bt-log-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.bt-log-title{align-items:center;color:var(--text);display:flex;flex-wrap:wrap;font-size:14px;font-weight:700;gap:8px}.bt-log-ml{background:#3b82f61a;color:#3b82f6}.bt-log-duration,.bt-log-ml{border-radius:20px;font-size:12px;font-weight:700;padding:2px 8px}.bt-log-duration{align-items:center;background:#8b5cf61a;color:#8b5cf6;display:inline-flex;gap:3px}.bt-timer-idle{background:#fff;background:var(--surface,#fff);border:1.5px dashed #e0e0e0;border:1.5px dashed var(--border,#e0e0e0);border-radius:14px;flex-wrap:wrap;gap:14px;padding:18px 20px}.bt-start-btn,.bt-timer-idle{align-items:center;display:flex}.bt-start-btn{background:linear-gradient(135deg,#3b82f6,#6366f1);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;gap:8px;padding:10px 22px;transition:opacity .15s,transform .15s}.bt-start-btn:hover{opacity:.9;transform:translateY(-1px)}.bt-timer-or{color:#aaa;color:var(--text-muted,#aaa);font-size:13px;font-weight:500}.bt-timer-running{align-items:center;background:linear-gradient(135deg,#3b82f60f,#6366f114);border:2px solid #3b82f640;border-radius:16px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;padding:24px 20px 20px;position:relative;width:100%}.bt-timer-pulse{animation:bt-pulse 1.5s ease-in-out infinite;background:#3b82f6;border-radius:50%;height:10px;left:16px;position:absolute;top:16px;width:10px}@keyframes bt-pulse{0%,to{box-shadow:0 0 0 0 #3b82f666;opacity:1;transform:scale(1)}50%{box-shadow:0 0 0 8px #3b82f600;opacity:.9;transform:scale(1.2)}}.bt-timer-center{text-align:center}.bt-timer-label-top{color:#3b82f6;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.bt-timer-display{font-feature-settings:"tnum";color:#1a1a2e;color:var(--text,#1a1a2e);font-size:52px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.03em;line-height:1}@media (max-width:480px){.bt-timer-display{font-size:40px}}.bt-timer-label-sub{color:#888;color:var(--text-muted,#888);font-size:12px;margin-top:6px}.bt-timer-btns{gap:10px}.bt-stop-btn,.bt-timer-btns{align-items:center;display:flex}.bt-stop-btn{background:#3b82f6;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;gap:7px;padding:11px 24px;transition:background .15s,transform .15s}.bt-stop-btn:hover{background:#2563eb;transform:translateY(-1px)}.bt-cancel-btn{background:#0000;border:1.5px solid #ddd;border:1.5px solid var(--border,#ddd);border-radius:10px;color:#888;color:var(--text-muted,#888);cursor:pointer;font-size:13px;font-weight:600;padding:10px 18px;transition:border-color .15s,color .15s}.bt-cancel-btn:hover{border-color:#ef4444;color:#ef4444}.bt-timer-result{align-items:center;background:#8b5cf614;border:1px solid #8b5cf633;border-radius:8px;color:#7c3aed;display:flex;font-size:13px;font-weight:500;gap:6px;margin-bottom:4px;padding:9px 14px}.bt-sleeping-badge{background:var(--primary-light);border-radius:20px;color:var(--primary);font-size:11px;font-weight:700;padding:2px 8px}.bt-wake-btn{align-items:center;align-self:flex-start;background:var(--primary);border:none;border-radius:20px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;margin-top:6px;padding:4px 12px;transition:opacity .15s}.bt-wake-btn:hover{opacity:.85}.bt-log-notes{color:var(--text-muted);font-size:11px;font-style:italic;margin-top:2px}.bt-milk-expiry{align-items:center;border-radius:10px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;margin-top:4px;padding:2px 7px}.bt-formula-batch{margin-bottom:16px}.bt-batch-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:10px;padding:14px 16px}.bt-batch-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.bt-batch-label{color:var(--text);font-size:13px;font-weight:700}.bt-batch-meta{color:var(--text-secondary);font-size:12px;margin-top:2px}.bt-batch-new-btn{flex-shrink:0;font-size:12px;padding:5px 12px;white-space:nowrap}.bt-batch-progress-row{align-items:center;display:flex;gap:10px}.bt-batch-bar-bg{background:var(--border);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.bt-batch-bar-fill{border-radius:4px;height:100%;transition:width .3s ease}.bt-batch-remaining-lbl{color:var(--text);font-size:12px;font-weight:600;white-space:nowrap}.bt-batch-expiry-row{align-items:center;color:var(--primary);display:flex;font-size:12px;font-weight:600;gap:5px}.bt-batch-expiry-row.expired{color:#ef4444}.bt-batch-empty{align-items:center;background:var(--surface);border:1px dashed var(--border);border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:12px 16px}.bt-batch-empty-text{color:var(--text-secondary);font-size:13px}.bt-batch-total-preview{background:#00c85312;border:1px solid #00c85333;border-radius:8px;color:var(--text);font-size:13px;padding:10px 14px}.bt-visit-list{display:flex;flex-direction:column;gap:12px}.bt-visit-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;overflow:hidden}.bt-visit-type-bar{flex-shrink:0;width:5px}.bt-visit-checkup{background:#3b82f6}.bt-visit-vaccination{background:#00c853}.bt-visit-sick{background:#ef4444}.bt-visit-specialist{background:#8b5cf6}.bt-visit-other{background:#94a3b8}.bt-visit-body{display:flex;flex:1 1;flex-direction:column;gap:6px;padding:14px 16px}.bt-visit-header-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.bt-visit-type-badge{border-radius:20px;font-size:11px;font-weight:700;margin-right:8px;padding:2px 10px;text-transform:capitalize}.bt-vt-checkup{background:#3b82f61f;color:#3b82f6}.bt-vt-vaccination{background:#00c8531f;color:#00c853}.bt-vt-sick{background:#ef44441f;color:#ef4444}.bt-vt-specialist{background:#8b5cf61f;color:#8b5cf6}.bt-vt-other{background:var(--surface-2);color:var(--text-muted)}.bt-visit-date{color:var(--text);font-size:13px;font-weight:700}.bt-visit-age-badge{background:#6366f11a;border-radius:99px;color:#6366f1;display:inline-block;font-size:11px;font-weight:700;margin-left:7px;padding:2px 8px;vertical-align:middle}.bt-visit-doctor{color:var(--text-2);font-size:13px;font-weight:600}.bt-visit-notes{color:var(--text-muted);font-size:13px;line-height:1.5}.bt-visit-next{align-items:center;background:var(--primary-light);border-radius:8px;color:var(--primary);display:flex;font-size:12px;font-weight:600;gap:5px;padding:4px 10px;width:fit-content}.bt-cal-linked{color:var(--text-muted);font-weight:400}.bt-modal{max-width:520px}.bt-feed-type-pills{display:flex;flex-wrap:wrap;gap:6px}.bt-feed-pill{background:var(--surface);border:1.5px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;padding:7px 14px;transition:all .15s}.bt-feed-pill:hover{border-color:var(--primary);color:var(--text)}.bt-feed-pill.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.bt-duration-preview{background:var(--surface-2);border-radius:8px;color:var(--text-muted);font-size:13px;margin-bottom:12px;padding:8px 12px}.bt-cal-checkbox{margin-top:4px}.bt-checkbox-label{align-items:center;color:var(--text);cursor:pointer;display:flex;font-size:14px;gap:8px}.bt-checkbox-label input[type=checkbox]{accent-color:var(--primary);cursor:pointer;height:16px;width:16px}.bt-analysis-period{background:var(--surface-2);border-radius:12px;display:flex;gap:4px;margin-bottom:20px;padding:4px;width:fit-content}.bt-analysis-period-btn{background:none;border:none;border-radius:9px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;padding:7px 18px;transition:all .2s;white-space:nowrap}.bt-analysis-period-btn.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--primary)}.bt-analysis-period-btn:hover:not(.active){background:#0000000a;color:var(--text)}.bt-analysis-block{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:14px;padding:16px}.bt-analysis-block-title{align-items:center;color:var(--text);display:flex;font-size:13px;font-weight:800;gap:7px;letter-spacing:.04em;margin-bottom:14px;text-transform:uppercase}.bt-analysis-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));margin-bottom:14px}.bt-analysis-stat{background:var(--surface-2);border-radius:12px;padding:12px 10px;text-align:center}.bt-analysis-stat-val{color:var(--text);font-size:20px;font-weight:800;line-height:1}.bt-analysis-stat-lbl{color:var(--text-muted);font-size:11px;font-weight:500;margin-top:4px}.bt-analysis-bars{margin-top:4px}.bt-analysis-bars-title{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.04em;margin-bottom:10px;text-transform:uppercase}.bt-analysis-bar-row{align-items:center;display:flex;gap:10px;margin-bottom:8px}.bt-analysis-bar-label{color:var(--text);flex-shrink:0;font-size:12px;font-weight:600;width:60px}.bt-analysis-bar-track{background:var(--surface-2);border-radius:6px;flex:1 1;height:10px;overflow:hidden}.bt-analysis-bar-fill{border-radius:6px;height:100%;min-width:2px;transition:width .5s cubic-bezier(.4,0,.2,1)}.bt-analysis-bar-val{color:var(--text);flex-shrink:0;font-size:12px;font-weight:700;text-align:right;width:68px}.bt-analysis-bar-pct{color:var(--text-muted);font-weight:500}.bt-analysis-next-visit{align-items:center;background:#00c85314;background:var(--primary-light,#00c85314);border:1px solid #00c85340;border-radius:12px;display:flex;gap:10px;margin-top:12px;padding:10px 14px}.bt-analysis-next-label{color:var(--primary);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.bt-analysis-next-date{color:var(--text);font-size:14px;font-weight:700;margin-top:2px}@media (max-width:480px){.bt-analysis-stats{grid-template-columns:repeat(3,1fr)}}.bt-visit-section-label{border-top:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;margin:12px 0 6px;padding-top:8px;text-transform:uppercase}.bt-visit-measurements{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.bt-visit-measure{align-items:center;background:#3b82f617;border-radius:20px;color:#3b82f6;display:inline-flex;font-size:12px;font-weight:700;gap:4px;padding:3px 10px}.bt-visit-immunizations{align-items:flex-start;background:#00c85314;border:1px solid #00c85333;border-radius:8px;color:var(--primary);display:flex;font-size:12px;font-weight:600;gap:5px;line-height:1.4;margin-top:4px;padding:5px 10px}.bt-visit-immunizations svg{flex-shrink:0;margin-top:2px}.bt-visit-comments-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.bt-questions-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:8px;padding:16px}.bt-questions-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.bt-questions-title{align-items:center;color:var(--text);display:flex;font-size:14px;font-weight:800;gap:7px}.bt-questions-count{background:#00c8531a;border-radius:20px;color:var(--primary);font-size:12px;font-weight:600;padding:2px 10px}.bt-question-form{display:flex;gap:8px;margin-bottom:12px}.bt-question-input{background:var(--surface-2);border:1.5px solid var(--border);border-radius:8px;color:var(--text);flex:1 1;font-size:13px;padding:8px 12px;transition:border-color .15s}.bt-question-input:focus{border-color:var(--primary);outline:none}.bt-question-add-btn{background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:8px 16px;transition:opacity .15s;white-space:nowrap}.bt-question-add-btn:disabled{cursor:not-allowed;opacity:.5}.bt-question-add-btn:hover:not(:disabled){opacity:.88}.bt-question-list{display:flex;flex-direction:column;gap:6px}.bt-question-item{align-items:center;background:var(--surface-2);border-radius:10px;display:flex;gap:10px;padding:8px 10px;transition:opacity .2s}.bt-question-item.asked{opacity:.5}.bt-question-check{align-items:center;background:var(--surface);border:2px solid var(--border);border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:22px;justify-content:center;transition:all .15s;width:22px}.bt-question-check.checked{background:var(--primary)}.bt-question-check.checked,.bt-question-check:hover{border-color:var(--primary)}.bt-question-text{color:var(--text);flex:1 1;font-size:13px;line-height:1.4}.bt-question-item.asked .bt-question-text{color:var(--text-muted);text-decoration:line-through}.bt-question-del{flex-shrink:0;opacity:.4;transition:opacity .15s}.bt-question-del:hover{opacity:1}@media (max-width:768px){.budget-controls{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.budget-controls::-webkit-scrollbar{display:none}.budget-summary{-webkit-overflow-scrolling:touch;display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.budget-summary::-webkit-scrollbar{display:none}.summary-card{flex-shrink:0;min-width:130px}.bt-modal{max-width:100vw}}.bt-baby-age-chip{align-items:center;background:#6366f11a;border-radius:20px;color:#6366f1;display:inline-flex;font-size:13px;font-weight:600;margin-left:10px;padding:3px 10px;vertical-align:middle}.bt-last-feed-card{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:14px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px;padding:14px 16px}.bt-last-feed-info{display:flex;flex-direction:column;gap:4px}.bt-last-feed-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.bt-last-feed-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.bt-last-feed-type{color:var(--text);font-size:14px;font-weight:700}.bt-last-feed-ml{background:#3b82f61a;border-radius:20px;color:#3b82f6;font-size:12px;font-weight:700;padding:2px 8px}.bt-last-feed-ago{color:var(--text-muted);font-size:13px}.bt-reminder-active{align-items:flex-end;display:flex;flex-direction:column;gap:6px}.bt-reminder-countdown{align-items:center;color:#4f46e5;display:flex;font-size:13px;font-weight:600;gap:5px}.bt-reminder-countdown strong{color:#0284c7}.bt-reminder-cancel-btn{background:none;border:1px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600;padding:3px 10px;transition:all .15s}.bt-reminder-cancel-btn:hover{background:#ef444414;border-color:#ef4444;color:#ef4444}.bt-no-reminder{color:var(--text-muted);font-size:12px}.bt-reminder-presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.bt-reminder-pill{background:var(--surface-2);border:1.5px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;transition:all .15s}.bt-reminder-pill:hover{background:#4f46e50f;border-color:#4f46e5;color:#4f46e5}.bt-reminder-pill.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.bt-reminder-pill.bt-reminder-none{background:none;border-color:var(--border);color:var(--text-muted)}.bt-reminder-pill.bt-reminder-none:hover{background:#ef44440f;border-color:#ef4444;color:#ef4444}.bt-custom-reminder{align-items:center;display:flex;gap:8px;margin-top:8px}.bt-custom-reminder-input{background:var(--surface-2);border:1.5px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;padding:7px 10px;width:90px}.bt-custom-reminder-unit{color:var(--text-muted);font-size:13px}.bt-reminder-preview{background:#4f46e514;border-radius:8px;color:#4f46e5;font-size:13px;font-weight:600;margin-top:8px;padding:6px 10px}.bt-subsection-title{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:12px;text-transform:uppercase}.bt-workout-types{display:flex;flex-wrap:wrap;gap:8px}.bt-workout-type-btn{background:var(--surface);border:1.5px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;padding:7px 14px;transition:all .15s}.bt-workout-type-btn:hover{background:color-mix(in srgb,var(--primary) 8%,#0000);background:color-mix(in srgb,var(--ex-color,var(--primary)) 8%,#0000);border-color:var(--ex-color,var(--primary));color:var(--primary);color:var(--ex-color,var(--primary))}.bt-workout-type-btn.active{font-weight:700}.bt-log-tag{background:#94a3b81a;background:var(--surface-2,#94a3b81a);border:1px solid var(--border);border-radius:20px;display:inline-flex;font-size:11px;font-weight:600;padding:2px 8px;white-space:nowrap}.bt-log-meta,.bt-log-tag{align-items:center;color:var(--text-muted)}.bt-log-meta{display:flex;flex-wrap:wrap;font-size:12px;gap:6px}@media (max-width:768px){.page-top{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}.page-heading{flex-shrink:1!important;flex-wrap:wrap!important;font-size:17px!important;gap:6px!important;max-width:100%!important}.bt-baby-age-chip{font-size:11px!important;padding:2px 7px!important}.bt-timer-idle{align-items:stretch!important;display:flex!important;flex-direction:column!important;gap:10px!important;padding:16px!important}.bt-start-btn,.bt-timer-idle .btn-primary{box-sizing:border-box!important;justify-content:center!important;width:100%!important}.bt-timer-idle .btn-primary,.bt-timer-or{text-align:center!important}.bt-timer-running{padding:20px 14px!important}.bt-timer-display{font-size:36px!important}.bt-timer-btns{flex-direction:column!important;gap:8px!important;width:100%!important}.bt-cancel-btn,.bt-stop-btn{box-sizing:border-box!important;justify-content:center!important;width:100%!important}.bt-log-item{overflow:hidden!important}.bt-log-meta{white-space:normal!important;word-break:break-word!important}.bt-last-feed-card{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}.bt-analysis-period{max-width:100%!important;overflow-x:auto!important;scrollbar-width:none!important}.bt-analysis-period::-webkit-scrollbar{display:none}.bt-tabs-wrap{position:relative!important}}.sav-loading{align-items:center;color:var(--text-2);display:flex;flex-direction:column;gap:14px;padding:64px 0}.sav-spinner{animation:sav-spin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:36px;width:36px}@keyframes sav-spin{to{transform:rotate(1turn)}}.sav-heading-icon{margin-right:8px}.sav-overview{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:20px}.sav-stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:20px 22px;position:relative}.sav-stat-card:before{border-radius:14px;content:"";inset:0;opacity:0;position:absolute;transition:opacity .15s}.sav-stat-primary{background:linear-gradient(135deg,#00c8530f,var(--card-bg));border-color:var(--primary)}.sav-stat-surplus{background:linear-gradient(135deg,#00c85314,var(--card-bg));border-color:#00c853}.sav-stat-deficit{background:linear-gradient(135deg,#ef444414,var(--card-bg));border-color:#ef4444}.sav-stat-label{color:var(--text-2);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.sav-stat-value{color:var(--text-1);font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:4px 0 2px}.sav-stat-sub{color:var(--text-2);font-size:12px}.sav-allocate-btn{align-self:flex-start;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;margin-top:10px;padding:7px 14px;transition:opacity .15s}.sav-allocate-btn:hover{opacity:.88}.sav-overall-bar{margin-bottom:24px;padding:18px 22px}.sav-overall-bar-header{align-items:center;color:var(--text-1);display:flex;font-size:14px;font-weight:600;justify-content:space-between;margin-bottom:10px}.sav-overall-pct{color:var(--primary);font-weight:700}.sav-bar-track{background:var(--border);border-radius:99px;height:8px;overflow:hidden}.sav-bar-track-lg{height:12px}.sav-bar-fill{border-radius:99px;height:100%;transition:width .5s ease}.sav-bar-fill,.sav-bar-fill-primary{background:var(--primary)}.sav-section{margin-bottom:32px}.sav-section-title{color:var(--text-1);font-size:16px;font-weight:700;margin:0 0 14px}.sav-goals-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.sav-currency-select{background:var(--card-bg);border:1.5px solid var(--border);border-radius:10px;color:var(--text-1);cursor:pointer;font-size:13px;font-weight:600;min-width:80px;outline:none;padding:8px 12px;transition:border-color .15s}.sav-currency-select:focus,.sav-currency-select:hover{border-color:var(--primary)}.sav-goal-card{border-top:3px solid var(--goal-color,var(--primary));cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:20px;transition:transform .15s,box-shadow .15s}.sav-goal-card:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.sav-goal-completed{opacity:.75}.sav-goal-paused{opacity:.65}.sav-goal-card-top{align-items:flex-start;display:flex;gap:10px}.sav-goal-cat-badge{align-self:flex-start;border-radius:7px;display:inline-block;flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.02em;margin-top:2px;padding:3px 10px;white-space:nowrap}.sav-goal-meta{flex:1 1;min-width:0}.sav-goal-name{color:var(--text-1);font-size:15px;font-weight:700;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sav-goal-actions{flex-shrink:0}.sav-goal-amounts{align-items:center;display:flex;justify-content:space-between}.sav-goal-saved{font-size:18px;font-weight:700;letter-spacing:-.02em}.sav-goal-pct,.sav-goal-target{color:var(--text-2);font-size:13px}.sav-goal-pct{font-weight:700}.sav-goal-stats-row{display:flex;flex-wrap:wrap;gap:10px}.sav-goal-stat{background:var(--border);background:var(--bg-2,var(--border));border-radius:8px;display:flex;flex-direction:column;gap:2px;min-width:72px;padding:6px 10px}.sav-goal-stat-label{color:var(--text-2);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.sav-goal-stat-val{color:var(--text-1);font-size:13px;font-weight:700}.sav-contribute-btn{border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:4px;padding:10px;transition:opacity .15s,transform .1s;width:100%}.sav-contribute-btn:hover{opacity:.88;transform:scale(.99)}.sav-status-badge{border-radius:99px;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 9px}.sav-status-active{background:#00c8531f;color:#00a846}.sav-status-done{background:#2196f31f;color:#1976d2}.sav-status-behind{background:#ef44441f;color:#dc2626}.sav-status-paused{background:#9ca3af26;color:var(--text-2)}[data-theme=dark] .sav-status-active{color:#4cde8a}[data-theme=dark] .sav-status-done{color:#64b5f6}[data-theme=dark] .sav-status-behind{color:#f87171}.sav-tip{align-items:flex-start;border-left:3px solid var(--primary);color:var(--text-1);display:flex;font-size:14px;gap:12px;line-height:1.55;margin-bottom:24px;padding:16px 20px}.sav-tip-warn{border-left-color:#d4a017}.sav-tip-icon{color:inherit;flex-shrink:0;margin-top:1px}.sav-empty{align-items:center;display:flex;flex-direction:column;gap:12px;padding:56px 24px;text-align:center}.sav-empty-icon{font-size:48px}.sav-empty h3{color:var(--text-1);font-size:18px;margin:0}.sav-empty p{color:var(--text-2);font-size:14px;margin:0;max-width:360px}.sav-modal{max-height:90vh;max-width:540px;overflow-y:auto}.sav-category-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.sav-cat-btn{align-items:center;background:var(--card-bg);border:1.5px solid var(--border);border-radius:10px;cursor:pointer;display:flex;justify-content:center;padding:9px 10px;transition:border-color .15s,background .15s}.sav-cat-btn.active,.sav-cat-btn:hover{border-color:var(--primary)}.sav-cat-btn.active{background:#00c8531a}.sav-cat-label{color:var(--text-1);font-size:12px;font-weight:600;line-height:1.3;text-align:center}.sav-color-row{display:flex;flex-wrap:wrap;gap:10px}.sav-color-dot{border:2.5px solid #0000;border-radius:50%;cursor:pointer;height:28px;padding:0;transition:transform .15s,border-color .15s;width:28px}.sav-color-dot:hover{transform:scale(1.15)}.sav-color-dot.active{border-color:var(--text-1);transform:scale(1.15)}.sav-projection-hint{background:#00c85314;border:1px solid #00c85340;border-radius:10px}.sav-projection-hint,.sav-surplus-hint{color:var(--text-1);font-size:13px;margin-bottom:4px;padding:10px 14px}.sav-surplus-hint{align-items:center;background:#00c85312;border:1px solid #00c85333;border-radius:10px;display:flex;flex-wrap:wrap;gap:10px}.sav-use-surplus-btn{background:var(--primary);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;transition:opacity .15s;white-space:nowrap}.sav-use-surplus-btn:hover{opacity:.88}.sav-detail-modal{max-height:90vh;max-width:580px;overflow-y:auto}.sav-detail-heading{align-items:center;display:flex;flex:1 1;gap:12px}.sav-detail-cat-badge{border-radius:9px;display:inline-block;flex-shrink:0;font-size:12px;font-weight:700;letter-spacing:.02em;padding:5px 13px;white-space:nowrap}.sav-detail-heading h2{font-size:20px;margin:0 0 4px}.sav-detail-progress{border-bottom:1px solid var(--border);margin-bottom:16px;padding:16px 0}.sav-detail-amounts{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.sav-detail-saved{font-size:28px;font-weight:800;letter-spacing:-.03em}.sav-detail-of,.sav-detail-pct{color:var(--text-2);font-size:15px}.sav-detail-pct{font-weight:700;margin-left:auto}.sav-detail-stats{grid-gap:12px;border-bottom:1px solid var(--border);display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:16px;padding-bottom:16px}.sav-detail-stat{background:#00000008;background:var(--bg-2,#00000008);border-radius:10px;display:flex;flex-direction:column;gap:3px;padding:10px 14px}.sav-detail-stat-full{grid-column:1/-1}.sav-detail-stat-label{color:var(--text-2);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.sav-detail-stat-val{color:var(--text-1);font-size:15px;font-weight:700}.sav-detail-contribs{margin-bottom:16px}.sav-detail-contribs-header{align-items:center;color:var(--text-1);display:flex;font-size:14px;font-weight:700;justify-content:space-between;margin-bottom:10px}.sav-no-contribs{color:var(--text-2);font-size:13px;padding:16px;text-align:center}.sav-contrib-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;padding-right:2px}.sav-contrib-row{align-items:center;background:#00000005;background:var(--bg-2,#00000005);border-radius:10px;display:flex;gap:10px;padding:8px 12px}.sav-contrib-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.sav-contrib-body{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:10px}.sav-contrib-amount{color:var(--text-1);font-size:14px;font-weight:700}.sav-contrib-date,.sav-contrib-note{color:var(--text-2);font-size:12px}.sav-contrib-note{font-style:italic}.sav-contrib-del{background:none;border:none;border-radius:6px;color:var(--text-2);cursor:pointer;flex-shrink:0;font-size:16px;line-height:1;padding:2px 6px;transition:background .15s,color .15s}.sav-contrib-del:hover{background:#ef44441f;color:#ef4444}.sav-detail-actions{display:flex;flex-wrap:wrap;gap:10px}.btn-danger-outline{background:#0000;border:1.5px solid #ef4444;border-radius:10px;color:#ef4444;cursor:pointer;font-size:14px;font-weight:600;padding:9px 18px;transition:background .15s}.btn-danger-outline:hover{background:#ef444414}@media (max-width:768px){.sav-overview{gap:12px;grid-template-columns:1fr 1fr}.sav-stat-value{font-size:18px}.sav-goals-grid{grid-template-columns:1fr}.sav-category-grid{grid-template-columns:repeat(5,1fr)}.sav-detail-stats{grid-template-columns:1fr 1fr}.sav-detail-amounts{gap:6px}.sav-detail-saved{font-size:22px}}@media (max-width:400px){.sav-overview{grid-template-columns:1fr}.sav-category-grid{grid-template-columns:repeat(4,1fr)}}.debt-summary-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.debt-summary-card{background:#fff;background:var(--surface,#fff);border-radius:12px;box-shadow:0 2px 12px #00000012;padding:20px;text-align:center}.debt-summary-label{color:#666;color:var(--text-2,#666);font-size:12px;font-weight:600;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.debt-summary-value{color:#111;color:var(--text,#111);font-size:22px;font-weight:800}.debt-summary-value--red{color:#e74c3c}.debt-summary-value--green{color:#00c853}.debt-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.debt-tab{background:none;border:1.5px solid #e5e7eb;border:1.5px solid var(--border,#e5e7eb);border-radius:20px;color:#666;color:var(--text-2,#666);cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:all .15s}.debt-tab.active,.debt-tab:hover{background:#00c853;border-color:#00c853;color:#fff}.debt-list{display:flex;flex-direction:column;gap:16px}.debt-card{background:#fff;background:var(--surface,#fff);border-radius:14px;box-shadow:0 2px 12px #00000012;padding:20px 24px;transition:opacity .2s}.debt-card--paid{border:1.5px solid #00c853;opacity:.7}.debt-card-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.debt-card-title-row{align-items:center;display:flex;flex:1 1;gap:10px}.debt-type-badge{border-radius:20px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase;white-space:nowrap}.debt-card-name{align-items:center;color:#111;color:var(--text,#111);display:flex;font-size:17px;font-weight:700;gap:8px;margin:0}.debt-paid-badge{background:#00c8531a;border-radius:10px;color:#00c853;font-size:12px;font-weight:600;padding:2px 8px}.debt-lender{color:#888;color:var(--text-2,#888);font-size:13px;width:100%}.debt-card-actions{align-items:center;display:flex;gap:6px;margin-left:auto}.btn-pay{align-items:center;background:linear-gradient(135deg,#00c853,#00897b);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:5px;padding:7px 16px;transition:opacity .15s;white-space:nowrap}.btn-pay:hover{opacity:.88}.debt-amounts{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:14px}.debt-amount-block{display:flex;flex-direction:column;gap:2px}.debt-amount-label{color:#888;color:var(--text-2,#888);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.debt-amount-value{color:#222;color:var(--text,#222);font-size:15px;font-weight:700}.debt-amount-value--big{color:#e74c3c;font-size:20px}.debt-progress-wrap{align-items:center;display:flex;gap:10px;margin-bottom:10px}.debt-progress-bar{background:#e5e7eb;background:var(--border,#e5e7eb);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.debt-progress-fill{background:linear-gradient(90deg,#00c853,#00897b);border-radius:4px;height:100%;transition:width .4s ease}.debt-progress-pct{color:#00c853;font-size:12px;font-weight:700;white-space:nowrap}.debt-footer-row{color:#888;color:var(--text-2,#888);font-size:12px;gap:12px}.debt-end-date,.debt-payoff-est{background:#f4f7f5;background:var(--surface-2,#f4f7f5);border-radius:8px;font-weight:600;padding:3px 10px}.debt-history-toggle{background:none;border:none;color:#00c853;cursor:pointer;font-size:12px;font-weight:600;margin-left:auto}.debt-history-toggle:hover{text-decoration:underline}.debt-payments{border-top:1px solid #e5e7eb;border-top:1px solid var(--border,#e5e7eb);margin-top:12px;padding-top:12px}.debt-no-payments{color:#999;color:var(--text-2,#999);padding:8px}.debt-payment-row{border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--border,#f0f0f0);display:flex;font-size:13px;gap:12px;padding:7px 0}.debt-payment-row:last-child{border-bottom:none}.debt-payment-date{color:#888;color:var(--text-2,#888);font-weight:600;min-width:110px}.debt-payment-amount{color:#00c853;font-weight:800}.debt-payment-notes{color:#666;color:var(--text-2,#666);flex:1 1;font-style:italic}.btn-icon-sm{padding:2px}.debt-balance-hint{color:#666;color:var(--text-2,#666);font-size:14px;margin-bottom:16px}[data-theme=dark] .debt-card,[data-theme=dark] .debt-summary-card{background:var(--surface);box-shadow:var(--shadow-lg)}[data-theme=dark] .debt-end-date,[data-theme=dark] .debt-payoff-est{background:var(--surface-2)}@media (max-width:600px){.debt-summary-row{grid-template-columns:1fr 1fr}.debt-summary-row>:last-child{grid-column:1/-1}.debt-amounts{grid-template-columns:1fr 1fr}.debt-card{padding:16px}}.debt-summary-value--amber{color:#d4a017}.debt-dti-hint{color:#6b7280;font-size:11px;font-weight:600;margin-top:4px}.debt-payoff-caveat{color:#d4a017;font-weight:700}.debt-footer-row{border-top:1px solid #f3f4f6;border-top:1px solid var(--border,#f3f4f6);justify-content:space-between;margin-top:12px;padding-top:12px}.debt-footer-dates,.debt-footer-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.debt-date-chip{background:#94a3b814;background:var(--surface-2,#94a3b814);border:1px solid var(--border);border-radius:20px;color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:12px;padding:3px 10px}.debt-expand-btns{display:flex;gap:8px}.debt-expand-btn{align-items:center;background:none;border:1.5px solid #e5e7eb;border:1.5px solid var(--border,#e5e7eb);border-radius:20px;color:#6b7280;color:var(--text-muted,#6b7280);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:5px 12px;transition:all .15s}.debt-expand-btn.active,.debt-expand-btn:hover{background:#667eea0f;border-color:#667eea;color:#667eea}.debt-history-panel{animation:dh-fade .18s ease;border-top:1px solid #f3f4f6;border-top:1px solid var(--border,#f3f4f6);margin-top:16px;padding-top:16px}@keyframes dh-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.debt-history-title{color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:12px;text-transform:uppercase}.debt-history-stats{color:#4b5563;color:var(--text-2,#4b5563);display:flex;flex-wrap:wrap;font-size:13px;gap:20px;margin-bottom:14px}.debt-history-stats .green{color:#16a34a}.debt-history-stats .red{color:#ef4444}.debt-payment-table{display:flex;flex-direction:column;font-size:13px;gap:0}.debt-payment-thead{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:11px;font-weight:700;letter-spacing:.05em;margin-bottom:4px;padding:6px 10px;text-transform:uppercase}.debt-payment-row,.debt-payment-thead{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1.4fr 1fr 1fr 1fr .5fr}.debt-payment-row{align-items:center;border-radius:8px;padding:8px 10px;transition:background .1s}.debt-payment-row:hover{background:#94a3b80f;background:var(--surface-2,#94a3b80f)}.debt-payment-date{color:#4b5563;color:var(--text-2,#4b5563);font-weight:500}.debt-payment-amount{color:#16a34a;font-weight:700}.debt-payment-before{color:#9ca3af;color:var(--text-muted,#9ca3af)}.debt-payment-after{color:#374151;color:var(--text-2,#374151);font-weight:600}.debt-payment-actions{align-items:center;display:flex;gap:4px;justify-content:flex-end}.debt-payment-note{background:#94a3b81a;background:var(--surface-2,#94a3b81a);border:1px solid var(--border);border-radius:4px;color:#6b7280;cursor:help;font-size:10px;font-weight:700;letter-spacing:.04em;padding:1px 5px;text-transform:uppercase}.debt-payment-totals{grid-gap:8px;border-top:1.5px solid #e5e7eb;border-top:1.5px solid var(--border,#e5e7eb);display:grid;font-size:12px;font-weight:700;gap:8px;grid-template-columns:1.4fr 1fr 1fr 1fr .5fr;margin-top:4px;padding:8px 10px}.debt-payment-totals .green{color:#16a34a}.debt-payment-totals .red{color:#ef4444}.debt-no-payments{color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:13px;padding:16px 0;text-align:center}.debt-pay-meta{background:#94a3b80f;background:var(--surface-2,#94a3b80f);border-radius:10px;color:#4b5563;color:var(--text-2,#4b5563);display:flex;flex-wrap:wrap;font-size:13px;gap:20px;margin-bottom:16px;padding:10px 14px}.debt-pay-meta .green{color:#16a34a}.debt-pay-preview{background:#16a34a0f;border:1px solid #16a34a33;border-radius:8px;color:#4b5563;color:var(--text-2,#4b5563);font-size:13px;margin-top:6px;padding:8px 12px}.debt-amount-value--green{color:#16a34a;font-weight:700}@media (max-width:640px){.debt-payment-row,.debt-payment-thead,.debt-payment-totals{grid-template-columns:1fr 1fr 1fr}.debt-payment-row .debt-payment-before,.debt-payment-thead span:nth-child(3),.debt-payment-totals span:nth-child(3){display:none}.debt-history-stats{gap:12px}}.meds-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}@media (max-width:768px){.meds-stats{grid-template-columns:repeat(2,1fr)}}.meds-stat-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);display:flex;gap:12px;padding:16px}.meds-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.meds-stat-num{color:var(--text);font-size:26px;font-weight:800;line-height:1}.meds-stat-label{color:var(--text-muted);font-size:12px;font-weight:500;margin-top:2px}.meds-tabs{background:var(--surface-2);border-radius:12px;display:flex;gap:4px;margin-bottom:24px;max-width:420px;padding:4px}.meds-tab{background:none;border:none;border-radius:9px;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:8px 14px;transition:all .2s;white-space:nowrap}.meds-tab.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--primary)}.meds-tab:hover:not(.active){color:var(--text)}.meds-loading{display:flex;justify-content:center;padding:60px 0}.meds-spinner{animation:meds-spin .7s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@keyframes meds-spin{to{transform:rotate(1turn)}}.meds-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:12px;padding:60px 20px;text-align:center}.meds-empty p{font-size:15px;margin:0}.meds-list{display:flex;flex-direction:column;gap:14px}.meds-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;overflow:hidden;transition:box-shadow .2s}.meds-card:hover{box-shadow:var(--shadow-md)}.meds-card-inactive{opacity:.6}.meds-card-type-bar{flex-shrink:0;width:5px}.meds-card-body{flex:1 1;min-width:0;padding:16px}.meds-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.meds-card-title-row{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:8px;min-width:0}.meds-card-name{color:var(--text);font-size:16px;font-weight:700}.meds-type-badge{border-radius:20px;font-size:11px;font-weight:600;padding:2px 8px;text-transform:capitalize;white-space:nowrap}.meds-card-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.meds-log-btn{border-radius:8px;font-size:12px;padding:5px 12px;white-space:nowrap}.meds-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.meds-meta-pill{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;color:var(--text-muted);font-size:12px;font-weight:500;padding:3px 10px}.meds-member-pill{background:#6366f114;background:rgba(var(--primary-rgb,99,102,241),.08);border-color:#6366f133;border-color:rgba(var(--primary-rgb,99,102,241),.2);color:var(--primary)}.meds-card-notes{color:var(--text-muted);font-size:13px;line-height:1.5;margin-bottom:10px}.meds-card-footer{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-top:4px}.meds-today-count{background:var(--surface-2);border-radius:20px;color:var(--text-muted);font-size:12px;font-weight:600;padding:3px 10px}.meds-today-count.taken{background:#22c55e1a;color:#22c55e}.meds-last-dose{color:var(--text-muted);font-size:12px}.meds-log-list{display:flex;flex-direction:column;gap:10px}.meds-log-item{align-items:stretch;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;overflow:hidden}.meds-log-type-bar{flex-shrink:0;width:4px}.meds-log-body{flex:1 1;min-width:0;padding:12px 14px}.meds-log-name{align-items:center;color:var(--text);display:flex;flex-wrap:wrap;font-size:14px;font-weight:700;gap:8px;margin-bottom:4px}.meds-log-meta,.meds-log-notes{color:var(--text-muted);font-size:12px}.meds-log-notes{margin-top:4px}.meds-log-item .btn-icon{border-left:1px solid var(--border);border-radius:0;color:var(--text-muted);flex-shrink:0;padding:0 14px}.meds-type-pills{display:flex;flex-wrap:wrap;gap:8px}.meds-type-pill{background:none;border:2px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;transition:all .15s}.meds-type-pill.active{color:#fff}.meds-type-pill:hover:not(.active){border-color:var(--primary);color:var(--primary)}.meds-time-pills{display:flex;flex-wrap:wrap;gap:8px}.meds-time-pill{background:none;border:1.5px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:500;padding:5px 14px;text-transform:capitalize;transition:all .15s}.meds-time-pill.active{background:#6366f11f;border-color:#6366f1;color:#6366f1}.meds-time-pill:hover:not(.active){border-color:var(--text-muted);color:var(--text)}.meds-dose-hint{border-radius:10px;font-size:14px;margin:0 0 16px;padding:8px 14px}.meds-back-btn,.meds-dose-hint{background:var(--surface-2);color:var(--text-muted)}.meds-back-btn{align-items:center;border:1px solid var(--border);border-radius:8px;cursor:pointer;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;margin-right:4px;transition:all .15s;width:32px}.meds-back-btn:hover{background:var(--border);color:var(--text)}.icon-xl{height:56px;object-fit:contain;opacity:.4;width:56px}@media (max-width:600px){.meds-card-header{align-items:flex-start;flex-direction:column;gap:10px}.meds-card-actions{justify-content:flex-end;width:100%}.meds-tabs{max-width:100%}}.wo-heading-icon{color:#8b5cf6;margin-right:6px}.wo-back-btn,.wo-heading-icon{align-items:center;display:inline-flex}.wo-back-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;flex-shrink:0;height:32px;justify-content:center;margin-right:4px;transition:all .15s;width:32px}.wo-back-btn:hover{background:var(--border);color:var(--text)}.wo-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}@media(max-width:768px){.wo-stats{grid-template-columns:repeat(2,1fr)}}.wo-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);gap:12px;padding:16px}.wo-stat-card,.wo-stat-icon{align-items:center;display:flex}.wo-stat-icon{border-radius:10px;flex-shrink:0;height:40px;justify-content:center;width:40px}.wo-stat-num{color:var(--text);font-size:20px;font-weight:800;line-height:1}.wo-stat-label{color:var(--text-muted);font-size:12px;font-weight:500;margin-top:2px}.wo-loading{display:flex;justify-content:center;padding:60px 0}.wo-spinner{animation:wo-spin .7s linear infinite;border:3px solid var(--border);border-radius:50%;border-top:3px solid #8b5cf6;height:40px;width:40px}@keyframes wo-spin{to{transform:rotate(1turn)}}.wo-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:12px;padding:60px 20px;text-align:center}.wo-empty p{font-size:15px;margin:0}.wo-list{gap:20px}.wo-day-group,.wo-list{display:flex;flex-direction:column}.wo-day-group{gap:10px}.wo-day-label{border-bottom:1px solid var(--border);color:var(--text-muted);font-size:13px;font-weight:700;letter-spacing:.04em;padding-bottom:4px;text-transform:uppercase}.wo-card{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);display:flex;gap:14px;padding:14px 16px;transition:box-shadow .2s}.wo-card:hover{box-shadow:var(--shadow-md)}.wo-card-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.wo-card-body{flex:1 1;min-width:0}.wo-card-title{color:var(--text);font-size:16px;font-weight:700;margin-bottom:6px}.wo-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.wo-pill{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;color:var(--text-muted);font-size:12px;font-weight:500;padding:3px 10px}.wo-intensity{font-size:11px;letter-spacing:1px}.wo-member{background:#6366f114;background:rgba(var(--primary-rgb,99,102,241),.08);border-color:#6366f133;border-color:rgba(var(--primary-rgb,99,102,241),.2);color:var(--primary)}.wo-notes{color:var(--text-muted);font-size:13px;margin-top:4px}.wo-card-actions{display:flex;flex-direction:column;flex-shrink:0;gap:4px}.wo-type-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.wo-type-btn{align-items:center;background:none;border:2px solid var(--border);border-radius:12px;color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font-size:11px;font-weight:600;gap:6px;padding:10px 8px;transition:all .15s}.wo-type-btn:hover:not(.active){border-color:var(--t-color,var(--primary));color:var(--primary);color:var(--t-color,var(--primary))}.wo-intensity-row{display:flex;gap:6px}.wo-intensity-btn{background:none;border:2px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:700;height:36px;transition:all .15s;width:36px}.wo-intensity-btn.filled{background:#d4a017;border-color:#d4a017;color:#fff}.tracker-tabs{background:var(--surface-2);border-radius:12px;display:flex;gap:4px;margin-bottom:20px;padding:4px}.tracker-tab{background:none;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px 12px;transition:all .15s}.tracker-tab.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--primary)}.tracker-tab:hover:not(.active){color:var(--text)}.tracker-analysis{display:flex;flex-direction:column;gap:16px}.tracker-analysis-empty{color:var(--text-muted);font-size:15px;padding:60px 20px;text-align:center}.tracker-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);padding:20px 16px 12px}.tracker-chart-title{color:var(--text-muted);font-size:13px;font-weight:700;letter-spacing:.05em;margin-bottom:14px;text-transform:uppercase}.sleep-timer-card{background:linear-gradient(135deg,#1e1b4b,#312e81);border-radius:20px;box-shadow:0 8px 24px #6366f14d;color:#fff;margin-bottom:24px;padding:24px}.sleep-timer-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.sleep-timer-title{color:#fff9;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sleep-timer-member{background:#ffffff26;border-radius:20px;font-size:12px;padding:3px 12px}.sleep-timer-display{font-feature-settings:"tnum";color:#ffffffe6;font-size:54px;font-variant-numeric:tabular-nums;font-weight:900;letter-spacing:.04em;padding:16px 0;text-align:center;transition:color .3s}.sleep-timer-display.running{color:#a5f3fc}@media(max-width:480px){.sleep-timer-display{font-size:42px}}.sleep-timer-controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}.sleep-timer-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;gap:7px;padding:10px 20px;transition:all .15s}.sleep-timer-btn.start{background:#4f46e5;color:#fff}.sleep-timer-btn.start:hover{background:#4338ca}.sleep-timer-btn.pause{background:#ffffff26;color:#fff}.sleep-timer-btn.pause:hover{background:#ffffff40}.sleep-timer-btn.save{background:#22c55e;color:#fff}.sleep-timer-btn.save:hover{background:#16a34a}.sleep-timer-btn.reset{background:#ffffff1a;color:#fff9;font-size:13px}.sleep-timer-btn.reset:hover{color:#fff}.sleep-timer-save{border-top:1px solid #ffffff26;margin-top:16px;padding-top:16px}.sleep-timer-save-label{color:#ffffffb3;font-size:13px;margin-bottom:10px}.sleep-timer-save .sleep-stars{margin-bottom:14px}.sleep-timer-save .sleep-star{color:#d4a017}.sleep-timer-save-actions{display:flex;gap:10px}.sleep-timer-save-actions .btn-secondary{background:#ffffff1a;border-color:#0000;color:#ffffffb3}.sleep-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}@media (max-width:768px){.sleep-stats{grid-template-columns:repeat(2,1fr)}}.sleep-stat-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);display:flex;gap:12px;padding:16px}.sleep-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.sleep-stat-num{color:var(--text);font-size:22px;font-weight:800;line-height:1}.sleep-stat-label{color:var(--text-muted);font-size:12px;font-weight:500;margin-top:2px}.sleep-heading-icon{color:#6366f1;margin-right:6px}.sleep-back-btn,.sleep-heading-icon{align-items:center;display:inline-flex}.sleep-back-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;flex-shrink:0;height:32px;justify-content:center;margin-right:4px;transition:all .15s;width:32px}.sleep-back-btn:hover{background:var(--border);color:var(--text)}.sleep-member-filter{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.sleep-member-filter-label{color:var(--text-muted);font-size:13px;font-weight:500;white-space:nowrap}.sleep-member-pills{display:flex;flex-wrap:wrap;gap:8px}.sleep-member-pill{background:none;border:1.5px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:500;padding:5px 14px;transition:all .15s}.sleep-member-pill:hover{background:#6366f114;border-color:#6366f1;color:#6366f1}.sleep-loading{display:flex;justify-content:center;padding:60px 0}.sleep-spinner{animation:sleep-spin .7s linear infinite;border:3px solid var(--border);border-radius:50%;border-top:3px solid #6366f1;height:40px;width:40px}@keyframes sleep-spin{to{transform:rotate(1turn)}}.sleep-empty{align-items:center;display:flex;flex-direction:column;gap:14px;padding:60px 20px;text-align:center}.sleep-empty-icon{color:var(--text-muted);opacity:.35}.sleep-empty p{color:var(--text-muted);font-size:15px;margin:0}.sleep-log-list{gap:20px}.sleep-day-group,.sleep-log-list{display:flex;flex-direction:column}.sleep-day-group{gap:10px}.sleep-day-label{border-bottom:1px solid var(--border);color:var(--text-muted);font-size:13px;font-weight:700;letter-spacing:.04em;padding-bottom:4px;text-transform:uppercase}.sleep-log-card{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);display:flex;gap:14px;padding:14px 16px;transition:box-shadow .2s}.sleep-log-card:hover{box-shadow:var(--shadow-md)}.sleep-log-moon{align-items:center;background:#6366f11a;border-radius:10px;color:#6366f1;display:flex;flex-shrink:0;height:36px;justify-content:center;margin-top:2px;width:36px}.sleep-log-body{flex:1 1;min-width:0}.sleep-log-times{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.sleep-log-bed,.sleep-log-wake{color:var(--text);font-size:16px;font-weight:700}.sleep-log-duration{background:#6366f11a;border-radius:20px;color:#6366f1;font-size:13px;font-weight:600;padding:2px 10px}.sleep-log-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px}.sleep-log-member{background:#6366f114;background:rgba(var(--primary-rgb,99,102,241),.08);border-radius:20px;color:var(--primary);font-size:12px;font-weight:600;padding:2px 9px}.sleep-log-quality{color:#d4a017;font-size:12px;font-weight:500}.sleep-log-notes{color:var(--text-muted);font-size:13px;margin-top:4px}.sleep-log-actions{display:flex;flex-direction:column;flex-shrink:0;gap:4px}.sleep-duration-preview{background:#6366f114;border:1px solid #6366f133;border-radius:10px;color:var(--text-muted);font-size:14px;margin:-8px 0 12px;padding:8px 14px}.sleep-stars{gap:4px}.sleep-star,.sleep-stars{align-items:center;display:flex}.sleep-star{background:none;border:none;color:#d4a017;cursor:pointer;padding:2px;transition:transform .1s}.sleep-star:hover:not(:disabled){transform:scale(1.15)}.sleep-star:disabled{cursor:default}.sleep-quality-label{color:var(--text-muted);font-size:13px;margin-left:6px}@media (max-width:600px){.sleep-log-card{flex-wrap:wrap}.sleep-log-actions{flex-direction:row;justify-content:flex-end;width:100%}}.offline-pending-badge{background:#f5f3ff;border:1px solid #fcd34d;border-radius:20px;color:#6d28d9;font-size:11px;font-weight:600;gap:4px;margin-top:4px;padding:2px 10px}.hub-back-btn,.offline-pending-badge{align-items:center;display:inline-flex}.hub-back-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;flex-shrink:0;height:32px;justify-content:center;margin-right:6px;transition:all .15s;width:32px}.hub-back-btn:hover{background:var(--border);color:var(--text)}.hub-member-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;gap:16px;margin-bottom:28px;padding:20px}.hub-member-avatar{flex-shrink:0}.hub-avatar-img{object-fit:cover}.hub-avatar-img,.hub-avatar-initials{border-radius:50%;height:64px;width:64px}.hub-avatar-initials{align-items:center;background:var(--primary);color:#fff;display:flex;font-size:24px;font-weight:700;justify-content:center}.hub-member-name{color:var(--text);font-size:20px;font-weight:800;margin-bottom:8px}.hub-member-meta{display:flex;flex-wrap:wrap;gap:6px}.hub-meta-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;color:var(--text-muted);font-size:12px;font-weight:500;padding:3px 10px;text-transform:capitalize}.hub-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.hub-section-title{color:var(--text);font-size:16px;font-weight:700}.hub-manage-btn{align-items:center;display:inline-flex;font-size:13px;gap:6px;padding:7px 14px}.hub-trackers-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.hub-tracker-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px;padding:22px 20px;transition:box-shadow .2s,transform .2s}.hub-tracker-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.hub-tracker-icon{align-items:center;border-radius:14px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.hub-tracker-label{color:var(--text);font-size:15px;font-weight:700}.hub-tracker-stats{align-items:baseline;display:flex;flex:1 1;flex-wrap:wrap;gap:4px}.hub-stat-big{color:var(--text);font-size:28px;font-weight:800;line-height:1}.hub-stat-sub{color:var(--text-muted);font-size:13px;margin-left:2px}.hub-stat-avg{color:var(--text-muted);font-size:12px;margin-top:2px;width:100%}.hub-tracker-btn{background:var(--tracker-bg);border:none;border-radius:10px;color:var(--tracker-color);cursor:pointer;display:block;font-size:13px;font-weight:700;padding:10px;transition:all .15s;width:100%}.hub-tracker-btn:hover{background:var(--tracker-color);color:#fff}.hub-loading{display:flex;justify-content:center;padding:60px 0}.hub-spinner{animation:hub-spin .7s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@keyframes hub-spin{to{transform:rotate(1turn)}}.hub-empty{color:var(--text-muted);grid-column:1/-1;padding:40px 20px;text-align:center}.hub-manage-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.hub-manage-row{align-items:center;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:background .15s}.hub-manage-row:hover{background:var(--surface-2)}.hub-manage-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.hub-manage-name{color:var(--text);flex:1 1;font-size:14px;font-weight:600}.hub-toggle{background:var(--border);border-radius:12px;cursor:pointer;flex-shrink:0;height:24px;position:relative;transition:background .2s;width:44px}.hub-toggle.on{background:var(--primary)}.hub-toggle-thumb{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:18px;left:3px;position:absolute;top:3px;transition:transform .2s;width:18px}.hub-toggle.on .hub-toggle-thumb{transform:translateX(20px)}@media (max-width:600px){.hub-trackers-grid{grid-template-columns:1fr 1fr}.hub-member-card{align-items:flex-start;flex-direction:column}}@media (max-width:400px){.hub-trackers-grid{grid-template-columns:1fr}}.hub-last-tracked{align-items:center;background:#94a3b814;background:var(--surface-alt,#94a3b814);border-radius:20px;color:var(--text-muted);display:inline-flex;font-size:11px;font-weight:600;gap:4px;margin-bottom:2px;margin-top:4px;padding:3px 10px}.hub-draggable{cursor:grab;position:relative}.hub-draggable:active{cursor:grabbing}.hub-drag-handle{color:var(--text-muted);cursor:grab;line-height:0;opacity:.4;position:absolute;right:8px;top:8px;transition:opacity .15s}.hub-tracker-card:hover .hub-drag-handle{opacity:.8}.hub-dragging{box-shadow:none!important;opacity:.4;transform:scale(.97)}.hub-drag-over{background:#6366f10f!important;background:var(--primary-light,#6366f10f)!important;border-color:var(--primary)!important;transform:scale(1.02)}.bw-panel{margin-top:4px}.bw-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}@media (max-width:768px){.bw-stats{grid-template-columns:repeat(2,1fr)}}.bw-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);gap:12px;padding:16px}.bw-stat-card,.bw-stat-icon{align-items:center;display:flex}.bw-stat-icon{border-radius:10px;flex-shrink:0;height:40px;justify-content:center;width:40px}.bw-stat-num{color:var(--text);font-size:20px;font-weight:800;line-height:1}.bw-stat-label{color:var(--text-muted);font-size:12px;font-weight:500;margin-top:2px}.bw-exercise-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-bottom:8px}.bw-ex-card{align-items:center;background:var(--surface);border:2px solid var(--border);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:14px 10px 12px;position:relative;text-align:center;transition:all .15s}.bw-ex-card:hover{border-color:#6366f1;border-color:var(--ex-color,#6366f1);box-shadow:0 0 0 4px color-mix(in srgb,#6366f1 12%,#0000);box-shadow:0 0 0 4px color-mix(in srgb,var(--ex-color,#6366f1) 12%,#0000);transform:translateY(-2px)}.bw-ex-icon{color:#6366f1;color:var(--ex-color,#6366f1)}.bw-ex-label{color:var(--text);font-size:12px;font-weight:700}.bw-ex-muscle{color:var(--text-muted);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.bw-ex-pr{background:color-mix(in srgb,#d4a017 12%,#0000);background:color-mix(in srgb,var(--ex-color,#d4a017) 12%,#0000);border-radius:99px;color:#d4a017;color:var(--ex-color,#d4a017);font-size:10px;font-weight:700;margin-top:2px;padding:2px 8px}.bw-log-card{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);display:flex;gap:14px;padding:14px 16px;transition:box-shadow .2s}.bw-log-card:hover{box-shadow:var(--shadow-md)}.bw-log-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.bw-log-body{flex:1 1;min-width:0}.bw-log-title{align-items:center;color:var(--text);font-size:16px;font-weight:700;gap:6px}.bw-log-sets,.bw-log-title{display:flex;flex-wrap:wrap;margin-bottom:6px}.bw-log-sets{gap:5px}.bw-set-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;font-weight:600;padding:3px 8px}.bw-log-meta{display:flex;flex-wrap:wrap;gap:6px}.bw-weight-badge{background:#d4a0171f;color:#d4a017}.bw-pr-badge,.bw-weight-badge{border-radius:99px;font-size:11px;font-weight:700;padding:2px 8px}.bw-pr-badge{background:#22c55e1f;color:#22c55e}.bw-analysis{display:flex;flex-direction:column;gap:20px;margin-top:4px}.bw-ex-picker{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;flex-wrap:wrap;gap:10px;padding:14px 16px}.bw-ex-picker-label{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.bw-ex-picker-chips{display:flex;flex-wrap:wrap;gap:6px}.bw-ex-chip{background:#0000;border:1.5px solid;border-radius:99px;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:all .15s}.bw-ex-chip:hover:not(.active){opacity:.8}.bw-pr-banner{align-items:center;background:color-mix(in srgb,#d4a017 8%,var(--surface));background:color-mix(in srgb,var(--ex-color,#d4a017) 8%,var(--surface));border:1.5px solid color-mix(in srgb,#d4a017 30%,#0000);border:1.5px solid color-mix(in srgb,var(--ex-color,#d4a017) 30%,#0000);border-radius:14px;display:flex;gap:14px;padding:16px 20px}.bw-pr-banner-trophy{align-items:center;background:color-mix(in srgb,#d4a017 15%,#0000);background:color-mix(in srgb,var(--ex-color,#d4a017) 15%,#0000);border-radius:10px;color:#d4a017;color:var(--ex-color,#d4a017);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.bw-pr-banner-text{flex:1 1}.bw-pr-banner-title{color:var(--text-muted);font-size:13px;font-weight:700;letter-spacing:.04em;margin-bottom:3px;text-transform:uppercase}.bw-pr-banner-val{color:var(--text);font-size:22px;font-weight:800}.bw-improve-badge{border-radius:12px;flex-shrink:0;font-size:20px;font-weight:800;padding:8px 16px;text-align:center}.bw-improve-badge.up{background:#22c55e1f;color:#22c55e}.bw-improve-badge.down{background:#ef44441f;color:#ef4444}.bw-improve-label{font-size:10px;font-weight:600;opacity:.8}.bw-history-table{display:flex;flex-direction:column;font-size:13px}.bw-history-head,.bw-history-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:90px 1fr 60px 60px;padding:8px 4px}.bw-history-head{border-bottom:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:2px;padding-bottom:10px;text-transform:uppercase}.bw-history-row{border-bottom:1px solid var(--border-subtle,var(--border));color:var(--text-secondary)}.bw-history-row:last-child{border-bottom:none}.bw-history-pr{background:#d4a0170f;border-radius:8px}.bw-history-reps{display:flex;flex-wrap:wrap;gap:4px}.bw-set-chip-sm{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;font-size:11px;font-weight:600;padding:1px 6px}.bw-pr-val{color:#d4a017;font-weight:800}.bw-modal{max-height:90vh;max-width:600px;overflow-y:auto}.bw-modal-ex-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.bw-modal-ex-btn{align-items:center;background:none;border:2px solid var(--border);border-radius:10px;color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font-size:10px;font-weight:600;gap:4px;padding:8px 6px;transition:all .15s}.bw-modal-ex-btn:hover:not(.active){border-color:#6366f1;border-color:var(--ex-color,#6366f1);color:#6366f1;color:var(--ex-color,#6366f1)}.bw-sets-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.bw-set-row{align-items:center;display:flex;gap:10px}.bw-set-num{color:var(--text-muted);font-size:13px;font-weight:700;min-width:46px}.bw-set-row input{flex:1 1}.bw-set-remove{align-items:center;background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:28px;justify-content:center;line-height:1;width:28px}.bw-set-remove:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.bw-add-set-btn{background:#6366f114;border:1.5px dashed #6366f14d;border-radius:10px;color:#6366f1;color:var(--primary,#6366f1);cursor:pointer;font-size:12px;font-weight:700;padding:7px 14px;transition:all .15s;width:100%}.bw-add-set-btn:hover{background:#6366f126}@media (max-width:640px){.bw-exercise-grid,.bw-modal-ex-grid{grid-template-columns:repeat(3,1fr)}.bw-history-head,.bw-history-row{font-size:11px;grid-template-columns:70px 1fr 48px 48px}.bw-pr-banner{flex-wrap:wrap}}.fdm-overlay{align-items:center;animation:fdm-fade-in .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#000000a6;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}@keyframes fdm-fade-in{0%{opacity:0}to{opacity:1}}.fdm-card{animation:fdm-slide-up .25s ease;background:#fff;background:var(--surface,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:20px;box-shadow:0 24px 60px #0003;max-height:90vh;max-width:560px;overflow-y:auto;padding:36px 40px 32px;width:100%}@keyframes fdm-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fdm-icon-wrap{align-items:center;background:#eab3081a;border:2px solid #eab3084d;border-radius:50%;color:#ca8a04;display:flex;height:56px;justify-content:center;margin:0 auto 20px;width:56px}.fdm-title{color:#111827;color:var(--text,#111827);font-size:20px;font-weight:900;letter-spacing:-.3px;margin:0 0 6px;text-align:center}.fdm-subtitle{color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:13px;font-weight:600;letter-spacing:.05em;margin:0 0 24px;text-align:center;text-transform:uppercase}.fdm-body{margin-bottom:24px}.fdm-highlight{background:#eab30814;border:1px solid #eab3084d;border-left:3px solid #ca8a04;border-radius:0 10px 10px 0;color:#111827;color:var(--text,#111827);font-size:14px;line-height:1.6;margin-bottom:20px;padding:14px 16px}.fdm-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0 0 20px;padding:0}.fdm-list li{align-items:flex-start;color:#4b5563;color:var(--text-2,#4b5563);display:flex;font-size:13px;gap:10px;line-height:1.6}.fdm-bullet{background:#ca8a04;border-radius:50%;flex-shrink:0;height:6px;margin-top:7px;width:6px}.fdm-full-terms{color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:12px;line-height:1.5;margin:0;text-align:center}.fdm-full-terms a{color:#16a34a;font-weight:600;text-decoration:none}.fdm-full-terms a:hover{text-decoration:underline}.fdm-check-row{align-items:flex-start;background:#f9fafb;background:var(--surface-2,#f9fafb);border:1.5px solid #e5e7eb;border:1.5px solid var(--border,#e5e7eb);border-radius:12px;cursor:pointer;display:flex;gap:12px;margin-bottom:20px;padding:14px 16px;transition:border-color .15s}.fdm-check-row:hover{border-color:#16a34a}.fdm-checkbox{accent-color:#16a34a;cursor:pointer;flex-shrink:0;height:18px;margin-top:1px;width:18px}.fdm-check-label{color:#374151;color:var(--text-2,#374151);cursor:pointer;font-size:13px;font-weight:500;line-height:1.6;-webkit-user-select:none;user-select:none}.fdm-btn{background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;letter-spacing:.2px;padding:14px;transition:opacity .15s,transform .1s;width:100%}.fdm-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.fdm-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}[data-theme=dark] .fdm-card{background:var(--surface);border-color:var(--border)}[data-theme=dark] .fdm-check-row{background:#ffffff0a;background:var(--surface-2,#ffffff0a);border-color:var(--border)}[data-theme=dark] .fdm-highlight{background:#eab3080f}@media (max-width:600px){.fdm-card{border-radius:16px;padding:28px 20px 24px}.fdm-title{font-size:18px}}.fa-panel{max-width:100%;padding:0}.fa-controls{align-items:center;gap:10px;justify-content:space-between;margin-bottom:16px}.fa-controls,.fa-range{display:flex;flex-wrap:wrap}.fa-range{gap:4px}.fa-range-btn{background:none;border:1.5px solid var(--border);border-radius:99px;color:var(--text-secondary);cursor:pointer;font-size:12.5px;font-weight:600;padding:6px 14px;transition:all .15s}.fa-range-btn.active,.fa-range-btn:hover{border-color:#22c55e;color:#22c55e}.fa-range-btn.active{background:#22c55e1a}.fa-chart-types{display:flex;gap:4px}.fa-chart-type-btn{align-items:center;background:none;border:1.5px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font-size:10px;font-weight:600;gap:2px;min-width:42px;padding:5px 9px;transition:all .15s}.fa-chart-type-btn.active,.fa-chart-type-btn:hover{border-color:#22c55e;color:#22c55e}.fa-chart-type-btn.active{background:#22c55e1a}.fa-focus-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.fa-focus-label{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.fa-focus-chip{border:1.5px solid;border-radius:99px;cursor:pointer;font-size:12px;font-weight:600;padding:5px 13px;transition:all .15s}.fa-focus-chip:hover{filter:brightness(1.1)}.fa-kpi-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-bottom:20px}.fa-kpi-card{background:var(--card-bg);border-left:3px solid #22c55e;border:1px solid var(--border);border-left:3px solid var(--kc,#22c55e);border-radius:12px;padding:14px 16px}.fa-kpi-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.fa-kpi-value{font-size:20px;font-weight:800;line-height:1.1;margin-bottom:4px}.fa-kpi-note{color:var(--text-muted);font-size:11px;font-weight:500}.fa-section{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;margin-bottom:28px;padding:18px 20px}.fa-section-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.fa-section-title{color:var(--text-primary);font-size:15px;font-weight:800}.fa-section-sub{font-weight:500}.fa-section-sub,.fa-subsection-title{color:var(--text-muted);font-size:12px}.fa-subsection-title{font-weight:700;letter-spacing:.04em;margin:16px 0 10px;text-transform:uppercase}.fa-chart-wrap{background:var(--card-bg);background:var(--surface,var(--card-bg));border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:12px 4px 8px}.fa-chart-sublabel{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.04em;padding-bottom:4px;text-align:center;text-transform:uppercase}.fa-legend-row{display:flex;flex-wrap:wrap;gap:10px;padding:4px 8px}.fa-legend-item{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;font-weight:600;gap:5px}.fa-legend-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.fa-sr-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.fa-sr-cell{min-width:52px;text-align:center}.fa-sr-badge{border-radius:99px;display:inline-block;font-size:11px;font-weight:700;margin-bottom:2px;padding:3px 8px}.fa-sr-badge.good{background:#22c55e26;color:#16a34a}.fa-sr-badge.warn{background:#d4a01726;color:#d4a017}.fa-sr-badge.poor{background:#ef444426;color:#dc2626}.fa-sr-badge.zero{background:#6b72801a;color:var(--text-muted)}.fa-sr-label{color:var(--text-muted);font-size:10px;font-weight:500}.fa-two-col{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:220px 1fr}.fa-two-col-chart,.fa-two-col-list{min-width:0}.fa-cat-list{display:flex;flex-direction:column;gap:7px}.fa-cat-row{grid-gap:6px;align-items:center;display:grid;font-size:12px;gap:6px;grid-template-columns:10px 1fr 80px 44px 38px}.fa-cat-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.fa-cat-name{color:var(--text-secondary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fa-cat-bar-wrap{background:var(--border);border-radius:99px;height:5px;overflow:hidden}.fa-cat-bar{border-radius:99px;height:100%;transition:width .4s}.fa-cat-val{color:var(--text-primary);font-weight:700;text-align:right}.fa-cat-pct{color:var(--text-muted);font-weight:500;text-align:right}.fa-asset-row{grid-gap:6px;align-items:center;display:grid;font-size:12px;gap:6px;grid-template-columns:10px 1fr 26px 64px 38px;padding:3px 0}.fa-asset-name{color:var(--text-secondary);font-weight:600;text-transform:capitalize}.fa-asset-count{color:var(--text-muted);font-size:10px;text-align:center}.fa-asset-val{color:var(--text-primary);font-weight:700;text-align:right}.fa-asset-pct{color:var(--text-muted);font-size:11px;text-align:right}.fa-balance-bar-wrap{margin-top:16px}.fa-balance-label{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.fa-balance-track{border-radius:8px;display:flex;height:28px;overflow:hidden;width:100%}.fa-balance-seg{align-items:center;display:flex;font-size:12px;font-weight:700;justify-content:center;min-width:0;transition:width .5s}.fa-balance-seg.assets{background:#22c55e33;color:#16a34a}.fa-balance-seg.liabilities{background:#ef444433;color:#dc2626}.fa-balance-legend{align-items:center;color:var(--text-muted);display:flex;font-size:11px;font-weight:600;gap:6px;margin-top:6px}.fa-balance-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:9px;width:9px}.fa-balance-dot.assets{background:#22c55e}.fa-balance-dot.liabilities{background:#ef4444}.fa-debt-list{display:flex;flex-direction:column;gap:10px}.fa-debt-card{background:#ffffff08;background:var(--surface,#ffffff08);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.fa-debt-card.paid{opacity:.5}.fa-debt-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.fa-debt-name{color:var(--text-primary);flex:1 1;font-size:13px;font-weight:700}.fa-debt-type{background:var(--border);color:var(--text-muted);font-weight:600;text-transform:uppercase}.fa-debt-paid-badge,.fa-debt-type{border-radius:4px;font-size:10px;padding:2px 7px}.fa-debt-paid-badge{background:#22c55e26;color:#22c55e;font-weight:800}.fa-debt-track-wrap{align-items:center;display:flex;gap:8px;margin-bottom:8px}.fa-debt-track{background:var(--border);border-radius:99px;flex:1 1;height:6px;overflow:hidden}.fa-debt-paid-bar{background:#22c55e;border-radius:99px;height:100%;transition:width .4s}.fa-debt-pct{color:var(--text-muted);font-size:11px;font-weight:600;white-space:nowrap}.fa-debt-stats{display:flex;flex-wrap:wrap;gap:12px}.fa-goals-list{display:flex;flex-direction:column;gap:12px}.fa-goal-card{background:#ffffff08;background:var(--surface,#ffffff08);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.fa-goal-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.fa-goal-name{color:var(--text-primary);flex:1 1;font-size:13px;font-weight:700}.fa-goal-done{background:#22c55e26;border-radius:4px;color:#22c55e;font-size:10px;font-weight:800;padding:2px 7px}.fa-goal-progress-wrap{align-items:center;display:flex;gap:8px;margin-bottom:8px}.fa-goal-track{background:var(--border);border-radius:99px;flex:1 1;height:8px;overflow:hidden}.fa-goal-bar{background:linear-gradient(90deg,#0ea5e9,#22c55e);border-radius:99px;height:100%;transition:width .5s}.fa-goal-pct{color:var(--text-primary);font-size:12px;font-weight:700;white-space:nowrap}.fa-goal-stats{display:flex;flex-wrap:wrap;gap:12px}.fa-stat-lbl{color:var(--text-muted);display:block;font-size:10px;font-weight:600;text-transform:uppercase}.fa-stat-val{color:var(--text-primary);display:block;font-size:13px;font-weight:700}.fa-health{border-left:3px solid #6366f1;border-left:3px solid var(--primary,#6366f1)}.fa-health-body{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px}.fa-health-score-wrap{min-width:80px;text-align:center}.fa-health-ring{align-items:center;background:#0000001a;border:5px solid #22c55e;border:5px solid var(--hc,#22c55e);border-radius:50%;display:inline-flex;flex-direction:column;height:80px;justify-content:center;margin-bottom:4px;width:80px}.fa-health-num{color:var(--text-primary);font-size:22px;font-weight:900;line-height:1}.fa-health-max{color:var(--text-muted);font-size:10px;font-weight:600}.fa-health-label{font-size:12px;font-weight:700}.fa-health-items{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0}.fa-health-item{grid-gap:8px;align-items:center;border-bottom:1px solid var(--border);display:grid;font-size:13px;gap:8px;grid-template-columns:10px 1fr auto;padding:6px 0}.fa-health-item:last-child{border-bottom:none}.fa-health-item-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.fa-health-item.good .fa-health-item-dot{background:#22c55e}.fa-health-item.warn .fa-health-item-dot{background:#d4a017}.fa-health-item.poor .fa-health-item-dot{background:#ef4444}.fa-health-item-label{color:var(--text-secondary);font-weight:600}.fa-health-item-val{color:var(--text-primary);font-weight:800}.fa-health-item.good .fa-health-item-val{color:#22c55e}.fa-health-item.warn .fa-health-item-val{color:#d4a017}.fa-health-item.poor .fa-health-item-val{color:#ef4444}.fa-upcoming{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.fa-upcoming-title{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.fa-upcoming-row{grid-gap:10px;align-items:center;border-bottom:1px solid var(--border);display:grid;font-size:12px;gap:10px;grid-template-columns:1fr auto auto;padding:6px 0}.fa-upcoming-row:last-child{border-bottom:none}.fa-upcoming-name{color:var(--text-primary);font-weight:600}.fa-upcoming-due{color:var(--text-muted);font-size:11px}.fa-upcoming-amt{color:#ef4444;font-weight:700}.fa-tooltip{background:#1e1e2e;background:var(--card-bg,#1e1e2e);border:1px solid var(--border);border-radius:8px;font-size:12px;min-width:140px;padding:10px 14px}.fa-tooltip-title{color:var(--text-primary);font-weight:700;margin-bottom:6px}.fa-tooltip-row{display:flex;font-weight:600;gap:12px;justify-content:space-between;margin-bottom:2px}.fa-loading{display:flex;justify-content:center;padding:56px 0}.fa-spinner{animation:fa-spin .7s linear infinite;border:3px solid var(--border);border-radius:50%;border-top:3px solid #22c55e;height:32px;width:32px}@keyframes fa-spin{to{transform:rotate(1turn)}}.fa-empty{font-size:14px;padding:40px 16px}.fa-empty,.fa-empty-sm{color:var(--text-muted);text-align:center}.fa-empty-sm{font-size:13px;padding:20px}.fa-nw-change{border-radius:99px;font-size:12px;font-weight:600;padding:2px 8px}.fa-nw-change.up{background:#22c55e1f;color:#22c55e}.fa-nw-change.down{background:#ef44441f;color:#ef4444}.fa-nw-mom-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.fa-nw-mom-cell{align-items:center;display:flex;flex-direction:column;gap:3px;min-width:58px}.fa-nw-mom-badge{border-radius:99px;font-size:11px;font-weight:700;padding:3px 8px;white-space:nowrap}.fa-nw-mom-badge.up{background:#22c55e21;color:#22c55e}.fa-nw-mom-badge.down{background:#ef444421;color:#ef4444}.fa-nw-mom-badge.neutral{background:#8b5cf61a;color:var(--text-secondary)}.fa-nw-mom-label{color:var(--text-muted);font-size:10px}@media (max-width:680px){.fa-controls{align-items:flex-start;flex-direction:column}.fa-chart-types{justify-content:space-between;width:100%}.fa-chart-type-btn{flex:1 1;min-width:0;padding:5px 2px}.fa-kpi-grid{grid-template-columns:1fr 1fr}.fa-two-col{grid-template-columns:1fr}.fa-two-col-chart{max-width:100%}.fa-section{padding:14px 12px}.fa-cat-row{grid-template-columns:10px 1fr 56px 36px}.fa-cat-row .fa-cat-bar-wrap{display:none}}.finance-heading-icon{align-items:center;color:#22c55e;display:inline-flex;margin-right:6px}.finance-tabs{background:var(--surface-2);border-radius:14px;display:flex;flex-wrap:wrap;gap:4px;margin-bottom:24px;padding:4px}.finance-tab{background:none;border:none;border-radius:10px;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;min-width:80px;padding:8px 12px;transition:all .2s;white-space:nowrap}.finance-tab.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--primary)}.finance-tab:hover:not(.active){color:var(--text)}.finance-networth-card{background:linear-gradient(135deg,#14532d,#052e16);border-radius:20px;box-shadow:0 8px 32px #052e1659;color:#fff;margin-bottom:28px;padding:28px}.finance-networth-card.negative{background:linear-gradient(135deg,#7f1d1d,#450a0a)}.finance-nw-label{color:#fff9;font-size:13px;font-weight:600;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.finance-nw-amount{font-size:42px;font-weight:900;line-height:1;margin-bottom:20px}@media(max-width:600px){.finance-nw-amount{font-size:32px}}.finance-nw-bar-wrap{background:#ffffff26;border-radius:3px;height:6px;margin-bottom:20px;overflow:hidden}.finance-nw-bar-fill{background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:3px;height:100%;transition:width .6s ease}.finance-nw-breakdown{align-items:center;display:flex;gap:0}.finance-nw-side{flex:1 1}.finance-nw-side.liabilities{text-align:right}.finance-nw-side-label{color:#ffffff80;display:block;font-size:12px;margin-bottom:2px}.finance-nw-side-value{font-size:18px;font-weight:700}.finance-nw-side.assets .finance-nw-side-value{color:#4ade80}.finance-nw-side.liabilities .finance-nw-side-value{color:#f87171}.finance-nw-divider{background:#ffffff26;flex-shrink:0;height:40px;margin:0 20px;width:1px}.finance-section-title{align-items:center;color:var(--text);display:flex;font-size:16px;font-weight:700;justify-content:space-between;margin-bottom:14px}.finance-add-btn{font-size:13px;padding:7px 14px}.finance-assets-list{display:flex;flex-direction:column;gap:10px}.finance-cat-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;gap:12px;padding:12px 16px}.finance-cat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.finance-cat-name{color:var(--text);flex:0 0 140px;font-size:14px;font-weight:600}@media(max-width:600px){.finance-cat-name{flex:1 1}}.finance-cat-bar-wrap{background:var(--surface-2);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.finance-cat-bar{border-radius:4px;height:100%;transition:width .5s ease}.finance-cat-value{color:var(--text);flex:0 0 120px;font-size:15px;font-weight:700;text-align:right}@media(max-width:600px){.finance-cat-bar-wrap,.finance-cat-value{display:none}}.finance-debts-list{display:flex;flex-direction:column;gap:8px}.finance-debt-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;gap:12px;padding:12px 16px}.finance-debt-icon{align-items:center;background:#ef44441a;border-radius:8px;color:#ef4444;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.finance-debt-name{color:var(--text);flex:1 1;font-size:14px;font-weight:600}.finance-debt-type{background:var(--surface-2);border-radius:20px;color:var(--text-muted);font-size:12px;padding:2px 8px;text-transform:capitalize}.finance-debt-balance{color:#ef4444;font-size:15px;font-weight:700}.finance-quick-links{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.finance-ql-btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;padding:14px 16px;text-align:left;transition:all .2s}.finance-ql-btn:hover{border-color:var(--ql-color);box-shadow:var(--shadow-md);transform:translateY(-1px)}.finance-ql-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.finance-ql-btn svg:last-child{color:var(--text-muted);margin-left:auto}.finance-tab-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.finance-tab-total{color:var(--text);font-size:28px;font-weight:900}.finance-tab-sublabel{color:var(--text-muted);font-size:13px}.finance-asset-table{display:flex;flex-direction:column;gap:16px}.finance-asset-group{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.finance-asset-group-header{align-items:center;background:var(--surface-2);border-bottom:1px solid var(--border);display:flex;gap:10px;padding:14px 16px}.finance-cat-icon.sm{border-radius:8px;height:28px;width:28px}.finance-asset-group-name{color:var(--text);flex:1 1;font-size:14px;font-weight:700}.finance-asset-group-total{color:var(--text);font-size:16px;font-weight:800}.finance-asset-row{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:12px 16px}.finance-asset-row:last-child{border-bottom:none}.finance-asset-name{align-items:center;color:var(--text);display:flex;flex:1 1;flex-wrap:wrap;font-size:14px;gap:8px}.finance-asset-inst{background:var(--surface-2);color:var(--text-muted)}.finance-asset-inst,.finance-asset-member{border-radius:20px;font-size:12px;padding:2px 8px}.finance-asset-member{background:#6366f114;background:rgba(var(--primary-rgb,99,102,241),.08);color:var(--primary)}.finance-asset-date{color:var(--text-muted);flex:0 0 90px;font-size:12px}.finance-asset-value{color:var(--text);flex:0 0 120px;font-size:15px;font-weight:700;text-align:right}.finance-asset-value-wrap{flex:0 0 130px;text-align:right}.finance-asset-equity{color:#22c55e;font-size:15px;font-weight:800}.finance-asset-market-val{color:var(--text-muted);font-size:11px;margin-top:1px}.finance-equity-badge{background:#ef444414;border:1px solid #ef444433;border-radius:20px;color:#ef4444;font-size:11px;font-weight:600;padding:2px 8px}.finance-depreciation-badge{background:#d4a01714;border:1px solid #d4a01733;border-radius:20px;color:#d4a017;font-size:11px;font-weight:600;padding:2px 8px}.finance-equity-hint{background:#22c55e14;border-radius:8px;color:#22c55e;display:block;font-size:12px;font-weight:600;margin-top:6px;padding:6px 10px}.finance-depreciation-presets{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.finance-depreciation-hint-label{color:var(--text-muted);font-size:12px;font-weight:500}.finance-depreciation-preset-btn{background:var(--surface);border:1.5px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600;padding:4px 10px;transition:all .15s}.finance-depreciation-preset-btn.active,.finance-depreciation-preset-btn:hover{background:#d4a01714;border-color:#d4a017;color:#d4a017}.finance-depreciation-preview{background:#d4a01714;border-radius:8px;color:#d4a017;display:block;font-size:12px;font-weight:600;margin-top:6px;padding:6px 10px}.finance-asset-actions{display:flex;gap:4px}.finance-cat-pills{display:flex;flex-wrap:wrap;gap:8px}.finance-cat-pill{align-items:center;background:none;border:2px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px;transition:all .15s}.finance-cat-pill:hover:not(.active){border-color:var(--primary);color:var(--primary)}.finance-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:12px;padding:60px 20px;text-align:center}.finance-empty p{font-size:15px;margin:0;max-width:380px}.finance-loading{display:flex;justify-content:center;padding:60px 0}.finance-spinner{animation:fin-spin .7s linear infinite;border:3px solid var(--border);border-radius:50%;border-top:3px solid #22c55e;height:40px;width:40px}@keyframes fin-spin{to{transform:rotate(1turn)}}.finance-charts-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:28px}.finance-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:16px;padding:16px 16px 12px}.finance-chart-card.finance-chart-full{width:100%}.finance-chart-title{color:var(--text-muted);font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.finance-nw-trend-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:20px;margin-top:12px;padding:16px 20px 14px}.finance-nw-trend-title{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.6px;margin-bottom:10px;text-transform:uppercase}.finance-savings-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.finance-savings-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;gap:16px;padding:12px 16px}.finance-savings-info{flex:1 1;min-width:0}.finance-savings-name{color:var(--text-1);font-size:14px;font-weight:700;margin-bottom:3px}.finance-savings-amounts{align-items:center;display:flex;flex-wrap:wrap;font-size:12px;gap:3px}.finance-savings-saved{color:#22c55e;font-weight:700}.finance-savings-date,.finance-savings-sep,.finance-savings-target{color:var(--text-muted)}.finance-savings-date{background:var(--surface-alt);border-radius:20px;font-size:11px;margin-left:4px;padding:1px 7px}.finance-savings-progress-wrap{align-items:center;display:flex;flex-shrink:0;gap:8px}.finance-savings-progress-bar{background:var(--border);border-radius:99px;height:6px;overflow:hidden;width:80px}.finance-savings-progress-fill{background:#22c55e;border-radius:99px;height:100%;transition:width .3s}.finance-savings-pct{color:#22c55e;font-size:12px;font-weight:700;min-width:32px;text-align:right}.finance-liab-empty{background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text-muted);font-size:14px;font-weight:500;padding:20px;text-align:center}.finance-debt-info{flex:1 1;min-width:0}.finance-debt-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}.finance-debt-type-badge{background:var(--surface-alt);border-radius:20px;color:var(--text-muted);font-size:11px;font-weight:600;padding:1px 8px;text-transform:capitalize}.finance-debt-rate{color:#ef4444;font-size:11px;font-weight:600}.finance-debt-lender{color:var(--text-muted);font-size:11px}.finance-debt-total-row{align-items:center;border-top:1px solid var(--border);color:var(--text-1);display:flex;font-size:13px;font-weight:700;justify-content:space-between;margin-top:4px;padding:10px 12px}.finance-debt-total-val{color:#ef4444}.finance-kpi-strip{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:28px}.finance-kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:16px 20px;position:relative}.finance-kpi-card:before{border-radius:14px 14px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.finance-kpi-card.assets:before{background:#22c55e}.finance-kpi-card.net:before{background:#16a34a}.finance-kpi-card.liab:before{background:#ef4444}.finance-kpi-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.finance-kpi-value{font-feature-settings:"tnum";color:var(--text);font-size:22px;font-variant-numeric:tabular-nums;font-weight:900;line-height:1.1}.finance-kpi-value.pos{color:#22c55e}.finance-kpi-value.neg{color:#ef4444}.finance-kpi-sub{color:var(--text-muted);font-size:11px}@media(max-width:600px){.finance-kpi-strip{grid-template-columns:1fr 1fr}.finance-kpi-card.net{grid-column:1/-1}.finance-kpi-value{font-size:18px}}.finance-refresh-btn{align-items:center;background:none;border:1.5px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px;transition:all .15s;white-space:nowrap}.finance-refresh-btn:hover{border-color:#16a34a;color:#16a34a}.finance-refresh-btn:disabled{cursor:not-allowed;opacity:.5}.finance-refresh-btn svg{transition:transform .5s}.finance-refresh-btn.spinning svg{animation:fin-spin .8s linear infinite}.finance-live-badge{align-items:center;background:#22c55e1a;border:1px solid #22c55e40;border-radius:20px;color:#16a34a;display:inline-flex;font-size:10px;font-weight:700;gap:3px;letter-spacing:.04em;padding:1px 6px;text-transform:uppercase;vertical-align:middle}.finance-live-badge:before{animation:live-pulse 1.5s ease-in-out infinite;background:#22c55e;border-radius:50%;content:"";height:5px;width:5px}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.3}}.finance-asset-symbol{background:#16a34a1a;border:1px solid #16a34a40;border-radius:4px;color:#16a34a;font-family:monospace;font-size:10px;font-weight:700;letter-spacing:.04em;padding:1px 6px}.finance-nw-footer{align-items:center;border-top:1px solid #ffffff1a;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:20px;padding-top:16px}.finance-nw-updated{align-items:center;color:#fff6;display:flex;font-size:11px;gap:5px}.finance-nw-refresh-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fffc;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:6px 12px;transition:background .15s;white-space:nowrap}.finance-nw-refresh-btn:hover{background:#ffffff2e}.finance-nw-refresh-btn:disabled{cursor:not-allowed;opacity:.5}.finance-nw-refresh-btn svg{transition:transform .3s}.finance-nw-refresh-btn.spinning svg{animation:fin-spin .8s linear infinite}.finance-symbol-hint{color:var(--text-muted);display:block;font-size:11px;margin-top:4px}.finance-section-divider{background:var(--border);height:1px;margin:28px 0}.finance-disclaimer-strip{align-items:flex-start;background:#eab3080f;border:1px solid #eab30833;border-radius:10px;color:#6b7280;color:var(--text-muted,#6b7280);display:flex;font-size:12px;gap:8px;line-height:1.6;margin-top:32px;padding:12px 16px}.finance-disclaimer-strip svg{color:#ca8a04;flex-shrink:0}.finance-disclaimer-strip a{color:#16a34a;font-weight:600;text-decoration:none}.finance-disclaimer-strip a:hover{text-decoration:underline}.finance-value-btn{background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:right}.finance-value-btn:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.finance-hist-modal{max-height:90vh;max-width:580px!important;overflow-y:auto}.finance-hist-trend-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.finance-hist-trend-badge{align-items:center;border:1.5px solid;border-radius:99px;display:inline-flex;font-size:12.5px;font-weight:700;padding:4px 12px;white-space:nowrap}.finance-hist-chart-wrap{background:var(--surface);background:var(--card-bg,var(--surface));border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:12px 4px 8px}.finance-hist-legend{border-top:1px solid var(--border);display:flex;font-size:11.5px;font-weight:600;gap:16px;justify-content:center;margin-top:6px;padding-top:6px}.finance-hist-no-data{border:1px dashed var(--border);border-radius:12px;color:var(--text-muted);font-size:13.5px;margin-bottom:20px;padding:28px 16px;text-align:center}.finance-hist-log-section{margin-bottom:20px}.finance-hist-log-title{color:var(--text-secondary);font-size:13px;font-weight:700;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.finance-hist-table-wrap{margin-top:4px}.finance-hist-table{border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.finance-hist-table-header{background:var(--hover-bg);background:var(--surface-alt,var(--hover-bg));color:var(--text-muted);font-size:11.5px;font-weight:700;letter-spacing:.04em;padding:8px 12px;text-transform:uppercase}.finance-hist-table-header,.finance-hist-table-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:110px 1fr 1fr 32px}.finance-hist-table-row{align-items:center;border-top:1px solid var(--border);font-size:13px;padding:10px 12px}.finance-hist-table-row:hover{background:var(--hover-bg)}.finance-hist-date{color:var(--text-muted);font-size:12px}.finance-hist-val{color:var(--text-primary);font-weight:700}.finance-hist-notes{color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:480px){.finance-hist-modal{max-width:100%!important}.finance-hist-table-header,.finance-hist-table-row{grid-template-columns:95px 1fr 1fr 28px}}.admin-page{max-width:1200px}.admin-badge{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:20px;color:#fff;display:inline-flex;font-size:11px;font-weight:800;letter-spacing:.05em;padding:4px 12px;text-transform:uppercase}.admin-alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;font-weight:700;line-height:1;margin-left:10px;padding:0 4px}.admin-tabs{background:var(--surface-2);background:var(--surface-alt,var(--surface-2));border-radius:12px;display:flex;flex-wrap:nowrap;gap:4px;margin-bottom:24px;overflow-x:auto;padding:4px}.admin-tab{background:none;border:none;border-radius:9px;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:600;padding:8px 16px;transition:all .15s;white-space:nowrap}.admin-tab:hover{color:var(--text-1)}.admin-tab.active{background:var(--surface);box-shadow:0 1px 4px #00000014;color:var(--primary)}.admin-section-title{color:var(--text-1);font-size:14px;font-weight:700;margin-bottom:14px}.admin-overview{display:flex;flex-direction:column;gap:20px}.admin-stats-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.admin-stat-card{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;gap:14px;padding:18px 16px;transition:box-shadow .15s,transform .15s}.admin-stat-card-link{cursor:pointer}.admin-stat-card-link:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-1px)}.admin-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.admin-stat-body{flex:1 1;min-width:0}.admin-stat-value{color:var(--text-1);font-size:28px;font-weight:900;line-height:1;margin-bottom:4px}.admin-stat-label{color:var(--text-1);font-size:13px;font-weight:600}.admin-stat-sub{color:var(--text-muted);font-size:11px;margin-top:2px}.admin-overview-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 320px}.admin-activity-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.admin-activity-list{display:flex;flex-direction:column;gap:0}.admin-activity-row{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:10px 0}.admin-activity-row:last-child{border-bottom:none}.admin-activity-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.admin-activity-body{flex:1 1;min-width:0}.admin-activity-label{color:var(--text-1);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-activity-meta{color:var(--text-muted);font-size:11px;margin-top:1px}.admin-activity-time{color:var(--text-muted);flex-shrink:0;font-size:11px;white-space:nowrap}.admin-right-col{background:var(--surface);border:1px solid var(--border);border-radius:14px;gap:0;padding:20px}.admin-quick-nav,.admin-right-col{display:flex;flex-direction:column}.admin-quick-nav{gap:6px}.admin-quick-btn{align-items:center;background:var(--hover-bg);background:var(--surface-alt,var(--hover-bg));border:1px solid var(--border);border-radius:9px;color:var(--text-1);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;padding:9px 14px;text-align:left;transition:all .14s}.admin-quick-btn:hover{background:#00c85312;background:var(--primary-light,#00c85312);border-color:var(--primary);color:var(--primary)}.admin-warning-banner{align-items:center;background:#d4a0171a;border:1px solid #d4a0174d;border-radius:10px;color:#b45309;display:flex;font-size:13px;font-weight:600;gap:8px;padding:10px 14px}[data-theme=dark] .admin-warning-banner{background:#d4a0171f;border-color:#d4a01740;color:#d4a017}.admin-analytics{display:flex;flex-direction:column;gap:16px}.admin-analytics-row{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 280px}.admin-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.admin-chart-card-grow{flex:1 1}.admin-chart-header{margin-bottom:16px}.admin-chart-title{color:var(--text-1);font-size:15px;font-weight:700}.admin-chart-sub{color:var(--text-muted);font-size:12px;margin-top:2px}.admin-chart-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 16px #0000001a;font-size:12px;padding:10px 14px}.admin-chart-tooltip-label{color:var(--text-1);font-weight:700;margin-bottom:6px}.admin-chart-tooltip-row{display:flex;font-weight:600;gap:16px;justify-content:space-between}.admin-plan-dist-card,.admin-plan-dist-list{display:flex;flex-direction:column}.admin-plan-dist-list{gap:14px;margin-top:4px}.admin-plan-dist-row{align-items:center;display:flex;gap:10px}.admin-plan-dist-label{align-items:center;color:var(--text-1);display:flex;flex-shrink:0;font-size:13px;font-weight:600;gap:7px;width:90px}.admin-plan-dist-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.admin-plan-dist-bar-wrap{background:var(--hover-bg);border-radius:99px;flex:1 1;height:8px;overflow:hidden}.admin-plan-dist-bar{border-radius:99px;height:100%;min-width:3px;transition:width .5s ease}.admin-plan-dist-count{flex-shrink:0;font-size:15px;font-weight:800;text-align:right;width:28px}.admin-plan-dist-total{border-top:1px solid var(--border);color:var(--text-muted);font-size:12px;margin-top:16px;padding-top:12px}.admin-feature-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.admin-feature-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:14px 12px;text-align:center}.admin-feature-dot{border-radius:50%;height:10px;margin-bottom:4px;width:10px}.admin-feature-count{color:var(--text-1);font-size:22px;font-weight:900;line-height:1}.admin-feature-name{color:var(--text-muted);font-size:11px;font-weight:600}.admin-section{display:flex;flex-direction:column;gap:16px}.admin-search-bar{align-items:center;display:flex;gap:8px}.admin-search{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;color:var(--text-1);flex:1 1;font-family:inherit;font-size:13px;padding:9px 14px;transition:border-color .15s}.admin-search:focus{border-color:var(--primary);outline:none}.admin-filter-select{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;color:var(--text-1);cursor:pointer;font-family:inherit;font-size:13px;padding:9px 12px}.admin-loading{align-items:center;color:var(--text-muted);display:flex;font-size:13px;gap:10px;justify-content:center;padding:40px 0}.admin-spinner{animation:admin-spin .7s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--primary);flex-shrink:0;height:18px;width:18px}@keyframes admin-spin{to{transform:rotate(1turn)}}.admin-empty{color:var(--text-muted);font-size:14px;padding:40px 0;text-align:center}.admin-table-wrap{border:1px solid var(--border);border-radius:12px;overflow-x:auto}.admin-table{border-collapse:collapse;font-size:13px;width:100%}.admin-table thead th{background:var(--surface-2);background:var(--surface-alt,var(--surface-2));border-bottom:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.05em;padding:11px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-table tbody td{border-bottom:1px solid var(--border);color:var(--text-1);padding:12px 14px;vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover td{background:var(--surface-2);background:var(--hover-bg,var(--surface-2))}.admin-row-suspended td{opacity:.55}.admin-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:800;height:32px;justify-content:center;width:32px}.admin-avatar-family{background:linear-gradient(135deg,#d4a017,#ef4444);border-radius:8px}.admin-family-name,.admin-user-cell{align-items:center;display:flex;gap:10px}.admin-user-name{align-items:center;display:flex;font-weight:600;gap:5px}.admin-email{font-size:12px}.admin-email,.admin-muted{color:var(--text-muted)}.admin-tag{border-radius:20px;font-size:10px;font-weight:800;letter-spacing:.03em;padding:2px 7px}.admin-tag-admin{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.admin-tag-you{background:var(--surface-alt);border:1px solid var(--border);color:var(--text-muted)}.admin-status-badge{border-radius:20px;font-size:11px;font-weight:700;padding:3px 9px}.admin-status-badge.active{background:#22c55e1f;color:#16a34a}.admin-status-badge.suspended{background:#ef44441f;color:#dc2626}[data-theme=dark] .admin-status-badge.active{background:#22c55e2e;color:#4ade80}[data-theme=dark] .admin-status-badge.suspended{background:#ef44442e;color:#f87171}.admin-plan-badge{border-radius:20px;font-size:11px;font-weight:700;padding:3px 10px}.admin-action-row{display:flex;flex-wrap:wrap;gap:6px}.admin-suspend-btn{border:1.5px solid;border-radius:7px;cursor:pointer;font-size:12px;font-weight:700;padding:5px 11px;transition:all .14s}.admin-suspend-btn.suspend{background:#0000;border-color:#dc2626;color:#dc2626}.admin-suspend-btn.suspend:hover{background:#dc262614}.admin-suspend-btn.unsuspend{background:#0000;border-color:#22c55e;color:#16a34a}.admin-suspend-btn.unsuspend:hover{background:#22c55e14}.admin-suspend-btn:disabled{cursor:not-allowed;opacity:.45}.admin-action-btn{background:#0000;border:1.5px solid var(--border);border-radius:7px;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:700;padding:5px 11px;transition:all .14s}.admin-action-btn:hover{background:#00c85312;background:var(--primary-light,#00c85312)}.admin-action-btn.primary,.admin-action-btn:hover{border-color:var(--primary);color:var(--primary)}.admin-action-btn.primary:hover{background:#00c85312;background:var(--primary-light,#00c85312)}.admin-action-btn.danger{border-color:#dc2626;color:#dc2626}.admin-action-btn.danger:hover{background:#dc262612}.admin-action-btn:disabled{cursor:not-allowed;opacity:.45}.admin-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.admin-modal{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 60px #0000002e;max-width:440px;overflow:hidden;width:100%}.admin-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:18px 20px 14px}.admin-modal-title{color:var(--text-1);font-size:16px;font-weight:700}.admin-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;transition:background .13s,color .13s}.admin-modal-close:hover{background:var(--hover-bg);color:var(--text-1)}.admin-modal-body{display:flex;flex-direction:column;gap:16px;padding:18px 20px}.admin-modal-field{display:flex;flex-direction:column;gap:6px}.admin-modal-field label{color:var(--text-1);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.admin-modal-optional{color:var(--text-muted);font-size:11px;font-weight:400;letter-spacing:0;text-transform:none}.admin-modal-input{background:var(--bg);border:1.5px solid var(--border);border-radius:9px;color:var(--text-1);font-family:inherit;font-size:14px;padding:9px 12px;transition:border-color .14s}.admin-modal-input:focus{border-color:var(--primary);outline:none}.admin-plan-options{display:flex;gap:8px}.admin-plan-option{background:none;border:2px solid var(--border);border-radius:10px;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:13px;font-weight:700;padding:10px 8px;transition:all .14s}.admin-plan-option.selected{background:var(--primary-light);background:var(--pb,var(--primary-light));border-color:var(--pc,var(--primary));color:var(--primary);color:var(--pc,var(--primary))}.admin-plan-option:hover:not(.selected){background:var(--hover-bg);border-color:var(--border);color:var(--text-1)}.admin-modal-footer{border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;padding:14px 20px 18px}.admin-tickets-list{display:flex;flex-direction:column;gap:12px}.admin-ticket-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:8px;padding:16px 18px}.admin-ticket-top{align-items:center;display:flex;gap:8px}.admin-ticket-type{border-radius:20px;font-size:11px;font-weight:800;padding:3px 9px}.admin-ticket-type.bug{background:#ef44441f;color:#dc2626}.admin-ticket-type.feature{background:#7c3aed1f;color:#7c3aed}[data-theme=dark] .admin-ticket-type.bug{background:#ef44442e;color:#f87171}[data-theme=dark] .admin-ticket-type.feature{background:#7c3aed2e;color:#c4b5fd}.admin-priority{border-radius:20px;font-size:11px;font-weight:700;padding:2px 8px;text-transform:capitalize}.admin-priority-low{background:#86efac33;border:1px solid #86efac;color:#16a34a}.admin-priority-medium{background:#d4a01733;border:1px solid #d4a017;color:#b45309}.admin-priority-high{background:#7c3aed33;border:1px solid #7c3aed;color:#c2410c}.admin-priority-critical{background:#f8717133;border:1px solid #f87171;color:#dc2626}.admin-ticket-date{color:var(--text-muted);font-size:11px;margin-left:auto}.admin-ticket-title{color:var(--text-1);font-size:14px;font-weight:700}.admin-ticket-desc{color:var(--text-muted);font-size:12px;line-height:1.5;-webkit-mask-image:linear-gradient(180deg,#000 60%,#0000);mask-image:linear-gradient(180deg,#000 60%,#0000);max-height:80px;overflow:hidden;white-space:pre-wrap}.admin-ticket-footer{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding-top:8px}.admin-ticket-from{align-items:center;color:var(--text-muted);display:flex;font-size:11px;gap:5px}.admin-ticket-status-row{display:flex;flex-wrap:wrap;gap:4px}.admin-ticket-status-btn{background:var(--surface);border:1.5px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:700;padding:4px 10px;transition:all .14s}.admin-ticket-status-btn.active,.admin-ticket-status-btn:hover:not(:disabled){border-color:var(--status-color);color:var(--status-color)}.admin-ticket-status-btn.active{background:color-mix(in srgb,var(--status-color) 12%,#0000)}.admin-ticket-status-btn:disabled{cursor:not-allowed;opacity:.45}.admin-settings{display:flex;flex-direction:column;gap:20px}.admin-settings-section{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px 22px}.admin-settings-title{border-bottom:1px solid var(--border);color:var(--text-1);font-size:15px;font-weight:700;margin-bottom:16px;padding-bottom:10px}.admin-settings-title.danger{color:#dc2626}.admin-settings-desc{color:var(--text-muted);font-size:13px;line-height:1.55;margin-bottom:14px}.admin-settings-grid{display:flex;flex-direction:column;gap:0}.admin-settings-row{align-items:center;border-bottom:1px solid var(--border);color:var(--text-1);display:flex;font-size:14px;gap:12px;justify-content:space-between;padding:10px 0}.admin-settings-row:last-child{border-bottom:none}.admin-settings-row span{color:var(--text-muted)}.admin-settings-row strong{font-weight:700;text-align:right}.admin-plan-legend{display:flex;flex-direction:column;gap:10px}.admin-plan-legend-row{align-items:center;display:flex;gap:12px}.admin-ext-links{display:flex;flex-wrap:wrap;gap:10px}.admin-ext-link{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;color:var(--text-1);display:inline-flex;font-size:13px;font-weight:600;gap:7px;padding:9px 16px;text-decoration:none;transition:all .14s}.admin-ext-link:hover{background:#00c85312;background:var(--primary-light,#00c85312);border-color:var(--primary);color:var(--primary)}.admin-danger-zone{border-color:#dc26264d}.admin-danger-actions{display:flex;flex-direction:column;gap:12px}.admin-danger-row{align-items:center;background:#ef44440d;border:1px solid #ef444426;border-radius:10px;display:flex;gap:20px;justify-content:space-between;padding:14px}.admin-danger-label{color:var(--text-1);font-size:14px;font-weight:700;margin-bottom:4px}.admin-danger-btn{background:#0000;border:1.5px solid #dc2626;border-radius:9px;color:#dc2626;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:8px 18px;transition:all .14s;white-space:nowrap}.admin-danger-btn:hover{background:#dc262614}@media (max-width:1024px){.admin-analytics-row{grid-template-columns:1fr}.admin-plan-dist-card{order:-1}}@media (max-width:900px){.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.admin-overview-grid{grid-template-columns:1fr}}@media (max-width:600px){.admin-stats-grid{grid-template-columns:1fr 1fr}.admin-stat-value{font-size:22px}.admin-danger-row,.admin-ticket-footer{align-items:flex-start;flex-direction:column}.admin-feature-grid{grid-template-columns:repeat(3,1fr)}}.reading-heading-icon{align-items:center;color:#6366f1;display:inline-flex;margin-right:6px}.reading-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}@media(max-width:768px){.reading-stats{grid-template-columns:repeat(2,1fr)}}.reading-stat-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);display:flex;gap:12px;padding:16px}.reading-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.reading-stat-num{color:var(--text);font-size:20px;font-weight:800;line-height:1}.reading-stat-label{color:var(--text-muted);font-size:12px;font-weight:500;margin-top:2px}.reading-loading{display:flex;justify-content:center;padding:60px 0}.reading-spinner{animation:rp-spin .7s linear infinite;border:3px solid var(--border);border-radius:50%;border-top:3px solid #6366f1;height:40px;width:40px}@keyframes rp-spin{to{transform:rotate(1turn)}}.reading-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:12px;padding:60px 20px;text-align:center}.reading-empty p{font-size:15px;margin:0}.reading-log-list{display:flex;flex-direction:column;gap:10px}.reading-log-card{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);display:flex;gap:12px;padding:14px 16px}.reading-log-icon{align-items:center;background:#6366f11a;border-radius:10px;color:#6366f1;display:flex;flex-shrink:0;height:36px;justify-content:center;margin-top:2px;width:36px}.reading-log-body{flex:1 1;min-width:0}.reading-log-title{color:var(--text);font-size:15px;font-weight:700;margin-bottom:2px}.reading-log-author{color:var(--text-muted);font-size:12px;margin-bottom:6px}.reading-log-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.reading-log-date{color:var(--text-muted);font-size:12px}.reading-pill{background:#94a3b81a;background:var(--surface-alt,#94a3b81a);border:1px solid var(--border);border-radius:20px;color:var(--text-muted);font-size:11px;font-weight:600;padding:2px 8px}.reading-pill.reading-member{background:#6366f114;border-color:#6366f133;color:var(--primary)}.reading-log-notes{color:var(--text-muted);font-size:12px;font-style:italic;margin-top:4px}.reading-log-actions{display:flex;flex-shrink:0;gap:4px}.reading-progress-wrap{align-items:center;display:flex;gap:8px;margin-top:6px}.reading-progress-bar{background:var(--border);border-radius:99px;flex:1 1;height:5px;overflow:hidden}.reading-progress-fill{background:#6366f1;border-radius:99px;height:100%;transition:width .3s}.reading-progress-pct{color:#6366f1;font-size:11px;font-weight:700;white-space:nowrap}.reading-books-list{display:flex;flex-direction:column;gap:10px}.reading-book-row{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:10px 0}.reading-book-row:last-child{border-bottom:none}.reading-book-info{flex:1 1;min-width:0}.reading-book-title{color:var(--text);font-size:14px;font-weight:600}.reading-book-author{color:var(--text-muted);font-size:12px}.reading-book-stats{display:flex;flex-shrink:0;flex-wrap:wrap;gap:5px}.an-panel{max-width:100%;padding:0}.an-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.an-range{display:flex;gap:4px}.an-range-btn{background:none;border:1.5px solid var(--border);border-radius:99px;color:var(--text-secondary);cursor:pointer;font-size:12.5px;font-weight:600;padding:6px 14px;transition:border-color .15s,color .15s,background .15s}.an-range-btn.active,.an-range-btn:hover{border-color:var(--primary);color:var(--primary)}.an-range-btn.active{background:#6366f11a}.an-chart-types{display:flex;flex-shrink:0;gap:4px}.an-chart-type-btn{align-items:center;background:none;border:1.5px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font-size:10px;font-weight:600;gap:3px;letter-spacing:.02em;line-height:1;min-width:44px;padding:6px 10px;transition:border-color .15s,color .15s,background .15s}.an-chart-type-btn.active,.an-chart-type-btn:hover{border-color:var(--primary);color:var(--primary)}.an-chart-type-btn.active{background:#6366f11a}.an-chart-mode-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.03em;padding-bottom:4px;text-align:center;text-transform:uppercase}.an-range-btn--month{border-style:dashed}.an-range-btn--month.active{background:#6366f126;border-style:solid}.an-month-row{align-items:center;background:#6366f10f;border:1px solid #6366f12e;border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:12px 14px}.an-month-chips{display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.an-month-chip{background:#0000;border:1.5px solid var(--border);border-radius:99px;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600;padding:5px 11px;transition:all .15s;white-space:nowrap}.an-month-chip:hover{border-color:var(--primary);color:var(--primary)}.an-month-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.an-month-actions{display:flex;flex-shrink:0;gap:4px}.an-month-action-btn{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:700;padding:4px 10px;transition:background .12s,color .12s}.an-month-action-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.an-monthly-header{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;margin-bottom:12px}.an-monthly-badge{color:var(--text-primary);font-size:13px;font-weight:700}.an-monthly-hint{color:var(--text-muted);font-size:11.5px;font-style:italic}.an-insight-best-month{color:var(--text-muted);font-size:11px;font-weight:600;margin-top:4px;padding-top:4px}.an-series-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.an-series-label{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.an-series-chip{border:1.5px solid;border-radius:99px;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;transition:background .15s,border-color .15s,color .15s}.an-series-chip:hover{filter:brightness(1.08)}.an-chart-wrap{background:var(--surface);background:var(--card-bg,var(--surface));border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:12px 4px 8px}.an-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:0 4px}.an-legend-item{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;font-weight:600;gap:5px}.an-legend-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.an-insights{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:16px}.an-insight-card{background:var(--card-bg);border-left:3px solid #6366f1;border:1px solid var(--border);border-left:3px solid var(--ins-color,#6366f1);border-radius:12px;padding:14px 16px}.an-insight-header{align-items:center;color:var(--text-primary);display:flex;font-size:13px;font-weight:700;gap:8px;margin-bottom:10px}.an-insight-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.an-insight-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.an-insight-stat{text-align:center}.an-insight-val{color:var(--text-primary);display:block;font-size:16px;font-weight:800}.an-insight-lbl{color:var(--text-muted);display:block;font-size:10.5px;font-weight:500;margin-top:2px}.an-insight-trend{border-top:1px solid var(--border);font-size:12px;font-weight:600;margin-top:6px;padding-top:6px}.an-trend-up{color:#22c55e}.an-trend-down{color:#ef4444}.an-trend-flat{color:var(--text-muted)}.an-correlation{align-items:flex-start;background:#d4a01714;border:1px solid #d4a01740;border-radius:10px;color:var(--text-secondary);display:flex;font-size:13px;gap:8px;line-height:1.5;margin-bottom:16px;padding:12px 16px}.an-correlation-icon{color:#d4a017;flex-shrink:0;font-size:15px;font-weight:700;margin-top:1px}.an-breakdown{margin-bottom:20px;margin-top:4px}.an-breakdown-title{color:var(--text-secondary);font-size:12.5px;font-weight:700;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.an-loading{display:flex;justify-content:center;padding:48px 0}.an-spinner{animation:an-spin .7s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:32px;width:32px}@keyframes an-spin{to{transform:rotate(1turn)}}.an-empty{color:var(--text-muted);font-size:14px;padding:48px 16px;text-align:center}@media (max-width:640px){.an-controls{align-items:flex-start;flex-direction:column;gap:10px}.an-chart-types{justify-content:space-between;width:100%}.an-chart-type-btn{flex:1 1;min-width:0;padding:6px 4px}}@media (max-width:600px){.an-month-row{padding:10px}.an-monthly-header{align-items:flex-start;flex-direction:column}.an-insights{grid-template-columns:1fr 1fr}.an-insight-stats{grid-template-columns:repeat(3,1fr)}.an-chart-wrap{padding:8px 0}}.at-tab-icon{align-items:center;display:inline-flex;flex-shrink:0;margin-right:5px;opacity:.85}.at-active-banner{align-items:center;border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);display:flex;flex-wrap:wrap;font-size:13.5px;font-weight:500;gap:10px;margin-bottom:16px;padding:10px 14px}.at-active-banner svg{flex-shrink:0}.at-water-hero{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;display:flex;flex-direction:column;gap:14px;margin-bottom:20px;padding:20px}.at-water-amounts{align-items:baseline;display:flex;gap:8px}.at-water-current{font-size:28px;font-weight:700;line-height:1}.at-water-goal{color:var(--text-muted);font-size:14px;font-weight:500}.at-water-bar-track{background:var(--hover-bg);border-radius:99px;flex:1 1;height:10px;overflow:hidden}.at-water-bar-fill{background:linear-gradient(90deg,#38bdf8,#0ea5e9);border-radius:99px;height:100%;min-width:4px;transition:width .4s ease}.at-water-pct{color:var(--text-muted);font-size:12.5px;font-weight:500}.at-water-goal-met{color:#0ea5e9;font-weight:700}.at-water-quick{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));margin-bottom:8px}.at-water-quick-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-size:13px;gap:4px;padding:14px 8px;transition:background .15s,border-color .15s,transform .1s}.at-water-quick-btn:hover{background:#0ea5e912;border-color:#0ea5e959;transform:translateY(-1px)}.at-water-quick-btn:active{transform:translateY(0)}.at-water-quick-ml{color:#0ea5e9;font-size:13px;font-weight:600}.at-water-quick-sub{font-size:11px}.at-water-custom,.at-water-quick-sub{color:var(--text-muted)}.at-water-custom .at-water-quick-ml{color:var(--text-secondary)}.at-workout-types{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.at-workout-chip{align-items:center;border:1px solid #0000;border-radius:99px;cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;padding:6px 14px;transition:filter .15s,transform .1s;white-space:nowrap}.at-workout-chip:hover{filter:brightness(1.1);transform:translateY(-1px)}.at-workout-chip:active{transform:translateY(0)}.at-study-start{margin-bottom:8px}.at-study-subject-row{align-items:center;display:flex;gap:12px;margin-bottom:14px}.at-study-subject-label{color:var(--text-secondary);font-size:13px;font-weight:600;min-width:52px;white-space:nowrap}.at-study-subject-select{background:var(--card-bg);background:var(--input-bg,var(--card-bg));border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);flex:1 1;font-size:13.5px;max-width:260px;padding:7px 10px}.at-meds-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.at-med-card{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:14px 16px;transition:border-color .15s}.at-med-card:hover{border-color:#d4a01759}.at-med-info{flex:1 1;min-width:0}.at-med-name{color:var(--text-primary);font-size:14.5px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.at-med-meta{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.at-med-last{color:var(--text-muted);font-size:12px}.at-med-log-btn{align-items:center;background:#22c55e1a;border:1px solid #22c55e40;border-radius:8px;color:#16a34a;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:12.5px;font-weight:600;gap:5px;padding:7px 14px;transition:background .15s,border-color .15s;white-space:nowrap}.at-med-log-btn:hover{background:#22c55e2e;border-color:#22c55e73}.at-visit-subtabs{display:flex;gap:8px;margin-bottom:4px}.at-visit-subtab{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:500;gap:6px;padding:7px 16px;transition:background .15s,border-color .15s,color .15s}.at-visit-subtab:hover{background:var(--hover-bg)}.at-visit-subtab.active{background:#6366f11a;border-color:#6366f166;color:#6366f1;font-weight:600}.at-workout-subtabs{display:flex;gap:8px;margin-bottom:16px}.at-workout-subtab{align-items:center;background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-2);cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:500;gap:6px;padding:7px 18px;transition:background .15s,border-color .15s,color .15s}.at-workout-subtab:hover{background:var(--primary-light);border-color:#00c8534d;color:var(--primary-dark)}.at-workout-subtab.active{background:var(--primary-light2);border-color:var(--primary);color:var(--primary-dark);font-weight:600}.at-next-visit{align-items:center;color:var(--text-muted);display:inline-flex;font-size:11.5px;font-weight:500;gap:5px;margin-top:6px}.at-duration-preview{background:var(--hover-bg);border-radius:6px;color:var(--text-muted);font-size:13px;margin:-4px 0 12px;padding:6px 10px}.at-duration-preview strong{color:#6366f1}.at-quality-pills{display:flex;flex-wrap:wrap;gap:8px}.at-quality-pill{background:var(--card-bg);border:1px solid var(--border-color);border-radius:99px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:background .15s,border-color .15s,color .15s}.at-quality-pill:hover{background:var(--hover-bg)}.at-quality-pill.active{background:#6366f11f;border-color:#6366f173;color:#6366f1;font-weight:600}@media (max-width:600px){.at-water-quick{grid-template-columns:repeat(3,1fr)}.at-water-current{font-size:22px}.at-study-subject-row{align-items:flex-start;flex-direction:column}.at-study-subject-select{max-width:100%;width:100%}.at-med-card{align-items:flex-start;flex-direction:column}.at-med-log-btn{justify-content:center;width:100%}.at-visit-subtabs{width:100%}.at-visit-subtab{flex:1 1;justify-content:center}.at-quality-pills{gap:6px}.at-quality-pill{font-size:12px;padding:5px 11px}}.obj-page-wide{max-width:none;padding-left:28px;padding-right:28px}.obj-summary{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:0;margin-bottom:20px;padding:14px 0}.obj-sum-item,.obj-summary{align-items:center;display:flex}.obj-sum-item{flex:1 1;flex-direction:column;gap:2px}.obj-sum-val{color:var(--text);font-size:1.5rem;font-weight:700;line-height:1}.obj-sum-label{color:var(--text-muted);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.obj-sum-divider{background:var(--border);flex-shrink:0;height:36px;width:1px}.obj-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:18px}.obj-tabs{background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;gap:4px;padding:3px}.obj-tab{background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:.8rem;font-weight:500;padding:5px 14px;transition:all .15s;white-space:nowrap}.obj-tab:hover{background:var(--bg);color:var(--text)}.obj-tab.on{background:var(--primary);color:#fff}.obj-chips{display:flex;gap:8px}.obj-chip-select{appearance:none;background:var(--surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid var(--border);border-radius:7px;color:var(--text);cursor:pointer;font-size:.8rem;padding:6px 28px 6px 10px;transition:border-color .15s}.obj-chip-select:focus{border-color:var(--primary);outline:none}.obj-list{display:flex;flex-direction:column;gap:10px}.obj-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;transition:box-shadow .15s,border-color .15s}.obj-card:hover{box-shadow:0 2px 12px #0000000f}.obj-card.is-done{opacity:.55}.obj-card.is-crit{border-left:3px solid var(--danger)}.obj-card.obj-dragging{box-shadow:0 8px 24px #0000001f;cursor:grabbing;opacity:.4}.obj-card-top{align-items:flex-start;display:flex;gap:12px}.obj-drag-handle{align-items:center;border-radius:4px;color:var(--border);cursor:grab;display:flex;flex-shrink:0;height:22px;justify-content:center;margin-top:1px;transition:color .15s;width:22px}.obj-card:hover .obj-drag-handle{color:var(--text-muted)}.obj-drag-handle:active{color:var(--primary);cursor:grabbing}.obj-check{align-items:center;background:none;border:2px solid var(--border);border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:22px;justify-content:center;margin-top:2px;transition:all .15s;width:22px}.obj-check.checked,.obj-check:hover{border-color:var(--primary)}.obj-check.checked{background:var(--primary)}.obj-title-block{flex:1 1;min-width:0}.obj-title-row{align-items:center;display:flex;gap:6px;margin-bottom:2px}.obj-title{color:var(--text);font-size:.95rem;font-weight:600;line-height:1.3}.is-done .obj-title{color:var(--text-muted);text-decoration:line-through}.obj-lock-icon{align-items:center;color:var(--text-muted);display:flex;flex-shrink:0}.obj-desc{color:var(--text-muted);font-size:.8rem;line-height:1.4;margin:2px 0 5px}.obj-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.obj-cat{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-size:.72rem;font-weight:500;padding:1px 6px;text-transform:capitalize}.obj-meta-sep{background:var(--border);flex-shrink:0;height:12px;width:1px}.obj-due{color:var(--text-muted);font-size:.72rem;font-weight:500}.obj-due.urgent{color:var(--danger);font-weight:600}.obj-card-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:8px}.obj-card-actions{display:flex;gap:2px}.obj-icon-btn{align-items:center;background:none;border:1px solid #0000;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s;width:28px}.obj-icon-btn:hover{background:var(--bg);border-color:var(--border);color:var(--text)}.obj-icon-btn.del:hover{background:#ef44440f;border-color:var(--danger);color:var(--danger)}.obj-icon-btn.expand svg{transition:transform .2s}.obj-icon-btn.expand.open svg{transform:rotate(180deg)}.obj-pri-dots{align-items:center;display:inline-flex;gap:3px}.obj-dot{background:var(--border);border-radius:50%;display:inline-block;height:7px;transition:background .15s;width:7px}.obj-pri-dots .obj-dot.on{background:var(--primary)}.obj-pri-dots.crit .obj-dot.on{background:var(--danger)}.obj-pri-label{color:var(--text-muted);font-size:.7rem;font-weight:500;margin-left:3px}.obj-diff-bars{align-items:flex-end;display:inline-flex;gap:2px}.obj-bar{background:var(--border);border-radius:1px;display:inline-block;transition:background .15s;width:4px}.obj-bar.on{background:var(--primary)}.obj-diff-label{color:var(--text-muted);font-size:.7rem;font-weight:500;margin-left:3px}.obj-av,.obj-member-strip{align-items:center;display:flex}.obj-av{background:var(--primary);border:2px solid var(--surface);border-radius:50%;color:#fff;flex-shrink:0;font-size:.62rem;font-weight:700;justify-content:center;letter-spacing:.02em;margin-left:-6px}.obj-member-strip .obj-av:first-child{margin-left:0}.obj-av-more{background:var(--border);color:var(--text-muted);font-size:.6rem}.obj-progress-row{align-items:center;display:flex;gap:8px;margin-top:10px}.obj-progress-bg{background:var(--bg);border:1px solid var(--border);border-radius:2px;flex:1 1;height:4px;overflow:hidden}.obj-progress-fg{background:var(--primary);border-radius:2px;height:100%;min-width:2px;transition:width .3s ease}.obj-progress-label{color:var(--text-muted);font-size:.7rem;white-space:nowrap}.obj-progress-pct{color:var(--primary);font-size:.7rem;font-weight:600;min-width:30px;text-align:right;white-space:nowrap}.obj-smart-strip{display:flex;gap:4px;margin-top:8px}.obj-smart-pip{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);display:flex;font-size:.62rem;font-weight:700;height:18px;justify-content:center;letter-spacing:0;width:18px}.obj-smart-pip.on{background:var(--primary);border-color:var(--primary);color:#fff}.obj-expanded{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:16px;margin-top:14px;padding-top:14px}.obj-panel-label{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.07em;margin:0 0 8px;text-transform:uppercase}.obj-smart-list{display:flex;flex-direction:column;gap:8px}.obj-smart-row{align-items:flex-start;display:flex;gap:10px}.obj-smart-badge{align-items:center;background:var(--primary);border-radius:6px;color:#fff;display:flex;flex-shrink:0;font-size:.7rem;font-weight:800;height:22px;justify-content:center;margin-top:1px;width:22px}.obj-smart-row-label{color:var(--text-muted);display:block;font-size:.75rem;font-weight:600;margin-bottom:2px}.obj-smart-row-val{color:var(--text);font-size:.83rem;line-height:1.45;margin:0}.obj-steps-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.obj-steps-head .obj-panel-label{align-items:center;display:flex;gap:6px;margin:0}.obj-steps-count{letter-spacing:0;text-transform:none}.obj-add-step,.obj-steps-count{color:var(--primary);font-weight:500}.obj-add-step{align-items:center;background:none;border:1px solid var(--primary);border-radius:6px;cursor:pointer;display:flex;font-size:.75rem;gap:4px;padding:3px 9px;transition:background .15s}.obj-add-step:hover{background:#00c85312}.obj-no-steps{color:var(--text-muted);font-size:.8rem;font-style:italic;margin:0}.obj-step-list{gap:2px}.obj-step-group,.obj-step-list{display:flex;flex-direction:column}.obj-step-group-sub{border-left:2px solid var(--border);margin-left:20px;margin-top:2px;padding-left:10px}.obj-sub-steps{display:flex;flex-direction:column;gap:0;margin-top:2px}.obj-step{align-items:center;border-radius:7px;display:flex;gap:10px;padding:6px 8px;transition:background .12s}.obj-step:hover{background:var(--bg)}.obj-step.done .obj-step-text{color:var(--text-muted);text-decoration:line-through}.obj-step-check{align-items:center;background:none;border:1.5px solid var(--border);border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all .15s;width:18px}.obj-step-check.checked,.obj-step-check:hover{border-color:var(--primary)}.obj-step-check.checked{background:var(--primary)}.obj-step-text{color:var(--text);flex:1 1;font-size:.83rem}.obj-step-check.sm{border-width:1.5px;height:15px;width:15px}.obj-step-edit-input{background:var(--bg);border:1.5px solid var(--primary);border-radius:5px;color:var(--text);flex:1 1;font-size:.83rem;min-width:0;outline:none;padding:2px 8px}.obj-step-actions{gap:1px;margin-left:auto}.obj-step-actions,.obj-step-btn{align-items:center;display:flex;flex-shrink:0}.obj-step-btn{background:none;border:none;border-radius:4px;color:var(--border);cursor:pointer;height:22px;justify-content:center;transition:color .13s,background .13s;width:22px}.obj-step-btn:hover:not(:disabled){background:var(--bg);color:var(--text)}.obj-step-btn:disabled{cursor:default;opacity:.25}.obj-step-btn.del:hover{background:#ef444412;color:var(--danger)}.obj-add-substep-link{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;font-size:.72rem;font-weight:500;gap:4px;margin-bottom:4px;margin-left:28px;margin-top:1px;padding:0;transition:color .15s}.obj-add-substep-link:hover{color:var(--primary)}.obj-step-new-sub{border-left:2px solid var(--border);margin-left:20px;padding-left:10px}.obj-step-new{align-items:center;display:flex;gap:8px;padding:4px 8px}.obj-step-new-dot{background:var(--border);border-radius:50%;flex-shrink:0;height:6px;width:6px}.obj-step-new-input{background:var(--bg);border:1px solid var(--border);border-radius:7px;color:var(--text);flex:1 1;font-size:.83rem;outline:none;padding:5px 10px;transition:border-color .15s}.obj-step-new-input:focus{border-color:var(--primary)}.obj-step-new-add{background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:600;padding:4px 10px;transition:opacity .15s}.obj-step-new-add:disabled{cursor:not-allowed;opacity:.45}.obj-step-new-cancel{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;height:24px;justify-content:center;width:24px}.obj-step-new-cancel:hover{color:var(--danger)}.obj-state{color:var(--text-muted);font-size:.9rem;padding:48px 24px;text-align:center}.obj-empty-state{align-items:center;display:flex;flex-direction:column;padding:56px 24px;text-align:center}.obj-empty-icon{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:50%;color:var(--text-muted);display:flex;height:72px;justify-content:center;margin-bottom:16px;width:72px}.obj-empty-title{color:var(--text);font-size:1rem;font-weight:600;margin:0 0 6px}.obj-empty-sub{color:var(--text-muted);font-size:.83rem;line-height:1.5;margin:0;max-width:340px}.obj-modal{max-height:90vh;max-width:580px;overflow-y:auto}.obj-seg{display:flex;flex-wrap:wrap;gap:4px}.obj-seg-btn{background:var(--bg);border:1px solid var(--border);border-radius:7px;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:.78rem;font-weight:500;min-width:0;padding:6px 10px;transition:all .15s;white-space:nowrap}.obj-seg-btn:hover{border-color:var(--primary);color:var(--text)}.obj-seg-btn.on{background:var(--primary);border-color:var(--primary);color:#fff}.obj-vis{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.obj-vis-opt{align-items:flex-start;background:var(--bg);border:1.5px solid var(--border);border-radius:9px;color:var(--text);cursor:pointer;display:flex;gap:10px;padding:10px 12px;text-align:left;transition:all .15s}.obj-vis-opt.on,.obj-vis-opt:hover{border-color:var(--primary)}.obj-vis-opt.on{background:#00c8530f}.obj-vis-opt>svg{color:var(--text-muted);flex-shrink:0;margin-top:2px}.obj-vis-opt.on>svg{color:var(--primary)}.obj-vis-opt strong{color:var(--text);display:block;font-size:.82rem;font-weight:600;line-height:1;margin-bottom:2px}.obj-vis-opt small{color:var(--text-muted);font-size:.72rem;font-weight:400}.obj-member-grid{display:flex;flex-wrap:wrap;gap:8px}.obj-member-tile{align-items:center;background:var(--bg);border:1.5px solid var(--border);border-radius:9px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:58px;padding:8px 10px 6px;position:relative;transition:all .15s}.obj-member-tile.on,.obj-member-tile:hover{border-color:var(--primary)}.obj-member-tile.on{background:#00c8530f}.obj-member-tile-av{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-size:.7rem;font-weight:700;height:32px;justify-content:center;width:32px}.obj-member-tile>span{color:var(--text-muted);font-size:.72rem;font-weight:500;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obj-member-tile.on>span{color:var(--primary)}.obj-member-tile-check{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;height:14px;justify-content:center;position:absolute;right:4px;top:4px;width:14px}.obj-smart-toggle{align-items:center;background:none;border:1.5px dashed var(--border);border-radius:9px;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;text-align:left;transition:border-color .15s,background .15s;width:100%}.obj-smart-toggle:hover{background:#00c8530a;border-color:var(--primary)}.obj-smart-toggle-left{align-items:center;display:flex;gap:10px}.obj-spills{display:flex;gap:2px}.obj-spill{align-items:center;background:var(--primary);border-radius:5px;color:#fff;display:flex;font-size:.65rem;font-weight:800;height:20px;justify-content:center;letter-spacing:0;width:20px}.obj-spill-sm{border-radius:4px;font-size:.58rem;height:16px;width:16px}.obj-smart-toggle-label{color:var(--text);font-size:.83rem;font-weight:600}.obj-smart-toggle-sub{color:var(--text-muted);font-size:.78rem;font-weight:400}.obj-smart-chev{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.obj-smart-chev.open{transform:rotate(180deg)}.obj-smart-fields{background:var(--bg);border:1px solid var(--border);border-radius:9px;display:flex;flex-direction:column;gap:2px;padding:14px 14px 6px}@media (max-width:640px){.obj-page-wide{padding-left:16px;padding-right:16px}.obj-controls{align-items:stretch}.obj-chips,.obj-controls{flex-direction:column}.obj-chip-select{width:100%}.obj-card-right{align-items:center;flex-direction:row}.obj-vis{grid-template-columns:1fr}.obj-seg{gap:3px}.obj-seg-btn{font-size:.73rem;padding:5px 6px}.obj-sum-val{font-size:1.2rem}.obj-modal{border-radius:14px 14px 0 0;max-height:95vh}}.legal-page{background:#f9fafb;background:var(--bg,#f9fafb);color:#111827;color:var(--text,#111827);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:40px 20px 80px}.legal-theme-toggle{position:fixed;right:16px;top:16px;z-index:10}.legal-container{margin:0 auto;max-width:720px}.legal-header{margin-bottom:40px}.legal-back{align-items:center;background:none;border:1.5px solid #e5e7eb;border:1.5px solid var(--border,#e5e7eb);border-radius:8px;color:#4b5563;color:var(--text-2,#4b5563);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin-bottom:28px;padding:6px 14px;transition:all .15s}.legal-back:hover{border-color:#00c853;color:#00c853}.legal-logo-row{align-items:center;display:flex;gap:10px;margin-bottom:20px}.legal-logo{border-radius:8px;height:36px;object-fit:contain;width:36px}.legal-brand{color:#00c853;font-family:Cooper BT,Cooper Black,Paytone One,serif;font-size:22px;font-weight:400}.legal-header h1{color:#111827;color:var(--text,#111827);font-size:32px;font-weight:900;letter-spacing:-.5px;margin:0 0 8px}.legal-updated{color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:13px;margin:0}.legal-body{background:#fff;background:var(--surface,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:16px;line-height:1.7;margin-bottom:32px;padding:40px 44px}.legal-intro{background:linear-gradient(135deg,#00c85314,#00897b0f);border-left:3px solid #00c853;border-radius:0 8px 8px 0;color:#4b5563;color:var(--text-2,#4b5563);font-size:15px;margin:0 0 32px;padding:14px 18px}.legal-body section{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--border,#f3f4f6);margin-bottom:32px;padding-bottom:32px}.legal-body section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.legal-body h2{color:#111827;color:var(--text,#111827);font-size:17px;font-weight:800;margin:0 0 12px}.legal-body h3{color:#374151;color:var(--text,#374151);font-size:14px;font-weight:700;margin:16px 0 8px}.legal-body p{color:#4b5563;color:var(--text-2,#4b5563);font-size:14px;margin:0 0 12px}.legal-body p:last-child{margin-bottom:0}.legal-body ul{color:#4b5563;color:var(--text-2,#4b5563);font-size:14px;margin:0 0 12px;padding-left:20px}.legal-body ul li{margin-bottom:6px}.legal-body a{color:#00c853;font-weight:600;text-decoration:none}.legal-body a:hover{text-decoration:underline}.legal-footer{align-items:center;display:flex;font-size:13px;gap:12px;justify-content:center}.legal-footer a{color:#9ca3af;color:var(--text-muted,#9ca3af);font-weight:500;text-decoration:none;transition:color .15s}.legal-footer a:hover{color:#00c853}.legal-footer span{color:#d1d5db;color:var(--border,#d1d5db)}[data-theme=dark] .legal-page{background:var(--bg)}[data-theme=dark] .legal-body{background:var(--surface);border-color:var(--border)}[data-theme=dark] .legal-body h2,[data-theme=dark] .legal-body h3,[data-theme=dark] .legal-header h1{color:var(--text)}[data-theme=dark] .legal-body p,[data-theme=dark] .legal-body ul,[data-theme=dark] .legal-intro{color:var(--text-2)}@media (max-width:600px){.legal-body{padding:24px 20px}.legal-header h1{font-size:26px}}.legal-body section.legal-financial-section{background:#eab3080a;border:1.5px solid #eab30840;border-radius:12px;margin-bottom:32px;padding:28px 28px 24px}.legal-body section.legal-financial-section h2{align-items:center;color:#6d28d9;display:flex;gap:8px}[data-theme=dark] .legal-body section.legal-financial-section{background:#eab30808;border-color:#eab3082e}[data-theme=dark] .legal-body section.legal-financial-section h2{color:#d4a017}.paywall-page{align-items:center;background:#f9fafb;background:var(--bg,#f9fafb);display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem}.paywall-container{background:#fff;background:var(--surface,#fff);border-radius:20px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;gap:1.5rem;max-width:480px;padding:2.5rem 2rem;width:100%}.paywall-header{text-align:center}.paywall-logo{color:#00c853;color:var(--primary,#00c853);font-size:1.4rem;font-weight:800;letter-spacing:-.5px;margin-bottom:.75rem}.paywall-title{color:#111827;color:var(--text,#111827);font-size:1.6rem;font-weight:700;line-height:1.25;margin:0 0 .5rem}.paywall-subtitle{color:#6b7280;color:var(--text-muted,#6b7280);font-size:.95rem;margin:0}.paywall-plans{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.paywall-plan{align-items:center;background:#fff;background:var(--surface,#fff);border:2px solid #e5e7eb;border:2px solid var(--border,#e5e7eb);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;padding:1.1rem .75rem;position:relative;transition:border-color .15s,box-shadow .15s}.paywall-plan--selected,.paywall-plan:hover{border-color:#00c853;border-color:var(--primary,#00c853)}.paywall-plan--selected{box-shadow:0 0 0 3px #00c85326}.paywall-plan__badge{background:#00c853;background:var(--primary,#00c853);border-radius:99px;color:#fff;font-size:.7rem;font-weight:700;left:50%;letter-spacing:.5px;padding:.15rem .6rem;position:absolute;top:-10px;transform:translateX(-50%);white-space:nowrap}.paywall-plan__label{color:#6b7280;color:var(--text-muted,#6b7280);font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.paywall-plan__price{color:#111827;color:var(--text,#111827);font-size:1.6rem;font-weight:800;line-height:1}.paywall-plan__period{color:#6b7280;color:var(--text-muted,#6b7280);font-size:.75rem}.paywall-plan__note{color:#00c853;color:var(--primary,#00c853);font-size:.75rem;font-weight:700;margin-top:.2rem}.paywall-features{display:flex;flex-direction:column;gap:.55rem;list-style:none;margin:0;padding:0}.paywall-feature{align-items:center;color:#111827;color:var(--text,#111827);display:flex;font-size:.9rem;gap:.65rem}.paywall-feature__icon{flex-shrink:0;height:20px;width:20px}.paywall-error{background:#ffebee;border:1px solid #ef9a9a;border-radius:8px;color:#c62828;font-size:.875rem;padding:.75rem 1rem}[data-theme=dark] .paywall-error{background:#3b1212;border-color:#7c2626;color:#ef9a9a}.paywall-cta{background:#00c853;background:var(--primary,#00c853);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.9rem;transition:opacity .15s,transform .1s;width:100%}.paywall-cta:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.paywall-cta:disabled{cursor:not-allowed;opacity:.6}.paywall-fine{color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:.75rem;margin:-.75rem 0 0;text-align:center}.paywall-back{background:none;border:none;color:#6b7280;color:var(--text-muted,#6b7280);cursor:pointer;font-size:.875rem;padding:0;text-align:center;text-decoration:underline}.paywall-back:hover{color:#111827;color:var(--text,#111827)}[data-theme=dark] .paywall-container{background:#1e1e2e;background:var(--surface,#1e1e2e);box-shadow:0 8px 32px #0006}[data-theme=dark] .paywall-plan{background:#252535;border-color:#2d2d3d}[data-theme=dark] .paywall-plan--selected{border-color:#00c853;border-color:var(--primary,#00c853)}@media (max-width:480px){.paywall-container{border-radius:16px;padding:2rem 1.25rem}.paywall-title{font-size:1.4rem}}
/*# sourceMappingURL=main.cbaa3452.css.map*/