:root{
  --frch-hyt:#d62828;
  --frch-wak:#f4c430;
  --frch-imp:#1d4ed8;
}

.admin-only.hidden{display:none!important}

.reservation-id-box{
  min-width:104px;
  display:inline-flex;
  flex-direction:column;
  gap:3px;
  padding:8px 10px;
  border-radius:9px;
  border:1px solid rgba(110,130,145,.32);
  background:rgba(110,130,145,.08);
}
.reservation-id-box strong{font-weight:900;white-space:nowrap}
.reservation-id-box small{font-size:10px;font-weight:900;letter-spacing:.08em;opacity:.8}
.reservation-id-box.location-hyt{border-color:var(--frch-hyt);background:color-mix(in srgb,var(--frch-hyt) 15%,transparent)}
.reservation-id-box.location-wak{border-color:var(--frch-wak);background:color-mix(in srgb,var(--frch-wak) 20%,transparent)}
.reservation-id-box.location-imp{border-color:var(--frch-imp);background:color-mix(in srgb,var(--frch-imp) 15%,transparent)}

.location-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  border:1px solid transparent;
}
.location-pill.location-hyt{background:var(--frch-hyt);color:#fff;border-color:var(--frch-hyt)}
.location-pill.location-wak{background:var(--frch-wak);color:#171717;border-color:var(--frch-wak)}
.location-pill.location-imp{background:var(--frch-imp);color:#fff;border-color:var(--frch-imp)}

.users-table tr.location-hyt td:first-child{box-shadow:inset 4px 0 0 var(--frch-hyt)}
.users-table tr.location-wak td:first-child{box-shadow:inset 4px 0 0 var(--frch-wak)}
.users-table tr.location-imp td:first-child{box-shadow:inset 4px 0 0 var(--frch-imp)}

.user-box.location-hyt{box-shadow:inset 4px 0 0 var(--frch-hyt)}
.user-box.location-wak{box-shadow:inset 4px 0 0 var(--frch-wak)}
.user-box.location-imp{box-shadow:inset 4px 0 0 var(--frch-imp)}

#pickupLocation.location-hyt{border-color:var(--frch-hyt);box-shadow:0 0 0 2px color-mix(in srgb,var(--frch-hyt) 16%,transparent)}
#pickupLocation.location-wak{border-color:var(--frch-wak);box-shadow:0 0 0 2px color-mix(in srgb,var(--frch-wak) 20%,transparent)}
#pickupLocation.location-imp{border-color:var(--frch-imp);box-shadow:0 0 0 2px color-mix(in srgb,var(--frch-imp) 16%,transparent)}

.ops-body small .location-pill{margin-top:3px}

.new-user-form{display:grid;gap:12px;margin-top:14px}
.new-user-form label{display:grid;gap:6px}

.danger-btn{
  border:1px solid rgba(214,40,40,.55);
  background:rgba(214,40,40,.09);
  color:#d62828;
  border-radius:8px;
  padding:7px 10px;
  font-weight:800;
  cursor:pointer;
}
.danger-btn:hover{background:rgba(214,40,40,.16)}
.danger-btn:disabled{opacity:.35;cursor:not-allowed}

.reservation-table td{vertical-align:middle}

@media (max-width:900px){
  .reservation-id-box{min-width:92px}
}

/* -------------------------------------------------------------------------
   Readable FRCH visual language.
   Keep the original, comfortable sizing while removing bold emphasis.
   ------------------------------------------------------------------------- */
body,button,input,select,textarea{font-size:14px!important}
body *{font-weight:400!important}

h1,.topbar h1,.operations-topbar h1,.nr-topbar h1{font-size:26px!important;letter-spacing:-.02em!important}
h2,.panel h2{font-size:18px!important}
h3,.panel h3,.detail-card h3{font-size:15px!important}
.eyebrow{font-size:11px!important;letter-spacing:.10em!important}

.view{padding-top:26px!important}
.panel{padding:20px!important}
.stat{padding:18px!important}
.stat strong{font-size:27px!important;margin-top:5px!important}
.stat span,.stat small{font-size:12px!important}

.table-wrap{border-radius:11px!important}
th{font-size:11px!important;padding:13px 14px!important;letter-spacing:.05em!important}
td{font-size:13px!important;padding:14px!important}
.block{font-size:11px!important;margin-top:3px!important}
.badge{font-size:11px!important;padding:6px 10px!important}

button.primary,.primary,button.secondary,.secondary-link{padding:10px 15px!important;min-height:38px!important}
input,select,textarea{padding:10px 12px!important;border-radius:9px!important}

/* Reservation identifier: large enough to scan, but never bold. */
.reservation-id-box{
  min-width:104px!important;
  width:max-content!important;
  padding:8px 10px!important;
  gap:3px!important;
  border-radius:9px!important;
}
.reservation-id-box strong{font-size:13px!important;white-space:nowrap!important}
.reservation-id-box small{font-size:10px!important;letter-spacing:.04em!important}

/* Location codes remain compact but readable and normal-weight. */
.location-pill{
  display:inline-flex!important;
  width:max-content!important;
  max-width:max-content!important;
  min-width:46px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1.2!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
}

/* Today's Operations returns to the more readable original size. */
.operations-topbar{min-height:110px!important;padding:22px 5vw!important}
.operations-main{padding:28px 5vw 60px!important}
.ops-columns{gap:18px!important;margin-top:18px!important}
.ops-list{gap:9px!important}
.ops-card{
  grid-template-columns:72px minmax(0,1fr) 130px!important;
  gap:13px!important;
  padding:12px!important;
  border-radius:12px!important;
}
.ops-time{font-size:18px!important;line-height:1.25!important}
.ops-body{min-width:0!important}
.ops-customer{display:block!important;font-size:13px!important;line-height:1.3!important}
.ops-vehicle{display:block!important;font-size:12px!important;color:#71808f!important;margin-top:3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ops-location{display:block!important;margin-top:5px!important;width:max-content!important;max-width:100%!important}
.ops-body .location-pill{display:inline-flex!important;width:max-content!important;max-width:max-content!important}
.ops-money{text-align:right!important}
.ops-amount{display:block!important;font-size:14px!important}
.ops-money small{font-size:10px!important;margin-top:3px!important}
.count-pill{min-width:34px!important;padding:6px 10px!important;font-size:12px!important}

/* Dashboard pickup list: readable, normal-weight text. */
.upcoming-list{gap:10px!important}
.upcoming-item{grid-template-columns:92px 1fr!important;padding:10px 12px!important;border-radius:10px!important}
.upcoming-item strong{font-size:12px!important}
.upcoming-item small{font-size:11px!important;margin-top:3px!important}

@media(max-width:950px){
  .ops-card{grid-template-columns:60px minmax(0,1fr) 110px!important}
}
