:root{--navy:#071523;--blue:#1f6fd1;--line:#d8e0e8;--bg:#f5f7fa;--text:#142033;--muted:#6b7789}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}aside{background:linear-gradient(180deg,#071523,#0d2a45);color:#fff;padding:20px;display:flex;flex-direction:column;gap:18px}aside img{width:100%;height:100px;object-fit:contain;background:#fff;border-radius:12px;padding:8px}aside h2{margin:0}aside span{color:#5bb5ff}nav{display:grid;gap:8px}nav button,#logout{border:0;border-radius:9px;padding:12px;text-align:left;background:transparent;color:#d9e7f3;font-weight:700}nav button.active,nav button:hover{background:#1766b3;color:#fff}#logout{margin-top:auto;border:1px solid #58728b}main{padding:28px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}header h1{margin:0}header p{margin:4px 0;color:var(--muted)}.view,.card,.stats>div{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 24px rgba(14,30,49,.06)}.view{padding:20px}.card{padding:18px;margin-bottom:16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.stats>div{padding:18px;display:grid;gap:5px}.stats strong{font-size:32px}.stats small{color:var(--muted)}label{display:block;margin:12px 0 5px;font-weight:700}input,select,textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;margin-bottom:8px}.primary,.head button,td button,.actions button{border:0;border-radius:9px;padding:10px 12px;font-weight:800;cursor:pointer}.primary,.head button{background:var(--blue);color:#fff}.head{display:flex;justify-content:space-between;align-items:center}.table{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left}th{background:#edf3f8}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.active{background:#e8f7ef;color:#187944}.inactive{background:#eef1f4;color:#56606b}.suspended{background:#fff2d8;color:#9a6100}.terminated{background:#fde7e7;color:#a52a2a}#auditList,#recentEntries,#statusSummary{display:grid;gap:10px}.item{border:1px solid var(--line);border-radius:10px;padding:12px}.item small{color:var(--muted)}dialog{border:0;border-radius:14px;padding:0;box-shadow:0 20px 60px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(0,0,0,.45)}dialog form{width:min(420px,90vw);padding:20px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}@media(max-width:850px){.shell{grid-template-columns:1fr}aside nav{grid-template-columns:repeat(3,1fr)}main{padding:16px}.stats{grid-template-columns:1fr 1fr}}@media(max-width:520px){aside nav{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr}header b{display:none}}
.auth-box{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:11px;background:#f7faff}.auth-box h4{margin:0 0 8px}.auth-box small,.auth-box label span,.credential-status{color:var(--muted);font-weight:400}.password-row{display:grid;grid-template-columns:1fr auto;gap:8px}.password-row button,#unlockUser{border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-weight:700}.check-row{display:flex;align-items:center;gap:8px}.check-row input{width:auto;margin:0}.credential-status{margin:10px 0;line-height:1.5}
.date-entry{display:grid;grid-template-columns:62px 14px 62px 14px 92px;align-items:center;gap:4px;margin-bottom:8px}.date-entry input{margin:0!important;text-align:center;padding:10px 6px!important}.date-entry span{text-align:center;color:var(--muted);font-weight:700}.danger{background:#b4232f!important;color:#fff!important;border-color:#8f1b25!important}.danger:hover{background:#921c26!important}
.profile-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.profile-filters button{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);padding:8px 14px;font-weight:750;cursor:pointer}.profile-filters button.active{background:var(--blue);border-color:var(--blue);color:#fff}.profile-card{width:min(620px,92vw);padding:22px}.profile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line)}.profile-card-head h3{font-size:26px;margin:3px 0}.profile-card-head p,.profile-card-head small{margin:0;color:var(--muted)}.profile-card-head button{border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.profile-grid>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.profile-grid .wide{grid-column:1/-1}.profile-grid small{display:block;margin-bottom:5px;color:var(--muted)}.profile-grid strong{overflow-wrap:anywhere}.profile-card>.actions{grid-template-columns:1fr}.profile-card>.actions button{background:var(--blue);color:#fff}@media(max-width:520px){.profile-grid{grid-template-columns:1fr}.profile-grid .wide{grid-column:auto}}
.two-column-form{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.truck-profile-table{min-width:1050px}.truck-sub{display:block;color:var(--muted);font-size:12px;margin-top:3px}.truck-compliance{display:block;white-space:nowrap;font-size:12px}.truck-compliance+.truck-compliance{margin-top:6px}.truck-countdown{display:block;font-size:11px;color:var(--muted);margin-top:1px}.truck-expired{color:#b4232f;font-weight:800}.truck-expiring{color:#9a6100;font-weight:800}.truck-expired .truck-countdown,.truck-expiring .truck-countdown{color:inherit}.truck-action{display:flex;gap:6px}.truck-action button{white-space:nowrap}@media(max-width:520px){.two-column-form{grid-template-columns:1fr}}
.badge.retired{background:#e6e3ef;color:#503b76}.badge.maintenance,.badge.out_of_service{background:#fff2d8;color:#9a6100}
.dispatch-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.dispatch-stats>div{padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.dispatch-stats small{display:block;color:var(--muted)}.dispatch-stats strong{display:block;margin-top:4px;font-size:23px}.dispatch-toolbar{display:flex;gap:10px;margin-bottom:14px}.dispatch-toolbar input{margin:0}.dispatch-toolbar button{white-space:nowrap;border:0;border-radius:9px;padding:10px 14px;font-weight:800}.dispatch-table{min-width:1080px;table-layout:fixed}.dispatch-table th{padding:9px 7px;font-size:12px;vertical-align:top;white-space:normal}.dispatch-table td{padding:10px 7px;font-size:12px;font-weight:400;line-height:1.3;vertical-align:top;overflow-wrap:anywhere}.dispatch-table td b,.dispatch-table td strong{font-weight:400}.dispatch-table th:nth-child(1){width:10%}.dispatch-table th:nth-child(2){width:16%}.dispatch-table th:nth-child(3){width:12%}.dispatch-table th:nth-child(4){width:12%}.dispatch-table th:nth-child(5){width:16%}.dispatch-table th:nth-child(6){width:9%}.dispatch-table th:nth-child(7){width:11%}.dispatch-table th:nth-child(8){width:9%}.dispatch-table th:nth-child(9){width:5%}.dispatch-line{display:block!important;margin:0 0 4px;font-size:12px;font-weight:400;line-height:1.3;white-space:normal}.dispatch-line:last-child{margin-bottom:0}.dispatch-muted{color:var(--muted)}.delay-pill{display:inline-block;padding:4px 7px;border-radius:999px;background:#fff2d8;color:#8a5700;font-size:12px;font-weight:600;white-space:nowrap}.dispatch-table td button{padding:7px 8px;font-size:12px;font-weight:600}.time-entry{display:grid;grid-template-columns:58px 10px 58px 82px;align-items:center;gap:5px}.time-entry input,.time-entry select{min-width:0;margin:0!important;padding:10px 6px!important;text-align:center}.time-entry>span{text-align:center;color:var(--muted);font-weight:800}@media(max-width:700px){.dispatch-stats{grid-template-columns:1fr 1fr}.dispatch-toolbar{flex-direction:column}}

.recent-submission{display:block;width:100%;background:#fff;color:var(--text);text-align:left;cursor:pointer}.recent-submission:hover{border-color:var(--blue);background:#f7fbff}.open-submission-label{display:block;margin-top:7px;color:var(--blue);font-size:12px;font-weight:700}#inspectionViewerDialog{width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}.inspection-viewer{padding:22px}.inspection-viewer-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.inspection-viewer-head h3{margin:4px 0 14px}.inspection-viewer-head button{border:0;background:transparent;font-size:28px}.inspection-viewer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inspection-viewer-grid>div,.inspection-report-box,.inspection-photo-box{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.inspection-viewer-grid small{display:block;color:var(--muted);margin-bottom:5px}.inspection-viewer-grid .wide{grid-column:1/-1}.inspection-report-box,.inspection-photo-box{margin-top:14px}.inspection-report-box h4,.inspection-photo-box h4{margin:0 0 8px}.inspection-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inspection-photo{display:block;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);text-align:left}.inspection-photo img{display:block;width:100%;height:210px;object-fit:cover}.inspection-photo span{display:block;padding:10px;font-size:13px;font-weight:700}@media(max-width:600px){.inspection-viewer-grid,.inspection-photo-grid{grid-template-columns:1fr}.inspection-viewer-grid .wide{grid-column:auto}.inspection-photo img{height:auto;max-height:360px}}
.review-card{cursor:pointer}.review-card:hover,.review-card:focus{border-color:var(--blue);background:#f1f7ff;outline:none}.review-card em{display:block;margin-top:8px;color:var(--blue);font-size:12px;font-style:normal;font-weight:750}#flaggedReviewDialog{width:min(680px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}.flagged-review{padding:22px}.flagged-review .head button{border:0;background:transparent;font-size:28px}.flagged-review-item{display:grid;width:100%;gap:4px;margin-top:10px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);text-align:left}.flagged-review-item span{color:var(--muted);font-size:13px}.flagged-review-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.flagged-review-actions button{padding:8px 11px}.flagged-review-actions button:first-child{background:var(--blue);color:#fff}#flagIssueDialog{width:min(560px,calc(100vw - 24px))}.flag-issue{padding:22px}.flag-issue .head button{border:0;background:transparent;font-size:28px}.flag-issue>div:not(.head):not(.actions){display:grid;gap:6px;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.flag-issue small{color:var(--muted)}
.inspection-resolution-box{margin-top:14px;padding:14px;border:1px solid #e3b55c;border-radius:10px;background:#fff9e9}.inspection-resolution-box h4{margin:0 0 8px}.inspection-resolution-box p{margin:7px 0}.inspection-resolution-box label{display:block;margin:10px 0 6px;font-weight:750}.inspection-resolution-box textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;resize:vertical}.inspection-resolution-box .form-message{color:#a44b12}
.report-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 8px}.report-filters>label,.report-range label{display:grid;gap:5px;font-size:13px;font-weight:700;color:#53657b}.report-filters input,.report-filters select{min-height:42px}.report-filters>label:first-child{flex:1 1 280px}.report-filters>label:first-child input{width:100%}.report-filters select{min-width:175px}.report-range{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.report-date-entry{display:grid;grid-template-columns:46px 10px 46px 10px 72px;align-items:center;gap:2px}.report-date-entry input{width:100%;min-width:0;padding:9px 5px;text-align:center}.report-date-entry span{text-align:center;color:#6e7e92;font-weight:700}.report-date-summary{margin:4px 0 14px;color:#53657b}.reports-table td{vertical-align:top}.reports-table td:nth-child(5){max-width:280px;overflow-wrap:anywhere}.report-actions{display:flex;gap:8px;flex-wrap:wrap}.report-actions button{white-space:nowrap}#forwardReportDialog{width:min(520px,calc(100vw - 24px))}
@media(max-width:700px){.report-filters{align-items:stretch}.report-filters>label,.report-range,.report-range label,.report-filters>button{width:100%}.report-filters select{width:100%}.report-date-entry{grid-template-columns:54px 12px 54px 12px 88px}}

/* Admin settings, managed resources, and admin-dashboard-only layout controls */
.company-logo-frame{height:116px;overflow:hidden;border-radius:12px;background:#fff;display:grid;place-items:center}.company-logo-frame img{transform-origin:center}.dashboard-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px;padding:12px;border:1px solid #b9d4f4;border-radius:11px;background:#edf6ff}.dashboard-controls button{border:1px solid var(--blue);border-radius:9px;background:#fff;color:var(--blue);padding:8px 11px;font-weight:750;cursor:pointer}.dashboard-controls small{color:#3d5f84}.dashboard-stats{grid-template-columns:repeat(12,minmax(0,1fr))}.dashboard-stats>div:not(.hidden){position:relative;grid-column:span 3}.dashboard-stats>div[data-size="compact"]{grid-column:span 2}.dashboard-stats>div[data-size="small"]{grid-column:span 3}.dashboard-stats>div[data-size="medium"]{grid-column:span 4}.dashboard-stats>div[data-size="large"]{grid-column:span 6}.dashboard-stats>div[data-size="xlarge"]{grid-column:span 9}.dashboard-stats>div[data-size="full"]{grid-column:span 12}.dashboard-stats.customizing>div:not(.hidden){cursor:grab;outline:2px dashed var(--blue);outline-offset:2px}.dashboard-stats .dragging{opacity:.55}.widget-tools{display:none;align-items:center;gap:5px;margin-top:8px}.customizing .widget-tools{display:flex}.widget-tools span{margin-right:auto;color:var(--muted);font-size:12px}.widget-tools button{width:30px;height:28px;padding:0;border:1px solid var(--line);border-radius:7px;background:#f5f8fb;font-weight:900;cursor:pointer}.dashboard-insights{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(14,30,49,.06)}.dashboard-insights h2{margin:0}.dashboard-insights p{margin:5px 0 0;color:var(--muted)}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(320px,2fr);gap:12px;margin-top:15px}.insight-card{padding:15px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.insight-card small,.insight-card span{display:block;color:var(--muted)}.insight-card strong{display:block;margin:5px 0;font-size:28px}.trend-card{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:16px}.trend-card>div:first-child strong{font-size:17px;white-space:nowrap}.inspection-trend{height:112px;display:flex;align-items:flex-end;justify-content:space-between;gap:7px}.trend-day{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px}.trend-value{font-size:11px;color:var(--muted)}.trend-bar{display:block;width:min(28px,100%);min-height:8px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#5da9ff,var(--blue))}.trend-day small{font-size:10px}.recent-card{margin-top:14px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.settings-grid .wide{grid-column:1/-1}.settings-grid label span{float:right;color:var(--muted);font-weight:500}.logo-settings{margin:18px 0;padding:15px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.logo-settings h3{margin-top:0}.content-phase-tabs{display:flex;gap:8px;margin:14px 0}.content-phase-tabs button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 14px;font-weight:750}.content-phase-tabs button.active{background:var(--blue);color:#fff}.managed-content-list{display:grid;gap:10px;margin-top:14px}.content-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff}.content-item h3{margin:0 0 5px}.content-item p{margin:5px 0;color:var(--muted)}.content-item small{display:block;margin-top:8px;color:var(--muted)}.content-item button{border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-weight:750}.empty-content{padding:20px;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}#contentDialog form{width:min(520px,92vw)}@media(max-width:1050px){.dashboard-stats>div:not(.hidden){grid-column:span 6}.insight-grid{grid-template-columns:repeat(3,1fr)}.trend-card{grid-column:1/-1}}@media(max-width:650px){.settings-grid{grid-template-columns:1fr}.settings-grid .wide{grid-column:auto}.dashboard-controls small{width:100%}.dashboard-stats>div:not(.hidden),.dashboard-stats>div[data-size]{grid-column:span 12}.insight-grid{grid-template-columns:1fr}.trend-card{grid-column:auto}}

.dashboard-stats>div[data-size="extra-small"]{grid-column:span 1}
.expiration-near-widget{cursor:pointer}.expiration-near-widget>span{display:block;margin-top:5px;color:var(--muted);font-size:12px}.expiration-near-widget:hover,.expiration-near-widget:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,111,209,.12)}.expiration-near-widget.has-alerts{border-color:#e8b04a;background:#fff9e8}.expiration-near-widget.has-alerts strong{color:#9a5c00}.expiration-dialog{width:min(680px,92vw);padding:20px}.expiration-dialog h2{margin:0}.expiration-dialog .head p{margin:5px 0 0;color:var(--muted)}.expiration-alert-list{display:grid;gap:10px;margin:18px 0}.expiration-alert-row{display:grid;grid-template-columns:110px minmax(130px,1fr) minmax(170px,1.4fr) auto;align-items:center;gap:12px;width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;cursor:pointer}.expiration-alert-row:hover{border-color:var(--blue);background:#f3f8ff}.expiration-alert-kind{color:#9a5c00;font-size:12px;font-weight:800;text-transform:uppercase}.expiration-alert-row em{color:#9a5c00;font-style:normal;font-weight:800;white-space:nowrap}.expiration-alert-empty{padding:18px;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}@media(max-width:650px){.expiration-alert-row{grid-template-columns:1fr}.expiration-alert-row em{white-space:normal}}

.content-item-inactive>div{opacity:.62}.content-item-inactive h3,.content-item-inactive p,.content-item-inactive a{text-decoration:line-through}
.content-item-actions{display:flex;align-items:center;gap:8px}.content-item-actions .danger{background:#fff1f2;border-color:#ef9aa2;color:#b4232f}
