:root{--navy:#172238;--navy-2:#21304c;--ink:#202838;--muted:#6e7787;--line:#e5e8ee;--bg:#f4f5f7;--white:#fff;--blue:#2f6fed;--blue-dark:#245fd4;--green:#20875d;--amber:#b76c08;--violet:#7557c8;--shadow:0 10px 35px rgba(27,37,56,.06)}.hidden{display:none!important}html{background:var(--navy);-webkit-tap-highlight-color:transparent}button,a,input,select,textarea{touch-action:manipulation}.pull-refresh{position:fixed;top:10px;left:50%;z-index:70;transform:translate(-50%,-90px);padding:10px 15px;border-radius:24px;background:#172238;color:#fff;box-shadow:0 8px 22px rgba(12,19,32,.22);font-size:calc(11px * var(--font-scale,1));font-weight:700;transition:transform .2s ease;pointer-events:none}.pull-refresh.show{transform:translate(-50%,0)}
.auth-gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#101a2d,#263e71)}.auth-gate.hidden{display:none}.auth-card{width:min(100%,420px);padding:34px;background:#fff;border-radius:16px;box-shadow:0 28px 70px rgba(0,0,0,.3)}.auth-card.hidden{display:none}.auth-card>.brand-mark{margin-bottom:20px}.auth-card h1{font-family:Georgia,serif;margin:0;font-size:calc(27px * var(--font-scale,1))}.auth-subtitle{color:#788394;font-size:calc(12px * var(--font-scale,1));margin:7px 0 24px}.auth-card .field{margin-bottom:15px}.auth-error{min-height:18px;color:#bd454b;font-size:calc(11px * var(--font-scale,1));margin:0}.logout-button{color:#b8c1d2;padding:9px;width:100%;margin-top:8px}.logout-button:hover{color:#fff;background:rgba(255,255,255,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:calc(14px * var(--font-scale,1))}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:var(--navy);color:#fff;padding:24px 16px 16px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;padding:0 8px 25px;border-bottom:1px solid rgba(255,255,255,.09)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(145deg,#4b82f3,#2457c9);font-weight:800;font-size:calc(20px * var(--font-scale,1));box-shadow:0 8px 22px rgba(47,111,237,.35)}.brand b,.brand small,.profile b,.profile small{display:block}.brand b{font-size:calc(17px * var(--font-scale,1));letter-spacing:.1px}.brand small{font-size:calc(10px * var(--font-scale,1));color:#a9b4c8;margin-top:2px}.nav{margin-top:22px;display:flex;flex-direction:column;gap:5px}.nav-label{padding:0 12px;margin:9px 0 4px;color:#77859d;text-transform:uppercase;letter-spacing:1.2px;font-size:calc(9px * var(--font-scale,1));font-weight:700}.nav-item{border:0;background:transparent;color:#b8c1d2;display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:8px;text-align:left;font-weight:600;cursor:pointer;transition:.18s}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:#2c5fc1;color:#fff;box-shadow:0 7px 18px rgba(10,33,77,.2)}.nav-icon{font-size:calc(18px * var(--font-scale,1));width:20px;text-align:center;font-weight:400}.nav-badge{margin-left:auto;background:rgba(255,255,255,.14);border-radius:20px;padding:2px 7px;font-size:calc(10px * var(--font-scale,1))}.nav-badge.accent{background:#f2a838;color:#18233a}.sidebar-footer{margin-top:auto}.server-state{margin:10px 8px 14px;padding:12px 0;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.09)}.server-state>span{width:8px;height:8px;border-radius:50%;background:#45d09a;box-shadow:0 0 0 4px rgba(69,208,154,.1)}.server-state b,.server-state small{display:block}.server-state b{font-size:calc(11px * var(--font-scale,1))}.server-state small{font-size:calc(9px * var(--font-scale,1));color:#8f9bb0;margin-top:3px}.profile{width:100%;display:flex;align-items:center;gap:10px;color:#fff;background:rgba(255,255,255,.04);border:0;border-radius:9px;padding:10px;cursor:pointer;text-align:left}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e6edf9;color:#2d5dad;font-size:calc(11px * var(--font-scale,1));font-weight:800}.profile b{font-size:calc(11px * var(--font-scale,1))}.profile small{font-size:calc(9px * var(--font-scale,1));color:#919eb3;margin-top:3px}.profile .dots{margin-left:auto;color:#8d99ac}.main{margin-left:252px;min-height:100vh}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:20}.breadcrumbs{display:flex;gap:9px;align-items:center;font-size:calc(12px * var(--font-scale,1))}.breadcrumbs span{color:#8a93a2}.breadcrumbs i{font-style:normal;color:#c0c5cd}.top-actions{display:flex;align-items:center;gap:11px}.icon-button,.menu-button{border:1px solid var(--line);background:#fff;border-radius:8px;width:35px;height:35px;position:relative;cursor:pointer}.menu-button{display:none;font-size:calc(18px * var(--font-scale,1))}.page{display:none;padding:34px 38px 50px;max-width:1480px;margin:0 auto}.page.active{display:block}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:calc(10px * var(--font-scale,1))!important;text-transform:uppercase;letter-spacing:1.3px;font-weight:800;color:var(--blue)!important;margin:0 0 7px!important}.page-heading h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:calc(31px * var(--font-scale,1));letter-spacing:-.4px;color:#182033;font-weight:700}.page-heading p{margin:7px 0 0;color:var(--muted);font-size:calc(12px * var(--font-scale,1))}.button{border:0;border-radius:8px;padding:10px 15px;font:inherit;font-size:calc(12px * var(--font-scale,1));font-weight:700;cursor:pointer;transition:.18s}.button.primary{background:var(--blue);color:#fff;box-shadow:0 6px 15px rgba(47,111,237,.2)}.button.primary:hover{background:var(--blue-dark);transform:translateY(-1px)}.button.secondary{background:#fff;border:1px solid var(--line);color:#535e70}.button.ghost{background:transparent;color:#687387}.button.compact{padding:9px 13px}.button.full{width:100%;margin-top:9px}.button.approve{background:#25845d;color:#fff}.button.reject{background:#fff2f2;color:#bd454b;border:1px solid #f1d1d3}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}
.dispatcher-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:22px;padding:26px 28px;border-radius:18px;background:linear-gradient(125deg,#172238 0%,#213c72 70%,#2f6fed 130%);color:#fff;box-shadow:0 18px 45px rgba(23,34,56,.16)}.dispatcher-hero .eyebrow{color:#8fb6ff!important}.dispatcher-hero h1{font-family:Georgia,serif;font-size:calc(34px * var(--font-scale,1));line-height:1.08;margin:0;letter-spacing:-.6px}.dispatcher-hero p:not(.eyebrow){max-width:720px;color:#c2ccdd;font-size:calc(12px * var(--font-scale,1));line-height:1.6;margin:9px 0 0}.dispatcher-hero-actions{display:flex;gap:9px;flex-shrink:0}.dispatcher-hero .button.secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}.dispatcher-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.dispatcher-metrics article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:0 5px 18px rgba(20,30,48,.035)}.dispatcher-metrics small,.dispatcher-metrics b,.dispatcher-metrics span{display:block}.dispatcher-metrics small{font-size:calc(9px * var(--font-scale,1));color:#858f9f;text-transform:uppercase;letter-spacing:.6px}.dispatcher-metrics b{font-family:Georgia,serif;font-size:calc(25px * var(--font-scale,1));margin:5px 0;color:#1c2639}.dispatcher-metrics span{font-size:calc(9px * var(--font-scale,1));color:#8c95a2}.dispatcher-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,.7fr);gap:14px;margin-bottom:16px}.dispatcher-focus{padding:22px}.dispatcher-focus-head{display:flex;justify-content:space-between;gap:20px}.dispatcher-focus-head h2{font-family:Georgia,serif;font-size:calc(22px * var(--font-scale,1));margin:0}.dispatcher-focus-head p:not(.eyebrow){font-size:calc(10px * var(--font-scale,1));color:#818b9a;margin:6px 0 0}.focus-badge{align-self:flex-start;background:#fff2df;color:#a9660d;padding:7px 10px;border-radius:20px;font-size:calc(9px * var(--font-scale,1));font-weight:800}.focus-invoice{display:grid;grid-template-columns:.7fr 1.6fr 1fr 1fr;gap:12px;margin-top:18px;padding-top:17px;border-top:1px solid var(--line);align-items:start}.focus-invoice small,.focus-invoice b,.focus-invoice strong{display:block}.focus-invoice small{font-size:calc(8px * var(--font-scale,1));color:#8c95a3;text-transform:uppercase}.focus-invoice b{font-size:calc(10px * var(--font-scale,1));margin-top:5px;line-height:1.45}.focus-invoice strong{font-family:Georgia,serif;font-size:calc(20px * var(--font-scale,1));margin-top:4px}.focus-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.focus-empty{margin-top:18px;padding:18px;background:#f4faf7;border:1px solid #d9eee4;border-radius:9px;color:#35785e;font-size:calc(11px * var(--font-scale,1))}.dispatcher-side{padding:20px}.dispatcher-search{min-width:0;width:100%;margin:13px 0}.dispatcher-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px}.dispatcher-tabs button{border:1px solid var(--line);background:#fff;color:#677284;border-radius:8px;padding:9px;font-size:calc(10px * var(--font-scale,1));font-weight:700;cursor:pointer}.dispatcher-tabs button.active{background:#eaf1ff;border-color:#c8d9fb;color:#2b63cf}.dispatcher-tip{background:#f7f8fa;border-radius:9px;padding:13px;margin-top:14px}.dispatcher-tip b{font-size:calc(10px * var(--font-scale,1))}.dispatcher-tip p{font-size:calc(9px * var(--font-scale,1));color:#7e8898;line-height:1.5;margin:5px 0 0}.dispatcher-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}.dispatcher-lane{background:#eef0f3;border:1px solid #e1e4e9;border-radius:13px;padding:10px;min-height:180px}.lane-title{display:flex;align-items:center;gap:7px;padding:5px 4px 11px}.lane-title b{font-size:calc(11px * var(--font-scale,1))}.lane-title small{margin-left:auto;background:#fff;border-radius:20px;padding:3px 7px;color:#758091;font-size:calc(9px * var(--font-scale,1))}.dot{width:7px;height:7px;border-radius:50%}.dot.amber{background:#d79432}.dot.blue{background:#3975e6}.dot.green{background:#38a173}.dispatch-card{background:#fff;border:1px solid #e1e5eb;border-radius:10px;padding:14px;margin-bottom:9px;box-shadow:0 4px 12px rgba(20,30,48,.035)}.dispatch-card.is-mine{border-color:#bcd1fa;box-shadow:0 0 0 2px rgba(47,111,237,.05)}.dispatch-card-head{display:flex;justify-content:space-between;gap:10px}.dispatch-card-head small{display:block;color:#929aa7;font-size:calc(8px * var(--font-scale,1));margin-bottom:4px}.dispatch-card-head b{font-size:calc(11px * var(--font-scale,1))}.dispatch-card-head strong{font-family:Georgia,serif;font-size:calc(15px * var(--font-scale,1));white-space:nowrap}.dispatch-card>p{font-size:calc(9px * var(--font-scale,1));line-height:1.45;color:#707b8b;margin:10px 0}.dispatch-meta{display:flex;gap:6px;flex-wrap:wrap}.dispatch-meta span{background:#f2f4f7;color:#6e7888;border-radius:5px;padding:4px 6px;font-size:calc(8px * var(--font-scale,1))}.dispatch-next{margin-top:11px;padding-top:10px;border-top:1px solid #edf0f3}.dispatch-next small,.dispatch-next b{display:block}.dispatch-next small{font-size:calc(8px * var(--font-scale,1));color:#939ba8;text-transform:uppercase}.dispatch-next b{font-size:calc(9px * var(--font-scale,1));margin-top:3px}.dispatch-actions{display:flex;gap:6px;margin-top:11px}.dispatch-actions .button{padding:7px 8px;font-size:calc(9px * var(--font-scale,1));flex:1}.lane-empty{padding:25px 8px;text-align:center;color:#929aa7;font-size:calc(10px * var(--font-scale,1))}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px;display:flex;gap:13px;box-shadow:0 3px 15px rgba(20,30,48,.025)}.stat-icon{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:9px;font-size:calc(17px * var(--font-scale,1));font-weight:800}.stat-icon.blue{background:#eaf1ff;color:#2e68dc}.stat-icon.amber{background:#fff2df;color:#c47a13}.stat-icon.green{background:#e6f6ef;color:#25865f}.stat-icon.violet{background:#f0ebff;color:#7156bf}.stat-card small{display:block;color:#737d8d;font-size:calc(10px * var(--font-scale,1));margin:1px 0 5px}.stat-card strong{font-family:Georgia,serif;font-size:calc(22px * var(--font-scale,1));color:#1e2738}.stat-card p{margin:6px 0 0;color:#8b93a0;font-size:calc(9px * var(--font-scale,1))}.toolbar{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;gap:14px;justify-content:space-between}.search{height:36px;min-width:340px;display:flex;align-items:center;gap:8px;background:#f7f8fa;border:1px solid #e7e9ed;border-radius:7px;padding:0 11px;color:#8c95a3}.search input{width:100%;border:0;outline:0;background:transparent;font-size:calc(11px * var(--font-scale,1))}.filters{display:flex;gap:8px}.filters select{border:1px solid var(--line);background:#fff;border-radius:7px;padding:0 28px 0 10px;font-size:calc(11px * var(--font-scale,1));color:#596475}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th{text-align:left;padding:11px 15px;background:#fafbfc;border-bottom:1px solid var(--line);color:#8a93a1;text-transform:uppercase;font-size:calc(8px * var(--font-scale,1));letter-spacing:.7px}td{padding:14px 15px;border-bottom:1px solid #edf0f3;font-size:calc(11px * var(--font-scale,1));vertical-align:middle}tbody tr:hover{background:#fafcff}.invoice-id{font-weight:800;color:#25304a}.invoice-date,.subtext{display:block;color:#8d95a2;font-size:calc(9px * var(--font-scale,1));margin-top:4px}.vendor{font-weight:700}.amount{font-weight:800;white-space:nowrap}.route-name{display:block;font-weight:700;font-size:calc(10px * var(--font-scale,1))}.status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:20px;font-weight:700;font-size:calc(9px * var(--font-scale,1));white-space:nowrap}.status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status.pending{color:#a9660d;background:#fff3df}.status.approved{color:#237b58;background:#e8f7f0}.more{border:0;background:transparent;color:#8d96a5;cursor:pointer;letter-spacing:2px}.table-footer{padding:12px 16px;color:#818a98;font-size:calc(9px * var(--font-scale,1))}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}.form-card{padding:22px;grid-column:1}.section-title{display:flex;gap:11px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}.section-title>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e9f0fe;color:#2d63cc;font-weight:800;font-size:calc(11px * var(--font-scale,1))}.section-title h2,.summary-card h2,.route-card h2{font-family:Georgia,serif;margin:0;font-size:calc(17px * var(--font-scale,1))}.section-title p{margin:4px 0 0;color:#89919f;font-size:calc(10px * var(--font-scale,1))}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field>span{font-size:calc(10px * var(--font-scale,1));font-weight:700;color:#566173}.field input,.field textarea,.field select{border:1px solid #dfe3e9;border-radius:7px;padding:11px 12px;font:inherit;font-size:calc(11px * var(--font-scale,1));outline:none;background:#fff}.route-preview{margin-top:17px;border:1px solid #cfe0ff;background:#f4f8ff;border-radius:8px;padding:13px;display:flex;align-items:center;gap:12px}.route-symbol{display:grid;place-items:center;width:34px;height:34px;background:#dfeaff;border-radius:8px;color:#2d68dc;font-size:calc(17px * var(--font-scale,1))}.route-preview small,.route-preview b,.route-preview p{display:block}.route-preview small{color:#7b8799;font-size:calc(9px * var(--font-scale,1))}.route-preview b{font-size:calc(11px * var(--font-scale,1));margin:3px 0}.route-preview p{font-size:calc(9px * var(--font-scale,1));color:#7c8798;margin:0}.route-pill{margin-left:auto;color:#2c65d0;background:#fff;border:1px solid #d4e1f8;border-radius:20px;padding:5px 8px;font-size:calc(8px * var(--font-scale,1));font-weight:700}.dropzone{border:1.5px dashed #cdd4df;border-radius:9px;background:#fafbfc;padding:27px;text-align:center;display:block;cursor:pointer}.dropzone input{display:none}.dropzone span,.dropzone b,.dropzone p,.dropzone small{display:block}.upload-icon{margin:0 auto 10px;width:38px;height:38px;border-radius:9px;background:#e9f0fd;color:#2c64ce;font-size:calc(22px * var(--font-scale,1));line-height:38px}.dropzone p{font-size:calc(10px * var(--font-scale,1))}.dropzone small{font-size:calc(9px * var(--font-scale,1));color:#979eaa}.file-list{margin-top:10px}.file-item{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;padding:9px;margin-top:7px;font-size:calc(10px * var(--font-scale,1))}.file-item b{flex:1}.summary-card{grid-column:2;grid-row:1/span 2;padding:20px;position:sticky;top:84px}.summary-card ul{padding:0;list-style:none}.summary-card li{font-size:calc(10px * var(--font-scale,1));margin:12px 0}.summary-note{background:#f6f7f9;border-radius:7px;padding:12px;color:#727c8b;font-size:calc(9px * var(--font-scale,1))}.approval-grid,.route-grid,.entity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.approval-card,.route-card,.entity-card{padding:20px}.approval-card-top{display:flex;justify-content:space-between}.approval-card h2{font-family:Georgia,serif;margin:4px 0;font-size:calc(18px * var(--font-scale,1))}.approval-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f7f8fa;border-radius:8px;padding:13px;margin:16px 0}.approval-info small,.approval-info b{display:block}.approval-info small{font-size:calc(8px * var(--font-scale,1));color:#8b94a1;text-transform:uppercase}.approval-info b{font-size:calc(11px * var(--font-scale,1));margin-top:4px}.approval-actions{display:flex;gap:8px}.approval-actions .button{flex:1}.route-card-head,.entity-head{display:flex;gap:12px;align-items:center}.route-card-head p,.entity-head p{font-size:calc(10px * var(--font-scale,1));color:#8992a0;margin:4px 0 0}.flow{display:flex;align-items:center;gap:7px;overflow:auto;padding:20px 0}.flow span{border:1px solid var(--line);border-radius:7px;padding:9px 10px;font-size:calc(9px * var(--font-scale,1));white-space:nowrap}.flow i{font-style:normal;margin-right:5px}.card-meta{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between}.pending-banner{display:flex;align-items:center;gap:13px;border:1px solid #f0d89e;background:#fff9e9;border-radius:9px;padding:14px 16px;margin-bottom:15px}.entity-logo{width:42px;height:42px;border-radius:10px;background:#eaf1ff;color:#2e68dc;display:grid;place-items:center;font-family:Georgia,serif;font-weight:800;font-size:calc(18px * var(--font-scale,1))}.entity-head h2{font-family:Georgia,serif;font-size:calc(17px * var(--font-scale,1));margin:1px 0}.entity-data{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:16px 0;margin-top:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.entity-data small,.entity-data b{display:block;font-size:calc(9px * var(--font-scale,1))}.entity-routes{padding-top:14px}.route-chip,.entity-tag{display:inline-block;background:#edf3fb;border-radius:5px;padding:4px 6px;font-size:calc(8px * var(--font-scale,1));margin-top:5px}.modal-backdrop{position:fixed;inset:0;background:rgba(12,19,32,.62);display:none;align-items:center;justify-content:center;padding:20px;z-index:50;backdrop-filter:blur(3px)}.modal-backdrop.open{display:flex}.modal{background:#fff;border-radius:12px;max-width:540px;width:100%;padding:25px;position:relative;box-shadow:0 25px 70px rgba(0,0,0,.25)}.modal-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:calc(24px * var(--font-scale,1));color:#8e96a2}.modal h2{font-family:Georgia,serif}.modal-detail{background:#f6f7f9;border-radius:8px;padding:14px;margin:17px 0;display:grid;grid-template-columns:1fr 1fr;gap:13px}.modal-detail small,.modal-detail b{display:block;font-size:calc(9px * var(--font-scale,1))}.toast{position:fixed;right:25px;bottom:25px;background:#172238;color:#fff;border-radius:9px;padding:13px 16px;display:flex;gap:10px;min-width:260px;transform:translateY(100px);opacity:0;transition:.3s;z-index:60}.toast.show{transform:translateY(0);opacity:1}.mobile-wide{display:none}.route-step{display:flex;gap:8px;align-items:center;margin-bottom:8px}.route-step-select{flex:1;padding:10px}.scan-actions{margin-top:10px}.scan-actions small{font-size:calc(9px * var(--font-scale,1));color:#8c95a3;margin-left:8px}
@media(max-width:1100px){.dispatcher-metrics{grid-template-columns:repeat(2,1fr)}.dispatcher-board{grid-template-columns:1fr 1fr}.dispatcher-board .dispatcher-lane:last-child{grid-column:1/-1}.stats-grid{grid-template-columns:repeat(2,1fr)}.route-grid,.approval-grid{grid-template-columns:1fr}.page{padding:28px 25px}.toolbar{align-items:stretch;flex-direction:column}.search{min-width:0}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.topbar{padding:0 16px;height:58px}.menu-button{display:block}.breadcrumbs{display:none}.top-actions .button{display:none}.page{padding:18px 13px 30px}.dispatcher-hero{padding:20px;align-items:flex-start;flex-direction:column}.dispatcher-hero h1{font-size:calc(28px * var(--font-scale,1))}.dispatcher-hero-actions{width:100%}.dispatcher-hero-actions .button{flex:1}.dispatcher-metrics{grid-template-columns:1fr 1fr;gap:8px}.dispatcher-metrics article{padding:13px}.dispatcher-layout{grid-template-columns:1fr}.focus-invoice{grid-template-columns:1fr 1fr}.dispatcher-board{grid-template-columns:1fr}.dispatcher-board .dispatcher-lane:last-child{grid-column:auto}.page-heading{align-items:flex-start;flex-direction:column}.mobile-wide{display:block;width:100%}.stats-grid{grid-template-columns:1fr 1fr}.form-layout{display:block}.form-card{margin-bottom:12px}.summary-card{position:static;margin-top:12px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.entity-grid{grid-template-columns:1fr}.flow{flex-direction:column;align-items:stretch}}
@media(max-width:430px){.dispatcher-metrics{grid-template-columns:1fr 1fr}.dispatcher-metrics b{font-size:calc(21px * var(--font-scale,1))}.focus-invoice{grid-template-columns:1fr}.focus-actions{flex-direction:column}.focus-actions .button{width:100%}.stats-grid{grid-template-columns:1fr}.approval-actions{flex-direction:column}}
 .status.rejected{color:#bd454b;background:#fff0f1}.rejection-note{display:block;margin-top:6px;color:#b43b45;font-size:calc(9px * var(--font-scale,1));line-height:1.4}.rejection-detail{margin:15px 0;padding:13px;border:1px solid #f1d1d3;border-radius:8px;background:#fff5f5;color:#9e3540}.rejection-detail b,.rejection-detail small{display:block;font-size:calc(10px * var(--font-scale,1))}.rejection-detail p{margin:6px 0;font-size:calc(12px * var(--font-scale,1));line-height:1.45}.rejection-detail small{color:#926c71}
 [data-theme="dark"] body{background:#101827;color:#e6edf8}[data-theme="dark"] .main,[data-theme="dark"] .page{background:#101827}[data-theme="dark"] .topbar,[data-theme="dark"] .panel,[data-theme="dark"] .dispatcher-metrics article,[data-theme="dark"] .modal,[data-theme="dark"] .auth-card{background:#172238;border-color:#2d3b53;color:#e6edf8}[data-theme="dark"] .page-heading h1,[data-theme="dark"] .dispatcher-metrics b,[data-theme="dark"] .stat-card strong,[data-theme="dark"] .modal h2,[data-theme="dark"] .entity-head h2{color:#f4f7fc}[data-theme="dark"] .dispatcher-lane{background:#142034;border-color:#2d3b53}[data-theme="dark"] .dispatch-card,[data-theme="dark"] .search,[data-theme="dark"] .field input,[data-theme="dark"] .field textarea,[data-theme="dark"] .field select,[data-theme="dark"] .filters select,[data-theme="dark"] .file-item,[data-theme="dark"] .modal-detail,[data-theme="dark"] .summary-note,[data-theme="dark"] .dispatcher-tip{background:#1d2a40;border-color:#34445e;color:#e6edf8}[data-theme="dark"] .toolbar,[data-theme="dark"] th,[data-theme="dark"] td,[data-theme="dark"] .section-title,[data-theme="dark"] .entity-data{border-color:#2d3b53}[data-theme="dark"] th{background:#18253a;color:#aebbd0}[data-theme="dark"] tbody tr:hover{background:#1c2a42}[data-theme="dark"] .button.secondary,[data-theme="dark"] .icon-button,[data-theme="dark"] .menu-button{background:#1d2a40;border-color:#3a4a64;color:#e6edf8}[data-theme="dark"] .subtext,[data-theme="dark"] .page-heading p,[data-theme="dark"] .field>span,[data-theme="dark"] .route-card-head p,[data-theme="dark"] .entity-head p{color:#aebbd0}[data-theme="dark"] .route-preview{background:#172d52;border-color:#375e9e}[data-theme="dark"] .dropzone{background:#18253a;border-color:#50607a}[data-theme="dark"] .rejection-detail{background:#3a2028;border-color:#7f3e4b;color:#ffdbe0}
 .focus-invoice{grid-template-columns:.65fr 1.35fr 1fr 1fr 1fr}@media(max-width:1100px){.focus-invoice{grid-template-columns:1fr 1fr 1fr}}@media(max-width:760px){.focus-invoice{grid-template-columns:1fr 1fr}}@media(max-width:430px){.focus-invoice{grid-template-columns:1fr}}
.accountant-payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}.accountant-payment-summary .panel{padding:14px}.accountant-payment-summary small{display:block;color:#737d8d;margin-bottom:4px}.accountant-payment-summary b{font-size:calc(18px * var(--font-scale,1))}@media(max-width:720px){.accountant-payment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.install-banner{position:fixed;right:22px;bottom:22px;z-index:55;display:flex;align-items:center;gap:18px;max-width:440px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 42px rgba(20,30,48,.2)}.install-banner b{font-size:calc(12px * var(--font-scale,1));color:#1d2940}.install-banner p{margin:4px 0 0;color:var(--muted);font-size:calc(10px * var(--font-scale,1));line-height:1.45}.install-banner-actions{display:flex;gap:6px;flex:0 0 auto}.install-banner-actions .button{white-space:nowrap;padding:9px 11px}.install-profile-action{margin-top:9px}@media(max-width:760px){.install-banner{left:13px;right:13px;bottom:13px;max-width:none;align-items:flex-start}.install-banner-actions{flex-direction:column}.install-banner-actions .button{width:100%}}@media(max-width:430px){.install-banner{gap:12px;padding:14px}.install-banner-actions .button{font-size:calc(11px * var(--font-scale,1));padding:8px}}

.startup-failure{margin-top:18px;padding:16px;border:1px solid #efb4b4;border-radius:12px;background:#fff7f7;color:#293244}.startup-failure h2{margin:0 0 8px;font-size:calc(19px * var(--font-scale,1))}.startup-failure p{margin:8px 0}.mobile-diagnostics{position:fixed;inset:0;z-index:1000;overflow:auto;padding:20px;background:#f4f6fb;color:#172238;font:calc(14px * var(--font-scale,1))/1.5 system-ui,sans-serif}.mobile-diagnostics[hidden]{display:none}.mobile-diagnostics h1{font-size:calc(21px * var(--font-scale,1))}.mobile-diagnostics pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;background:#fff;border:1px solid #d8dfeb;border-radius:10px}
/* Keep the app shell tied to the device viewport on mobile browsers and installed PWAs. */
.install-banner[hidden]{display:none}
.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;max-width:1100px}.profile-panel{padding:28px;min-width:0;align-self:start}.profile-panel h2{margin:0 0 16px}.profile-section-heading{display:flex;gap:14px;align-items:center}.profile-section-heading h2{margin:0}.profile-telegram-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:14px;background:#e3f2ff;color:#168bd2;font-size:calc(28px * var(--font-scale,1))}.profile-connection{padding:12px 16px;background:var(--bg,#f2f4f8);border-radius:10px;font-weight:600;overflow-wrap:anywhere}.profile-connection.connected{color:#187448;background:#e8f5ed}.profile-preferences{margin-top:22px;display:grid;gap:18px}.profile-toggle{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.profile-toggle input{width:20px;height:20px;margin:3px 0 0;flex-shrink:0;accent-color:#2984e8}.profile-toggle span{display:grid;gap:5px}.profile-toggle small{line-height:1.5;color:var(--muted,#697586)}.profile-toggle:has(input:disabled){opacity:.6;cursor:default}.profile-link-panel{padding:16px;margin-top:16px;border:1px solid #b9d8f4;border-radius:12px;display:grid;gap:12px;overflow-wrap:anywhere}.profile-link-panel.hidden{display:none}.profile-link-panel p{margin:0;line-height:1.5}#disconnectTelegram{margin-top:20px}#profileRetry{margin-bottom:20px}#profileLoading:empty,#profileSaveStatus:empty,#telegramSaveStatus:empty,#telegramDeliveryError:empty{display:none}@media(max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-panel{padding:20px}}[data-theme=dark] .profile-connection.connected{background:#17392c;color:#90dbb0}[data-theme=dark] .profile-telegram-icon{background:#183956;color:#82c9f5}
@media(max-width:760px){html,body,.app-shell{width:100%;max-width:100%}.main{width:100%;min-width:0;margin-left:0}.page{width:100%;min-width:0}}

/* Human-readable approval and payment history. */
.readable-history{border-top:1px solid var(--line,#e4e8ef);padding-top:24px;margin-top:24px}.history-summary{padding:16px 18px;border-radius:12px;background:#edf4ff;border:1px solid #d7e5fb;margin-bottom:24px;color:#1f4c86}.history-summary p{margin:6px 0 0;line-height:1.5;font-size:calc(13px * var(--font-scale,1))}.history-summary.approved{background:#edf8f1;border-color:#d5ebdd;color:#226b43}.history-summary.rejected{background:#fff2f1;border-color:#f2d6d2;color:#9a3934}.history-timeline{list-style:none;padding:0;margin:0}.history-event{position:relative;padding:0 0 26px 30px;margin:0;border-left:2px solid #e1e6ef;margin-left:7px;overflow-wrap:anywhere}.history-event:last-child{border-color:transparent;padding-bottom:0}.history-event:before{content:'';position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:#718298;border:3px solid #fff;box-shadow:0 0 0 1px #d6deea}.history-event.approved:before{background:#26965d}.history-event.rejected:before{background:#d25850}.history-event.current:before{background:#2879e3;box-shadow:0 0 0 4px #e5efff}.history-event.waiting:before,.history-event.skipped:before,.history-event.unknown:before,.history-event.stopped:before{background:#c0c8d5}.history-stage{font-size:calc(11px * var(--font-scale,1));font-weight:600;letter-spacing:.03em;color:#7b8696}.history-event h4{margin:5px 0 6px;font-size:calc(15px * var(--font-scale,1));line-height:1.45;font-weight:650}.history-event .history-actor{margin:0 0 5px;font-size:calc(14px * var(--font-scale,1));line-height:1.5;color:var(--text,#273244)}.history-time{display:inline-block;font-size:calc(12px * var(--font-scale,1));line-height:1.6;color:var(--muted,#768192)}.history-channel{display:inline-block;margin:5px 0 0 8px;font-size:calc(11px * var(--font-scale,1));color:#227ba8;background:#eaf5fc;padding:3px 7px;border-radius:5px}.history-comment{margin:12px 0 0;padding:11px 13px;border:0;border-left:3px solid #d4ddeb;border-radius:0 7px 7px 0;background:#f5f7fa;font-size:calc(13px * var(--font-scale,1));line-height:1.6;white-space:pre-wrap;color:#46546b}.history-event.current h4{color:#2468bc}.history-event.waiting,.history-event.skipped,.history-event.unknown,.history-event.stopped{color:#7d8797}.history-empty,.history-error{font-size:calc(13px * var(--font-scale,1));line-height:1.6;color:var(--muted,#768192)}.history-payment-details{font-size:calc(12px * var(--font-scale,1));line-height:1.65;color:var(--muted,#768192);margin:8px 0 0}.history-payment-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}.history-payment-summary div{min-width:0;overflow-wrap:anywhere}.history-payment-summary dt{font-size:calc(12px * var(--font-scale,1));color:var(--muted,#768192);margin-bottom:5px}.history-payment-summary dd{margin:0;font-size:calc(14px * var(--font-scale,1));line-height:1.5;font-weight:600}.history-invoice-link{padding:0;border:0;background:transparent;color:#286cbb;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit;line-height:1.5;overflow-wrap:anywhere}#auditRows td{overflow-wrap:anywhere;white-space:normal}#auditRows .history-channel{margin-left:0;display:table}#auditRows strong{font-weight:600}
@media(max-width:760px){#page-audit .table-wrap{overflow:visible;background:transparent;border:0;box-shadow:none}#page-audit table,#page-audit tbody{display:block;width:100%;min-width:0}#page-audit thead{display:none}#auditRows tr{display:grid;grid-template-columns:1fr;gap:11px;margin-bottom:14px;padding:18px;background:var(--panel,#fff);border:1px solid var(--line,#e4e8ef);border-radius:12px}#page-audit #auditRows td:nth-child(n){display:block!important;width:auto;min-width:0;border:0;padding:0;text-align:left;font-size:calc(13px * var(--font-scale,1));line-height:1.55}#auditRows td:before{content:attr(data-label);display:block;font-size:calc(10px * var(--font-scale,1));font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#768192);margin-bottom:3px}.history-event{padding-left:24px}.history-payment-summary{grid-template-columns:1fr}.readable-history{padding-top:20px;margin-top:20px}}
[data-theme=dark] .history-comment{background:#202c40;color:#d9e2ef}[data-theme=dark] .history-summary{background:#1d304b;border-color:#304c70;color:#aacdf7}[data-theme=dark] .history-summary.approved{background:#19392c;border-color:#29553e;color:#9cdfb7}[data-theme=dark] .history-summary.rejected{background:#422729;border-color:#633b3f;color:#f0b8b5}[data-theme=dark] .history-event:before{border-color:#172237}[data-theme=dark] .history-channel{background:#19394d;color:#8acbea}

#page-audit #auditRows td{font-size:calc(13px * var(--font-scale,1));line-height:1.6;padding:16px 18px}#page-audit thead th{font-size:calc(11px * var(--font-scale,1))}@media(max-width:760px){#page-audit>.panel{padding:0;background:transparent;border:0;box-shadow:none}#page-audit #auditRows td:nth-child(n){font-size:calc(14px * var(--font-scale,1));padding:0}}

/* Bounded dialogs: the invoice body owns scrolling, header/actions stay reachable. */
html.modal-open,html.modal-open body{overflow:hidden;overscroll-behavior:none}
.modal-backdrop{padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));overflow:hidden}
.modal{display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 32px);max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));overflow:hidden}
#modalContent{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-wrap:anywhere}
.modal-close{z-index:2;right:8px;top:8px;width:44px;height:44px;cursor:pointer;border-radius:8px;color:#536079}
.modal:has(.invoice-sheet){padding:0;max-width:640px;height:auto}
#modalContent:has(.invoice-sheet){display:flex;flex:1;overflow:hidden}
.invoice-sheet{display:flex;flex-direction:column;width:100%;min-height:0;min-width:0;font-size:calc(14px * var(--font-scale,1));line-height:1.45}
.invoice-sheet-header{padding:16px 60px 12px 20px;border-bottom:1px solid var(--line);flex-shrink:0}
.invoice-number{margin:0 0 4px;color:#6e7787;font-size:calc(12px * var(--font-scale,1))}
.invoice-sheet-header h2{font:650 calc(18px * var(--font-scale,1))/1.3 system-ui,sans-serif;margin:0;overflow-wrap:anywhere;max-height:3.9em;overflow-y:auto}
.invoice-sheet-amount{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px}.invoice-sheet-amount>strong{font-size:calc(24px * var(--font-scale,1));font-variant-numeric:tabular-nums;letter-spacing:-.4px}.invoice-sheet .status{font-size:calc(12px * var(--font-scale,1))}
.invoice-sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding:14px 20px 20px;scroll-padding:12px}
.invoice-current{padding:10px 12px;border-left:3px solid #2f6fed;background:#edf4ff;color:#244f85;margin-bottom:12px;border-radius:0 6px 6px 0}.invoice-current strong{font-size:calc(13px * var(--font-scale,1))}.invoice-current p{font-size:calc(13px * var(--font-scale,1));line-height:1.45;margin:2px 0 0}
.invoice-purpose{margin-bottom:8px}.invoice-purpose summary{font-size:calc(13px * var(--font-scale,1));color:#6e7787}.invoice-purpose p{margin:4px 0 8px;white-space:pre-wrap;font-size:calc(14px * var(--font-scale,1))}
.invoice-documents h3{font-size:calc(14px * var(--font-scale,1));margin:10px 0 4px}.invoice-documents .subtext{font-size:calc(13px * var(--font-scale,1))}
.invoice-document{padding:8px 0;display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.invoice-document>b{font-size:calc(13px * var(--font-scale,1));min-width:0;overflow-wrap:anywhere;font-weight:500}.invoice-document-actions{display:flex;flex-shrink:0;gap:4px}.invoice-document-actions .button{min-height:44px;font-size:calc(12px * var(--font-scale,1));padding:8px}
.invoice-sheet-footer{display:flex;gap:8px;padding:12px 20px;border-top:1px solid var(--line);flex-shrink:0}.invoice-sheet-footer .button{flex:1;min-height:44px;font-size:calc(14px * var(--font-scale,1))}
.invoice-sheet details>summary{cursor:pointer;min-height:44px;align-content:center;font-size:calc(14px * var(--font-scale,1));font-weight:600;overflow-wrap:anywhere}
.invoice-details,.invoice-sheet .readable-history{border-top:1px solid var(--line);margin:8px 0 0;padding:0}.invoice-sheet details>div{padding-bottom:8px}.invoice-sheet .modal-detail{padding:12px;margin:0;gap:10px 16px}.invoice-sheet .modal-detail small{font-size:calc(12px * var(--font-scale,1));color:#6e7787}.invoice-sheet .modal-detail b{font-size:calc(13px * var(--font-scale,1));font-weight:500}
.invoice-sheet .history-summary{padding:8px 10px;margin:4px 0 14px;border-radius:6px;font-size:calc(13px * var(--font-scale,1))}.invoice-sheet .history-summary p{font-size:calc(12px * var(--font-scale,1));margin:2px 0 0}
.invoice-sheet .history-event{padding:0 0 14px 20px;margin-left:6px}.invoice-sheet .history-event:before{width:10px;height:10px;left:-6px;top:5px;border-width:2px}.invoice-sheet .history-event h4{font-size:calc(13px * var(--font-scale,1));line-height:1.4;margin:2px 0}.invoice-sheet .history-actor{font-size:calc(13px * var(--font-scale,1));margin:0}.invoice-sheet .history-stage,.invoice-sheet .history-time{font-size:calc(11px * var(--font-scale,1))}.invoice-sheet .history-comment{font-size:calc(12px * var(--font-scale,1));padding:6px 8px;margin-top:6px;line-height:1.45}.invoice-sheet .history-channel{font-size:calc(10px * var(--font-scale,1));margin:2px 0 0 6px;padding:2px 5px}.invoice-sheet .history-payment-summary{gap:10px;padding:8px 0}.invoice-sheet .history-payment-summary dd{font-size:calc(13px * var(--font-scale,1))}
:where(button,summary,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid #2f6fed;outline-offset:3px}
/* Metric buttons and filtered lists. */
.dispatcher-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.dispatcher-metric{font:inherit;min-width:0;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;cursor:pointer;color:inherit;transition:border-color .15s,background .15s}.dispatcher-metric:hover{border-color:#94b4f2}.dispatcher-metric.active{background:#edf4ff;border-color:#2f6fed;box-shadow:inset 0 0 0 1px #2f6fed}.dispatcher-metrics small{font-size:calc(12px * var(--font-scale,1));letter-spacing:0;text-transform:none;color:#626e80}.dispatcher-metrics b{font-family:inherit;font-size:calc(24px * var(--font-scale,1));margin:4px 0}.dispatcher-metrics span{font-size:calc(11px * var(--font-scale,1));line-height:1.4;color:#6e7787}.dispatcher-layout{grid-template-columns:minmax(0,1fr)}.dispatcher-layout[hidden],.dispatcher-board[hidden],.dispatcher-results[hidden]{display:none}
.dispatcher-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.dispatcher-search{flex:1;min-width:220px;margin:0}.dispatcher-search input{min-height:44px}.dispatcher-tabs{display:flex;flex-wrap:wrap;gap:6px}.dispatcher-tabs button{min-height:44px;padding:8px 12px;font-size:calc(12px * var(--font-scale,1))}
.dispatcher-results{scroll-margin-top:16px}.dispatcher-results-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:12px 0}.dispatcher-results-heading h2{font-size:calc(20px * var(--font-scale,1));margin:0}.dispatcher-results-heading span{font-size:calc(12px * var(--font-scale,1));color:#6e7787}#dispatcherResultList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#dispatcherResultList .dispatch-card{margin:0}#dispatcherResultList .dispatch-card-head b{font-size:calc(14px * var(--font-scale,1))}#dispatcherResultList .dispatch-card-head small{font-size:calc(12px * var(--font-scale,1))}#dispatcherResultList .dispatch-card>p{font-size:calc(13px * var(--font-scale,1))}#dispatcherResultList .dispatch-next small{font-size:calc(11px * var(--font-scale,1));text-transform:none}#dispatcherResultList .dispatch-next b{font-size:calc(13px * var(--font-scale,1))}.dispatch-actions .button{min-height:44px;font-size:calc(12px * var(--font-scale,1))}.dispatcher-focus{padding:18px}.dispatcher-focus-head h2{font:650 calc(20px * var(--font-scale,1))/1.3 system-ui,sans-serif}.dispatcher-focus-head .eyebrow{display:none}
/* Compact audit list: one event per row, no repeated field labels. */
#page-audit #auditRows td{padding:12px 14px;font-size:calc(13px * var(--font-scale,1));line-height:1.45}.audit-time{font-variant-numeric:tabular-nums;color:#6e7787}.audit-details p{white-space:pre-wrap;margin:6px 0}.audit-details summary{min-height:44px;align-content:center;cursor:pointer}.history-invoice-link{min-height:44px}
[data-theme=dark] .dispatcher-metric{background:#172238;border-color:#34445e;color:#e6edf8}[data-theme=dark] .dispatcher-metric.active{background:#1d304b;border-color:#5993ff}[data-theme=dark] .dispatcher-metric small,[data-theme=dark] .dispatcher-metric span,[data-theme=dark] .invoice-number,[data-theme=dark] .invoice-sheet .modal-detail small,[data-theme=dark] .audit-time,[data-theme=dark] .invoice-purpose summary{color:#aebbd0}[data-theme=dark] .invoice-current{background:#1d304b;color:#aacdf7}[data-theme=dark] .history-actor{color:#d9e2ef}
@media(max-width:900px){.dispatcher-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.submitted-metric{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;column-gap:12px}.submitted-metric b{grid-column:2;grid-row:1/3;align-self:center}.submitted-metric span{grid-column:1}#dispatcherResultList{grid-template-columns:1fr}}
@media(max-width:760px){
 .modal-backdrop{padding:8px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.modal{max-height:calc(100vh - 16px);max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));padding:20px}.modal:has(.invoice-sheet){height:auto}
 .invoice-sheet-header{padding:14px 56px 12px 16px}.invoice-sheet-body{padding:12px 16px 16px}.invoice-sheet-footer{padding:10px 16px}.invoice-document{align-items:flex-start;flex-direction:column;gap:2px}.invoice-document-actions{align-self:flex-end}.invoice-sheet .modal-detail{grid-template-columns:1fr 1fr}.invoice-sheet .history-payment-summary{grid-template-columns:1fr 1fr}
 .dispatcher-hero{padding:18px;margin-bottom:14px;gap:16px;border-radius:12px}.dispatcher-hero .eyebrow{display:none}.dispatcher-hero h1{font:650 calc(25px * var(--font-scale,1))/1.15 system-ui,sans-serif;letter-spacing:-.4px}.dispatcher-hero p:not(.eyebrow){font-size:calc(13px * var(--font-scale,1));line-height:1.45}.dispatcher-metric{padding:12px}.dispatcher-controls{gap:8px}.dispatcher-search{width:100%;flex-basis:100%}.dispatcher-tabs{width:100%}.dispatcher-tabs button{flex:1}.focus-invoice{grid-template-columns:1fr 1fr}.focus-invoice>div:nth-child(2){grid-column:1/-1}.focus-invoice b{font-size:calc(12px * var(--font-scale,1))}.focus-actions{flex-direction:row}.focus-actions .button{font-size:calc(12px * var(--font-scale,1));min-height:44px}
 #page-audit .page-heading h1{font-size:calc(28px * var(--font-scale,1))}#page-audit .page-heading p{font-size:calc(13px * var(--font-scale,1))}#page-audit #auditRows{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}#page-audit #auditRows tr{grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;margin:0;padding:12px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}#page-audit #auditRows tr:last-child{border-bottom:0}
 #page-audit #auditRows td:nth-child(n){padding:0;font-size:calc(13px * var(--font-scale,1));line-height:1.4}#auditRows td:before{display:none}#auditRows .audit-action{grid-column:1;grid-row:1}#page-audit #auditRows .audit-time{grid-column:2;grid-row:1;font-size:calc(11px * var(--font-scale,1));text-align:right;max-width:95px}#auditRows .audit-actor{grid-column:1/-1;grid-row:2;color:#626e80}#auditRows .audit-object,#auditRows .audit-details{grid-column:1/-1}#page-audit #auditRows td.audit-empty:nth-child(n){display:none!important}#auditRows .history-invoice-link{min-height:36px}#auditRows .history-channel{display:inline-block;font-size:calc(10px * var(--font-scale,1));padding:1px 4px;margin:0 0 0 5px}#auditRows .audit-details{color:#6e7787}
 [data-theme=dark] #page-audit #auditRows{background:#172238}[data-theme=dark] #auditRows .audit-actor,[data-theme=dark] #auditRows .audit-details{color:#aebbd0}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.invoice-entity{font-size:calc(12px * var(--font-scale,1));color:#6e7787;margin:4px 0 0}[data-theme=dark] .invoice-entity{color:#aebbd0}

/* Release notes live in the app shell, so reading them needs no extra API call. */
.sidebar .brand,.sidebar-footer{flex-shrink:0}
.sidebar .nav{min-height:0;overflow-y:auto;margin-bottom:12px}
.updates-note{max-width:780px;margin:0 0 28px;color:#6e7787;font-size:calc(13px * var(--font-scale,1));line-height:1.6}
.updates-list{max-width:980px;list-style:none;padding:0;margin:0}
.update-entry{display:grid;grid-template-columns:155px minmax(0,1fr);gap:24px;padding-bottom:28px}
.update-date{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:6px;font-size:calc(13px * var(--font-scale,1));font-weight:700;color:#536079}
.update-tag{display:inline-block;padding:4px 9px;border-radius:20px;background:#e8f0ff;color:#285fc3;font-size:calc(11px * var(--font-scale,1));font-weight:700}
.update-tag-fix{background:#e8f7f0;color:#237b58}
.update-card{padding:24px;min-width:0}
.update-card h2{font-size:calc(20px * var(--font-scale,1));line-height:1.35;margin:0 0 10px;letter-spacing:-.3px}
.update-card>p,.update-card li,.update-benefit p{font-size:calc(14px * var(--font-scale,1));line-height:1.65;color:#596475}
.update-card>p{margin:0 0 16px}
.update-card ul{padding-left:20px;margin:0 0 20px}
.update-card li+li{margin-top:10px}
.update-card li strong{color:#25304a}
.update-benefit{padding:14px 16px;border-radius:8px;background:#f4f8ff;border-left:3px solid #2f6fed}
.update-benefit>strong{font-size:calc(12px * var(--font-scale,1));color:#285fc3}
.update-benefit p{margin:5px 0 0}
[data-theme=dark] .updates-note,[data-theme=dark] .update-date,[data-theme=dark] .update-card>p,[data-theme=dark] .update-card li,[data-theme=dark] .update-benefit p{color:#aebbd0}
[data-theme=dark] .update-card li strong{color:#e6edf8}
[data-theme=dark] .update-benefit,[data-theme=dark] .update-tag{background:#1d304b}
[data-theme=dark] .update-benefit>strong,[data-theme=dark] .update-tag{color:#aacdf7}
[data-theme=dark] .update-tag-fix{background:#193c33;color:#94dec0}
@media(max-width:760px){
 .update-entry{grid-template-columns:minmax(0,1fr);gap:12px;padding-bottom:24px}
 .update-date{flex-direction:row;align-items:center;flex-wrap:wrap;padding:0}
 .update-card{padding:18px}.update-card h2{font-size:calc(19px * var(--font-scale,1))}
 .updates-note{margin-bottom:22px}
}

/* FlowInvoice Insights: inherits the existing V4 typography and surfaces. */
.insights-block{border:1px solid var(--border,#e1e6ed);border-radius:16px;padding:16px;margin:0 0 16px;min-width:0}
.insights-block h3{margin:0 0 12px}.insights-block p{line-height:1.5}.insights-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.insights-personal{padding:22px;margin-bottom:20px}.insights-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:14px 0}
.insights-metric{padding:12px;background:var(--bg,#f4f6fa);border-radius:12px;min-width:0}.insights-metric small,.insights-metric strong{display:block;overflow-wrap:anywhere}.insights-metric strong{margin-top:5px;font-variant-numeric:tabular-nums}
.insights-warning{padding:12px 14px;border-inline-start:3px solid #b77915;border-radius:8px;background:var(--bg,#f7f8fa);margin:10px 0;overflow-wrap:anywhere}.insights-warning.review{border-color:#b94b49}.insights-warning small,.insights-warning strong{display:block}.insights-warning small{text-transform:uppercase;font-size:calc(10px * var(--font-scale,1));letter-spacing:.07em;margin-bottom:6px}.insights-warning p{margin:7px 0;font-size:calc(13px * var(--font-scale,1))}
.insights-details>div{padding-top:14px}.insights-block summary,.insights-personal summary{cursor:pointer;padding:10px 0;font-weight:600}.insights-links{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;max-height:220px;overflow:auto}.insights-link{border:1px solid var(--border,#dde3ed);background:transparent;color:inherit;border-radius:8px;padding:7px 9px;cursor:pointer;font:inherit;font-size:calc(12px * var(--font-scale,1));text-align:left;overflow-wrap:anywhere;max-width:100%}
.insights-chart{margin:16px 0;min-width:0}.insights-chart figcaption{font-weight:600;margin-bottom:12px}.insights-chart-row{display:grid;grid-template-columns:60px minmax(20px,1fr) minmax(105px,auto);align-items:center;gap:9px;font-size:calc(11px * var(--font-scale,1));margin:10px 0;font-variant-numeric:tabular-nums}.insights-chart-row>span{text-align:right;overflow-wrap:anywhere}.insights-bars{display:flex;flex-direction:column;gap:3px;min-width:0}.insights-bars span{height:7px;border-radius:3px;background:#607cc4;max-width:100%}.insights-bars .paid{background:#459580}
.insights-block select,.insights-personal select{font:inherit;background:var(--bg,#f4f6fa);color:inherit;border:1px solid var(--border,#dde3ed);border-radius:8px;padding:6px;max-width:100%}.insights-empty,.insights-status{font-weight:600}
@media(max-width:600px){.insights-personal{padding:14px}.insights-block{padding:12px}.insights-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-chart-row{grid-template-columns:48px minmax(16px,1fr) minmax(90px,110px);gap:5px;font-size:calc(10px * var(--font-scale,1))}.insights-warning p{font-size:calc(12px * var(--font-scale,1))}}
.insights-block .subtext,.insights-personal>.subtext{font-size:calc(12px * var(--font-scale,1));line-height:1.55}

/* Sequential approval workspace. The existing invoice sheet is shared with dialogs. */
#page-approvals .page-heading h1{font-family:inherit;font-size:calc(28px * var(--font-scale,1));letter-spacing:-.6px}
#page-approvals .insights-personal{padding:0 18px;margin-bottom:16px;box-shadow:none}
#personalInsights>summary{padding:12px 0;font-size:calc(13px * var(--font-scale,1));font-weight:600;cursor:pointer;color:var(--blue)}
#personalInsights[open]{padding-bottom:18px}#personalInsights>.insights-heading{margin-top:10px}
.review-queue-count{font-size:calc(12px * var(--font-scale,1));color:var(--muted);margin:0 0 12px}
.approval-workspace{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.5fr);gap:20px;align-items:start}
.approval-queue{display:grid;gap:10px;max-height:calc(100dvh - 230px);overflow-y:auto;overscroll-behavior:contain;padding:3px;min-width:0;scrollbar-width:thin}
.review-queue-item{display:block;width:100%;padding:16px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);font:inherit;cursor:pointer;min-width:0;transition:border-color .15s}
.review-queue-item:hover{border-color:var(--blue)}.review-queue-item.selected{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue);background:color-mix(in srgb,var(--blue) 5%,var(--white))}
.review-queue-item:focus-visible{outline:3px solid var(--blue);outline-offset:1px}.review-queue-item:disabled{cursor:wait;opacity:.65}
.review-queue-item>*{display:block;overflow-wrap:anywhere}.review-queue-number{font-size:calc(11px * var(--font-scale,1));color:var(--muted);margin-bottom:8px}.review-queue-vendor{font-size:calc(14px * var(--font-scale,1));line-height:1.4;font-weight:650}.review-queue-amount{font-size:calc(23px * var(--font-scale,1));font-weight:700;letter-spacing:-.5px;font-variant-numeric:tabular-nums;margin:8px 0}.review-queue-entity{font-size:calc(11px * var(--font-scale,1));color:var(--muted)}
.review-queue-hint{font-size:calc(12px * var(--font-scale,1));line-height:1.5;margin:10px 0 6px;padding:8px 10px;border-radius:7px;background:var(--bg);color:var(--muted)}
.review-queue-hint.attention{background:color-mix(in srgb,var(--amber) 12%,var(--white));color:var(--amber)}.review-queue-hint.review{background:color-mix(in srgb,#bd454b 10%,var(--white));color:#b64149}.review-queue-baseline{font-size:calc(11px * var(--font-scale,1));color:var(--muted)}
.approval-review{min-width:0;overflow:hidden;box-shadow:none}.review-context{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--line);gap:12px;color:var(--muted);font-size:calc(12px * var(--font-scale,1))}.review-back{display:none}.review-sheet-host .invoice-sheet{height:calc(100dvh - 284px);min-height:510px;max-height:none}.review-sheet-host .invoice-sheet-header{padding:18px 22px 14px}.review-sheet-host .invoice-sheet-header h2{font:650 calc(23px * var(--font-scale,1))/1.3 Inter,"Segoe UI",Arial,sans-serif}.review-sheet-host .invoice-sheet-amount strong{font-size:calc(29px * var(--font-scale,1))}.review-purpose-text{font-size:calc(13px * var(--font-scale,1));line-height:1.5;margin:10px 0 0;color:var(--muted);overflow-wrap:anywhere}
.review-sheet-host .invoice-sheet-body{padding:18px 22px;overscroll-behavior:contain}.review-sheet-host .invoice-purpose{display:none}.review-sheet-host .invoice-sheet-footer[hidden]{display:none}.review-sheet-host .invoice-sheet-footer{padding:12px 20px;align-items:center}.review-sheet-host .invoice-sheet-footer .review-reject{flex:0 0 auto;background:transparent;border:0;color:var(--muted);font-weight:500}.review-sheet-host .invoice-sheet-footer .review-approve{margin-left:auto;flex:0 1 auto;min-width:190px}
.review-sheet-host .insights-block{border:0;border-radius:0;padding:0;margin-bottom:18px}.review-sheet-host .insights-block h3{font-size:calc(15px * var(--font-scale,1))}.review-sheet-host .insights-warning{padding:12px;margin:12px 0}.review-rejection{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--bg);margin-bottom:18px}.review-rejection h3{margin:0 0 12px;font-size:calc(15px * var(--font-scale,1))}.review-rejection textarea{resize:vertical;min-height:90px}.review-rejection-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.review-announcement{margin:12px 0 0;font-size:calc(13px * var(--font-scale,1));color:var(--ink)}.approval-review>h2,.approval-review>p,.approval-review>.button{margin:20px}.review-empty-list{font-size:calc(13px * var(--font-scale,1));color:var(--muted);padding:16px}
[data-theme=dark] .review-queue-hint.review{color:#ffb2b7}[data-theme=dark] .review-queue-hint.attention{color:#f8cf8b}[data-theme=dark] .review-sheet-host .invoice-sheet-header h2{color:var(--ink)}
@media(min-width:761px) and (max-width:1100px){#page-approvals{padding:24px 20px}.approval-workspace{grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);gap:12px}.review-queue-item{padding:12px}.review-sheet-host .invoice-sheet-header,.review-sheet-host .invoice-sheet-body{padding:14px}.review-sheet-host .invoice-sheet-footer{padding:10px 12px;flex-wrap:wrap}.review-sheet-host .invoice-sheet-footer .review-approve{min-width:0}}
@media(max-width:760px){#page-approvals{padding:22px 14px 28px}.approval-workspace{display:block}.approval-queue{max-height:none;overflow:visible;padding:3px}.approval-workspace.show-review .approval-queue{display:none}.approval-workspace:not(.show-review) .approval-review{display:none}.approval-workspace:not(.show-review):has(.review-empty-list) .approval-review{display:block}.review-back{display:inline-block;font-size:calc(12px * var(--font-scale,1));padding:8px}.review-context{padding:10px 12px}.review-context>span{text-align:right;font-size:calc(11px * var(--font-scale,1))}.review-sheet-host .invoice-sheet{height:calc(100dvh - 255px);min-height:450px}.review-sheet-host .invoice-sheet-header{padding:14px 16px 12px}.review-sheet-host .invoice-sheet-header h2{font-size:calc(21px * var(--font-scale,1))}.review-sheet-host .invoice-sheet-amount strong{font-size:calc(27px * var(--font-scale,1))}.review-sheet-host .invoice-sheet-body{padding:14px 16px}.review-sheet-host .invoice-sheet-footer{padding:10px 12px;gap:8px}.review-sheet-host .invoice-sheet-footer .review-approve{min-width:0;font-size:calc(12px * var(--font-scale,1));padding:12px}.review-sheet-host .invoice-sheet-footer .review-reject{font-size:calc(12px * var(--font-scale,1));padding:10px 4px}.review-purpose-text{font-size:calc(12px * var(--font-scale,1))}.review-rejection{padding:12px}.review-rejection-actions .button{font-size:calc(12px * var(--font-scale,1))}}
.review-sheet-host .invoice-sheet{height:var(--review-sheet-height,calc(100dvh - 284px));min-height:0}
.review-purpose-text{max-height:4.5em;overflow-y:auto;white-space:pre-wrap}
.review-jumps{display:flex;gap:8px;padding:10px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.review-jumps .button{font-size:calc(12px * var(--font-scale,1));font-weight:500}.review-jumps .button:disabled{opacity:.5;cursor:default}
@media(max-width:760px){.review-jumps{padding:8px 12px;gap:6px}.review-jumps .button{min-height:40px;padding:8px 10px}}
[data-theme=dark] #page-approvals{--white:#172238;--ink:#e6edf8;--muted:#aebbd0;--bg:#111b2e;--line:#34445e;--amber:#f8cf8b}

/* Review starts with the decision facts; supporting analysis is opt-in. */
.review-sheet-host .invoice-sheet-header{padding:12px 22px 10px}
.review-sheet-host .invoice-sheet-header h2{font-size:calc(20px * var(--font-scale,1));line-height:1.2;margin:4px 0}
.review-sheet-host .invoice-sheet-amount{margin:6px 0}
.review-sheet-host .invoice-sheet-amount strong{font-size:calc(26px * var(--font-scale,1))}
.review-purpose-text{margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.review-sheet-host .invoice-sheet-body{padding:12px 22px}
.review-sheet-host .invoice-current{display:none}
.review-sheet-host .invoice-purpose{display:block}
.insights-compact h3{margin:0 0 8px}
.insights-compact .insights-status{margin:0 0 8px;font-size:calc(13px * var(--font-scale,1));color:var(--muted)}
.insights-brief{display:grid;gap:8px}
.insights-brief-flag{display:block;text-align:left;width:100%;border:0;border-radius:7px;padding:8px 10px;background:#fff4df;color:#915409;font-family:inherit;font-size:calc(13px * var(--font-scale,1));font-weight:600;line-height:1.35;cursor:pointer;overflow-wrap:anywhere}
.insights-brief-flag.review{background:#fbedee;color:#b62e3a}
.insights-brief-more{justify-self:start;border:0;background:transparent;color:var(--blue);font:inherit;cursor:pointer}
.insights-brief-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.insights-brief-metrics .insights-metric{padding:10px;background:var(--bg);border:0;min-width:0}
.insights-brief-metrics .insights-metric strong{font-size:calc(17px * var(--font-scale,1));overflow-wrap:anywhere}
.insights-brief-metrics .insights-metric small{font-size:calc(11px * var(--font-scale,1));line-height:1.4}
.insights-compact .insights-details{margin-top:10px}
.insights-compact .insights-details>summary{color:var(--blue);font-size:calc(13px * var(--font-scale,1))}
[data-theme=dark] .insights-brief-flag{background:#433720;color:#f8cf8b}
[data-theme=dark] .insights-brief-flag.review{background:#492a34;color:#ffb2b7}
@media(max-width:760px){.review-sheet-host .invoice-sheet-header,.review-sheet-host .invoice-sheet-body{padding:10px 14px}.review-sheet-host .invoice-sheet-header h2{font-size:calc(18px * var(--font-scale,1))}.insights-brief-metrics{gap:5px}.insights-brief-metrics .insights-metric{padding:7px}.insights-brief-metrics .insights-metric strong{font-size:calc(14px * var(--font-scale,1))}}

#page-approvals{padding-top:18px}
.review-page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:10px}
#page-approvals .review-page-heading .page-heading{margin:0}
#page-approvals .review-page-heading h1{font-size:calc(24px * var(--font-scale,1))}
#page-approvals .review-page-heading .insights-personal{margin:0;padding:0 12px}
.review-page-heading .insights-personal[open]{grid-column:1/-1;grid-row:2}
.review-queue-count{margin:8px 0 12px}
.review-tools{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex-wrap:wrap}
.review-tools .review-context{border:0;padding:8px 14px}
.review-tools .review-jumps{border:0;padding:8px 14px;gap:6px}
.review-tools .button.compact{padding:7px 9px}
@media(max-width:760px){.review-page-heading{gap:8px}#page-approvals .review-page-heading h1{font-size:calc(21px * var(--font-scale,1))}.review-tools{display:block}.review-tools .review-context{justify-content:space-between}.review-tools .review-jumps{padding-top:0}}

@media(min-width:761px){
  .review-sheet-host .invoice-sheet-header{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;align-items:center}
  .review-sheet-host .invoice-number{grid-column:1;margin:0}
  .review-sheet-host .invoice-sheet-header h2{grid-column:1;grid-row:2}
  .review-purpose-text{grid-column:1/-1}
  .review-sheet-host .invoice-sheet-amount{display:contents}
  .review-sheet-host .invoice-sheet-amount>strong{grid-column:2;grid-row:2;text-align:right}
  .review-sheet-host .invoice-sheet-amount>.status{grid-column:2;grid-row:3;justify-self:end}
  .review-sheet-host .invoice-entity{grid-column:1;grid-row:3}
}

/* Dispatcher: brief signals first, full evidence on demand. */
.dispatcher-hero{padding:18px 22px;margin-bottom:14px}
.dispatcher-hero h1{font-family:inherit;font-size:calc(25px * var(--font-scale,1));line-height:1.25}
.dispatcher-hero .eyebrow{display:none}
.dispatcher-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.dispatcher-insights{padding:16px 18px;margin-bottom:16px;box-shadow:none}
.dispatcher-insights-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dispatcher-insights h2{font-size:calc(16px * var(--font-scale,1));margin:0 0 6px}
.dispatcher-insights p{font-size:calc(12px * var(--font-scale,1));line-height:1.5;color:var(--muted);margin:0}
#dispatcherPriorityList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#dispatcherPriorityList:not(:empty){margin-top:12px}
.dispatcher-priority-item{display:flex;flex-direction:column;gap:6px;min-width:0;border:1px solid var(--line);border-left:3px solid #b76c08;border-radius:8px;padding:12px;text-align:left;background:var(--bg);color:var(--ink);font:inherit;cursor:pointer;overflow-wrap:anywhere}
.dispatcher-priority-item.review{border-left-color:#b64149}
.dispatcher-priority-item small{font-size:calc(11px * var(--font-scale,1));color:var(--muted)}
.dispatcher-priority-item>b{font-size:calc(20px * var(--font-scale,1));font-variant-numeric:tabular-nums}
.dispatcher-priority-item>span{font-size:calc(12px * var(--font-scale,1));color:var(--amber)}
.dispatcher-priority-item.review>span{color:#b64149}
.dispatcher-priority-item small:last-child{color:var(--blue);margin-top:auto}
.dispatch-analysis{display:flex;flex-direction:column;gap:5px;border:0;border-radius:7px;padding:9px 10px;margin:10px 0;width:100%;background:#f4f5f7;color:var(--muted);text-align:left;font:inherit;cursor:pointer;overflow-wrap:anywhere}
.dispatch-analysis strong{font-size:calc(12px * var(--font-scale,1))}.dispatch-analysis small{font-size:calc(11px * var(--font-scale,1))}
.dispatch-analysis.review{background:#fbedee;color:#b64149}.dispatch-analysis.attention{background:#fff4df;color:#915409}
.focus-invoice>.dispatch-analysis{grid-column:1/-1;margin:0}
.dispatcher-focus-head{padding:14px 18px}.dispatcher-focus-head h2{font-size:calc(17px * var(--font-scale,1))}
.dispatcher-priority-item:focus-visible,.dispatch-analysis:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
[data-theme=dark] #page-dispatcher{--white:#172238;--ink:#e6edf8;--muted:#aebbd0;--bg:#111b2e;--line:#34445e;--amber:#f8cf8b}
[data-theme=dark] .dispatch-analysis{background:#1d2a40;color:#aebbd0}
[data-theme=dark] .dispatch-analysis.review{background:#492a34;color:#ffb2b7}
[data-theme=dark] .dispatch-analysis.attention{background:#433720;color:#f8cf8b}
[data-theme=dark] .dispatcher-priority-item.review>span{color:#ffb2b7}
@media(max-width:760px){.dispatcher-hero{padding:16px}.dispatcher-hero h1{font-size:calc(22px * var(--font-scale,1))}.dispatcher-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dispatcher-insights{padding:14px}#dispatcherPriorityList{grid-template-columns:1fr}.dispatcher-priority-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.dispatcher-priority-item>small:first-child{grid-column:1/-1}.dispatcher-priority-item>b{grid-column:2;grid-row:2;font-size:calc(17px * var(--font-scale,1))}.dispatcher-priority-item>span,.dispatcher-priority-item>small:last-child{grid-column:1/-1}}

@media(min-width:1200px){.dispatcher-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:760px){.dispatcher-metrics .submitted-metric{grid-column:auto;display:block}.dispatcher-metrics .submitted-metric b,.dispatcher-metrics .submitted-metric span{display:block}}

.insights-brief-flag.info,.insights-observation{background:#edf4ff;color:#295a9f}
.insights-observation{padding:12px;border-radius:8px;margin:12px 0;font-size:calc(13px * var(--font-scale,1));line-height:1.5}
.insights-observation-title{font-size:calc(13px * var(--font-scale,1));color:var(--blue)}
[data-theme=dark] .insights-brief-flag.info,[data-theme=dark] .insights-observation{background:#1d304b;color:#b8d2ff}
/* Personal dispatcher: the active document is the main content. */
#page-dispatcher{padding:16px 24px 28px}
#page-dispatcher .dispatcher-hero{background:transparent;color:var(--ink);box-shadow:none;border-radius:0;padding:0;gap:14px;margin-bottom:10px;min-height:0;align-items:center}
#page-dispatcher .dispatcher-hero>div:first-child{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
#page-dispatcher .dispatcher-hero h1{font:650 calc(22px * var(--font-scale,1))/1.25 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:-.4px;margin:0;color:var(--ink)}
#page-dispatcher .dispatcher-hero p:not(.eyebrow){color:var(--muted);font-size:calc(12px * var(--font-scale,1));line-height:1.4;margin:0}
#dispatcherMyFilter{display:none}
#page-dispatcher .dispatcher-hero .button.primary{background:var(--blue);color:#fff;border:0;padding:9px 12px;white-space:nowrap}
#page-dispatcher .dispatcher-personal-metrics{display:grid;grid-template-columns:1.2fr repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
#page-dispatcher .dispatcher-personal-metrics:has([data-dispatcher-filter=mine][hidden]){grid-template-columns:1.2fr repeat(3,minmax(0,1fr))}
#page-dispatcher .dispatcher-personal-metrics .dispatcher-metric{padding:9px 12px;min-height:74px;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;box-shadow:none}
#page-dispatcher .dispatcher-personal-metrics .dispatcher-metric[hidden]{display:none}
#page-dispatcher .dispatcher-personal-metrics .dispatcher-metric small{font-size:calc(12px * var(--font-scale,1));line-height:1.25}
#page-dispatcher .dispatcher-personal-metrics .dispatcher-metric b{font-size:calc(24px * var(--font-scale,1));margin:0;grid-column:2;grid-row:1/3}
#page-dispatcher .dispatcher-personal-metrics .dispatcher-metric span{font-size:calc(10px * var(--font-scale,1));line-height:1.35;grid-column:1}
#page-dispatcher .dispatcher-primary-metric{border-color:#b5cdf8;background:#edf4ff}
#page-dispatcher .dispatcher-primary-metric small,#page-dispatcher .dispatcher-primary-metric b{color:var(--blue)}
#page-dispatcher .dispatcher-controls{display:flex;align-items:center;flex-wrap:nowrap;gap:10px;margin-bottom:10px}
#page-dispatcher .dispatcher-search{flex:1;min-width:100px;width:auto;flex-basis:auto;padding:8px 10px}
#page-dispatcher .dispatcher-search input{font-size:calc(12px * var(--font-scale,1));min-width:0}
#page-dispatcher .dispatcher-tabs{width:auto;flex-shrink:0;gap:5px}
#page-dispatcher .dispatcher-tabs button{font-size:calc(12px * var(--font-scale,1));padding:8px 11px;white-space:nowrap}
#dispatcherReviewHost[hidden],#dispatcherResults[hidden]{display:none}
#dispatcherReviewHost .review-queue-count{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
#dispatcherReviewHost .approval-workspace{gap:16px;grid-template-columns:minmax(220px,.68fr) minmax(0,1.5fr)}
#dispatcherReviewHost .approval-queue{max-height:calc(100dvh - 245px)}
#dispatcherReviewHost .review-context{padding:7px 12px}
#dispatcherReviewHost .review-jumps{padding:7px 12px}
#page-dispatcher .review-announcement:empty{display:none}
#page-dispatcher .review-announcement{margin:7px 0 0}
.dispatcher-analysis-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;margin-bottom:10px;border-radius:8px;background:var(--white);font-size:calc(12px * var(--font-scale,1));color:var(--muted)}
.dispatcher-analysis-status[hidden]{display:none}.dispatcher-analysis-status p{margin:0}
.dispatcher-general{padding:0 16px;margin-top:16px;box-shadow:none}
.dispatcher-general>summary{cursor:pointer;padding:13px 0;font-size:calc(13px * var(--font-scale,1));font-weight:600;color:var(--muted)}
.dispatcher-general>summary span{float:right;font-size:calc(12px * var(--font-scale,1));font-weight:400}
.dispatcher-general>p{font-size:calc(12px * var(--font-scale,1));color:var(--muted);line-height:1.5}
#page-dispatcher .dispatcher-general .dispatcher-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 0 16px}
#page-dispatcher .dispatch-card{font-size:calc(13px * var(--font-scale,1));padding:16px}
#page-dispatcher .dispatch-card-head b{font-size:calc(16px * var(--font-scale,1));line-height:1.35}
#page-dispatcher .dispatch-card-head strong{font-size:calc(22px * var(--font-scale,1));white-space:nowrap}
#page-dispatcher .dispatch-card>p{font-size:calc(13px * var(--font-scale,1));line-height:1.5}
#page-dispatcher .dispatch-next small{font-size:calc(12px * var(--font-scale,1));text-transform:none}
#page-dispatcher .dispatch-next b{font-size:calc(13px * var(--font-scale,1));line-height:1.45}
#page-dispatcher .dispatch-meta{font-size:calc(11px * var(--font-scale,1));flex-wrap:wrap;gap:5px 12px}
#page-dispatcher .dispatch-actions{flex-wrap:wrap}
.dispatcher-empty{padding:24px;background:var(--white);border:1px solid var(--line);border-radius:10px;grid-column:1/-1}
.dispatcher-empty h2{font-size:calc(18px * var(--font-scale,1))}.dispatcher-empty p{color:var(--muted);font-size:calc(13px * var(--font-scale,1))}
[data-theme=dark] #page-dispatcher .dispatcher-primary-metric{background:#1d304b;border-color:#4e75b8}
[data-theme=dark] #page-dispatcher .dispatcher-primary-metric small,[data-theme=dark] #page-dispatcher .dispatcher-primary-metric b{color:#b8d2ff}
@media(max-width:1100px){#page-dispatcher .dispatcher-hero p:not(.eyebrow){display:none}#page-dispatcher .dispatcher-personal-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}#page-dispatcher .dispatcher-personal-metrics .dispatcher-metric{padding:8px;column-gap:4px}#page-dispatcher .dispatcher-personal-metrics .dispatcher-metric span{font-size:calc(9px * var(--font-scale,1))}#dispatcherReviewHost .approval-workspace{grid-template-columns:minmax(170px,.65fr) minmax(0,1.5fr);gap:10px}}
@media(max-width:760px){
  #page-dispatcher{padding:14px 14px 24px}
  #page-dispatcher .dispatcher-hero{flex-direction:row;align-items:center;margin-bottom:10px;gap:8px}
  #page-dispatcher .dispatcher-hero h1{font-size:calc(20px * var(--font-scale,1))}
  #page-dispatcher .dispatcher-hero-actions{width:auto}
  #page-dispatcher .dispatcher-hero-actions .button{font-size:calc(11px * var(--font-scale,1));padding:8px}
  #page-dispatcher .dispatcher-personal-metrics,#page-dispatcher .dispatcher-personal-metrics:has([data-dispatcher-filter=mine][hidden]){display:flex;overflow-x:auto;gap:7px;padding-bottom:3px;scrollbar-width:thin}
  #page-dispatcher .dispatcher-personal-metrics .dispatcher-metric{flex:0 0 143px;min-height:70px;padding:9px 10px}
  #page-dispatcher .dispatcher-controls{gap:0;position:relative}
  #page-dispatcher .dispatcher-tabs{display:none}
  #page-dispatcher .dispatcher-search{width:100%;padding:9px 10px}
  #dispatcherReviewHost .approval-workspace{display:block}
  #dispatcherReviewHost .approval-queue{max-height:none;overflow:visible}
  #dispatcherReviewHost .review-tools .review-context{padding:6px 12px}
  #dispatcherReviewHost .review-tools .review-jumps{padding:0 12px 6px}
  #page-dispatcher .dispatcher-general .dispatcher-metrics{grid-template-columns:1fr}
  .dispatcher-general>summary span{float:none;display:block;margin-top:4px;margin-left:15px}
  #page-dispatcher .dispatch-card-head strong{font-size:calc(19px * var(--font-scale,1))}
}
#page-dispatcher .dispatcher-hero>div:first-child{flex:0 0 auto}
#page-dispatcher .dispatcher-hero p:not(.eyebrow){display:none}
#page-dispatcher .dispatcher-hero .dispatcher-controls{flex:1;min-width:150px;margin:0;gap:8px}
#page-dispatcher .dispatcher-hero .dispatcher-search{min-width:100px;flex:1}
#page-dispatcher #dispatcherTabs{display:flex;width:auto;flex-shrink:0}
#page-dispatcher #dispatcherTabs #dispatcherPrimaryTab,#page-dispatcher #dispatcherTabs #dispatcherSecondaryTab{display:none}
#page-dispatcher #dispatcherTabs button{min-height:34px;padding:7px 9px}
#page-dispatcher .dispatcher-personal-metrics .dispatcher-metric{min-height:68px}
@media(max-width:760px){#page-dispatcher .dispatcher-hero{flex-wrap:wrap}#page-dispatcher .dispatcher-hero>div:first-child{flex:1;order:1}#page-dispatcher .dispatcher-hero-actions{order:2}#page-dispatcher .dispatcher-hero .dispatcher-controls{order:3;flex-basis:100%;margin-top:2px}#page-dispatcher .dispatcher-personal-metrics .dispatcher-metric{min-height:68px}}
#page-dispatcher .dispatch-card-head strong{font-family:inherit;font-variant-numeric:tabular-nums}

/* Secondary statistics stay below the daily approval workspace. */
#page-dispatcher .insights-personal{padding:0 16px;margin:16px 0 0;box-shadow:none}
#page-dispatcher .insights-personal>summary{padding:13px 0;font-size:calc(13px * var(--font-scale,1));color:var(--muted)}
@media(min-width:761px) and (max-height:700px){
  #dispatcherReviewHost .invoice-sheet-header{padding-top:4px;padding-bottom:4px}
  #dispatcherReviewHost .invoice-sheet-body{padding-top:8px;padding-bottom:8px}
  #dispatcherReviewHost .invoice-sheet-footer{padding-top:8px;padding-bottom:8px}
  #dispatcherReviewHost .insights-brief{gap:5px}
  #dispatcherReviewHost .insights-brief-metrics .insights-metric{padding:5px}
  #dispatcherReviewHost .insights-compact .insights-details{margin-top:4px}
  #dispatcherReviewHost .insights-compact .insights-details>summary{padding:6px 0}
}
.invoice-recognition{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.invoice-recognition h3{margin:0 0 8px}.invoice-recognition p{font-size:calc(13px * var(--font-scale,1));line-height:1.55;overflow-wrap:anywhere}.invoice-recognition select{max-width:100%}
.recognition-results{display:grid;gap:10px;margin:12px 0}.recognition-field{display:flex;gap:12px;align-items:start;padding:12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;cursor:pointer}
.recognition-field input{width:20px;height:20px;flex-shrink:0;accent-color:var(--blue)}.recognition-field span{min-width:0;overflow-wrap:anywhere}.recognition-field b,.recognition-field span>span{display:block;font-size:calc(13px * var(--font-scale,1));margin-bottom:5px}
[data-theme="dark"] .recognition-field{background:#1d2a40;border-color:#3a4a64}

/* Personal approval statistics: tables keep graph values accessible. */
.analytics-filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;padding:20px;margin-bottom:16px}
.analytics-filters .field{flex:1;min-width:150px}
.analytics-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:20px 0}
.analytics-metrics article{padding:20px;min-width:0}
.analytics-metrics small{display:block;color:var(--muted)}
.analytics-metrics strong{display:block;font-size:calc(24px * var(--font-scale,1));margin-top:10px;overflow-wrap:anywhere}
.analytics-panel{padding:20px;margin-top:20px;min-width:0}
.analytics-panel h2{font-size:calc(18px * var(--font-scale,1));margin-bottom:16px}
.analytics-table-wrap{overflow-x:auto}
.analytics-panel table{width:100%;table-layout:fixed}
.analytics-panel th,.analytics-panel td{padding:14px 10px;text-align:left;overflow-wrap:anywhere}
.analytics-panel th:first-child{width:45%}
.analytics-panel thead th{font-weight:500}
.analytics-panel tbody th{font-weight:600}
.analytics-bar{height:8px;min-width:2px;background:var(--blue);border-radius:6px;margin-top:8px}
@media(max-width:760px){.analytics-filters{gap:12px;padding:16px}.analytics-filters .button{flex:1}.analytics-panel{padding:12px}.analytics-panel th,.analytics-panel td{padding:12px 6px}.analytics-metrics strong{font-size:calc(21px * var(--font-scale,1))}}
.analytics-panel table{min-width:0}
.analytics-panel tbody th{font-size:calc(13px * var(--font-scale,1));text-transform:none;letter-spacing:0;background:transparent;color:inherit}
.analytics-panel thead th{font-size:calc(11px * var(--font-scale,1));letter-spacing:0;text-transform:none}
.analytics-panel th:nth-child(2){width:18%}
[data-theme="dark"] .analytics-metrics small{color:#aebbd0}

/* Employee expenses */
#page-expenses [hidden]{display:none!important}
.expense-compose-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start;margin-bottom:24px}
.expense-form,.expense-preview,.expense-registry{padding:24px;min-width:0}
.expense-form h2{margin:0}.expense-form textarea{resize:vertical;min-height:96px}
.expense-form>.full{grid-column:1/-1}
.expense-form small{color:var(--muted);line-height:1.6;font-size:calc(11px * var(--font-scale,1))}
[data-theme="dark"] #page-expenses .button.secondary{background:#1d2a40;border-color:#3a4a64;color:#e6edf8}
[data-theme="dark"] #page-expenses select{color-scheme:dark}
[data-theme="dark"] #page-expenses small{color:#aebbd0}
.expense-review{display:flex;gap:10px;align-items:flex-start;font-size:calc(13px * var(--font-scale,1));line-height:1.6}
.expense-review input{margin-top:5px;flex:none}.expense-actions{display:flex;gap:10px;flex-wrap:wrap}
.expense-preview-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:calc(14px * var(--font-scale,1))}
.expense-preview h2{font-size:calc(20px * var(--font-scale,1));margin:8px 0 20px}.expense-preview .subtext{margin-top:20px}
.expense-list{display:grid;gap:12px;margin-top:20px}.expense-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;border-top:1px solid var(--line);padding:18px 0;min-width:0}
.expense-row p{margin:6px 0;overflow-wrap:anywhere}.expense-description{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:calc(14px * var(--font-scale,1))}
.expense-memo-section{padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:16px}.expense-memo-section details{margin:16px 0}.expense-memo-section summary{cursor:pointer;font-weight:600}.expense-memo-section .expense-preview-text{padding:14px 0}
body.expense-print{background:#eef1f6;color:#182234;font:calc(16px * var(--font-scale,1))/1.6 Georgia,'Times New Roman',serif;margin:0;padding:24px}
html:has(body.expense-print){background:white}
.expense-paper{background:white;max-width:794px;margin:0 auto;padding:60px 65px;box-shadow:0 8px 32px #17223814;overflow-wrap:anywhere;min-height:1050px}
.expense-letterhead{border-bottom:3px solid #234d85;padding-bottom:18px;margin-bottom:32px}.expense-letterhead strong{font-size:calc(24px * var(--font-scale,1));color:#234d85}.expense-letterhead p{font-size:calc(13px * var(--font-scale,1));margin:4px 0}
.expense-addressee{margin-left:45%;margin-bottom:40px}.expense-paper h1{text-align:center;font-size:calc(24px * var(--font-scale,1));margin:24px 0 8px}.expense-paper h2{text-align:center;font-size:calc(18px * var(--font-scale,1))}.expense-document-meta{text-align:center;font-size:calc(13px * var(--font-scale,1))}.expense-memo-purpose{white-space:pre-wrap}.expense-signature{margin-top:50px;display:flex;justify-content:space-between;gap:24px}.expense-print-hint{font:calc(13px * var(--font-scale,1))/1.6 system-ui;text-align:center;color:#596778}
@media(max-width:1000px){.expense-compose-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.expense-form,.expense-preview,.expense-registry{padding:18px}.expense-row{grid-template-columns:minmax(0,1fr) auto}.expense-row .button{grid-column:1/-1}.expense-actions>.button{width:100%}.expense-paper{padding:24px}.expense-addressee{margin-left:20%}.expense-signature{display:block}}
@media print{body.expense-print{background:white;padding:0;color:black}.expense-print .expense-paper{box-shadow:none;max-width:none;min-height:0;padding:10mm}.expense-print .expense-print-hint{display:none}.expense-print .expense-letterhead{break-inside:avoid}.expense-print .expense-signature{break-inside:avoid}.expense-print .expense-addressee{margin-left:45%}}

.expense-item-editor{display:grid;grid-template-columns:minmax(140px,2fr) repeat(3,minmax(70px,1fr));gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.expense-item-editor input{width:100%;min-width:0}.expense-item-editor button{grid-column:1/-1;justify-self:start}
.expense-print table{width:100%;border-collapse:collapse;margin:16px 0}.expense-print th,.expense-print td{border:1px solid #aaa;padding:8px;text-align:left;overflow-wrap:anywhere}
@media(max-width:600px){.expense-item-editor{grid-template-columns:repeat(3,minmax(0,1fr))}.expense-item-editor label:first-child{grid-column:1/-1}}

#invoiceForm .document-upload-card{grid-column:1/-1}
.recognition-table-wrap{width:100%;max-width:100%;overflow-x:auto;margin:12px 0 18px}
.recognition-fields,.purchase-table{width:100%;border-collapse:collapse;text-align:left}
.recognition-fields th,.recognition-fields td,.purchase-table th,.purchase-table td{padding:10px;border-bottom:1px solid var(--line,#e1e6ef);vertical-align:top}
.recognition-fields th{width:150px;font-size:calc(13px * var(--font-scale,1))}.recognition-fields td .field>span{display:none}.recognition-fields td .field{margin:0}.recognition-fields input,.recognition-fields textarea{width:100%;min-width:0}
.purchase-table{min-width:620px}.purchase-table th{font-size:calc(12px * var(--font-scale,1));color:var(--muted,#617087)}.purchase-table td:first-child{width:40%}.purchase-table input{width:100%;min-width:65px}.purchase-table td:first-child input{min-width:180px}.invoice-purchases{overflow-x:auto}.invoice-purchases td{padding:8px;border-bottom:1px solid #ddd}
.document-upload-card .dropzone{min-height:140px}#expenseForm>.field:has(#expenseFiles){padding:18px;border:2px dashed #9bb9ed;border-radius:14px;background:rgba(49,111,235,.035)}
@media(max-width:600px){.recognition-fields th{width:85px;font-size:calc(12px * var(--font-scale,1))}.recognition-fields th,.recognition-fields td{padding:8px 4px}.form-layout>div,.expense-form,.recognition-output{min-width:0}}
#expenseForm>.field,#expenseItems,#invoiceItems{min-width:0;max-width:100%}.recognition-fields{table-layout:fixed}.recognition-fields th{width:28%}.recognition-fields td{width:72%}.purchase-table-wrap{min-width:0}
.recognition-fields,.expense-print table,.invoice-purchases table{min-width:0}
.recognition-fields th{white-space:normal;overflow-wrap:anywhere;text-transform:none}.purchase-table input{padding:10px;border:1px solid var(--line,#dce3ee);border-radius:6px;background:var(--panel,#fff);color:inherit;font:inherit;font-size:calc(13px * var(--font-scale,1))}.purchase-table input:focus{outline:2px solid #3f7cf0;outline-offset:1px}

/* Document entry follows one reading order; actions never cover the form. */
#invoiceForm{display:flex;flex-direction:column;align-items:stretch;gap:14px}
#invoiceForm>.panel{width:100%;min-width:0;margin:0}
#invoiceForm .document-upload-card{padding:16px 20px}
.compact-upload-heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.compact-upload-heading h2{font-family:inherit;font-size:calc(16px * var(--font-scale,1));font-weight:700;margin:0}.compact-upload-heading span,.upload-drop-hint{font-size:calc(12px * var(--font-scale,1));color:var(--muted,#617087)}
#invoiceForm .compact-upload{min-height:0;padding:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;text-align:left}
#invoiceForm .compact-upload .upload-drop-hint{display:inline}
.upload-limits{font-size:calc(12px * var(--font-scale,1));color:var(--muted,#617087);line-height:1.45;margin:10px 0 0}
.invoice-submit-footer{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:static}
.invoice-submit-footer p{font-size:calc(12px * var(--font-scale,1));line-height:1.5;color:var(--muted,#617087);margin:0;max-width:550px}.invoice-submit-actions{display:flex;gap:8px;flex-wrap:wrap}
.recognition-status{font-size:calc(13px * var(--font-scale,1));line-height:1.5;overflow-wrap:anywhere}.recognition-status:empty{display:none}.recognition-status>p{margin:10px 0 0}.recognition-status details{margin-top:6px;color:var(--muted,#617087);font-size:calc(12px * var(--font-scale,1))}.recognition-status summary{cursor:pointer}.recognition-status ul{padding-left:20px;margin:6px 0}
@media(max-width:760px){#invoiceForm .document-upload-card{padding:14px}.compact-upload-heading{gap:4px}.invoice-submit-footer{align-items:stretch;flex-direction:column;padding:14px}.invoice-submit-actions .button{flex:1}.upload-drop-hint{display:none!important}}

#invoiceForm select,#expenseForm select{min-height:40px}
@media(min-width:1000px){
  #invoiceForm .recognition-fields tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
  #invoiceForm .recognition-fields tr{display:grid;grid-template-columns:125px minmax(0,1fr);min-width:0}
  #invoiceForm .recognition-fields th,#invoiceForm .recognition-fields td{display:block;width:auto;min-width:0;padding:9px 10px}
  #invoiceForm .recognition-fields textarea{min-height:60px}
}
#invoiceForm select,#expenseForm select{appearance:none;-webkit-appearance:none;height:40px;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,#62708a 50%),linear-gradient(135deg,#62708a 50%,transparent 50%);background-position:calc(100% - 17px) 17px,calc(100% - 12px) 17px;background-size:5px 5px;background-repeat:no-repeat}
#invoiceForm .field input,#invoiceForm .field textarea,#invoiceForm .field select{font-size:calc(13px * var(--font-scale,1))}

.profile-display-settings{max-width:1100px;margin-bottom:24px}
.profile-display-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end}
.profile-display-controls .button{min-height:42px;white-space:normal}
.profile-display-controls select{min-height:42px}
#displaySettingsStatus:empty{display:none}
@media(max-width:900px){.profile-display-controls{grid-template-columns:1fr}}
@media print{:root{--font-scale:1!important}}

.insights-price-block { margin: 12px 0; padding: 14px; border: 1px solid var(--border); border-radius: 12px; }
.insights-price-block > summary { cursor: pointer; font-weight: 600; }
.insights-price-block form { display: grid; gap: 10px; min-width: 0; }
.insights-price-block input,.insights-price-block select { width: 100%; min-width: 0; max-width: 100%; }
.insights-price-block strong,.insights-price-block p { overflow-wrap: anywhere; }
.insights-budget-block,.insights-equipment-block,.form-assignments { margin: 12px 0; padding: 14px; border: 1px solid var(--border); border-radius: 12px; min-width: 0; }
.insights-budget-block > summary,.insights-equipment-block > summary,.form-assignments > summary { cursor: pointer; font-weight: 600; }
.allocation-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 12px 0; }
.allocation-row input,.allocation-row select,.insights-budget-block input { min-width: 0; width: 100%; }
.form-assignments { grid-column: 1 / -1; }
@media(max-width:600px) { .allocation-row { grid-template-columns: minmax(0,1fr); } }

/* Purchase history has its own column sizing; form input widths do not apply. */
.purchase-history-table{width:100%;min-width:1050px;border-collapse:collapse;text-align:left;font-size:calc(13px * var(--font-scale,1))}
.purchase-history-table th,.purchase-history-table td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.purchase-history-table th{font-size:calc(11px * var(--font-scale,1));color:var(--muted)}
.purchase-history-table td:first-child{min-width:95px;white-space:nowrap}
.purchase-history-table td:nth-child(3){min-width:180px}
.purchase-history-table td:last-child{min-width:190px}
.purchase-history-table td p{margin:6px 0;font-size:12px}
.purchase-history-table td small{color:var(--muted);font-size:11px}
.purchase-history-table button{padding:7px 10px;font-size:12px}
.document-tags{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.document-tags>summary{cursor:pointer;font-weight:600;overflow-wrap:anywhere}
.document-tags form{display:grid;gap:10px;margin:12px 0}
@media(max-width:760px){
  .purchase-history-table{min-width:0;display:block}
  .purchase-history-table thead{display:none}
  .purchase-history-table tbody{display:grid;gap:12px}
  .purchase-history-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:14px;background:var(--panel,#fff);border:1px solid var(--line);border-radius:12px}
  .purchase-history-table td{display:block;padding:0;border:0;min-width:0!important;overflow-wrap:anywhere}
  .purchase-history-table td::before{content:attr(data-label);display:block;color:var(--muted);font-size:10px;margin-bottom:3px;font-weight:400}
  .purchase-history-table td:nth-child(3){grid-column:1/-1;order:-1;font-weight:700}
  .purchase-history-table td:last-child{grid-column:1/-1}
}

/* Registry rows open the document; controls keep their own actions. */
#invoiceRows tr[data-id], .dispatch-card[data-id] { cursor: pointer; }

/* Ordinary authors: creation shortcuts and document status filters. */
.user-document-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.user-document-filters { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:12px 0 20px; }
.user-document-filters label { display:flex; align-items:center; gap:8px; }
#userDispatcherControls[hidden], .dispatcher-personal-metrics[hidden], #dispatcherTabs[hidden] { display:none; }
#page-dispatcher .dispatcher-personal-metrics[hidden], #dispatcherTabs[hidden], #dispatcherGeneral[hidden], #dispatcherMyFilter[hidden] { display:none!important; }
#page-dispatcher .user-document-tabs { display:flex; flex-wrap:wrap; width:100%; }
#userDispatcherControls { min-width:0; }
.user-document-filters label { max-width:100%; min-width:0; flex-wrap:wrap; }
.user-document-filters select { max-width:100%; }
@media(max-width:760px){#page-registry .filters{flex-wrap:wrap;min-width:0;}#page-registry .filters select{max-width:100%;min-height:36px;}}

#approverDispatcherControls[hidden], #page-dispatcher .user-document-tabs[hidden], #page-dispatcher .approver-review-tabs[hidden]{display:none!important;}
#page-dispatcher .approver-mode-tabs, #page-dispatcher .approver-review-tabs{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin:12px 0;}
#approverDispatcherControls{min-width:0;}
#page-dispatcher.approver-dispatcher .user-document-filters { margin:8px 0 12px; }
@media(min-width:1101px){
  #page-dispatcher.approver-dispatcher .approver-mode-tabs, #page-dispatcher.approver-dispatcher .approver-review-tabs { margin:6px 0; }
  #page-dispatcher.approver-dispatcher .dispatcher-hero { margin-bottom:8px; }
}
@media(max-width:760px){
  #page-dispatcher.approver-dispatcher .approver-review-tabs { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; margin:6px 0; }
  #page-dispatcher.approver-dispatcher .approver-mode-tabs { margin:6px 0; }
  #page-dispatcher.approver-dispatcher .user-document-filters { gap:6px; font-size:11px; }
  #page-dispatcher.approver-dispatcher .user-document-filters label { flex-wrap:nowrap; }
  #page-dispatcher.approver-dispatcher .user-document-filters select { min-width:0; }
}
@media(min-width:1101px){
  #approverDispatcherControls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:4px 0;}
  #page-dispatcher .approver-mode-tabs,#page-dispatcher .approver-review-tabs{width:auto;margin:0;gap:5px;}
  #page-dispatcher.approver-dispatcher .approver-mode-tabs,#page-dispatcher.approver-dispatcher .approver-review-tabs{margin:0;}
}

/* The approver sees the same concise document cards in every dispatcher tab. */
.approver-dispatcher #dispatcherResultList .dispatch-card>p:not(.subtext){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

.rejection-reason-dialog{width:min(480px,calc(100vw - 28px));padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--ink);box-shadow:var(--shadow);font-family:inherit;}
.rejection-reason-dialog::backdrop{background:rgba(15,23,42,.55);}
.rejection-reason-dialog h2{font-size:20px;margin:0 0 18px;}
.rejection-reason-dialog textarea{width:100%;resize:vertical;min-height:110px;}
.rejection-reason-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;}

/* Decision-focused approval sheet: document first, evidence on demand. */
.decision-focus .decision-stage{background:none;border:0;padding:0;margin:8px 0 0;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:12px;}
.decision-focus .decision-stage p{margin:0;color:var(--muted);}
.decision-focus .invoice-purpose{margin:0 0 14px;}
.decision-focus .invoice-purpose>summary{font-size:12px;color:var(--muted);min-height:28px;}
.decision-focus .invoice-purpose>p{font-size:16px;line-height:1.5;margin:4px 0;}
.decision-focus .invoice-documents{padding:12px;border:1px solid var(--line);border-radius:10px;margin:0 0 14px;}
.decision-focus .invoice-documents h3{margin:0 0 8px;font-size:14px;}
.decision-focus .missing-attachments{margin:0;color:var(--amber);}
.decision-focus .focused-tags-summary{font-size:12px;color:var(--muted);margin:0 0 12px;}
.decision-focus .decision-analysis{padding:12px;border:1px solid var(--line);border-radius:10px;margin:0 0 14px;}
.decision-analysis h3{margin:0 0 10px;font-size:14px;}
.decision-analysis-brief{border-left:3px solid var(--amber);padding:2px 0 2px 10px;}
.decision-analysis-brief.review{border-color:#cf4253;}
.decision-analysis-brief.info{border-color:var(--blue);}
.decision-analysis-brief p{font-size:13px;line-height:1.5;margin:6px 0;}
.decision-analysis-brief small{display:block;color:var(--muted);line-height:1.4;}
.decision-analysis .decision-evidence{margin-top:10px;}
.decision-analysis .decision-evidence>summary{font-size:13px;}
.decision-analysis .decision-more-warnings{margin-top:10px;}
.decision-focus .invoice-sheet-footer{background:var(--white);}

.accountant-hidden{display:none!important;}
#accountantQueueFilters[hidden]{display:none!important;}
.accountant-queue-filters{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0;}
.accountant-queue-filters .field:first-child{flex:1;min-width:200px;}
.accountant-payment-card{cursor:pointer;}
.accountant-payment-summary .panel p{margin:8px 0 3px;font-size:11px;color:var(--muted);}
.accountant-payment-summary .panel strong{font-size:18px;}
.accountant-payment-card .approval-info b{overflow-wrap:anywhere;}

.payment-entity-filter[hidden]{display:none!important;}
@media(min-width:600px){.accountant-payment-summary{grid-template-columns:repeat(3,minmax(0,1fr));}}
/* Supplier invoice payment sheet: original and copyable snapshot details. */
.accountant-invoice-sheet .invoice-sheet-header{padding-bottom:12px;}
.accountant-invoice-sheet .payment-balance-label{font-size:13px;color:var(--muted);}
.accountant-invoice-sheet .invoice-sheet-header>.subtext{margin:6px 0 10px;}
.accountant-original,.accountant-requisites{padding:14px;border:1px solid var(--line);border-radius:10px;margin:0 0 14px;}
.accountant-original h3,.accountant-requisites h3{margin:0 0 10px;font-size:15px;}
.accountant-original .invoice-document{flex-wrap:wrap;}
.accountant-requisites-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.accountant-requisites .subtext{font-size:12px;margin:0 0 12px;}
.bank-requisites{margin:0;}
.bank-requisite{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 0;border-top:1px solid var(--line);}
.bank-requisite dt{grid-column:1;font-size:12px;color:var(--muted);}
.bank-requisite dd{grid-column:1;margin:0;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap;user-select:text;}
.bank-requisite button{grid-column:2;grid-row:1/3;align-self:center;font-size:11px;}
.accountant-payment-notice{padding:10px 12px;border-left:3px solid var(--amber);background:var(--bg);margin-bottom:14px;font-size:13px;}
.invoice-bank-entry{margin-top:14px;padding:14px;}
.invoice-bank-entry>summary{cursor:pointer;font-weight:600;}
@media(max-width:760px){.accountant-original,.accountant-requisites{padding:10px;}.bank-requisite dd{font-size:13px;}.accountant-original .invoice-document-actions{align-self:stretch;flex-wrap:wrap;}.accountant-original .invoice-document-actions .button{flex:1;}}
/* Admin navigation keeps operational work separate from configuration. */
.admin-hidden{display:none!important;}
#adminCreateMenu{position:relative;}
#adminCreateMenu>summary{list-style:none;cursor:pointer;}
.admin-create-options{position:absolute;right:0;top:100%;z-index:30;display:grid;gap:6px;padding:10px;min-width:190px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0002;}
#adminDispatcherControls{margin-bottom:16px;}
#adminOrganizationTabs{margin-top:10px;}
#page-dispatcher:has(#adminDispatcherControls:not([hidden])) .dispatcher-hero-actions:has(>.admin-hidden){display:none;}
@media(max-width:760px){.top-actions:has(#adminCreateMenu:not([hidden])){display:flex;}#adminDispatcherControls .dispatcher-tabs{display:flex;overflow:auto;max-width:100%;}#adminDispatcherControls .dispatcher-tabs button{white-space:nowrap;flex-shrink:0;}.admin-create-options{right:0;}}
@media(max-width:760px){.top-actions #adminCreateMenu .button{display:block;}.top-actions #adminCreateMenu>summary{margin-left:auto;}}
#adminCreateMenu .admin-create-options{background:var(--card,#fff);}
#page-dispatcher:has(#adminDispatcherControls:not([hidden])) .dispatch-card>p:not(.subtext):not(.rejection-note){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
#adminOrganizationTabs[hidden],#adminAnalyticsTabs[hidden],#adminAnalyticsApproverField[hidden],#adminDispatcherControls[hidden],#adminCreateMenu[hidden]{display:none!important;}
#page-dispatcher.admin-personal #adminDispatcherControls{margin-bottom:6px;}
#page-dispatcher.admin-personal .dispatcher-personal-metrics .dispatcher-metric{min-height:48px;padding:6px 9px;}
#page-dispatcher.admin-personal .dispatcher-personal-metrics .dispatcher-metric>span{display:none;}
#page-dispatcher:has(#adminDispatcherControls:not([hidden])) .user-document-filters{font-size:12px;gap:12px;margin:8px 0 14px;}
#page-dispatcher:has(#adminDispatcherControls:not([hidden])) .user-document-filters select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);}
@media(max-width:760px){#adminDispatcherControls .dispatcher-tabs{flex-wrap:nowrap;}#adminOrganizationTabs button{flex:0 0 auto;}}
@media(min-width:761px) and (max-height:750px){
 #page-dispatcher.admin-personal #adminDispatcherControls .dispatcher-tabs button{min-height:30px;padding:4px 10px;}
 #page-dispatcher.admin-personal .dispatcher-personal-metrics .dispatcher-metric{min-height:32px;padding:4px 8px;}
 #page-dispatcher.admin-personal .dispatcher-personal-metrics .dispatcher-metric b{font-size:18px;}
 #page-dispatcher.admin-personal .dispatcher-hero p:not(.eyebrow){display:none;}
}
@media(min-width:761px) and (max-height:750px){#page-dispatcher.admin-personal .dispatcher-hero{margin-bottom:4px;}#page-dispatcher.admin-personal .dispatcher-personal-metrics{margin-bottom:8px;}}
@media(min-width:761px) and (max-height:750px){#page-dispatcher.admin-personal #dispatcherReviewHost .invoice-sheet-body{padding-top:4px;padding-bottom:4px;}}

/* One compact profile row; infrequent actions open above it. */
.sidebar-footer{position:relative;}
.profile>span:nth-child(2){min-width:0;flex:1;}
.profile b,.profile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.profile-actions{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:50;padding:6px;background:var(--navy);border:1px solid #ffffff30;border-radius:10px;box-shadow:0 8px 30px #0004;}
.profile-actions[hidden],.updates-dot[hidden]{display:none!important;}
.profile-action{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:10px;border:0;border-radius:6px;background:transparent;color:#e6edf9;text-align:left;font:inherit;font-size:13px;cursor:pointer;}
.profile-action:hover,.profile-action:focus-visible{background:#ffffff12;}
.profile-action:focus-visible,.profile:focus-visible{outline:2px solid #8bb5ff;outline-offset:1px;}
.updates-dot{display:inline-block;flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#79b5ff;}
.profile .dots{margin-left:0;}

/* Audit history stays bounded on desktop and mobile. */
.audit-filters{display:flex;flex-wrap:wrap;gap:12px;padding:16px;align-items:end}
.audit-filters label{display:flex;flex-direction:column;gap:6px;flex:1 1 180px;min-width:0}
.audit-filters input{width:100%;min-width:0;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font:inherit;box-sizing:border-box}
.audit-filters .subtext{flex-basis:100%;margin:0}
.audit-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px}
#auditStatus{padding:0 16px}
@media(max-width:600px){.audit-filters label{flex-basis:100%}.audit-pagination .button{flex:1 1 120px}}

.activity-panel{padding:20px;margin-bottom:24px}
.activity-panel>summary{font-size:calc(20px * var(--font-scale,1));font-weight:700;cursor:pointer;min-height:44px}
.activity-panel>p{font-size:calc(13px * var(--font-scale,1));line-height:1.6;margin:10px 0 16px}
#activitySearch{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
#activitySearch label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px}
#activitySearch input{min-height:42px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font:inherit}
#activityRows td{white-space:normal;overflow-wrap:anywhere;vertical-align:top;font-size:calc(12px * var(--font-scale,1));line-height:1.6}
#activityRows .button{display:block;margin-top:10px}
#activityStatus{font-size:calc(12px * var(--font-scale,1));color:var(--muted)}
#auditEventsTitle{scroll-margin-top:80px}
@media(max-width:760px){
 #page-audit>.activity-panel{padding:14px;border:1px solid var(--line);background:var(--white)}
 #activityRows tr{display:block;margin:14px 0;border:1px solid var(--line);border-radius:10px;padding:14px}
 #page-audit #activityRows td:nth-child(n){display:block!important;padding:5px 0;min-width:0;border:0;white-space:normal;font-size:calc(13px * var(--font-scale,1))}
 #activityRows td:before{content:attr(data-label);display:block;font-size:11px;color:var(--muted);font-weight:600}
}
