:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#233c33;background:#f5f3eb;font-size:16px}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:24px;padding:22px 28px;border-bottom:1px solid #d9ddce;background:#faf9f4;flex-wrap:wrap}header strong{font:bold 27px Georgia,serif}small{display:block;font-size:11px;letter-spacing:.07em;margin-top:6px}nav{display:flex;gap:10px}a{color:inherit}nav a{padding:13px;text-decoration:none;border-radius:7px}nav a.active{background:#dfe8dd;font-weight:700}#connection{margin-left:auto;font-size:13px}main{max-width:1800px;margin:auto;padding:28px}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center}h1{font:32px Georgia,serif;margin:0 0 9px}p{line-height:1.5}.heading p{color:#657168;margin:0}.auto{padding:12px 16px;background:#e1eadc;border:1px solid #cadac4;border-radius:9px;font-size:14px;white-space:nowrap}.auto small{font-size:11px;letter-spacing:0}.toolbar{display:flex;align-items:end;gap:14px;margin:24px 0 12px}.search{flex:1}label{display:block;font-size:13px;font-weight:650}input,select{display:block;width:100%;padding:13px;border:1px solid #bfc8bd;border-radius:7px;background:white;font:inherit;color:inherit;margin-top:6px;min-height:48px}button{font:600 15px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#315c48;color:#fff;border:1px solid #315c48;border-radius:8px;padding:13px 16px;min-height:48px;cursor:pointer}button:disabled{opacity:.55;cursor:wait}.secondary{background:#fff;color:#315c48;border-color:#cdd4c7}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bb8132;outline-offset:2px}.check{display:flex;align-items:center;gap:8px}.check input{width:20px;min-height:20px;margin:0}#checkin-options{display:flex;justify-content:space-between;gap:16px;align-items:center;color:#697267;font-size:12px}#summary{margin:23px 0 16px;padding:14px 16px;background:#eaece2;border-radius:7px;font-size:15px}.section-title{font-size:18px;margin:24px 0 13px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}.card{background:#fffefa;border:1px solid #d6dacd;border-radius:12px;overflow:hidden}.card.here{border:2px solid #7d9675}.card.late{border-color:#a75a43}.top{padding:18px 18px 12px}.meta{display:flex;justify-content:space-between;gap:12px;color:#657168;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.name-row{display:flex;gap:12px;justify-content:space-between;align-items:start;margin-top:12px}.name-row h2{font:26px Georgia,serif;margin:0;overflow-wrap:anywhere}.timer{font-size:27px;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap;text-align:right}.timer small{font-size:11px;letter-spacing:0;font-weight:400}.late .timer{color:#a34832}.state{margin-top:12px;font-size:13px;font-weight:650}.source{font-size:12px;color:#6d776c;line-height:1.5;margin-top:8px}.items{padding:0 18px}.item{padding:11px 0;border-top:1px solid #eceee5;font-size:16px}.modifiers{margin:5px 0 0 17px;padding:0;color:#697267;font-size:13px}.actions{display:flex;flex-wrap:wrap;gap:8px;padding:16px 18px}.actions button{flex:1}.actions .minor{flex:0 0 100%;min-height:36px;padding:7px;background:transparent;color:#677365;border:none;font-size:12px;text-decoration:underline}details summary{cursor:pointer;min-height:44px;padding:12px 0;color:#62705f;font-size:14px}details ul{margin:0 0 12px}.empty{padding:40px 24px;text-align:center;border:1px dashed #c2cdbb;border-radius:12px}.empty h2{font:25px Georgia,serif}.footnote{font-size:12px;color:#687464;margin-top:26px}#notice,#sync-warning{padding:15px;border-radius:8px;background:#fff0ce;border:1px solid #ddc38b;margin-top:18px;line-height:1.5}#notice button{min-height:36px;padding:7px 12px;margin-left:12px}#sync-warning{background:#f6e3da;color:#853d2c}dialog{width:min(580px,94vw);max-height:90vh;overflow:auto;border:1px solid #cad3c2;border-radius:14px;padding:25px;color:inherit;background:#fffefa}dialog::backdrop{background:#172c2673}dialog h2{font:28px Georgia,serif;margin:0 0 15px}dialog .buttons{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}dialog .buttons button{flex:1}dialog li{margin-bottom:12px;line-height:1.45}.history-event{border-top:1px solid #dde2d5;padding:12px 0;font-size:14px}.history-event small{letter-spacing:0;font-size:12px}#login{max-width:420px;margin:70px auto;padding:25px}#login button{width:100%;margin-top:18px}#login-error{color:#9a3f2b}.restore-note{padding:10px 18px;background:#fcf0d9;font-size:12px}body.display .grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}body.display .name-row h2{font-size:30px}body.display .timer{font-size:36px}[hidden]{display:none!important}@media(max-width:800px){header{padding:18px;gap:12px}header strong{font-size:24px}#connection{width:100%;margin-left:0}main{padding:18px}.heading{align-items:start;flex-direction:column;gap:12px}h1{font-size:29px}.auto{padding:8px 12px}.toolbar{flex-wrap:wrap;gap:10px}.toolbar .search{flex-basis:100%}.toolbar label:not(.search){flex:1}.toolbar button{flex:1}#checkin-options{align-items:start;flex-direction:column}.grid,body.display .grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(prefers-reduced-motion:no-preference){button:active{transform:translateY(1px)}}

.route-badge{display:inline-block;background:#e1eadc;border:1px solid #bccfb5;border-radius:6px;padding:8px 11px;font-size:16px;font-weight:750;margin-top:13px}.categories{font-size:12px;color:#52604c;line-height:1.5;margin-top:6px}.pickup-status{font-size:12px;color:#855c25;margin-top:7px}.item-route{font-size:11px;letter-spacing:0;color:#637360}#routing-warning{padding:14px;background:#fff0ce;margin-top:12px;border-radius:8px}

/* Dedicated iPad arrivals: compact header and one arrival per row. */
body.display>header,body.display .heading,body.display .toolbar,body.display .footnote{display:none}
body.display main{padding:0 14px 20px;max-width:1600px}
.arrival-bar{display:flex;align-items:center;gap:14px;min-height:60px;padding:8px 0;background:#f5f3eb;border-bottom:1px solid #d6dacd;flex-wrap:wrap}
.arrival-bar>strong{font:25px Georgia,serif}.arrival-bar>a{font-size:13px;padding:12px 0}
body.display #summary{padding:0;margin:0;background:none;font-size:13px}
body.display #connection{width:auto;margin-left:auto;font-size:11px}
.arrival-bar #history-button{min-height:40px;padding:8px 12px;font-size:13px}
body.display .grid{display:flex;flex-direction:column;gap:8px}
body.display .section-title{font-size:13px;margin:12px 0 8px;color:#63715f}
.arrival-row{padding:10px 14px;border-radius:9px}
.arrival-row.late{border-left:5px solid #a75a43}
.arrival-main{display:grid;grid-template-columns:minmax(0,1fr) auto 105px 116px;align-items:center;gap:16px}
.arrival-person{min-width:0}.arrival-person h2{font:24px Georgia,serif;line-height:1.15;margin:0 0 5px;overflow-wrap:anywhere}
.arrival-person .meta{font-size:11px;letter-spacing:0;text-transform:none;display:block}
.arrival-row .route-badge{margin:0;padding:6px 9px;font-size:13px;max-width:170px}
body.display .arrival-row .timer{font-size:29px}.arrival-row .timer small{font-size:10px;margin-top:3px}
body.display .arrival-row .arriving-label{font-size:18px}
.arrival-action button{width:100%;padding:10px;font-size:14px;min-height:44px}
.arrival-row>details>summary{font-size:12px;min-height:36px;padding:10px 0 2px}
.arrival-row>details[open]>summary{padding-bottom:10px}
.arrival-details{border-top:1px solid #d6dacd;padding-top:8px}
.arrival-details>.source{margin-top:0}
@media(max-width:600px){.arrival-bar{gap:9px}body.display #connection{display:none}.arrival-bar #history-button{margin-left:auto}.arrival-main{grid-template-columns:minmax(0,1fr) 85px 94px;gap:10px}.arrival-person h2{font-size:21px}.arrival-main>.route-badge{grid-column:1;grid-row:2;justify-self:start;max-width:none}.arrival-main>.timer{grid-column:2;grid-row:1 / span 2}.arrival-action{grid-column:3;grid-row:1 / span 2}.arrival-row{padding:10px}.arrival-action button{font-size:12px}.arrival-bar>strong{font-size:22px}}

/* Check-in uses the same compact rows, including people already checked in. */
body.compact .grid{display:flex;flex-direction:column;gap:8px}
body:not(.display).compact main{padding:12px 16px}
body:not(.display).compact>header{padding:8px 16px;gap:14px}
body:not(.display).compact>header small,body:not(.display).compact .heading,body:not(.display).compact .footnote,body:not(.display).compact #checkin-options>span{display:none}
body:not(.display).compact header strong{font-size:23px}
body:not(.display).compact #connection{width:auto}
body:not(.display).compact .toolbar{margin:0 0 8px;flex-wrap:nowrap;gap:10px}
body:not(.display).compact .toolbar .search{flex:1}
body:not(.display).compact .toolbar button{flex:0 0 auto}
body:not(.display).compact #summary{margin:8px 0;padding:5px 0;background:none;font-size:12px}
body:not(.display).compact .arrival-main{grid-template-columns:minmax(150px,1fr) auto auto minmax(240px,auto);gap:12px}
body:not(.display).compact .arrival-action{display:flex;gap:6px}
body:not(.display).compact .arrival-action button{width:auto;flex:1;padding:9px;font-size:13px}
body:not(.display).compact .arrival-row .timer{font-size:27px}
@media(max-width:700px){body:not(.display).compact .arrival-main{grid-template-columns:minmax(0,1fr) auto;gap:8px}body:not(.display).compact .arrival-main>.timer{grid-column:2;grid-row:1}body:not(.display).compact .arrival-main>.route-badge{grid-column:1;grid-row:2}body:not(.display).compact .arrival-action{grid-column:1 / -1;grid-row:3}body:not(.display).compact .toolbar{flex-wrap:wrap}body:not(.display).compact .toolbar .search{flex-basis:100%}}

.bag-status{font-size:12px;font-weight:700;color:#315c48;margin-top:5px}
body.display .arrival-main{grid-template-columns:minmax(0,1fr) auto 100px 210px}
body.display .arrival-action{display:flex;gap:6px}.arrival-details>button{margin:8px 6px 0 0}
@media(max-width:900px){body:not(.display).compact .arrival-main{grid-template-columns:minmax(0,1fr) auto auto}.arrival-main>.arrival-action{grid-column:1 / -1;grid-row:3;display:flex;gap:6px}body.display .arrival-main{grid-template-columns:minmax(0,1fr) auto 100px}body.display .arrival-action button{width:auto;flex:0 1 150px}}
@media(max-width:600px){body.display .arrival-main{grid-template-columns:minmax(0,1fr) 85px}.arrival-main>.arrival-action{grid-row:3}body:not(.display).compact .arrival-main{grid-template-columns:minmax(0,1fr) auto}}

.arrival-main>.arrival-action{grid-column:4}
@media(max-width:900px){.arrival-main>.arrival-action{grid-column:1 / -1}}

/* Collection cues stay visible while the full ticket stays collapsed. */
.quick-cue{display:flex;align-items:center;gap:12px;margin-top:8px;padding:8px 10px;border-left:4px solid #b77818;background:#fff1ce;border-radius:5px}
.quick-copy{flex:1;min-width:0;font-size:13px;line-height:1.4}.quick-copy>strong{font-size:13px;color:#714708}.quick-categories{margin-left:8px;color:#765828;font-size:11px}
.quick-list{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;margin-top:2px;color:#394a3c}
.quick-cue .quick-button{flex:0 0 auto;min-height:44px;padding:8px 12px;font-size:12px}
.quick-cue.collected{background:#edf2e8;border-color:#608455}.quick-cue.collected .quick-copy>strong{color:#315c48}.quick-cue.collected .quick-categories{color:#52604c}
.arrival-row .route-badge small{font-size:10px;letter-spacing:0;font-weight:500;margin-top:3px}
@media(max-width:480px){.quick-cue{flex-wrap:wrap;gap:6px}.quick-cue .quick-button{width:100%}.quick-categories{display:block;margin-left:0}}

.auto-here{display:inline-block;margin:1px 0 5px;padding:3px 7px;border:1px solid #a8c6a3;border-radius:5px;background:#e3f0dc;color:#315c48;font-size:10px;font-weight:800;letter-spacing:.06em}

/* Driver arrival sound is opt-in per tablet session (required by iPad browsers). */
.ding-toggle{flex:0 0 auto;min-height:40px;padding:7px 11px;border:1px solid #cb9b4d;background:#fff1ce;color:#64420f;font-size:12px;font-weight:800;white-space:nowrap}
.ding-toggle.armed{background:#315c48;border-color:#315c48;color:#fff}
.driver-arrival-notice{position:sticky;top:0;z-index:25;padding:11px 15px;margin:0 0 8px;border:2px solid #3c835f;border-radius:7px;background:#d7f0dc;color:#1d5c3d;font-size:18px;font-weight:900;letter-spacing:.015em}
.driver-arrival-notice[hidden]{display:none!important}

/* Explicit secondary pickup identifiers help match delivery orders without names. */
.no-customer-name{display:inline-block;margin:1px 0 4px;padding:2px 6px;border-radius:4px;background:#fff2d8;color:#885925;font-size:11px;font-weight:750}
.pickup-refs{display:flex;flex-wrap:wrap;gap:5px;margin:4px 0 2px}
.pickup-ref{max-width:100%;overflow-wrap:anywhere;padding:3px 6px;border-radius:4px;background:#e7ece3;color:#52654e;font-size:11px;line-height:1.3}
.pickup-ref strong{color:#274632;font-weight:800}
.pickup-preview{max-width:100%;margin-top:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;color:#58685b}
.pickup-references{display:grid;gap:5px;padding:8px 0;border-bottom:1px solid #e0e6dd;font-size:13px;overflow-wrap:anywhere}
@media(max-width:600px){.ding-toggle{min-height:37px;padding:7px 9px;font-size:11px}.driver-arrival-notice{font-size:15px}}

/* A consistent, large clear target on Android/Lenovo and iPad search boxes. */
.search-field{position:relative;min-width:0}
.search-field #search{padding-right:59px}
.search-field #search::-webkit-search-cancel-button{display:none}
.clear-search{position:absolute;right:2px;top:6px;bottom:0;display:flex;align-items:center;justify-content:center;width:52px;height:calc(100% - 6px);min-height:44px;padding:0;border:0;border-left:1px solid #d4dbd2;border-radius:0 7px 7px 0;background:transparent;color:#405c49;font-size:28px;font-weight:500;line-height:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.clear-search:active{background:#dfe8dd}
.clear-search:focus-visible{outline:2px solid #bb8132;outline-offset:-3px}

/* Staff-only tablets: scroll normally but do not pinch/double-tap zoom or select card text. */
html,body{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%}
.arrival-row{position:relative;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.arrival-row.tap-armed{outline:3px solid #e3ae36;outline-offset:-2px;box-shadow:0 0 0 2px #fae7b5}
.arrival-row.tap-armed::after,.arrival-row.arrival-clearing::after{content:"TAP AGAIN TO CLEAR";position:absolute;bottom:6px;right:12px;z-index:3;padding:5px 9px;border-radius:5px;background:#f8df9b;color:#69460a;font-size:12px;font-weight:900;letter-spacing:.04em;pointer-events:none}
.arrival-row.arrival-clearing{outline:3px solid #438861;outline-offset:-2px;opacity:.78;pointer-events:none}
.arrival-row.arrival-clearing::after{content:"CLEARING FROM ARRIVALS…";background:#d5eadc;color:#21563a}
.arrival-gesture-hint{font-size:12px;font-weight:750;color:#5b705d;white-space:nowrap}
@media(max-width:700px){.arrival-gesture-hint{font-size:11px;white-space:normal}}

/* Show actual item quantities without requiring staff to expand the ticket. */
.order-counts{margin:3px 0 2px;font-size:13px;font-weight:850;color:#2c5d44;line-height:1.3;font-variant-numeric:tabular-nums}
body.display .order-counts{font-size:13px}

/* The primary barista action is a display-only acknowledgment, not a handoff. */
body.display .arrival-action .arrival-clear-button{background:#315c48;color:#fff;border-color:#315c48;font-size:16px;font-weight:900}
body.display .arrival-action .arrival-clear-button:active{background:#234a37}
body.display .arrival-row{cursor:pointer}
body.display .arrival-row.tap-armed{background:#fff9ea}
body.display .arrival-row.tap-armed::after{content:"✓ TAP REGISTERED · TAP AGAIN TO CLEAR"}
body.display .arrival-row.arrival-clearing::after{content:"✓ CLEARING…"}
body.display .arrival-row>details summary,body.display .arrival-row button{cursor:pointer}
.build-version{font-size:10px;letter-spacing:.03em;color:#7d857b;font-weight:700}


/* Dense single-row order checklist, scoped to Check-In (not barista Arrivals).
   Keep all four pickup actions visible and >=44px tall on tablet. */
body:not(.display).compact .arrival-row{padding:7px 12px 3px;border-radius:9px}
body:not(.display).compact .grid{gap:6px}
body:not(.display).compact .arrival-main{
  display:grid;grid-template-columns:minmax(190px,1fr) minmax(112px,142px) minmax(340px,1.35fr);
  align-items:center;column-gap:10px;row-gap:4px;
}
body:not(.display).compact .arrival-main.with-timer{
  grid-template-columns:minmax(180px,1fr) minmax(104px,132px) 80px minmax(320px,1.3fr);
}
body:not(.display).compact .arrival-person{min-width:0}
body:not(.display).compact .arrival-person h2{
  font-size:21px;line-height:1.12;margin:0 0 3px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;
}
body:not(.display).compact .arrival-person .meta{
  display:inline;font-size:11px;line-height:1.3;color:#657168;
}
body:not(.display).compact .order-counts{
  display:inline;font-size:11px;font-weight:800;line-height:1.3;white-space:nowrap;
}
body:not(.display).compact .order-counts::before{content:" · ";color:#a1aaa2}
body:not(.display).compact .pickup-refs{
  display:flex;flex-wrap:nowrap;overflow:hidden;gap:4px;max-width:100%;margin:3px 0 0;
}
body:not(.display).compact .pickup-ref{
  display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;
  padding:2px 5px;max-width:100%;font-size:10px;line-height:1.2;
}
body:not(.display).compact .bag-status{margin-top:3px;font-size:11px}
body:not(.display).compact .arrival-main>.route-badge{
  grid-column:2;grid-row:1;justify-self:start;max-width:142px;
  padding:5px 7px;font-size:12px;line-height:1.23;
}
body:not(.display).compact .arrival-main>.timer{
  grid-column:3;grid-row:1;font-size:21px;line-height:1.1;
}
body:not(.display).compact .arrival-main>.timer small{font-size:10px;white-space:normal}
body:not(.display).compact .arrival-main>.arrival-action{
  grid-column:3;grid-row:1;display:flex;flex-wrap:nowrap;gap:5px;min-width:0;
}
body:not(.display).compact .arrival-main.with-timer>.arrival-action{grid-column:4}
body:not(.display).compact .arrival-action button{
  flex:1 1 0;width:auto;min-width:0;min-height:44px;padding:7px 3px;
  font-size:12px;line-height:1.1;white-space:normal;border-radius:6px;
}
body:not(.display).compact .arrival-row>details>summary{
  min-height:27px;padding:3px 0 4px;font-size:11px;line-height:1.5;
}
body:not(.display).compact .quick-cue{margin-top:4px;padding:5px 8px}
body:not(.display).compact .quick-cue .quick-button{min-height:44px}
body:not(.display).compact #summary{margin:5px 0;padding:3px 0}
body:not(.display).compact #checkin-options{margin-top:3px}
@media(max-width:800px){
 body:not(.display).compact .arrival-main,
 body:not(.display).compact .arrival-main.with-timer{
   grid-template-columns:minmax(0,1fr) minmax(100px,135px);
   row-gap:6px;
 }
 body:not(.display).compact .arrival-main>.route-badge{grid-column:2;grid-row:1}
 body:not(.display).compact .arrival-main>.timer{grid-column:2;grid-row:2;justify-self:end}
 body:not(.display).compact .arrival-main>.arrival-action,
 body:not(.display).compact .arrival-main.with-timer>.arrival-action{
   grid-column:1/-1;grid-row:3;gap:6px;
 }
 body:not(.display).compact .arrival-person h2{white-space:normal;display:-webkit-box;
   -webkit-box-orient:vertical;-webkit-line-clamp:2}
}
@media(max-width:480px){
 body:not(.display).compact .arrival-action button{font-size:11px;padding:7px 2px}
}

/* A truncated long name expands fully when staff opens order details. */
body:not(.display).compact .arrival-row:has(>details[open]) .arrival-person h2{
  display:block;white-space:normal;overflow:visible;text-overflow:clip;
  overflow-wrap:anywhere;-webkit-line-clamp:unset;
}

/* Check-In double-tap means physical handoff; Arrivals double-tap means display-only clear. */
body:not(.display) .arrival-row.tap-armed{background:#fff9eb;border-color:#dfb65e}
body:not(.display) .arrival-row.tap-armed::after{
  content:"✓ FIRST TAP · TAP AGAIN TO HAND OFF";
  background:#f9e4ad;color:#754a08;
}
body:not(.display) .arrival-row.arrival-clearing::after{
  content:"✓ MARKING HANDED OFF…";background:#d6eddc;color:#20583a;
}

/* Fix Android tap hit-testing: inline quantity text must not overlap details. */
body:not(.display).compact .arrival-main{position:relative;z-index:1}
body:not(.display).compact .order-counts{
  display:inline-block;vertical-align:baseline;position:relative;z-index:2;
}
body:not(.display).compact .arrival-row>details{position:relative;z-index:0}

/* Customer takeout: small source/ordered/pickup timing line in compact cards.
   Scheduled pickup is Toast promisedDate, ASAP "Ready ~" is an estimate. */
body:not(.display).compact .takeout-times{
 display:block;margin:3px 0 0;color:#526255;font-size:11px;line-height:1.25;
 font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:normal;
}
body:not(.display).compact .ordering-channel{font-weight:850;color:#315c48}
body:not(.display).compact .time-separator{color:#9aa59a}
body:not(.display).compact .arrival-row:not(:has(.timer)) .takeout-times{margin-top:3px}
@media(max-width:800px){
 body:not(.display).compact .takeout-times{font-size:11px}
}

/* Uber Eats displays the guest first + last initial, then the five-character pickup ID. */
.uber-pickup-code{font:800 .72em -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 letter-spacing:.055em;background:#e3eee4;color:#245844;padding:3px 5px;border-radius:4px;
 white-space:nowrap;vertical-align:2px}
body:not(.display).compact .uber-pickup-code{font-size:13px}

/* Search within Arrivals → Cleared only, without exposing the full Check-In toolbar. */
.arrivals-cleared-search{flex:1 1 270px;min-width:210px;max-width:470px;
 display:flex;align-items:center;gap:8px}
.arrivals-cleared-search label{flex:0 0 auto;font-size:12px;color:#526255;white-space:nowrap}
.arrivals-cleared-search .search-field{flex:1 1 auto;min-width:0}
.arrivals-cleared-search #cleared-search{margin:0;min-height:44px;padding:8px 49px 8px 11px;
 font-size:14px;line-height:1.25}
.arrivals-cleared-search .clear-search{width:44px;min-height:44px;top:0;bottom:0;height:100%}
@media(max-width:640px){
 .arrivals-cleared-search{order:5;flex:1 0 100%;max-width:none;min-width:0}
 .arrivals-cleared-search label{font-size:11px}
}


/* Landscape Arrivals board: use tablet width instead of one full-width ticket
   per row. DOM order remains row-major: longest-waiting ticket at top-left.
   This ONLY applies to /arrivals, never to compact /check-in. */
@media (min-width:1000px) and (orientation:landscape) {
 body.display main{max-width:1900px;padding:0 12px 18px}
 body.display .arrival-bar{gap:10px;min-height:54px;padding:5px 0}
 body.display #orders .grid{
   display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
   gap:9px 10px;align-items:start;
 }
 body.display #orders .arrival-row{min-width:0;padding:9px 11px 6px}
 body.display #orders .arrival-main{
   display:grid;grid-template-columns:minmax(0,1fr) max-content;
   align-items:start;column-gap:9px;row-gap:7px;
 }
 body.display #orders .arrival-main>.arrival-person{
   grid-column:1;grid-row:1;min-width:0
 }
 body.display #orders .arrival-main>.timer{
   grid-column:2;grid-row:1;justify-self:end;
   font-size:26px;line-height:1.05
 }
 body.display #orders .arrival-main>.timer small{
   font-size:10px;line-height:1.25;white-space:normal;margin-top:2px
 }
 body.display #orders .arrival-main>.route-badge{
   grid-column:1;grid-row:2;justify-self:start;
   max-width:min(100%,195px);font-size:12px;line-height:1.22;
   padding:6px 8px
 }
 body.display #orders .arrival-main>.arrival-action{
   grid-column:2;grid-row:2;justify-self:end;display:flex;
   align-items:center;gap:6px;min-width:0
 }
 body.display #orders .arrival-main>.arrival-action button{
   width:auto;min-width:92px;min-height:44px;
   flex:0 0 auto;padding:9px 10px;
   line-height:1.15;font-size:12px;white-space:normal
 }
 body.display #orders .arrival-main>.arrival-action button.secondary{
   min-width:111px
 }
 body.display #orders .arrival-person h2{
   font-size:23px;line-height:1.12;margin-bottom:3px
 }
 body.display #orders .order-counts{font-size:12px;margin:3px 0 1px}
 body.display #orders .arrival-row>details>summary{
   padding:6px 0 1px;min-height:30px;font-size:11px
 }
 body.display #orders .quick-cue{margin-top:5px;padding:6px 8px}
 body.display #orders .quick-copy{font-size:12px}
 body.display #orders .quick-copy>strong{font-size:12px}
 body.display #orders .pickup-refs{gap:4px;margin-top:2px}
 body.display #orders .pickup-ref{font-size:10px;padding:2px 5px}
 body.display #orders .arrival-row{overflow:hidden}
}
@media (min-width:1680px) and (orientation:landscape) {
 body.display #orders .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Uber driver status from the Mac mini watcher (shadow test) */
.courier-live{display:block;width:fit-content;max-width:100%;margin:6px 0 4px;padding:4px 9px;border-radius:6px;border:1px solid #b9c9de;background:#e7eef8;color:#26476e;font-size:13px;font-weight:700;line-height:1.3}
.courier-live.courier-waiting{background:#fdecd9;border-color:#e2b98a;color:#7a4511}
.courier-live.courier-arriving_now{background:#e3f0dc;border-color:#a8c6a3;color:#2f5a3f}
.courier-live.courier-gone{background:#efefea;border-color:#d0d2c8;color:#5f665c;font-weight:600}
.courier-live.stale{opacity:.6;border-style:dashed}
#watcher-warning{padding:14px;border-radius:8px;background:#f6e3da;color:#853d2c;border:1px solid #e0b8a6;margin-top:12px;line-height:1.5}
