@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700;800&display=swap");
:root { font-family: Inter, system-ui, sans-serif; color: #172033; background: #f4f6f9; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #175cd3; text-decoration: none; }
main { max-width: 1400px; margin: 0 auto; padding: 28px; }
.topbar { height: 64px; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; color: white; background: #101828; }
.brand { color: white; font-weight: 800; font-size: 1.15rem; }
.brand span { margin-left: 5px; color: #d0d5dd; font-size: .84rem; font-weight: 600; }
.link-button { color: white; background: transparent; border: 0; cursor: pointer; }
button, select, input { font: inherit; border: 1px solid #cbd2dc; border-radius: 7px; padding: 8px 10px; }
button { background: #175cd3; color: white; border-color: #175cd3; cursor: pointer; }
button:disabled { opacity: .5; cursor: not-allowed; }
.page-heading, .detail-heading, .date-nav, .filters, .inline-form { display: flex; align-items: center; gap: 12px; }
.page-heading, .detail-heading { justify-content: space-between; }
.eyebrow { color: #667085; text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; font-weight: 700; margin-bottom: 4px; }
h1 { margin-top: 0; }
.date-nav { flex-wrap: wrap; }
.workflow { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: #475467; font-size: .84rem; }
.workflow > span:first-child { font-weight: 750; color: #172033; }
.workflow b { padding: 4px 8px; border-radius: 999px; background: #e8edf5; color: #344054; }
.workflow small { margin-left: 4px; color: #667085; }
.filters { background: white; padding: 14px; margin: 20px 0; border-radius: 10px; flex-wrap: wrap; box-shadow: 0 1px 3px #10182818; }
.filters label, .stacked-form label { display: grid; gap: 5px; font-size: .85rem; font-weight: 650; }
.booking { position: absolute; left: 7px; right: 7px; min-height: 48px; padding: 7px 8px; border: 1px solid; border-left-width: 6px; border-radius: 8px; overflow: visible; box-shadow: 0 2px 7px #10182820; z-index: 1; }
.booking:hover, .booking:focus-within { z-index: 3; }
.booking a, .booking span { color: #172033; display: block; font-size: .78rem; }
.booking strong { font-weight: 750; }
.booking-time { display: inline-block; font-size: .9rem; margin-right: 6px; }
.booking-customer { display: inline; font-size: .86rem; font-weight: 750; }
.booking .badges { margin-top: 3px; padding-right: 112px; }
.priority-badge { display: inline-block; padding: 2px 6px; border-radius: 999px; color: white; font-size: .68rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.booking form { position: absolute; right: 6px; bottom: 6px; }
.booking select { font-size: .72rem; padding: 3px; max-width: 110px; }
.booking-compact { padding: 4px 6px; }
.booking-compact a, .booking-compact span { font-size: .68rem; line-height: 1.12; }
.booking-compact .booking-time { font-size: .76rem; margin-right: 4px; }
.booking-compact .booking-customer { font-size: .74rem; }
.booking-compact .badges { margin-top: 1px; padding-right: 94px; }
.booking-compact .priority-badge { padding: 1px 4px; font-size: .58rem; }
.booking-compact form { right: 4px; bottom: 3px; }
.booking-compact select { max-width: 90px; padding: 1px 2px; font-size: .62rem; }
.status-new { background: #eaf2ff; border-color: #84adff; }
.status-confirmed { background: #e6f7f4; border-color: #5cc9b7; }
.status-in_progress { background: #fff1df; border-color: #f5a657; }
.status-completed { background: #e8f7ed; border-color: #65c985; }
.status-cancelled { background: #eef0f3; border-color: #aeb4bd; color: #475467; }
.priority-high { border-left-color: #d92d20; }
.priority-medium { border-left-color: #dc6803; }
.priority-normal { border-left-color: #667085; }
.priority-badge-high { background: #b42318; }
.priority-badge-medium { background: #b54708; }
.priority-badge-normal { background: #475467; }
.login-card, .detail-card, .action-card, .empty-state { background: white; border-radius: 12px; padding: 24px; box-shadow: 0 2px 8px #10182815; }
.login-card { max-width: 420px; margin: 70px auto; }
.stacked-form { display: grid; gap: 14px; }
.form-error { color: #b42318; background: #fee4e2; padding: 10px; border-radius: 7px; }
.details { display: grid; grid-template-columns: 180px 1fr; gap: 10px 18px; }
.details dt { font-weight: 700; color: #475467; }
.details dd { margin: 0; overflow-wrap: anywhere; }
.priority-pill { padding: 7px 12px; border-radius: 999px; font-weight: 800; border-left: 0; }
.priority-border-high { border-top: 6px solid #d92d20; }
.priority-border-medium { border-top: 6px solid #dc6803; }
.priority-border-normal { border-top: 6px solid #079455; }
.action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.detail-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.detail-groups section { padding: 18px; border: 1px solid #e4e7ec; border-radius: 10px; background: #fbfcfd; }
.detail-groups h2 { margin: 0 0 14px; font-size: 1rem; }
.detail-groups .details { grid-template-columns: 120px 1fr; }
.detail-groups .ai-assessment { grid-column: 1 / -1; background: #f5f8ff; }
.support-note, .booking-meta { color: #667085; font-size: .82rem; line-height: 1.5; }
.booking-meta { margin: 18px 0 0; }
.empty-state, .empty-note { text-align: center; padding: 50px; }
.notification-history { margin-top: 18px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 10px; text-align: left; border-bottom: 1px solid #e4e7ec; }
.delivery-success { color: #067647; font-weight: 700; }
.delivery-failed { color: #b42318; font-weight: 700; }
@media (max-width: 760px) { main { padding: 16px; } .topbar { height: auto; min-height: 64px; padding: 12px 16px; } .brand span { display: block; margin: 2px 0 0; } button, select, input { min-height: 42px; } .page-heading, .detail-heading { align-items: flex-start; flex-direction: column; } .date-nav, .filters { align-items: stretch; } .filters label { flex: 1 1 140px; } .action-grid, .detail-groups { grid-template-columns: 1fr; } .detail-groups .ai-assessment { grid-column: auto; } .details, .detail-groups .details { grid-template-columns: 1fr; } .details dt { margin-top: 8px; } }
.summary-cards { display:grid; grid-template-columns:repeat(6,minmax(110px,1fr)); gap:10px; margin:0 0 18px; }
.summary-card { display:grid; gap:2px; padding:12px 14px; border:1px solid #dbe3ee; border-radius:9px; background:#fff; color:inherit; box-shadow:0 1px 2px #1018280d; transition:border-color .15s ease, box-shadow .15s ease; }
.summary-card:hover { border-color:#84adff; box-shadow:0 3px 9px #10182814; }
.summary-card:focus-visible { outline:3px solid #84adff; outline-offset:2px; }
.summary-card.active { border-color:#175cd3; background:#eff4ff; box-shadow:0 0 0 1px #175cd3; }
.summary-cards b { font-size:1.25rem; color:#175cd3; }
.summary-cards span { font-size:.78rem; color:#475467; }
.summary-cards .summary-alert { border-color:#f79009; background:#fffaeb; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.section-heading h2 { margin:0; }
.section-heading .eyebrow { margin:0 0 3px; }
.workshop-section { margin-bottom:18px; }
.job-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; }
.job-card { display:flex; flex-direction:column; min-width:0; padding:16px; border:1px solid #e4e7ec; border-left:5px solid #667085; border-radius:10px; background:#fbfcfd; }
.job-card[hidden] { display:none; }
.job-card.priority-high { border-left-color:#d92d20; }
.job-card.priority-medium { border-left-color:#dc6803; }
.job-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.job-card h3 { margin:0; font-size:1.04rem; overflow-wrap:anywhere; }
.registration { display:inline-block; margin-top:5px; color:#344054; font-size:.78rem; letter-spacing:.04em; }
.priority-chip, .status-chip { width:max-content; max-width:100%; padding:4px 8px; border-radius:999px; font-size:.7rem; font-weight:750; }
.priority-chip { flex:0 0 auto; background:#eef2f6; color:#344054; }
.priority-chip.priority-high { background:#fee4e2; color:#b42318; }
.priority-chip.priority-medium { background:#fef0c7; color:#b54708; }
.job-service { margin:13px 0 8px; color:#475467; font-weight:650; }
.status-chip { margin:0 0 13px; background:#eaf2ff; border:1px solid #84adff; color:#1849a9; }
.status-chip.status-in_progress, .status-chip.status-diagnosing { background:#fff1df; border-color:#f5a657; color:#93370d; }
.status-chip.status-waiting_customer_approval, .status-chip.status-waiting_parts, .status-chip.status-awaiting_final_approval { background:#fffaeb; border-color:#fec84b; color:#93370d; }
.status-chip.status-ready_for_collection { background:#e8f7ed; border-color:#65c985; color:#067647; }
.job-facts { display:grid; grid-template-columns:auto 1fr; gap:5px 12px; margin:0 0 16px; font-size:.82rem; }
.job-facts dt { color:#667085; }
.job-facts dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.open-job { margin-top:auto; padding-top:11px; border-top:1px solid #e4e7ec; font-weight:750; }
.secondary-button { background:white; color:#175cd3; }
.filter-message { min-height:1.2em; margin:0 0 10px; color:#475467; font-size:.84rem; }
.scheduled-section { margin-top:24px; }
.approval-queue { border-left:5px solid #f79009; margin-bottom:18px; }
.approval-list { display:grid; gap:10px; }
.approval-list article { display:flex; justify-content:space-between; gap:20px; padding:14px; border:1px solid #f2d39b; border-radius:9px; background:#fffcf5; }
.approval-list article > div { display:grid; gap:4px; }
.approval-list article > div:last-child { justify-items:end; text-align:right; }
.approval-list span { color:#475467; font-size:.82rem; }
.approval-list a { margin-top:4px; font-weight:750; }
@media (max-width:800px) { .summary-cards { grid-template-columns:repeat(2,1fr); } .job-grid { grid-template-columns:1fr; } }
@media (max-width:520px) { .summary-cards { grid-template-columns:1fr 1fr; } .approval-list article { flex-direction:column; } .approval-list article > div:last-child { justify-items:start; text-align:left; } }

/* Staff workshop visual theme */
:root { --graphite:#18212b; --graphite-deep:#101820; --steel:#344054; --accent:#175cd3; --line:#d9e0e8; }
.topbar { height:76px; padding:0 32px; background:linear-gradient(105deg,var(--graphite-deep),#202d3a); border-bottom:3px solid #2e6fd0; box-shadow:0 4px 16px #10182826; }
.brand { display:flex; align-items:center; gap:12px; font-size:inherit; }
.brand-mark { display:grid; place-items:center; width:40px; height:40px; border:1px solid #ffffff2b; border-radius:9px; background:#ffffff0d; }
.brand-mark svg, .summary-icon, .job-vehicle-icon svg, .approval-icon { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.brand-mark svg { width:26px; height:26px; color:#8ab4f8; }
.brand-copy { display:grid; gap:1px; margin:0; }
.brand-copy strong { color:#f8fafc; font-size:.92rem; line-height:1.2; letter-spacing:.075em; text-transform:uppercase; }
.brand-copy small { color:#b9c5d2; font-size:.78rem; font-weight:650; letter-spacing:.035em; }
.link-button { padding:8px 11px; border:1px solid #ffffff26; border-radius:7px; color:#e7edf4; }
.link-button:hover { background:#ffffff0d; border-color:#ffffff4d; }
a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible { outline:3px solid #75a7f7; outline-offset:2px; }

.page-heading { margin-bottom:20px; }
.page-heading h1 { margin-bottom:0; color:#182230; }
.date-nav > a { padding:7px 9px; border-radius:6px; color:#344054; font-weight:650; }
.date-nav > a:hover { background:#e8edf5; color:#175cd3; }
.summary-card { grid-template-columns:38px 1fr; grid-template-rows:auto auto; column-gap:11px; align-items:center; min-height:86px; border-top:3px solid #667085; }
.summary-card:nth-child(1), .summary-card:nth-child(2) { border-top-color:#3974c8; }
.summary-card:nth-child(3) { border-top-color:#b46820; }
.summary-card:nth-child(4) { border-top-color:#96722d; }
.summary-card:nth-child(5) { border-top-color:#28815d; }
.summary-card:nth-child(6) { border-top-color:#b5473d; }
.summary-icon { grid-row:1 / 3; width:32px; height:32px; padding:6px; border-radius:8px; background:#edf3fc; color:#245da8; }
.summary-card b { align-self:end; line-height:1; font-size:1.38rem; }
.summary-card span { align-self:start; line-height:1.25; }
.summary-cards .summary-alert { background:#fffbf2; border-color:#c19336; }

.workshop-section { border-top:4px solid var(--graphite); }
.job-card { position:relative; border-color:#d7dee7; border-left-width:4px; background:linear-gradient(180deg,#fff,#fafbfd); box-shadow:0 2px 7px #10182810; }
.job-card:hover { border-color:#b8c5d4; box-shadow:0 5px 16px #10182816; }
.job-card-heading { justify-content:flex-start; align-items:center; padding-bottom:12px; border-bottom:1px solid #e6eaf0; }
.job-card-heading > div { min-width:0; }
.job-vehicle-icon { display:grid; flex:0 0 auto; place-items:center; width:38px; height:38px; border-radius:8px; background:#e9eef5; color:#344054; }
.job-vehicle-icon svg { width:25px; height:25px; }
.job-card h3 { font-size:1.12rem; color:#182230; }
.registration { margin-top:7px; padding:3px 8px; border:1px solid #c8b640; border-radius:4px; background:#f2e65d; box-shadow:inset 0 0 0 1px #fff6; color:#171717; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.76rem; font-weight:800; letter-spacing:.075em; }
.status-chip { margin:12px 0 14px; padding:5px 9px; border-width:1px; }
.status-chip.status-waiting, .status-chip.status-booked, .status-chip.status-dropped_off { background:#f2f4f7; border-color:#cbd2dc; color:#344054; }
.status-chip.status-diagnosing { background:#eef4ff; border-color:#9dbcf0; color:#1849a9; }
.status-chip.status-waiting_parts, .status-chip.status-waiting_customer_approval { background:#fff8e7; border-color:#e3bd65; color:#7a4e13; }
.status-chip.status-in_progress { background:#fff3e8; border-color:#df9c5b; color:#8f4011; }
.status-chip.status-awaiting_final_approval { background:#f6f0ff; border-color:#bda2df; color:#573a82; }
.status-chip.status-ready_for_collection { background:#eaf7f0; border-color:#79bf9e; color:#146c4b; }
.job-facts { padding:0 2px; }
.job-facts dt { font-weight:650; }
.job-facts dd { color:#273444; font-weight:550; }
.job-facts .priority-chip { display:inline-block; padding:2px 7px; }
.open-job, .approval-list a { display:inline-flex; align-items:center; justify-content:center; width:max-content; padding:8px 12px; border:1px solid #175cd3; border-radius:7px; background:#175cd3; color:white; font-weight:750; }
.open-job { margin-top:auto; }
.open-job:hover, .approval-list a:hover { background:#1849a9; }

.approval-queue { border:1px solid #d8c5eb; border-left:5px solid #8461ad; background:#fdfbff; }
.approval-queue .eyebrow { color:#694b90; }
.approval-icon { width:34px; height:34px; color:#76539e; }
.approval-list article { border-color:#ded1ea; background:white; }

.secondary-button { border-color:#b8c2ce; }

@media (max-width:760px) {
  .topbar { min-height:70px; padding:11px 16px; }
  .brand-mark { width:36px; height:36px; }
  .brand-copy strong { font-size:.8rem; }
  .brand-copy small { font-size:.72rem; }
  .summary-card { min-height:80px; padding:10px; grid-template-columns:31px 1fr; column-gap:8px; }
  .summary-icon { width:28px; height:28px; padding:5px; }
  .job-card { padding:14px; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; } }

.staff-actions, .staff-navigation, .staff-identity { display:flex; align-items:center; }
.staff-actions { gap:18px; }
.staff-navigation { gap:14px; }
.staff-navigation > a { color:#dce7f3; font-size:.84rem; font-weight:700; }
.staff-navigation > a:hover { color:white; text-decoration:underline; }
.staff-identity { gap:7px; padding-right:18px; border-right:1px solid #ffffff26; color:#eef3f8; white-space:nowrap; }
.staff-identity-name { font-size:.84rem; }
.staff-role-badge { padding:3px 7px; border:1px solid #91a4b8; border-radius:999px; background:#ffffff0d; color:#dce7f3; font-size:.65rem; font-weight:800; letter-spacing:.045em; }
.staff-role-owner { border-color:#8aaee0; background:#2e6fd026; color:#dce9fb; }
.current-workflow-status { display:flex; align-items:center; gap:8px; flex-wrap:wrap; color:#475467; }
.current-workflow-status .status-chip { margin:0; }
.status-actions { margin:14px 0; }
.status-correction { margin-top:18px; padding-top:14px; border-top:1px solid #e4e7ec; }
.status-correction summary { width:max-content; color:#475467; cursor:pointer; font-size:.84rem; font-weight:700; }
.status-correction .stacked-form { margin-top:12px; }
.cancel-action { margin-top:18px; padding-top:14px; border-top:1px solid #e4e7ec; }
.danger-button { border-color:#d0a19d; background:#fff; color:#a53229; }
.danger-button:hover { border-color:#b42318; background:#fff4f3; }
.secondary-button { border-color:#98a2b3; background:#fff; color:#344054; }
.secondary-button:hover { border-color:#175cd3; color:#175cd3; }
.team-create-card { margin-bottom:18px; }
.team-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:end; }
.team-form label, .team-password-form label { display:grid; gap:5px; color:#344054; font-size:.84rem; font-weight:700; }
.team-form label:nth-of-type(3) { grid-column:1 / -1; }
.team-form > button { justify-self:start; }
.team-list { display:grid; gap:12px; margin-top:16px; }
.team-member { padding:16px; border:1px solid #e4e7ec; border-radius:10px; background:#fbfcfd; }
.team-member-summary { display:flex; align-items:center; gap:10px; }
.team-member-summary > div { flex:1; min-width:0; }
.team-member h3, .team-member p { margin:0; }
.team-member-summary p { margin-top:3px; color:#667085; overflow-wrap:anywhere; }
.team-role-owner, .team-role-staff { color:#344054; background:#eef2f6; }
.team-status { padding:4px 8px; border:1px solid; border-radius:999px; font-size:.7rem; font-weight:800; }
.team-status-active { border-color:#75c89a; background:#ecfdf3; color:#067647; }
.team-status-inactive { border-color:#cbd2dc; background:#f2f4f7; color:#475467; }
.team-last-login, .team-owner-note { margin-top:10px !important; color:#667085; font-size:.82rem; }
.team-member-actions { display:flex; align-items:end; gap:12px; margin-top:14px; }
.team-password-form { display:flex; align-items:end; gap:8px; flex:1; }
.team-password-form label { flex:1; }

@media (max-width:700px) {
  .team-form { grid-template-columns:1fr; }
  .team-form label:nth-of-type(3) { grid-column:auto; }
  .team-member-summary, .team-member-actions, .team-password-form { align-items:stretch; flex-direction:column; }
}
.settings-section { margin-bottom:18px; }
.settings-form { display:grid; gap:16px; }
.hours-editor { display:grid; gap:8px; }
.hours-row { display:grid; grid-template-columns:120px 90px minmax(130px,1fr) auto minmax(130px,1fr); align-items:end; gap:10px; padding:10px 12px; border:1px solid #e4e7ec; border-radius:9px; background:#fbfcfd; }
.hours-row > strong { align-self:center; }
.hours-row label, .capacity-form label, .service-settings-form label { display:grid; gap:5px; color:#344054; font-size:.8rem; font-weight:700; }
.hours-row .compact-check { display:flex; align-self:center; align-items:center; gap:7px; }
.hours-row .compact-check input { width:auto !important; min-height:0; }
.capacity-form { display:flex; align-items:end; gap:10px; }
.capacity-form input { width:150px; }
.settings-help { color:#667085; font-size:.82rem; }
.add-service-panel { margin:14px 0; padding:14px; border:1px solid #cfd8e3; border-radius:10px; }
.add-service-panel summary { cursor:pointer; color:#175cd3; font-weight:800; }
.add-service-panel .service-settings-form { margin-top:14px; }
.service-settings-list { display:grid; gap:12px; }
.service-settings-card { padding:16px; border:1px solid #dce3ea; border-left:4px solid #28815d; border-radius:10px; background:#fff; }
.service-settings-card.service-inactive { border-left-color:#98a2b3; background:#f8fafc; }
.service-settings-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:end; }
.service-settings-form > button { justify-self:start; }
.service-state { align-self:center; }
.service-settings-actions { display:flex; justify-content:flex-end; gap:8px; }
@media (max-width:760px) {
  .hours-row { grid-template-columns:1fr 1fr; align-items:stretch; }
  .hours-row > span { display:none; }
  .capacity-form, .service-settings-actions { align-items:stretch; flex-direction:column; }
  .service-settings-form { grid-template-columns:1fr; }
}
.flash-message { margin:0 0 18px; padding:13px 15px; border:1px solid; border-radius:9px; font-weight:700; }
.flash-success { border-color:#79bf9e; background:#eaf7f0; color:#146c4b; }
.ready-collection { margin:0 0 18px; border-top:4px solid #28815d; scroll-margin-top:18px; }
.section-count { padding:5px 9px; border-radius:999px; background:#eaf7f0; color:#146c4b; font-size:.76rem; font-weight:750; }
.ready-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px; }
.ready-card { display:flex; flex-direction:column; padding:17px; border:1px solid #cfe5da; border-left:4px solid #28815d; border-radius:10px; background:linear-gradient(180deg,#fff,#f8fcfa); }
.ready-card h3 { margin:0; font-size:1.12rem; }
.ready-card .status-chip { margin:14px 0; }
.ready-card .open-job { margin-top:auto; }
.history-filters { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin:18px 0; padding:15px; border-radius:10px; background:white; box-shadow:0 1px 4px #10182814; }
.history-filters label { display:grid; flex:1 1 260px; gap:5px; font-size:.82rem; font-weight:700; }
.period-tabs { display:flex; flex-wrap:wrap; gap:4px; padding:3px; border:1px solid #d9e0e8; border-radius:8px; background:#f4f6f9; }
.period-tabs a { padding:7px 10px; border-radius:6px; color:#475467; font-size:.82rem; font-weight:700; }
.period-tabs a.active { background:#175cd3; color:white; }
.history-table { border-radius:11px; background:white; box-shadow:0 2px 8px #10182812; }
.history-table th { white-space:nowrap; background:#e9eef5; color:#344054; font-size:.75rem; text-transform:uppercase; letter-spacing:.035em; }
.history-table td { font-size:.82rem; vertical-align:middle; }
.history-table .registration { margin:0; white-space:nowrap; }
.view-job { white-space:nowrap; font-weight:750; }
.payment-badge { display:inline-block; padding:4px 8px; border:1px solid #cbd2dc; border-radius:999px; background:#f2f4f7; color:#475467; font-size:.7rem; font-weight:800; white-space:nowrap; }
.payment-paid { border-color:#8bc5a8; background:#edf8f2; color:#166b4b; }
.payment-unpaid, .payment-part_paid { border-color:#dfb66d; background:#fff8e8; color:#84540f; }
.payment-not_set { border-color:#cbd2dc; background:#f2f4f7; color:#475467; }
.workshop-schedule { margin-bottom:18px; border-top:4px solid #34495d; }
.schedule-list { display:grid; gap:10px; }
.schedule-card { display:grid; grid-template-columns:150px minmax(240px,1fr) minmax(150px,.55fr) minmax(155px,.45fr); align-items:center; gap:18px; padding:14px 16px; border:1px solid #dce2e9; border-left:5px solid #667085; border-radius:10px; background:#fff; box-shadow:0 2px 7px #1018280d; }
.schedule-card.priority-high { border-left-color:#b42318; }
.schedule-card.priority-medium { border-left-color:#b36b18; }
.schedule-time { display:grid; gap:3px; }
.schedule-time span { color:#667085; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.schedule-time strong { color:#182230; font-size:1.08rem; }
.schedule-details { display:grid; min-width:0; gap:4px; color:#344054; }
.schedule-details > strong { color:#182230; font-size:1rem; }
.schedule-details > span { font-size:.82rem; overflow-wrap:anywhere; }
.schedule-details .registration { margin:0 0 0 5px; }
.schedule-badges { display:flex; align-items:flex-start; gap:6px; flex-wrap:wrap; }
.schedule-badges .status-chip { margin:0; }
.schedule-action label { display:grid; gap:4px; color:#667085; font-size:.7rem; font-weight:700; }
.schedule-action select { width:100%; min-width:0; }
.schedule-empty svg { width:38px; height:38px; fill:none; stroke:#7890a6; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:900px) { .schedule-card { grid-template-columns:125px minmax(200px,1fr) minmax(145px,.5fr); } .schedule-action { grid-column:2 / -1; } }
@media (max-width:650px) { .schedule-card { grid-template-columns:1fr; gap:10px; padding:14px; } .schedule-action { grid-column:auto; } .schedule-badges { justify-content:flex-start; } .schedule-details .registration { display:block; width:max-content; margin:3px 0 0; } }
@media (max-width:760px) {
  .topbar { align-items:flex-start; flex-wrap:wrap; gap:10px; }
  .staff-actions { width:100%; justify-content:space-between; gap:10px; }
  .staff-identity { min-width:0; padding-right:10px; }
  .staff-identity-name { max-width:42vw; overflow:hidden; text-overflow:ellipsis; }
  .staff-navigation { gap:8px; }
  .staff-navigation > a { font-size:.75rem; }
  .ready-grid { grid-template-columns:1fr; }
  .history-filters { align-items:stretch; }
}
@media (max-width:430px) {
  .staff-actions { align-items:flex-start; flex-direction:column; }
  .staff-identity { max-width:100%; padding:0 0 8px; border-right:0; border-bottom:1px solid #ffffff26; }
  .staff-identity-name { max-width:70vw; }
}

/* GDNest established business software redesign */
:root{--navy:#16283a;--ink:#18222c;--muted:#63707d;--line:#d7dde3;--canvas:#f2f4f6;--panel:#fff;--blue:#1769aa;--danger:#ad3c32;--success:#27704d}
body{background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
main{max-width:1460px;padding:28px 30px 60px}
.topbar{min-height:64px;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:none;padding:0 30px}
.brand{color:var(--ink)}
.brand-mark{width:34px;height:34px;border-radius:3px;background:var(--navy);color:#fff;border:0}
.brand-copy strong{font-size:14px;letter-spacing:.035em}
.brand-copy small{color:#667482;letter-spacing:.02em}
.staff-navigation>a,.staff-identity-name{color:#344250}
.staff-navigation>a:hover{color:#111b24;background:#eef1f4}
.link-button{border:1px solid #aeb7c1!important;color:#344250!important;background:#fff!important;border-radius:3px!important}
.staff-role-badge{border-radius:2px;background:#e5e9ed;color:#43505c}
.page-heading,.detail-heading{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}
.page-heading h1,.detail-heading h1{font-size:30px;letter-spacing:-.025em}
.eyebrow{color:#5d6975;font-size:11px;letter-spacing:.1em}
button,.open-job,.approval-list a{border-radius:3px;background:var(--navy);box-shadow:none;font-weight:700}
input,select,textarea{border-radius:3px;border-color:#bfc7cf;background:#fff;box-shadow:none}
.date-nav>a{border:1px solid #bfc7cf;border-radius:3px;background:#fff;color:#344250}
.workload-label,.priority-chip,.status-chip,.priority-pill{border-radius:2px!important}
.workshop-attention{gap:0!important;border:1px solid var(--line);background:#fff;margin-bottom:16px!important}
.attention-intro,.attention-item{border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;background:#fff!important;padding:16px 18px!important}
.attention-item:last-child{border-right:0!important}
.attention-item.needs-action{border-top:3px solid #b4602e!important}
.attention-item.ready-action{border-top:3px solid var(--success)!important}
.summary-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border:1px solid var(--line);background:#fff;margin-bottom:20px}
.summary-card{min-height:84px;border:0;border-right:1px solid var(--line);border-radius:0;background:#fff;box-shadow:none;padding:14px}
.summary-card:last-child{border-right:0}
.summary-card:hover{transform:none;background:#f6f8f9;box-shadow:none}
.summary-card:nth-child(n){border-top:3px solid #8795a3}
.summary-cards .summary-alert{background:#fff9f2;border-color:#c58a47}
.summary-icon{background:transparent;width:26px;height:26px}
.summary-card b{font-size:24px}
.login-card,.detail-card,.action-card,.empty-state,.workshop-section,.approval-queue{border:1px solid var(--line);border-radius:4px;background:#fff;box-shadow:none}
.workshop-section,.detail-card{padding:24px}
.workflow{border:1px solid var(--line);border-radius:3px;background:#f7f8f9}
.workflow b{border-radius:2px;background:#e4e8ec;color:#344250}
.filters{border:1px solid var(--line);border-radius:3px;background:#f8f9fa}
.job-grid{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-bottom:0}
.job-card{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(420px,2fr) auto;align-items:center;gap:24px;border:0;border-bottom:1px solid var(--line);border-left:4px solid #8997a5;border-radius:0;background:#fff;box-shadow:none;padding:18px 20px}
.job-card:hover{transform:none;background:#f8fafb;box-shadow:none}
.job-card.priority-high{border-left-color:#ad3c32}
.job-card.priority-medium{border-left-color:#b77a20}
.job-card-heading{margin:0}
.job-facts{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px 20px;margin:0}
.open-job{align-self:center;white-space:nowrap}
.detail-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--line)}
.detail-groups section{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:#fff;padding:20px}
.detail-groups section:nth-child(even){border-right:0}
.action-grid{gap:16px}
.action-card{padding:22px}
.table-wrap{border:1px solid var(--line);border-radius:3px}
table{border-collapse:collapse}
th{background:#eef1f4;color:#42505e;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
th,td{border-bottom:1px solid var(--line)}
@media(max-width:1000px){.summary-cards{grid-template-columns:repeat(3,1fr)}.summary-card:nth-child(3){border-right:0}.job-card{grid-template-columns:1fr}.job-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){main{padding:20px 14px 45px}.topbar{padding:10px 14px}.summary-cards{grid-template-columns:repeat(2,1fr)}.summary-card:nth-child(odd){border-right:1px solid var(--line)}.summary-card:nth-child(even){border-right:0}.detail-groups{grid-template-columns:1fr}.detail-groups section{border-right:0}.page-heading h1,.detail-heading h1{font-size:25px}}

/* Live contrast corrections */
.topbar .brand,.topbar .brand span,.topbar .brand strong{color:var(--ink)!important}
button:not(.link-button):not(.danger-button),.open-job,.approval-list a{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}
.date-nav>a{background:#fff!important;color:#344250!important;border-color:#bfc7cf!important}


/* Blue-green automotive product identity */
:root{--brand-blue:#0b63ce;--brand-navy:#0b2d4d;--brand-green:#20b85a}
body{background:#eef3f6;color:#14273b}
.topbar{background:#fff;border-top:7px solid var(--brand-green);border-bottom:1px solid #cbd7e1}
.brand-mark{background:var(--brand-blue);border-radius:0}
.brand-copy strong{color:var(--brand-navy)}
.staff-navigation>a{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
button:not(.link-button):not(.danger-button),.open-job,.approval-list a{background:var(--brand-blue)!important;border-color:var(--brand-blue)!important;border-radius:0!important}
.page-heading h1,.detail-heading h1,.section-heading h2{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;text-transform:uppercase;color:var(--brand-navy)}
.workload-label{color:var(--brand-blue);border-radius:0!important}
.attention-item.ready-action{border-top-color:var(--brand-green)!important}
.summary-card:nth-child(n){border-top-color:var(--brand-blue)}
.summary-card[data-summary="ready"]{border-top-color:var(--brand-green)}
.summary-cards .summary-alert{border-top-color:#e1a024}
.status-chip.status-ready_for_collection{background:#dff5e7;color:#146c37;border-color:#83d49f}
.status-chip.status-in_progress{background:#e1effe;color:#07549e;border-color:#88bcec}
.login-card,.detail-card,.action-card,.empty-state,.workshop-section,.approval-queue,.filters,.workflow,.table-wrap{border-radius:0}
.job-card{border-left-color:var(--brand-blue)}
.open-job:hover,.approval-list a:hover{background:var(--brand-green)!important;border-color:var(--brand-green)!important}
input,select,textarea,.date-nav>a{border-radius:0}


/* Operational typography hierarchy */
body,input,select,textarea,button{font-family:"Inter","Segoe UI",Arial,sans-serif}
.page-heading h1,.detail-heading h1,.section-heading h2,.job-card h3,.attention-intro h2,.login-card h1{font-family:"Barlow Condensed","Arial Narrow",Impact,sans-serif!important;font-weight:800!important;letter-spacing:.005em!important}
.page-heading h1,.detail-heading h1{font-size:36px!important}
.eyebrow,.staff-role-badge,.status-chip,.priority-chip,.registration,th{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace!important;letter-spacing:.055em!important}
.summary-card b,.attention-item b{font-family:"Barlow Condensed","Arial Narrow",Impact,sans-serif!important;font-weight:800!important}
.job-facts dt,.details dt{font-family:"Inter","Segoe UI",Arial,sans-serif;font-weight:700}


/* GDNest vector brand */
.brand-mark{width:48px;height:42px;background:transparent;border:0;border-radius:0;flex:0 0 48px}
.brand-mark svg{width:48px;height:42px}
.logo-house{fill:#0b63ce}.logo-roof{fill:none;stroke:#20b85a;stroke-width:4;stroke-linecap:square}.logo-door{fill:#08243e;stroke:#fff;stroke-width:1.5}.logo-floor{stroke:#20b85a;stroke-width:2}
.brand-mark text{fill:#fff;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:15px;font-weight:800}


/* Gear and wrench automotive emblem */
.logo-gear-teeth rect,.logo-gear-body{fill:#0b63ce}
.logo-gear-teeth rect{rx:1}
.logo-gear-hole{fill:#061d33}
.logo-wrench{fill:#20d36b;stroke:#061d33;stroke-width:1;stroke-linejoin:round}
.logo-wrench-hole{fill:#061d33}

.parts-total{align-self:center;color:#0b63ce;font-family:"Barlow Condensed",sans-serif;font-size:1.35rem}
.add-part-panel{margin-top:16px;padding:15px;border:1px solid #c7d3de;background:#f8fbfd}
.add-part-panel summary{cursor:pointer;color:#0b63ce;font-weight:800}
.job-part-form{display:grid;grid-template-columns:minmax(260px,1fr) 140px;gap:12px;align-items:end;margin-top:15px}
.job-part-form label,.part-settings-form label{display:grid;gap:5px;color:#344054;font-size:.8rem;font-weight:700}
.job-part-form fieldset{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;border:1px solid #d7e0e7;padding:14px}
.job-part-form legend{padding:0 6px;color:#667085;font-size:.8rem;font-weight:800}
.job-part-form>button{justify-self:start}
.compact-button{min-height:34px;padding:6px 10px;font-size:.75rem}
.calculated-cost{display:grid;grid-template-columns:1fr auto;gap:4px;padding:12px;border-left:4px solid #20b85a;background:#eef8f2}
.calculated-cost small{grid-column:1/-1;color:#667085}
.part-settings-form{display:grid;grid-template-columns:1.3fr 1fr 1fr .7fr .7fr;gap:12px;align-items:end}
.part-settings-form>.service-settings-actions{grid-column:1/-1}
.parts-settings-list{display:grid;gap:12px;margin-top:16px}
@media(max-width:900px){.job-part-form,.part-settings-form{grid-template-columns:1fr 1fr}.job-part-form fieldset{grid-template-columns:1fr 1fr}.part-settings-form>.service-settings-actions{grid-column:1/-1}}
@media(max-width:600px){.job-part-form,.part-settings-form,.job-part-form fieldset{grid-template-columns:1fr}.parts-table{overflow-x:auto}}
