:root{--ink:#18212c;--muted:#77818e;--line:#e7e9ec;--blue:#2563eb;--bg:#f5f6f8}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Segoe UI,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}main{min-height:100vh}.sidebar{color:#fff;background:#111820;flex-direction:column;width:226px;padding:26px 17px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 6px 28px;font-size:18px;font-weight:750;display:flex}.brandmark{background:#3478f6;border-radius:10px;place-items:center;width:36px;height:36px;font-weight:900;display:grid;transform:rotate(-3deg)}.brand small{color:#7f8a97;letter-spacing:.03em;margin-top:2px;font-size:10px;font-weight:500;display:block}.sidebar nav{gap:5px;display:grid}.sidebar nav button{color:#9ba5b1;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:11px 12px;font-weight:600;display:flex}.sidebar nav button span{width:19px;font-size:18px}.sidebar nav button b{background:#2a333d;border-radius:8px;margin-left:auto;padding:2px 7px;font-size:11px}.sidebar nav button.active{color:#fff;background:#26313d}.sidebox{background:#1b252f;border:1px solid #293541;border-radius:12px;gap:7px;margin-top:auto;padding:15px;display:grid}.sidebox span,.sidebox small{color:#8d98a4;font-size:11px}.sidebox strong{font-size:16px}.sidebox i{background:#36414c;border-radius:4px;height:4px;overflow:hidden}.sidebox em{background:#397df2;height:100%;display:block}.profile{border-top:1px solid #28323c;align-items:center;gap:9px;margin-top:20px;padding:18px 5px 0;display:flex}.profile>span{color:#1f5ec7;background:#dbe9ff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:10px;font-weight:800;display:grid}.profile div{display:grid}.profile strong{font-size:12px}.profile small{color:#76828e;font-size:10px}.profile button{color:#77818d;background:0 0;border:0;margin-left:auto}.content{max-width:1600px;margin-left:226px;padding:28px 34px 45px}.content>header{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.content>header h1{letter-spacing:-.03em;margin:0 0 5px;font-size:25px}.content>header p,.panel-head p{color:var(--muted);margin:0;font-size:12px}.header-actions{gap:8px;display:flex}.search{border:1px solid var(--line);color:#87919c;background:#fff;border-radius:8px;align-items:center;gap:7px;height:38px;padding:0 10px;display:flex}.search input{border:0;outline:0;width:150px;font-size:12px}.primary,.ghost{border-radius:8px;height:38px;padding:0 14px;font-size:12px;font-weight:700}.primary{background:var(--blue);color:#fff;border:1px solid var(--blue);box-shadow:0 3px 8px #2563eb30}.ghost{border:1px solid var(--line);color:#34404c;background:#fff}.metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;display:grid}.metrics article{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:13px;padding:17px;display:flex}.metric-icon{border-radius:9px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.metric-icon.blue{color:#2463df;background:#e8f0ff}.metric-icon.orange{color:#e78420;background:#fff0df}.metric-icon.green{color:#14915a;background:#e4f6ed}.metric-icon.purple{color:#7c4bc5;background:#f0eaff}.metrics article div{grid-template-columns:auto auto;align-items:end;column-gap:8px;display:grid}.metrics small{color:#7c8590;grid-column:1/3;margin-bottom:5px;font-size:10px}.metrics strong{font-size:21px}.metrics em{color:#929aa3;margin-bottom:3px;font-size:10px;font-style:normal}.metrics em.warn{color:#de7b1c;background:#fff3e4;border-radius:4px;padding:3px 5px}.dashboard-grid{grid-template-columns:minmax(560px,1.6fr) minmax(330px,1fr);gap:14px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:11px;overflow:hidden}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:68px;padding:17px 19px;display:flex}.panel-head h2{margin:0 0 5px;font-size:15px}.textbtn{color:#2e6fdf;background:0 0;border:0;font-size:11px;font-weight:700}.days{padding:3px 18px 12px}.day{border-bottom:1px solid #eef0f2;grid-template-columns:58px 1fr;min-height:65px;display:grid}.day:last-child{border:0}.day-date{align-items:center;gap:5px;display:flex}.day-date strong{text-transform:uppercase;color:#9aa2ab;width:24px;font-size:9px}.day-date span{place-items:center;width:26px;height:26px;font-weight:700;display:grid}.day.today .day-date span{color:#fff;background:#2469e8;border-radius:7px}.day-jobs{padding:9px 0}.day-jobs article{background:#f7f9fb;border-radius:8px;align-items:center;gap:8px;padding:7px 9px;display:flex}.day-jobs article i{color:#586675;border-radius:7px;place-items:center;width:29px;height:29px;font-style:normal;display:grid}.day-jobs article div{display:grid}.day-jobs article span{color:#7c8791;margin-top:2px;font-size:9px}.day-jobs article>b{color:#65707b;margin-left:auto;font-size:10px}.empty-slot{color:#b0b6bd;padding:14px 9px;font-size:10px;display:block}.count{color:#d77719;background:#fff0df;border-radius:7px;padding:5px 8px;font-weight:700}.attention{padding-bottom:8px}.attention>article{border-bottom:1px solid #eef0f2;grid-template-columns:43px 1fr auto;gap:10px;padding:15px 18px;display:grid}.attention>article:last-child{border:0}.vehicle-thumb{color:#647484;border-radius:9px;place-items:center;width:43px;height:43px;display:grid}.attention-main{display:grid}.attention-main span{color:#8b949d;font-size:9px}.attention-main p{color:#68737d;margin:6px 0 0;font-size:9px}.dot{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.dot.any{background:#2cab6d}.dot.daily{background:#e79932}.dot.weekend{background:#8b5fd1}.deadline{text-align:right;display:grid}.deadline small{color:#939ba3;font-size:9px}.deadline em{color:#df7721;background:#fff2e4;border-radius:4px;align-self:end;padding:2px 5px;font-size:9px;font-style:normal}.vehicle-panel{min-height:600px}.legend{color:#68737d;gap:18px;font-size:10px;display:flex}.vehicle-table .tr{border-bottom:1px solid #edf0f2;grid-template-columns:1.35fr .8fr 1.1fr 1.25fr .5fr 25px;align-items:center;gap:15px;min-height:66px;padding:7px 18px;font-size:11px;display:grid}.vehicle-table .th{color:#929aa4;text-transform:uppercase;letter-spacing:.05em;background:#fafbfc;min-height:40px;font-size:8px;font-weight:700}.vcell{align-items:center;gap:10px;display:flex}.vcell i{color:#63717f;border-radius:8px;place-items:center;width:40px;height:40px;font-style:normal;display:grid}.vcell b,.tr>span:nth-child(4){display:grid}.vcell small,.tr>span:nth-child(4) small{color:#89929b;margin-top:3px;font-weight:400}.status{border-radius:5px;width:max-content;padding:3px 6px;font-size:9px}.status.new{color:#c66a13;background:#fff0df}.status.planned{color:#2765ce;background:#e8f0ff}.status.progress{color:#7050ba;background:#eee8ff}.more{color:#8b949d}.plan-toolbar{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.plan-toolbar>div{text-transform:capitalize;align-items:center;gap:12px;display:flex}.plan-toolbar button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 10px}.plan-toolbar .autoplan{color:#fff;background:#182534;border-color:#182534;font-weight:700}.plan-grid{grid-template-columns:repeat(7,minmax(135px,1fr));gap:8px;padding-bottom:5px;display:grid;overflow-x:auto}.plan-day{background:#f0f2f5;border:1px solid #e1e4e8;border-radius:10px;min-height:455px;padding:8px}.plan-day.current{background:#edf3ff;border-color:#b9cff7}.plan-day>header{justify-content:space-between;align-items:center;height:55px;padding:3px 5px;display:flex}.plan-day>header div{align-items:center;gap:6px;display:flex}.plan-day>header small{text-transform:capitalize;color:#7d8792;font-size:9px}.plan-day>header strong{font-size:20px}.plan-day>header span{color:#7d8792;font-size:9px}.plan-day>article{background:#fff;border:1px solid #e2e5e8;border-radius:8px;margin-bottom:7px;padding:10px;box-shadow:0 2px 5px #18212c0a}.plan-card-top{align-items:center;gap:7px;display:flex}.plan-card-top>span{border-radius:6px;place-items:center;width:27px;height:27px;font-size:10px;display:grid}.plan-card-top div{display:grid}.plan-card-top small{color:#85909a;font-size:8px}.plan-day article p{color:#747e88;background:#f6f7f8;border-radius:5px;padding:6px;font-size:8px}.plan-day ul{color:#66717c;padding:0;font-size:8px;list-style:none}.plan-day li{justify-content:space-between;margin:6px 0;display:flex}.plan-day article footer{color:#d26e19;border-top:1px solid #eef0f2;justify-content:space-between;align-items:center;padding-top:7px;font-size:8px;display:flex}.plan-day article footer button{color:#347457;background:0 0;border:0;font-size:8px}.add-slot{color:#8e97a1;background:0 0;border:1px dashed #cbd0d6;border-radius:7px;width:100%;padding:10px;font-size:9px}.reportbar{color:#fff;background:#172330;border-radius:10px;justify-content:space-between;align-items:center;margin-top:13px;padding:13px 17px;display:flex}.reportbar>div{align-items:center;gap:11px;display:flex}.reportbar>div>span{background:#273747;border-radius:8px;place-items:center;width:35px;height:35px;display:grid}.reportbar p{margin:0;display:grid}.reportbar strong{font-size:11px}.reportbar small{color:#91a0ae;margin-top:3px;font-size:9px}.reportbar button{color:#27333e;background:#fff;border:0;border-radius:7px;padding:8px 13px;font-size:10px;font-weight:700}.overlay{z-index:10;background:#10182099;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:min(520px,100%);max-height:94vh;padding:27px;position:relative;overflow:auto;box-shadow:0 25px 80px #0004}.close{color:#8c949d;background:0 0;border:0;font-size:25px;position:absolute;top:13px;right:16px}.modal-kicker{letter-spacing:.12em;color:#3471dd;font-size:9px;font-weight:800}.modal h2{margin:7px 0 5px;font-size:22px}.modal>p{color:#7d8790;margin:0 0 21px;font-size:11px}.modal label{color:#606b75;gap:6px;margin-bottom:13px;font-size:10px;font-weight:700;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal input,.modal select,.modal textarea{color:#25303a;background:#fafbfc;border:1px solid #dfe3e7;border-radius:7px;outline:none;width:100%;padding:10px 11px}.modal textarea{resize:vertical;height:65px}.checks{background:#f6f8fa;border-radius:8px;margin-bottom:15px;padding:12px}.checks label{grid-template-columns:18px 1fr 55px 18px;align-items:center;margin:5px 0;display:grid}.checks input[type=checkbox]{width:15px}.checks input[type=number]{padding:7px}.modal-actions{border-top:1px solid #edf0f2;justify-content:flex-end;gap:8px;padding-top:16px;display:flex}.modal-actions button{background:#fff;border:1px solid #dfe3e7;border-radius:7px;padding:10px 15px;font-size:11px;font-weight:700}.modal-actions .primary{color:#fff;background:#2563eb}.toast{color:#fff;z-index:20;background:#173227;border-radius:9px;padding:13px 18px;font-size:11px;position:fixed;bottom:25px;right:25px;box-shadow:0 10px 35px #0003}.photo-drop{background:#f8fafc;border:2px dashed #cfd6df;border-radius:10px;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:145px;margin:0 0 14px;transition:all .15s;display:flex}.photo-drop:focus,.photo-drop:hover{background:#f4f8ff;border-color:#6c98ed}.photo-icon{color:#2767d5;background:#e8f0ff;border-radius:9px;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.photo-drop strong{font-size:11px}.photo-drop small{color:#87919c;font-size:9px}.file-button{cursor:pointer;background:#fff;border:1px solid #d9dee4;border-radius:7px;padding:8px 12px;color:#315fba!important;margin:3px 0 0!important;display:block!important}.file-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.photo-drop.has-photo{background:#151b22;border-style:solid;height:190px;padding:0;position:relative;overflow:hidden}.photo-drop img{object-fit:contain;width:100%;height:100%}.photo-drop.has-photo button{color:#fff;background:#111c;border:0;border-radius:7px;padding:7px 9px;font-size:10px;position:absolute;top:9px;right:9px}.modal-actions button:disabled{opacity:.55;cursor:wait}.vehicle-table .tr{min-height:76px;font-size:14px}.vehicle-table .th{font-size:10px}.vcell b{font-size:15px}.vcell small,.tr>span:nth-child(4) small{font-size:12px}.vcell i{width:50px;height:50px}.status{font-size:11px}.day-jobs article strong{font-size:14px}.day-jobs article span,.day-jobs article>b{font-size:12px}.attention-main strong{font-size:14px}.attention-main span,.attention-main p{font-size:12px}.deadline strong{font-size:14px}.deadline small,.deadline em{font-size:11px}.plan-card-top strong{font-size:13px}.plan-card-top small,.plan-day article p,.plan-day ul,.plan-day article footer,.plan-day article footer button{font-size:11px}.empty-state{text-align:center;color:#7b8690;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:38px 25px;display:flex}.empty-state>span{color:#3471dd;background:#edf3ff;border-radius:12px;place-items:center;width:48px;height:48px;font-size:20px;display:grid}.empty-state strong{color:#26313b;margin-top:12px;font-size:16px}.empty-state p{max-width:330px;margin:7px 0 14px;font-size:13px;line-height:1.5}.empty-state button{color:#fff;background:#2563eb;border:0;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:700}.empty-state.wide{min-height:430px}.job-cell{text-align:left;color:inherit;background:0 0;border:0;gap:4px;padding:5px 0;display:grid}.job-cell:not(:disabled):hover .status{outline:2px solid #b9cff7}.job-cell:disabled{cursor:default}.job-cell small{color:#89929b}.job-edit-mini{color:#2563eb;background:0 0;border:0;padding:5px 0 0;font-size:10px;font-weight:700}.plan-day article footer>span:last-child{gap:7px;display:flex}.jobs-panel{min-height:600px}.jobs-table{overflow-x:auto}.jobs-row{border-bottom:1px solid #edf0f2;grid-template-columns:1.2fr 1fr 1.35fr 1.15fr .65fr .8fr 78px;align-items:center;gap:16px;min-width:1080px;min-height:78px;padding:10px 18px;font-size:13px;display:grid}.jobs-head{color:#929aa4;text-transform:uppercase;letter-spacing:.05em;background:#fafbfc;min-height:42px;font-size:10px;font-weight:700}.jobs-row>span{gap:4px;display:grid}.jobs-row small{color:#89929b;font-size:11px;display:block}.job-work{gap:6px!important}.job-edit{color:#2563eb;background:#f7faff;border:1px solid #cdd9ed;border-radius:7px;padding:8px 9px;font-size:11px;font-weight:700}.job-edit:hover{background:#eaf2ff}.urgent-date{color:#c96616;font-weight:700}.urgent-date small{color:#d67b2b}.list-actions{align-items:center;gap:9px;display:flex}.sort-control{align-items:center;color:#75808b!important;gap:7px!important;margin:0!important;font-size:11px!important;font-weight:600!important;display:flex!important}.sort-control select{border:1px solid var(--line);color:#34404c;background:#fff;border-radius:7px;padding:8px 28px 8px 9px;font-size:11px}.plan-toolbar>div:last-child{align-items:center;gap:9px;display:flex}.inline-status{color:#34404c;background:#fff;border:1px solid #cbd5e1;border-left-width:5px;border-radius:7px;max-width:180px;padding:7px 8px;font-size:11px;font-weight:700}.directory-panel{min-height:500px}.directory-list,.users-list{padding:8px 18px}.directory-list article,.users-list article{border-bottom:1px solid #edf0f2;align-items:center;gap:13px;min-height:66px;display:grid}.directory-list article{grid-template-columns:10px 26px 1fr auto 34px}.directory-list article>b{color:#9aa3ad}.directory-list article div,.users-list article div{gap:4px;display:grid}.directory-list small,.users-list small{color:#89929b;font-size:11px}.directory-list em{color:#75808b;font-size:12px;font-style:normal}.directory-list article>button{color:#8c949d;background:0 0;border:0;font-size:18px}.directory-list article>button:disabled{opacity:.25}.status-color{border-radius:5px;width:10px;height:32px}.users-list article{grid-template-columns:44px 1fr 190px 120px}.user-avatar{color:#2765ce;background:#e8f0ff;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.role{border-radius:6px;width:max-content;padding:6px 9px;font-size:11px}.role.manager{color:#2765ce;background:#e8f0ff}.role.customer{color:#754fb9;background:#f0eaff}.user-active{grid-template-columns:16px 1fr!important;align-items:center!important;margin:0!important;display:flex!important}.user-active input{width:15px!important}.kanban-hint{color:#6f7b87;margin:0 0 10px;font-size:12px}.kanban-grid{grid-template-columns:repeat(8,minmax(170px,1fr))}.plan-day>article{cursor:grab;transition:opacity .15s,transform .15s,box-shadow .15s;position:relative}.plan-day>article:active{cursor:grabbing}.plan-day>article.dragging{opacity:.35;transform:scale(.97)}.drag-handle{color:#a1a9b1;letter-spacing:-3px;font-weight:900;position:absolute;top:5px;right:7px}.plan-day.drag-over{background:#e5efff;border:2px dashed #3478f6;box-shadow:inset 0 0 0 2px #fff}.queue-day{background:#fff5e8;border-color:#f1cf9f}.queue-day>header strong{font-size:14px}.drop-placeholder{color:#8b96a1;text-align:center;border:1px dashed #bdc8d5;border-radius:8px;place-items:center;min-height:70px;padding:10px;font-size:11px;display:grid}.jobs-head button,.vehicle-table .th button{text-align:left;color:inherit;text-transform:uppercase;font-size:inherit;font-weight:inherit;letter-spacing:inherit;background:0 0;border:0;padding:8px 0}.jobs-head button:hover,.vehicle-table .th button:hover{color:#2563eb}.jobs-head button:focus-visible,.vehicle-table .th button:focus-visible{border-radius:4px;outline:2px solid #8bb3ff}.dashboard-grid .attention{grid-area:1/1}.dashboard-grid .schedule{grid-area:1/2}.attention-all{color:#fff;background:#2563eb;border:0;border-radius:9px;justify-content:space-between;align-items:center;width:calc(100% - 36px);margin:12px 18px 10px;padding:14px 16px;font-size:14px;font-weight:800;display:flex;box-shadow:0 5px 14px #2563eb35}.attention-all span{opacity:.9;font-size:11px;font-weight:600}.modal-wide label,.modal-wide .field-title{font-size:12px}.modal-wide .mode-switch>button>span,.modal-wide .place-switch span{font-size:13px}.modal-wide .mode-switch small,.modal-wide .place-switch small{margin-top:4px;font-size:11px;line-height:1.35}.modal-wide .form-column>p,.modal-wide .schedule-step strong{font-size:12px}.modal-wide .schedule-step small{font-size:10px}.modal-wide .schedule-step>button,.modal-wide .all-day{font-size:11px!important}.modal-wide .place-note{font-size:12px;line-height:1.5}.modal-wide .production-place strong{font-size:12px}.modal-wide .production-place p{font-size:11px}@media (width<=1100px){.dashboard-grid .attention,.dashboard-grid .schedule{grid-area:auto/1}.dashboard-grid .attention{order:-1}}.auth-page{background:#edf1f5;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #dce2e8;border-radius:16px;width:min(420px,100%);padding:32px;box-shadow:0 20px 60px #15202d18}.auth-brand{color:#172330;padding:0 0 25px}.auth-card h1{margin:0 0 8px;font-size:27px}.auth-card>p{color:#74808b;margin:0 0 22px;line-height:1.5}.auth-card label{color:#4c5863;gap:7px;margin:14px 0;font-size:13px;font-weight:700;display:grid}.auth-card input{border:1px solid #d6dde4;border-radius:8px;height:44px;padding:0 12px}.auth-card .primary{width:100%;margin-top:10px}.auth-error{color:#b63b2e;background:#fff0ee;border-radius:7px;padding:10px;font-size:12px}.setup-link{color:#2563eb;background:#edf4ff;border-radius:8px;margin-bottom:15px;padding:11px;font-weight:700;text-decoration:none;display:block}.audit-list{padding:8px 20px}.audit-list article{border-bottom:1px solid #edf0f2;grid-template-columns:44px 1fr 150px;align-items:center;gap:13px;min-height:78px;display:grid}.audit-avatar{color:#2765ce;background:#e8f0ff;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.audit-list article>div{gap:3px;display:grid}.audit-list p{color:#4f5b66;margin:0;font-size:13px}.audit-list small{color:#8a949e;font-size:11px}.audit-list time{text-align:right;color:#737e89;font-size:11px}.credentials-modal{width:min(620px,96vw)}.credential-row{border:1px solid #e0e5ea;border-radius:9px;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;margin:9px 0;padding:12px;display:grid}.credential-row>span{color:#7a8590;font-size:11px}.credential-row strong{overflow-wrap:anywhere;font-size:14px}.credential-row button{color:#2563eb;background:#f5f9ff;border:1px solid #cdd9ed;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:700}.credentials-actions{border-top:1px solid #e7ebef;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;display:flex}.credentials-actions .primary,.credentials-actions .ghost{height:40px}.vcell .vehicle-kind{color:#3471d8;margin-top:4px;font-weight:700}.template-upload{background:#f8fafc;border:1px solid #dce3ea;border-radius:10px;margin-bottom:14px;padding:13px}.template-upload>div:first-child{gap:4px;display:grid}.template-upload>div:first-child>small{color:#84909b;font-size:10px}.template-button{background:#f0f6ff;border:1px dashed #8db0e8;border-radius:7px;width:max-content;padding:9px 12px;color:#2563eb!important;margin:11px 0 0!important;font-weight:700!important;display:block!important}.template-button input{display:none}.template-file{background:#fff;border:1px solid #dce4eb;border-radius:8px;align-items:center;gap:9px;margin-top:10px;padding:9px;grid-template-columns:32px 1fr auto 24px!important;display:grid!important}.template-file>span{color:#2563eb;background:#e8f0ff;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.template-file>div{display:grid}.template-file small{color:#87919b;font-size:9px}.template-file a{color:#2563eb;font-size:11px;font-weight:700}.template-file>button{color:#8b949d;background:0 0;border:0;font-size:18px}.archive-list{padding:8px 18px}.archive-list article{border-bottom:1px solid #edf0f2;grid-template-columns:1.2fr 1.3fr .8fr auto;align-items:center;gap:18px;min-height:84px;display:grid}.archive-list article>div:not(.vcell){gap:5px;display:grid}.archive-list small{color:#89939d;font-size:11px}.archive-list article>button{color:#2563eb;background:#f5f9ff;border:1px solid #bcd0ef;border-radius:7px;padding:9px 11px;font-size:11px;font-weight:700}.vehicle-table .tr{grid-template-columns:1.25fr .75fr 1fr 1fr 1.1fr .45fr 25px}.vehicle-type-select{color:#26313b;background:0 0;border:0;outline:none;width:100%;padding:0;font-size:13px;font-weight:700}.vehicle-type-select+small{color:#8a949e;margin-top:4px;font-size:11px;display:block}.types-panel{min-height:580px}.type-groups{grid-template-columns:repeat(2,1fr);gap:14px;padding:18px;display:grid}.type-groups>section{border:1px solid #e5e8eb;border-radius:10px;overflow:hidden}.type-groups>section>header{background:#fafbfc;border-bottom:1px solid #e8ebee;align-items:center;gap:10px;padding:14px;display:flex}.type-group-icon{color:#2767d8;background:#e6f0ff;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.type-group-icon.truck{color:#188456;background:#e7f7ef}.type-group-icon.special{color:#d47619;background:#fff0df}.type-group-icon.other{color:#7550bc;background:#f1ebff}.type-groups header div{display:grid}.type-groups header strong{font-size:14px}.type-groups header small{color:#8b949e;margin-top:2px;font-size:10px}.type-groups article{border-bottom:1px solid #edf0f2;grid-template-columns:1fr auto 24px;align-items:center;gap:10px;padding:13px 14px;display:grid}.type-groups article:last-child{border:0}.type-groups article span{font-size:14px;font-weight:600}.type-groups article b{color:#7d8791;background:#f1f3f5;border-radius:6px;padding:4px 7px;font-size:10px}.type-groups article button{color:#a0a7ae;background:0 0;border:0;font-size:18px}.empty-type{color:#9aa2aa;text-align:center;margin:0;padding:18px;font-size:12px}@media (width<=1100px){.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.plan-grid{grid-template-columns:repeat(7,160px)}.header-actions .search{display:none}.vehicle-table .tr{grid-template-columns:1.4fr 1fr 1.1fr 1fr .5fr}.vehicle-table .tr>span:nth-child(2),.vehicle-table .tr>span:nth-child(7){display:none}.type-groups{grid-template-columns:1fr}}@media (width<=700px){.sidebar{width:100%;height:auto;padding:14px 16px;display:block;position:static}.brand{padding:0}.sidebar nav{grid-template-columns:repeat(4,1fr);margin-top:13px}.sidebar nav button{justify-content:center;padding:9px 3px;font-size:10px}.sidebar nav button span,.sidebox,.profile{display:none}.content{margin:0;padding:20px 14px}.content>header{align-items:flex-start;gap:13px}.content>header p{display:none}.header-actions{flex-wrap:wrap;justify-content:flex-end}.ghost{display:none}.metrics{grid-template-columns:1fr 1fr;gap:8px}.metrics article{padding:12px}.metric-icon{display:none}.dashboard-grid{display:block}.attention{margin-top:10px}.vehicle-table{overflow-x:auto}.vehicle-table .tr{min-width:900px}.form-row{grid-template-columns:1fr}.modal{padding:22px}.legend{display:none}.type-groups{padding:10px}}@media print{.sidebar,.content>header,.plan-toolbar,.add-slot,.reportbar button{display:none!important}.content{margin:0;padding:0}.plan-grid{grid-template-columns:repeat(4,1fr)}.plan-day{break-inside:avoid}}.header-actions{align-items:center}.sync-state{color:#218457;white-space:nowrap;background:#e8f7ef;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:700}.sync-state.saving,.sync-state.loading{color:#3268bd;background:#edf4ff}.sync-state.error{color:#b73636;background:#ffeded}.photo-drop.has-photos{background:#f7f9fb;border-style:solid;min-height:160px;padding:12px;display:block}.photo-grid{grid-template-columns:repeat(4,1fr);gap:9px;width:100%;display:grid}.photo-grid figure{background:#17202a;border-radius:8px;height:105px;margin:0;position:relative;overflow:hidden}.photo-grid img{object-fit:cover;width:100%;height:100%}.photo-grid figure button{color:#fff;background:#111c;border:0;border-radius:50%;width:24px;height:24px;font-size:16px;position:absolute;top:5px;right:5px}.photo-grid figure small{color:#fff;background:#111b;border-radius:4px;padding:3px 5px;font-size:8px;position:absolute;bottom:6px;left:6px}.add-photo{cursor:pointer;border:1px dashed #aeb8c4;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;color:#4774c9!important;height:105px!important;margin:0!important;font-size:22px!important;display:flex!important}.add-photo span{font-size:9px}.add-photo input{opacity:0;width:1px;height:1px;position:absolute}.photo-drop.has-photos>p{text-align:center;color:#85909b;margin:10px 0 0;font-size:9px}@media (width<=700px){.photo-grid{grid-template-columns:repeat(2,1fr)}}.schedule-editor{margin:4px 0 16px}.field-title{margin-bottom:7px!important}.mode-switch{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mode-switch>button{text-align:left;background:#fafbfc;border:1px solid #dfe3e7;border-radius:9px;align-items:center;gap:9px;padding:11px;display:flex}.mode-switch>button.selected{background:#f2f6ff;border-color:#4f82e7;box-shadow:0 0 0 1px #4f82e7}.mode-switch>button>b{color:#7b8691;background:#edf0f3;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.mode-switch>button.selected>b{color:#fff;background:#3472e4}.mode-switch>button>span{font-size:11px;font-weight:700}.mode-switch small{color:#8b949e;margin-top:3px;font-size:8px;font-weight:400;display:block}.schedule-details{background:#fbfcfd;border:1px solid #e0e4e8;border-radius:10px;margin-top:10px;padding:13px}.schedule-step{align-items:center;gap:9px;display:flex}.schedule-step>span{color:#2865ce;background:#e6efff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;font-weight:800;display:grid}.schedule-step>div{display:grid}.schedule-step strong{font-size:11px}.schedule-step small{color:#89939d;margin-top:2px;font-size:8px}.schedule-step>button{color:#2867d4;background:0 0;border:0;margin-left:auto;font-size:9px;font-weight:700}.weekday-picker{grid-template-columns:repeat(7,1fr);gap:5px;margin:11px 0 17px;display:grid}.weekday-picker label{margin:0!important;display:block!important}.weekday-picker input{opacity:0;width:1px;position:absolute}.weekday-picker b{color:#747e88;background:#fff;border:1px solid #dce1e6;border-radius:7px;place-items:center;height:34px;font-size:10px;display:grid}.weekday-picker label.checked b{color:#fff;background:#2868d9;border-color:#2868d9}.all-day{flex-direction:row;align-items:center;grid-template-columns:none!important;gap:6px!important;margin:0 0 0 auto!important;font-size:9px!important;display:flex!important}.all-day input{width:14px!important}.time-range{padding:12px 6px 2px}.range-values{justify-content:center;align-items:center;gap:11px;margin-bottom:12px;display:flex}.range-values strong{background:#fff;border:1px solid #dfe4e8;border-radius:6px;padding:6px 9px;font-size:13px}.range-values span{color:#9aa2aa}.dual-range{height:18px;position:relative}.range-track,.range-fill{border-radius:4px;height:4px;position:absolute;top:7px}.range-track{background:#dfe4e9;left:0;right:0}.range-fill{background:#2e6edc}.dual-range input{appearance:none;pointer-events:none;background:0 0;width:100%;height:18px;margin:0;position:absolute;top:0;left:0;padding:0!important}.dual-range input::-webkit-slider-thumb{appearance:none;pointer-events:auto;background:#fff;border:5px solid #2868d9;border-radius:50%;width:17px;height:17px;box-shadow:0 1px 4px #0003}.range-labels{color:#929ba4;justify-content:space-between;font-size:8px;display:flex}.schedule-summary{color:#456079;background:#edf4ff;border-radius:7px;margin-top:13px;padding:9px 10px;font-size:10px}.schedule-summary b{color:#245ebc}.modal input.input-error{background:#fff7f7;border-color:#e05a5a;box-shadow:0 0 0 2px #e05a5a18}.duplicate-alert{background:#fff3e8;border:1px solid #f0c79f;border-radius:9px;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;margin:-5px 0 13px;padding:10px 11px;display:grid}.duplicate-alert>span{color:#fff;background:#e88227;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.duplicate-alert div{display:grid}.duplicate-alert strong{color:#7d4414;font-size:11px}.duplicate-alert p{color:#9a673d;margin:2px 0 0;font-size:9px}.duplicate-alert button{color:#bd6016;background:#fff;border:0;border-radius:6px;padding:7px 9px;font-size:9px;font-weight:700}.add-from-job{color:#356cc8;background:#f8fafc;border:1px dashed #c9d2dd;border-radius:8px;width:100%;margin:-4px 0 15px;padding:10px;font-size:10px;font-weight:700}.modal.modal-wide{width:min(1040px,96vw);padding:27px 30px}.vehicle-form-grid,.job-form-grid{grid-template-columns:1fr 1fr;gap:28px;margin-top:18px;display:grid}.form-column{min-width:0}.form-column+section{border-left:1px solid #e7eaed;padding-left:28px}.form-column h3{margin:0 0 14px;font-size:14px}.form-column>p{color:#89939d;margin:-9px 0 17px;font-size:10px}.modal-wide .photo-grid{grid-template-columns:repeat(3,1fr)}.modal-wide .photo-drop{min-height:155px}.modal-wide .schedule-editor{margin-top:0}.modal-wide .modal-actions{margin-top:18px}.place-switch{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px;display:grid}.place-switch button{text-align:left;background:#fafbfc;border:1px solid #dfe3e7;border-radius:9px;align-items:center;gap:10px;padding:13px;display:flex}.place-switch button.selected{background:#f1f6ff;border-color:#3471df;box-shadow:0 0 0 1px #3471df}.place-switch b{color:#6e7984;background:#e9edf2;border-radius:8px;place-items:center;width:32px;height:32px;font-size:16px;display:grid}.place-switch button.selected b{color:#fff;background:#3471df}.place-switch span{font-size:11px;font-weight:700}.place-switch small{color:#89939d;margin-top:3px;font-size:8px;font-weight:400;display:block}.production-place{background:#edf8f2;border:1px solid #bee2ce;border-radius:9px;align-items:center;gap:11px;padding:14px;display:flex}.production-place>span{color:#fff;background:#25a064;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.production-place strong{font-size:11px}.production-place p{color:#698077;margin:3px 0 0;font-size:9px}.place-note{color:#80643b;background:#fff7e9;border-radius:8px;margin-top:18px;padding:11px;font-size:10px;line-height:1.45}.job-time{border-top:1px solid #e8ebee;margin-top:18px;padding-top:16px}.job-time .schedule-step>span{font-size:12px}.job-time .time-range{margin-top:6px}.vehicle-open{text-align:left;color:inherit;background:0 0;border:0;padding:0}.vehicle-open:hover b{color:#2563d8}.edit-button{color:#7c8792;background:0 0;border:0;border-radius:6px;padding:7px}.edit-button:hover{color:#2563d8;background:#edf2f8}.vehicle-form-grid{grid-template-columns:1fr}.place-column>.schedule-editor{border-bottom:1px solid #e6e9ec;margin-bottom:16px;padding-bottom:16px}.type-groups article{grid-template-columns:1fr auto 26px 24px}.type-groups article .type-name{text-align:left;color:#26313b;background:0 0;border:0;padding:0;font-size:14px;font-weight:600}.type-groups article .type-name:hover{color:#2563d8}.type-groups article .type-edit{color:#64758a;font-size:14px}.type-groups article .type-edit:hover{color:#2563d8}@media (width<=850px){.vehicle-form-grid,.job-form-grid{grid-template-columns:1fr}.form-column+section{border-top:1px solid #e7eaed;border-left:0;padding:22px 0 0}.modal.modal-wide{width:min(620px,96vw)}}.mode-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.dot.unknown{background:#9aa3ad}.partial-badge{color:#a75b08;background:#fff0d8;border-radius:6px;width:max-content;padding:4px 7px;font-size:10px;display:inline-block}.work-toggle{text-align:left;color:#34404c;background:0 0;border:0;align-items:center;gap:7px;padding:2px 0;display:flex}.work-toggle i{color:#82909e;border:1px solid #bfc8d2;border-radius:50%;place-items:center;width:19px;height:19px;font-style:normal;display:grid}.work-toggle span{display:grid}.work-toggle.done{color:#718078}.work-toggle.done>span{text-decoration:line-through}.work-toggle.done i{color:#218154;background:#e3f5eb;border-color:#63b987}.work-done{color:#7c8881;text-decoration:line-through}.plan-day li>button{color:#238354;background:0 0;border:0;padding:0 3px 0 0;font-weight:800}.work-checks label{grid-template-columns:18px 1fr 55px 18px auto}.done-check{color:#62707d;align-items:center;gap:5px;font-size:10px;font-weight:600;display:flex}.done-check input{width:14px!important}.modal-actions .danger-action{color:#c43d3d;background:#fff5f5;border-color:#e6b7b7;margin-right:auto}.modal-actions .danger-action:hover{background:#ffe8e8;border-color:#d98989}
