:root{--brand-navy: #073b70;--brand-navy-dark: #052e58;--brand-teal: #0aafb2;--brand-teal-dark: #087b80;--brand-teal-soft: #e5f7f7;--ink: #18334a;--muted: #60758a;--line: #d8e4e8;--soft: #f2f7f8;--navy: var(--brand-navy);--blue: var(--brand-teal-dark);--cyan: var(--brand-teal);--paper: #fff;--blue-dark: #06666d;--blue-light: #b9e9ea;--blue-focus: #66d4d6;--red-error: #ae3434;--red-error-bg: #fff1f1;--amber-overdue: #b45309;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.45;color:var(--ink);background:#edf4f5}*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin-top:0}h1{font-size:25px;letter-spacing:-.03em}h2{font-size:20px}h3{font-size:17px}small{font-size:13px}.muted{color:var(--muted)}.eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 7px}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;min-width:0;border:1px solid #ced9e6;border-radius:6px;padding:10px 12px;background:#fff;color:var(--ink);font-size:16px;min-height:42px}input:disabled,select:disabled,textarea:disabled{background:#f1f4f8;color:#536479;opacity:1}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue-light);border-color:var(--blue)}textarea{min-height:88px;resize:vertical}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:6px;padding:8px 12px;font-size:14px}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue-focus);outline-offset:2px}.primary-btn{color:#fff;background:var(--brand-navy);border-color:var(--brand-navy);padding:10px 15px;font-weight:650;white-space:nowrap}.primary-btn:hover:not(:disabled){background:var(--brand-navy-dark)}.ghost-btn{background:#fff;border-color:#cbdde1;padding:9px 13px}.ghost-btn:hover:not(:disabled){border-color:var(--brand-teal);background:#f3fbfb}.danger-btn{color:var(--red-error);border-color:#e7b8b8}.brand{display:flex;align-items:center;gap:11px}.brand-logo{display:block;width:auto;max-width:100%;height:auto}.brand-topbar .brand-logo{width:218px}.brand-context{padding-left:12px;border-left:1px solid #cde3e6}.brand-context small{display:block;color:var(--muted);font-size:12px;white-space:nowrap}.brand-login{width:fit-content;max-width:100%;padding:15px 18px;border-radius:14px;background:#fff;box-shadow:0 16px 38px #01193338}.brand-login .brand-logo{width:min(330px,100%)}.app-shell{height:100dvh;overflow:hidden;display:flex;flex-direction:column}.topbar{flex:none;height:72px;background:#fff;color:var(--ink);display:flex;align-items:center;padding:0 22px;gap:30px;border-bottom:1px solid #cfe0e4;box-shadow:inset 0 -3px var(--brand-teal);z-index:5}.role-badge{font-size:14px;color:var(--brand-navy);background:var(--brand-teal-soft);border:1px solid #a9dfe0;padding:7px 12px;border-radius:5px;font-weight:650}.user-chip{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:14px}.user-chip strong,.user-chip small{display:block}.user-chip small{color:var(--muted)}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:var(--brand-navy);font-size:12px;font-weight:700}.logout-btn{margin-left:16px;border-color:#bdd2d8;color:var(--brand-navy);background:#fff}.logout-btn:hover:not(:disabled){border-color:var(--brand-teal);background:var(--brand-teal-soft)}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:var(--left) 5px var(--middle) 5px var(--right);overflow:hidden}.workspace.work-off{grid-template-columns:var(--left) 5px 48px 5px minmax(var(--right),1fr)}.workspace.work-off.state-off{grid-template-columns:minmax(var(--left),1fr) 5px 48px 5px 48px}.area{min-width:0;min-height:0;background:#fff;display:flex;flex-direction:column;overflow:hidden}.area-head{height:47px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;border-bottom:1px solid var(--line);background:#f6fafb}.area-head h2,.area-caption{font-size:14px;font-weight:650;margin:0}.collapse-btn{background:transparent;border:0;font-size:24px;font-weight:400;line-height:1;width:26px;height:31px;padding:0;flex:none}.area-scroll{flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#becbd9 transparent}.splitter{background:var(--line);cursor:col-resize;touch-action:none}.splitter:hover,.splitter:focus{background:var(--brand-teal)}.collapsed .area-head{justify-content:center;padding:0}.vertical-label{writing-mode:vertical-rl;white-space:nowrap;align-self:center;font-size:14px;color:var(--muted);padding-top:20px;cursor:pointer;border:0;background:none}.menu-area{background:#f2f7f8}.menu-scroll{padding:14px 10px}.nav-caption{display:block;padding:15px 12px 10px;font-size:12px;color:#7a8898;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.nav-item{width:100%;display:flex;align-items:center;text-align:left;gap:9px;background:transparent;border:0;border-radius:6px;padding:12px 10px;color:#45566c;font-size:14px;margin-bottom:3px;line-height:1.4}.nav-item>span{font-size:19px;line-height:1;color:#637b97;width:20px;flex:none}.nav-item b{font-size:12px;margin-left:auto;font-weight:650;background:#e2e9f3;border-radius:4px;padding:1px 6px}.nav-item:hover{background:#e7f2f3}.nav-item.active{background:var(--brand-teal-soft);color:var(--brand-navy);font-weight:650;box-shadow:inset 3px 0 var(--brand-teal)}.nav-item.active>span{color:var(--brand-teal-dark)}.notification-caption{display:flex;align-items:center;justify-content:space-between}.notification-caption b{min-width:22px;padding:2px 6px;border-radius:10px;color:#fff;background:var(--brand-teal-dark);font-size:11px;text-align:center}.notification-list{display:grid;gap:6px}.notification-list>.muted{padding:0 12px;font-size:12px}.notification-item{display:grid;gap:3px;width:100%;padding:9px 10px;border-color:transparent;background:transparent;color:#45566c;text-align:left}.notification-item:hover{background:#e7f2f3}.notification-item.unread{border-color:#a9dfe0;background:#ecf9f9}.notification-item strong{font-size:12px}.notification-item small,.notification-item time{color:var(--muted);font-size:11px}.menu-info{padding:18px 12px;margin-top:40px;border-top:1px solid var(--line);font-size:14px}.menu-info p{color:var(--muted);font-size:13px;margin:7px 0}.save-status{margin-left:auto;font-size:12px;color:#647b77}.save-status.error{color:#ab3535}.save-status.unsaved{color:#9a6413;background:#fff4d6;border:1px solid #f0d494;border-radius:6px;padding:7px 10px;font-weight:650}.virtual-tabs{display:flex;align-items:stretch;overflow-x:auto;flex:none;height:44px;background:#edf4f5;scrollbar-width:thin;border-bottom:1px solid var(--line)}.virtual-tab{display:flex;border-right:1px solid #d4dfea;flex:none;max-width:280px;min-width:155px}.virtual-tab.active{background:#fff;border-top:2px solid var(--blue);border-bottom:1px solid white}.virtual-tab>button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;background:transparent;border-radius:0;padding:9px 12px;color:#607187;font-size:14px}.virtual-tab>button:first-child{flex:1;text-align:left}.virtual-tab.active>button{color:var(--brand-navy)}.virtual-tab>.tab-close{font-size:19px;padding:6px 9px}.tab-close:hover{background:#dde6ef}.list-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:26px 24px 18px}.list-heading h1{display:flex;align-items:center;gap:10px;margin:0}.count{font-size:14px;letter-spacing:0;background:#eaf0f7;color:#6a7c91;padding:3px 8px;border-radius:5px}.list-toolbar{display:flex;gap:10px;margin:0 24px 12px}.list-toolbar input{background:#f9fbfd}.selection-col{width:42px;text-align:center}.selection-col input{width:18px;height:18px;margin:0}.list-hint{font-size:13px;color:#7a8898;margin:0 24px 18px}.registry-wrap{overflow-x:auto}.registry{width:100%;border-collapse:collapse;min-width:580px;font-size:14px}.registry th{padding:12px 18px;text-align:left;font-size:12px;font-weight:650;background:#f5f8fb;border-block:1px solid var(--line);color:#6b7e95;white-space:nowrap}.registry .column-filter-row th{padding:6px;background:#fff}.registry .column-filter-row input{min-width:120px;min-height:34px;padding:6px 8px;font-size:12px}.registry td{padding:17px 18px;border-bottom:1px solid #e7ecf2;vertical-align:top;max-width:360px;overflow-wrap:anywhere}.registry tbody tr{cursor:pointer}.registry tbody tr:hover{background:#f2f9f9}.registry tbody tr.selected{background:var(--brand-teal-soft);box-shadow:inset 3px 0 var(--blue)}.registry strong{font-size:14px;font-weight:650}.registry small{display:block;color:#7b899c;font-size:12px;margin-top:5px}.registry .align-right{text-align:right;white-space:nowrap}.registry td:last-child{width:40px;padding-left:0}.open-row{border:0;background:transparent;color:#6683a6;padding:2px 7px;font-size:19px}.status{display:inline-flex;align-items:center;padding:4px 8px;font-size:12px;font-weight:650;border-radius:4px;line-height:1.4}.status.blue{background:var(--brand-teal-soft);color:var(--brand-teal-dark)}.status.amber{background:#fff0cc;color:#926118}.status.violet{background:#eee8fd;color:#68509f}.status.green{background:#dcf1e8;color:#267353}.empty-state{padding:52px 24px;text-align:center;color:var(--muted)}.empty-state p{font-size:14px;max-width:340px;margin-inline:auto}.empty-state h3{font-size:17px;color:#56677d;margin-bottom:10px}.empty-symbol{display:block;font-size:32px;color:#a7b6c6;margin-bottom:15px}.preview-content{padding:23px 20px 30px}.preview-title h2{font-size:24px;margin-bottom:10px}.preview-total{margin-top:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.preview-total small,.preview-owner small{display:block;color:var(--muted)}.preview-total strong{font-size:26px;font-weight:650;display:block;margin-top:3px}.preview-owner{padding:16px 0}.preview-owner strong{font-size:15px;display:block;margin-top:4px}.subtabs{display:flex;border-bottom:1px solid var(--line);margin:5px 0 20px;gap:15px}.subtabs button{border:0;padding:8px 0;border-radius:0;font-size:14px;color:var(--muted)}.subtabs .active{color:var(--blue);border-bottom:2px solid var(--blue)}.detail-list{margin:0}.detail-list dt{color:#7b899b;font-size:12px;margin-bottom:4px}.detail-list dd{font-size:14px;margin:0 0 17px;overflow-wrap:anywhere;white-space:pre-wrap}.preview-meta{border-top:1px solid var(--line);padding-top:16px;margin-top:22px;color:#7b899b;font-size:12px}.preview-meta p{margin:3px 0}.preview-work{padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.preview-work strong,.preview-work small,.preview-work b{display:block}.preview-work small{color:var(--muted);margin:5px 0}.full-timeline{list-style:none;padding:0 0 0 8px;margin:0}.full-timeline li{border-left:2px solid #dbe3ed;padding:0 0 22px 18px;position:relative;font-size:14px}.full-timeline li:before{content:"";position:absolute;left:-6px;top:5px;border-radius:50%;width:10px;height:10px;background:#dbe3ed}.full-timeline li.done{border-color:#75c9cb}.full-timeline li.done:before{background:#75c9cb}.full-timeline li.active:before{background:var(--blue);box-shadow:0 0 0 4px var(--brand-teal-soft)}.full-timeline li.active{color:var(--blue)}.full-timeline small{display:block;color:var(--muted);margin-top:3px;font-size:12px}.document-toolbar{padding:13px 24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:#fff}.document-toolbar>span{font-size:13px;color:var(--muted);margin-left:auto}.document-panel{padding:24px 24px 0}.document-panel h1{margin:8px 0 12px}.document-head,.title-row,.table-actions,.route-action,.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.document-head{padding-bottom:16px;border-bottom:1px solid var(--line)}.document-head h2{margin:10px 0 0}.document-head h2>.muted{font-size:14px;font-weight:400}.title-row{justify-content:flex-start;flex-wrap:wrap}.title-row .eyebrow{margin:0}.stepper{list-style:none;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.stepper li{height:4px;background:#e2e8f0}.stepper li.done,.stepper li.active{background:var(--blue)}.section-title{display:flex;align-items:center;gap:12px;margin:25px 0 14px}.section-title>span{font-size:13px;font-weight:700;width:32px;height:32px;border:1px solid #d7e5f7;border-radius:6px;display:grid;place-items:center;color:var(--blue);flex:none}.section-title h3{margin:0;font-size:17px}.section-title p{font-size:13px;color:var(--muted);margin:3px 0 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.full{grid-column:1 / -1}label>span{display:block;font-size:14px;color:#5e6d81;margin-bottom:6px}.table-wrap{border:1px solid var(--line);border-radius:6px;overflow:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:640px}.table-wrap th{font-size:12px;color:var(--muted);text-align:left;padding:10px;background:var(--soft);white-space:nowrap}.table-wrap td{padding:6px;border-top:1px solid var(--line);font-size:14px}.table-wrap td input,.table-wrap td select{font-size:14px;min-height:36px;padding:6px;border-color:transparent}.table-wrap td:first-child{min-width:180px}.table-wrap td:first-child input{min-width:200px}.table-wrap .qty{width:65px}.table-wrap .price{width:95px}.table-wrap input,.table-wrap select{min-width:90px}.inline-edit-row{background:#f4f8fe}.inline-edit-row td{vertical-align:top}.inline-edit-row td:first-child{min-width:240px}.inline-edit-row td:first-child input{margin-top:5px}.row-total{white-space:nowrap;font-weight:650}.delete-row{border:0;color:#879bb4;font-size:20px;background:transparent;padding:4px}.table-actions{margin-top:12px}.total{text-align:right}.total span{display:block;font-size:12px;color:var(--muted)}.total strong{font-size:22px}.route-action{position:sticky;bottom:0;margin:28px -24px 0;padding:16px 24px;background:#edf8f8;border-top:1px solid #cbe7e8;flex-wrap:wrap;z-index:2}.route-action>div:first-child{flex:1;min-width:200px}.route-action>.route-save-state{flex:0 0 auto;min-width:180px;padding-right:16px;border-right:1px solid #cbe7e8}.route-action>.route-save-state+div{flex:1;min-width:220px}.route-save-state .ghost-btn{margin-top:7px}.route-save-state .unsaved-label{color:#a45b13}.route-save-state .saved-label{display:block;color:var(--muted);font-size:12px}.action-label,.route-action small{display:block;font-size:12px;color:var(--muted)}.route-action strong{font-size:14px;display:block;margin:2px 0}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.catalog-editor{padding:28px 24px}.catalog-editor h1{margin:12px 0}.catalog-editor .form-grid{margin-top:24px}.catalog-import{display:inline-flex;align-items:center;cursor:pointer;white-space:nowrap;border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:14px}.catalog-import:focus-within{outline:3px solid var(--blue-focus);outline-offset:2px}.catalog-import.disabled{cursor:default;opacity:.5}.catalog-import input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.catalog-related{margin-top:12px;padding:18px;border:1px solid var(--line);border-radius:10px;background:#f9fbfd}.catalog-related>h3{margin-top:0}.person-assignment-head,.person-assignment-picker{display:flex;align-items:center;gap:10px}.person-assignment-head{justify-content:space-between;flex-wrap:wrap}.person-assignment-picker select{min-width:280px}.catalog-actions{display:flex;gap:10px;margin-top:18px}.catalog-fieldset{min-width:0;margin:0;padding:0;border:0}.catalog-fieldset:disabled{opacity:.72}.catalog-history{margin-top:24px;padding:20px;border-top:1px solid var(--line)}.catalog-history ol{display:grid;gap:10px;margin:0;padding-left:22px}.catalog-history li{padding-left:4px}.catalog-history li span,.catalog-history li small{display:block;color:var(--muted)}.error-banner,.import-banner{flex:none;padding:10px 18px;font-size:14px;display:flex;align-items:center;gap:15px}.error-banner{background:var(--red-error-bg);color:#a33535}.import-banner{background:var(--brand-teal-soft);color:var(--brand-navy)}.error-banner button,.import-banner button{margin-left:auto}.conflict-banner{flex:none;padding:12px 18px;background:#fff5de;color:#815c18;font-size:14px}.conflict-banner p{margin:6px 0 10px}.conflict-banner>div{display:flex;gap:8px;flex-wrap:wrap}.warning-banner,.info-banner{padding:11px 16px;border-radius:7px;font-size:14px;line-height:1.45}.warning-banner{background:#fff5de;color:#815c18}.work-area>.warning-banner,.work-area .virtual-tabs+.warning-banner{border-radius:0}.info-banner{background:var(--brand-teal-soft);color:var(--brand-navy)}.confirmed-datetime-control{display:grid;grid-template-columns:minmax(135px,1fr) minmax(90px,.55fr) auto;gap:8px}.confirmed-datetime-control .ghost-btn{min-width:48px}.confirmed-datetime>small{display:block;margin-top:4px;color:var(--muted)}.draft-disabled-section{opacity:.58;filter:saturate(.45)}.draft-disabled-section button,.draft-disabled-section input,.draft-disabled-section select,.draft-disabled-section textarea{pointer-events:none}.approval-details{display:grid;grid-template-columns:minmax(150px,.5fr) minmax(220px,1fr);gap:8px 16px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#f9fbfd}.approval-details dt{color:var(--muted)}.approval-details dd{margin:0;font-weight:600}.history-dialog{border:0;border-radius:10px;width:min(660px,94vw);max-height:82dvh;padding:24px;color:var(--ink)}.history-dialog::backdrop{background:#073b707f}.dialog-head{margin-bottom:20px}.dialog-head h2{margin:0}.history-entry{display:grid;grid-template-columns:145px 1fr;gap:15px;border-top:1px solid var(--line);padding:12px 0;border-bottom:1px solid #e4e9f0;font-size:14px}.history-entry time{font-size:12px;color:var(--muted)}.history-entry p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.diagnostic-entry{padding:12px 0;border-bottom:1px solid #e4e9f0}.diagnostic-entry p{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0}.action-dialog{border:0;border-radius:16px;padding:26px;width:min(560px,92vw);max-height:90vh;overflow:auto;box-shadow:0 20px 80px #073b7054}.action-dialog::backdrop{background:#051e387f}.action-dialog fieldset{border:1px solid #d8e0ec;border-radius:10px;margin:18px 0;padding:12px}.action-dialog .action-buttons{justify-content:end}.toast{position:fixed;right:24px;bottom:24px;max-width:min(520px,calc(100vw - 32px));background:var(--navy);color:#fff;padding:14px 20px;border-radius:8px;box-shadow:0 8px 32px #073b702e;font-size:14px;z-index:20}.session-overlay{position:fixed;inset:0;z-index:200;background:#fff;overflow:auto}.session-choice{margin-top:14px;padding:14px;border:1px solid #f1c8c8;border-radius:10px;background:#fff7f7}.session-choice p{margin:0 0 12px}.reauth-overlay{position:fixed;inset:0;z-index:30;overflow:auto;background:#fff}.loading-page{display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;place-items:center;height:100dvh;color:var(--muted);background:#f3f8f9;font-weight:650}.loading-page img{width:72px;height:72px;object-fit:contain}.mobile-panels{display:none}.feature-card{margin-top:24px;padding:20px;border:1px solid #e0e6ed;border-radius:12px;background:#fff}.feature-card h3{margin:0 0 14px}.feature-card details{margin:12px 0}.feature-card .section-title{justify-content:space-between;margin-top:0}.feature-card button{white-space:normal}.feature-card small,td small{display:block}.inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.inline-form>label,.inline-form>select{flex:1;min-width:150px}.inset-form{margin-top:14px;padding:16px;background:#f6f8fb;border-radius:10px}.vehicle-picker{position:relative;margin-bottom:20px}.selected-vehicle-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.selected-vehicle-control input[readonly]{color:var(--ink);background:#f7f9fc;font-weight:600}.vehicle-history-button{margin-top:10px}.previous-mileage-info{min-height:42px;border:1px solid #d7e0eb;border-radius:6px;background:#f7f9fc;padding:9px 11px}.previous-mileage-info span,.previous-mileage-info strong,.previous-mileage-info small{display:block}.previous-mileage-info span,.previous-mileage-info small{color:var(--muted);font-size:12px}.previous-mileage-info strong{margin-top:3px;font-size:14px}.unsaved-dialog p{line-height:1.55;margin:12px 0 22px}.search-results{padding:0;margin:4px 0;list-style:none;border:1px solid #d8e0ec;max-height:250px;overflow:auto;border-radius:8px;background:#fff}.search-results button{display:block;width:100%;padding:12px;text-align:left;border:0;background:#fff}.search-results button:hover{background:var(--brand-teal-soft)}.search-results small{display:block;color:#65738a;margin-top:4px}.attachment-list{list-style:none;padding:0}.attachment-list li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eef1f6}.attachment-list button{border:0;background:none;text-align:left;color:var(--brand-teal-dark);overflow-wrap:anywhere}.upload-label{border:1px dashed #9eb4d1;border-radius:8px;padding:12px}.upload-label input{max-width:100%}.checkbox-label{display:flex;align-items:center;gap:10px}.checkbox-label input{width:auto!important}.invoice-summary{background:#edf8f8;padding:14px;border-radius:8px;margin:12px 0}.overdue{color:var(--amber-overdue);font-weight:600}.login-page{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:#f2f7f8}.login-intro{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 88% 14%,rgb(10 175 178 / 22%) 0 7%,transparent 7.2%),radial-gradient(circle at 76% 76%,rgb(10 175 178 / 13%) 0 15%,transparent 15.2%),linear-gradient(145deg,var(--brand-navy-dark),var(--brand-navy) 62%,#075c76);color:#fff;padding:46px 56px;display:flex;flex-direction:column;min-height:100dvh}.login-title{margin:auto 0;padding:70px 0;max-width:550px}.login-title .eyebrow{color:#73d7d8;margin-bottom:25px}.login-title h1{font-size:clamp(32px,3.3vw,52px);line-height:1.2;letter-spacing:-.035em;margin-bottom:25px}.login-title p{color:#c5d6e3;font-size:17px;line-height:1.75;max-width:460px}.login-roles{display:flex;gap:8px;flex-wrap:wrap;margin-top:35px}.login-roles span{border:1px solid rgb(122 216 217 / 42%);background:#ffffff0d;padding:8px 14px;border-radius:5px;font-size:14px;color:#d5e4ec}.login-note{font-size:12px;color:#9fbdcf;margin:0}.login-note span{color:#73d7d8;font-weight:700}.login-side{display:grid;place-items:center;padding:50px 32px;background:linear-gradient(#ffffffb8,#ffffffb8),linear-gradient(135deg,#eef7f7,#f8fbfc)}.login-card{width:min(100%,430px);padding:38px;border:1px solid #d8e7e9;border-radius:16px;background:#fff;box-shadow:0 24px 60px #073b701a}.login-card h2{font-size:30px;letter-spacing:-.03em;margin-bottom:10px}.login-card>.muted{font-size:15px;margin-bottom:28px}.login-card label{display:block;font-size:14px;font-weight:600;margin:18px 0}.login-card label input{margin-top:8px;font-weight:400}.password-field{position:relative}.password-field input{padding-right:92px}.password-field button{position:absolute;right:4px;top:13px;border:0;color:var(--muted);font-size:12px;background:transparent}.login-submit{width:100%;margin-top:8px;display:flex;align-items:center;justify-content:space-between;padding:13px 16px}.login-help{margin-top:35px;border-top:1px solid var(--line);padding-top:22px;font-size:13px;color:var(--muted)}.login-help strong{color:#52677f;font-size:13px}.login-help p{line-height:1.9;margin:9px 0}.login-help small{font-size:12px}.error-message{color:var(--red-error);background:var(--red-error-bg);padding:10px;border-radius:6px;font-size:14px}.field-error{display:block;margin-top:6px;color:var(--red-error);font-size:12px;line-height:1.45}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--red-error);background:var(--red-error-bg)}.vehicle-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reference-combobox{position:relative}.reference-options{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 18px 40px #1e2a3a29}.reference-options>button{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.reference-options>button:hover,.reference-options>button:focus-visible{background:var(--soft)}.reference-options>button small{color:var(--muted)}.reference-options>.reference-create{position:sticky;bottom:0;margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 8px 8px;background:var(--paper);color:var(--blue);font-weight:700}.vehicle-model-dialog{width:min(680px,calc(100vw - 32px))}@media(max-width:680px){.vehicle-reference-grid{grid-template-columns:1fr}}.connection-error{position:fixed;bottom:20px;left:20px;background:var(--red-error-bg);color:#a33535;padding:15px;font-size:14px}@media(min-width:1500px){.vehicle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:760px)and (max-width:1100px){.workspace{--left: 180px !important;--right: 270px !important}.workspace.menu-off{--left: 48px !important}.workspace.state-off{--right: 48px !important}.workspace.work-off{grid-template-columns:var(--left) 5px 48px 5px minmax(var(--right),1fr)}.form-grid{grid-template-columns:1fr}.topbar{gap:16px}.brand-topbar .brand-logo{width:180px}.brand-context{display:none}.brand small,.user-chip small,.document-toolbar>span{display:none}.list-heading{flex-wrap:wrap}.route-action{position:static}}@media(max-width:759px){.topbar{height:64px;padding:0 12px;gap:10px}.brand-topbar .brand-logo{width:160px}.brand-context,.user-chip .avatar,.user-chip>div,.role-badge{display:none}.logout-btn{margin:0}.workspace,.workspace.work-off{display:flex}.splitter{display:none}.area{flex:1}.area.collapsed{display:none}.mobile-panels{display:flex;gap:0;flex:none;background:#e8f3f4;border-bottom:1px solid #cfe3e5}.mobile-panels button{flex:1;border:0;background:transparent;border-radius:0;font-size:13px;padding:9px 2px}.area-head{height:40px}.list-heading{padding:20px 16px;flex-wrap:wrap}.list-heading h1{font-size:23px}.list-toolbar,.list-hint{margin-inline:16px}.document-panel{padding:20px 16px 0}.document-toolbar{padding:12px 16px;flex-wrap:wrap}.document-toolbar>span:not(.unsaved){display:none}.document-toolbar>.unsaved{display:block;order:3;width:100%;margin:0}.document-head{align-items:flex-start;flex-wrap:wrap}.document-head h2>.muted{display:block}.form-grid,.selected-vehicle-control{grid-template-columns:1fr}.route-action{position:static;margin:24px -16px 0;padding:16px}.action-buttons,.action-buttons button{width:100%}.action-buttons{flex-wrap:wrap}.table-actions{align-items:flex-start;gap:8px}.table-actions .add-row{font-size:12px}.total strong{font-size:20px}.total span{font-size:12px}.login-page{display:block}.login-intro{min-height:auto;padding:22px}.login-title,.login-note{display:none}.login-side{padding:36px 22px}.login-card{padding:28px 24px}.brand-login{padding:12px 14px}.login-card h2{font-size:27px}.history-entry{grid-template-columns:1fr;gap:5px}.import-banner{align-items:flex-start;flex-direction:column}.save-status{font-size:12px}.virtual-tab{min-width:145px}.preview-content{padding:20px}.toast{right:16px;bottom:16px}.feature-card{padding:12px}.attachment-list li,.inline-form{display:block}.inline-form>*{margin:6px 0}.person-assignment-picker,.person-assignment-picker select{width:100%;min-width:0}}@media(max-width:760px){.feature-card{padding:12px}.document-head,.action-buttons{flex-wrap:wrap}.attachment-list li,.inline-form{display:block}.inline-form>*{margin:6px 0}}
