@font-face{font-family:Open Sans;src:url(fonts/open-sans-400-normal-latin.woff2) format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Open Sans;src:url(fonts/open-sans-600-normal-latin.woff2) format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Open Sans;src:url(fonts/open-sans-700-normal-latin.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--red:#e60005;--dark:#002d55;--blue:#2276d0;--line:#dce1e5;--muted:#596773;--surface:#f4f6f8;--bs-body-font-family:'Open Sans',Arial,sans-serif;--bs-primary:var(--red);--bs-primary-rgb:230,0,5;--primary-hover:#bd0004;--bs-link-color:var(--red);--bs-link-color-rgb:var(--bs-primary-rgb);--bs-link-hover-color:var(--primary-hover);--bs-link-hover-color-rgb:189,0,4;--bs-border-radius:.35rem;--bs-body-color:#253440}*{box-sizing:border-box}body{min-height:100svh;display:flex;flex-direction:column;background:var(--surface);font-size:1rem}a{color:var(--bs-link-color)}a:hover{color:var(--bs-link-hover-color)}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #2276d0;outline-offset:3px}.site-header{background:white;border-bottom:1px solid var(--line)}.site-header-inner{max-width:1360px;margin:auto;min-height:88px;padding:16px 32px;display:flex;align-items:center;gap:28px}.brand{width:300px;max-width:48%;display:block}.brand img{width:100%;height:auto;display:block}.header-context{border-left:1px solid var(--line);padding-left:28px;line-height:1.5;color:var(--muted);font-size:.875rem}.header-context strong{display:block;color:var(--dark);font-size:1rem}#account{margin-left:auto}.account-btn{border:0;background:#f1f4f6;padding:9px 14px;display:flex;align-items:center;gap:10px;border-radius:5px;color:var(--dark)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--dark);color:white;display:grid;place-items:center;font-size:.8rem;font-weight:700}.app-nav{background:#fff;border-bottom:1px solid var(--line)}.nav-inner{max-width:1360px;margin:auto;padding:0 32px;display:flex;gap:28px;overflow-x:auto}.app-nav a{padding:18px 0 15px;color:#4e5d69;text-decoration:none;white-space:nowrap;font-size:.925rem;font-weight:600;border-bottom:1px solid transparent;display:flex;gap:8px;align-items:center}.app-nav a.active{color:var(--red);border-color:var(--red)}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:-4px}.icon-lg{width:30px;height:30px}#main{flex:1;width:100%;max-width:1360px;margin:auto;padding:32px;outline:none}h1{font-size:1.85rem;font-weight:700;letter-spacing:-.04em;color:var(--dark);margin-bottom:.45rem}h2{font-size:1.2rem;font-weight:700;color:var(--dark)}h3{font-size:1rem;font-weight:700;color:var(--dark)}.eyebrow{font-weight:700;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;color:var(--red);margin-bottom:12px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.page-heading p{margin:0;color:var(--muted);font-size:.95rem}.btn{font-weight:600;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 17px;font-size:.9rem}.btn-sm{min-height:34px;padding:5px 10px;font-size:.85rem}.btn-primary{--bs-btn-bg:var(--red);--bs-btn-border-color:var(--red);--bs-btn-hover-bg:var(--primary-hover);--bs-btn-hover-border-color:var(--primary-hover);--bs-btn-active-bg:var(--primary-hover);--bs-btn-active-border-color:var(--primary-hover);--bs-btn-disabled-bg:var(--red);--bs-btn-disabled-border-color:var(--red);--bs-btn-focus-shadow-rgb:var(--bs-primary-rgb)}.btn-outline-secondary{--bs-btn-color:#405465;--bs-btn-border-color:#bcc6ce;--bs-btn-hover-bg:#edf2f6;--bs-btn-hover-color:var(--dark);--bs-btn-active-bg:#e1e8ee;--bs-btn-active-color:var(--dark)}.btn-link{text-decoration:none;--bs-btn-color:var(--red);--bs-btn-hover-color:var(--primary-hover);--bs-btn-active-color:var(--primary-hover);--bs-btn-focus-shadow-rgb:var(--bs-primary-rgb)}.panel{border:1px solid var(--line);border-radius:7px;background:white;overflow:hidden}.panel-header{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px}.panel-header h2{margin:0}.panel-body{padding:22px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.metric{padding:22px;background:white;border:1px solid var(--line);border-radius:6px;display:flex;justify-content:space-between;gap:12px;text-decoration:none;color:inherit;transition:border-color .15s}.metric:hover{border-color:#91a0ab}.metric-number{font-size:2rem;color:var(--dark);font-weight:700;line-height:1.25}.metric-label{font-size:.9rem;margin:6px 0 0;color:var(--muted)}.metric-icon{background:#edf3f8;color:var(--dark);width:43px;height:43px;border-radius:8px;display:grid;place-items:center}.metric.danger .metric-number{color:#ba1a24}.metric.danger .metric-icon{color:#ba1a24;background:#fff0f0}.metric.warning .metric-number{color:#926000}.metric.warning .metric-icon{color:#926000;background:#fff6dc}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:24px}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:4px;font-size:.825rem;white-space:nowrap;font-weight:600;background:#edf2f5;color:#4c6070}.status-pill.danger{background:#feecee;color:#a61b27}.status-pill.warning{background:#fff4d4;color:#795300}.status-pill.success{background:#e9f5ef;color:#206747}.status-pill.blue{background:#eaf2fb;color:#1b5b97}.muted{color:var(--muted)}.small{font-size:.85rem}.count{border-radius:4px;background:#eef2f5;padding:2px 8px;color:#546574;font-size:.85rem}.vehicle-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.vehicle-card{border:1px solid var(--line);border-radius:6px;padding:20px;background:white}.vehicle-card .top{display:flex;gap:15px;align-items:center;margin-bottom:20px}.vehicle-icon{width:48px;height:48px;display:grid;place-items:center;background:#eff3f7;border-radius:6px;color:var(--dark)}.vehicle-card h3{margin:0 0 4px;font-size:1.2rem}.vehicle-stats{display:flex;gap:18px;border-top:1px solid var(--line);padding-top:16px;margin-top:12px;font-size:.85rem}.vehicle-stats strong{display:block;font-size:1.15rem;color:var(--dark);margin-bottom:3px}.attention-row{padding:17px 22px;border-bottom:1px solid #edf0f3;display:flex;align-items:flex-start;gap:14px;text-decoration:none;color:inherit}.attention-row:last-child{border-bottom:0}.attention-row:hover{background:#fafbfc}.attention-row p{margin:3px 0 0;font-size:.85rem;color:var(--muted)}.attention-row strong{font-size:.9rem}.attention-row .status-pill{margin-left:auto}.toolbar{padding:18px 20px;display:flex;gap:12px;align-items:end;border-bottom:1px solid var(--line);flex-wrap:wrap}.toolbar .search-wrap{flex:1;min-width:220px}.toolbar label{font-size:.8rem;color:var(--muted);margin-bottom:6px;display:block}.toolbar select{max-width:260px}.form-control,.form-select{min-height:43px;border-color:#b8c3cb;border-radius:4px;font-size:.95rem;padding:9px 12px;color:#273a49;background-color:white}.form-control:focus,.form-select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2276d025}.form-label{font-size:.9rem;font-weight:600;margin-bottom:7px}.field{margin-bottom:18px}.field-help{font-size:.82rem;color:var(--muted);margin-top:6px;display:block}.field-error{color:#b51a28;font-size:.875rem;display:block;margin-top:6px}.field-error:empty{display:none}.global-error{padding:12px 15px;background:#fff0f1;margin-bottom:16px;color:#a11825}.global-error:empty{display:none}.tabs-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.filter-chip{text-decoration:none;border:1px solid var(--line);border-radius:5px;background:white;color:#536371;padding:8px 13px;font-size:.875rem;display:flex;gap:8px;align-items:center}.filter-chip.active{border-color:var(--dark);background:var(--dark);color:white}.filter-chip.active .count{background:#ffffff25;color:white}.table{margin:0;font-size:.9rem;--bs-table-hover-bg:#f7f9fb}.table thead th{font-size:.8rem;font-weight:600;background:#f8fafb;color:#526471;padding:13px 18px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:15px 18px;border-bottom-color:#edf0f2;vertical-align:middle}.table .item-name{font-weight:600;display:block;color:#243d52;max-width:390px;text-decoration:none;line-height:1.5}.table .item-name:hover{color:var(--red)}.table .meta{display:block;font-size:.79rem;color:var(--muted);margin-top:4px;max-width:370px}.table .num{font-variant-numeric:tabular-nums;white-space:nowrap}.table .num b{font-weight:700}.table .row-action{display:flex;gap:5px;justify-content:end}.table .row-action .btn{padding:6px 8px}.table-footer{padding:15px 20px;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--muted);gap:15px}.pagination-controls{display:flex;gap:8px;align-items:center}.empty-state{text-align:center;padding:55px 20px;color:var(--muted)}.empty-state h3{margin:16px 0 8px}.empty-state > .icon{width:38px;height:38px;color:#90a0ac}.note-box{border:1px solid #dbe7f1;background:#f3f8fc;border-radius:5px;padding:15px 18px;font-size:.9rem;line-height:1.65;color:#365775}.section-gap{margin-top:26px}.form-section{margin:6px 0 20px;padding-top:18px;border-top:1px solid var(--line)}.form-section h3{margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-grid .full{grid-column:1/-1}.check-block{border:1px solid var(--line);border-radius:5px;padding:16px;margin:12px 0}.check-heading{display:flex;gap:10px;align-items:center;font-weight:600;margin-bottom:8px}.check-heading input{width:18px;height:18px;accent-color:var(--red)}.check-fields{padding-top:12px}.modal-content{border:0;box-shadow:0 20px 70px #002d5525;border-radius:8px}.modal-header{padding:21px 26px;border-bottom:1px solid var(--line)}.modal-title{font-size:1.2rem;font-weight:700;color:var(--dark);position:relative;top:.15rem}.modal-body{padding:24px 26px}.modal-footer{padding:16px 26px;background:#fafbfc}.modal-dialog-scrollable .modal-content{max-height:95svh}.modal .form-section:first-child{border-top:0;padding-top:0}.auth-layout{max-width:1020px;margin:35px auto;display:grid;grid-template-columns:.88fr 1.12fr;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 8px 28px #002d5507}.auth-layout>.panel-body:only-child{grid-column:1/-1}.auth-aside{background:var(--dark);color:white;padding:46px 36px;display:flex;flex-direction:column}.auth-aside h2{color:white;font-size:1.8rem;line-height:1.35;letter-spacing:-.035em;margin:20px 0}.auth-aside p{color:#d1deea;line-height:1.75;font-size:.95rem}.auth-aside .eyebrow{color:#d1deea;margin-top:32px}.auth-aside .shield{width:56px;height:56px;display:grid;place-items:center;border:1px solid #ffffff40;border-radius:12px}.auth-aside .shield .icon{width:30px;height:30px}.auth-checklist{margin-top:auto;padding-top:30px;display:grid;gap:14px;font-size:.875rem}.auth-checklist div{display:flex;gap:10px;align-items:center}.auth-content{padding:44px 42px}.auth-content h1{font-size:1.75rem;line-height:1.3}.auth-content>p{color:var(--muted);font-size:.9rem;margin:12px 0 28px;line-height:1.7}.auth-content .btn-primary{width:100%;margin-top:8px}.auth-bottom{font-size:.8rem;color:var(--muted);text-align:center;margin-top:18px}.site-footer{background:#e9edf0;border-top:1px solid #dce2e7;margin-top:30px;color:#576773;font-size:.825rem}.footer-inner{max-width:1360px;margin:auto;padding:25px 32px;display:flex;justify-content:space-between;gap:15px}.site-footer nav{display:flex;gap:25px}.site-footer a{color:#465c6e;text-decoration:none}.notification{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 22px;background:var(--dark);color:white;border-radius:6px;box-shadow:0 8px 28px #002d5530;z-index:2000;max-width:calc(100% - 32px)}.initial-state{display:grid;place-items:center;min-height:50vh}.skip-link{position:fixed;top:-100px;left:10px;background:white;padding:15px;z-index:3000}.skip-link:focus{top:10px}.location-tree{padding:10px 22px}.location-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #edf0f3}.location-row:last-child{border-bottom:0}.location-row .location-info{flex:1;min-width:0}.location-row strong{font-size:.95rem;color:var(--dark)}.location-row .indent{width:calc(var(--level,0)*24px)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-grid dt{font-size:.825rem;color:var(--muted);font-weight:400;margin-bottom:4px}.detail-grid dd{margin:0;font-size:.95rem}.pre-line{white-space:pre-wrap;overflow-wrap:anywhere}.danger-text{color:#b31c27}.nowrap{white-space:nowrap}.search-results-info{min-height:20px}.table-responsive{min-height:100px}.history-list{max-height:430px;overflow:auto}.history-entry{padding:12px 0;border-bottom:1px solid var(--line);font-size:.875rem}.history-entry p{margin:4px 0 0}.hint-link{background:none;border:0;padding:0;color:#1765b0;text-decoration:none;font-size:.85rem}.form-check-input:checked{background-color:var(--red);border-color:var(--red)}.nav-counter{font-size:.75rem;background:#fff0f0;color:#b51a28;padding:1px 6px;border-radius:4px}.help-details summary{font-size:.875rem;font-weight:600;cursor:pointer;color:#1b5b97}.help-details p{font-size:.875rem;color:var(--muted);line-height:1.7;margin-top:12px}.mobile-only{display:none}
.location-link{display:flex;flex:1;align-items:center;gap:14px;min-width:0;padding:8px;border-radius:5px;text-decoration:none;color:inherit}.location-link:hover,.location-link:focus-visible{background:#f1f6fa;color:var(--dark);text-decoration:none}.location-link:hover strong{color:#1765b0}.location-meta{display:block;margin-top:4px;overflow-wrap:anywhere}.location-arrow{color:var(--muted);margin-left:auto}.location-breadcrumbs{margin-bottom:20px;font-size:.875rem}.location-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:7px 0;list-style:none;padding:0;margin:0}.location-breadcrumbs li{display:flex;align-items:baseline;overflow-wrap:anywhere}.location-breadcrumbs li+li::before{content:'›';color:#778793;margin:0 11px}.location-breadcrumbs [aria-current]{color:var(--dark);font-weight:600}.location-navigation{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.back-arrow{transform:rotate(180deg)}.vehicle-card h3 a{color:inherit;text-decoration:none}.vehicle-card h3 a:hover{color:#1765b0}.location-row{padding:7px 0}.location-row .vehicle-icon{flex-shrink:0}.location-row>.btn{flex-shrink:0}
@media(max-width:700px){.location-link{gap:10px;padding:9px 3px}.location-link .vehicle-icon{width:34px;height:38px}.location-link .location-arrow{display:none}.location-row strong{font-size:.875rem}.location-breadcrumbs{font-size:.825rem}.location-breadcrumbs li+li::before{margin:0 7px}}
.level-1{--level:1}.level-2{--level:2}.level-3{--level:3}.level-4{--level:4}.level-5{--level:5}.level-6{--level:6}
/* Shared by customer and operator pages. Improve prose without changing
   whitespace preservation, single-line controls, tables or editable values.
   Unsupported browsers retain their existing wrapping. */
:where(p, li, dd, blockquote, .field-help, .field-error, .global-error,
       .form-text, .note-box, .modal-live-note, .live-status, .demo-strip,
       .export-format small, .export-checkbox small, .auth-bottom,
       .mfa-explanation, .health-row > span) {
  text-wrap-style: pretty;
}
:where(h1, h2, h3, h4, h5, h6, legend) {
  text-wrap-style: balance;
}
:where(input, textarea, select, pre, code, [contenteditable="true"]) {
  text-wrap-style: auto;
}
@media(min-width:1600px){#main{padding-top:40px}.auth-layout{margin-top:55px}}@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr}.nav-inner{gap:22px}.header-context{display:none}.auth-layout{grid-template-columns:.85fr 1.15fr}.auth-aside{padding:35px 26px}.auth-content{padding:35px 28px}.metrics{gap:12px}.metric{padding:18px 15px}.metric-icon{display:none}}@media(max-width:700px){.site-header-inner{padding:16px 18px;min-height:77px;gap:10px}.brand{width:245px;max-width:68%}.account-name{display:none}.account-btn{padding:5px}.nav-inner{padding:0 18px;gap:22px}.app-nav a{font-size:.85rem;padding:14px 0 12px}.app-nav .icon{display:none}#main{padding:24px 16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:1.5rem}.page-heading .btn{padding:9px 12px;white-space:nowrap}.page-heading p{font-size:.875rem}.metrics{grid-template-columns:1fr 1fr;margin-bottom:20px}.metric-number{font-size:1.7rem}.metric-label{font-size:.8rem}.vehicle-list{grid-template-columns:1fr}.dashboard-grid{gap:18px}.panel-header,.panel-body{padding:18px}.toolbar{padding:15px;gap:10px}.toolbar .search-wrap{width:100%;flex-basis:100%}.toolbar>div{flex:1;min-width:140px}.toolbar select{max-width:none}.tabs-filter{gap:6px}.filter-chip{font-size:.8rem;padding:7px 10px}.table td,.table thead th{padding:12px}.table-footer{padding:13px;flex-wrap:wrap}.auth-layout{display:block;margin:0 auto}.auth-aside{padding:25px}.auth-aside .shield,.auth-checklist{display:none}.auth-aside .eyebrow{margin:0}.auth-aside h2{font-size:1.4rem;margin:12px 0}.auth-aside p{font-size:.875rem;margin:0}.auth-content{padding:27px 24px}.auth-content h1{font-size:1.5rem}.form-grid{grid-template-columns:1fr;gap:0}.modal-body{padding:20px}.modal-header,.modal-footer{padding:16px 20px}.footer-inner{padding:20px 18px;flex-direction:column;font-size:.8rem}.footer-sub{display:none}.location-tree{padding:0 12px}.location-row{gap:8px}.location-row .location-info .small{font-size:.75rem}.location-row .indent{display:none}.location-row .btn{padding:5px}.detail-grid{grid-template-columns:1fr}.hide-mobile{display:none}}@media print{header,#navigation,.site-footer,.toolbar,.tabs-filter,.page-heading .btn,.row-action,.table-footer,#account{display:none!important}#main{max-width:none;padding:0}.panel{border:0}.table-responsive{overflow:visible}.table{font-size:10pt}.status-pill{border:1px solid #aaa}.metrics{grid-template-columns:repeat(4,1fr)}}
/* Keep absolutely positioned accessible table labels inside the scroll area. */
.table-responsive{position:relative}

.location-kind-preview{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--dark);margin:-10px 0 18px}
.check-history{border-top:1px solid var(--line);padding-top:18px}
.check-history summary{font-size:1rem;font-weight:700;color:var(--dark);cursor:pointer}
.check-history-list{list-style:none;margin:16px 0 12px;padding:0}
.check-history-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:.875rem}
.check-history-list li:first-child{padding-top:0}
.check-history-list strong{margin-left:10px;font-size:.875rem}
.check-history-list .meta{display:block;margin-top:5px;color:var(--muted);font-size:.8rem}
.check-history-list p{margin:8px 0 0;line-height:1.6}
