:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7fb;--surface:#fff;--surface-soft:#f8fafc;--surface-tint:#eef4ff;--border:#d7e0ec;--border-strong:#b8c6d8;--text:#111827;--text-soft:#334155;--muted:#64748b;--muted-2:#94a3b8;--nav:#17212e;--nav-2:#111a25;--blue:#2563eb;--blue-soft:#eaf1ff;--teal:#0f766e;--teal-soft:#e7f6f3;--amber:#b7791f;--amber-soft:#fff7e6;--red:#c2411f;--red-soft:#fff1eb;--green:#138565;--green-soft:#e7f7f0;--shadow:0 1px 2px #0f172a0f, 0 10px 28px #0f172a0f;--shadow-subtle:0 1px 2px #0f172a0d;--radius:8px;--sidebar:236px;letter-spacing:0;font-family:Instrument Sans,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}*{box-sizing:border-box}html,body,#app{width:100%;height:100%}body{background:var(--bg);min-width:320px;color:var(--text);margin:0;font-family:inherit;line-height:1.45;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #2563eb47}h1,h2,h3,p{margin:0}strong{font-weight:760}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.boot-screen{place-items:center;height:100dvh;padding:32px;display:grid;overflow:auto}.loader-panel,.login-panel,.credential-panel,.panel,.data-panel,.detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.loader-panel{align-items:center;gap:12px;padding:18px 22px;display:flex}.error-panel{justify-items:start;max-width:420px;display:grid}.loader-dot{background:var(--blue);border-radius:999px;width:10px;height:10px}.login-page{background:var(--bg);grid-template-columns:minmax(360px,500px) minmax(280px,340px);place-content:start center;gap:24px;height:100dvh;padding:clamp(36px,7vh,72px) clamp(20px,5vw,64px);display:grid;overflow:auto}.login-panel,.credential-panel{padding:28px}.login-brand,.brand,.topbar-meta,.heading-actions,.workflow-steps,.card-meta,.secondary-button,.primary-button,.icon-button,.notification-button,.inline-filter,.role-preview{align-items:center;display:flex}.login-brand{gap:14px;margin-bottom:28px}.login-brand h1{font-size:1.9rem;line-height:1.08}.login-brand p,.brand span,.page-heading p,.muted,.credential-row small,.detail-list dt,.metric-card small,.panel-header span,.route-list small,.compact-note{color:var(--muted)}.brand-mark{color:#fff;background:#1f4f86;border-radius:10px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.login-form{gap:16px;display:grid}.login-form label,.filters-row label,.action-form label,.inline-filter{color:var(--muted);gap:6px;font-size:.78rem;font-weight:760;display:grid}.login-form input,.search-box input,.filters-row select,.action-form select,.action-form input,.inline-filter input,.inline-filter select{border:1px solid var(--border);width:100%;min-height:40px;color:var(--text);background:#fff;border-radius:7px;padding:8px 10px}.login-form input:focus,.filters-row select:focus,.action-form select:focus,.action-form input:focus,.inline-filter input:focus,.inline-filter select:focus{border-color:#2563ebb8;box-shadow:0 0 0 3px #2563eb1a}.role-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);justify-content:space-between;gap:12px;padding:12px}.form-error{color:var(--red);font-weight:700}.credential-panel{gap:12px;display:grid}.credential-panel h2{font-size:1rem}.credential-row{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);text-align:left;background:#fff;gap:3px;padding:12px;display:grid}.credential-row.active,.credential-row:hover{background:var(--blue-soft);border-color:#2563eb7a}.app-frame{grid-template-columns:var(--sidebar) minmax(0, 1fr);background:var(--bg);width:100%;height:100dvh;display:grid;position:relative;overflow:hidden}.app-frame.is-loading:after{content:"";pointer-events:none;z-index:20;background:#f8fafc47;position:fixed;inset:0}.sidebar{background:var(--nav);color:#e5edf8;border-right:1px solid #ffffff14;grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.brand{border-bottom:1px solid #e2e8f01a;gap:12px;min-height:78px;padding:18px 18px 16px}.brand strong{font-size:1.12rem;line-height:1.1;display:block}.brand span{color:#9fb0c4;margin-top:2px;font-size:.82rem;display:block}.side-nav{scrollbar-width:thin;scrollbar-color:#cbd5e17a transparent;min-height:0;padding:14px 10px 20px;overflow:auto}.nav-group{gap:5px;margin-bottom:14px;display:grid}.nav-group-title{color:#738398;text-transform:uppercase;margin:0;padding:8px 10px 4px;font-size:.68rem;font-weight:800;line-height:1}.side-nav button{color:#cbd5e1;text-align:left;background:0 0;border-radius:7px;align-items:center;gap:10px;width:100%;min-height:38px;padding:8px 10px;font-weight:710;display:flex}.side-nav button svg{color:#9fb0c4;flex:none}.side-nav button:hover{color:#fff;background:#ffffff0f}.side-nav button.active{color:#fff;background:#2b3746;box-shadow:inset 3px 0 #4fd1c5}.side-nav button.active svg{color:#d9fffb}.workspace{grid-template-rows:54px minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.topbar{border-bottom:1px solid var(--border);background:#ffffffeb;grid-template-columns:minmax(240px,620px) auto;align-items:center;gap:14px;min-width:0;padding:8px 20px;display:grid}.search-box{border:1px solid var(--border);width:100%;min-width:0;height:36px;color:var(--muted);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0 12px;display:grid}.search-box input{background:0 0;border:0;outline:0;height:34px;min-height:0;padding:0}.search-box:focus-within{border-color:#2563ebb8;box-shadow:0 0 0 3px #2563eb1a}.topbar-meta{position:relative}.notifications-popover{z-index:60;border:1px solid var(--border);border-radius:var(--radius);width:min(360px,100vw - 24px);box-shadow:var(--shadow);background:#fff;padding:12px;position:absolute;top:44px;right:92px}.notifications-popover header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:10px;display:flex}.notifications-popover small,.notification-row span{color:var(--muted)}.notification-list{gap:8px;margin-top:10px;display:grid}.notification-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;gap:3px;padding:10px;display:grid}.topbar-meta{justify-content:flex-end;gap:8px;min-width:0}.today{color:var(--muted);text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:760}.notification-button,.icon-button{border:1px solid var(--border);width:36px;height:36px;color:var(--text-soft);background:#fff;border-radius:8px;justify-content:center;position:relative}.notification-button span{background:var(--red);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:800;display:grid;position:absolute;top:-6px;right:-6px}.user-chip{border:1px solid var(--border);background:#fff;border-radius:8px;gap:1px;min-width:116px;padding:6px 10px;display:grid}.user-chip span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:760;line-height:1.1;overflow:hidden}.user-chip small{color:var(--muted);line-height:1.1}.content{scrollbar-gutter:stable;min-width:0;min-height:0;padding:24px 24px 32px;overflow:auto}.view-stack{gap:16px;max-width:1600px;margin:0 auto;display:grid}.page-heading{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.page-heading h1{color:#0f172a;letter-spacing:0;font-size:clamp(1.5rem,2vw,1.75rem);line-height:1.04}.page-heading p{max-width:760px;margin-top:6px;font-size:.96rem}.heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.primary-button,.secondary-button{white-space:nowrap;border-radius:7px;justify-content:center;gap:8px;min-height:36px;padding:7px 12px;font-size:.92rem;font-weight:740}.primary-button{background:var(--blue);color:#fff}.primary-button svg,.primary-button span{color:#fff}.secondary-button{border:1px solid var(--border);color:var(--text-soft);background:#fff}.secondary-button:hover{border-color:var(--border-strong);background:var(--surface-soft)}.full-width{width:100%}.segmented-control,.queue-tabs{border:1px solid var(--border);border-radius:var(--radius);background:#fff;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;display:flex}.segmented-control button,.queue-tabs button,.schedule-mode button{min-height:32px;color:var(--muted);background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 11px;font-weight:760;display:inline-flex}.segmented-control button.active,.queue-tabs button.active,.schedule-mode button.active{color:#fff;background:#1f2937}.filters-row{border:1px solid var(--border);border-radius:var(--radius);background:#fff;flex-wrap:wrap;align-items:end;gap:12px;padding:14px;display:flex}.filters-row label{min-width:180px}.inline-filter{min-width:230px}.inline-filter:has(svg){grid-template-columns:auto minmax(0,1fr);align-items:center}:is(.inline-filter:has(svg) input,.inline-filter:has(svg) select){grid-column:2}.result-count{color:var(--muted);margin-left:auto;font-weight:780}.panel,.data-panel,.detail-panel{min-width:0}.panel{padding:14px}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:12px;display:flex}.panel-header h2{font-size:1.02rem;line-height:1.2}.panel-header span{margin-top:3px;font-size:.88rem;display:block}.metrics-grid,.decision-strip{grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;display:grid}.metric-card{border:1px solid var(--border);border-radius:var(--radius);min-width:0;min-height:94px;box-shadow:var(--shadow-subtle);background:#fff;border-left:4px solid #8aa3c5;align-content:space-between;gap:8px;padding:14px;display:grid;position:relative}.metric-card span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:850}.metric-card strong{color:var(--text);font-size:1.58rem;line-height:1}.metric-card small{font-weight:700}.tone-success{border-left-color:var(--green);background:#fff}.tone-warning{border-left-color:var(--amber);background:#fff}.tone-danger{border-left-color:var(--red);background:#fff}.command-grid{grid-template-columns:minmax(0,1.45fr) minmax(310px,.82fr);align-items:start;gap:14px;display:grid}.command-main{grid-row:span 2;overflow:hidden}.exception-table{gap:8px;margin-top:12px;display:grid;overflow:hidden}.exception-row{border:1px solid var(--border);border-left:4px solid var(--red);border-radius:var(--radius);width:100%;color:var(--text);text-align:left;background:#fff;grid-template-columns:128px minmax(170px,1fr) 112px 118px 96px;align-items:center;gap:10px;padding:12px;display:grid}.exception-row:hover{border-color:var(--border-strong);background:var(--surface-soft)}.exception-id,.exception-subject,.exception-owner,.exception-risk,.request-cell,.subject-cell,.sla-cell,.status-stack{gap:5px;min-width:0;display:grid}.exception-id strong,.request-cell strong{color:var(--blue)}.exception-subject span,.exception-owner small,.exception-risk small,.request-cell small,.subject-cell small,.sla-cell small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.next-action{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.action-chip{border:1px solid var(--border);background:var(--surface-soft);width:fit-content;min-width:76px;color:var(--text-soft);white-space:nowrap;border-radius:999px;justify-content:center;padding:5px 9px;font-size:.78rem;font-weight:850;display:inline-flex}.shift-list,.timeline-list,.stock-alerts,.risk-list,.invoice-list,.route-list,.engineer-stack,.dispatch-list,.warning-list{gap:8px;margin-top:12px;display:grid}.shift-row,.stock-alerts>div,.risk-row,.invoice-list>div,.finance-summary>div,.part-list>div,.document-mini,.finance-mini{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:4px;padding:11px 12px;display:grid}.shift-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.shift-row strong,.stock-alerts strong{display:block}.shift-row span,.stock-alerts span{color:var(--muted)}.state-ok,.state-danger,.text-success,.text-danger{font-weight:800}.state-ok,.text-success{color:var(--green)}.state-danger,.text-danger{color:var(--red)}.text-warning{color:var(--amber);font-weight:800}.priority-card{gap:10px;margin-top:12px;display:grid}.priority-card>div:first-child{gap:4px;display:grid}.priority-card>div:first-child span{color:var(--muted)}.workflow-steps{flex-wrap:wrap;gap:8px}.timeline-list button,.agenda-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);width:100%;min-height:46px;color:var(--text);text-align:left;grid-template-columns:minmax(120px,.72fr) minmax(92px,.55fr) minmax(160px,1fr);align-items:center;gap:10px;padding:8px 10px;display:grid}.timeline-list time,.agenda-row time{color:var(--blue);font-size:.82rem;font-weight:780}.timeline-list strong,.agenda-row strong{font-size:.88rem}.timeline-list span,.agenda-row span{color:var(--text-soft);font-size:.88rem}.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.finance-summary strong{font-size:1.18rem}.status-chip,.sla-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:24px;padding:3px 9px;font-size:.74rem;font-weight:850;line-height:1.1;display:inline-flex}.chip-new,.chip-scheduled,.chip-in_progress,.chip-diagnosed,.chip-normal,.risk-normal{background:var(--blue-soft);color:#1d4ed8;border-color:#bcd2ff}.chip-completed,.chip-invoiced,.chip-paid,.chip-low,.risk-ok{background:var(--green-soft);color:var(--green);border-color:#bdebd9}.chip-waiting_parts,.chip-high,.risk-at_risk{background:var(--amber-soft);color:var(--amber);border-color:#f5d99f}.chip-urgent,.chip-cancelled,.risk-overdue,.risk-critical{background:var(--red-soft);color:var(--red);border-color:#f5c3b4}.data-panel{overflow:hidden}.compact-table{background:#fff;width:100%;overflow-x:auto}.table-head,.table-row{align-items:center;gap:12px;min-width:760px;display:grid}.table-head{z-index:1;border-bottom:1px solid var(--border);color:var(--muted);text-transform:uppercase;background:#eef2f7;padding:12px 14px;font-size:.76rem;font-weight:850;position:sticky;top:0}.table-row{border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;background:#fff;padding:13px 14px}button.table-row:hover,button.table-row.active{background:var(--surface-tint)}button.table-row.active{box-shadow:inset 3px 0 0 var(--blue)}.grid-4{grid-template-columns:minmax(140px,1fr) minmax(120px,.8fr) minmax(120px,1fr) minmax(150px,.8fr)}.grid-5{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(220px,1.4fr) minmax(100px,.6fr) minmax(120px,.8fr)}.grid-6{grid-template-columns:minmax(170px,1.2fr) minmax(120px,.75fr) minmax(120px,.75fr) minmax(120px,.75fr) minmax(120px,.75fr) minmax(140px,.8fr)}.grid-8{grid-template-columns:minmax(170px,1.2fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(110px,.7fr) minmax(130px,.8fr)}.grid-workbench{grid-template-columns:120px minmax(160px,1fr) minmax(175px,1.05fr) 100px 90px;min-width:700px}.table-empty,.empty-inline,.empty-state{color:var(--muted)}.table-empty{text-align:center;padding:18px}.empty-inline{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-soft);gap:4px;padding:14px;display:grid}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:center;background:#fff;place-items:center;gap:4px;min-height:220px;padding:24px;display:grid}.requests-layout{grid-template-columns:minmax(0,1fr) minmax(330px,380px);align-items:start;gap:14px;display:grid}.requests-main{min-width:0}.requests-table .table-row{min-height:88px;font-size:.92rem}.request-cell .card-meta{flex-wrap:wrap;gap:5px}.requests-table .table-row>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.kanban-board{grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:4px;display:grid;overflow-x:auto}.kanban-column{border:1px solid var(--border);border-radius:var(--radius);background:#eef3f8;align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.kanban-column header{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.kanban-column header strong{color:var(--text)}.kanban-column header span{min-width:26px;height:26px;color:var(--muted);background:#fff;border-radius:999px;place-items:center;font-weight:800;display:grid}.kanban-card{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);text-align:left;background:#fff;border-left:3px solid #88a2c5;gap:7px;padding:12px;display:grid}.kanban-card:hover,.kanban-card.active{border-color:var(--blue);background:var(--blue-soft)}.kanban-card>span{color:var(--blue);font-weight:800}.kanban-card small{color:var(--muted)}.detail-panel{gap:12px;padding:14px;display:grid;position:sticky;top:0}.detail-panel header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.detail-panel header span{color:var(--blue);font-size:.9rem;font-weight:820}.detail-panel h2{margin-top:4px;font-size:1.08rem;line-height:1.2}.detail-list{gap:6px;margin:0;display:grid}.detail-list div{grid-template-columns:82px minmax(0,1fr);align-items:start;gap:10px;display:grid}.detail-list dt{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:800}.detail-list dd{color:var(--text-soft);margin:0;font-size:.92rem;font-weight:680;line-height:1.28}.detail-description{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);color:var(--text-soft);padding:10px;font-size:.92rem;line-height:1.42}.mini-section{border-top:1px solid var(--border);gap:8px;padding-top:10px;display:grid}.mini-section h3{font-size:.88rem}.action-form{gap:9px;display:grid}.part-list{gap:8px;display:grid}.finance-mini,.document-mini{color:var(--text-soft);font-size:.88rem}.activity-mini{gap:8px;margin:0;padding-left:18px;display:grid}.activity-mini li{color:var(--text-soft)}.activity-mini span{color:var(--muted);font-size:.82rem;display:block}.dispatch-layout{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr) minmax(260px,.7fr);align-items:start;gap:14px;display:grid}.dispatch-card,.engineer-card,.warning-list>div,.route-list>button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:10px;padding:12px;display:grid}.dispatch-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.dispatch-card-main{gap:6px;min-width:0;display:grid}.dispatch-card-main>span{color:var(--blue);font-weight:850}.dispatch-card-action{justify-items:end;gap:8px;display:grid}.skill-inline,.skill-list span{background:var(--blue-soft);color:#1d4ed8;border-radius:999px;width:fit-content;padding:3px 8px;font-size:.74rem;font-weight:820;display:inline-flex}.skill-list{flex-wrap:wrap;gap:6px;display:flex}.engineer-card>div:first-child,.engineer-metrics{justify-content:space-between;align-items:center;gap:12px;display:flex}.engineer-metrics{color:var(--muted)}.calendar-layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:14px;display:grid}.schedule-panel{overflow:hidden}.schedule-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.schedule-toolbar strong{text-transform:capitalize;display:block}.schedule-toolbar span{color:var(--muted)}.schedule-mode{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:4px;padding:4px;display:flex}.schedule-summary,.route-kpi-grid,.warehouse-board,.analytics-insights{gap:12px;display:grid}.schedule-summary,.route-kpi-grid{grid-template-columns:repeat(4,minmax(120px,1fr));margin-top:14px}.schedule-summary{grid-template-columns:repeat(3,minmax(120px,1fr))}.schedule-summary>div,.route-kpi-grid>article{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:5px;padding:12px;display:grid}.schedule-summary span,.route-kpi-grid span{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:850}.schedule-summary strong,.route-kpi-grid strong{font-size:1.22rem;line-height:1}.resource-schedule{min-width:0;margin-top:14px}.schedule-scale,.resource-row{grid-template-columns:170px minmax(0,1fr);gap:12px;display:grid}.schedule-scale{color:var(--muted);align-items:center;padding-bottom:7px;font-size:.78rem;font-weight:800}.schedule-scale>div{grid-template-columns:repeat(6,1fr);display:grid}.resource-row{border-top:1px solid var(--border);align-items:stretch}.resource-meta{align-content:start;gap:4px;padding:14px 0;display:grid}.resource-meta span{color:var(--muted);font-size:.84rem}.resource-track{min-height:calc(68px + (var(--lanes,1) - 1) * 48px);border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin:7px 0;position:relative}.visit-block{top:calc(12px + var(--lane,0) * 48px);border:1px solid #2563eb38;border-left:4px solid var(--blue);color:#1e3a8a;text-align:left;background:#eaf1ff;border-radius:7px;align-content:center;gap:2px;min-width:0;height:40px;padding:6px 9px;display:grid;position:absolute;overflow:hidden}.visit-block time,.visit-block strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.visit-block time{font-size:.7rem;font-weight:780}.visit-block strong{font-size:.76rem}.visit-completed,.visit-paid,.visit-invoiced{border-left-color:var(--green);background:var(--green-soft);color:#0f513e}.visit-in_progress,.visit-scheduled{border-left-color:var(--blue)}.visit-waiting_parts{border-left-color:var(--amber);background:var(--amber-soft);color:#7c4a03}.agenda-panel{gap:8px;display:grid}.agenda-panel .agenda-row{grid-template-columns:minmax(92px,.7fr) minmax(82px,.55fr) minmax(0,1fr)}.agenda-row strong,.agenda-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:14px;display:grid}.map-canvas{border:1px solid var(--border);border-radius:var(--radius);min-height:560px;box-shadow:var(--shadow);background:#f7fbff;grid-row:span 2;position:relative;overflow:hidden}.map-grid{pointer-events:none;background:0 0;position:absolute;inset:0}.map-point{border:1px solid #2563eb57;border-left:4px solid var(--blue);border-radius:var(--radius);min-width:132px;box-shadow:var(--shadow);color:var(--text);text-align:left;background:#fff;gap:2px;padding:9px 10px;display:grid;position:absolute;transform:translate(-50%,-50%)}.map-point strong{color:var(--blue)}.map-point span{color:var(--muted);font-size:.8rem}.map-empty{color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.route-panel{gap:8px;display:grid}.zone-load-list,.stock-priority-list,.warehouse-load-list,.closing-list,.insight-list,.engineer-load-list,.calendar-mobile-stack{gap:8px;margin-top:12px;display:grid}.zone-load-list>div,.stock-priority-list>div,.warehouse-load-list>div,.closing-row,.insight-row,.engineer-load-list>div,.calendar-mobile-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:6px;padding:11px 12px;display:grid}.zone-load-list>div,.warehouse-load-list>div,.closing-row,.insight-row,.engineer-load-list>div,.calendar-mobile-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.calendar-mobile-row{width:100%;color:var(--text);text-align:left}.calendar-mobile-row time{color:var(--blue);font-weight:850}.zone-load-list>div>div,.stock-priority-list>div>div,.warehouse-load-list>div>div,.closing-row>div,.insight-row>div,.engineer-load-list>div>div,.calendar-mobile-row>div{gap:3px;min-width:0;display:grid}.calendar-mobile-row span,.zone-load-list span,.warehouse-load-list span,.stock-priority-list span,.closing-row span,.insight-row span,.engineer-load-list span,.zone-load-list small,.warehouse-load-list small,.stock-priority-list small,.engineer-load-list small{color:var(--muted)}.tone-warning-row{border-left:4px solid var(--amber)}.warehouse-board{grid-template-columns:minmax(0,1.15fr) minmax(280px,.9fr) minmax(260px,.75fr)}.analytics-insights{grid-template-columns:minmax(0,1.1fr) minmax(300px,.8fr)}.closing-panel{grid-column:1/-1}.route-list>button{color:var(--text);text-align:left}.route-list>button>div{gap:4px;min-width:0;display:grid}.route-index{background:var(--blue);color:#fff;border-radius:999px;place-items:center;width:28px;height:28px;font-weight:850;display:grid}.finance-grid,.analytics-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.chart-box{border-bottom:1px solid var(--border);align-items:end;gap:10px;min-height:260px;padding:18px 4px 6px;display:flex}.chart-box>div{flex:1 1 0;align-items:end;gap:6px;min-width:18px;display:grid}.chart-box span{background:var(--blue);border-radius:6px 6px 0 0;min-height:20px}.chart-box small{color:var(--muted);text-align:center;font-size:.74rem}.toast{z-index:50;border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:var(--radius);max-width:min(420px,100vw - 32px);box-shadow:var(--shadow);color:var(--text);background:#fff;padding:12px 14px;font-weight:760;position:fixed;bottom:22px;right:22px}.mobile-only,.mobile-backdrop,.mobile-close{display:none}@media (width<=1380px){.metrics-grid,.decision-strip{grid-template-columns:repeat(3,minmax(160px,1fr))}.command-grid,.calendar-layout,.map-layout,.warehouse-board,.analytics-insights{grid-template-columns:1fr}.map-canvas{grid-row:auto}.requests-layout{grid-template-columns:minmax(0,1fr) minmax(300px,340px)}}@media (width<=1120px){:root{--sidebar:226px}.topbar{grid-template-columns:minmax(180px,1fr) auto;gap:12px;padding:10px 16px}.today{display:none}.requests-layout,.dispatch-layout,.finance-grid,.analytics-grid,.warehouse-board,.analytics-insights,.settings-grid{grid-template-columns:1fr}.detail-panel{position:static}}@media (width<=820px){body{overflow:hidden}.app-frame{grid-template-columns:1fr}.sidebar{z-index:40;width:min(82vw,304px);transition:transform .16s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.workspace{grid-template-rows:auto minmax(0,1fr)}.topbar{grid-template-columns:auto minmax(0,1fr) auto;padding:8px 12px}.topbar-meta{gap:8px}.user-chip{display:none}.content{padding:14px 12px 24px}.view-stack{gap:12px}.mobile-only{display:inline-flex}.mobile-backdrop{z-index:30;background:#0f172a6b;display:block;position:fixed;inset:0}.mobile-close{z-index:45;color:#fff;background:#ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;position:fixed;top:12px;left:min(82vw - 50px,254px)}.page-heading{flex-direction:column;align-items:stretch}.page-heading h1{font-size:1.42rem}.page-heading p{font-size:.9rem;line-height:1.34}.heading-actions,.segmented-control,.queue-tabs,.workflow-steps{justify-content:stretch}.heading-actions>*,.segmented-control button,.queue-tabs button,.workflow-steps>*{flex:auto}.segmented-control button,.queue-tabs button{min-height:32px;padding:5px 8px;font-size:.88rem}.filters-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;display:grid}.metrics-grid,.decision-strip,.schedule-summary,.route-kpi-grid,.command-grid,.exception-row{grid-template-columns:1fr}.filters-row label,.inline-filter{min-width:100%}.result-count{grid-column:1/-1;width:100%;margin-left:0;font-size:.92rem}.detail-list div{grid-template-columns:1fr;gap:3px}.login-page{grid-template-columns:1fr}.resource-schedule{min-width:720px}.schedule-panel{overflow-x:auto}.schedule-toolbar{flex-direction:column;align-items:stretch}.schedule-mode{width:fit-content}.map-canvas{min-height:380px}.requests-table{overflow:visible}.requests-table .table-head{display:none}.requests-table .table-row.grid-workbench{border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:var(--radius);grid-template-columns:1fr;align-items:start;gap:9px;min-width:0;margin-bottom:10px;padding:12px;font-size:.9rem}.requests-table .table-row.grid-workbench.active{box-shadow:none}.requests-table .table-row.grid-workbench>span:nth-child(4):before,.requests-table .table-row.grid-workbench>.action-chip:before{color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:.72rem;font-weight:850;display:block}.requests-table .table-row.grid-workbench>span:nth-child(4):before{content:"Блокер"}.requests-table .table-row.grid-workbench>.action-chip:before{content:"Действие"}.requests-layout{flex-direction:column;display:flex}.requests-layout .detail-panel{order:-1}.warehouse-table,.purchase-table,.documents-table,.settings-grid .compact-table,.data-panel>.compact-table:not(.requests-table){overflow:visible}.warehouse-table .table-head,.purchase-table .table-head,.documents-table .table-head,.data-panel>.compact-table:not(.requests-table) .table-head{display:none}.warehouse-table .table-row,.purchase-table .table-row,.documents-table .table-row,.data-panel>.compact-table:not(.requests-table) .table-row{border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:var(--radius);grid-template-columns:1fr;align-items:start;gap:8px;min-width:0;margin-bottom:10px;padding:12px}.warehouse-table .table-row>*,.purchase-table .table-row>*,.documents-table .table-row>*,.data-panel>.compact-table:not(.requests-table) .table-row>*{min-width:0}.warehouse-table .table-row>:before,.purchase-table .table-row>:before,.documents-table .table-row>:before,.data-panel>.compact-table:not(.requests-table) .table-row>:before{color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:.72rem;font-weight:850;display:block}.warehouse-table .table-row>:first-child:before,.purchase-table .table-row>:first-child:before,.documents-table .table-row>:first-child:before{content:"Позиция"}.warehouse-table .table-row>:nth-child(2):before{content:"SKU"}.warehouse-table .table-row>:nth-child(3):before{content:"Категория"}.warehouse-table .table-row>:nth-child(4):before{content:"Поставщик"}.warehouse-table .table-row>:nth-child(5):before{content:"Всего"}.warehouse-table .table-row>:nth-child(6):before{content:"Резерв"}.warehouse-table .table-row>:nth-child(7):before{content:"Доступно"}.warehouse-table .table-row>:nth-child(8):before{content:"Риск"}.purchase-table .table-row>:nth-child(2):before,.documents-table .table-row>:nth-child(3):before{content:"Заявка"}.purchase-table .table-row>:nth-child(3):before,.documents-table .table-row>:nth-child(2):before{content:"Клиент"}.purchase-table .table-row>:nth-child(4):before{content:"Кол-во"}.purchase-table .table-row>:nth-child(5):before,.documents-table .table-row>:nth-child(5):before{content:"Статус"}.purchase-table .table-row>:nth-child(6):before{content:"Ожидается"}.documents-table .table-row>:nth-child(4):before{content:"Дата"}.documents-table .table-row>:nth-child(6):before{content:"Сумма"}.calendar-mobile-row,.zone-load-list>div,.warehouse-load-list>div,.closing-row,.insight-row,.engineer-load-list>div{grid-template-columns:1fr}.requests-table .sla-cell{justify-content:space-between;align-items:center;gap:10px;display:flex}.request-cell,.subject-cell,.sla-cell{gap:4px}.request-cell strong{font-size:1rem}.subject-cell strong{font-size:.96rem}}@media (width<=520px){.topbar{grid-template-columns:auto minmax(0,1fr) auto}.notification-button{display:none}.page-heading h1{font-size:1.34rem}.panel,.detail-panel{padding:12px}.filters-row label{min-width:0}.login-form input,.search-box input,.filters-row select,.action-form select,.action-form input,.inline-filter input,.inline-filter select{min-height:40px}.metric-card{min-height:96px}.metric-card strong{font-size:1.55rem}.primary-button,.secondary-button{white-space:normal;width:100%}.finance-summary{grid-template-columns:1fr}.notifications-popover{top:42px;right:0}.map-layout{flex-direction:column;display:flex}.route-panel{order:1}.map-canvas{order:2;min-height:260px}.map-point{border-left-width:1px;border-radius:999px;place-items:center;width:36px;min-width:36px;height:36px;padding:0}.map-point strong{display:none}.map-point span{color:var(--blue);font-weight:850}.route-list>button,.calendar-mobile-row,.closing-row,.insight-row{padding:12px}}
