:root{--bg:#0b1115;--sidebar:#0d171b;--card:#141f25;--hover:#1b2b32;--border:#263840;--text:#e8f0f2;--text-2:#9aaeb5;--mint:#35c7b5;--mint-ink:#05221e;--success:#27c78a;--warning:#f2b84b;--error:#f16c6c;--info:#55a9e8;--radius:12px;--radius-sm:8px;--shadow:0 10px 30px #00000073;--sidebar-w:240px;--topbar-h:60px;--font:Inter, "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:650}h1{font-size:22px}h2{font-size:16px}h3{font-size:14px}a{color:var(--mint);text-decoration:none}a:hover{text-decoration:underline}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--mint);outline-offset:2px;border-radius:6px}::selection{background:#35c7b54d}.muted{color:var(--text-2)}.small{font-size:12px}.mono{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.right{text-align:right}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.stack{flex-direction:column;gap:16px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.grid{gap:16px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--mint);color:var(--mint-ink);z-index:100;border-radius:8px;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100%;display:grid}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;padding:4px 8px 16px;font-size:16px;font-weight:700;display:flex}.brand .logo{background:var(--mint);width:32px;height:32px;color:var(--mint-ink);border-radius:9px;place-items:center;display:grid}.nav-group{margin-top:14px}.nav-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);padding:0 10px 6px;font-size:11px}.nav-link{border-radius:var(--radius-sm);color:var(--text-2);align-items:center;gap:10px;padding:8px 10px;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover{background:var(--hover);color:var(--text);text-decoration:none}.nav-link.active{color:var(--mint);background:#35c7b524;font-weight:600}.nav-link .count{background:var(--warning);color:#2a1d00;text-align:center;border-radius:999px;min-width:20px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:700}.sidebar .foot{color:var(--text-2);margin-top:auto;padding-top:16px;font-size:12px}.main{flex-direction:column;min-width:0;display:flex}.topbar{height:var(--topbar-h);z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#0b1115e6;align-items:center;gap:12px;padding:0 24px;display:flex;position:sticky;top:0}.topbar .search{flex:1;max-width:420px;position:relative}.topbar .search input{width:100%;padding-left:36px}.topbar .search svg{color:var(--text-2);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.burger{display:none}.content{flex:1;width:100%;max-width:1480px;margin:0 auto;padding:24px}.page-head{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-head .titles{flex:1;min-width:220px}.page-head .sub{color:var(--text-2);margin-top:2px}.crumb{color:var(--text-2);align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:inline-flex}.user-menu{position:relative}.menu{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow);z-index:30;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.menu a,.menu button{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.menu a:hover,.menu button:hover{background:var(--hover);text-decoration:none}.menu .who{border-bottom:1px solid var(--border);margin-bottom:6px;padding:8px 10px 10px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card.flush{padding:0;overflow:hidden}.card-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.card-head h2{flex:auto;min-width:0}.kpi{color:inherit;flex-direction:column;gap:6px;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:flex}a.kpi:hover{background:var(--hover);border-color:#34505a;text-decoration:none;transform:translateY(-1px)}.kpi .label{color:var(--text-2);align-items:center;gap:8px;font-size:12px;display:flex}.kpi .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.1}.kpi .hint{color:var(--text-2);font-size:12px}.kpi.warn .value{color:var(--warning)}.kpi.bad .value{color:var(--error)}.table-wrap{min-height:80px;max-height:calc(100vh - 290px);overflow:auto}table.table{border-collapse:separate;border-spacing:0;width:100%}.table th{z-index:2;color:var(--text-2);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;background:#101b21;padding:10px 14px;font-size:12px;font-weight:600;position:sticky;top:0}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--text)}.table td{vertical-align:middle;border-bottom:1px solid #26384099;padding:11px 14px}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:var(--hover)}.table tbody tr.clickable{cursor:pointer}.table tbody tr.dim td{opacity:.6}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table-foot{border-top:1px solid var(--border);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;font-size:12px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip-btn{border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;transition:all .15s;display:inline-flex}.chip-btn:hover{color:var(--text);background:var(--hover)}.chip-btn[aria-pressed=true]{border-color:var(--mint);color:var(--mint);background:#35c7b529}.chip-btn .n{opacity:.85;font-size:11px}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:2px 9px 2px 7px;font-size:12px;font-weight:600;display:inline-flex}.badge.success{color:var(--success);background:#27c78a24;border-color:#27c78a59}.badge.warning{color:var(--warning);background:#f2b84b24;border-color:#f2b84b59}.badge.error{color:var(--error);background:#f16c6c24;border-color:#f16c6c59}.badge.info{color:var(--info);background:#55a9e824;border-color:#55a9e859}.badge.mint{color:var(--mint);background:#35c7b524;border-color:#35c7b559}.badge.neutral{color:var(--text-2);border-color:var(--border);background:#9aaeb51f}.btn{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:hover{background:var(--hover);border-color:#34505a;text-decoration:none}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--mint);border-color:var(--mint);color:var(--mint-ink)}.btn.primary:hover{background:#4fd6c5;border-color:#4fd6c5}.btn.danger{color:var(--error);background:0 0;border-color:#f16c6c73}.btn.danger:hover{background:#f16c6c1f}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover);color:var(--text)}.btn.sm{border-radius:8px;padding:5px 10px;font-size:13px}.btn.lg{border-radius:12px;flex:140px;min-height:50px;padding:13px 22px;font-size:16px}.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}.icon-btn{width:36px;height:36px;padding:0}.input,select.input,textarea.input{border:1px solid var(--border);width:100%;color:var(--text);background:#0f181d;border-radius:10px;padding:8px 12px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:#62777e}.input:hover{border-color:#34505a}.input:focus{border-color:var(--mint);outline:none;box-shadow:0 0 0 3px #35c7b533}.input[aria-invalid=true]{border-color:var(--error)}.input.compact{width:auto;min-width:150px;padding:6px 30px 6px 10px}textarea.input{resize:vertical;min-height:84px}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-2) 50%), linear-gradient(135deg, var(--text-2) 50%, transparent 50%);background-position:calc(100% - 17px) 55%,calc(100% - 12px) 55%;background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}.field{flex-direction:column;gap:5px;display:flex}.field>label,.field .label{color:var(--text-2);font-size:12px;font-weight:600}.field .err{color:var(--error);font-size:12px}.field .hint{color:var(--text-2);font-size:12px}.check{cursor:pointer;align-items:center;gap:8px;display:flex}.check input{width:16px;height:16px;accent-color:var(--mint)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .full{grid-column:1/-1}.alert{border:1px solid var(--border);background:#9aaeb514;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.alert.error{color:#ffb4b4;background:#f16c6c1a;border-color:#f16c6c66}.alert.warning{color:#ffd98c;background:#f2b84b1a;border-color:#f2b84b66}.alert.success{color:#8ee8c3;background:#27c78a1a;border-color:#27c78a66}.alert.info{color:#a9d4f5;background:#55a9e81a;border-color:#55a9e866}.alert svg{flex:none;margin-top:2px}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:18px;display:flex;position:relative;overflow-x:auto}.tab{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:600}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--mint);border-color:var(--mint)}.overlay{z-index:50;background:#030709b3;place-items:start center;padding:4vh 16px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--card);border:1px solid var(--border);width:100%;max-width:560px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;max-height:92dvh;animation:.18s ease-out rise;display:flex}.modal.wide{max-width:820px}.modal-head{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:16px 20px;display:flex}.modal-head h2{flex:1;font-size:17px}.modal-body{min-height:0;padding:20px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.toasts{z-index:80;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;gap:10px;padding:12px 14px;animation:.2s ease-out rise;display:flex}.toast.success{border-color:#27c78a80}.toast.error{border-color:#f16c6c99}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.9s linear infinite spin}.empty{text-align:center;color:var(--text-2);place-items:center;gap:8px;padding:48px 16px;display:grid}.empty svg{color:#4a626a}.skeleton{background:linear-gradient(90deg,#121d23,#1a2a32,#121d23) 0 0/200% 100%;border-radius:8px;height:16px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.kv{grid-template-columns:170px minmax(0,1fr);gap:8px 16px;display:grid}.kv dt{color:var(--text-2)}.kv dd{margin:0}.bars{flex-direction:column;gap:10px;display:flex}.bar{grid-template-columns:150px 1fr 36px;align-items:center;gap:10px;display:grid}.bar .track{background:#0f181d;border-radius:999px;height:8px;overflow:hidden}.bar .fill{border-radius:999px;height:100%;transition:width .4s}.timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timeline li{grid-template-columns:22px 1fr;gap:12px;padding-bottom:16px;display:grid;position:relative}.timeline li:before{content:"";background:var(--border);width:1px;position:absolute;top:22px;bottom:0;left:10px}.timeline li:last-child:before{display:none}.timeline .dot{background:var(--hover);border:1px solid var(--border);width:22px;height:22px;color:var(--text-2);border-radius:50%;place-items:center;display:grid}.timeline .dot.mint{color:var(--mint);border-color:#35c7b580}.details{border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;background:#0f181d;border-radius:8px;margin-top:6px;padding:8px 10px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.perm-grid{gap:0;display:grid}.perm-row{grid-template-columns:minmax(220px, 1.4fr) repeat(var(--cols), minmax(104px, 1fr));border-bottom:1px solid #26384099;align-items:center;display:grid}.perm-row>div{padding:8px 10px}.perm-row.head{z-index:2;color:var(--text-2);background:#101b21;font-size:12px;font-weight:600;position:sticky;top:0}.perm-row.module{background:#35c7b50f;font-weight:650}.perm-row .c{text-align:center}.login-wrap{background:radial-gradient(900px 500px at 20% 0%, #35c7b51a, transparent), var(--bg);place-items:center;min-height:100%;padding:24px;display:grid}.login-card{width:100%;max-width:400px}.pw-box{letter-spacing:.04em;border:1px dashed var(--mint);-webkit-user-select:all;user-select:all;word-break:break-all;background:#0f181d;border-radius:10px;padding:12px 14px;font:600 18px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.avatar{border:1px solid var(--border);color:#4a626a;background:#0f181d;flex:none;place-items:center;display:inline-grid;overflow:hidden}.avatar.person{border-radius:50%}.avatar.vehicle{border-radius:10px}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.person-head{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.person-head>*{min-width:0}.chips .badge{white-space:normal;text-align:left}.big-photo{flex-direction:column;align-items:center;gap:10px;display:flex}.kv.compact{grid-template-columns:150px minmax(0,1fr);gap:4px 14px}.kind-block{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:14px;display:flex}.kind-block:first-of-type{border-top:0;padding-top:0}.doc-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;display:grid}.doc{border:1px solid var(--border);border-radius:var(--radius-sm);background:#101b21;border-left-width:3px;flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex}.doc.expired{border-left-color:var(--error)}.doc.expiring{border-left-color:var(--warning)}.doc.ok{border-left-color:var(--success)}.doc.archived{opacity:.75;border-left-color:var(--border)}.doc-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.scan-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;display:grid}.scan{border:1px solid var(--border);background:#0b1317;border-radius:10px;flex-direction:column;display:flex;position:relative;overflow:hidden}.scan-open{aspect-ratio:4/3;cursor:zoom-in;color:var(--text-2);background:#0b1317;border:0;place-items:center;padding:0;text-decoration:none;display:grid}.scan-open.pdf{cursor:pointer;align-content:center;gap:2px;font-size:12px;font-weight:700}.scan-open img{object-fit:cover;width:100%;height:100%;display:block}.scan-cap{flex-direction:column;gap:0;min-width:0;padding:4px 8px 6px;font-size:11px;line-height:1.3;display:flex}.scan-cap span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scan-x{width:24px;height:24px;color:var(--text);cursor:pointer;opacity:0;background:#050c0fcc;border:0;border-radius:50%;place-items:center;transition:opacity .15s;display:grid;position:absolute;top:4px;right:4px}.scan:hover .scan-x,.scan:focus-within .scan-x,.scan-x:focus-visible{opacity:1}@media (hover:none){.scan-x{opacity:1}}.viewer{background:#05090b;border-radius:10px;place-items:center;padding:8px;display:grid}.viewer img{object-fit:contain;max-width:100%;max-height:68vh;display:block}.picked{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.picked li{border:1px solid var(--border);background:#0f181d;border-radius:8px;align-items:center;gap:8px;padding:4px 8px;display:flex}.picked .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.archive-box{border:1px dashed var(--border);border-radius:var(--radius-sm);padding:12px 14px}.archive-box summary{cursor:pointer;color:var(--text-2);font-weight:600}@media (width<=1100px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:60;width:min(280px,86vw);box-shadow:var(--shadow);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.sidebar.open{transform:none}.scrim{z-index:55;background:#03070999;position:fixed;inset:0}.burger{display:inline-flex}.topbar{padding:0 12px}.content{padding:16px 12px}.grid.cols-2,.grid.cols-3,.form-grid{grid-template-columns:minmax(0,1fr)}.kv,.kv.compact{grid-template-columns:1fr;gap:2px 0}.doc-list{grid-template-columns:minmax(0,1fr)}.kv dd{margin-bottom:8px}.bar{grid-template-columns:110px 1fr 30px}.table-wrap{max-height:none}.hide-sm{display:none!important}}@media (width<=520px){.grid.cols-4{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.kpi .value{font-size:24px}.topbar .search{display:none}.modal-foot{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.form-section{color:var(--text-2,#475569);margin:18px 0 8px;font-size:14px;font-weight:600}.row-actions{align-items:center;gap:2px;display:inline-flex}.print-root{background:#e7ecee;min-height:100vh;padding:16px}.print-bar{flex-wrap:wrap;align-items:center;gap:10px;max-width:794px;margin:0 auto 12px;display:flex}.print-root .alert{max-width:794px;margin:0 auto 12px}.sheet{color:#000;background:#fff;max-width:794px;margin:0 auto;padding:36px 40px;font:13px/1.45 Times New Roman,Georgia,serif;box-shadow:0 2px 14px #0000002e}.sheet.archived{background-image:repeating-linear-gradient(135deg,#0000 0 40px,#c800000a 40px 80px)}.sheet h1{margin:14px 0 4px;font-size:19px;font-weight:700}.sheet .doc-title{text-align:left;border-bottom:2px solid #000;margin-bottom:10px;padding-bottom:6px}.sheet .doc-sub,.sheet .cap,.sheet .cap-l{color:#444;font-size:11px}.sheet .center{text-align:center;margin:4px 0 10px}.sheet table{border-collapse:collapse;width:100%;margin:8px 0}.sheet table.ptable th,.sheet table.ptable td{vertical-align:top;border:1px solid #000;padding:4px 6px}.sheet table.ptable th{text-align:center;background:#f2f2f2;font-size:12px;font-weight:700}.sheet table.pkv th{text-align:left;width:34%}.sheet table.parties th{text-align:left;vertical-align:top;width:120px;padding:3px 6px 3px 0}.sheet table.parties td{padding:3px 0}.sheet table.bank td{height:24px}.sheet .num{text-align:right;white-space:nowrap}.sheet .c{text-align:center}.sheet .strong td,.sheet .strong th{font-weight:700}.sheet table.totals{width:auto;min-width:280px;margin-left:auto}.sheet table.totals td{padding:2px 6px}.sheet .words{margin:10px 0}.sheet .blank{border-bottom:1px solid #000;min-width:140px;display:inline-block}.sheet .signs{flex-wrap:wrap;gap:18px 40px;margin-top:34px;display:flex}.sheet .signs>*{flex:260px}.sheet .signs.three>*{flex-basis:30%}.sheet .sign{align-items:flex-end;gap:8px;margin-top:22px;display:flex}.sheet .sign .line{border-bottom:1px solid #000;flex:1;min-width:90px;height:16px}.sheet .sign .decode{color:#444;font-size:11px}@media print{@page{size:A4;margin:12mm}html,body{background:#fff!important}.no-print,.toasts{display:none!important}.print-root{background:#fff;min-height:0;padding:0}.sheet{box-shadow:none;max-width:none;padding:0;background-image:none!important}}@media (width<=640px){.sheet{padding:20px 14px}}.job-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,430px),1fr));align-items:start;gap:14px;display:grid}.job-card{flex-direction:column;gap:12px;padding:14px;display:flex}.job-card.late{border-color:#f16c6c8c}.job-card.cancelled{opacity:.65}.job-head{align-items:center;gap:12px;display:flex}.job-time{font-variant-numeric:tabular-nums;min-width:54px;color:var(--mint);font-size:18px;font-weight:700}.job-title{flex-direction:column;flex:1;min-width:0;display:flex}.job-title strong{align-items:center;gap:6px;display:inline-flex}.job-body{flex-direction:column;gap:6px;display:flex}.job-customer{font-weight:600}.job-task{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}.job-note{white-space:pre-wrap;overflow-wrap:anywhere;background:#35c7b514;border:1px solid #35c7b540;border-radius:8px;padding:6px 10px}.job-photos{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:12px;padding-top:12px;display:grid}.job-stage{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.job-stage>.row{align-self:stretch}.job-thumbs{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));align-self:stretch;gap:6px}.job-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.job-actions .input.compact{width:auto;max-width:150px}.linklike{color:var(--mint);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@media (width<=520px){.job-photos{grid-template-columns:1fr}.job-list{grid-template-columns:minmax(0,1fr)}}.entry-quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.entry-quick .btn{text-align:center;white-space:normal;justify-content:center;min-height:64px;padding-left:10px;padding-right:10px;font-size:17px}.entry-ico{width:38px;height:38px;color:var(--mint);background:#35c7b51f;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.entry-card .job-body>div{overflow-wrap:anywhere}.job-photos.single{grid-template-columns:minmax(0,1fr)}.input-static{align-items:center;min-height:38px;padding:0 2px;font-weight:600;display:flex}.search-box{flex:260px;max-width:420px;position:relative}.search-box input{width:100%;padding-left:36px}.search-box svg{color:var(--text-2);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.roster-cell{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.roster-cell.right{align-items:flex-end}.roster-cell>span:not(.badge){overflow-wrap:break-word}.roster-cell.wide{min-width:170px}.roster-cell.right>span:first-child{white-space:nowrap}.roster-flags{flex-wrap:wrap;gap:4px;display:flex}.vehicles-grid{align-items:start}.vehicle-home{flex-direction:column;gap:12px;display:flex}.plate-big{letter-spacing:.02em;font-size:20px}.facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 16px;display:grid}.facts>div{flex-direction:column;gap:2px;min-width:0;display:flex}.facts strong{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.plain-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.entry-quick .btn.lg{justify-content:center;min-height:64px;font-size:17px;text-decoration:none}.conn-bar{color:var(--warning);background:#f2b84b1f;border-bottom:1px solid #f2b84b59;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 20px;font-size:13px;display:flex}.conn-bar.off{color:var(--error);background:#f16c6c1f;border-bottom-color:#f16c6c66}.conn-bar a{margin-left:auto;font-weight:600}.outbox-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.outbox-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.outbox-row:last-child{border-bottom:0}.outbox-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.outbox-main strong{overflow-wrap:anywhere}@media (width<=640px){.conn-bar{padding:8px 12px}.outbox-row{flex-wrap:wrap}.outbox-main{flex:200px}.outbox-row>.badge{margin-left:50px}}.grow{flex:auto;min-width:0}.parts-rows{flex-direction:column;gap:8px;display:flex}.parts-row{grid-template-columns:minmax(0,3fr) minmax(0,1.3fr) 82px 104px 36px;align-items:center;gap:8px;display:grid}.parts-row.with-price{grid-template-columns:minmax(0,3fr) minmax(0,1.2fr) 76px 98px 104px 36px}.parts-list,.buy-list,.buy-lines,.file-list{margin:0;padding:0;list-style:none}.parts-list>li{border-top:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.parts-list>li:first-child{border-top:0;padding-top:0}.parts-list>li.bought strong{color:var(--text-2);font-weight:600}.part-hint{color:var(--text-2);align-items:flex-start;gap:6px;margin-top:4px;font-size:12px;display:flex}.part-hint.open{color:var(--warning)}.part-hint.stock{color:var(--success)}.part-hint svg{flex:none;margin-top:2px}.buy-list>li{border-top:1px solid var(--border)}.buy-list>li:first-child{border-top:0}.buy-head{align-items:center;gap:12px;padding:12px 16px;display:flex}.buy-head input[type=checkbox],.buy-lines input[type=checkbox]{width:20px;height:20px;accent-color:var(--mint);flex:none}.buy-title{min-width:0;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;flex:auto;align-items:center;gap:8px;padding:4px 0;display:flex}.buy-qty{text-align:right;white-space:nowrap}.buy-lines>li{border-top:1px solid var(--border);background:#101b21;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 16px 8px 52px;display:flex}.buy-lines.flat>li{background:0 0;padding:10px 0}.buy-lines.flat>li:first-child{border-top:0;padding-top:0}.buy-bar{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:0 0 var(--radius) var(--radius);background:#141f25f5;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;bottom:0}.bill-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 14px 14px;display:grid}.bill-totals>div{border:1px solid var(--border);background:#101b21;border-radius:10px;flex-direction:column;padding:10px 14px;display:flex}.bill-totals strong{font-variant-numeric:tabular-nums;font-size:18px}.bill-totals .warn strong{color:var(--warning)}.bar{background:#101b21;border-radius:999px;height:8px;overflow:hidden}.bar>span{background:var(--mint);border-radius:999px;height:100%;display:block}.sum-line{border-top:1px solid var(--border);justify-content:space-between;padding:12px 16px}.calc-line{flex-direction:column;justify-content:flex-end;gap:2px;display:flex}.file-list>li{align-items:center;gap:10px;padding:6px 0;display:flex}.file-list.big>li{border-top:1px solid var(--border);padding:10px 0}.file-list.big>li:first-child{border-top:0;padding-top:0}.file-thumb{border:1px solid var(--border);width:64px;height:64px;color:var(--text-2);background:#101b21;border-radius:10px;flex:none;place-items:center;display:grid;overflow:hidden}.file-thumb img{object-fit:cover;width:100%;height:100%}@media (width<=720px){.parts-row,.parts-row.with-price{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}.parts-row .p-name{grid-column:1/3}.parts-row>button{grid-area:1/3}.bill-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.buy-lines>li{padding-left:16px}}.ts-wrap{border-top:1px solid var(--border);min-height:160px;max-height:calc(100vh - 290px);overflow:auto}.ts-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}.ts-table th,.ts-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--card);padding:0}.ts-table thead th{z-index:2;text-align:center;background:#101b21;padding:4px 0;font-weight:600;position:sticky;top:0}.ts-table .ts-name{z-index:1;text-align:left;background:var(--card);min-width:190px;max-width:240px;padding:4px 10px;font-weight:400;position:sticky;left:0}.ts-table thead .ts-name{z-index:3;background:#101b21}.ts-name strong{white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.ts-name small{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.ts-day{width:34px;min-width:34px}.ts-day span{display:block}.ts-day small{color:var(--text-2);font-size:10px;font-weight:400;display:block}.ts-day.off,.ts-td.off{background:#f4725e17!important}.ts-day.today,.ts-td.today{box-shadow:inset 0 0 0 1px var(--mint)}.ts-sum{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:52px;padding:4px 8px!important}.ts-cell{text-align:center;width:34px;height:34px;font:inherit;color:inherit;outline-offset:-2px;background:0 0;border:0;border-radius:0;padding:0;font-size:12px;display:block}.ts-cell:focus{outline:2px solid var(--mint);background:var(--card)}.ts-cell.day{background:#10b98129}.ts-cell.absence{background:#f59e0b33}.ts-cell.other{background:#64748b29}.ts-cell.bad{background:#ef444438;outline:1px solid #ef4444}.ts-cell.edited{box-shadow:inset 0 -2px 0 var(--mint);font-weight:700}.ts-legend{flex-wrap:wrap;gap:8px;display:flex}.ts-chip{border:1px solid var(--border);background:var(--card);color:inherit;font:inherit;cursor:pointer;border-radius:999px;padding:4px 12px;font-size:13px}.ts-chip:disabled{cursor:default}.ts-chip b{min-width:22px;display:inline-block}.ts-chip.day{border-color:#10b98180}.ts-chip.absence{border-color:#f59e0b99}.ts-ptable{table-layout:auto;font-size:10px}.ts-ptable th,.ts-ptable td{padding:2px 1px!important}.ts-ptable th.wd{font-size:9px;font-weight:400}.ts-ptable .off{background:#eee}.ts-ptable .ts-p{white-space:nowrap;min-width:20px}.ts-print{max-width:1123px}@media (width<=640px){.ts-wrap{max-height:none}.ts-table .ts-name{min-width:130px;max-width:150px}}.cal-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.cal-bar .tabs{border:0;margin:0}.cal-title{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700}.c-teal{--c:var(--mint)}.c-blue{--c:var(--info)}.c-amber{--c:var(--warning)}.c-red{--c:var(--error)}.c-green{--c:var(--success)}.c-violet{--c:#a78bfa}.cal-month{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden}.cal-head,.cal-week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-head{border-bottom:1px solid var(--border);background:#101b21}.cal-head span{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;font-size:12px}.cal-head span.off{color:#7d8f96}.cal-week+.cal-week .cal-day{border-top:1px solid var(--border)}.cal-day{flex-direction:column;gap:4px;min-width:0;min-height:112px;padding:6px 6px 8px;display:flex}.cal-day+.cal-day{border-left:1px solid var(--border)}.cal-day.other{background:#00000024}.cal-day.other .cal-num{color:#7d8f96}.cal-day.off:not(.other){background:#ffffff04}.cal-day.today{box-shadow:inset 0 0 0 2px var(--mint)}.cal-day-top{justify-content:space-between;align-items:center;display:flex}.cal-num{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:13px;font-weight:600}.cal-num:hover{background:var(--hover)}.cal-day.today .cal-num{background:var(--mint);color:var(--mint-ink)}.cal-add{opacity:0;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 4px;display:inline-flex}.cal-day:hover .cal-add,.cal-add:focus-visible,.cal-add.show{opacity:1}.cal-add:hover{border-color:var(--border);color:var(--text);background:var(--hover)}.cal-chips{flex-direction:column;gap:3px;min-width:0;display:flex}.cal-chip{text-align:left;border:0;border-left:3px solid var(--c,var(--mint));width:100%;font:inherit;color:var(--text);background:color-mix(in srgb, var(--c,var(--mint)) 16%, transparent);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:4px;padding:2px 6px;font-size:12px;line-height:1.35;text-decoration:none;display:block;overflow:hidden}.cal-chip:hover{background:color-mix(in srgb, var(--c,var(--mint)) 28%, transparent);text-decoration:none}.cal-chip.done{opacity:.55;text-decoration:line-through}.cal-more{font:inherit;color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:12px}.cal-more:hover{color:var(--mint)}.cal-dots{cursor:pointer;background:0 0;border:0;gap:3px;padding:2px 4px;display:none}.cal-dots i,.cal-legend i{background:var(--c,var(--mint));border-radius:50%;width:8px;height:8px;display:inline-block}.cal-weekgrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.cal-col{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;min-width:0;padding:8px;display:flex}.cal-weekgrid .cal-col{min-height:160px}.cal-col.today{border-color:var(--mint)}.cal-col-head{justify-content:space-between;align-items:center;display:flex}.cal-col.single{background:0 0;border:0;padding:0}.cal-empty{margin:0}.cal-weekgrid .cal-link{flex-direction:column;flex-basis:100%;gap:2px}.cal-weekgrid .cal-time{min-width:0;padding-top:0}.cal-weekgrid .cal-entry .badge{max-width:100%}.cal-entry{border-left:3px solid var(--c,var(--mint));background:color-mix(in srgb, var(--c,var(--mint)) 10%, transparent);border-radius:6px;flex-wrap:wrap;align-items:flex-start;gap:8px;min-width:0;padding:6px 8px;display:flex}.cal-link{min-width:0;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex:140px;align-items:flex-start;gap:8px;padding:0;text-decoration:none;display:flex}.cal-link:hover{text-decoration:none}.cal-link:hover strong{color:var(--mint)}.cal-time{min-width:58px;color:var(--text-2);font-variant-numeric:tabular-nums;flex:none;padding-top:2px;font-size:12px}.cal-main{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.cal-main .cal-done{opacity:.6;text-decoration:line-through}.cal-check{border:1px solid var(--border);width:20px;height:20px;color:var(--mint-ink);cursor:pointer;background:#0f181d;border-radius:6px;flex:none;justify-content:center;align-items:center;margin-top:1px;padding:0;display:inline-flex}.cal-check.on{background:var(--mint);border-color:var(--mint)}.cal-check:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.cal-year{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.cal-mini{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:10px}.cal-mini-title{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;padding:0 0 6px;font-weight:700}.cal-mini-title:hover{color:var(--mint)}.cal-mini-head,.cal-mini-week{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-mini-head span{color:var(--text-2);padding-bottom:2px;font-size:10px}.cal-mini-day{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 0;font-size:12px}.cal-mini-day:hover{background:var(--hover)}.cal-mini-day.has{background:color-mix(in srgb, var(--c,var(--mint)) 40%, transparent);font-weight:700}.cal-mini-day.today{outline:2px solid var(--mint);outline-offset:-2px}.only-sm{display:none}.cal-legend{flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.cal-legend span{align-items:center;gap:6px;display:inline-flex}.cal-legend .spacer{flex:auto}@media (width<=1100px){.cal-weekgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (width<=900px){.only-sm{display:block}}@media (width<=720px){.cal-day{align-items:center;min-height:58px;padding:4px 2px}.cal-chips{display:none}.cal-dots{flex-wrap:wrap;justify-content:center;display:inline-flex}.cal-add{display:none}.cal-head span{text-align:center;padding:6px 2px;font-size:11px}.cal-day-top{justify-content:center}.cal-weekgrid{grid-template-columns:minmax(0,1fr)}.cal-title{font-size:16px}}.bell,.bell-btn{position:relative}.bell-count{background:var(--error);color:#2a0b0b;text-align:center;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;line-height:18px;position:absolute;top:-3px;right:-3px}.bell-pop{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:380px;max-width:calc(100vw - 24px);box-shadow:var(--shadow);z-index:40;flex-direction:column;max-height:min(560px,80vh);display:flex;position:absolute;top:calc(100% + 8px);right:0}.bell-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.bell-list{overflow-y:auto}.bell-empty{text-align:center;padding:22px 16px}.bell-foot{border-top:1px solid var(--border);text-align:center;padding:10px 14px}.linklike{color:var(--mint);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:2px 4px;font-size:13px;display:inline-flex}.linklike:hover:not(:disabled){text-decoration:underline}.linklike:disabled{color:var(--text-2);cursor:default}.notice{text-align:left;border:0;border-bottom:1px solid var(--border);cursor:pointer;width:100%;color:var(--text);background:0 0;gap:10px;padding:12px 14px;display:flex}.notice:last-child{border-bottom:0}.notice:hover{background:var(--hover)}.notice-dot{background:0 0;border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.notice.unread .notice-dot{background:var(--mint)}.notice.unread .notice-title{color:var(--text)}.notice:not(.unread) .notice-title{color:var(--text-2);font-weight:600}.notice-main{flex-direction:column;gap:3px;min-width:0;display:flex}.notice-title{overflow-wrap:anywhere}.notice-text{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notice-list .notice{padding:14px 18px}.radio-set{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.radio-set legend{margin-bottom:4px;padding:0}.radio{cursor:pointer;align-items:center;gap:8px;display:flex}.pick-list{border:1px solid var(--border);background:#0f181d;border-radius:10px;max-height:220px;overflow-y:auto}.pick{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 12px;display:flex}.pick:last-child{border-bottom:0}.pick:hover{background:var(--hover)}.person{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.person.waiting{border-color:#f2b84b80}.person-head{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:8px;padding:0;display:flex}.bubble{background:var(--hover);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:12px;align-self:flex-start;max-width:92%;padding:8px 12px}.bubble.staff{background:#35c7b51f;border-color:#35c7b559;align-self:flex-end}.bubble.mine{align-self:flex-end}.news-card{text-align:left;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;width:100%;color:var(--text);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.news-card:hover{background:var(--hover)}.news-card.unread{border-color:#f2b84b8c}@media (width<=640px){.bell-pop{left:8px;right:8px;top:calc(var(--topbar-h) + 6px);width:auto;max-width:none;position:fixed}}.report-card{color:inherit;flex-direction:column;gap:8px;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:flex}.report-card:hover{background:var(--hover);border-color:#34505a;text-decoration:none;transform:translateY(-1px)}.report-card h2{margin:0;font-size:16px}.report-card p{flex:1;margin:0}.report-chart{width:100%;height:auto;max-height:300px;display:block}.report-period{align-items:center}.report-table td,.report-table th{white-space:nowrap}.report-table td:first-child,.report-table th:first-child{background:var(--card);z-index:1;white-space:normal;min-width:140px;max-width:260px;position:sticky;left:0}.report-table th:first-child{z-index:3;background:#101b21}.report-table tbody tr:hover td:first-child{background:var(--hover)}.report-table tfoot td{border-top:1px solid var(--border);background:#101b21;border-bottom:0;position:sticky;bottom:0}.report-table tfoot td:first-child{z-index:2}@media (width<=640px){.report-table td:first-child,.report-table th:first-child{min-width:110px;max-width:150px}.report-period .chips{width:100%}}@media print{.report-period,.page-head .row{display:none}.report-table td:first-child,.report-table th:first-child{position:static}}.map-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.map-canvas{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);height:calc(100vh - 230px);min-height:440px;top:calc(var(--topbar-h) + 12px);position:sticky;overflow:hidden}.map-canvas.map-off{color:var(--text-2);flex-direction:column;order:0;justify-content:center;align-items:center;gap:10px;height:240px;min-height:0;display:flex;position:static}.map-search{gap:8px;display:flex}.map-search .input{flex:1;min-width:0}.map-jobs{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.map-jobs li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);padding:10px 12px}.map-steps{margin:8px 0;padding-left:20px}.map-steps li{margin-bottom:4px}@media (width<=900px){.map-layout{grid-template-columns:minmax(0,1fr)}.map-canvas{order:-1;height:60vh;min-height:320px;position:static}}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.dash-head h1{letter-spacing:-.02em;margin:0 0 2px;font-size:26px}.dash-date{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:8px 14px;font-size:13px;line-height:1.35;display:flex}.dash-date svg{color:var(--text-2);flex:none}.stat-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;display:grid}.stat{color:inherit;align-items:flex-start;gap:12px;padding:14px;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:flex}a.stat:hover{background:var(--hover);border-color:#34505a;text-decoration:none;transform:translateY(-1px)}.stat-icon{border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid}.stat-icon.mint{color:var(--mint);background:#35c7b51f}.stat-icon.success{color:var(--success);background:#27c78a1f}.stat-icon.error{color:var(--error);background:#f16c6c1f}.stat-icon.warning{color:var(--warning);background:#f2b84b1f}.stat-icon.info{color:var(--info);background:#55a9e81f}.stat-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:24px;font-weight:700;line-height:1.1}.stat-label{color:var(--text-2);font-size:13px}.stat-bar{background:#0f181d;border-radius:999px;height:5px;margin-top:8px;overflow:hidden}.stat-bar .fill{border-radius:999px;height:100%;display:block}.fill.mint{background:var(--mint)}.fill.success{background:var(--success)}.fill.error{background:var(--error)}.fill.warning{background:var(--warning)}.fill.info{background:var(--info)}.stat-foot{color:var(--text-2);margin-top:4px;font-size:12px}.stat-foot .bad{color:var(--error)}.stat-foot .good{color:var(--success)}.stat-foot svg{vertical-align:-2px}.dash-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;display:grid}.dash-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.dash-4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;display:grid}.card-icon{color:var(--mint);vertical-align:-3px;margin-right:8px}.chart-wrap{align-items:center;gap:16px;display:flex}.chart-scroll{flex:1;min-width:0;overflow-x:auto}.chart{width:100%;height:auto;display:block}.chart .grid-line{stroke:var(--border);stroke-dasharray:3 4}.chart .axis{fill:var(--text-2);font-size:11px}.legend{flex-direction:column;flex:none;gap:10px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.legend .dot,.fleet-list .dot{border-radius:50%;flex:none;width:10px;height:10px;margin-right:8px;display:inline-block}.fleet{align-items:center;gap:16px;display:flex}.donut{flex:none;width:130px;height:130px}.donut-num{fill:var(--text);font-size:22px;font-weight:700}.donut-sub{fill:var(--text-2);font-size:11px}.fleet-list{flex-direction:column;flex:1;gap:8px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.fleet-list a{color:inherit;align-items:center;text-decoration:none;display:flex}.fleet-list a:hover{color:var(--mint)}.fleet-list .right{margin-left:auto}.to-item{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.to-item:hover{background:var(--hover);text-decoration:none}.to-item .badge{align-self:flex-start}.orders{flex-direction:column;gap:8px;display:flex}.orders-num{font-size:40px;font-weight:700;line-height:1}.spark{width:100%;height:70px;display:block}.quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quick-btn{text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:#0f181d;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:14px 8px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:flex}.quick-btn svg{color:var(--mint)}.quick-btn:hover{background:var(--hover);border-color:#34505a;text-decoration:none}.task{border-bottom:1px solid #26384099;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.task:last-child{border-bottom:0}.task:hover{text-decoration:none}.task:hover .task-main{color:var(--mint)}.task-main{min-width:0}.task .badge{flex:none}@media (width<=1600px){.stat-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1300px){.dash-3{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-3>:nth-child(3){grid-column:1/-1}}@media (width<=900px){.dash-3,.dash-2-1{grid-template-columns:minmax(0,1fr)}.chart-wrap{flex-direction:column;align-items:stretch}.legend{flex-flow:wrap;gap:6px 16px}}@media (width<=600px){.chart{min-width:480px}.dash-head h1{font-size:22px}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{flex-direction:column;gap:10px;padding:12px}.stat-icon{width:40px;height:40px}.stat-value{font-size:22px}.fleet{flex-direction:column;align-items:stretch}.donut{align-self:center}}.plate{letter-spacing:.03em;font-variant-numeric:tabular-nums;white-space:nowrap;background:#0f181d;border:1px solid #34505a;border-radius:6px;padding:2px 9px;font-weight:700;display:inline-block}.type-cell{align-items:center;gap:8px;display:inline-flex}.type-cell svg{color:var(--mint);flex:none}.due-bad{color:var(--error);font-weight:600}.due-soon{color:var(--warning);font-weight:600}.chip-btn .n{font-variant-numeric:tabular-nums;background:#9aaeb529;border-radius:999px;padding:0 7px;font-size:12px}.chip-btn[aria-pressed=true] .n{background:#35c7b547}:is(p,.muted,.small,.hint,.alert,.empty) a:not(.btn,.kpi,.stat,.nav-link,.chip,.plate,.tab){text-underline-offset:2px;text-decoration:underline}
