:root{--bg:#f4f8fb;--surface:#fff;--text:#102132;--muted:#66788a;--line:#dbe5ed;--brand:#1597d4;--brand-strong:#087bb3;--danger:#b42318;--success:#117a47;--radius:16px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(440px,100%);padding:28px;box-shadow:0 16px 50px #1f415a14}.brand{letter-spacing:.2px;align-items:center;gap:10px;margin-bottom:22px;font-weight:800;display:flex}.brand-mark{background:linear-gradient(135deg, var(--brand), #5fc5ef);color:#fff;border-radius:11px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}h1{margin:0 0 8px;font-size:28px}.muted{color:var(--muted)}.form{gap:16px;margin-top:24px;display:grid}.field{gap:7px;display:grid}.field label{font-size:14px;font-weight:700}.field input,.field select{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:12px 13px}.btn{border:0;border-radius:10px;padding:12px 15px;font-weight:800}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-strong)}.btn-secondary{border:1px solid var(--line);color:var(--text);background:#fff}.alert{border-radius:10px;margin-top:16px;padding:11px 12px;font-size:14px}.alert-error{color:var(--danger);background:#fff1f0;border:1px solid #ffd0cc}.alert-success{color:var(--success);background:#edf9f2;border:1px solid #c9efd8}.app-shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:#0d2638;flex-direction:column;gap:24px;padding:22px 16px;display:flex}.sidebar nav{gap:8px;display:grid}.sidebar a{color:#d9e8f2;border-radius:9px;padding:10px 12px}.sidebar a:hover{background:#ffffff14}.sidebar-footer{gap:10px;margin-top:auto;display:grid}.main{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:14px 24px;display:flex}.page{padding:28px}.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:20px}.kpi{margin-top:10px;font-size:30px;font-weight:900}.role-badge,.demo-badge{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.role-badge{color:#076b9c;background:#e8f5fb}.demo-badge{color:#8b5b00;background:#fff4d9}.table-wrap{margin-top:18px;overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:12px}.empty-state{color:var(--muted);padding:24px}.inline-actions{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.page,.topbar{padding:18px}.card-grid{grid-template-columns:1fr}}textarea{font:inherit;resize:vertical}.field textarea{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:12px 13px}.page-narrow{max-width:1180px}.page-wide{max-width:1600px}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.page-heading h1{margin-bottom:6px}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.section-heading h2,.section-card h2{margin:0 0 6px;font-size:20px}.section-card{padding:22px}.section-gap{margin-top:22px}.eyebrow{color:var(--brand-strong);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:12px;font-weight:900}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.form-span-2{grid-column:span 2}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-bar{border:1px solid var(--line);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:end;gap:12px;margin-top:20px;padding:16px;display:flex}.filter-bar .field{min-width:190px}.filter-search{flex:340px}.checkbox-field{min-height:42px;color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.checkbox-field input{width:16px;height:16px}.table-card{border-radius:var(--radius);padding:0}.table-card table{border-radius:var(--radius);overflow:hidden}.table-link{color:var(--brand-strong);font-weight:800}.table-link:hover{text-decoration:underline}.strong-cell{font-weight:800}.mono{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.small{font-size:12px}.small-strong{font-size:14px;line-height:1.35}.btn-ghost{color:var(--muted);background:0 0;border:0;padding:12px 8px}.btn-link{color:var(--brand-strong);background:0 0;border:0;padding:4px 6px;font-weight:800}.btn-danger-outline{color:var(--danger);background:#fff;border:1px solid #f0b8b3}.danger-text{color:var(--danger)}.content-grid{gap:20px;display:grid}.content-grid-main{grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);align-items:start}.stack{gap:20px;display:grid}.compact-form{align-items:center;gap:8px;margin-top:16px;display:flex}.compact-form input,.compact-form select{border:1px solid var(--line);border-radius:9px;flex:1;min-width:0;padding:10px 11px}.stack-list{border-top:1px solid var(--line);margin-top:14px;display:grid}.list-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:11px 0;display:flex}.compact-empty{padding:16px 0}.detail-list{gap:11px;margin:12px 0 0;display:grid}.detail-list>div{border-bottom:1px solid var(--line);gap:4px;padding-bottom:10px;display:grid}.detail-list dt{color:var(--muted);font-size:12px;font-weight:700}.detail-list dd{word-break:break-word;margin:0;font-weight:800}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.summary-card{border:1px solid var(--line);background:#fff;border-radius:14px;gap:7px;padding:16px;display:grid}.summary-card strong{font-size:18px}.summary-card small{color:var(--muted)}.status-pill{border:1px solid #0000;border-radius:999px;align-items:center;width:fit-content;padding:5px 9px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.status-neutral{color:#526575;background:#eef3f6;border-color:#dfe7ec}.status-success{color:#117a47;background:#edf9f2;border-color:#c9efd8}.status-warning{color:#8a5b00;background:#fff7e3;border-color:#f2dfac}.status-danger{color:var(--danger);background:#fff1f0;border-color:#ffd0cc}.status-info{color:#076b9c;background:#e8f5fb;border-color:#cfeaf7}.inline-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kpi-small{font-size:18px;line-height:1.5}.registration-form,.document-form{border-top:1px solid var(--line);margin-top:14px;padding-top:8px}@media (max-width:1150px){.content-grid-main{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.form-grid{grid-template-columns:1fr}.form-span-2{grid-column:auto}.summary-grid{grid-template-columns:1fr}.compact-form{flex-direction:column;align-items:stretch}.filter-bar{align-items:stretch}.filter-bar .field{min-width:100%}}.field-help{color:var(--muted);font-size:12px;line-height:1.35}.registration-verification{border:1px solid var(--line);border-radius:10px;gap:3px;min-height:44px;padding:9px 11px;display:grid}.registration-verification strong{font-size:14px}.registration-verification span{font-size:12px;line-height:1.35}.registration-verification-unknown{color:#526575;background:#f5f8fa}.registration-verification-suggested{color:#785000;background:#fff7e3;border-color:#f2dfac}.registration-verification-confirmed{color:#117a47;background:#edf9f2;border-color:#c9efd8}.registration-confirm-field{align-content:start}.registration-confirm-actions{min-height:44px}.confirmed-copy{color:#117a47;font-weight:800}.archive-fieldset{border:0;min-width:0;margin:0;padding:0;display:contents}.archive-fieldset:disabled .field input,.archive-fieldset:disabled .field select,.archive-fieldset:disabled .field textarea{color:#657684;cursor:not-allowed;background:#f3f6f8}.archive-lock-note{color:#785000;background:#fff7e3;border:1px solid #f2dfac;border-radius:12px;gap:4px;margin:18px 0;padding:13px 15px;display:grid}.archive-lock-note strong{font-size:14px}.archive-lock-note span{font-size:13px;line-height:1.4}.compact-lock{margin:0}.contract-form{margin-top:14px}.contract-subheading{border-top:1px solid var(--line);margin-top:4px;padding:14px 0 2px;font-size:16px}.contract-price-preview{background:#eef7fb;border:1px solid #cfe8f5;border-radius:12px;flex-wrap:wrap;align-items:center;gap:18px;padding:14px 16px;display:flex}.contract-price-preview span{color:#456171}.contract-price-preview b{color:var(--text)}.contract-driver-card{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.contract-driver-card:first-of-type{margin-top:8px}.compact-driver-form{margin-top:12px}.equipment-edit-cell{min-width:520px}.equipment-inline-form{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto;align-items:center;gap:8px;display:grid}.equipment-inline-form input{border:1px solid var(--line);border-radius:9px;width:100%;padding:9px 10px}@media (max-width:700px){.equipment-inline-form{grid-template-columns:1fr}.equipment-edit-cell{min-width:260px}.contract-price-preview{gap:8px;display:grid}}.field-disabled-by-type{opacity:.48}.field-disabled-by-type input,.field-disabled-by-type select,.field-disabled-by-type textarea{cursor:not-allowed}.customer-type-help{margin-top:-.25rem}.dashboard-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-kpi-link{transition:transform .12s,box-shadow .12s,border-color .12s;display:block}.dashboard-kpi-link:hover{border-color:#bdddea;transform:translateY(-1px);box-shadow:0 8px 24px #1f415a0f}.deadline-result-bar{align-items:baseline;gap:8px;margin:16px 2px 6px;display:flex}.deadline-result-bar strong{font-size:20px}.deadline-help{margin-top:12px}@media (max-width:1200px){.dashboard-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.dashboard-card-grid{grid-template-columns:1fr}}.form-subsection{border:1px solid var(--line);border-radius:12px;min-width:0;margin:6px 0 0;padding:16px}.form-subsection legend{color:var(--text);padding:0 8px;font-weight:800}.insurance-toggle-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.insurance-inline-grid{margin-top:8px}.insurance-policy-form{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}@media (max-width:760px){.insurance-toggle-row{flex-direction:column;align-items:flex-start}}.btn-compact{white-space:nowrap;padding:8px 10px;font-size:12px}.vehicle-card-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:14px 16px;display:flex}.vehicle-card-filter-tabs,.vehicle-card-search-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vehicle-card-search-group{flex:520px;justify-content:flex-end}.vehicle-card-search-group>input[type=text],.vehicle-card-search-group>input:not([type]){border:1px solid var(--line);border-radius:10px;flex:320px;min-width:240px;padding:11px 12px}.compact-check{min-height:38px}.vehicle-card-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin-top:14px;padding:0;display:grid;overflow:hidden}.vehicle-card-summary>div{border-right:1px solid var(--line);gap:6px;padding:16px 18px;display:grid}.vehicle-card-summary>div:last-child{border-right:0}.vehicle-card-summary span{color:var(--muted);font-size:12px;font-weight:700}.vehicle-card-summary strong{font-size:20px}.vehicle-management-table{margin-top:14px}.vehicle-management-table th{color:#fff;background:#0f5787;border-bottom-color:#0f5787}.vehicle-management-row td{vertical-align:middle}.vehicle-management-active td{background:#f2fbf6}.vehicle-management-inactive td{background:#fffdf7}.vehicle-management-incomplete td{background:#f8fafb}.vehicle-overview-alerts{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.vehicle-overview-alert{border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800}.vehicle-overview-alert.alert-danger{color:var(--danger);background:#fff1f0;border-color:#ffd0cc}.vehicle-overview-alert.alert-warning{color:#8a5b00;background:#fff7e3;border-color:#f2dfac}.vehicle-overview-alert.alert-neutral{color:#526575;background:#eef3f6;border-color:#dfe7ec}.vehicle-overview-alert.alert-success{color:#117a47;background:#edf9f2;border-color:#c9efd8}.vehicle-overview-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.vehicle-overview-kpi{gap:7px;min-height:126px;display:grid}.vehicle-overview-kpi>span{color:var(--muted);font-size:12px;font-weight:700}.vehicle-overview-kpi strong{font-size:17px;line-height:1.3}.vehicle-overview-kpi small{color:var(--muted);line-height:1.35}.vehicle-overview-answer p{margin:8px 0 0;line-height:1.65}.vehicle-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.vehicle-overview-driver-list{gap:8px;margin-top:14px;display:grid}.vehicle-overview-driver-list>div{border:1px solid var(--line);background:#f8fbfd;border-radius:10px;justify-content:space-between;gap:14px;padding:10px 12px;display:flex}.vehicle-overview-driver-list span{color:var(--muted);font-size:12px}.future-module-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.vehicle-overview-actions{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:1280px){.vehicle-card-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-card-summary>div:nth-child(3n){border-right:0}.vehicle-overview-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.vehicle-card-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-card-summary>div{border-right:0;border-bottom:1px solid var(--line)}.vehicle-overview-kpis,.vehicle-overview-grid{grid-template-columns:1fr}.vehicle-card-search-group{justify-content:flex-start}}
