:root{color-scheme:light;--bg:#f1f4f8;--surface:#ffffff;--surface-2:#f7f9fc;--line:#e2e8f0;--line-2:#edf1f6;--ink:#0f1b2d;--ink-2:#475569;--ink-3:#64748b;--brand:#1f4e8c;--brand-ink:#ffffff;--brand-soft:#e8eef8;--brand-strong:#1a4378;--nav:#15233b;--nav-ink:#dbe4f0;--nav-ink-2:#8fa3bf;--nav-hover:#1e3050;--nav-active:#243b5f;--nav-accent:#5b8def;--s1:#2a78d6;--s2:#eb6834;--good:#0ca30c;--warn:#fab219;--serious:#ec835a;--crit:#d03b3b;--good-ink:#006300;--crit-ink:#b42323;--focus:#2a78d6;--shadow:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.06)}:root[data-theme=teal]{--bg:#f4f6f6;--surface-2:#f8faf9;--line:#e3e7e6;--line-2:#eef1f0;--ink:#111827;--ink-2:#4b5563;--ink-3:#6b7280;--brand:#0f766e;--brand-soft:#e6f2f1;--brand-strong:#115e59;--nav:#0d2b2a;--nav-ink:#cfe3e1;--nav-ink-2:#8fb3af;--nav-hover:#14403e;--nav-active:#0f766e;--nav-accent:#5cc2b9}:root[data-theme=dark]{color-scheme:dark;--bg:#121413;--surface:#1a1a19;--surface-2:#20211f;--line:#2e302d;--line-2:#262825;--ink:#f3f4f2;--ink-2:#c3c2b7;--ink-3:#9a9990;--brand:#4d8fe0;--brand-ink:#061426;--brand-soft:#17263a;--brand-strong:#8db8f0;--nav:#0d1420;--nav-ink:#cfd8e6;--nav-ink-2:#7d8ca3;--nav-hover:#172235;--nav-active:#1d2d47;--nav-accent:#5b8def;--s1:#3987e5;--s2:#d95926;--good-ink:#4fd14f;--crit-ink:#ff8a8a;--focus:#3987e5;--shadow:none}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font:14px/1.45 Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.muted{color:var(--ink-3)}.small{font-size:12px}.right{text-align:right}.nowrap{white-space:nowrap}.up{color:var(--good-ink)}.down,.up{font-weight:600}.down{color:var(--crit-ink)}.app{display:grid;grid-template-columns:292px 1fr;min-height:100vh}.side{background:var(--nav);color:var(--nav-ink);flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto}.logo,.side{display:flex}.logo{align-items:center;gap:10px;padding:18px 18px 14px}.logo-mark{width:34px;height:34px;border-radius:9px;background:var(--nav-active);display:grid;place-items:center;font-weight:700;color:#fff;letter-spacing:.5px}.logo b{display:block;color:#fff;font-size:15px}.logo small{color:var(--nav-ink-2);font-size:11.5px}.nav-sec{padding:8px 10px 2px}.nav-sec h6{margin:8px 10px 6px;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--nav-ink-2);font-weight:600}.nav-item{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:7px;color:var(--nav-ink);font-size:13.5px}.nav-item:hover{background:var(--nav-hover)}.nav-item.active{background:var(--nav-active);color:#fff;box-shadow:inset 3px 0 0 var(--nav-accent)}.nav-item svg{width:17px;height:17px;flex:none;opacity:.9}.nav-item .k{margin-left:auto;font-size:10.5px;color:var(--nav-ink-2);border:1px solid #ffffff22;border-radius:4px;padding:0 5px}.nav-item .badge{margin-left:auto;background:#d03b3b;color:#fff;border-radius:10px;font-size:11px;padding:0 7px;font-weight:600}.side-foot{margin-top:auto;padding:14px 18px;border-top:1px solid #ffffff14;font-size:12px;color:var(--nav-ink-2)}.main{min-width:0;display:flex;flex-direction:column}.top{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--line);gap:12px;padding:10px 24px}.pill,.top{display:flex;align-items:center}.pill{gap:6px;border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:6px 10px;font-size:12.5px;color:var(--ink-2);white-space:nowrap}.pill b{color:var(--ink);font-weight:600}.icon-btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:34px;height:34px;display:grid;place-items:center;position:relative;color:var(--ink-2)}.me{display:flex;align-items:center;gap:8px;font-size:12.5px;white-space:nowrap}.av{width:32px;height:32px;border-radius:50%;background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center;font-weight:700;font-size:12px}.me small{display:block;color:var(--ink-3);font-size:11px}.content{padding:20px 24px 48px;max-width:1520px;width:100%}.menu-btn{display:none}.ph{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.ph h1{margin:0;font-size:21px;letter-spacing:-.01em}.ph p{margin:3px 0 0;color:var(--ink-3);font-size:13px}.ph .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.crumbs{font-size:12px;color:var(--ink-3);margin-bottom:4px}.crumbs a:hover{color:var(--brand-strong)}.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 12px;font-size:13px;font-weight:500;box-shadow:var(--shadow);white-space:nowrap}.btn:hover{border-color:var(--brand)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.danger{color:var(--crit-ink);border-color:color-mix(in srgb,var(--crit) 40%,var(--line))}.btn.ghost{background:transparent;box-shadow:none;border-color:transparent}.btn.sm{padding:4px 9px;font-size:12px}.kbd{font:11px/1 inherit;border:solid var(--line);border-width:1px 1px 2px;border-radius:4px;padding:2px 5px;color:var(--ink-3);background:var(--surface)}.btn.primary .kbd{background:transparent;color:var(--brand-ink);border-color:#ffffff66}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-width:0}.card-h{display:flex;align-items:center;gap:6px 10px;padding:14px 16px 0;flex-wrap:wrap}.card-h h3{margin:0;font-size:14.5px;white-space:nowrap}.card-h .meta{font-size:12px;color:var(--ink-3);white-space:nowrap}.card-h .r{margin-left:auto;display:flex;gap:6px;align-items:center}.card-b{padding:12px 16px 16px}.grid{display:grid;grid-gap:16px;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{padding:14px 16px}.kpi .lbl{font-size:12px;color:var(--ink-3);font-weight:500;display:flex;gap:6px;align-items:center}.kpi .val{font-size:22px;font-weight:650;margin-top:6px;letter-spacing:-.01em}.kpi .val small{font-weight:500;margin-right:3px}.kpi .sub,.kpi .val small{font-size:12px;color:var(--ink-3)}.kpi .sub{margin-top:4px}.tbl-wrap{overflow:auto}table.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;font-weight:600;color:var(--ink-3);padding:8px 12px;border-bottom:1px solid var(--line);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:var(--surface);position:-webkit-sticky;position:sticky;top:0}.tbl td{padding:7px 12px;border-bottom:1px solid var(--line-2);vertical-align:top}.tbl tr:hover td{background:var(--surface-2)}.tbl .r,.tbl th.r{text-align:right}.tbl tfoot td{border-top:1px solid var(--line);border-bottom:0}.tbl tfoot td,.tbl tr.grp td{font-weight:650;background:var(--surface-2)}.tbl a.lnk{color:var(--brand-strong);font-weight:600}.empty{padding:36px 16px;text-align:center;color:var(--ink-3)}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px 14px;gap:12px 14px}.fld{display:flex;flex-direction:column;gap:4px;min-width:0}.fld>span{font-size:12px;color:var(--ink-3);font-weight:500}.fld.span2{grid-column:span 2}.fld.span4{grid-column:1/-1}.inp,select.inp,textarea.inp{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:7px 9px;font-size:13.5px;min-width:0}.inp:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent)}.inp.num{text-align:right}.inp[readonly]{background:var(--surface-2)}.chk{display:inline-flex;gap:7px;align-items:center;font-size:13px}.err{background:color-mix(in srgb,var(--crit) 12%,transparent);color:var(--crit-ink);border:1px solid color-mix(in srgb,var(--crit) 35%,transparent);border-radius:8px}.err,.ok-msg{padding:9px 12px;font-size:13px;margin-bottom:12px}.ok-msg{background:color-mix(in srgb,var(--good) 12%,transparent);color:var(--good-ink);border:1px solid color-mix(in srgb,var(--good) 30%,transparent);border-radius:8px}.info-msg{background:var(--brand-soft);color:var(--brand-strong);border-radius:8px;padding:9px 12px;font-size:13px;margin-bottom:12px}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px}.filters .fld{min-width:140px}.st{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 8px;white-space:nowrap}.st.draft{background:var(--brand-soft);color:var(--brand-strong)}.st.active,.st.approved,.st.cleared,.st.good,.st.posted{background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good-ink)}.st.pending,.st.warn{background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--ink)}.st.cancelled,.st.disabled,.st.reversed{background:var(--line-2);color:var(--ink-3)}.st.bounced,.st.crit,.st.locked,.st.rejected{background:color-mix(in srgb,var(--crit) 15%,transparent);color:var(--crit-ink)}.doc-head{padding:14px 16px}.lines{width:100%;border-collapse:collapse;font-size:13px}.lines th{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:600;text-align:left;padding:6px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.lines th.r{text-align:right}.lines td{padding:2px 3px;border-bottom:1px solid var(--line-2)}.lines td .inp{border-color:transparent;background:transparent;padding:6px;border-radius:5px}.lines td .inp:focus{border-color:var(--focus);background:var(--surface)}.lines tr.active td{background:color-mix(in srgb,var(--brand-soft) 60%,transparent)}.lines .sn{color:var(--ink-3);text-align:right;padding-right:8px;width:34px}.totals{display:grid;grid-template-columns:auto 90px 120px;grid-gap:6px 8px;gap:6px 8px;align-items:center;font-size:13px}.totals .lbl{color:var(--ink-3);text-align:right}.totals .big{font-size:18px;font-weight:700}.side-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:12.5px}.side-panel dt{color:var(--ink-3)}.side-panel dd{margin:0 0 8px;font-weight:600}.cbx{position:relative}.cbx-list{position:absolute;z-index:40;left:0;top:calc(100% + 2px);min-width:100%;width:max-content;max-width:640px;max-height:320px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.15)}.cbx-opt{display:grid;grid-template-columns:auto 1fr auto;grid-gap:10px;gap:10px;padding:6px 10px;font-size:13px;cursor:pointer;white-space:nowrap}.cbx-opt small{color:var(--ink-3)}.cbx-opt.on{background:var(--brand-soft)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap}.tabs a{padding:8px 12px;font-size:13px;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a.on{color:var(--brand-strong);border-color:var(--brand);font-weight:600}.seg{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.seg a,.seg button{border:0;background:transparent;padding:4px 10px;font-size:12px;color:var(--ink-2)}.seg .on{background:var(--brand-soft);color:var(--brand-strong);font-weight:600}.auth{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,var(--nav) 0 38%,var(--bg) 38%)}.auth .card{width:min(420px,92vw);padding:28px}.auth h1{font-size:20px;margin:14px 0 4px}.print-only{display:none}@media print{.no-print,.ph .actions,.side,.top{display:none!important}.app{display:block}.content{padding:0;max-width:none}.card{border:0;box-shadow:none}.print-only{display:block}body{background:#fff;color:#000}}@media (max-width:1100px){.form-grid,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:1fr 1fr}}@media (max-width:980px){.app{grid-template-columns:1fr}.side{position:fixed;inset:0 auto 0 0;width:260px;transform:translateX(-100%);transition:transform .2s;z-index:30}.side.open{transform:none}.menu-btn{display:grid}.g2,.g3{grid-template-columns:1fr}}@media (max-width:620px){.top{padding:10px 14px}.content{padding:14px}.form-grid{grid-template-columns:1fr}.fld.span2{grid-column:auto}.g4{grid-template-columns:1fr 1fr}.me div{display:none}}.side-head{padding:18px 18px 14px;border-bottom:1px solid #ffffff12}.side-head .brandrow{display:flex;align-items:center;gap:10px}.side-head .logo-mark,.side-head img{width:34px;height:34px;border-radius:7px;object-fit:cover;background:var(--nav-active)}.side-head b{color:#fff;font-size:15.5px}.side-head .sub{margin-top:8px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--nav-ink-2);font-weight:600;line-height:1.5}.jump{margin:12px 14px 8px;position:relative}.jump input{width:100%;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:7px;color:var(--nav-ink);padding:8px 10px;font-size:13px}.jump input::placeholder{color:var(--nav-ink-2)}.jump-list{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:50;overflow:hidden}.jump-list a{display:block;padding:7px 10px;font-size:13px}.jump-list a.on{background:var(--brand-soft)}.jump-list small{color:var(--ink-3);margin-left:6px}.nav-top{display:flex;align-items:center;gap:10px;padding:11px 18px;font-size:14.5px;font-weight:600;color:var(--nav-ink);border-bottom:1px solid #ffffff0d}.nav-top:hover{background:var(--nav-hover)}.nav-top.active{background:var(--nav-active);color:#fff;box-shadow:inset 3px 0 0 var(--nav-accent)}.nav-top .chev{margin-left:auto;color:var(--nav-ink-2);font-weight:400;transition:transform .15s}.nav-top .count{background:#e11d48;color:#fff;border-radius:10px;font-size:11px;padding:0 7px;font-weight:700}.nav-grp>button{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:10px;padding:11px 18px;font-size:14.5px;font-weight:600;color:var(--nav-ink);cursor:pointer;border-bottom:1px solid #ffffff0d}.nav-grp>button:hover{background:var(--nav-hover)}.nav-grp>button .chev{margin-left:auto;color:var(--nav-ink-2);transition:transform .15s}.nav-grp.open>button .chev{transform:rotate(90deg)}.nav-grp .kids{padding:4px 0 8px}.nav-grp .kids a{display:flex;align-items:center;gap:8px;padding:7px 18px 7px 30px;font-size:14px;color:var(--nav-ink)}.nav-grp .kids a:hover{background:var(--nav-hover)}.nav-grp .kids a.active{background:var(--nav-active);color:#fff;box-shadow:inset 3px 0 0 var(--nav-accent)}.nav-grp .kids a .k{margin-left:auto;font-size:10.5px;color:var(--nav-ink-2);border:1px solid #ffffff22;border-radius:4px;padding:0 5px}.side-user{margin-top:auto;padding:14px 18px;border-top:1px solid #ffffff14;font-size:13px}.side-user b{color:#fff;display:block}.side-user .role{color:var(--nav-ink-2);font-size:12.5px}.side-user .links{display:flex;gap:14px;margin-top:8px}.side-user .links a,.side-user .links button{all:unset;cursor:pointer;color:var(--nav-ink);font-size:13px}.side-user .links a:hover,.side-user .links button:hover{color:#fff;text-decoration:underline}.side-user .build{margin-top:8px;font-size:11px;color:var(--nav-ink-2)}.top .brand{display:flex;align-items:center;gap:10px;min-width:0}.top .brand .logo-mark,.top .brand img{width:34px;height:34px;border-radius:6px;object-fit:cover}.top .brand b{font-size:17px;display:block;line-height:1.2}.top .brand small{color:var(--ink-3);font-size:12px}.top .who{text-align:right;font-size:13.5px;line-height:1.25}.top .who small{display:block;color:var(--ink-3);font-size:12px}.theme-pick{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--surface);font-size:13px}.theme-pick i{width:12px;height:12px;border-radius:50%;background:var(--brand);display:inline-block}.theme-pick select{all:unset;cursor:pointer;padding-right:4px}.home-title{display:flex;align-items:flex-start;gap:16px;margin:8px 0 18px}.home-title h1{font-size:32px;margin:0;letter-spacing:-.02em}.home-title img{margin-left:auto;width:96px;height:96px;object-fit:contain;border-radius:6px}.greet{font-size:16px;color:var(--ink-3)}.greet b{color:var(--ink);font-weight:600;margin-right:14px}.headline{font-size:28px;margin:10px 0 12px;font-weight:400;letter-spacing:-.01em}.headline a{color:var(--brand);font-weight:500}.summary-line{font-size:15px;color:var(--ink-2);display:flex;gap:28px;flex-wrap:wrap;margin-bottom:22px}.summary-line b{color:var(--ink)}.quick{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.quick a{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:10px 16px;font-size:15px;box-shadow:var(--shadow)}.quick a:hover{border-color:var(--brand);color:var(--brand)}.activity{list-style:none;margin:0;padding:0}.activity li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-2);font-size:14px}.activity li:last-child{border:0}.activity li span.when{margin-left:auto;color:var(--ink-3);font-size:13px;white-space:nowrap}.activity a{color:var(--brand)}.golden li{display:flex;gap:12px;padding:10px 0;align-items:flex-start}.golden .dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;flex:none;font-size:13px;font-weight:700}.golden .done .dot{background:var(--good);border-color:var(--good);color:#fff}.golden .done a{text-decoration:line-through;color:var(--good-ink)}.golden small{display:block;color:var(--ink-3)}.top-search{margin-left:auto;flex:1 1;max-width:380px;min-width:160px}@media (max-width:980px){.top .brand small,.top .who{display:none}.top-search{max-width:none}}@media (max-width:620px){.top .brand b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.theme-pick{display:none}}