@font-face{font-family:Geist;src:url("./geist.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{color-scheme:light;--bg:#f5f7fc;--ink:#14243b;--muted:#5c6e85;--line:#e3eaf4;--blue:#285ed6;--blue-dark:#1c49af;--navy:#101b2b;--white:#fff;--radius:20px;--shadow:0 4px 14px #223c6907;font-family:Geist,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;font-size:14px;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}body{min-width:320px;margin:0}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.6}a{color:var(--blue-dark)}img{display:block}h1,h2,h3,p,dl,dd{margin:0}svg{flex:none;vertical-align:middle}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #82a8ff;outline-offset:3px}#main:focus{outline:none}[hidden]{display:none!important}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{z-index:30;position:fixed;top:10px;left:10px;padding:10px;background:#fff;border-radius:7px}
.topbar{position:sticky;z-index:5;top:0;background:var(--navy);color:white;border-bottom:1px solid #26364d;box-shadow:0 2px 12px #101b2b0c;padding-top:env(safe-area-inset-top)}
.top-inner{height:68px;max-width:1512px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}
.brand{background:none;border:0;color:#fff;padding:0;display:flex;align-items:center;gap:11px;text-align:left;line-height:1.02;font-size:21px;letter-spacing:-.055em;font-weight:770}
.brand img{border-radius:12px;box-shadow:0 0 0 1px #ffffff18}.brand small{display:block;color:#b6c7df;font-size:9px;font-weight:650;letter-spacing:.14em;margin-top:5px}
.header-right{display:flex;align-items:center;gap:17px;color:#d3dcec;font-size:12px;font-weight:550}.header-divider{height:25px;width:1px;background:#334157}
.local-state{display:flex;align-items:center;gap:7px}.local-state i{width:7px;height:7px;border-radius:50%;background:#61d8a7;box-shadow:0 0 0 3px #61d8a720}.local-state i.off{background:#ffc46e;box-shadow:0 0 0 3px #ffc46e27}
.account{display:flex;align-items:center;gap:8px}.account b{display:grid;place-items:center;width:35px;height:35px;border:1px solid #ffffff2c;border-radius:10px;color:#ffda62;background:#26364e;font-size:11px;font-weight:820;letter-spacing:.02em}
.shell{display:grid;grid-template-columns:218px minmax(0,1fr);gap:27px;max-width:1512px;margin:0 auto;padding:22px 32px 36px}
.sidebar{display:flex;flex-direction:column;position:sticky;top:91px;height:calc(100dvh - 114px);min-height:475px;padding:23px 13px 15px;background:linear-gradient(163deg,#172941 0%,#122136 65%);color:#b6c8e1;border:1px solid #1f3451;border-radius:20px;box-shadow:0 10px 24px #10213b18}
.side-caption{font-size:9px;font-weight:720;letter-spacing:.12em;color:#a7bddc;margin:0 11px 10px}.side-rule{height:1px;background:#ffffff18;margin:20px 9px}.sidebar nav{display:grid;gap:5px}
.nav-link{border:0;display:flex;align-items:center;gap:11px;text-align:left;padding:12px 10px;width:100%;border-radius:10px;background:transparent;color:inherit;font-weight:550;font-size:13px;white-space:nowrap}
.nav-link:hover{background:#ffffff0d;color:white}.nav-link.selected{background:#2c4e7d;color:white;box-shadow:inset 0 0 0 1px #6691d33b;font-weight:650}.nav-link.selected svg{color:#a9cbff}.nav-link small{display:grid;place-items:center;border-radius:7px;min-width:21px;height:21px;background:#394c64;color:#fce0a5;margin-left:auto;font-size:10px}
.side-footer{margin-top:auto;padding:13px 9px;display:flex;gap:9px;align-items:flex-start;border:1px solid #ffffff1a;border-radius:13px;background:#ffffff07}.side-footer svg{color:#91b9f2}.side-footer strong{display:block;font-size:11px;color:#e5effc}.side-footer small{display:block;margin-top:4px;font-size:10px;line-height:1.45;color:#b6c8e1}
.bottom-nav{display:none}#main{min-width:0;padding-top:6px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.eyebrow{color:var(--blue-dark);font-size:10px;line-height:1.3;letter-spacing:.125em;font-weight:760;margin:0 0 7px}
h1{font-size:clamp(31px,3.4vw,44px);font-weight:775;letter-spacing:-.065em;line-height:1.03}
h2{font-size:17px;font-weight:730;letter-spacing:-.027em;line-height:1.25}h3{font-size:15px;font-weight:720;letter-spacing:-.02em;line-height:1.3}
.subtitle{margin-top:9px;color:var(--muted);font-size:13px;line-height:1.5}.head-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
.btn{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;border-radius:10px;border:1px solid transparent;padding:0 13px;font-size:12px;font-weight:670;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.btn.primary{background:var(--blue);color:#fff;box-shadow:0 4px 12px #285ed629}.btn.primary:hover{background:var(--blue-dark)}.btn.secondary{background:#fff;border-color:#dce5f1;color:#253d5d}.btn.secondary:hover{background:#eff4ff;border-color:#ccd9f0}
.btn.small{min-height:34px;padding:0 10px}.btn.danger{color:#9b2a35}.btn.danger:hover{background:#fff1f2}.btn.danger.solid{background:#a92637;color:#fff}.btn.danger.solid:hover{background:#882130}.btn.quiet{background:none;border:0}
.text-btn{display:inline-flex;align-items:center;gap:6px;color:var(--blue-dark);background:none;border:0;padding:0;font-size:12px;font-weight:680;text-align:left;text-decoration:none;line-height:1.5}
.text-btn:hover{text-decoration:underline}.icon-btn{display:grid;flex:none;place-items:center;width:35px;height:35px;padding:0;border:1px solid var(--line);border-radius:10px;background:white;color:#526781}.icon-btn:hover{background:#edf3ff;color:var(--blue-dark)}
.demo-bar,.storage-error{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce7fc;border-radius:11px;background:#edf3ff;color:#365487;margin-bottom:19px;font-size:11px;line-height:1.4;min-height:40px}
.demo-label{display:flex;align-items:center;gap:6px;color:#234f9d;font-weight:720;white-space:nowrap}.demo-message{border-left:1px solid #cad9f3;padding-left:10px}.demo-bar .text-btn{margin-left:auto;white-space:nowrap;font-size:11px}
.storage-error{color:#8d2635;background:#fff1f2;border-color:#f7d5dc}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.period{display:inline-flex;align-items:center;gap:6px;min-height:33px;padding:0 8px;background:#fff;border:1px solid #dfe7f3;border-radius:9px;color:#48617f;white-space:nowrap}
.period select{appearance:none;border:0;padding:5px 0;background:none;color:#2f4562;font-size:11px;font-weight:640;min-width:0;cursor:pointer}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}
.stats{display:grid;grid-template-columns:minmax(0,1.55fr) repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.stats.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:162px;padding:15px 17px 14px;border-radius:var(--radius);background:linear-gradient(121deg,#2b63e4 0%,#2154c7 54%,#173f9e 100%);color:#fff;box-shadow:0 8px 20px #2358d134}
.hero-ornament{position:absolute;z-index:-1;top:-63px;right:-58px;width:253px;height:253px;border-radius:50%;transform:rotate(-14deg);border:1px solid #ffffff21;pointer-events:none}
.hero-ornament i{display:block;position:absolute;inset:16px;border:1px solid #ffffff25;border-radius:50%}.hero-ornament i:nth-child(2){inset:31px}.hero-ornament i:nth-child(3){inset:46px}.hero-ornament i:nth-child(4){inset:61px;background:#c3ddff11}
.hero-top,.stat-top{display:flex;align-items:center;justify-content:space-between}.hero-icon,.stat-icon,.panel-icon,.file-icon,.reminder-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px}
.hero-icon{background:#ffffff25;border:1px solid #ffffff24}.hero-tag{background:#ffffff19;border:1px solid #ffffff28;border-radius:6px;padding:3px 6px;font-size:9px;font-weight:780;letter-spacing:.08em}
.hero-label,.stat-label{display:block;margin-top:11px;font-size:11px;font-weight:640;line-height:1.2}.hero-label{color:#e7f0ff}.hero strong,.stat>strong{display:block;margin-top:6px;font-size:clamp(21px,2.15vw,31px);line-height:1.05;letter-spacing:-.05em;font-weight:760;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.hero strong{font-size:clamp(26px,3.1vw,41px)}.hero-note{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:11px;color:#e2edff;font-size:10px;font-weight:570}.hero-note span{height:3px;width:3px;background:#b4c9fb;border-radius:50%;margin:0 2px}
.stat{display:block;min-height:162px;padding:15px 13px;text-align:left}.stat-button:hover{background:#fbfcff;border-color:#c5d5f2}.stat-top>svg{color:#7185a1}.stat-label{color:#425974}.stat small{display:block;margin-top:9px;color:var(--muted);font-size:10px;line-height:1.35}
.blue{--tone:#2557bc;--wash:#eaf1ff;--fill:#3a72e9}.green{--tone:#167253;--wash:#e7f8f0;--fill:#2caa7c}.amber{--tone:#8b500e;--wash:#fff3de;--fill:#d9963e}.violet{--tone:#6849ad;--wash:#f1ebff;--fill:#8b6ce1}.red{--tone:#a02d40;--wash:#fdeef1;--fill:#cc4d65}.slate{--tone:#4e627e;--wash:#edf2f8;--fill:#7d8eaa}
.stat-icon,.count{color:var(--tone,#2b5aa8);background:var(--wash,#ebf2ff)}.panel-icon,.file-icon{background:#edf3ff;color:#2c61cf}
.overview-panels{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:13px;margin-bottom:16px}
.panel{padding:16px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-head p,.list-heading p{color:var(--muted);font-size:11px;margin-top:4px;line-height:1.4}
.bar-list{display:grid;gap:10px;margin-top:13px}.bar-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:11px}
.bar-row span{display:flex;align-items:center;gap:6px;color:#435a76}.dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--fill)}
.track{height:5px;border-radius:10px;overflow:hidden;background:#edf1f8}.fill{height:100%;background:var(--fill);border-radius:10px}
.reminders{display:flex;flex-direction:column}.count{border-radius:8px;min-width:29px;height:29px;display:grid;place-items:center;font-size:12px;font-weight:730}
.reminder-list{margin-top:6px}.reminder-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:7px 0;border:0;border-bottom:1px solid #ecf1f7;background:transparent;text-align:left}
.reminder-row:hover b{color:var(--blue-dark)}.reminder-icon{width:29px;height:29px;border-radius:8px;background:#fff4e2;color:#9a621e}
.reminder-row b,.reminder-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reminder-row b{font-size:11px;font-weight:660}.reminder-row small{color:var(--muted);font-size:10px;margin-top:2px}.reminder-row>strong{font-size:10px;color:#526782}.reminder-row>strong.late{color:#a44730}
.reminders .text-btn{margin-top:auto;padding-top:9px;align-self:flex-start}.reminder-zero{display:flex;align-items:center;gap:6px;color:#48745e;padding:15px 0;font-size:11px}
.list-card{overflow:hidden}.section-gap{margin-top:15px}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px}
.case-table{width:100%;border-collapse:collapse;text-align:left;table-layout:auto}.case-table thead{background:#f3f6fb;color:#526983}
.case-table th{font-size:10px;font-weight:670;white-space:nowrap}.case-table td,.case-table th{padding:9px 7px;border-top:1px solid #ebeff6}.case-table td:first-child,.case-table th:first-child{padding-left:16px}.case-table td:last-child,.case-table th:last-child{padding-right:14px}
.case-table tbody tr:hover{background:#f8faff;cursor:pointer}.table-money,.table-date{white-space:nowrap;font-size:11px}.table-money{font-weight:720;font-variant-numeric:tabular-nums}.table-date,.table-chevron{color:#5c718b}
.case-title{display:flex;align-items:center;gap:8px;text-align:left;background:none;border:0;padding:0;min-width:0}.file-icon{width:32px;height:32px;border-radius:8px}
.case-title strong,.case-title small{display:block}.case-title strong{font-size:11px;line-height:1.3;font-weight:680}.case-title small{margin-top:3px;font-size:9px;color:var(--muted);line-height:1.25}.case-title:hover strong{color:var(--blue-dark)}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:20px;background:var(--wash);color:var(--tone);font-size:10px;font-weight:680;padding:4px 7px;white-space:nowrap;line-height:1.3}
.badge i{width:5px;height:5px;border-radius:50%;background:currentColor}.badges{display:flex;gap:7px;flex-wrap:wrap}
.filters{display:flex;flex-direction:column;gap:11px;padding:0 16px 12px}.search{display:flex;gap:8px;align-items:center;padding:0 10px;border:1px solid #dce5f1;border-radius:9px;color:#5f7695;max-width:440px}.search:focus-within{border-color:#9bb8f7}
.search input{width:100%;min-height:37px;border:0;background:transparent;outline:0;color:var(--ink);font-size:13px}.search input:focus-visible{outline:0}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{min-height:31px;padding:0 9px;border:1px solid #e0e8f3;border-radius:20px;background:#fff;color:#405774;font-size:11px;font-weight:600}.chip:hover{background:#f2f6ff}.chip.on{background:#eaf1ff;border-color:#c7dafc;color:#1e4ba6;font-weight:700}
.empty{display:grid;justify-items:center;text-align:center;padding:24px 13px 28px;gap:7px;color:var(--muted);border-top:1px solid #eef2f7}.empty-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#edf3ff;color:#396aca;margin-bottom:2px}.empty h3{color:var(--ink)}.empty p{font-size:12px;line-height:1.5}.empty .btn{margin-top:3px}
.movement-list{padding:0 16px}.movement-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #edf1f6}.movement-label{min-width:0;flex:1;overflow-wrap:anywhere;font-size:13px}.movement-label small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.movement-label .text-btn{margin-top:3px;font-size:11px}.movement-money{white-space:nowrap;font-size:13px}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.settings-card h2{margin-top:11px}.settings-card p{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.55}.settings-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
dialog{color:var(--ink);border:0;background:white;box-shadow:0 14px 60px #0b193e4d;padding:0}dialog::backdrop{background:#0e1d37a1}
.drawer{margin:0 0 0 auto;inset:0 0 0 auto;width:min(100%,520px);max-width:none;height:100%;max-height:100%;border-left:1px solid #dbe5f1}.drawer[open]{display:flex;flex-direction:column}
.drawer-head,.modal-head{display:flex;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid #e5edf6}.drawer-head{padding-top:calc(18px + env(safe-area-inset-top))}.drawer-head h2,.modal-head h2{font-size:25px;line-height:1.1;font-weight:760;letter-spacing:-.045em;overflow-wrap:anywhere}.drawer-head .badges{margin-top:10px}
.drawer-body{padding:14px 16px calc(18px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}.detail-section{margin-bottom:14px;border:1px solid var(--line);border-radius:15px;padding:13px}.detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.balance-box{background:#f6f9ff;border-color:#dce8fb}.detail-values{display:grid;gap:8px;margin:12px 0}.detail-values>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.3}.detail-values dt{color:var(--muted)}.detail-values dd{font-weight:680;text-align:right;overflow-wrap:anywhere;min-width:0}
.info-values{grid-template-columns:repeat(2,minmax(0,1fr))}.info-values>div{display:grid;gap:4px}.info-values dd{text-align:left}
.balance-total{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #dae5f8;padding-top:9px;font-size:14px}.balance-note,.form-note{color:#4a6386;display:flex;align-items:flex-start;gap:6px;font-size:11px;line-height:1.45;margin-top:9px}.balance-box>.text-btn,.doc-link{margin-top:9px}
.notes{background:#f3f6fb;border-radius:9px;padding:8px;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.detail-section .movement-list{padding:0}.muted{color:var(--muted);font-size:12px}.timeline{padding:0;margin:0;list-style:none;display:grid;gap:8px}.timeline li{display:flex;gap:8px;align-items:flex-start;font-size:12px}.timeline i{margin-top:5px;width:7px;height:7px;border-radius:50%;background:#6591e9;flex:none}.timeline small{display:block;margin-top:2px;color:var(--muted);font-size:10px}
.modal{width:min(100% - 26px,560px);max-width:none;max-height:calc(100dvh - 25px);border-radius:17px}.modal[open]{display:flex;flex-direction:column}.modal form{display:flex;flex-direction:column;min-height:0}.modal-body{padding:14px 18px;overflow:auto;overscroll-behavior:contain;font-size:13px;line-height:1.5}.modal-body>p+p:not([hidden]){margin-top:8px}.modal-actions{display:flex;gap:7px;align-items:center;padding:11px 18px;border-top:1px solid #e7edf6;flex-wrap:wrap}.spacer{flex:1}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field{display:grid;gap:4px;min-width:0}.field.wide{grid-column:1/-1}.field span{color:#324b6c;font-size:11px;font-weight:660}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:38px;border:1px solid #d9e4f3;border-radius:8px;background:#fff;color:var(--ink);padding:7px 8px}.field textarea{resize:vertical}
.form-error{margin-top:8px;background:#fff0f2;color:#922336;padding:8px;border-radius:7px}.confirm-description{line-height:1.6;color:#395171}
.toast{pointer-events:none;position:fixed;z-index:20;bottom:16px;right:16px;display:flex;align-items:center;gap:8px;max-width:min(440px,calc(100vw - 32px));border-radius:10px;padding:10px 13px;background:#142942;color:white;box-shadow:0 8px 22px #14294244;opacity:0;transform:translateY(7px);transition:opacity .18s,transform .18s;font-size:12px;line-height:1.5}.toast.show{opacity:1;transform:translateY(0)}.toast svg{color:#7ee6b8}.toast.error svg{color:#ffc19a}
@media(min-width:1300px){.shell{grid-template-columns:225px minmax(0,1fr);gap:32px}.hero,.stat{padding-left:19px;padding-right:19px}.panel{padding:17px 18px}.list-heading{padding:16px 18px}.case-table td:first-child,.case-table th:first-child{padding-left:18px}}
@media(max-width:1100px){.shell{grid-template-columns:180px minmax(0,1fr);padding-inline:22px;gap:17px}.top-inner{padding-inline:22px}.stats{gap:8px}.stat{padding-inline:9px}.stat>strong{font-size:22px}.case-title small{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:930px){.sidebar{display:none}.shell{display:block;max-width:780px;padding:18px 20px calc(79px + env(safe-area-inset-bottom))}.top-inner{height:61px;padding-inline:20px}.bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:5;padding:5px 8px calc(5px + env(safe-area-inset-bottom));min-height:57px;background:#fff;border-top:1px solid #e1e9f5;box-shadow:0 -4px 15px #24365912;color:#5b708c}.bottom-nav .nav-link{flex-direction:column;justify-content:center;gap:3px;padding:4px 2px;font-size:10px;border-radius:8px}.bottom-nav .nav-link.selected{background:#edf3ff;color:#2153bb;box-shadow:none}.bottom-nav .nav-link.selected svg{color:currentColor}.bottom-nav .nav-link:hover:not(.selected){color:#2153bb;background:#f4f7fc}.toast{bottom:calc(69px + env(safe-area-inset-bottom))}}
@media(max-width:640px){.shell{padding-inline:13px}.top-inner{padding-inline:13px}.account>span{display:none}.header-right{gap:10px;font-size:10px}.header-divider{height:20px}.account b{width:29px;height:29px}.brand img{width:33px;height:33px}.brand{font-size:19px}.brand small{font-size:8px}
.page-head{display:grid;gap:10px;margin-bottom:15px}.head-actions .btn{min-height:39px}.subtitle{font-size:12px;margin-top:6px}.demo-bar{margin-bottom:14px;gap:6px;padding:8px;font-size:10px}.demo-message{display:none}.demo-bar .text-btn{font-size:10px}.section-top h2{font-size:15px}
.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.stats.three{grid-template-columns:repeat(2,minmax(0,1fr))}.stats.three .stat:last-child{grid-column:1/-1}.hero,.stat{min-height:134px;padding:11px 9px;border-radius:15px}.hero strong,.stat>strong{font-size:clamp(18px,5.3vw,28px)}.hero-icon,.stat-icon{width:32px;height:32px;border-radius:9px}.hero-note{font-size:9px;margin-top:8px}.hero-label,.stat-label{font-size:10px;margin-top:9px}.stat small{margin-top:6px}
.overview-panels,.settings-grid{grid-template-columns:1fr;gap:10px;margin-bottom:12px}.panel,.list-heading{padding:13px}.filters{padding:0 13px 10px}.case-table,.case-table tbody{display:block}.case-table thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.case-table tr{display:grid;grid-template-columns:1fr auto;gap:7px;padding:9px 12px;border-top:1px solid #ebeff6}.case-table td,.case-table td:first-child,.case-table td:last-child{display:block;padding:0;border:0}.case-table td:nth-child(3),.case-table td:nth-child(4){display:flex;align-items:center}.case-table td:nth-child(4){justify-content:flex-end}.case-table td:nth-child(5){font-size:10px;padding-left:0}.case-table td:nth-child(5):not(:empty)::before{content:attr(data-label) " : "}.case-table .table-money{text-align:right;align-self:center}.case-table .table-chevron{text-align:right}.case-title small{max-width:56vw}.case-title strong{font-size:12px}.list-heading .text-btn{font-size:11px}
.fields{gap:8px}.field input,.field select,.field textarea{font-size:16px}.modal-head,.modal-body,.modal-actions{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
.stat{display:flex;flex-direction:column;align-items:stretch}.filter-line{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:7px}
.table-status{display:grid;justify-items:start;gap:4px}.table-status>small{font-size:10px;color:var(--muted)}.case-title .parcel-marker{color:#925010;font-weight:650}
.parcel-warning{border-color:#f2dbb7;background:#fff8ea}.parcel-warning h3,.parcel-warning>p{color:#855016}.parcel-warning>p{font-size:11px;line-height:1.45}.parcel-warning .reminder-row{border-color:#f4e6ce}
.document-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink);overflow-wrap:anywhere}.document-row:hover strong{color:var(--blue-dark)}.document-row strong,.document-row small{display:block;font-size:12px}.document-row small{margin-top:3px;color:var(--muted);font-size:10px}.document-row>svg{color:var(--blue-dark)}
.team-list{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:12px}.team-list li+li{margin-top:3px}
.pager{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}
.field-hint{align-self:end;padding-bottom:6px;color:var(--muted);font-size:10px}.fields>.wide{grid-column:1/-1}.fields>.wide:empty{display:none}
.annual .panel-head p{max-width:52ch}.month-legend{display:flex;gap:15px;margin:15px 0 7px;font-size:11px;color:var(--muted)}.month-legend span{display:flex;align-items:center;gap:5px}.cyan{--fill:#23a8be}
.month-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;margin-bottom:13px}
.month-bar{border:1px solid transparent;background:none;border-radius:8px;color:var(--muted);padding:4px 2px;text-align:center;font-size:10px;min-width:0}.month-bar:hover,.month-bar.selected{background:#edf3ff;border-color:#d7e5fa;color:#1d4da5}.month-columns{display:flex;justify-content:center;align-items:flex-end;gap:3px;height:85px;border-bottom:1px solid #dee7f5;margin-bottom:4px}.month-columns i{width:32%;max-width:17px;background:#3a72e9;border-radius:4px 4px 0 0}.month-columns i+i{background:#23a8be}
.month-table-scroll{overflow:auto}.month-table{width:100%;min-width:410px;text-align:right;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:11px}.month-table th,.month-table td{padding:6px 8px;border-top:1px solid #e9eff8;white-space:nowrap}.month-table th:first-child{text-align:left}.month-table thead{color:var(--muted);background:#f4f7fc}.month-table tr.selected{background:#edf3ff}
@media(max-width:640px){.month-chart{gap:1px}.month-columns{height:68px;gap:2px}.month-bar{font-size:8px;padding-inline:1px}.month-table{min-width:355px}.month-table th,.month-table td{padding-inline:5px}.storage-error{flex-wrap:wrap}}
.mail-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.mail-source{display:flex;align-items:center;gap:10px}.mail-source div{flex:1;min-width:0}.mail-source p,.mail-from{font-size:11px;color:var(--muted);margin-top:4px}
.mail-row{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;border:0;border-top:1px solid var(--line);background:#fff;padding:12px 15px;text-align:left}.mail-row:hover{background:#f6f9ff}.mail-row strong,.mail-row small{display:block}.mail-row small,.mail-date{font-size:11px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.mail-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.mail-from{margin-bottom:8px}.drawer-body .detail-section h3{margin-bottom:5px}
@media(max-width:920px){.bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.bottom-nav .nav-link{font-size:9px}}
@media(max-width:520px){.mail-sources{gap:6px}.mail-source{padding:9px;gap:5px}.mail-source h2{font-size:13px}.mail-source p{font-size:9px}.mail-source .stat-icon{display:none}.mail-row{padding:10px 8px;gap:6px}}
.report-filters{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}
@media(max-width:520px){.annual .panel-head{flex-wrap:wrap}.report-filters{justify-content:flex-start}}
.pilot-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px;margin:0 0 22px}
.priority-panel .list-heading{padding-bottom:10px}.priority-strip{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 12px}.priority-panel .empty{padding-block:22px}
.priority-list{padding-inline:15px}.priority-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;text-align:left;width:100%;padding:9px 0;border:0;border-top:1px solid var(--line);background:#fff}.priority-row:hover strong{color:var(--blue-dark)}.priority-row strong,.priority-row small{display:block}.priority-row small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}.priority-row .reminder-icon{background:var(--wash);color:var(--tone)}.priority-date{text-align:right}.priority-foot{padding:11px 15px}.priority-group{margin-bottom:11px}.priority-group.late{border-color:#f0c7ce}.priority-group.today{border-color:#f3d0d4}.priority-group.soon{border-color:#f0d5a9}
.pilot-summary .panel-head{margin-bottom:10px}.pilot-mini{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.pilot-mini strong{min-width:24px;font-size:19px;letter-spacing:-.05em}.pilot-mini span{color:var(--muted);font-size:12px;font-weight:650}
.finance-stats{grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr))}.finance-stats .stat{min-height:155px}.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.finance-summary div{display:grid;gap:5px;justify-items:start}.finance-summary div span{font-size:11px;color:var(--muted)}.finance-summary p{grid-column:1/-1;font-size:11px;color:var(--muted);line-height:1.45;padding-top:8px;border-top:1px solid var(--line)}
.case-priority,.saving-ref{margin-bottom:8px}
@media(max-width:700px){.pilot-grid{grid-template-columns:1fr;gap:10px;margin-bottom:16px}.finance-stats,.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-stats .stat{min-height:130px}.priority-row{gap:7px}.priority-row strong{font-size:12px}.priority-list{padding-inline:11px}}
@media(max-width:560px){.head-actions{flex-wrap:wrap}.head-actions .btn{min-height:35px}}
.header-settings{background:#fff1;color:#d9e7ff;border-color:#fff3;width:32px;height:32px}.header-settings:hover{background:#fff2;color:white}
.work-top{gap:10px;flex-wrap:wrap}.outlook-state{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:600}.outlook-state i{height:8px;width:8px;border-radius:50%;background:#e3aa4b}.outlook-state i.on{background:#21a571}
.work-list .priority-strip{padding-bottom:11px}.work-list .list-heading{flex-wrap:wrap}.work-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(112px,auto) minmax(65px,auto) auto;align-items:center;gap:13px;text-align:left;width:100%;padding:12px 16px;border:0;border-top:1px solid var(--line);background:#fff;color:inherit}
.work-row:hover{background:#f4f8ff}.work-description{min-width:0}.work-description strong,.work-description span,.work-description small,.work-due small{display:block;overflow-wrap:anywhere}.work-description strong{color:#2054b4;font-size:14px}.work-description span{margin-top:2px}.work-description small,.work-due small{color:var(--muted);font-size:11px;margin-top:3px}.work-due{text-align:right}.work-amount{text-align:right;white-space:nowrap}.work-footer{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0}.work-message{font-size:12px;color:var(--muted);padding:0 16px 12px}
.track-box{background:#f2f7ff;border-color:#dbe7fa}.track-box>strong{font-size:20px;color:#174ba8;overflow-wrap:anywhere}.track-box p{color:var(--muted);font-size:12px;margin-top:5px}.settings-card details{margin-top:12px}.settings-card summary{cursor:pointer;font-weight:650}
@media(max-width:930px){.bottom-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-nav .nav-link{font-size:11px}}
@media(max-width:520px){.work-row{grid-template-columns:minmax(0,1fr) auto auto;gap:7px;padding:11px}.work-row>.file-icon,.work-row>svg{display:none}.work-amount{font-size:12px}.work-description strong{font-size:12px}.work-description span{font-size:12px}.work-due .badge{font-size:9px}.work-due small{font-size:9px}.header-settings{width:29px;height:29px}}

.erp-section{margin-top:16px}
.erp-section-note{padding:0 18px 12px;color:var(--muted);font-size:13px}
.erp-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 18px}
.erp-row>div:first-child{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}
.erp-row small,.erp-row>div:first-child>span,.erp-review-summary span{color:var(--muted);font-size:12px}
.erp-row-end{display:flex;gap:8px;align-items:flex-end;flex-direction:column;flex:none}
.erp-access-fields{display:grid;gap:9px;margin-top:12px}
.erp-role{min-width:0;margin:0;border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:8px 14px}
.erp-role legend{font-weight:650;font-size:13px;padding:0 4px}
.erp-check{display:flex;align-items:center;gap:6px;font-size:13px}
.erp-check input{margin:0;accent-color:#255cc8}
.erp-clock{display:grid;justify-items:start;gap:10px}
.erp-clock-depot{color:#264674;font-weight:650}
.erp-clock .btn.primary{min-height:45px}
.erp-gps-controls,.erp-review-summary{display:grid;justify-items:start;gap:6px;margin-bottom:7px}
@media(max-width:930px){.bottom-nav{grid-template-columns:repeat(var(--nav-count,3),minmax(0,1fr))}.bottom-nav[hidden]{display:none}}

.tracking-controls,.tracking-controls>div,.tracking-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tracking-controls{justify-content:space-between;margin-bottom:12px}
.tracking-divider{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.tracking-history{list-style:none;padding:0;margin:8px 0 0}
.tracking-history li{display:grid;justify-items:start;gap:5px;border-top:1px solid var(--line);padding:10px 0;overflow-wrap:anywhere}
.tracking-history small{color:var(--muted)}
.tracking-actions{margin-top:12px}
.work-filter{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;color:#405676;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:600;cursor:pointer}
.work-filter strong{min-width:18px;text-align:center;background:#eef3fb;border-radius:6px;padding:2px 4px}
.work-filter.red strong{color:#a82938;background:#fdecef}
.work-filter.amber strong{color:#825309;background:#fff3d9}
.work-filter[aria-pressed=true]{border-color:#426fca;color:#174498;background:#eef4ff}
.nav-link{position:relative}
.nav-alert{font-size:10px;padding:2px 5px;border-radius:10px;color:#9d2633;background:#ffe5e8;margin-left:auto}
@media(max-width:930px){.bottom-nav .nav-alert{position:absolute;top:2px;right:12%;padding:1px 4px;font-size:9px}}

#driver-install-slot:not(:empty){margin-bottom:14px}
.driver-install-card{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px}
.driver-install-card>img{border-radius:10px}
.driver-install-card h2{font-size:17px;line-height:1.2;margin:1px 0 8px}
.driver-install-button{min-height:46px;margin-top:2px}
.driver-install-browser{font-size:12px;font-weight:650;color:var(--muted);margin-bottom:4px}
.driver-install-guide+.driver-install-guide{margin-top:12px}
.driver-install-steps{display:grid;gap:4px;padding-inline-start:21px;margin:0;font-size:14px}
.driver-install-steps li{padding-inline-start:3px;line-height:1.35}
.driver-install-steps li svg{vertical-align:-3px;margin-right:2px}
.driver-install-steps li::marker{font-weight:700;color:#2456ba}
.driver-install-option{display:block;font-size:12px;color:var(--muted)}
.driver-install-guide details{font-size:12px;color:var(--muted);margin-top:7px}
.driver-install-guide summary{cursor:pointer}
.driver-install-guide details p{margin-top:5px;line-height:1.4}
@media(max-width:600px){.driver-install-button{width:100%;justify-content:center}}
.erp-clock .btn.primary{min-height:54px;padding-inline:18px;font-size:16px}
.badge-poster-body{min-height:100vh;padding:24px;display:grid;place-items:center;background:#f5f7fc}
.badge-poster{width:min(100%,620px);margin:0 auto;padding:32px;text-align:center;border:1px solid var(--line);border-radius:20px;background:#fff;color:#101b2b}
.badge-poster .poster-mark{display:block;margin:0 auto 10px}
.badge-poster h1{font-size:clamp(30px,6vw,46px);line-height:1.1;margin:0 0 12px}
.badge-poster p,.poster-steps{font-size:16px;line-height:1.5}
.poster-qr{display:block;width:min(240px,100%);height:auto;margin:16px auto}
.poster-steps{display:grid;gap:8px;margin:0 auto 18px;text-align:left;width:fit-content;padding-inline-start:26px}
.poster-steps li::marker{font-weight:700}
.poster-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:24px}
@media(max-width:600px){.erp-clock .btn.primary{width:100%;justify-content:center}.badge-poster{padding:20px}.badge-poster-body{padding:12px}}
@media print{
  .badge-poster-body{background:#fff;display:block;padding:0}
  .badge-poster{width:auto;border:0;padding:0 8mm;color:#000;break-inside:avoid}
  .badge-poster .poster-qr{width:64mm;height:64mm}
  .poster-actions{display:none}
}
.driver-admin-actions{justify-content:flex-start;flex-wrap:wrap}
.erp-clock .muted .badge{margin-inline-start:4px}
.driver-only .shell{display:block;max-width:680px;padding-bottom:calc(26px + env(safe-area-inset-bottom))}
.driver-only .sidebar{display:none}

.route-day-filters{margin-bottom:12px}
.route-day-row .badge{margin-top:3px}
.route-day-accounts summary{cursor:pointer;font-weight:700}
.route-day-accounts>p{margin-block:8px 14px}

.route-reminder-banner,.route-reminder-settings{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin-bottom:14px;padding:12px 14px}
.route-reminder-banner{background:#fff6e3;border-color:#f0d7a3;color:#624315}
.route-reminder-banner p,.route-reminder-settings p{font-size:12px;margin-top:3px}
.route-reminder-settings{background:#edf4ff;border:1px solid #d9e7fb;border-radius:10px}
.route-reminder-settings p{color:var(--muted)}
.route-reminder-help{max-width:42ch}
.route-reminder-help .btn{margin:5px 0 0}

.erp-depot-map-wrap{padding:0 20px 12px}
.depot-map-canvas{height:290px;position:relative;z-index:0;isolation:isolate;border:1px solid #d9e2ee;border-radius:12px;background:#eaf0f5}
.depot-map-canvas .leaflet-control-attribution{font-size:10px}
.depot-map-pin{background:transparent;border:0;filter:drop-shadow(0 2px 3px #1d33553d)}
.depot-config-modal{width:min(calc(100% - 26px),760px)}
.erp-depot-map-editor{border:1px solid #dce5f1;background:#f7faff;border-radius:14px;padding:10px}
.erp-map-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.erp-map-controls>strong{font-size:13px}
.erp-map-note{font-size:12px;line-height:1.5;margin:8px 0 0}
.erp-map-slider{display:block;margin-top:14px}
.erp-map-slider>span{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:12px}
.erp-map-slider strong{color:#2059b4;background:#e8f0ff;border-radius:6px;padding:3px 7px;font-size:12px}
.erp-map-slider input{width:100%;accent-color:#2767df;margin:9px 0 0;padding:0;height:24px;cursor:pointer}
.erp-map-error{font-size:12px;color:#8a5416;margin:8px 0 0}
@media(max-width:600px){.erp-depot-map-wrap{padding:0 12px 12px}.depot-map-canvas{height:240px}.erp-depot-map-editor{padding:8px}.erp-map-controls{gap:8px}}
