:root{--primary:#00c853;--primary-dark:#00a846;--primary-deeper:#00897b;--primary-light:#00c8531f;--gradient:linear-gradient(135deg,#00c853,#00897b);--gradient-hover:linear-gradient(135deg,#00e676,#00c853);--bg:#f5f7fa;--surface:#fff;--surface-2:#f8f9fc;--surface-3:#f0f2f8;--text:#1a1a2e;--text-2:#555;--text-muted:#999;--text-light:#bbb;--border:#e0e4ee;--border-focus:#00c853;--shadow-sm:0 2px 8px #00000012;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #00000024;--shadow-primary:0 4px 16px #00c8534d;--success:#51cf66;--warning:#f39c12;--danger:#e53e3e;--info:#3b82f6}[data-theme=dark]{--bg:#0d0f18;--surface:#161926;--surface-2:#1e2235;--surface-3:#252a40;--text:#e8eaf6;--text-2:#9ea8c8;--text-muted:#6b7494;--text-light:#434868;--border:#252a40;--border-focus:#00c853;--shadow-sm:0 2px 8px #00000059;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 8px 32px #0000008c;--shadow-primary:0 4px 16px #00c85340}*{box-sizing:border-box;margin:0;padding:0}html{transition:background-color .25s,color .25s}body,html{max-width:100%;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,select,textarea{font-family:inherit}.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;width:48px}.btn-icon img,.icon-xl{object-fit:contain;vertical-align:middle}.btn-icon img{height:16px;width:16px}.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:#f4f7f5;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.auth-form-panel,.auth-split{display:flex;min-height:100vh;width:100%}.auth-form-panel{align-items:center;background:#f4f7f5;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:0 4px 24px #0000001a}.auth-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:420px;padding:40px;width:100%}.auth-box h1{font-size:36px}.auth-box h1,.auth-box h2{color:#333;margin:0 0 10px;text-align:center}.auth-box h2{font-size:24px;font-weight:600}.subtitle{color:#666;font-size:14px;margin:0 0 6px;text-align:center}.auth-tagline{color:#00c853;font-size:12px;font-weight:600;letter-spacing:.06em;margin:0 0 28px;opacity:.85;text-align:center;text-transform:uppercase}[data-theme=dark] .auth-tagline{color:var(--primary)}.form-group{margin-bottom:20px}.form-group label{color:#333;font-size:14px;margin-bottom:8px}.form-group input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#00c853;box-shadow:0 0 0 3px #00c8531f;outline:none}.form-row{grid-gap:15px;gap:15px}.btn-primary{font-size:16px;margin-top:10px;padding:12px;width:100%}.btn-primary:hover:not(:disabled){box-shadow:0 5px 20px #00c85359;transform:translateY(-2px)}.btn-primary:disabled{opacity:.7}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;margin:15px 0;padding:12px}.auth-link{color:#666;font-size:14px;margin-top:20px;text-align:center}.auth-link a{color:#00c853;font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}@media (max-width:600px){.auth-box{padding:30px 20px}.form-row{grid-template-columns:1fr}}[data-theme=dark] .auth-container{background:linear-gradient(135deg,#0d1f14,#0a1a18)}[data-theme=dark] .auth-box{background:var(--surface);box-shadow:var(--shadow-lg)}[data-theme=dark] .auth-box h1,[data-theme=dark] .auth-box h2{color:var(--text)}[data-theme=dark] .subtitle{color:var(--text-2)}[data-theme=dark] .form-group input{background:var(--surface-2);border-color:var(--border);color:var(--text)}[data-theme=dark] .form-group input::placeholder{color:var(--text-muted)}[data-theme=dark] .auth-link{color:var(--text-2)}[data-theme=dark] .auth-link a{color:var(--primary)}.auth-terms-row{align-items:flex-start;color:#4b5563;display:flex;font-size:13px;gap:9px;line-height:1.5;margin:4px 0 16px}.auth-terms-row input[type=checkbox]{accent-color:#00c853;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:#00c853;font-weight:600;text-decoration:none}.auth-terms-row a:hover{text-decoration:underline}[data-theme=dark] .auth-terms-row{color:var(--text-2)}[data-theme=dark] .auth-terms-row a{color:var(--primary)}.auth-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.auth-label-row label{margin-bottom:0}.auth-forgot-link{color:#00c853;font-size:12px;font-weight:600;text-decoration:none}.auth-forgot-link:hover{text-decoration:underline}[data-theme=dark] .auth-forgot-link{color:var(--primary)}.auth-success-box{padding:8px 0;text-align:center}.auth-success-icon{font-size:40px;margin-bottom:12px}.auth-success-box h3{color:#111827;font-size:18px;font-weight:700;margin:0 0 10px}.auth-success-box p{color:#6b7280;font-size:14px;line-height:1.6;margin:0}[data-theme=dark] .auth-success-box h3{color:var(--text)}[data-theme=dark] .auth-success-box p{color:var(--text-2)}.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:-.02em;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}[data-theme=dark] .auth-form-panel{background:#0f1117}[data-theme=dark] .auth-form-panel .auth-box{background:var(--surface)}.auth-bug-link{margin-top:12px;text-align:center}.auth-bug-btn{background:none;border:none;color:#999;cursor:pointer;font-family:inherit;font-size:12px;padding:4px 0;text-decoration:underline;text-underline-offset:2px;transition:color .2s}.auth-bug-btn:hover{color:#e53e3e}.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:#999;cursor:pointer;display:flex;font-family:inherit;padding:4px;position:absolute;right:10px;transition:color .2s}.pw-toggle:hover{color:#555}.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:#2d9e5f}.input-status-icon.invalid{color:#e53e3e}input.input-valid{border-color:#2d9e5f!important}input.input-invalid{border-color:#e53e3e!important}.field-hint{font-size:11px;font-style:italic;margin:4px 0 0}.field-hint.error{color:#e53e3e}.verify-box{text-align:center}.verify-icon{font-size:48px;margin-bottom:12px}.verify-email-highlight{color:#00c853;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:#888;font-size:13px;margin-top:16px;text-align:center}[data-theme=dark] .pw-toggle{color:#666}[data-theme=dark] .pw-toggle:hover{color:#bbb}.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:#f39c12}.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:240px;overflow-x:hidden;overflow-y:auto;position:sticky;top:0;transition:transform .25s ease;width:240px;z-index:200}.sidebar-logo-wrap{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:20px 18px 16px}.sidebar-logo{border-radius:8px;height:36px;object-fit:contain;width:36px}.sidebar-brand{color:var(--primary);font-family:Cooper BT,CooperBT,Cooper Black,Paytone One,serif;font-size:20px;font-weight:400;letter-spacing:.2px}.sidebar-family-badge{border-bottom:1px solid var(--border);padding:10px 18px 8px}.sidebar-family-name{color:var(--text-muted);display:block;font-size:12px;font-weight:700;letter-spacing:.6px;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:10px}.sidebar-nav-item{align-items:center;border-radius:8px;color:var(--text-2);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:9px 12px;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.sidebar-nav-item.active,.sidebar-nav-item:hover{background:var(--primary-light);color:var(--primary)}.sidebar-nav-item.active{border-left:3px solid var(--primary);font-weight:700;padding-left:9px}.sidebar-nav-icon{filter:brightness(0) invert(.5);flex-shrink:0;height:20px;object-fit:contain;transition:filter .15s;width:20px}.sidebar-nav-emoji{align-items:center;display:flex;flex-shrink:0;font-size:16px;height:20px;justify-content:center;line-height:1;width:20px}.sidebar-nav-item.active .sidebar-nav-icon,.sidebar-nav-item:hover .sidebar-nav-icon{filter:invert(51%) sepia(97%) saturate(450%) hue-rotate(95deg) brightness(95%) contrast(101%)}.sidebar-nav-label{flex:1 1}.sidebar-footer{border-top:1px solid var(--border);display:none;flex-direction:column;gap:8px;padding:12px 12px 14px}.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:13px;font-weight:700;height:34px;justify-content:center;width:34px}.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:7px;color:var(--text-2);cursor:pointer;font-size:13px;font-weight:600;padding:7px 0;transition:background .15s,color .15s,border-color .15s;width:100%}.sidebar-signout:hover{background:#fee2e2;border-color:#e53e3e;color:#e53e3e}[data-theme=dark] .sidebar-signout:hover{background:#e53e3e26}.sidebar-install-btn{align-items:center;background:linear-gradient(135deg,#00c8531f,#00c8530f);border:1.5px solid #00c85359;border-radius:7px;color:var(--primary);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:7px;justify-content:center;padding:8px 0;transition:background .15s,border-color .15s,transform .12s;width:100%}.sidebar-install-btn:hover{background:#00c8532e;border-color:var(--primary);transform:translateY(-1px)}.sidebar-install-btn img{filter:invert(51%) sepia(97%) saturate(450%) hue-rotate(95deg) brightness(95%) contrast(101%);height:16px;width:16px}.sidebar-ios-panel{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;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;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;width:22px}.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:19px;font-weight:400}.sidebar{box-shadow:var(--shadow-lg);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{background:#00000073;display:block;inset:0;position:fixed;z-index:399}}.sidebar-admin-link{align-items:center;background:var(--primary-light);border:1px solid #00c85340;border-radius:10px;color:var(--primary);display:flex;font-size:13px;font-weight:700;gap:8px;margin-bottom:6px;padding:9px 12px;text-decoration:none;transition:all .15s}.sidebar-admin-link.active,.sidebar-admin-link:hover{background:var(--primary);border-color:var(--primary);color:#fff}.topbar{background:var(--surface);border-bottom:1px solid var(--border);height:56px;justify-content:flex-end;padding:0 24px;position:sticky;top:0;z-index:100}.topbar,.topbar-right{align-items:center;display:flex;gap:8px}.topbar-divider{background:var(--border);flex-shrink:0;height:22px;margin:0 4px;width:1px}.topbar-install-wrap{position:relative}.topbar-install-btn{align-items:center;background:linear-gradient(135deg,#00c8531f,#00c8530f);border:1.5px solid #00c85359;border-radius:8px;color:var(--primary);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 14px;transition:background .15s,border-color .15s,transform .12s;white-space:nowrap}.topbar-install-btn:hover{background:#00c8532e;border-color:var(--primary);transform:translateY(-1px)}.topbar-ios-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);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;line-height:1;padding:0;position:absolute;right:10px;top:8px}.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:1px solid #00c85340;border-radius:8px;color:var(--primary);font-size:12px;gap:6px;padding:6px 14px;text-decoration:none;transition:all .15s;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%;color:#fff;flex-shrink:0;font-size:12px;font-weight:700;height:32px;justify-content:center;width:32px}.topbar-user-info{display:flex;flex-direction:column;min-width:0}.topbar-user-name{color:var(--text);font-size:13px;font-weight:600}.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:7px;color:var(--text-2);cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.topbar-signout:hover{background:#fee2e2;border-color:#e53e3e;color:#e53e3e}[data-theme=dark] .topbar-signout:hover{background:#e53e3e26}@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:#fef3c7;border-color:#fbbf24;color:#d97706}.fb-priority-high.active{background:#ffedd5;border-color:#fb923c;color:#ea580c}.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:#d9770626;border-color:#fbbf24;color:#fbbf24}[data-theme=dark] .fb-priority-high.active{background:#ea580c26;border-color:#fb923c;color:#fb923c}[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:#fef3c7;color:#d97706}.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:#d9770633;color:#fbbf24}[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%}}.app-layout{min-height:100vh}.app-layout,.app-main{background:var(--bg);display:flex}.app-main{flex:1 1;flex-direction:column;min-width:0;overflow-x:clip}.inner-page{box-sizing:border-box;margin:0 auto;max-width:1100px;padding:28px 28px 60px;width:100%}@media (max-width:768px){.app-main{padding-top:calc(54px + env(safe-area-inset-top))}.inner-page{padding:20px 16px 48px}.page-top{flex-wrap:wrap;gap:12px}}.wx-widget{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;gap:20px;margin-bottom:24px;overflow:hidden;padding:18px 24px;position:relative;transition:box-shadow .2s}.wx-widget:hover{box-shadow:var(--shadow-md)}.wx-sunny{background:linear-gradient(135deg,#fffde7 0,var(--surface) 60%)}.wx-partly-cloudy{background:linear-gradient(135deg,#fff8e1 0,var(--surface) 60%)}.wx-cloudy{background:linear-gradient(135deg,#f5f5f5 0,var(--surface) 60%)}.wx-foggy{background:linear-gradient(135deg,#eceff1 0,var(--surface) 60%)}.wx-drizzle,.wx-rainy{background:linear-gradient(135deg,#e3f2fd 0,var(--surface) 60%)}.wx-snowy{background:linear-gradient(135deg,#e8f5e9 0,var(--surface) 60%)}.wx-stormy{background:linear-gradient(135deg,#ede7f6 0,var(--surface) 60%)}[data-theme=dark] .wx-sunny{background:linear-gradient(135deg,#2a2500 0,var(--surface) 60%)}[data-theme=dark] .wx-partly-cloudy{background:linear-gradient(135deg,#1e1900 0,var(--surface) 60%)}[data-theme=dark] .wx-cloudy{background:linear-gradient(135deg,#1a1a1a 0,var(--surface) 60%)}[data-theme=dark] .wx-foggy{background:linear-gradient(135deg,#1c2025 0,var(--surface) 60%)}[data-theme=dark] .wx-drizzle,[data-theme=dark] .wx-rainy{background:linear-gradient(135deg,#0d1a26 0,var(--surface) 60%)}[data-theme=dark] .wx-snowy{background:linear-gradient(135deg,#0d1a12 0,var(--surface) 60%)}[data-theme=dark] .wx-stormy{background:linear-gradient(135deg,#1a1026 0,var(--surface) 60%)}.wx-loading{color:var(--text-muted);font-size:13px;gap:12px;padding:14px 24px}.wx-spinner{animation:wx-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 wx-spin{to{transform:rotate(1turn)}}.wx-error{color:var(--text-muted);font-size:13px;gap:10px;padding:12px 24px}.wx-error-icon{align-items:center;display:flex}.wx-retry{background:none;border:1px solid var(--border);border-radius:6px;color:var(--primary);cursor:pointer;font-size:12px;font-weight:600;padding:4px 10px;transition:background .15s}.wx-retry:hover{background:var(--primary-light)}.wx-left,.wx-svg{flex-shrink:0}.wx-center{flex:1 1;min-width:0}.wx-temp{font-size:36px;font-weight:800;line-height:1}.wx-label,.wx-temp{color:var(--text);margin-bottom:2px}.wx-label{font-size:14px;font-weight:600}.wx-city{color:var(--text-muted);font-size:12px;font-weight:500}.wx-right{display:flex;flex-direction:column;flex-shrink:0;gap:4px}.wx-row{align-items:center;display:flex;font-size:12px;gap:8px}.wx-meta-label{color:var(--text-muted);font-weight:500;min-width:68px;text-align:right}.wx-meta-val{color:var(--text);font-weight:600;white-space:nowrap}@media (max-width:600px){.wx-widget{gap:14px;padding:14px 16px}.wx-temp{font-size:28px}.wx-right{display:none}}.dashboard-inner{box-sizing:border-box;margin:0 auto;max-width:1100px;padding:32px 28px 60px;width:100%}.dash-greeting{margin-bottom:28px}.dash-greeting-text{color:var(--text);font-size:26px;font-weight:800;margin:0 0 4px}.dash-date{color:var(--text-muted);font-size:14px;margin:0}.dash-no-family .families-section{padding:28px}.families-section{background:var(--surface);border-radius:12px;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:12px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px;padding:20px;text-align:center;transition:box-shadow .2s}.family-card:hover{box-shadow:var(--shadow-md)}.family-card-icon{font-size:32px}.family-card h3{color:var(--text);font-size:16px;font-weight:700;margin:0}.family-members{color:var(--text-muted);font-size:13px;margin:0}.btn-card{background:var(--primary-light);border:1.5px solid var(--primary);border-radius:8px;color:var(--primary);cursor:pointer;font-size:13px;font-weight:600;margin-top:4px;padding:7px 16px;transition:background .2s;width:100%}.btn-card.active,.btn-card:hover{background:var(--primary);color:#fff}.create-family-form{background:var(--surface-2);border-radius:10px;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:8px;box-sizing:border-box;color:var(--text);font-size:14px;padding:10px 12px}.create-family-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.dash-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:28px}.dash-stat-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;gap:14px;padding:18px 16px;transition:box-shadow .2s}.dash-stat-card:hover{box-shadow:var(--shadow-md)}.dash-stat-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:26px;height:46px;justify-content:center;width:46px}.pending-icon{background:#51cf6626}.bills-icon{background:#f39c1226}.grocery-icon{background:#3b82f626}.events-icon{background:#cc5de826}.dash-stat-num{color:var(--text);font-size:24px;font-weight:800;line-height:1}.dash-stat-label{color:var(--text-muted);font-size:12px;font-weight:500;margin-top:2px}.dash-loading{color:var(--text-muted);padding:60px 20px;text-align:center}.spinner{animation:spin .7s linear infinite;border:3px solid var(--border);border-top-color:var(--primary);height:32px;margin:0 auto 12px;width:32px}.dash-two-col{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.dash-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);padding:22px}.dash-panel-header{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:12px}.dash-panel-header h2{align-items:center;color:var(--text);display:flex;font-size:16px;font-weight:700;gap:8px;margin:0}.dash-panel-icon{filter:brightness(0) invert(.5);height:22px;object-fit:contain;width:22px}.dash-empty{color:var(--text-muted);padding:32px 16px;text-align:center}.dash-empty span{font-size:32px}.dash-empty p{font-size:14px;margin:8px 0 0}.dash-events-list{display:flex;flex-direction:column}.dash-event-item{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:10px 0}.dash-event-item:last-child{border-bottom:none}.dash-event-time{color:var(--primary);font-size:12px;font-weight:600;min-width:52px;padding-top:2px;white-space:nowrap}.dash-event-body{flex:1 1;min-width:0}.dash-event-title{color:var(--text);font-size:14px;font-weight:600;margin-bottom:4px}.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:10px;color:var(--text-muted);font-size:11px;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:9px;font-weight:700;height:22px;justify-content:center;overflow:hidden;width:22px}.dash-mini-avatar img{height:100%;object-fit:cover;width:100%}.dash-mini-avatar-img{border-radius:50%;height:22px;object-fit:cover;width:22px}.dash-chores-list{display:flex;flex-direction:column}.dash-chore-item{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:9px 0;transition:opacity .2s}.dash-chore-item:last-child{border-bottom:none}.dash-chore-item.completed{opacity:.5}.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;font-size:11px;font-weight:700;height:22px;justify-content:center;transition:background .2s,border-color .2s;width:22px}.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);cursor:default}.dash-chore-body{flex:1 1;min-width:0}.dash-chore-title{color:var(--text);font-size:14px;font-weight:600;margin-bottom:3px}.dash-chore-assignee{align-items:center;color:var(--text-2);display:flex;font-size:12px;gap:5px}.dash-chore-pts{color:var(--text-muted);font-size:12px;white-space:nowrap}@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{padding:20px 14px 48px}.dash-greeting-text{font-size:20px}.dash-stats{gap:10px;grid-template-columns:repeat(2,1fr)}.dash-stat-card{gap:8px;padding:12px 10px}.dash-stat-icon{font-size:20px;height:36px;width:36px}.dash-stat-num{font-size:20px}}.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:1;font-size:22px;font-weight:800;gap:10px;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{background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.page-header{background:linear-gradient(135deg,#00c853,#00897b);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{background:#fff3;border:1px solid #fff6;border-radius:20px;color:#fff;cursor:pointer;font-weight:600;padding:6px 14px;transition:background .2s}.back-btn:hover{background:#ffffff4d}.breadcrumb-sep{color:#ffffff80;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{background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:background .2s}.page-logout-btn:hover{background:#ffffff40}.page-title-row{align-items:flex-end;display:flex;justify-content:space-between}.page-title{color:#fff;font-size:28px;font-weight:700;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{background:linear-gradient(135deg,#00c853,#00897b);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #00c85359;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#fff;border:1.5px solid #00c853;border-radius:8px;color:#00c853;cursor:pointer;font-size:14px;font-weight:600;padding:9px 18px;transition:background .2s}.btn-secondary:hover{background:#f0f0ff}.btn-danger{background:#fff;border:1.5px solid #e53e3e;border-radius:6px;color:#e53e3e;font-size:13px;padding:7px 14px;transition:background .2s}.btn-danger:hover{background:#fff5f5}.btn-icon{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:16px;padding:4px 8px;transition:background .15s}.btn-icon:hover{background:#f0f0f0}.card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.form-group{margin-bottom:16px}.form-group label{color:#444;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1.5px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#00c853;box-shadow:0 0 0 3px #00c8531f;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-actions{display:flex;gap:10px;margin-top:8px}.empty-state{color:#999;padding:60px 20px;text-align:center}.empty-state-icon{font-size:48px;margin-bottom:16px}.empty-state h3{color:#666;font-size:18px;margin:0 0 8px}.empty-state p{font-size:14px;margin:0}.alert{border-radius:8px;font-size:14px;margin-bottom:16px;padding:12px 16px}.alert-warning{background:#fff8e1;border:1px solid #f59e0b;color:#92400e}.alert-error{background:#fee;border:1px solid #fcc;color:#c33}.alert-success{border:1px solid #68d391}.section-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:20px}.section-header h2{flex-shrink:1;min-width:0}.section-header>.btn-danger,.section-header>.btn-primary,.section-header>.btn-secondary{flex-shrink:0;white-space:nowrap}.section-header h2{color:#333;font-size:20px;margin:0}.modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:480px;overflow-y:auto;padding:28px;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h2{color:#333;font-size:20px;margin:0}.modal-close{color:#999;font-size:24px;padding:0 4px}.modal-close:hover{color:#333}@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] .page-content{color:var(--text)}[data-theme=dark] .card{background:var(--surface);box-shadow:var(--shadow-sm)}[data-theme=dark] .card h2,[data-theme=dark] .card h3,[data-theme=dark] .section-header h2{color:var(--text)}[data-theme=dark] .modal{background:var(--surface)}[data-theme=dark] .modal-header h2{color:var(--text)}[data-theme=dark] .modal-close{color:var(--text-muted)}[data-theme=dark] .modal-close:hover{color:var(--text)}[data-theme=dark] .form-group label{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] .btn-secondary{background:var(--surface-2);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-2)}[data-theme=dark] .btn-icon:hover{background:var(--surface-2)}[data-theme=dark] .empty-state{color:var(--text-muted)}[data-theme=dark] .empty-state h3{color:var(--text-2)}.currency-select{font-size:13px;min-width:130px}.currency-select:focus,.currency-select:hover{border-color:#00c853}[data-theme=dark] .currency-select{background:var(--surface-2);border-color:var(--border);color:var(--text)}.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:#f39c12;border:1.5px dashed #f39c12}.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 #f59e0b;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:#f59e0b}.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:#f59e0b0f;border-left:3px solid #f59e0b}.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:#f59e0b26;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-radius:10px;font-weight:700;padding:10px 16px;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:#f59e0b;color:#fbbf24}[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:#f59e0b33;color:#fbbf24}[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:#f59e0b0d}[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}.members-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,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:linear-gradient(135deg,#00c853,#00897b);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:#e53e3e;border:2px solid #fff;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:#333;font-size:16px;font-weight:700;margin:0 0 8px}.member-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.member-type{color:#666;font-size:13px;text-transform:capitalize}.member-role{border-radius:10px;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;text-transform:capitalize}.member-details{color:#999;display:flex;font-size:12px;gap:12px}.member-account-status{font-size:11px;font-weight:600;margin-top:6px}.account-linked{color:#51cf66}.account-none{color:#aaa}.member-actions{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.btn-invite{background:#00c8531f;border:1px solid #667eea4d;border-radius:6px;color:#00c853;cursor:pointer;font-size:11px;font-weight:700;padding:4px 8px;transition:background .2s;white-space:nowrap}.btn-invite:hover{background:#667eea33}.invite-modal{max-width:460px}.invite-instructions{color:#555;font-size:14px;line-height:1.5;margin-bottom:16px}.invite-loading{color:#aaa;padding:24px;text-align:center}.invite-link-box{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:8px;margin-bottom:8px;padding:10px 14px}.invite-link-text{color:#333;flex:1 1;font-family:monospace;font-size:13px;word-break:break-all}.btn-copy{background:#00c853;border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:6px 14px}.btn-copy:hover{background:#5a6fd6}.invite-expiry{color:#aaa;font-size:12px;margin-bottom:20px}.invite-share-label{color:#555;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}.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:#fffbf0}.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:#fed7aa;color:#92400e;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:16px}.budget-currency-picker{align-items:center;display:flex;gap:10px;padding:12px 16px;white-space:nowrap}.currency-label{color:#555;font-size:14px;font-weight:600}.currency-select{background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;cursor:pointer;font-size:14px;outline:none;padding:6px 10px}.currency-select:focus{border-color:#00c853;box-shadow:0 0 0 2px #667eea26}@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:#333;font-size:18px;font-weight:700;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:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px 24px;text-align:center}.summary-label{color:#999;font-size:12px;font-weight:700;letter-spacing:.8px;margin-bottom:8px;text-transform:uppercase}.summary-amount{font-size:22px;font-weight:700}.summary-card.income .summary-amount{color:#2d9e5f}.summary-card.expenses .summary-amount{color:#e53e3e}.summary-card.balance.positive .summary-amount{color:#2d9e5f}.summary-card.balance.negative .summary-amount{color:#e53e3e}.summary-card.savings-rate .summary-amount{color:#2196f3}.summary-projected-note{color:#f59e0b;font-size:10px;font-weight:600;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.summary-savings-hint{color:#2196f3;font-size:11px;font-weight:600;margin-top:4px}.bills-amt-note{color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:12px;font-style:italic;margin:-8px 0 12px}.bill-stat-note{color:#f59e0b;cursor:help;margin-left:2px}.budget-list{overflow:hidden;padding:0}.budget-entry{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;gap:14px;padding:14px 20px;transition:background .15s}.budget-entry:last-child{border-bottom:none}.budget-entry:hover{background:#fafafa}.entry-type-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:32px;justify-content:center;width:32px}.entry-type-icon.income{background:#f0fff4;color:#2d9e5f}.entry-type-icon.expense{background:#fff5f5;color:#e53e3e}.entry-body{flex:1 1;min-width:0}.entry-title{color:#333;font-size:14px;font-weight:600;margin-bottom:3px}.entry-meta{align-items:center;display:flex;gap:8px}.entry-date{color:#999;font-size:12px}.entry-cat{background:#f0f0f0;border-radius:10px;color:#666;font-size:11px;padding:1px 7px;text-transform:capitalize}.entry-notes{cursor:default;font-size:12px}.entry-amount{font-size:15px;font-weight:700;white-space:nowrap}.entry-amount.income{color:#2d9e5f}.entry-amount.expense{color:#e53e3e}.budget-type-toggle{display:flex;gap:8px;margin-bottom:20px}.type-btn{background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;padding:10px;transition:all .2s}.type-btn.expense-btn.active{background:#fff5f5;border-color:#e53e3e;color:#e53e3e}.type-btn.income-btn.active{background:#f0fff4;border-color:#2d9e5f;color:#2d9e5f}.type-btn:hover:not(.active){border-color:#999}@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:#888;font-size:12px;font-weight:600}.budget-date-input{background:#fff;border:1.5px solid #ddd;border-radius:8px;color:#333;font-size:13px;outline:none;padding:5px 10px}.budget-date-input:focus{border-color:#00c853;box-shadow:0 0 0 2px #00c8531f}.recurring-summary{border-left:4px solid #43e97b;margin:16px 0 0;padding:14px 18px}.recurring-summary-title{align-items:center;color:#2d9e5f;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:#333;flex:1 1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recurring-summary-amount{color:#2d9e5f;font-weight:700}.recurring-badge{align-items:center;background:#f0fff4;border:1px solid #c6f6d5;border-radius:10px;display:inline-flex;margin-left:8px;vertical-align:middle}.recurring-badge,.recurring-freq-badge{color:#2d9e5f;font-size:10px;font-weight:700;padding:2px 7px}.recurring-freq-badge{background:#e8f5e9;border-radius:10px;text-transform:capitalize}.injected-badge{background:#e8f4fd;border-radius:10px;color:#2980b9;font-size:10px;font-weight:700;padding:2px 6px}.injected-entry{background:#fafffe}.stop-recurring-btn{background:#fff5f5!important;border:1px solid #fc8181!important;border-radius:6px!important;padding:3px 8px!important}.stop-recurring-btn:hover{background:#fed7d7!important}.recurring-group{background:#f0fff4;border:1px solid #c6f6d5;border-radius:8px;padding:12px 14px}.recurring-checkbox-label{align-items:center;color:#2d9e5f;cursor:pointer;display:flex;font-size:14px;font-weight:600}.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:6px 6px 0 0;color:var(--text-2);cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:8px 18px;transition:color .15s,border-color .15s}.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:8px;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:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.salary-hint-btn:hover{opacity:.9}.salary-timing-note{align-items:flex-start;background:#00c8530f;border:1px solid #00c85333;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;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-3);font-size:11px;margin-bottom:2px}.fcomp-val{color:var(--text);font-size:14px;font-weight:600}.fcomp-income{color:#22c55e}.fcomp-expense{color:#ef4444}.fcomp-positive{color:#22c55e}.fcomp-negative{color:#ef4444}.fcomp-neutral{color:var(--text-3)}.forecast-entry{opacity:.92}.forecast-badge{background:#6366f11f;border-radius:10px;color:#6366f1;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:6px;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:20px;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)}.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:#f39c12;display:block;font-size:28px}.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:#f39c12;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:#f39c12}.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:#f39c12}.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}}.timeoff-list{display:flex;flex-direction:column;gap:12px}.timeoff-card{align-items:flex-start;border-left:4px solid #ddd;display:flex;gap:16px;padding:18px 20px}.timeoff-card.status-pending{border-left-color:#f39c12}.timeoff-card.status-approved{border-left-color:#51cf66}.timeoff-card.status-denied{border-left-color:#e53e3e}.timeoff-avatar .av-initials,.timeoff-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}.timeoff-body{flex:1 1;min-width:0}.timeoff-name{color:#333;font-size:15px;font-weight:700;margin-bottom:4px}.timeoff-dates{color:#555;font-size:14px;font-weight:600;margin-bottom:4px}.timeoff-days{color:#999;font-size:12px;font-weight:400}.timeoff-reason{color:#888;font-size:13px;font-style:italic;margin-bottom:6px}.timeoff-status{border-radius:10px;display:inline-block;font-size:12px;font-weight:700;padding:2px 8px}.timeoff-status.pending{background:#fff8e6;color:#b7791f}.timeoff-status.approved{background:#f0fff4;color:#276749}.timeoff-status.denied{background:#fff5f5;color:#c53030}.timeoff-actions{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.btn-approve{background:#51cf66;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:6px 14px;white-space:nowrap}.btn-approve:hover{background:#37b24d}.btn-deny{background:#e53e3e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:6px 14px;white-space:nowrap}.btn-deny:hover{background:#c53030}.page-shell{background:#f7f8fc;min-height:100vh}.page-error,.page-loading{align-items:center;color:#888;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:60vh}.spinner{animation:spin .8s linear infinite;border:4px solid #eee;border-radius:50%;border-top-color:#00c853;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.page-header{flex-wrap:wrap;gap:12px;justify-content:space-between;padding:20px 24px 0}.header-left,.page-header{align-items:center;display:flex}.header-left{gap:16px}.page-header h1{color:#333;font-size:22px;font-weight:800;margin:0}.header-sub{color:#999;font-size:13px;margin:2px 0 0}.back-btn{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#00c853;font-size:13px;padding:6px 12px;text-decoration:none;white-space:nowrap}.back-btn:hover{background:#f0f0ff}.btn-refresh{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#555;cursor:pointer;font-size:13px;padding:8px 16px}.btn-refresh:hover{background:#f0f0ff;color:#00c853}.report-date-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;padding:12px 24px 0}.report-preset-group{display:flex;flex-wrap:wrap;gap:6px}.report-preset-btn{background:#fff;border:1.5px solid #e0e0e0;border-radius:20px;color:#777;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .15s;white-space:nowrap}.report-preset-btn.active{background:#00c853;border-color:#00c853;color:#fff}.report-preset-btn:hover:not(.active){border-color:#00c853;color:#00c853}.report-custom-range{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.report-date-label{color:#888;font-size:12px;font-weight:600}.report-date-input{background:#fff;border:1.5px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;font-size:13px;outline:none;padding:5px 10px}.report-date-input:focus{border-color:#00c853;box-shadow:0 0 0 2px #00c8531f}.report-apply-btn{font-size:12px!important;padding:6px 16px!important}.report-period-label{color:#aaa;font-size:12px;font-weight:600;margin-left:auto;white-space:nowrap}@media (max-width:700px){.report-date-controls{padding:10px 16px 0}.report-period-label{margin-left:0}}[data-theme=dark] .report-preset-btn{background:var(--surface);border-color:var(--border);color:var(--text-2)}[data-theme=dark] .report-preset-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}[data-theme=dark] .report-date-input{background:var(--surface);border-color:var(--border);color:var(--text)}.report-tabs{display:flex;gap:6px;overflow-x:auto;padding:16px 24px 0;scrollbar-width:none}.report-tabs::-webkit-scrollbar{display:none}.tab-btn{background:#fff;border:1.5px solid #e0e0e0;border-radius:20px;color:#888;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .15s;white-space:nowrap}.tab-btn.active{background:#00c853;border-color:#00c853;color:#fff}.tab-btn:hover:not(.active){border-color:#00c853;color:#00c853}.report-body{padding:20px 24px 40px}.report-section{display:flex;flex-direction:column;gap:0}.mt16{margin-top:16px}.mt24{margin-top:24px}.section-title{color:#333;font-size:16px;font-weight:700;margin:0 0 16px}.kpi-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.kpi-card{align-items:flex-start;background:#fff;border-left:4px solid #e0e0e0;border-radius:16px;box-shadow:0 2px 10px #0000000f;display:flex;gap:14px;padding:18px}.kpi-card.positive{border-left-color:#43e97b}.kpi-card.negative{border-left-color:#fa709a}.kpi-icon{flex-shrink:0;font-size:28px;margin-top:2px}.kpi-label{color:#999;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.kpi-value{color:#333;font-size:22px;font-weight:800;line-height:1.1}.kpi-value.warn{color:#e53e3e}.kpi-sub{color:#aaa;font-size:12px;margin-top:4px}.stat-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.stat-box{background:#fff;border-radius:14px;box-shadow:0 2px 8px #0000000f;padding:18px;text-align:center}.stat-box.income{border-top:3px solid #43e97b}.stat-box.expense{border-top:3px solid #fa709a}.stat-box.positive{border-top:3px solid #43e97b}.stat-box.negative{border-top:3px solid #fa709a}.stat-box.balance{border-top:3px solid #00c853}.stat-emoji{display:block;font-size:24px;margin-bottom:8px}.stat-num{color:#333;font-size:22px;font-weight:800}.stat-lbl{color:#999;font-size:12px;font-weight:600;margin-top:4px}.chart-card{background:#fff;border-radius:16px;box-shadow:0 2px 10px #0000000f;padding:20px 22px}.chart-card h3{color:#555;font-size:14px;font-weight:700;margin:0 0 18px}.overview-charts{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-top:16px}@media (max-width:700px){.overview-charts{grid-template-columns:1fr}}.bar-chart{flex-direction:column}.bar-chart,.bar-row{display:flex;gap:10px}.bar-row{align-items:center}.bar-label{color:#555;flex-shrink:0;font-size:13px;font-weight:600;text-transform:capitalize;width:110px}.bar-track{background:#f0f0f0;border-radius:6px;flex:1 1;height:12px;overflow:hidden}.bar-fill{border-radius:6px;height:100%;min-width:4px;transition:width .4s ease}.bar-val{color:#333;font-size:13px;font-weight:700;text-align:right;width:80px}.trend-chart{display:flex;flex-direction:column;gap:8px}.trend-bars{align-items:flex-end;display:flex;gap:6px;height:120px}.trend-col{align-items:center;flex:1 1;gap:4px;height:100%}.trend-col,.trend-stacks{display:flex;flex-direction:column}.trend-stacks{flex:1 1;gap:2px;justify-content:flex-end;width:100%}.trend-bar{border-radius:4px 4px 0 0;min-height:3px;transition:height .4s ease;width:100%}.trend-label{color:#aaa;font-size:11px;font-weight:600;white-space:nowrap}.trend-legend{align-items:center;color:#888;display:flex;flex-wrap:wrap;font-size:12px;gap:6px;margin-top:4px}.legend-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.donut-row{display:flex;flex-wrap:wrap;gap:24px}.donut-stat{align-items:center;display:flex;flex-direction:column;gap:6px}.donut-label{color:#888;font-size:12px;font-weight:600}.grocery-cat-row{align-items:center;display:flex;gap:10px;margin-bottom:10px}.gc-name{flex-shrink:0;font-size:13px;font-weight:700;text-transform:capitalize;width:100px}.gc-track{background:#f0f0f0;border-radius:6px;flex:1 1;height:10px;overflow:hidden}.gc-purchased{border-radius:6px;height:100%;min-width:4px;transition:width .4s ease}.gc-count{color:#555;font-size:13px;font-weight:700;text-align:right;width:45px}.utility-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.utility-card{background:#fafafa;border:1px solid #f0f0f0;border-radius:12px;padding:14px;text-align:center}.utility-icon{font-size:28px;margin-bottom:6px}.utility-name{color:#888;font-size:12px;font-weight:600;margin-bottom:8px;text-transform:capitalize}.utility-paid{color:#333;font-size:16px;font-weight:800}.utility-paid span{color:#aaa;font-size:11px;font-weight:500;margin-left:2px}.utility-unpaid{color:#e53e3e;font-size:12px;font-weight:600;margin-top:2px}.utility-bar-wrap{background:#e8e8e8;border-radius:4px;height:6px;margin-top:10px;overflow:hidden}.utility-bar{border-radius:4px;height:100%;min-width:4px;transition:width .4s ease}.member-chore-row{align-items:center;display:flex;gap:12px;margin-bottom:12px}.mcr-body{flex:1 1;min-width:0}.mcr-name{color:#333;font-size:13px;font-weight:700;margin-bottom:4px}.mcr-bar-wrap{background:#f0f0f0;border-radius:6px;height:10px;overflow:hidden}.mcr-bar{border-radius:6px;height:100%;min-width:6px;transition:width .4s ease}.mcr-stats{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:2px}.mcr-count{color:#333;font-size:13px;font-weight:700}.mcr-points{color:#f39c12;font-size:11px;font-weight:700}.report-avatar{border-radius:50%;flex-shrink:0;object-fit:cover}.report-avatar-initials{align-items:center;background:linear-gradient(135deg,#00c853,#00897b);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:800;justify-content:center}.people-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.person-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;padding:18px}.person-header{align-items:center;display:flex;gap:12px;margin-bottom:14px}.person-name{color:#333;font-size:15px;font-weight:700}.person-type{color:#aaa;font-size:12px;margin-top:2px;text-transform:capitalize}.person-stats{display:flex;flex-direction:column;gap:8px}.ps-item{align-items:center;display:flex;gap:8px}.ps-icon{font-size:16px;text-align:center;width:22px}.ps-val{color:#333;font-size:15px;font-weight:700;min-width:40px}.ps-lbl{color:#aaa;font-size:12px}.empty-hint{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;color:#aaa;font-size:14px;margin-top:16px;padding:40px 20px;text-align:center}@media (max-width:600px){.page-header{padding:16px 16px 0}.report-tabs{padding:12px 16px 0}.report-body{padding:16px 16px 32px}.kpi-grid{grid-template-columns:1fr}.stat-row{grid-template-columns:1fr 1fr}.bar-label{font-size:12px;width:80px}.bar-val{font-size:12px;width:60px}.overview-charts,.people-grid{grid-template-columns:1fr}.bar-row{flex-wrap:wrap}.bar-label{max-width:100%;width:auto}.bar-val{width:auto}}@media (max-width:375px){.stat-row{grid-template-columns:1fr}.kpi-value{font-size:18px}.report-preset-btn{font-size:11px;padding:5px 10px}}.rpt-baby-card{background:#fff;border-radius:16px;box-shadow:0 2px 10px #0000000f;margin-bottom:16px;padding:20px 22px}.rpt-baby-header{align-items:center;display:flex;gap:14px;margin-bottom:16px}.rpt-baby-name{color:#333;font-size:18px;font-weight:800}.rpt-baby-period{color:#aaa;font-size:12px;margin-top:2px}.rpt-baby-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-bottom:4px}.rpt-baby-stat{background:#f7f8fc;border-radius:10px;padding:12px;text-align:center}.rpt-baby-stat-val{color:#333;font-size:20px;font-weight:800}.rpt-baby-stat-lbl{color:#aaa;font-size:11px;font-weight:600;margin-top:2px;text-transform:uppercase}.rpt-visit-list{display:flex;flex-direction:column;gap:8px}.rpt-visit-row{align-items:center;background:#f7f8fc;border-radius:8px;display:flex;gap:10px;padding:10px 12px}.rpt-visit-date{color:#333;font-size:13px;font-weight:700;white-space:nowrap}.rpt-visit-type{color:#667eea;font-size:12px;font-weight:600;text-transform:capitalize}.rpt-visit-doctor{color:#aaa;font-size:12px;margin-left:auto}.rpt-personal-hero{align-items:center;background:#fff;border-radius:16px;box-shadow:0 2px 10px #0000000f;display:flex;gap:16px;padding:20px 22px}.rpt-personal-name{color:#333;font-size:20px;font-weight:800}.rpt-personal-role{color:#aaa;font-size:13px;margin-top:3px;text-transform:capitalize}.rpt-wallet-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:2fr 1fr 1fr 1fr;margin-top:14px}.rpt-wallet-stat{text-align:center}.rpt-wallet-val{font-size:18px;font-weight:800}.rpt-wallet-lbl{color:#aaa;font-size:11px;font-weight:600;margin-top:2px}.rpt-goals-list{display:flex;flex-direction:column;gap:14px}.rpt-goal-row{background:#f7f8fc;border-radius:10px;padding:12px 14px}.rpt-goal-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.rpt-goal-name{color:#333;font-size:14px;font-weight:700}.rpt-goal-amounts{color:#555;font-size:13px;font-weight:600}@media (max-width:600px){.rpt-baby-stats{grid-template-columns:repeat(3,1fr)}.rpt-wallet-stats{grid-template-columns:1fr 1fr}}[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:#ccc;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:#00c853}.notif-toggle input:checked+.notif-toggle-slider:before{transform:translateX(20px)}.notif-toggle input:disabled+.notif-toggle-slider{cursor:not-allowed;opacity:.5}.sh-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:15px;gap:14px;justify-content:center;padding:60px 0}.sh-spinner{animation:sh-spin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:36px;width:36px}@keyframes sh-spin{to{transform:rotate(1turn)}}.sh-tabs{background:var(--surface-2);border-radius:12px;display:flex;gap:4px;margin-bottom:24px;max-width:360px;padding:4px}.sh-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}.sh-tab.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--primary)}.sh-tab:hover:not(.active){background:#0000000a;color:var(--text)}[data-theme=dark] .sh-tab:hover:not(.active){background:#ffffff0d}.sh-tab-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.sh-tab-actions{display:flex;flex-shrink:0;gap:10px}.sh-room-tabs{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.sh-room-tab{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:6px 14px;transition:all .15s;white-space:nowrap}.sh-room-tab.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.sh-room-tab:hover:not(.active){border-color:var(--text-muted);color:var(--text)}.sh-device-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}@media (max-width:960px){.sh-device-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.sh-device-grid{grid-template-columns:1fr}.sh-tabs{max-width:100%}.sh-tab-header{flex-direction:column}.sh-tab-actions{justify-content:flex-end;width:100%}}.sh-device-card{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;cursor:default;display:flex;flex-direction:column;gap:10px;padding:18px 16px 14px;position:relative;transition:all .2s}.sh-device-card.is-on{background:#00c8530a;border-color:var(--primary)}[data-theme=dark] .sh-device-card.is-on{background:#00c85312}.sh-device-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.sh-device-icon{align-items:center;display:flex;padding-top:4px}.sh-device-info{display:flex;flex-direction:column;gap:3px}.sh-device-name-row{align-items:center;display:flex;gap:6px}.sh-device-name{color:var(--text);font-size:15px;font-weight:700;line-height:1.3}.sh-device-room{color:var(--text-muted);font-size:12px;font-weight:500}.sh-device-controls{display:flex;flex-direction:column;gap:8px;margin-top:2px}.sh-toggle{border:none;border-radius:12px;cursor:pointer;flex-shrink:0;height:24px;position:relative;transition:background .2s;width:44px}.sh-toggle.off{background:var(--border)}.sh-toggle.on{background:var(--primary)}.sh-toggle:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:20px;position:absolute;top:2px;transition:left .2s;width:20px}.sh-toggle.off:after{left:2px}.sh-toggle.on:after{left:22px}.sh-slider-row{align-items:center;display:flex;gap:8px}.sh-slider{accent-color:var(--primary);cursor:pointer;flex:1 1;height:4px}.sh-online-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:7px;width:7px}.sh-online-dot.online{background:#22c55e}.sh-online-dot.offline{background:#9ca3af}.sh-card-menu{position:absolute;right:12px;top:12px;z-index:10}.sh-card-menu-btn{background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:18px;letter-spacing:1px;line-height:1;padding:4px 6px}.sh-card-menu-btn:hover{background:var(--surface-2);color:var(--text)}.sh-card-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);margin-top:4px;min-width:120px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.sh-card-dropdown button{background:none;border:none;color:var(--text);cursor:pointer;display:block;font-size:13px;font-weight:500;padding:10px 14px;text-align:left;transition:background .12s;width:100%}.sh-card-dropdown button:hover{background:var(--surface-2)}.sh-card-dropdown button.danger{color:#ef4444}.sh-autom-list{display:flex;flex-direction:column;gap:12px}.sh-automation-card{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;gap:14px;padding:16px 20px;transition:box-shadow .2s}.sh-automation-card:hover{box-shadow:var(--shadow-sm)}.sh-autom-toggle-col{flex-shrink:0;padding-top:2px}.sh-autom-body{flex:1 1;min-width:0}.sh-autom-name{color:var(--text);font-size:15px;font-weight:700;margin-bottom:4px}.sh-autom-trigger{align-items:center;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin-bottom:6px}.sh-autom-actions-summary{display:flex;flex-wrap:wrap;gap:6px}.sh-autom-action-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;color:var(--text-2);font-size:12px;font-weight:500;padding:2px 10px}.sh-autom-btns{align-items:flex-start;display:flex;flex-shrink:0;gap:8px}.sh-autom-btn{font-size:13px;padding:6px 12px}.sh-autom-btn.danger{border-color:#fca5a5;color:#ef4444}.sh-autom-btn.danger:hover{background:#fef2f2;color:#dc2626}[data-theme=dark] .sh-autom-btn.danger:hover{background:#ef44441f}.sh-day-badges{display:flex;flex-wrap:wrap;gap:4px}.sh-day-badge{background:var(--primary-light);border-radius:10px;color:var(--primary);font-size:11px;font-weight:600;padding:2px 7px}.sh-days-row{display:flex;flex-wrap:wrap;gap:6px}.sh-day-btn{background:var(--surface);border:1.5px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600;padding:5px 10px;transition:all .15s}.sh-day-btn.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.sh-actions-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.sh-action-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.sh-action-row select{flex:1 1;min-width:120px}.sh-action-row select,.sh-action-value{background:var(--surface);border:1.5px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;padding:7px 10px}.sh-action-value{width:80px}.sh-action-remove{background:none;border:1.5px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:5px 9px;transition:all .12s}.sh-action-remove:hover{background:#fef2f2;border-color:#fca5a5;color:#ef4444}[data-theme=dark] .sh-action-remove:hover{background:#ef44441f}.sh-add-action-btn{font-size:13px;margin-top:2px;padding:7px 14px}.sh-connect-tab{max-width:700px}.sh-connect-intro{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;color:var(--text-2);font-size:14px;line-height:1.6;margin-bottom:28px;padding:14px 18px}.sh-section-title{color:var(--text);font-size:16px;font-weight:700;margin-bottom:14px;margin-top:0}.sh-connected-section{margin-bottom:32px}.sh-hub-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;gap:16px;margin-bottom:12px;padding:18px 20px;transition:box-shadow .2s}.sh-hub-card:hover{box-shadow:var(--shadow-sm)}.sh-hub-connected{background:#00c85308;border-color:var(--primary)}[data-theme=dark] .sh-hub-connected{background:#00c8530f}.sh-hub-icon{flex-shrink:0}.sh-hub-info{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.sh-hub-name-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.sh-hub-name{color:var(--text);font-size:15px;font-weight:700}.sh-hub-type{font-weight:500}.sh-hub-type,.sh-hub-url{color:var(--text-muted);font-size:12px}.sh-hub-url{font-family:monospace}.sh-hub-tested{color:var(--text-muted);font-size:11px}.sh-hub-actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px}.sh-hub-actions .btn-secondary{font-size:13px;padding:6px 12px}.sh-hub-actions .btn-secondary.danger{border-color:#fca5a5;color:#ef4444}.sh-hub-actions .btn-secondary.danger:hover{background:#fef2f2}[data-theme=dark] .sh-hub-actions .btn-secondary.danger:hover{background:#ef44441f}.sh-connected-badge{background:#dcfce7;color:#16a34a}.sh-connected-badge,.sh-disconnected-badge{border-radius:20px;font-size:11px;font-weight:700;padding:3px 8px}.sh-disconnected-badge{background:#fee2e2;color:#dc2626}[data-theme=dark] .sh-connected-badge{background:#16a34a33;color:#4ade80}[data-theme=dark] .sh-disconnected-badge{background:#dc262633;color:#f87171}.sh-hub-types{display:flex;flex-direction:column;gap:12px}.sh-hub-type-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-sizing:border-box;display:flex;flex-direction:row;gap:16px;padding:20px;transition:box-shadow .2s,border-color .2s;width:100%}.sh-hub-type-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.sh-hub-type-icon{align-items:center;border:1.5px solid;border-radius:12px;display:flex;flex-shrink:0;height:56px;justify-content:center;min-width:56px;width:56px}.sh-hub-type-body{flex:1 1;min-width:0;overflow:hidden}.sh-hub-type-name{color:var(--text);font-size:15px;font-weight:700;margin-bottom:4px}.sh-hub-type-desc{word-wrap:break-word;color:var(--text-muted);font-size:13px;line-height:1.5;white-space:normal}.sh-hub-connect-btn{flex-shrink:0;font-size:13px;padding:8px 20px;white-space:nowrap;width:auto}.modal-sm{max-width:380px}.modal-lg{max-width:580px}.modal-close{background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:18px;font-weight:700;line-height:1;padding:4px 8px}.modal-close:hover{background:var(--surface-2);color:var(--text)}.modal-footer{border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.modal-body{display:flex;flex-direction:column;gap:14px;max-height:65vh;overflow-y:auto;padding:20px 24px}.sh-checkbox-row label{align-items:center;color:var(--text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px}.sh-checkbox-row input[type=checkbox]{accent-color:var(--primary);cursor:pointer;height:16px;width:16px}.sh-alert-success{background:#dcfce7;border:1px solid #86efac;border-radius:8px;color:#16a34a;font-size:14px;font-weight:500;padding:10px 14px}[data-theme=dark] .sh-alert-success{background:#16a34a26;border-color:#16a34a4d;color:#4ade80}.text-muted{color:var(--text-muted);font-size:14px;margin:0}@media (max-width:600px){.sh-automation-card{flex-wrap:wrap}.sh-autom-btns{justify-content:flex-end;margin-top:4px;width:100%}.sh-hub-card{flex-wrap:wrap}.sh-hub-actions{justify-content:flex-end;width:100%}.sh-hub-type-card{align-items:flex-start;flex-direction:column}.sh-hub-connect-btn{margin-top:8px;text-align:center;width:100%}.modal-body{padding:16px}.modal-footer{padding:12px 16px}}.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,#f59e0b)}.rank-2 .lb-podium-block{background:linear-gradient(180deg,#e2e8f0,#94a3b8)}.rank-3 .lb-podium-block{background:linear-gradient(180deg,#fed7aa,#fb923c)}.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:#fef3c7;border-radius:20px;color:#f59e0b;font-size:11px;gap:3px;padding:2px 7px}[data-theme=dark] .lb-streak{background:#f59e0b26}.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:#fef3c7;border:1px solid #fde68a;border-radius:10px;color:#92400e;display:flex;font-size:13px;gap:8px;margin-bottom:16px;padding:10px 14px}[data-theme=dark] .health-modal-pts-preview{background:#f59e0b1f;border-color:#f59e0b40;color:#fbbf24}.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)}.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:#f973161f;color:#f97316}.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;display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:24px 20px 20px;position:relative}.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}.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;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-meta{color:var(--text-muted);font-size:12px}.bt-log-notes{color:var(--text-muted);font-size:11px;font-style:italic;margin-top:2px}.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-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:#f97316;display:flex;font-size:13px;font-weight:600;gap:5px}.bt-reminder-countdown strong{color:#ea580c}.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:#f973160f;border-color:#f97316;color:#f97316}.bt-reminder-pill.active{background:#f97316;border-color:#f97316;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:#f9731614;border-radius:8px;color:#f97316;font-size:13px;font-weight:600;margin-top:8px;padding:6px 10px}.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:#f59e0b}.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{align-items:center;color:#888;color:var(--text-2,#888);display:flex;flex-wrap:wrap;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);font-size:13px;padding:8px;text-align:center}.debt-payment-row{align-items:center;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:#f59e0b}.debt-dti-hint{color:#6b7280;font-size:11px;font-weight:600;margin-top:4px}.debt-payoff-caveat{color:#f59e0b;font-weight:700}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.nbhd-area-tag{background:#00c8531a;border-radius:20px;color:#00c853;display:inline-block;font-size:13px;font-weight:600;margin-left:10px;padding:2px 10px;vertical-align:middle}.page-heading-emoji{font-size:22px;margin-right:8px}.page-top-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.nbhd-loc-btn{font-size:13px}.nbhd-welcome{margin:32px auto;max-width:480px;padding:48px 32px;text-align:center}.nbhd-welcome-emoji{font-size:56px;margin-bottom:16px}.nbhd-welcome h2{color:#222;font-size:20px;font-weight:700;margin-bottom:10px}.nbhd-welcome p{color:#666;font-size:14px;line-height:1.6;margin-bottom:24px}.nbhd-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.nbhd-cat-chip{background:#f5f5f5;border:1.5px solid #e0e0e0;border-radius:20px;color:#555;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:all .15s;white-space:nowrap}.nbhd-cat-chip:hover{border-color:#00c853;color:#00c853}.nbhd-cat-chip.active{background:#00c853;border-color:#00c853;color:#fff}.nbhd-feed{display:flex;flex-direction:column;gap:12px}.nbhd-post{padding:16px 20px;transition:opacity .2s}.nbhd-post-resolved{opacity:.55}.nbhd-post-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.nbhd-post-cat-emoji{flex-shrink:0;font-size:22px}.nbhd-post-meta{flex:1 1;min-width:0}.nbhd-post-cat-label{color:#888;display:block;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.nbhd-post-time{color:#aaa;font-size:12px}.nbhd-post-dist{color:#00c853;font-size:12px;font-weight:600;margin-left:6px}.nbhd-sev-badge{align-items:center;border-radius:20px;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:700;gap:5px;letter-spacing:.4px;padding:3px 10px;text-transform:uppercase}.nbhd-sev-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.nbhd-resolved-badge{background:#51cf661f;border-radius:20px;color:#51cf66;flex-shrink:0;font-size:11px;font-weight:700;padding:3px 10px}.nbhd-post-title{color:#222;font-size:15px;font-weight:700;line-height:1.4;margin-bottom:6px}.nbhd-post-body{color:#555;font-size:13px;line-height:1.55;margin-bottom:12px;white-space:pre-line}.nbhd-post-footer{align-items:center;border-top:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-top:4px;padding-top:10px}.nbhd-post-author{color:#aaa;font-size:12px}.nbhd-post-actions{display:flex;flex-wrap:wrap;gap:6px}.nbhd-react-btn{background:#f5f5f5;border:1.5px solid #e0e0e0;border-radius:20px;color:#555;cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px;transition:all .15s}.nbhd-react-btn.active,.nbhd-react-btn:hover{border-color:#00c853;color:#00c853}.nbhd-react-btn.active{background:#00c8531f}.nbhd-resolve-btn{background:none;border:1.5px solid #ddd;border-radius:20px;color:#888;cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px;transition:all .15s}.nbhd-resolve-btn:hover{border-color:#51cf66;color:#51cf66}.nbhd-radius-labels{color:#aaa;display:flex;font-size:11px;justify-content:space-between;margin-top:2px}input[type=range]{accent-color:#00c853;width:100%}.nbhd-report-btn{background:none;border:1.5px solid #ddd;border-radius:20px;color:#bbb;cursor:pointer;font-size:12px;font-weight:600;margin-left:2px;padding:4px 10px;transition:all .15s}.nbhd-report-btn:hover:not(:disabled){border-color:#e53e3e;color:#e53e3e}.nbhd-report-btn.reported,.nbhd-report-btn:disabled{border-color:#fca5a5;color:#e53e3e;cursor:default;opacity:.7}.nbhd-report-post-title{background:#f9f9f9;border-left:3px solid #e53e3e;border-radius:8px;color:#555;font-size:13px;font-style:italic;margin:0 0 16px;padding:10px 14px}.nbhd-report-note{background:#fff8f8;border-left:3px solid #fca5a5;border-radius:6px;color:#888;font-size:12px;margin-bottom:16px;padding:10px 14px}.form-optional{color:#bbb;font-size:11px;font-weight:400}.btn-danger{background:#e53e3e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .15s}.btn-danger:hover:not(:disabled){background:#c53030}.btn-danger:disabled{cursor:not-allowed;opacity:.6}.nbhd-push-hint{background:#00c85314;border-left:3px solid #00c853;border-radius:6px;color:#2e7d32;font-size:13px;margin-bottom:16px;padding:10px 14px}[data-theme=dark] .nbhd-post-title,[data-theme=dark] .nbhd-welcome h2{color:var(--text)}[data-theme=dark] .nbhd-post-author,[data-theme=dark] .nbhd-post-body,[data-theme=dark] .nbhd-welcome p{color:var(--text-2)}[data-theme=dark] .nbhd-cat-chip,[data-theme=dark] .nbhd-react-btn,[data-theme=dark] .nbhd-resolve-btn{background:var(--surface);border-color:var(--border);color:var(--text-2)}[data-theme=dark] .nbhd-cat-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}[data-theme=dark] .nbhd-post-footer{border-top-color:var(--border)}[data-theme=dark] .nbhd-push-hint{background:#00c8531a}[data-theme=dark] .nbhd-area-tag{background:#00c85326}[data-theme=dark] .nbhd-report-btn{border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .nbhd-report-post-title{background:var(--surface);color:var(--text-2)}[data-theme=dark] .nbhd-report-note{background:#e53e3e14;color:var(--text-2)}@media (max-width:600px){.nbhd-cats{gap:6px}.nbhd-cat-chip{font-size:12px;padding:5px 11px}.nbhd-welcome{padding:32px 16px}.nbhd-post{padding:14px 16px}.nbhd-post-footer{align-items:flex-start;flex-direction:column}.page-top-actions{justify-content:flex-end;width:100%}}.nbhd-map-wrap{border:1.5px solid var(--border);border-radius:8px;margin-bottom:6px;overflow:hidden}.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-tabs{background:var(--surface-2);border-radius:12px;display:flex;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:1 1;font-size:13px;font-weight:600;min-width:max-content;padding:8px 16px;transition:all .15s;white-space:nowrap}.admin-tab:hover{color:var(--text)}.admin-tab.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--primary)}.admin-overview{display:flex;flex-direction:column;gap:20px}.admin-stats-grid{grid-gap:16px;display:grid;gap:16px;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}.admin-stat-card:hover{box-shadow:var(--shadow-md)}.admin-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.admin-stat-body{flex:1 1;min-width:0}.admin-stat-value{color:var(--text);font-size:26px;font-weight:900;line-height:1;margin-bottom:4px}.admin-stat-label{color:var(--text);font-size:13px;font-weight:600}.admin-stat-sub{color:var(--text-muted);font-size:11px;margin-top:2px}.admin-warning-banner{align-items:center;background:#f59e0b1a;border:1px solid #f59e0b4d;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:#f59e0b1f;border-color:#f59e0b40;color:#fbbf24}.admin-quick-nav{display:flex;flex-wrap:wrap;gap:10px}.admin-quick-btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:7px;padding:9px 16px;transition:all .15s}.admin-quick-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.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);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);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);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}.admin-table tbody td{border-bottom:1px solid var(--border);color:var(--text);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)}.admin-row-suspended td{opacity:.6}.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,#f59e0b,#ef4444);border-radius:8px}.admin-family-name,.admin-user-cell{align-items:center;display:flex;gap:10px}.admin-family-name{font-weight:600}.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-2);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-suspend-btn{border:1.5px solid;border-radius:7px;cursor:pointer;font-size:12px;font-weight:700;padding:5px 12px;transition:all .15s}.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:.5}.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;transition:box-shadow .15s}.admin-ticket-card:hover{box-shadow:var(--shadow-sm)}.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:#fbbf2433;border:1px solid #fbbf24;color:#b45309}.admin-priority-high{background:#fb923c33;border:1px solid #fb923c;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);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 .15s}.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:.5}@media (max-width:900px){.admin-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.admin-stats-grid{grid-template-columns:1fr}.admin-ticket-footer{align-items:flex-start;flex-direction:column}}.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}}
/*# sourceMappingURL=main.09d05a1a.css.map*/