:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);--crimson:#a5182f;--maroon:#5b2140;--teal:#16928c;--teal-deep:#0e6b67;--gold:#cdb45e;--bg:#f6f4f5;--surface:#fff;--ink:#23161c;--muted:#6f5f67;--line:#e7dfe3;--soft:#f1ecee;--off:#8a7c83;--off-bg:#efeaec;--done-bg:#e3f2f1;--live-bg:#fbe8eb;--focus:#16928c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#170f13;--surface:#21161b;--ink:#f4ecef;--muted:#b5a5ad;--line:#3a2a31;--soft:#2b1e24;--crimson:#e0485f;--teal:#3cc3bb;--teal-deep:#3cc3bb;--gold:#e2cd7f;--off:#a4959c;--off-bg:#33252b;--done-bg:#133330;--live-bg:#3d1a22;--focus:#3cc3bb}}:root[data-theme=dark]{--bg:#170f13;--surface:#21161b;--ink:#f4ecef;--muted:#b5a5ad;--line:#3a2a31;--soft:#2b1e24;--crimson:#e0485f;--teal:#3cc3bb;--teal-deep:#3cc3bb;--gold:#e2cd7f;--off:#a4959c;--off-bg:#33252b;--done-bg:#133330;--live-bg:#3d1a22;--focus:#3cc3bb}html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Readex Pro,Segoe UI,Tahoma,Arial,sans-serif;font-size:15px;line-height:1.55}.num{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.wrap{max-width:1240px;margin:0 auto;padding:20px 20px 60px}.top{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.logo{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;padding:6px 12px;display:flex}.logo img{width:auto;height:44px;display:block}.top h1{color:var(--muted);margin:0;font-size:18px;font-weight:500}.top .spacer{flex:1}.sync{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.sync i{background:var(--off);border-radius:50%;width:8px;height:8px;display:inline-block}.sync.ok i{background:var(--teal)}.sync.local i{background:var(--gold)}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--crimson);border-color:var(--crimson);color:#fff}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:0 0;border-color:#0000}.btn:disabled{opacity:.45;cursor:not-allowed}.btn svg{width:16px;height:16px}.ledger{color:#fff;background:linear-gradient(115deg,#8e1830 0%,#5b2140 62%,#3c1830 100%);border-radius:22px;grid-template-columns:1.2fr 2fr;gap:28px;margin-top:22px;padding:26px 28px;display:grid;position:relative;overflow:hidden}.ledger:after{content:"";inset-inline-start:-60px;border:38px solid #16928c59;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-90px}.bal-label{opacity:.8;font-size:14px}.bal{letter-spacing:-.5px;margin:6px 0 4px;font-size:clamp(34px,5vw,52px);font-weight:600;line-height:1.1}.bal small{opacity:.8;margin-inline-start:6px;font-size:.38em;font-weight:400}.bal.neg{color:#ffc2cb}.bal-sub{opacity:.85;font-size:13.5px}.ledger .actions{z-index:1;flex-wrap:wrap;gap:8px;margin-top:14px;display:flex;position:relative}.ledger .btn{color:#fff;background:#ffffff1f;border-color:#ffffff38}.ledger .btn:hover{background:#fff3}.meter-block{z-index:1;flex-direction:column;justify-content:center;gap:14px;display:flex;position:relative}.meter{background:#ffffff24;border-radius:99px;height:14px;display:flex;overflow:hidden}.meter span{height:100%;display:block}.meter .m-msg{background:#fff}.meter .m-eng{background:var(--gold)}.meter .m-oth{background:#3cc3bb}.meter-legend{flex-wrap:wrap;gap:20px;font-size:13.5px;display:flex}.meter-legend b{font-size:19px;font-weight:600;display:block}.meter-legend .dot{vertical-align:middle;border-radius:3px;width:9px;height:9px;margin-inline-end:6px;display:inline-block}.stats{opacity:.95;flex-wrap:wrap;gap:26px;font-size:13px;display:flex}.stats b{font-size:22px;font-weight:600;display:block}.bal-client{opacity:1;font-weight:600}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px;display:flex}.field{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;height:40px;padding:0 12px;display:flex}.field input,.field select{background:0 0;border:0;outline:none;min-width:0;height:100%}.field.search{flex:1;min-width:200px}.field.client{height:40px;font-weight:500}.field.client select{max-width:220px}.cpr{color:var(--muted);font-size:12.5px}.field.search input{width:100%}.seg{background:var(--soft);border-radius:10px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:6px 12px;font-size:13.5px}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-top:16px}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding:16px 18px 0;display:flex}.chart-head h2{margin:0;font-size:15px;font-weight:500}.chart-head span{color:var(--muted);font-size:13px}.chart{padding:8px 12px 12px;overflow-x:auto}.chart svg{width:100%;min-width:560px;height:170px;display:block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1080px}th{color:var(--muted);text-align:start;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface);padding:12px;font-size:13px;font-weight:500;position:sticky;top:0}td{white-space:nowrap;border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 12px;font-size:14px}tbody tr:hover{background:var(--soft)}tr.day-break td{border-top:2px solid var(--line)}td.name{white-space:normal;min-width:180px;max-width:260px;font-weight:500}td.name small{color:var(--muted);font-size:12.5px;font-weight:400;display:block}.type{align-items:center;gap:6px;font-size:13px;display:inline-flex}.type i{border-radius:2px;width:8px;height:8px;display:inline-block}.pill{cursor:pointer;border:0;border-radius:99px;padding:3px 11px;font-size:12.5px;font-weight:500}.pill.active{background:var(--live-bg);color:var(--crimson)}.pill.off{background:var(--off-bg);color:var(--off)}.pill.completed{background:var(--done-bg);color:var(--teal-deep)}.pill:disabled{cursor:default}a.link{color:var(--teal-deep);direction:ltr;unicode-bidi:isolate;font-size:13px;text-decoration:none}a.link:hover{text-decoration:underline}.row-actions{justify-content:flex-end;gap:2px;display:flex}.icon-btn{cursor:pointer;width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--soft);color:var(--ink)}.icon-btn svg{width:16px;height:16px}tfoot td{background:var(--soft);border-bottom:0;font-weight:600}.empty{text-align:center;color:var(--muted);padding:56px 20px}.empty h3{color:var(--ink);margin:0 0 6px;font-size:17px;font-weight:500}.empty .btns{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}dialog{background:var(--surface);color:var(--ink);border:0;border-radius:18px;width:min(640px,100vw - 24px);max-height:calc(100vh - 40px);padding:0}dialog::backdrop{background:#1e0a1473}.dlg-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.dlg-head h3{margin:0;font-size:17px;font-weight:500}.dlg-body{grid-template-columns:1fr 1fr;gap:14px;padding:18px 22px;display:grid}.dlg-body .full{grid-column:1/-1}.dlg-body label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.dlg-body input,.dlg-body select{border:1px solid var(--line);background:var(--bg);height:40px;color:var(--ink);border-radius:10px;padding:0 12px;font-size:14.5px}.dlg-body .hint{color:var(--muted);grid-column:1/-1;margin:-6px 0 0;font-size:12.5px}.dlg-foot{border-top:1px solid var(--line);justify-content:flex-start;gap:8px;padding:14px 22px;display:flex}.err{color:var(--crimson);grid-column:1/-1;min-height:1em;font-size:13px}.topups{border:1px solid var(--line);border-radius:12px;grid-column:1/-1;max-height:220px;overflow:auto}.topups div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:14px;display:flex}.topups div:last-child{border-bottom:0}.topups .note{color:var(--muted);flex:1;font-size:12.5px}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-top:22px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:15px}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--crimson);font-weight:500}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;display:flex}.dash-head h2{margin:0;font-size:18px;font-weight:500}.kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:14px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.kpi .v{font-size:26px;font-weight:600;line-height:1.2}.kpi .l{color:var(--muted);font-size:13px}.kpi .d{color:var(--muted);margin-top:4px;font-size:12.5px}.kpi.alert{border-color:var(--crimson)}.kpi.alert .v{color:var(--crimson)}.bad{color:var(--crimson)!important}.good{color:var(--teal-deep)!important}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid2 .panel{margin-top:16px}.cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;padding:12px 18px 18px;display:grid}.ccard{border:1px solid var(--line);cursor:pointer;background:var(--bg);text-align:start;border-radius:12px;padding:14px}.ccard:hover{border-color:var(--muted)}.ccard.low{border-color:var(--crimson)}.ccard h4{margin:0 0 6px;font-size:15px;font-weight:500}.ccard .b{font-size:22px;font-weight:600}.ccard .m{color:var(--muted);font-size:12.5px}.ccard.low .b{color:var(--crimson)}.rank{margin:0;padding:4px 18px 14px;list-style:none}.rank li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding:9px 0;font-size:14px;display:flex}.rank li:last-child{border-bottom:0}.rank .n{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rank .s{color:var(--muted);font-size:12.5px}.rank-cols{grid-template-columns:1fr 1fr;display:grid}.rank-cols h3{color:var(--muted);margin:10px 18px 0;font-size:13.5px;font-weight:500}.bars{padding:8px 0 14px}.bars .row{grid-template-columns:120px 1fr 90px;align-items:center;gap:10px;padding:6px 18px;font-size:14px;display:grid}.bars .track{background:var(--soft);border-radius:99px;height:10px;overflow:hidden}.bars .track span{border-radius:99px;height:100%;display:block}.muted-empty{color:var(--muted);padding:22px 18px;font-size:14px}.badge-meta{background:var(--done-bg);color:var(--teal-deep);vertical-align:middle;border-radius:6px;margin-inline-start:6px;padding:0 6px;font-size:11px;display:inline-block}@media (width<=760px){.grid2,.rank-cols{grid-template-columns:1fr}.bars .row{grid-template-columns:90px 1fr 80px}}#metaDlg{width:min(860px,100vw - 24px)}.mbody{flex-direction:column;gap:18px;padding:18px 22px;display:flex}.msec h4{margin:0 0 8px;font-size:14.5px;font-weight:500}.mstatus{background:var(--soft);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.mstatus i{background:var(--off);border-radius:50%;flex:none;width:12px;height:12px}.mstatus.ok i{background:var(--teal)}.mstatus.bad i{background:var(--crimson)}.mstatus b{font-weight:500;display:block}.mstatus span{color:var(--muted);font-size:13px}.mrow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mrow input,.mrow select{border:1px solid var(--line);background:var(--bg);height:40px;color:var(--ink);border-radius:10px;padding:0 12px;font-size:14px}.mrow input{flex:1;min-width:220px}.mnote{color:var(--muted);margin:6px 0 0;font-size:12.5px}.mwarn{color:var(--crimson);background:var(--live-bg);border-radius:10px;margin:0;padding:10px 12px;font-size:13px}.mguide{border:1px solid var(--line);background:var(--bg);border-radius:12px;overflow:hidden}.mguide summary{cursor:pointer;color:var(--ink);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:14px;font-weight:500;list-style:none;display:flex}.mguide summary::-webkit-details-marker{display:none}.mguide summary:after{content:"";border-inline-end:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:8px;height:8px;margin-top:-4px;transition:transform .18s;transform:rotate(45deg)}.mguide[open] summary:after{margin-top:4px;transform:rotate(-135deg)}.mguide summary:hover{background:var(--soft)}.mguide-body{border-top:1px solid var(--line);padding:0 14px 14px}.mguide ol{color:var(--ink);flex-direction:column;gap:10px;margin:12px 0 0;padding:0 1.2em 0 0;font-size:13.5px;line-height:1.55;display:flex}.mguide li::marker{color:var(--crimson);font-weight:600}.mguide a{color:var(--teal-deep);direction:ltr;unicode-bidi:isolate;text-decoration:none}.mguide a:hover{text-decoration:underline}.mguide code{background:var(--soft);direction:ltr;unicode-bidi:isolate;border-radius:6px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.mguide .tip{color:var(--muted);background:var(--soft);border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:12.5px}.acc-wrap{border:1px solid var(--line);border-radius:12px;max-height:320px;overflow:auto}.acc{border-collapse:collapse;width:100%;min-width:600px}.acc td,.acc th{border-bottom:1px solid var(--line);padding:9px 12px;font-size:13.5px}.acc tr:last-child td{border-bottom:0}.acc select{border:1px solid var(--line);background:var(--bg);height:34px;color:var(--ink);border-radius:8px;max-width:220px;padding:0 8px}.acc .off-acc{color:var(--muted)}.errlist{margin:6px 0 0;padding:0;font-size:13px;list-style:none}.errlist li{border-top:1px solid var(--line);padding:6px 0}.errlist b{font-weight:500}.toast{bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;z-index:10;border-radius:12px;padding:10px 18px;font-size:14px;transition:opacity .2s;position:fixed;inset-inline-start:50%;transform:translate(50%)}.toast.show{opacity:1}@media (width<=760px){.ledger{grid-template-columns:1fr;padding:22px}.dlg-body{grid-template-columns:1fr}.top h1{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.app{align-items:stretch;min-height:100dvh;display:flex}.sidebar{--sb-w:268px;--sb-collapsed:76px;height:100dvh;width:var(--sb-w);background:var(--surface);border-inline-start:1px solid var(--line);z-index:40;padding:16px 14px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));flex-direction:column;flex:none;align-self:flex-start;gap:8px;transition:width .28s cubic-bezier(.16,1,.3,1),padding .28s cubic-bezier(.16,1,.3,1);display:flex;position:sticky;top:0;overflow:hidden}.sidebar-brand{border-bottom:1px solid var(--line);flex-direction:column;gap:12px;padding:4px 4px 14px;display:flex;position:relative}.sidebar-brand .logo{justify-content:center;align-self:stretch}.sidebar-brand .logo img{height:40px}.brand-text{flex-direction:column;gap:2px;padding:0 4px;display:flex}.brand-text strong{color:var(--ink);font-size:16px;font-weight:600}.brand-text span{color:var(--muted);font-size:12.5px}.sidebar-collapse{border:1px solid var(--line);background:var(--bg);cursor:pointer;width:34px;height:34px;color:var(--muted);border-radius:10px;flex:none;align-self:flex-end;place-items:center;display:inline-grid}.sidebar-collapse:hover{color:var(--ink);border-color:var(--muted)}.sidebar-collapse svg{width:16px;height:16px;transform:scaleX(-1)}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:12px 0;display:flex;overflow:auto}.sidebar-nav button,.sidebar-nav a{text-align:start;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:11px 12px;font-size:14.5px;text-decoration:none;transition:background .18s,color .18s;display:flex}.sidebar-nav button:hover,.sidebar-nav a:hover{background:var(--soft);color:var(--ink)}.sidebar-nav button[aria-selected=true],.sidebar-nav a[aria-current=page]{background:var(--live-bg);color:var(--crimson);font-weight:500}.sidebar-nav button svg,.sidebar-nav a svg{flex:none;width:18px;height:18px}.sidebar-nav .nav-label{text-overflow:ellipsis;overflow:hidden}.sidebar-foot{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:12px;display:flex}.theme-toggle{border:1px solid var(--line);background:var(--bg);cursor:pointer;color:var(--ink);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13.5px;display:flex}.theme-toggle:hover{border-color:var(--muted)}.theme-toggle .theme-ico{background:var(--soft);border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:inline-grid}.theme-toggle svg{width:16px;height:16px}.theme-toggle .ico-sun,.theme-toggle .ico-moon{display:none}:root[data-theme=dark] .theme-toggle .ico-sun,:root[data-theme=light] .theme-toggle .ico-moon{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) .theme-toggle .ico-sun{display:block}}@media (prefers-color-scheme:light){:root:not([data-theme=light]):not([data-theme=dark]) .theme-toggle .ico-moon{display:block}}.user-box{flex-direction:column;gap:8px;display:flex}.user-role{color:var(--muted);min-height:1.2em;padding:0 4px;font-size:12.5px}.sidebar .sync{padding:0 4px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.main>.wrap{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:20px 20px 60px}.menu-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:40px;height:40px;color:var(--ink);border-radius:10px;place-items:center;display:none}.menu-btn svg{width:20px;height:20px}.sidebar-backdrop{z-index:35;background:#1e0a1466;display:none;position:fixed;inset:0}.tabs{display:none!important}html[data-sidebar=collapsed] .sidebar{width:var(--sb-collapsed);padding-inline:10px}html[data-sidebar=collapsed] .brand-text,html[data-sidebar=collapsed] .nav-label,html[data-sidebar=collapsed] .theme-toggle #themeLabel,html[data-sidebar=collapsed] .user-role,html[data-sidebar=collapsed] .sidebar .sync span,html[data-sidebar=collapsed] #logoutBtn{display:none}html[data-sidebar=collapsed] .sidebar-brand{align-items:center;padding-bottom:10px}html[data-sidebar=collapsed] .sidebar-brand .logo{border-radius:12px;padding:6px}html[data-sidebar=collapsed] .sidebar-brand .logo img{height:28px}html[data-sidebar=collapsed] .sidebar-collapse{align-self:center}html[data-sidebar=collapsed] .sidebar-nav button,html[data-sidebar=collapsed] .sidebar-nav a{justify-content:center;padding:12px}html[data-sidebar=collapsed] .theme-toggle{justify-content:center;padding:10px}html[data-sidebar=collapsed] .user-box{align-items:center}html[data-sidebar=collapsed] .sidebar .sync{justify-content:center;padding:0}html[data-sidebar=collapsed] .sidebar-collapse svg{transform:none}.clients-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:18px;display:flex}.clients-head h2{margin:0;font-size:18px;font-weight:500}.clients-head p{color:var(--muted);margin:4px 0 0;font-size:13.5px}.clients-form{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:14px 16px;display:flex}.clients-form input{border:1px solid var(--line);background:var(--bg);height:40px;color:var(--ink);border-radius:10px;flex:1;min-width:160px;padding:0 12px;font-size:14.5px}.clients-panel{margin-top:16px}.clients-table{min-width:820px}.clients-table th,.clients-table td{text-align:start;vertical-align:middle}.clients-table .meta-id{color:var(--muted);font-size:13px}.clients-table .unit{color:var(--muted);margin-inline-start:6px;font-size:13px;font-weight:500}.clients-table .bad .unit{color:var(--crimson)}.clients-table th:last-child,.clients-table td:last-child{text-align:end}.clients-table .row-actions{justify-content:flex-end;gap:6px;width:100%}.select-wrap{vertical-align:middle;min-width:148px;display:inline-flex;position:relative}.select-wrap svg{inset-inline-end:12px;pointer-events:none;color:currentColor;width:16px;height:16px;position:absolute;top:50%;transform:translateY(-50%)}.select{appearance:none;border:1px solid var(--line);background:var(--surface);width:100%;height:40px;color:var(--ink);padding:0 14px;font:inherit;cursor:pointer;border-radius:12px;padding-inline-end:36px;font-size:14px;font-weight:500}.select:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 28%, transparent);outline:none}.tone-admin{color:var(--crimson)}.tone-editor{color:var(--teal-deep)}.tone-viewer{color:var(--muted)}.tone-admin .select{background:var(--live-bg);color:var(--crimson);border-color:#0000}.tone-editor .select{background:var(--done-bg);color:var(--teal-deep);border-color:#0000}.tone-viewer .select{background:var(--soft);color:var(--ink);border-color:#0000}.clients-form .select-wrap{min-width:160px}.cell-input{border:1px solid var(--line);background:var(--bg);height:36px;color:var(--ink);border-radius:10px;width:100%;min-width:140px;padding:0 10px}.client-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;min-width:0;padding:16px;display:flex}.client-card.low{border-color:var(--crimson)}.client-card h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;font-weight:500;overflow:hidden}.client-card .meta-id{color:var(--muted);direction:ltr;unicode-bidi:isolate;font-size:12px}.client-card .bal{margin:0;font-size:24px;font-weight:600;line-height:1.15}.client-card .bal.neg{color:var(--crimson)}.client-card .stats-row{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12.5px;display:flex}.client-card .stats-row b{color:var(--ink);font-size:15px;font-weight:600;display:block}.client-card .actions{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.client-edit{flex-direction:column;gap:8px;display:none}.client-card.editing .client-edit{display:flex}.client-card.editing .client-view{display:none}.client-edit input{border:1px solid var(--line);background:var(--bg);height:38px;color:var(--ink);border-radius:10px;width:100%;padding:0 10px}.clients-empty{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:16px;margin-top:16px;padding:48px 20px}.clients-empty h3{color:var(--ink);margin:0 0 6px;font-size:17px;font-weight:500}@media (width<=1100px){.ledger{grid-template-columns:1fr;gap:18px;padding:22px}.stats{gap:16px}}@media (width<=900px){.menu-btn{display:inline-grid}.sidebar-collapse{display:none}html[data-sidebar=collapsed] .sidebar{width:var(--sb-w);padding-inline:14px}html[data-sidebar=collapsed] .brand-text,html[data-sidebar=collapsed] .nav-label,html[data-sidebar=collapsed] .theme-toggle #themeLabel,html[data-sidebar=collapsed] .user-role,html[data-sidebar=collapsed] .sidebar .sync span,html[data-sidebar=collapsed] #logoutBtn{display:initial}html[data-sidebar=collapsed] .sidebar-nav button,html[data-sidebar=collapsed] .sidebar-nav a{justify-content:flex-start;padding:11px 12px}html[data-sidebar=collapsed] .theme-toggle{justify-content:space-between;padding:10px 12px}.sidebar{box-shadow:none;width:min(300px,88vw);height:100%;transition:transform .28s cubic-bezier(.16,1,.3,1);position:fixed;inset-block:0;inset-inline:0 auto;transform:translate(110%)}[dir=rtl] .sidebar{transform:translate(110%)}.sidebar.open{transform:translate(0);box-shadow:-12px 0 40px #0000002e}.sidebar-backdrop{opacity:0;pointer-events:none;transition:opacity .22s;display:block}.sidebar-backdrop.show{opacity:1;pointer-events:auto}.top{gap:10px}.top .btn{padding:8px 11px}#clientsBtn{display:none}}@media (width<=760px){.main>.wrap{padding:14px 14px 48px}.top{align-items:stretch}.top h1,.top .spacer{display:none}.top .btn{flex:calc(50% - 8px);justify-content:center}.ledger{border-radius:18px;margin-top:14px;padding:18px}.bal{font-size:clamp(28px,8vw,40px)}.stats{gap:14px}.stats b{font-size:18px}.toolbar{gap:8px}.field.search{flex:100%;min-width:100%}.seg{flex-wrap:wrap;width:100%}.seg button{flex:1}table,.clients-table.stack-on-mobile,.users-table.stack-on-mobile{min-width:0}.table-wrap{max-width:100%}.clients-form{flex-direction:column;align-items:stretch}.clients-form input,.clients-form .select-wrap,.clients-form .btn{width:100%;min-width:0}.dlg-body{grid-template-columns:1fr}.stack-on-mobile,.stack-on-mobile tbody,.stack-on-mobile tr,.stack-on-mobile td{width:auto;min-width:0;display:block}.stack-on-mobile thead{display:none}.stack-on-mobile{border-collapse:separate;border-spacing:0 12px}.stack-on-mobile tr{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:8px 14px 12px;overflow:hidden}.stack-on-mobile td{white-space:normal;text-align:start;border:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.stack-on-mobile td:before{content:attr(data-label);color:var(--muted);flex:none;font-size:12.5px;font-weight:500}.stack-on-mobile td:not([data-label]):before,.stack-on-mobile td.actions-cell:before{content:none}.stack-on-mobile td.name{padding-top:10px;font-size:16px}.stack-on-mobile .row-actions{flex-wrap:wrap;justify-content:flex-start;width:auto}.stack-on-mobile .actions-cell{justify-content:flex-start;padding-top:4px}.stack-on-mobile .actions-cell .btn{flex:1}.stack-on-mobile .cell-value{align-items:baseline;gap:4px;display:inline-flex}.clients-panel{background:0 0;border:0}.clients-panel .table-wrap{overflow:visible}}@media (width<=480px){.ledger .actions,.top{gap:8px}.meter-legend{gap:12px}.clients-grid{grid-template-columns:1fr}}.boot{min-height:100dvh;color:var(--muted);place-items:center;display:grid}.login-screen{background:radial-gradient(ellipse at 100% 0%, #a5182f29, transparent 55%), var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;width:min(440px,100%);padding:28px 24px 22px;box-shadow:0 24px 60px #23161c14}.login-card .logo{justify-content:center;margin-bottom:16px}.login-card h1{margin:0 0 4px;font-size:22px;font-weight:600}.login-card .lede{color:var(--muted);margin:0 0 18px;font-size:14px}.login-card form{flex-direction:column;gap:12px;display:flex}.login-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.login-card input{border:1px solid var(--line);background:var(--bg);height:44px;color:var(--ink);border-radius:10px;padding:0 12px;font-size:15px}.login-card .btn{justify-content:center;height:44px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:8px;display:flex}.page-head h2{margin:0;font-size:18px;font-weight:500}.page-head p{color:var(--muted);margin:4px 0 0;font-size:13.5px}.stack{flex-direction:column;gap:16px;margin-top:16px;display:flex}.users-table{min-width:720px}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-form input,.inline-form select{border:1px solid var(--line);background:var(--bg);height:40px;color:var(--ink);border-radius:10px;padding:0 12px;font-size:14.5px}.inline-form input{flex:1;min-width:160px}.check{align-items:center;gap:8px;font-size:14px;display:flex}.nav-section{color:var(--muted);letter-spacing:.02em;margin:8px 4px 0;font-size:11.5px}html[data-sidebar=collapsed] .nav-section{display:none}dialog.wide{width:min(860px,100vw - 24px)}.account-form{gap:12px;max-width:420px;padding:18px;display:grid}.account-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.account-form input{border:1px solid var(--line);background:var(--bg);height:40px;color:var(--ink);border-radius:10px;padding:0 12px;font-size:14.5px}
