/* Compact driver portal. Dispatch, scanner geometry and signature canvases keep their own layout. */
body.driver-app { line-height:1.4; }
body.driver-app .mobile-main { width:min(1180px,100%); padding:12px 14px max(28px,env(safe-area-inset-bottom)); }
body.driver-app .mobile-header { padding:8px 16px; gap:12px; }
body.driver-app .mobile-brand img { width:125px; }
body.driver-app button,body.driver-app summary,body.driver-app a.mobile-back { min-height:44px; }
body.driver-app button { padding:9px 12px; }
body.driver-app input:not([type=checkbox]):not([type=radio]),
body.driver-app select,body.driver-app textarea { min-height:44px; padding:9px 10px; }
body.driver-app .mobile-date-head { margin-bottom:10px; gap:10px; }
body.driver-app .mobile-date-head h1 { font-size:23px; margin:3px 0 0; }
body.driver-app .mobile-date-nav { gap:6px; }
body.driver-app .mobile-date-nav input { width:165px; }
body.driver-app .mobile-date-nav button { min-width:44px; }
body.driver-app .mobile-panel { margin-bottom:10px; }
body.driver-app .mobile-panel-head { padding:10px 12px; gap:8px; }
body.driver-app .mobile-panel-head h2 { font-size:18px; margin:3px 0; }
body.driver-app .mobile-section-title { margin:12px 2px 7px; }
body.driver-app .mobile-section-title h2 { font-size:18px; margin:3px 0; }
body.driver-app .mobile-eyebrow { letter-spacing:.1em; }

/* Workday: status and times remain visible, with less space between them. */
body.driver-app .workday-body { padding:12px; }
body.driver-app .workday-intro { margin:0 0 9px; line-height:1.4; }
body.driver-app .workday-state { margin-top:7px; padding:7px 10px; font-size:14px; }
body.driver-app .workday-state>span { margin-top:2px; }
body.driver-app .workday-clock { padding:10px 12px; margin-bottom:9px; gap:8px; }
body.driver-app .workday-clock>div { display:flex; align-items:baseline; flex-wrap:wrap; gap:3px 12px; }
body.driver-app .workday-clock small { margin:0; }
body.driver-app .workday-clock strong { font-size:24px; }
body.driver-app .workday-saved-start { padding:8px 10px; margin-bottom:9px; gap:4px 20px; }
body.driver-app .workday-saved-start p { margin:0; }
body.driver-app .workday-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
body.driver-app .workday-actions button { min-height:46px; }
body.driver-app .workday-actions button:only-child { grid-column:1/-1; }
body.driver-app .workday-details { margin-top:10px; padding-top:4px; }
body.driver-app .workday-details summary { display:flex; align-items:center; }
body.driver-app .workday-details summary::before { content:'▸'; margin-right:6px; }
body.driver-app .workday-details[open] summary::before { content:'▾'; }
body.driver-app .workday-details summary::marker { content:''; }
body.driver-app .workday-facts { gap:6px 16px; margin:8px 0; }
body.driver-app .workday-facts div { padding:6px 0; }
body.driver-app .workday-facts dd { margin-top:2px; }
body.driver-app .workday-hint { margin-top:8px; line-height:1.4; }
body.driver-app .workday-start-fields { gap:8px; margin:8px 0 10px; }
body.driver-app .workday-start-fields>div,body.driver-app .workday-start-fields>label { padding:8px 10px; }
body.driver-app .workday-start-fields b { margin-top:4px; font-size:22px; }
body.driver-app .workday-start-reason textarea { min-height:70px; }
body.driver-app .workday-private-plan { padding:8px 10px; margin-bottom:9px; }
body.driver-app .workday-booking-notice { margin:9px 0; padding:10px 12px; }
body.driver-app .workday-booking-notice p { margin:3px 0; font-size:15px; }
body.driver-app .workday-warning { margin:8px 0; padding:9px 10px; }

/* Assigned tours, vehicle reports, time entries and personal information. */
body.driver-app .mobile-jobs { gap:8px; }
body.driver-app .mobile-job-card { padding:10px 12px; gap:10px; }
body.driver-app .mobile-job-card h2 { font-size:18px; margin:0 0 3px; }
body.driver-app .mobile-job-position { width:36px; height:36px; font-size:16px; }
body.driver-app .mobile-job-card { grid-template-columns:36px minmax(0,1fr) auto; }
body.driver-app .mobile-job-card p { margin:3px 0; }
body.driver-app .mobile-job-meta { margin-top:5px; gap:5px; }
body.driver-app .mobile-job-card em { padding:5px 7px; font-size:11px; }
body.driver-app .mobile-planned-times { margin:6px 0; gap:6px; }
body.driver-app .mobile-planned-times>span { padding:6px 8px; }
body.driver-app .mobile-planned-times b { font-size:20px; margin-top:2px; }
body.driver-app .vdr-panel { padding:12px; margin:10px 0; }
body.driver-app .vdr-panel h2 { font-size:18px; margin:3px 0; }
body.driver-app .vdr-panel>p { margin:7px 0; }
body.driver-app .vdr-card { padding:9px 10px; margin-top:7px; gap:10px; }
body.driver-app .workday-manual { padding:7px 12px; }
body.driver-app .workday-manual summary { padding:10px 0; }
body.driver-app .mobile-time-form { gap:10px; padding:12px; }
body.driver-app .mobile-time-form label,body.driver-app .mobile-fields label { font-size:14px; }
body.driver-app .workday-manual .mobile-time-form { padding:10px 0 0; }
body.driver-app .mobile-time-entries { padding:10px 12px; }
body.driver-app .mobile-personal-stats { gap:8px; margin-top:10px; }
body.driver-app .mobile-personal-stats article { padding:9px 11px; }
body.driver-app .mobile-personal-stats b { font-size:20px; margin:3px 0; }
body.driver-app .mobile-dashboard-task-panel { margin-top:10px; }
body.driver-app .mobile-dashboard-tasks { padding:10px 12px; gap:8px; }
body.driver-app .mobile-dashboard-task { padding:9px 10px; }
body.driver-app .mobile-yard-work,body.driver-app .mobile-companion-card { padding:10px 12px; margin:8px 0; }
body.driver-app .mobile-companion-card h2 { font-size:18px; margin:3px 0 6px; }
body.driver-app .mobile-companion-card p { margin:5px 0; }

/* Order detail and its entry pages: compact spacing, unchanged input workflow. */
body.driver-app .mobile-back { margin-bottom:10px; padding:9px 12px; }
body.driver-app .mobile-job-hero { padding:14px; }
body.driver-app .mobile-job-hero h1,body.driver-app .mobile-job-hero h2 { font-size:23px; margin:5px 0; }
body.driver-app .mobile-job-hero p { margin:6px 0; }
body.driver-app .mobile-contact-actions { gap:8px; margin:10px 0; }
body.driver-app .mobile-contact-actions a { min-height:44px; padding:9px 12px; }
body.driver-app .workflow-body,body.driver-app .waiting-body,
body.driver-app .job-notes-body,body.driver-app .signoff-body,
body.driver-app .driver-trips-body,body.driver-app .driver-trip-fields { padding:12px; }
body.driver-app .workflow-steps { margin-bottom:12px; }
body.driver-app .workflow-clock { padding:12px; }
body.driver-app .workflow-clock strong { font-size:27px; margin:4px 0; }
body.driver-app .workflow-stamps { gap:8px; margin:9px 0; }
body.driver-app .workflow-start,body.driver-app .workflow-stop,
body.driver-app .waiting-start,body.driver-app .waiting-resume,body.driver-app .journey-next { min-height:48px; font-size:17px; }
body.driver-app .workflow-upload-section { margin-top:12px; }
body.driver-app .workflow-hint { margin:8px 0 12px; }
body.driver-app .waiting-summary { margin-bottom:10px; }
body.driver-app .waiting-summary strong { font-size:25px; }
body.driver-app .signoff-preview { padding:12px; }
body.driver-app .signoff-preview h3 { font-size:19px; margin:8px 0; }
body.driver-app .driver-trip-list { gap:7px; margin:8px 0 10px; }
body.driver-app .driver-trip-row { padding:10px; }
body.driver-app .driver-trip-form label { margin-bottom:10px; }
body.driver-app .driver-extra>summary { padding:8px 12px; }
body.driver-app [data-driver-page] h2 { font-size:21px; }
body.driver-app .workday-review-head,body.driver-app .vdr-head,
body.driver-app .delivery-editor-head,body.driver-app .mobile-dialog-head { padding:12px; gap:8px; }
body.driver-app .workday-review-head,body.driver-app .vdr-head { display:grid; grid-template-columns:minmax(0,1fr) auto; }
body.driver-app .workday-review-body { padding:0 12px 12px; }
body.driver-app .workday-review-total { padding:12px; margin-top:10px; }
body.driver-app .workday-review-body>label { margin-top:10px; gap:5px; }
body.driver-app .workday-review-actions,body.driver-app .driver-trip-actions,
body.driver-app .vdr-footer,body.driver-app .delivery-editor-footer { padding:10px 12px; gap:8px; }
body.driver-app .vdr-body,body.driver-app .delivery-editor-body { padding:12px; }
body.driver-app .vdr-grid,body.driver-app .vdr-refuel-grid { gap:10px; }
body.driver-app .vdr-fuel { padding:10px; margin:8px 0; }
body.driver-app .delivery-body,body.driver-app .delivery-report { padding:12px; }
body.driver-app .delivery-report .delivery-report { padding:0; }
body.driver-app .delivery-line { padding:10px; margin:7px 0; }
body.driver-app .delivery-totals { padding:10px; margin-top:9px; }
body.driver-app .job-note-list { gap:8px; margin-top:12px; }
body.driver-app .job-note-card { padding:10px; }
body.driver-app #jobNoteForm { gap:9px; }
body.driver-app .mobile-main #mobileAssignedTours { margin-bottom:12px; }
body.driver-app .workflow-travel { padding:10px 12px; margin:10px 0; }
body.driver-app .workflow-travel h3 { margin-bottom:8px; }
body.driver-app .workflow-next,body.driver-app .workflow-confirm { margin:12px 0; padding:10px 12px; }
body.driver-app .mobile-login-card { padding:22px; }
body.driver-app .mobile-login-card h1 { font-size:25px; }
body.driver-app .mobile-login-card>img { margin-bottom:16px; }

@media(min-width:700px) {
  body.driver-app .workday-panel>.mobile-panel-head>div { display:grid; width:100%; grid-template-columns:minmax(0,1fr) auto; column-gap:18px; }
  body.driver-app .workday-panel>.mobile-panel-head>div>.mobile-eyebrow,
  body.driver-app .workday-panel>.mobile-panel-head>div>h2,
  body.driver-app .workday-panel>.mobile-panel-head>div>small { grid-column:1; }
  body.driver-app .workday-panel .workday-state { grid-column:2; grid-row:1/span 3; align-self:center; margin:0; max-width:360px; }
}
@media(max-width:600px) {
  body.driver-app .mobile-main { padding:10px 10px max(24px,env(safe-area-inset-bottom)); }
  body.driver-app .mobile-header { display:grid; grid-template-columns:72px minmax(0,1fr) auto; min-height:58px; padding:8px 10px; gap:8px; }
  body.driver-app .mobile-brand img { width:72px; }
  body.driver-app .mobile-vehicle { max-width:none; margin:0; }
  body.driver-app .mobile-vehicle b { font-size:14px; }
  body.driver-app .mobile-ghost { font-size:13px; padding:8px; }
  body.driver-app .mobile-date-head { gap:6px; }
  body.driver-app .mobile-date-head h1 { font-size:21px; }
  body.driver-app .mobile-date-nav { width:100%; }
  body.driver-app .mobile-date-nav input { width:0; flex:1; }
  body.driver-app .mobile-panel-head { gap:6px; }
  body.driver-app .mobile-panel-head button { width:auto; }
  body.driver-app .workday-clock { flex-wrap:wrap; }
  body.driver-app .workday-clock strong { font-size:22px; }
  body.driver-app .workday-clock time { margin-left:auto; }
  body.driver-app .workday-start-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.driver-app .workday-actions button { font-size:14px; padding:9px 8px; }
  body.driver-app .mobile-job-card { padding:10px; }
  body.driver-app .mobile-job-card { grid-template-columns:36px minmax(0,1fr); }
  body.driver-app .mobile-job-card h2 { font-size:18px; }
  body.driver-app .mobile-contact-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.driver-app .mobile-contact-actions a { font-size:14px; }
  body.driver-app .mobile-job-hero h1,body.driver-app .mobile-job-hero h2 { font-size:21px; }
}
@media(min-width:360px) and (max-width:600px) {
  body.driver-app .workday-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.driver-app .vdr-card { flex-direction:row; align-items:center; }
  body.driver-app .vdr-card button { width:auto; flex-shrink:0; }
}
@media(max-width:359px) {
  body.driver-app .workday-actions,body.driver-app .mobile-contact-actions { grid-template-columns:minmax(0,1fr); }
}
