/* Mobile admin v4: task-first staff UI built specifically for phones. */
@media (max-width:760px){
  :root{--staff-header-h:68px;--staff-nav-h:72px;--staff-bg:#f4f7f7;--staff-ink:#17343e;--staff-muted:#708389;--staff-line:#d9e4e2;--staff-teal:#0d7474;--staff-teal-soft:#e6f3f1;--staff-card:#fff}
  body.staff-mobile-v4{padding:0 0 calc(var(--staff-nav-h) + env(safe-area-inset-bottom))!important;background:var(--staff-bg)!important;color:var(--staff-ink)!important}
  body.staff-mobile-v4 .mobile-admin-nav,body.staff-mobile-v4 .mobile-admin-sheet,body.staff-mobile-v4 .mobile-admin-backdrop{display:none!important}
  body.staff-mobile-v4 .sidebar{display:none!important}
  body.staff-mobile-v4 .admin{display:block!important;width:100%!important;min-height:100dvh!important}
  body.staff-mobile-v4 .workspace{width:100%!important;max-width:none!important;min-width:0!important;padding:calc(var(--staff-header-h) + env(safe-area-inset-top) + 12px) 12px calc(var(--staff-nav-h) + env(safe-area-inset-bottom) + 22px)!important;overflow:visible!important;background:var(--staff-bg)!important}
  body.staff-mobile-v4 .workspace>.topline,body.staff-mobile-v4 .workspace>.section-title{display:none!important}
  body.staff-mobile-v4 button,body.staff-mobile-v4 input,body.staff-mobile-v4 select,body.staff-mobile-v4 textarea{font-size:16px!important}

  /* Fixed staff header */
  .staff-mobile-header{position:fixed;top:0;left:0;right:0;z-index:420;display:flex;align-items:center;justify-content:space-between;gap:10px;height:calc(var(--staff-header-h) + env(safe-area-inset-top));padding:calc(7px + env(safe-area-inset-top)) 12px 7px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--staff-line);box-shadow:0 8px 26px rgba(18,54,65,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .staff-mobile-brand{display:flex;align-items:center;gap:9px;min-width:0;flex:1}
  .staff-mobile-brand img{width:54px;height:38px;object-fit:contain;object-position:left center;flex:none}
  .staff-mobile-brand>div{min-width:0;display:flex;flex-direction:column;line-height:1.05}
  .staff-mobile-brand small{font-size:.5rem;font-weight:900;letter-spacing:.12em;color:#198b88}
  .staff-mobile-brand strong{margin-top:3px;font-size:1.02rem;font-weight:900;letter-spacing:-.015em;color:var(--staff-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .staff-mobile-brand span{margin-top:2px;font-size:.57rem;font-weight:700;color:var(--staff-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .staff-tools-button{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;width:auto!important;min-width:70px!important;height:42px!important;min-height:42px!important;padding:0 10px!important;border:1px solid #ccdcda!important;border-radius:13px!important;background:#f7faf9!important;color:var(--staff-ink)!important;box-shadow:none!important;font-size:.68rem!important;font-weight:850!important}
  .staff-tools-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

  /* Four core workflows stay one tap away. */
  .staff-core-nav{position:fixed;left:0;right:0;bottom:0;z-index:430;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:calc(var(--staff-nav-h) + env(safe-area-inset-bottom));padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:rgba(255,255,255,.985);border-top:1px solid #d5e1df;box-shadow:0 -10px 30px rgba(18,54,65,.13);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .staff-core-nav button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-width:0!important;min-height:56px!important;padding:4px 2px!important;border:0!important;border-radius:15px!important;background:transparent!important;color:#6c8087!important;box-shadow:none!important;font-size:.62rem!important;font-weight:850!important;line-height:1!important}
  .staff-core-nav button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .staff-core-nav button.current{background:var(--staff-teal-soft)!important;color:var(--staff-teal)!important}
  .staff-core-nav button.current:before{content:"";position:absolute;margin-top:-51px;width:20px;height:3px;border-radius:999px;background:var(--staff-teal)}

  /* Secondary tools are grouped like an app menu rather than dumped behind More. */
  .staff-mobile-scrim{position:fixed;inset:0;z-index:440;display:none;background:rgba(7,27,34,.42);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
  .staff-mobile-scrim.open{display:block}
  .staff-mobile-drawer{position:fixed;top:0;right:0;bottom:0;z-index:450;width:min(88vw,360px);padding:calc(15px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));transform:translateX(104%);transition:transform .2s ease;background:#fff;border-left:1px solid var(--staff-line);box-shadow:-24px 0 60px rgba(7,30,38,.24);overflow:auto}
  .staff-mobile-drawer.open{transform:translateX(0)}
  .staff-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:5px 2px 15px;border-bottom:1px solid #e4ecea}
  .staff-drawer-head small{display:block;font-size:.52rem;font-weight:900;letter-spacing:.12em;color:#1b8b88}
  .staff-drawer-head strong{display:block;margin-top:4px;font-size:1.32rem;letter-spacing:-.025em;color:var(--staff-ink)}
  .staff-drawer-head span{display:block;margin-top:3px;font-size:.66rem;color:var(--staff-muted)}
  .staff-drawer-head button{width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#edf3f2!important;color:var(--staff-ink)!important;font-size:1.2rem!important}
  .staff-drawer-group{padding:15px 0 3px}
  .staff-drawer-group>p{margin:0 0 7px 4px;font-size:.54rem;font-weight:900;letter-spacing:.11em;color:#829298}
  .staff-drawer-group>button{display:grid!important;grid-template-columns:38px minmax(0,1fr) 18px!important;align-items:center!important;gap:9px!important;width:100%!important;min-height:62px!important;margin:0 0 6px!important;padding:9px 10px!important;border:1px solid #dce6e4!important;border-radius:14px!important;background:#fafcfc!important;color:var(--staff-ink)!important;text-align:left!important;box-shadow:none!important}
  .staff-drawer-group>button.selected{border-color:#76b5ae!important;background:#eff8f6!important}
  .drawer-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:#edf4f3;color:var(--staff-teal)}
  .drawer-icon svg,.staff-drawer-group>button>svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .staff-drawer-group b{display:block;font-size:.8rem;line-height:1.15}
  .staff-drawer-group small{display:block;margin-top:3px;font-size:.6rem;line-height:1.3;color:var(--staff-muted)}
  .staff-drawer-group>button>svg{color:#8b9a9f;width:16px;height:16px}
  .staff-drawer-links{display:grid;gap:7px;margin-top:14px;padding-top:14px;border-top:1px solid #e4ecea}
  .staff-drawer-links a,.staff-drawer-links button{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:46px!important;padding:10px 12px!important;border-radius:12px!important;font-size:.72rem!important;font-weight:800!important;text-decoration:none!important}
  .staff-drawer-links a{background:#edf4f3;color:var(--staff-ink)}
  .staff-drawer-links button{border:1px solid #efd7d7!important;background:#fff8f8!important;color:#a23a3a!important}

  /* Page rhythm */
  body.staff-mobile-v4 #panel{min-width:0!important}
  body.staff-mobile-v4 #panel>h2{margin:18px 2px 8px!important;font-size:.95rem!important;font-weight:900!important;letter-spacing:-.015em!important;color:var(--staff-ink)!important}
  body.staff-mobile-v4 #panel>.notice{margin:8px 0 12px!important;padding:10px 11px!important;border-radius:13px!important;border:1px solid #dce7e5!important;background:#f9fbfb!important;font-size:.68rem!important;line-height:1.45!important;color:#587078!important}
  body.staff-mobile-v4 .badge{white-space:nowrap!important}

  /* Dashboard: today first, then exceptions. */
  .staff-today-actions{display:grid;gap:10px;margin:0 0 10px;padding:13px;border-radius:18px;background:linear-gradient(145deg,#123f4a,#0e555c);color:#fff;box-shadow:0 9px 24px rgba(18,63,74,.18)}
  .staff-today-actions>div:first-child small{display:block;font-size:.52rem;font-weight:900;letter-spacing:.13em;color:#8fe2dc}
  .staff-today-actions>div:first-child strong{display:block;margin-top:3px;font-size:1.17rem;letter-spacing:-.02em}
  .staff-quick-actions{display:grid;grid-template-columns:1.25fr .9fr .9fr;gap:6px}
  .staff-quick-actions button{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;min-height:42px!important;padding:7px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:11px!important;background:rgba(255,255,255,.1)!important;color:#fff!important;box-shadow:none!important;font-size:.62rem!important;font-weight:850!important}
  .staff-quick-actions button:first-child{background:#fff!important;color:#123f4a!important}
  .staff-quick-actions svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  body[data-staff-view="dashboard"] .stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:0 0 12px!important}
  body[data-staff-view="dashboard"] .metric-card{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;min-width:0!important;min-height:82px!important;padding:9px!important;border:1px solid var(--staff-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 3px 11px rgba(18,54,65,.035)!important;text-align:left!important}
  body[data-staff-view="dashboard"] .metric-card span{font-size:.54rem!important;line-height:1.2!important;color:var(--staff-muted)!important}
  body[data-staff-view="dashboard"] .metric-card strong{margin:4px 0 1px!important;font-size:1.35rem!important;line-height:1!important;color:var(--staff-ink)!important}
  body[data-staff-view="dashboard"] .metric-card small{margin-top:auto!important;font-size:.5rem!important;color:#16817f!important}

  /* Horizontal route timeline used for today's schedule and the manifest header. */
  .staff-route-timeline-wrap{overflow:visible!important;margin:0 0 10px!important;background:transparent!important;border:0!important}
  .staff-route-timeline{display:grid;grid-template-columns:104px minmax(0,1fr);gap:7px;padding:8px;border:1px solid #d6e3e0;border-radius:16px;background:#fff;box-shadow:0 4px 13px rgba(18,54,65,.04)}
  .staff-route-date{display:flex;flex-direction:column;justify-content:center;padding:9px;border-radius:11px;background:#123f4a;color:#fff}
  .staff-route-date small{font-size:.48rem;font-weight:900;letter-spacing:.1em;color:#91d7d2}
  .staff-route-date strong{margin-top:4px;font-size:.72rem;line-height:1.25}
  .staff-route-scroll{display:flex;gap:5px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:1px}
  .staff-route-scroll::-webkit-scrollbar{display:none}
  .staff-route-step{flex:0 0 94px;display:flex;flex-direction:column;justify-content:center;min-height:58px;padding:7px;border-radius:10px;background:#edf5f4;scroll-snap-align:start}
  .staff-route-step small{font-size:.48rem;font-weight:850;line-height:1.15;color:#71858b}
  .staff-route-step strong{margin-top:3px;font-size:.7rem;line-height:1.2;color:var(--staff-ink)}

  /* Reservation workflow. */
  body[data-staff-view="reservations"] .reservation-toolbar{display:block!important;margin:0 0 9px!important;padding:0!important;border:0!important;background:transparent!important}
  .staff-reservation-primary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;margin-bottom:7px}
  .staff-reservation-primary #add-reservation{min-height:46px!important;padding:9px 12px!important;border-radius:12px!important;background:var(--staff-teal)!important;color:#fff!important;font-size:.68rem!important;font-weight:900!important;white-space:nowrap!important}
  .staff-reservation-primary #search{min-width:0!important;min-height:46px!important;padding:9px 11px!important;border:1px solid #cfddda!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
  .staff-filter-panel{border:1px solid #d9e4e2;border-radius:12px;background:#fff;overflow:hidden}
  .staff-filter-panel>summary{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:8px 11px;cursor:pointer;list-style:none;font-size:.68rem;font-weight:850;color:var(--staff-ink)}
  .staff-filter-panel>summary::-webkit-details-marker{display:none}
  .staff-filter-panel>summary span{font-size:.56rem;font-weight:700;color:var(--staff-muted)}
  .staff-filter-panel[open]>summary{border-bottom:1px solid #e4ecea;background:#f8fbfa}
  .staff-filter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px}
  .staff-filter-fields label{min-width:0!important;margin:0!important;font-size:.58rem!important;color:var(--staff-muted)!important}
  .staff-filter-fields select{width:100%!important;min-height:40px!important;margin-top:3px!important;padding:7px!important;border-radius:9px!important}
  #active-filter .context-bar{margin:7px 0!important;padding:7px 9px!important;border-radius:10px!important;font-size:.65rem!important}

  /* Reservation tables become deliberate cards with only relevant context. */
  .staff-reservation-cards{overflow:visible!important;background:transparent!important;border:0!important}
  .staff-reservation-cards table,.staff-reservation-cards tbody{display:block!important;width:100%!important;min-width:0!important}
  .staff-reservation-cards thead{display:none!important}
  .staff-reservation-cards tr{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:5px 7px!important;width:100%!important;margin:0 0 8px!important;padding:11px!important;border:1px solid var(--staff-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 4px 13px rgba(18,54,65,.035)!important}
  .staff-reservation-cards td{display:block!important;min-width:0!important;padding:0!important;border:0!important;font-size:.68rem!important;line-height:1.32!important;overflow-wrap:anywhere!important}
  .staff-reservation-cards td:before{content:attr(data-label);display:block;margin-bottom:2px;font-size:.46rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#819197}
  .staff-reservation-cards td[data-label^="Customer"]{grid-column:1;grid-row:1;padding-right:3px!important;font-size:.78rem!important}
  .staff-reservation-cards td[data-label^="Customer"] b{display:block;font-size:.83rem!important;color:var(--staff-ink)!important}
  .staff-reservation-cards td[data-label^="Customer"] small{display:block;margin-top:3px;font-size:.59rem!important;color:#63777e!important}
  .staff-reservation-cards td[data-label="Status"]{grid-column:2;grid-row:1;align-self:start;text-align:right}
  .staff-reservation-cards td[data-label="Status"]:before{display:none}
  .staff-reservation-cards td[data-label="Trip dates"],.staff-reservation-cards td[data-label="Outbound"],.staff-reservation-cards td[data-label="Return"]{padding:7px!important;border-radius:10px!important;background:#f1f6f5!important;color:var(--staff-ink)!important}
  .staff-reservation-cards td[data-label="Requested"],.staff-reservation-cards td[data-label="Riders"],.staff-reservation-cards td[data-label^="Estimated"],.staff-reservation-cards td[data-label^="Billing"],.staff-reservation-cards td[data-label="Payment"]{padding:5px 0!important;color:#566e75!important}
  .staff-reservation-cards td[data-label="Actions"],.staff-reservation-cards td[data-label=""]:last-child{grid-column:1/-1!important;display:flex!important;justify-content:flex-end!important;margin-top:3px!important;padding-top:8px!important;border-top:1px solid #ebf0ef!important}
  .staff-reservation-cards td[data-label="Actions"]:before,.staff-reservation-cards td[data-label=""]:last-child:before{display:none}
  .staff-reservation-cards [data-review]{width:100%!important;min-height:40px!important;padding:8px 10px!important;border:1px solid #b9d8d4!important;border-radius:10px!important;background:#edf7f5!important;color:#0d6f6e!important;font-size:.65rem!important;font-weight:900!important}

  /* Manifest: date navigation, route summary, then compact loads. */
  body[data-staff-view="manifest"] .manifest-nav{display:grid!important;grid-template-columns:42px minmax(0,1fr) 42px!important;gap:6px!important;margin:0 0 10px!important;padding:8px!important;border:1px solid var(--staff-line)!important;border-radius:15px!important;background:#fff!important}
  body[data-staff-view="manifest"] .manifest-nav #manifest-prev,body[data-staff-view="manifest"] .manifest-nav #manifest-next{grid-row:1!important;width:42px!important;min-width:42px!important;height:44px!important;min-height:44px!important;padding:0!important;border-radius:11px!important;background:#edf3f2!important;color:var(--staff-ink)!important;font-size:1.3rem!important}
  body[data-staff-view="manifest"] .manifest-nav #manifest-prev{grid-column:1!important}body[data-staff-view="manifest"] .manifest-nav #manifest-next{grid-column:3!important}
  body[data-staff-view="manifest"] .manifest-nav #manifestdate{grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;padding:7px 8px!important;border-radius:11px!important;background:#fff!important;text-align:center!important;font-weight:850!important}
  body[data-staff-view="manifest"] .manifest-nav #manifest-run-slot{grid-column:1/-1!important;grid-row:2!important}
  body[data-staff-view="manifest"] .manifest-nav #print-manifest{grid-column:1/-1!important;grid-row:3!important;min-height:40px!important;border-radius:10px!important;background:#123f4a!important;color:#fff!important;font-size:.66rem!important;font-weight:850!important}
  .staff-manifest-run-card{margin:12px 0!important;padding:11px!important;border:1px solid var(--staff-line)!important;border-radius:17px!important;background:#fff!important;box-shadow:0 4px 13px rgba(18,54,65,.035)!important}
  .staff-manifest-run-card>h2{margin:0 0 7px!important;font-size:.86rem!important}
  .staff-manifest-run-card .route-heading{margin:12px 0 3px!important;padding-top:10px!important;border-top:1px solid #e6edec!important;font-size:.76rem!important;color:var(--staff-ink)!important}
  .staff-manifest-run-card .route-heading+p{margin:0 0 7px!important;padding:6px 8px!important;border-radius:9px!important;background:#f1f6f5!important;font-size:.61rem!important;color:#60767d!important}

  /* Schedule: agenda first, true compact calendar available on demand. */
  body[data-staff-view="schedule"] .schedule-nav.primary-toolbar{display:block!important;margin:0 0 10px!important;padding:8px!important;border:1px solid var(--staff-line)!important;border-radius:16px!important;background:#fff!important}
  .staff-schedule-month{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:6px}
  .staff-schedule-month>button{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border-radius:11px!important;background:#edf3f2!important;color:var(--staff-ink)!important}
  .staff-schedule-month>strong{text-align:center;font-size:.83rem!important;color:var(--staff-ink)!important}
  .staff-schedule-view{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;margin-top:7px}
  .staff-schedule-view>#schedule-today{min-height:40px!important;padding:7px 10px!important;border-radius:10px!important;background:#123f4a!important;color:#fff!important;font-size:.64rem!important;font-weight:850!important}
  .staff-schedule-view>#schedule-filter{min-height:40px!important;padding:7px 8px!important;border-radius:10px!important}
  .staff-schedule-view>.view-toggle{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;margin:0!important;padding:3px!important;border-radius:10px!important;background:#eef3f2!important}
  .staff-schedule-view>.view-toggle button{min-height:36px!important;border-radius:8px!important;font-size:.64rem!important;font-weight:850!important}
  .staff-schedule-tools{margin-top:7px;border-top:1px solid #e5eceb}
  .staff-schedule-tools>summary{display:flex;align-items:center;justify-content:space-between;min-height:39px;padding:7px 2px 0;list-style:none;cursor:pointer;font-size:.64rem;font-weight:850;color:var(--staff-ink)}
  .staff-schedule-tools>summary::-webkit-details-marker{display:none}.staff-schedule-tools>summary span{font-size:.52rem;font-weight:700;color:var(--staff-muted)}
  .staff-schedule-tools>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:7px}
  .staff-schedule-tools>div>*{width:100%!important;min-height:39px!important;margin:0!important;border-radius:9px!important;font-size:.62rem!important}

  .staff-schedule-list-cards{overflow:visible!important;background:transparent!important;border:0!important}
  .staff-schedule-list-cards table,.staff-schedule-list-cards tbody{display:block!important;width:100%!important;min-width:0!important}.staff-schedule-list-cards thead{display:none!important}
  .staff-schedule-list-cards tr{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important;margin:0 0 8px!important;padding:10px!important;border:1px solid var(--staff-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:0 3px 11px rgba(18,54,65,.035)!important}
  .staff-schedule-list-cards td{display:block!important;min-width:0!important;padding:0!important;border:0!important;font-size:.66rem!important;line-height:1.32!important}.staff-schedule-list-cards td:before{content:attr(data-label);display:block;margin-bottom:2px;font-size:.46rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#829298}
  .staff-schedule-list-cards td[data-label="Date / runs"]{grid-column:1;grid-row:1;font-size:.77rem!important;font-weight:850!important;color:var(--staff-ink)!important}.staff-schedule-list-cards td[data-label="Status"]{grid-column:2;grid-row:1;text-align:right}.staff-schedule-list-cards td[data-label="Status"]:before{display:none}
  .staff-schedule-list-cards td[data-label="Booked load"]{grid-column:1/-1;padding:7px!important;border-radius:9px!important;background:#f1f6f5!important}.staff-schedule-list-cards td[data-label="Notes"]{grid-column:1/-1;color:#60767d!important}
  .staff-schedule-list-cards td[data-label=""]:last-child{grid-column:1/-1;display:flex!important;justify-content:flex-end;padding-top:7px!important;border-top:1px solid #ebf0ef!important}.staff-schedule-list-cards td[data-label=""]:last-child:before{display:none}.staff-schedule-list-cards td[data-label=""]:last-child button{width:100%!important;min-height:38px!important;border-radius:9px!important;background:#edf7f5!important;color:#0d6f6e!important;font-size:.64rem!important;font-weight:850!important}

  body[data-staff-view="schedule"] #schedule-results>.calendar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important;min-width:0!important;padding:5px!important;border:1px solid var(--staff-line)!important;border-radius:14px!important;background:#fff!important}
  body[data-staff-view="schedule"] #schedule-results .calendar-head{padding:3px 0!important;font-size:.48rem!important;text-align:center!important;color:#7c8e93!important}
  body[data-staff-view="schedule"] #schedule-results .calendar-day,body[data-staff-view="schedule"] #schedule-results .calendar-blank{min-width:0!important;min-height:53px!important;padding:4px!important;border:1px solid #e3eae9!important;border-radius:8px!important;background:#f7f9f9!important;overflow:hidden!important}
  body[data-staff-view="schedule"] #schedule-results .calendar-day.published{border-color:#78b5ab!important;background:#eaf6f2!important}
  body[data-staff-view="schedule"] #schedule-results .calendar-day>b,body[data-staff-view="schedule"] #schedule-results .calendar-day>div b{font-size:.63rem!important}.calendar-day .badge{display:none!important}
  body[data-staff-view="schedule"] #schedule-results .day-inspect{display:block!important;width:100%!important;min-height:0!important;margin-top:3px!important;padding:0!important;border:0!important;background:transparent!important;color:#195f58!important;font-size:.48rem!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:left!important}
  body[data-staff-view="schedule"] #schedule-results .day-inspect small,body[data-staff-view="schedule"] #schedule-results .holiday{display:none!important}

  /* Secondary office views */
  body[data-staff-view="customers"] #panel>.toolbar,body[data-staff-view="parking"] .parking-toolbar,body[data-staff-view="staff"] #panel>.toolbar,body[data-staff-view="settings"] .toolbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin:0 0 9px!important;padding:8px!important;border:1px solid var(--staff-line)!important;border-radius:14px!important;background:#fff!important}
  body[data-staff-view="customers"] #customersearch,body[data-staff-view="parking"] #parking-search{grid-column:1/-1!important}
  body[data-staff-view="customers"] .table-wrap,body[data-staff-view="staff"] .table-wrap,body[data-staff-view="settings"] .table-wrap{overflow-x:auto!important;border-radius:13px!important}
  body.staff-mobile-v4 .record-card,body.staff-mobile-v4 .staff-card,body.staff-mobile-v4 .settings-card,body.staff-mobile-v4 .review-card{margin-bottom:8px!important;padding:11px!important;border:1px solid var(--staff-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:0 3px 11px rgba(18,54,65,.035)!important}
  .staff-mobile-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;margin:0 0 9px!important;padding:4px!important;border-radius:12px!important;background:#e9efee!important}
  .staff-mobile-tabs button{min-height:38px!important;padding:6px!important;border-radius:9px!important;font-size:.62rem!important;font-weight:850!important}

  /* Reservation review / measurement entry is a dedicated mobile sheet. */
  dialog.staff-reservation-review{inset:auto 0 0 0!important;width:100%!important;max-width:none!important;height:min(94dvh,920px)!important;max-height:94dvh!important;margin:0!important;padding:0!important;border:0!important;border-radius:24px 24px 0 0!important;background:#f4f7f7!important;box-shadow:0 -24px 60px rgba(7,30,38,.28)!important;overflow:hidden!important}
  dialog.staff-reservation-review::backdrop{background:rgba(7,27,34,.5)!important;backdrop-filter:blur(2px)!important}
  dialog.staff-reservation-review #modalform{display:flex!important;flex-direction:column!important;height:100%!important;max-height:none!important;padding:0 12px calc(12px + env(safe-area-inset-bottom))!important;overflow:auto!important}
  dialog.staff-reservation-review #modalform>.section-title{position:sticky!important;top:0!important;z-index:4!important;display:flex!important;align-items:center!important;justify-content:space-between!important;margin:0 -12px 10px!important;padding:12px 14px 10px!important;background:rgba(255,255,255,.98)!important;border-bottom:1px solid var(--staff-line)!important;backdrop-filter:blur(14px)!important}
  dialog.staff-reservation-review #modalform>.section-title h2{margin:0!important;font-size:1rem!important;letter-spacing:-.015em!important}
  dialog.staff-reservation-review #modalform>.section-title [data-close]{width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border-radius:50%!important;background:#edf3f2!important;color:var(--staff-ink)!important;font-size:1.15rem!important}
  dialog.staff-reservation-review #modalform>h3{margin:2px 0 2px!important;font-size:1.08rem!important;color:var(--staff-ink)!important}
  dialog.staff-reservation-review #modalform>p{margin:3px 0 8px!important;font-size:.68rem!important;line-height:1.4!important;color:#61777e!important}
  dialog.staff-reservation-review .staff-review-action{position:sticky!important;top:61px!important;z-index:3!important;margin:5px 0 9px!important;padding:8px!important;border:1px solid #cfe0dc!important;border-radius:13px!important;background:#fff!important;box-shadow:0 5px 14px rgba(18,54,65,.06)!important;font-size:.6rem!important;color:#60767d!important}
  dialog.staff-reservation-review .staff-review-action select{width:100%!important;min-height:46px!important;margin-top:4px!important;padding:8px 9px!important;border-radius:10px!important;background:#f6faf9!important;font-weight:850!important;color:var(--staff-ink)!important}
  dialog.staff-reservation-review #reviewitems{display:grid!important;gap:8px!important}
  dialog.staff-reservation-review .staff-measurement-card{margin:0!important;padding:10px!important;border:1px solid var(--staff-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:0 3px 11px rgba(18,54,65,.035)!important}
  dialog.staff-reservation-review .staff-measurement-card legend{padding:0 4px!important;font-size:.66rem!important;font-weight:900!important;color:var(--staff-ink)!important}
  dialog.staff-reservation-review .staff-measurement-card>label{font-size:.6rem!important;color:#61777e!important}
  dialog.staff-reservation-review .staff-measurement-card input,dialog.staff-reservation-review .staff-measurement-card select{min-height:44px!important;padding:8px 9px!important;border-radius:9px!important}
  dialog.staff-reservation-review .staff-measurement-card .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  dialog.staff-reservation-review .staff-measurement-card .remove{display:none!important}
  dialog.staff-reservation-review #modalform>button[type="submit"]{position:sticky!important;bottom:0!important;z-index:5!important;width:100%!important;min-height:50px!important;margin-top:10px!important;padding:10px 12px!important;border:0!important;border-radius:13px!important;background:var(--staff-teal)!important;color:#fff!important;box-shadow:0 -8px 20px rgba(244,247,247,.92),0 6px 16px rgba(13,116,116,.18)!important;font-size:.75rem!important;font-weight:900!important}

  /* Other dialogs are also phone-sized without becoming giant desktop forms. */
  body.staff-mobile-v4 dialog:not(.staff-reservation-review){width:calc(100% - 14px)!important;max-width:520px!important;max-height:90dvh!important;margin:auto 7px 7px!important;border-radius:22px 22px 14px 14px!important;padding:12px!important}
  body.staff-mobile-v4 dialog:not(.staff-reservation-review) .grid{grid-template-columns:1fr!important}
}

@media (max-width:390px){
  .staff-mobile-brand img{width:46px}.staff-mobile-brand strong{font-size:.94rem}.staff-tools-button{min-width:64px!important;padding:0 8px!important}
  body[data-staff-view="dashboard"] .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .staff-quick-actions{grid-template-columns:1.2fr .9fr .9fr}
  .staff-quick-actions button span{font-size:.56rem}
  .staff-reservation-primary{grid-template-columns:1fr!important}.staff-reservation-primary #add-reservation{order:2}.staff-reservation-primary #search{order:1}
  .staff-filter-fields{grid-template-columns:1fr!important}
}
