@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg:#fafafa;--surface:#fff;--surface-2:#f4f4f2;--surface-3:#edede9;--hover:#f0f0ec;--border:#e6e6e2;--border-strong:#d0d0cc;--border-soft:#efefeb;--text:#0a0a0a;--text-2:#5a5a58;--text-3:#8e8e8a;--text-inv:#fafafa;--accent:#dc2626;--accent-hover:#b91c1c;--accent-bg:#fef2f2;--accent-border:#fca5a5;--ok:#15803d;--ok-bg:#f0fdf4;--warn:#b45309;--warn-bg:#fef7ec;--alert:#b91c1c;--alert-bg:#fef2f2;--info:#1d4ed8;--info-bg:#eff3fe;--muted:#6b7280;--muted-bg:#f3f4f6;--fs-micro:10px;--fs-meta:11px;--fs-body:12px;--fs-label:13px;--fs-h3:14px;--fs-h2:16px;--fs-h1:20px;--row-h:30px;--row-h-sm:26px;--radius:3px;--radius-lg:6px;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--sans:"Inter", -apple-system, system-ui, sans-serif}*{box-sizing:border-box}html,body{font-family:var(--sans);font-size:var(--fs-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"cv11", "ss01";margin:0;padding:0}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}.app{grid-template:"brand topbar"40px"sidebar main"1fr"sidebar status"22px/192px 1fr;width:100vw;height:100vh;display:grid;overflow:hidden}.brand{background:var(--text);color:var(--text-inv);border-right:1px solid var(--text);grid-area:brand;align-items:center;gap:8px;padding:0 12px;display:flex}.brand-mark{background:var(--accent);flex:none;width:18px;height:18px;display:inline-block;position:relative}.brand-mark:after{content:"";background:var(--text);position:absolute;inset:4px}.brand-name{letter-spacing:.5px;font-size:13px;font-weight:700}.brand-env{font-family:var(--mono);color:#888;border:1px solid #333;border-radius:2px;margin-left:auto;padding:1px 5px;font-size:10px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);grid-area:topbar;align-items:stretch;padding-right:8px;display:flex}.topbar-crumbs{font-size:var(--fs-body);color:var(--text-2);border-right:1px solid var(--border);align-items:center;gap:6px;padding:0 14px;display:flex}.topbar-crumbs b{color:var(--text);font-weight:600}.topbar-crumbs .sep{color:var(--text-3)}.topbar-actions{align-items:center;gap:4px;margin-left:auto;padding-left:8px;display:flex}.topbar-btn{white-space:nowrap;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);height:26px;color:var(--text);font-size:var(--fs-body);flex-shrink:0;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.topbar-btn:hover{background:var(--hover);border-color:var(--border-strong)}.topbar-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.topbar-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.topbar-user{border-left:1px solid var(--border);align-items:center;gap:8px;height:100%;margin-left:4px;padding:0 8px 0 12px;display:flex}.avatar{background:var(--text);color:#fff;letter-spacing:.3px;border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;font-weight:600;display:grid}.topbar-user-info{line-height:1.15}.topbar-user-info .n{font-weight:600;font-size:var(--fs-body)}.topbar-user-info .r{color:var(--text-3);font-size:10px;font-family:var(--mono)}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;grid-area:sidebar;padding:8px 0;display:flex;overflow-y:auto}.nav-group{padding:4px 0}.nav-group+.nav-group{border-top:1px solid var(--border-soft);margin-top:4px;padding-top:8px}.nav-group-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-3);padding:4px 14px;font-size:10px;font-weight:600}.nav-item{width:100%;font-size:var(--fs-label);color:var(--text);text-align:left;border-left:2px solid #0000;align-items:center;gap:8px;padding:5px 14px;display:flex;position:relative}.nav-item:hover{background:var(--hover)}.nav-item.active{background:var(--surface-2);color:var(--text);border-left-color:var(--accent);font-weight:500}.nav-item .ico{width:14px;height:14px;color:var(--text-2);flex:none}.nav-item.active .ico{color:var(--accent)}.nav-item .count{font-family:var(--mono);color:var(--text-3);background:var(--surface-2);border-radius:2px;margin-left:auto;padding:0 4px;font-size:10px}.nav-item.active .count{background:var(--surface);color:var(--text-2)}.sidebar-foot{border-top:1px solid var(--border-soft);color:var(--text-3);font-size:10px;font-family:var(--mono);margin-top:auto;padding:10px 14px;line-height:1.5}.main{background:var(--bg);grid-area:main;position:relative;overflow:auto}.statusbar{background:var(--text);color:#d0d0cc;border-top:1px solid var(--text);font-family:var(--mono);z-index:1;grid-area:status;align-items:center;gap:16px;margin-top:-1px;padding:0 12px;font-size:10px;display:flex;position:relative}.statusbar .dot{background:#15c26f;border-radius:50%;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 2px #15c26f33}.statusbar .s-item{color:#a8a8a5}.statusbar .s-item b{color:#edede9;font-weight:500}.statusbar .s-spacer{flex:1}.badge{height:18px;font-size:10px;font-family:var(--mono);background:var(--muted-bg);color:var(--muted);white-space:nowrap;letter-spacing:.2px;border-radius:2px;align-items:center;gap:4px;padding:0 6px;font-weight:500;display:inline-flex}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.alert{background:var(--alert-bg);color:var(--alert)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.accent{background:var(--accent-bg);color:var(--accent)}.badge.ghost{border:1px solid var(--border);color:var(--text-2);background:0 0}.badge .bdot{background:currentColor;border-radius:50%;width:5px;height:5px;display:inline-block}.kbd{font-family:var(--mono);border:1px solid var(--border);color:var(--text-2);background:var(--surface-2);border-radius:2px;padding:1px 4px;font-size:10px}.mono{font-family:var(--mono)}.meta{font-size:var(--fs-meta);color:var(--text-3)}.sec-divider{border:0;border-top:1px solid var(--border);margin:0}.btn{border:1px solid var(--border);background:var(--surface);height:26px;color:var(--text);border-radius:var(--radius);font-size:var(--fs-body);align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.btn:hover{background:var(--hover);border-color:var(--border-strong)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover)}.btn.warn{color:#4a2e00;background:#f5a623;border-color:#f5a623}.btn.warn:hover{background:#e0940f;border-color:#e0940f}.btn.warn.ghost{color:#b45309;background:0 0;border-color:#0000}.btn.warn.ghost:hover{background:var(--warn-bg)}.btn.sm{height:22px;font-size:var(--fs-meta);padding:0 8px}.btn.lg{height:32px;font-size:var(--fs-label);padding:0 14px}.btn.icon{justify-content:center;width:26px;padding:0}.input{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);height:26px;font-size:var(--fs-body);color:var(--text);outline:none;width:100%;padding:0 8px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.input.sm{height:22px;font-size:var(--fs-meta);padding:0 6px}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l4 5 4-5' fill='%235A5A58'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:22px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.panel-h{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:8px;min-height:36px;padding:8px 12px;display:flex}.panel-h h3{font-size:var(--fs-label);letter-spacing:-.1px;margin:0;font-weight:600}.panel-h .sub{color:var(--text-3);font-size:var(--fs-meta);font-family:var(--mono)}.panel-h .spacer{flex:1}.panel-b{padding:12px}.panel-b.flush{padding:0}.tbl{border-collapse:collapse;width:100%;font-size:var(--fs-body)}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);border-bottom:1px solid var(--border);background:var(--surface-2);z-index:1;white-space:nowrap;padding:6px 10px;font-size:10px;font-weight:600;position:sticky;top:0}.tbl th.th-sortable:hover{background:var(--hover);color:var(--text)}.tbl th.th-sort-active{color:var(--text)}.tbl td{height:var(--row-h);border-bottom:1px solid var(--border-soft);vertical-align:middle;white-space:nowrap;padding:0 10px}.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover{background:var(--surface-2)}.tbl tbody tr.selected{background:var(--accent-bg)}.tbl .num{font-family:var(--mono);text-align:right}.tbl .id{font-family:var(--mono);color:var(--text-2)}.planner-grid td{white-space:normal;height:auto}.planner-grid tbody tr{cursor:default}.planner-grid tbody tr:hover{background:0 0}td.pg-cell{border:1px solid var(--border-soft);vertical-align:top;box-sizing:border-box;cursor:pointer;padding:15px 10px}td.pg-cell-end{border:1px solid var(--border-soft);height:1px;padding:2px 10px}.pg-cell.pg-free{background:var(--surface)}.pg-cell.pg-free:hover{background:var(--surface-2)}.pg-cell.pg-busy{background:var(--accent-bg);border-color:var(--accent-border)}.pg-cell.pg-busy:hover{filter:brightness(.97)}.pg-cell.pg-busy.pg-selected{background:var(--accent);color:#fff}.pg-cell.pg-busy.pg-selected .meta{color:#fffc}.pg-cell.pg-blocked{cursor:pointer}.pg-cell.pg-disabled{cursor:default;opacity:.6}.pg-cell.pg-disabled:hover{background:inherit}.pg-cell.pg-busy:active{cursor:grabbing}.pg-swatch{border:1px solid var(--border-strong);border-radius:3px;width:12px;height:12px;display:inline-block}.pg-swatch.pg-free{background:var(--surface)}.pg-swatch.pg-busy{background:var(--accent-bg);border-color:var(--accent-border)}.seg{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);height:26px;display:inline-flex;overflow:hidden}.seg button{font-size:var(--fs-meta);color:var(--text-2);border-right:1px solid var(--border);height:100%;padding:0 10px}.seg button:last-child{border-right:0}.seg button.on{background:var(--text);color:#fff}.seg button:not(.on):hover{background:var(--hover);color:var(--text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:2px solid var(--bg);background:#d8d8d2;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#b8b8b2}::-webkit-scrollbar-track{background:0 0}.page-head{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:12px;padding:12px 16px;display:flex}.page-head h1{letter-spacing:-.3px;margin:0;font-size:18px;font-weight:600}.page-head .pg-meta{color:var(--text-3);font-size:var(--fs-meta);font-family:var(--mono)}.page-head .spacer{flex:1}.page-tabs .spacer{flex:1;align-self:center}.page-tabs{border-bottom:1px solid var(--border);background:var(--surface);gap:2px;padding:0 16px;display:flex}.page-tab{font-size:var(--fs-label);color:var(--text-2);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px}.page-tab:hover{color:var(--text)}.page-tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:500}.grid{gap:12px;display:grid}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-5{grid-template-columns:repeat(5,1fr)}.grid.cols-6{grid-template-columns:repeat(6,1fr)}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:6px;min-height:80px;padding:12px 14px;display:flex}.kpi .kpi-l{text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.kpi .kpi-v{letter-spacing:-.5px;font-size:24px;font-weight:600;font-family:var(--mono);color:var(--text);line-height:1}.kpi .kpi-v .u{color:var(--text-3);margin-left:4px;font-size:12px}.kpi .kpi-d{color:var(--text-3);font-size:10px;font-family:var(--mono);gap:8px;display:flex}.kpi .kpi-d .up{color:var(--ok)}.kpi .kpi-d .dn{color:var(--alert)}.sparkbar{background:var(--surface-2);border-radius:2px;width:100%;height:6px;display:flex;overflow:hidden}.sparkbar span{height:100%;display:block}.img-ph{border:1px solid var(--border);color:var(--text-3);font-family:var(--mono);letter-spacing:.4px;background:repeating-linear-gradient(135deg,#edede9 0 6px,#f4f4f2 6px 12px);place-items:center;font-size:10px;display:grid;position:relative}.img-ph:after{content:attr(data-label);border:1px solid var(--border);background:#ffffffd9;border-radius:2px;padding:1px 4px;position:absolute;top:4px;left:4px}.tweaks{z-index:100;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:260px;display:none;position:fixed;bottom:32px;right:16px;box-shadow:0 6px 24px #00000014}.tweaks.open{display:block}.tweaks h4{font-size:var(--fs-label);border-bottom:1px solid var(--border);align-items:center;gap:8px;margin:0;padding:10px 12px;font-weight:600;display:flex}.tweaks h4 .close{color:var(--text-3);margin-left:auto}.tweaks-body{padding:10px 12px}.tweaks-row{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.tweaks-row label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);font-size:10px;font-weight:600}.swatches{gap:6px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:4px;place-items:center;width:28px;height:28px;display:grid}.swatch.on{border-color:var(--text)}.overlay{z-index:200;background:#0a0a0a59;place-items:center;animation:.15s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;width:min(92vw,820px);max-height:88vh;animation:.15s pop;display:flex;overflow:hidden}@keyframes pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.modal-h{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.modal-h h2{margin:0;font-size:15px;font-weight:600}.modal-b{padding:16px;overflow:auto}.overlay.drawer-overlay{place-items:stretch end!important}.drawer{background-color:#fff;background:var(--surface);border-left:1px solid var(--border);flex-direction:column;width:min(94vw,540px);height:100vh;margin-left:auto;animation:.18s slideL;display:flex;position:relative;overflow:hidden;box-shadow:-8px 0 24px #0000001f}@keyframes slideL{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.drawer-h{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:8px;padding:12px 16px;display:flex}.drawer-h h2{margin:0;font-size:14px;font-weight:600}.drawer-b{background:var(--surface);flex:1;overflow:auto}.drawer-f{border-top:1px solid var(--border);background:var(--surface-2);flex-shrink:0;align-items:center;gap:8px;padding:10px 14px;display:flex}.modal-f{border-top:1px solid var(--border);background:var(--surface-2);justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}.toast{background:var(--text);color:#fff;border-radius:var(--radius);font-size:var(--fs-label);z-index:300;font-family:var(--mono);align-items:center;gap:8px;padding:8px 14px;animation:.2s toastIn;display:flex;position:fixed;bottom:36px;left:50%;transform:translate(-50%)}.toast .bdot{background:#15c26f;border-radius:50%;width:6px;height:6px}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.spinner-sm{border:2px solid var(--border-strong);border-top-color:var(--accent);vertical-align:-2px;border-radius:50%;width:12px;height:12px;margin-right:4px;animation:.7s linear infinite spinSm;display:inline-block}@keyframes spinSm{to{transform:rotate(360deg)}}button:focus-visible,.input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.login-bg{background:var(--bg);grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-side{background:var(--text);color:#fff;flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.login-side .grid-bg{pointer-events:none;background-image:linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(#ffffff0a 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.login-side>*{position:relative}.login-form-wrap{place-items:center;padding:48px;display:grid}.login-form{width:100%;max-width:360px}.login-form h1{letter-spacing:-.3px;margin:0 0 4px;font-size:22px;font-weight:600}.login-form p{color:var(--text-2);font-size:var(--fs-label);margin:0 0 24px}.field{margin-bottom:12px}.field label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);margin-bottom:4px;font-size:10px;font-weight:600;display:block}.field .input{height:32px;font-size:var(--fs-label)}.hchart{font-size:var(--fs-body);grid-template-columns:110px 1fr 50px;align-items:center;gap:8px;padding:4px 0;display:grid}.hchart-bar{background:var(--surface-2);border-radius:1px;height:8px;position:relative;overflow:hidden}.hchart-bar>span{background:var(--accent);position:absolute;inset:0 auto 0 0}.spark{align-items:flex-end;gap:2px;height:20px;display:inline-flex}.spark span{background:var(--text-3);width:3px;display:inline-block}.map{background:var(--surface-2);background-image:linear-gradient(to right, var(--border-soft) 1px, transparent 1px), linear-gradient(to bottom, var(--border-soft) 1px, transparent 1px), linear-gradient(to right, var(--border) 1px, transparent 1px), linear-gradient(to bottom, var(--border) 1px, transparent 1px);background-size:24px 24px,24px 24px,96px 96px,96px 96px;position:relative;overflow:hidden}.map-road{background:#e0e0da;position:absolute}.map-pin{background:var(--surface);border:2px solid var(--text);width:22px;height:22px;font-family:var(--mono);cursor:pointer;border-radius:50%;place-items:center;font-size:9px;font-weight:600;transition:transform .15s;display:grid;position:absolute;transform:translate(-50%,-50%)}.map-pin:hover{z-index:3;transform:translate(-50%,-50%)scale(1.15)}.map-pin.selected{background:var(--accent);color:#fff;border-color:var(--accent);z-index:5}.map-pin.moving{border-color:var(--info)}.map-pin.idle{border-color:var(--ok)}.map-pin.alert{border-color:var(--alert)}.gantt{font-size:var(--fs-body);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:220px 1fr;display:grid;overflow:hidden}.gantt-veh-head,.gantt-time-head{background:var(--surface-2);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);align-items:center;height:32px;font-size:10px;font-weight:600;display:flex}.gantt-veh-head{border-right:1px solid var(--border);padding:0 12px}.gantt-time-head{position:relative}.gantt-time-head .day{border-right:1px solid var(--border-soft);flex-direction:column;flex:1;justify-content:center;align-items:center;height:100%;padding:4px 0;display:flex}.gantt-time-head .day.today{background:var(--accent-bg);color:var(--accent)}.gantt-time-head .day .d1{color:var(--text);font-size:13px;font-weight:600;font-family:var(--mono)}.gantt-time-head .day.today .d1{color:var(--accent)}.gantt-time-head .day .d2{font-size:9px}.gantt-veh,.gantt-row{border-bottom:1px solid var(--border-soft);align-items:center;height:36px;display:flex}.gantt-veh{border-right:1px solid var(--border);font-size:var(--fs-body);gap:8px;padding:0 12px}.gantt-veh .plate{font-family:var(--mono);color:var(--text-3);font-size:10px}.gantt-veh .mdl{font-weight:500}.gantt-row{position:relative}.gantt-row .day-sep{background:var(--border-soft);width:1px;position:absolute;top:0;bottom:0}.gantt-bar{color:#fff;cursor:pointer;white-space:nowrap;border-radius:3px;align-items:center;gap:6px;height:26px;padding:0 8px;font-size:10px;font-weight:500;display:flex;position:absolute;top:5px;overflow:hidden}.gantt-bar .bar-plate{font-family:var(--mono);opacity:.85;font-size:9px}.gantt-bar.rental{background:var(--text)}.gantt-bar.booking{background:var(--info)}.gantt-bar.maintenance{background:var(--warn)}.gantt-bar.overdue{background:var(--alert)}.gantt-bar:hover{box-shadow:0 0 0 2px var(--accent-bg), 0 0 0 3px var(--accent)}.gantt-body{max-height:520px;overflow:auto}.veh-diagram{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;position:relative;overflow:hidden}.veh-pin{background:var(--alert);color:#fff;width:22px;height:22px;font-size:10px;font-weight:600;font-family:var(--mono);border:2px solid var(--surface);cursor:pointer;z-index:2;border-radius:50%;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.veh-pin.scratch,.veh-pin.ding{background:var(--warn)}.veh-pin.dent{background:var(--alert)}.veh-pin.selected{box-shadow:0 0 0 3px var(--accent-bg), 0 0 0 4px var(--accent)}.lrow{border-bottom:1px solid var(--border-soft);font-size:var(--fs-body);cursor:pointer;grid-template-columns:80px 1fr auto auto;align-items:center;gap:10px;padding:7px 12px;display:grid}.lrow:last-child{border-bottom:0}.lrow:hover{background:var(--surface-2)}.lrow .time{font-family:var(--mono);color:var(--text-2);font-size:10px}.lrow .title{font-weight:500}.lrow .sub{color:var(--text-3);font-size:10px;font-family:var(--mono)}.spark-svg{overflow:visible}.empty{text-align:center;color:var(--text-3);font-size:var(--fs-label);padding:32px}.fgrid{grid-template-columns:repeat(12,1fr);gap:10px 12px;display:grid}.fgrid .f{flex-direction:column;gap:4px;display:flex}.fgrid .f.c2{grid-column:span 2}.fgrid .f.c3{grid-column:span 3}.fgrid .f.c4{grid-column:span 4}.fgrid .f.c5{grid-column:span 5}.fgrid .f.c6{grid-column:span 6}.fgrid .f.c7{grid-column:span 7}.fgrid .f.c8{grid-column:span 8}.fgrid .f.c9{grid-column:span 9}.fgrid .f.c10{grid-column:span 10}.fgrid .f.c12{grid-column:span 12}.fgrid .f label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.fgrid .f .input,.fgrid .f textarea.input{width:100%}.fgrid .f textarea.input{resize:vertical;min-height:56px;padding:6px 8px;font-family:inherit}.qe-readonly .input,.qe-readonly textarea.input,.qe-readonly select.input{background:var(--surface-2);color:var(--text-1);opacity:1;cursor:default;border-color:#0000}.qe-readonly select.input{background-image:none;padding-right:8px}.qe-readonly .btn{opacity:.55;cursor:not-allowed}.sec-h{background:var(--surface-2);border-bottom:1px solid var(--border);border-top:1px solid var(--border);text-transform:uppercase;letter-spacing:.6px;color:var(--text-2);align-items:center;gap:10px;padding:10px 12px;font-size:11px;font-weight:600;display:flex}.sec-h .chip{font-family:var(--mono);background:var(--surface);border:1px solid var(--border);text-transform:none;letter-spacing:0;height:18px;color:var(--text-2);border-radius:2px;align-items:center;padding:0 6px;font-size:10px;font-weight:500;display:inline-flex}.totals{background:var(--text);color:#fff;font-family:var(--mono);align-items:center;gap:24px;padding:10px 14px;font-size:12px;display:flex}.totals .tot-l{color:#a8a8a5;text-transform:uppercase;letter-spacing:.6px;margin-right:4px;font-size:10px}.totals .tot-v{font-size:13px;font-weight:600}.totals .tot-big{color:#fff;margin-left:auto;font-size:18px;font-weight:600}.li-tbl{border-collapse:collapse;width:100%;font-size:var(--fs-body)}.li-tbl th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);border-bottom:1px solid var(--border);background:var(--surface-2);padding:6px 10px;font-size:10px;font-weight:600}.li-tbl td{border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:6px 10px}.li-tbl td.num,.li-tbl th.num{text-align:right;font-family:var(--mono)}.li-tbl .desc{font-weight:500}.li-tbl .d2{color:var(--text-3);font-size:10px}.legend{color:var(--text-2);font-size:10px;font-family:var(--mono);flex-wrap:wrap;gap:12px;display:flex}.legend span.sw{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.page-enter{opacity:1}@keyframes pageIn{0%{opacity:.01;transform:translateY(4px)}to{opacity:1;transform:none}}.print-only{display:none!important}@media print{@page{size:A4 landscape;margin:10mm}html,body{color:#000!important;background:#fff!important}.no-print,.sidebar,.topbar,.footer,.toast,.toasts,.tweaks-panel,.modal,.modal-overlay,.drawer,.drawer-overlay,.popover{display:none!important}.app,.main,.page-enter{height:auto!important;display:block!important;overflow:visible!important}.print-only{display:block!important}.print-header{border-bottom:1px solid #999;margin:0 0 10px;padding:0 0 8px}.print-header .ph-title{font-size:14pt;font-weight:700}.print-header .ph-title .ph-range{color:#444;font-size:11pt;font-weight:400}.print-header .ph-meta{color:#555;margin-top:2px;font-size:9pt}body.print-calendar .calendar-print-area{padding:0!important}body.print-calendar .gantt{border-color:#999!important}body.print-calendar .gantt-veh,body.print-calendar .gantt-time-head,body.print-calendar .gantt-veh-head{background:#fff!important}body.print-calendar .gantt-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:8pt!important}body.print-calendar .day{font-size:8pt!important}body.print-calendar .legend{font-size:8pt}body.print-calendar .gantt-bar.rental{color:#fff!important;background:#222!important}body.print-calendar .gantt-bar.booking{color:#fff!important;background:#2563eb!important}body.print-calendar .gantt-bar.maintenance{color:#fff!important;background:#d97706!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
