@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(vendor/fonts/inter-latin-wght-normal.woff2) format("woff2")}
:root{--bg:#f4f7f8;--card:#fff;--ink:#0f2a33;--mut:#5f7680;--line:#e3eaec;--pri:#1d6fd8;--pri2:#22b8d6;--pril:#e6f6f4;--ind:#4f46e5;--amb:#d97706;--red:#dc2626;--sh:0 1px 2px rgba(15,42,51,.04),0 4px 16px rgba(15,42,51,.06);--r:14px}
*{box-sizing:border-box}html,body{margin:0}body{font-family:Inter,system-ui,sans-serif;font-feature-settings:'cv11','ss01';background:var(--bg);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.side{background:#0b3b3c;background:linear-gradient(180deg,#0b3d3f,#0a2e33);color:#cfe7e4;padding:22px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}
.brand{display:flex;gap:10px;align-items:center;padding:4px 10px 24px;color:#fff;font-weight:700;font-size:17px;letter-spacing:-.01em}
.logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#2de2c4,#1d6fd8);display:grid;place-items:center;box-shadow:0 4px 12px rgba(20,184,166,.35)}
.brand small{display:block;font-weight:500;font-size:11px;color:#8fbfba}
.nav a{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;margin:2px 0;color:#bcd9d5;font-weight:500}
.nav a:hover{background:rgba(255,255,255,.06)}.nav a.on{background:rgba(45,212,191,.16);color:#fff}
.nav a.on svg{color:#5eead4}
.side .foot{margin-top:auto;padding:12px;border-radius:12px;background:rgba(255,255,255,.06);font-size:12px}
.main{min-width:0}
.top{display:flex;align-items:center;gap:14px;padding:18px 32px;background:rgba(244,247,248,.85);backdrop-filter:blur(8px);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}
.top h1{font-size:21px;margin:0;letter-spacing:-.02em}.top .sub{color:var(--mut);font-size:12.5px}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:99px;background:#fef3c7;color:#92400e;border:1px solid #fde68a;white-space:nowrap}
.badge.teal{background:var(--pril);color:var(--pri);border-color:#b7e6df}.badge.ind{background:#eef2ff;color:var(--ind);border-color:#c7d2fe}.badge.gray{background:#f1f5f6;color:var(--mut);border-color:var(--line)}
.sp{flex:1}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#22b8d6);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}
.content{padding:26px 32px 60px;max-width:1280px}
.grid{display:grid;gap:18px}.g5{grid-template-columns:repeat(5,1fr)}.g2{grid-template-columns:1.6fr 1fr}.g2e{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:20px}
.card h3{margin:0 0 4px;font-size:15px;letter-spacing:-.01em}.card .hint{color:var(--mut);font-size:12.5px;margin:0 0 14px}
.ch{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.ch h3{margin:0}
.kpi{position:relative;overflow:hidden}.kpi .ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;margin-bottom:14px}
.kpi .l{color:var(--mut);font-size:12.5px;font-weight:500}.kpi .v{font-size:24px;font-weight:700;letter-spacing:-.025em;margin-top:4px}.kpi .s{font-size:12px;color:var(--mut);margin-top:6px}
.kpi.hl{background:linear-gradient(135deg,#1d6fd8,#0e5f63);color:#fff;border:0}.kpi.hl .l,.kpi.hl .s{color:#b5e4de}
.t1{background:var(--pril);color:var(--pri)}.t2{background:#fef2f2;color:var(--red)}.t3{background:#eef2ff;color:var(--ind)}.t4{background:#fff7ed;color:var(--amb)}.t5{background:rgba(255,255,255,.15);color:#fff}
table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line)}
td{padding:12px;border-bottom:1px solid #eef3f4;vertical-align:middle}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.tag{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:99px;background:#f1f5f6;color:#3b5560}
.cat-travel{background:#e0f2fe;color:#0369a1}.cat-activities{background:#f3e8ff;color:#7e22ce}.cat-purchases{background:#fef3c7;color:#92400e}.cat-gifts{background:#fce7f3;color:#be185d}.cat-clothing{background:#e0e7ff;color:#4338ca}.cat-food{background:#dcfce7;color:#15803d}.cat-school{background:#ffedd5;color:#c2410c}
.kid{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eef3f4}.kid:last-child{border:0}
.kav{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff;flex:none}
.kid b{display:block}.kid span{color:var(--mut);font-size:12.5px}
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 14px;border-radius:10px;font-weight:600;cursor:pointer;font-size:13.5px}
.btn:hover{border-color:#c4d3d6}.btn.p{background:var(--pri);border-color:var(--pri);color:#fff;box-shadow:0 4px 12px rgba(15,118,110,.25)}.btn.p:hover{background:#0d6660}
.btn.sm{padding:6px 10px;font-size:12.5px}.btn.ghost{border-color:transparent;background:transparent}
form .row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:14px}
label.f{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:#33505a}
input,select,textarea{border:1px solid #d5e0e3;border-radius:10px;padding:10px 12px;background:#fbfdfd;color:var(--ink);outline:none;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--pri2);box-shadow:0 0 0 3px rgba(20,184,166,.15);background:#fff}
.seg{display:inline-flex;background:#eef3f4;border-radius:10px;padding:3px}.seg button{border:0;background:transparent;padding:7px 14px;border-radius:8px;font-weight:600;color:var(--mut);cursor:pointer}.seg button.on{background:#fff;color:var(--pri);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.note{font-size:12px;color:var(--mut);display:flex;gap:6px;align-items:center}
.tip{position:relative;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fef3c7;color:#92400e;font-size:11px;font-weight:700;cursor:help}
.tip:hover::after{content:attr(data-tip);position:absolute;bottom:130%;left:50%;transform:translateX(-50%);background:#0f2a33;color:#fff;padding:7px 10px;border-radius:8px;font-size:12px;font-weight:500;white-space:nowrap;z-index:9}
.calc{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border:1px dashed #99e0d6;padding:14px 16px;border-radius:12px;margin-bottom:14px}
.calc .big{font-size:20px;font-weight:700;color:var(--pri)}
.travel{border:1px solid #d6efe9;background:#f8fdfc;border-radius:12px;padding:14px;margin-bottom:14px}
.list-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.muted{color:var(--mut)}.pos{color:#15803d}.neg{color:var(--red)}
.steps .s{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px dashed var(--line)}.steps .s.tot{border:0;font-weight:700;font-size:15px;padding-top:14px}
.method{border:2px solid var(--line);border-radius:14px;padding:18px;position:relative}.method.best{border-color:var(--pri2);background:#f6fefc}
.method .rb{position:absolute;top:-11px;right:14px;background:var(--pri);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:99px}
.method .v{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:6px 0}
.warn{background:#fffbeb;border:1px solid #fde68a;color:#78350f;border-radius:12px;padding:12px 14px;font-size:13px;display:flex;gap:10px;align-items:flex-start}
.hero{background:radial-gradient(1200px 500px at 10% 0%,#134e4a 0,#0b2f33 55%,#081f24 100%);min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.hero .pitch{color:#d6efec;padding:64px;display:flex;flex-direction:column;justify-content:center}
.hero h2{font-size:44px;line-height:1.08;letter-spacing:-.03em;color:#fff;margin:22px 0 16px}.hero h2 em{font-style:normal;background:linear-gradient(90deg,#5eead4,#a5b4fc);-webkit-background-clip:text;color:transparent}
.hero ul{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}.hero li{display:flex;gap:10px;align-items:center}
.hero li i{width:26px;height:26px;border-radius:8px;background:rgba(94,234,212,.15);display:grid;place-items:center;color:#5eead4}
.login{display:grid;place-items:center;padding:32px}.login .card{width:100%;max-width:400px;padding:34px}
.bnav{display:none}
.empty{text-align:center;color:var(--mut);padding:30px}
.prog{height:8px;background:#eef3f4;border-radius:99px;overflow:hidden}.prog i{display:block;height:100%;background:linear-gradient(90deg,#22b8d6,#1d6fd8)}
.toast{position:fixed;bottom:24px;right:24px;background:#0f2a33;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:var(--sh);z-index:50;font-weight:500}
@media(max-width:1100px){.g5{grid-template-columns:repeat(3,1fr)}.g2,.g2e{grid-template-columns:1fr}}
@media(max-width:760px){.shell{grid-template-columns:1fr}.side{display:none}.top{padding:14px 16px}.top h1{font-size:18px}.top .sub,.top .hide-m{display:none}
.content{padding:16px 14px 100px}.g5{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr}.kpi .v{font-size:19px}.kpi .ic{margin-bottom:8px;width:32px;height:32px}.card{padding:16px}
.g5 .kpi:last-child{grid-column:span 2}
.bnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:6px 4px 14px;z-index:20;justify-content:space-around;box-shadow:0 -4px 16px rgba(0,0,0,.05)}
.bnav a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;font-weight:600;color:var(--mut);padding:4px 6px}.bnav a.on{color:var(--pri)}
.hero{grid-template-columns:1fr}.hero .pitch{padding:32px 24px 0}.hero h2{font-size:30px}.hide-m{display:none}
table.resp th:nth-child(n+4),table.resp td:nth-child(n+4):not(.num){display:none}}
.grid>*{min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:6px}.chips label{display:inline-flex;align-items:center;gap:6px;border:1px solid #d5e0e3;border-radius:99px;padding:6px 11px;font-weight:600;font-size:12.5px;cursor:pointer;background:#fbfdfd}
.chips input{width:auto;margin:0;accent-color:#1d6fd8}.chips label:has(input:checked){background:var(--pril);border-color:#99e0d6;color:var(--pri)}
.kebab{border:0;background:transparent;width:32px;height:32px;border-radius:8px;display:inline-grid;place-items:center;color:var(--mut);cursor:pointer}
.kebab:hover{background:#eef3f4;color:var(--ink)}th.act,td.act{width:44px;padding-left:4px;padding-right:4px}
.rmenu{position:absolute;z-index:60;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(15,42,51,.16);padding:6px;min-width:150px}
.rmenu button{display:flex;gap:10px;align-items:center;width:100%;border:0;background:none;padding:9px 10px;border-radius:8px;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}
.rmenu button:hover{background:#f1f5f6}.rmenu button.d{color:var(--red)}
.mwrap{position:fixed;inset:0;background:rgba(8,31,36,.45);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:80;padding:16px}
.modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:24px;width:100%;max-width:420px}
.modal h3{margin:0 0 10px;font-size:18px}.modal p{margin:0 0 8px;line-height:1.5}.mact{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.btn.danger{background:var(--red);border-color:var(--red);box-shadow:0 4px 12px rgba(220,38,38,.25)}
.hist{list-style:none;margin:0;padding:0;max-height:300px;overflow:auto}.hist li{padding:10px 0;border-bottom:1px dashed var(--line);font-size:13px;line-height:1.45}.hist li span{display:block;font-size:11.5px;color:var(--mut);font-weight:600}
.toast{display:flex;gap:14px;align-items:center}.tbtn{border:0;background:rgba(94,234,212,.18);color:#5eead4;font-weight:700;padding:6px 10px;border-radius:8px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.editing{border-color:var(--pri2);box-shadow:0 0 0 3px rgba(20,184,166,.15),var(--sh)}.hl-row td{background:#f0fdfa}
.edited{font-size:10.5px;color:var(--ind);font-weight:600}
.ye-switch{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:18px;padding:14px 18px}
@media(max-width:760px){.toast{left:12px;right:12px;bottom:84px}}
@media(max-width:760px){.grid.g2e,.grid.g2{grid-template-columns:1fr!important}table.resp td,table.resp th{padding:10px 6px}.card:has(table){overflow-x:auto}}
@media(max-width:760px){table.resp th:nth-child(3):not(.num),table.resp td:nth-child(3):not(.num){display:none}table.resp td{font-size:13px}}
@media(max-width:760px){table.resp th.num{display:table-cell}}

/* ===================== v2: polish, dark mode, mobile-first PWA ===================== */
:root{--bg:#f3f6f8;--bg2:#e9f3f1;--card:rgba(255,255,255,.86);--solid:#fff;--ink:#0f2a33;--mut:#566d77;--line:#e1e9ec;--soft:#f1f5f6;--field:#fbfdfd;--fieldline:#d3dee2;
 --pri:#1d6fd8;--pri2:#22b8d6;--pril:#e3f5f2;--ind:#4f46e5;--sh:0 1px 2px rgba(15,42,51,.04),0 8px 24px rgba(15,42,51,.07);--shh:0 2px 4px rgba(15,42,51,.05),0 16px 40px rgba(15,42,51,.12);
 --grad:linear-gradient(135deg,#1d6fd8 0%,#0e7490 55%,#4f46e5 130%);--sat:env(safe-area-inset-top);--sab:env(safe-area-inset-bottom)}
[data-theme=dark]{--bg:#0b1a1f;--bg2:#0f2429;--card:rgba(20,38,44,.82);--solid:#14262c;--ink:#e6f1f2;--mut:#9fb5bc;--line:#22393f;--soft:#1a3036;--field:#102127;--fieldline:#2b464d;
 --pri:#2de2c4;--pri2:#2de2c4;--pril:rgba(45,212,191,.12);--ind:#a5b4fc;--sh:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);--shh:0 16px 40px rgba(0,0,0,.4);color-scheme:dark}
body{background:radial-gradient(1200px 600px at 100% -10%,var(--bg2),transparent 60%),var(--bg);background-attachment:fixed;color:var(--ink);transition:background-color .3s,color .3s}
.card{background:var(--card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:var(--line);transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
.card:hover{box-shadow:var(--shh)}.kpi:hover,.method:hover{transform:translateY(-3px)}
.kpi.hl{background:var(--grad);box-shadow:0 10px 30px rgba(14,116,144,.3)}
.kpi.hl::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 70%)}
.kpi::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--accent,transparent);opacity:.9}
.kpi:nth-child(1){--accent:linear-gradient(90deg,#22b8d6,#1d6fd8)}.kpi:nth-child(2){--accent:linear-gradient(90deg,#fb7185,#e11d48)}.kpi:nth-child(3){--accent:linear-gradient(90deg,#818cf8,#4f46e5)}.kpi:nth-child(4){--accent:linear-gradient(90deg,#fbbf24,#d97706)}
.top{background:color-mix(in srgb,var(--bg) 82%,transparent);border-color:var(--line);padding-top:calc(18px + var(--sat))}
.top h1{color:var(--ink)}.content{animation:pageIn .35s cubic-bezier(.2,.7,.2,1)}
@keyframes pageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.side{background:linear-gradient(180deg,#0b3d3f 0%,#0a2e33 60%,#0b2530 100%)}
[data-theme=dark] .side{background:linear-gradient(180deg,#0a2227,#071519);border-right:1px solid var(--line)}
.nav a{transition:background .15s,color .15s,transform .15s}.nav a:hover{transform:translateX(2px)}
.nav a.on{background:linear-gradient(90deg,rgba(45,212,191,.22),rgba(45,212,191,.06));box-shadow:inset 3px 0 0 #2de2c4}
.greet{display:flex;align-items:center;gap:12px}.greet .avatar{width:42px;height:42px;font-size:14px;box-shadow:0 4px 14px rgba(79,70,229,.3)}
.greet small{display:block;color:var(--mut);font-size:12.5px;font-weight:500}
.iconbtn{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--solid);color:var(--ink);display:inline-grid;place-items:center;cursor:pointer;transition:transform .15s,background .15s}
.iconbtn:hover{transform:translateY(-1px)}.iconbtn:active{transform:scale(.94)}
.btn{background:var(--solid);color:var(--ink);border-color:var(--line);transition:transform .12s,box-shadow .2s,background .2s}.btn:active{transform:scale(.97)}
.btn.p{background:linear-gradient(135deg,#1d6fd8,#0e7490);border-color:transparent;color:#fff}.btn.p:hover{background:linear-gradient(135deg,#0d6660,#0c6680);box-shadow:0 8px 20px rgba(15,118,110,.3)}
.btn.ghost{background:transparent}
[data-theme=dark] .btn.p{background:linear-gradient(135deg,#22b8d6,#0891b2);color:#04211f}
input,select,textarea{background:var(--field);border-color:var(--fieldline);color:var(--ink);transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{background:var(--solid)}
label.f,.f{color:var(--mut)!important}
th{color:var(--mut);border-color:var(--line)}td{border-color:var(--line)}
tbody tr{transition:background .15s}tbody tr:hover td{background:color-mix(in srgb,var(--pril) 55%,transparent)}
.seg{background:var(--soft)}.seg button{transition:all .2s}.seg button.on{background:var(--solid);color:var(--pri)}
.kid{border-color:var(--line)}.prog{background:var(--soft)}
.travel{background:color-mix(in srgb,var(--pril) 50%,transparent);border-color:color-mix(in srgb,var(--pri2) 30%,transparent)}
.calc{background:var(--pril);border-color:color-mix(in srgb,var(--pri2) 45%,transparent)}
.chips label{background:var(--field);border-color:var(--fieldline);color:var(--ink);transition:all .15s}.chips label:active{transform:scale(.95)}
.method{border-color:var(--line)}.method.best{background:var(--pril)}
.kebab{color:var(--mut)}.kebab:hover{background:var(--soft);color:var(--ink)}
.rmenu,.modal{background:var(--solid);border-color:var(--line);color:var(--ink)}.rmenu button{color:var(--ink)}.rmenu button:hover{background:var(--soft)}
.rmenu{animation:pop .14s ease-out;transform-origin:top right}@keyframes pop{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}
.modal{animation:pop .18s ease-out}
.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 16px}.empty .eic{width:52px;height:52px;border-radius:16px;background:var(--pril);color:var(--pri);display:grid;place-items:center}
.empty b{color:var(--ink)}
.switch{position:relative;width:46px;height:26px;border-radius:99px;background:var(--soft);border:1px solid var(--line);cursor:pointer;transition:background .2s;flex:none}
.switch i{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .25s cubic-bezier(.3,1.4,.5,1)}
.switch.on{background:#1d6fd8}.switch.on i{transform:translateX(20px)}
/* dark-mode fixes for fixed light colours */
[data-theme=dark] .badge{background:rgba(251,191,36,.14);color:#fcd34d;border-color:rgba(251,191,36,.3)}
[data-theme=dark] .badge.teal{background:rgba(45,212,191,.14);color:#5eead4;border-color:rgba(45,212,191,.3)}
[data-theme=dark] .badge.ind{background:rgba(129,140,248,.16);color:#c7d2fe;border-color:rgba(129,140,248,.3)}
[data-theme=dark] .badge.gray{background:var(--soft);color:var(--mut);border-color:var(--line)}
[data-theme=dark] .warn{background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.28);color:#fde68a}
[data-theme=dark] .tag{background:var(--soft);color:#cfe0e3}
[data-theme=dark] .cat-travel{background:rgba(14,165,233,.18);color:#7dd3fc}[data-theme=dark] .cat-activities{background:rgba(168,85,247,.18);color:#d8b4fe}[data-theme=dark] .cat-purchases{background:rgba(245,158,11,.18);color:#fcd34d}
[data-theme=dark] .cat-gifts{background:rgba(236,72,153,.18);color:#f9a8d4}[data-theme=dark] .cat-clothing{background:rgba(99,102,241,.2);color:#c7d2fe}[data-theme=dark] .cat-food{background:rgba(34,197,94,.18);color:#86efac}[data-theme=dark] .cat-school{background:rgba(249,115,22,.18);color:#fdba74}
[data-theme=dark] .t1{background:rgba(45,212,191,.14);color:#5eead4}[data-theme=dark] .t2{background:rgba(248,113,113,.14);color:#fca5a5}[data-theme=dark] .t3{background:rgba(129,140,248,.16);color:#c7d2fe}[data-theme=dark] .t4{background:rgba(251,191,36,.14);color:#fcd34d}
[data-theme=dark] .pos{color:#4ade80}[data-theme=dark] .neg{color:#f87171}[data-theme=dark] .edited{color:#c7d2fe}
[data-theme=dark] .tip{background:rgba(251,191,36,.2);color:#fcd34d}
[data-theme=dark] .hl-row td{background:rgba(45,212,191,.08)}
[data-theme=dark] [style*="background:#dcfce7"]{background:rgba(34,197,94,.18)!important;color:#86efac!important}
[data-theme=dark] [style*="background:#fce7f3"]{background:rgba(236,72,153,.18)!important;color:#f9a8d4!important}
[data-theme=dark] [style*="background:#eef2ff"]{background:rgba(129,140,248,.14)!important;color:#c7d2fe!important}
[data-theme=dark] [style*="background:#f0fdf4"]{background:rgba(34,197,94,.1)!important}
[data-theme=dark] [style*="color:#92400e"]{color:#fcd34d!important}
[data-theme=dark] [style*="color:#3730a3"]{color:#c7d2fe!important}
[data-theme=dark] .toast{background:#e6f1f2;color:#0b1a1f}[data-theme=dark] .tbtn{background:#1d6fd8;color:#fff}
[data-theme=dark] .hero{background:radial-gradient(1200px 500px at 10% 0%,#0f3b3a 0,#081a1f 60%,#050f12 100%)}
/* FAB, sheets, install */
.fab{display:none}
.sheet-close,.grabber{display:none}
.backdrop{position:fixed;inset:0;background:rgba(5,20,24,.45);backdrop-filter:blur(2px);z-index:70;animation:fade .2s}@keyframes fade{from{opacity:0}}
.qsheet{position:fixed;left:0;right:0;bottom:0;z-index:75;background:var(--solid);border-radius:22px 22px 0 0;padding:10px 18px calc(20px + var(--sab));box-shadow:0 -10px 40px rgba(0,0,0,.2);animation:up .28s cubic-bezier(.2,.8,.2,1)}
@keyframes up{from{transform:translateY(100%)}to{transform:none}}
.qsheet h3{margin:8px 0 14px;font-size:17px}.qopts{display:grid;gap:10px}
.qopt{display:flex;gap:14px;align-items:center;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--card);font-weight:600;color:var(--ink);min-height:64px}
.qopt i{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;flex:none}.qopt small{display:block;color:var(--mut);font-weight:500;font-size:12.5px}
.qsheet .grabber{display:block;width:40px;height:5px;border-radius:9px;background:var(--line);margin:0 auto 6px}
@media(min-width:761px){.qsheet{left:50%;right:auto;bottom:50%;transform:translate(-50%,50%);width:420px;border-radius:20px;animation:pop .2s}.qsheet .grabber{display:none}}
@media(max-width:760px){
 body{font-size:15px}.top{padding:calc(12px + var(--sat)) 16px 12px}
 .bnav{padding-bottom:calc(8px + var(--sab));background:color-mix(in srgb,var(--solid) 92%,transparent);backdrop-filter:blur(12px);border-color:var(--line)}
 .bnav a{min-width:56px;min-height:48px;justify-content:center;border-radius:12px}.bnav a.on{background:var(--pril)}
 .content{padding-bottom:calc(120px + var(--sab))}
 .fab{display:grid;place-items:center;position:fixed;right:18px;bottom:calc(84px + var(--sab));width:60px;height:60px;border-radius:20px;border:0;color:#fff;background:var(--grad);box-shadow:0 12px 28px rgba(14,116,144,.45);z-index:30;cursor:pointer;transition:transform .15s}
 .fab:active{transform:scale(.92)}
 .btn{min-height:44px}.kebab{width:44px;height:44px}input,select,textarea{min-height:46px;font-size:16px}
 .sheetable{display:none}
 body.sheet-open .sheetable{display:block;position:fixed;left:0;right:0;bottom:0;z-index:75;max-height:88vh;overflow:auto;border-radius:22px 22px 0 0;padding:10px 18px calc(24px + var(--sab));background:var(--solid);animation:up .28s cubic-bezier(.2,.8,.2,1);box-shadow:0 -10px 40px rgba(0,0,0,.25)}
 .sheetable .sheet-close{display:inline-grid;position:absolute;right:12px;top:12px}
 .greet .avatar{width:36px;height:36px}
 tbody tr{touch-action:pan-y}tbody tr.swiping td{transition:none}
 .rmenu button{padding:13px 12px;font-size:15px}
}

.show-m{display:none}
@media(max-width:760px){.show-m{display:inline}.sheetable .grabber{display:block;width:40px;height:5px;border-radius:9px;background:var(--line);margin:0 auto 6px}button.show-m{display:inline-flex}}
@media(max-width:760px){.greet h1{font-size:17px;white-space:nowrap}.greet .sub{display:none}.top .badge{font-size:10.5px;padding:4px 8px}}
@media(max-width:760px){#installbtn{display:none!important}.top{gap:8px;overflow:hidden}.greet{min-width:0}.greet h1{overflow:hidden;text-overflow:ellipsis}html,body{overflow-x:hidden}}

.syncpill{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;padding:5px 11px;border-radius:99px;border:1px solid var(--line);background:var(--solid);color:var(--mut);white-space:nowrap}
.syncpill i{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.syncpill.ok{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.syncpill.busy{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.syncpill.busy i{animation:pulse 1s infinite}
.syncpill.off{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.syncpill.warn{color:#b45309;background:#fffbeb;border-color:#fde68a}
@keyframes pulse{50%{opacity:.3}}
[data-theme=dark] .syncpill.ok{color:#6ee7b7;background:rgba(16,185,129,.14);border-color:rgba(16,185,129,.35)}
[data-theme=dark] .syncpill.busy{color:#93c5fd;background:rgba(59,130,246,.14);border-color:rgba(59,130,246,.35)}
[data-theme=dark] .syncpill.off{color:#cbd5e1;background:rgba(148,163,184,.14);border-color:rgba(148,163,184,.35)}
[data-theme=dark] .syncpill.warn{color:#fcd34d;background:rgba(251,191,36,.14);border-color:rgba(251,191,36,.35)}
@media(max-width:760px){.syncpill{padding:5px 8px;font-size:11px}}
@media(max-width:760px){.top{flex-wrap:wrap;row-gap:8px}.top>.greet,.top>div:first-child{flex:1 1 150px}.top .sp{display:none}.syncpill{order:9}}

/* ===================== v3: Care Count brand + light sidebar ===================== */
:root{--pri:#1d6fd8;--pri2:#22b8d6;--pril:#e8f1fd;--bg:#f5f7fb;--ink:#111827}
[data-theme=dark]{--ink:#e6f1f2;--mut:#9aa6c0;--bg:#0f1220;--bg2:#141a2e;--card:rgba(22,28,48,.85);--solid:#161c30;--line:#252d48;--soft:#1c2340;--field:#121830;--fieldline:#2c3555;--pri:#2de2c4;--pri2:#3b82f6;--pril:rgba(45,226,196,.12)}
.brand{gap:12px}.ccmark{width:40px;height:40px;flex:none}.brand.big .ccmark{width:56px;height:56px}
.brand .wm b{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em;color:#111827}.brand.big .wm b{font-size:26px}
.brand .wm small{display:block;font-size:11.5px;font-weight:600;color:#0e7490;margin-top:1px}.brand.big .wm small{font-size:14px}
[data-theme=dark] .brand .wm b{color:#fff}[data-theme=dark] .brand .wm small{color:#7dd3fc}
.side{background:#fff;color:#334155;border-right:1px solid var(--line)}
.side .nav a{color:#475569}.side .nav a:hover{background:#f1f5f9}.side .nav a.on{background:linear-gradient(90deg,rgba(45,226,196,.16),rgba(59,130,246,.14));color:#111827}.side .nav a.on svg{color:#1d6fd8}
.side .foot{background:#f1f5f9}.side .foot b{color:#111827!important}.side .foot a{color:#1d6fd8!important}
[data-theme=dark] .side{background:linear-gradient(180deg,#141a2e,#0f1220);color:#cbd5e1}
[data-theme=dark] .side .nav a{color:#aab4cc}[data-theme=dark] .side .nav a:hover{background:rgba(255,255,255,.05)}[data-theme=dark] .side .nav a.on{color:#fff}[data-theme=dark] .side .nav a.on svg{color:#2de2c4}
[data-theme=dark] .side .foot{background:rgba(255,255,255,.05)}[data-theme=dark] .side .foot b{color:#fff!important}[data-theme=dark] .side .foot a{color:#5eead4!important}
.hero{background:radial-gradient(1200px 500px at 10% 0%,#dff7f3 0,#eef4ff 55%,#f5f7fb 100%)}.hero .pitch{color:#334155}.hero h2{color:#111827}
.hero h2 em{background:linear-gradient(90deg,#0ea5a0,#2563eb);-webkit-background-clip:text}.hero li i{background:rgba(29,111,216,.1);color:#1d6fd8}
[data-theme=dark] .hero{background:radial-gradient(1200px 500px at 10% 0%,#12304a 0,#0f1220 60%,#0a0d18 100%)}[data-theme=dark] .hero .pitch{color:#cbd5e1}[data-theme=dark] .hero h2{color:#fff}
[data-theme=dark] .hero h2 em{background:linear-gradient(90deg,#2de2c4,#3b82f6);-webkit-background-clip:text}[data-theme=dark] .hero li i{background:rgba(45,226,196,.14);color:#5eead4}
.themebtn{width:auto!important;padding:0 10px;gap:6px;display:inline-flex!important;align-items:center;font-size:12.5px;font-weight:600}
[data-theme=dark] .top{background:rgba(15,18,32,.85)}
.btn.p{background:linear-gradient(135deg,#22b8d6,#1d6fd8);color:#fff}[data-theme=dark] .btn.p{background:linear-gradient(135deg,#2de2c4,#3b82f6);color:#0f1220}
.mlogo .ccmark{width:30px;height:30px;display:block}
