/*
 * YardScope v1.3 operational profile
 * Same PLG DNA as HaulHub; tuned as a compact yard-control instrument panel.
 */

:root{
  --steel-950:var(--plg-ink-950);
  --steel-900:var(--plg-ink-900);
  --steel-850:var(--plg-ink-850);
  --steel-800:var(--plg-ink-800);
  --steel-700:var(--plg-line);
  --steel-600:var(--plg-line-strong);
  --hivis:var(--plg-orange);
  --hivis-dim:var(--plg-orange-deep);
  --paint:var(--plg-white);
  --paint-dim:var(--plg-muted);
  --go:var(--plg-green);
  --stop:var(--plg-red);
  --hold:var(--plg-amber);
  --alloc:var(--plg-blue);
  --mono:var(--plg-font-mono);
  --sans:var(--plg-font-sans);
  --nav-height:var(--plg-nav-height);
}

html{background:var(--plg-ink-1000)}
body{
  background:
    radial-gradient(circle at 88% -5%,rgba(255,106,0,.13),transparent 28rem),
    linear-gradient(180deg,var(--plg-ink-950),var(--plg-ink-1000));
  font-family:var(--plg-font-sans);
  font-weight:500;
  -webkit-font-smoothing:antialiased;
}
body.authenticated:after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,#000,transparent 72%);
}
h1,h2,h3{font-family:var(--plg-font-display);font-weight:900;letter-spacing:-.025em}

/* PLG family header */
.topbar{
  min-height:70px;
  padding:calc(10px + var(--plg-safe-top)) max(12px,var(--plg-safe-right)) 10px max(12px,var(--plg-safe-left));
  gap:9px;
  border-bottom:1px solid rgba(75,93,112,.76);
  background:rgba(10,14,19,.94);
  box-shadow:0 8px 28px rgba(0,0,0,.34);
  backdrop-filter:blur(16px) saturate(125%);
}
.topbar:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:3px;
  background:linear-gradient(90deg,var(--plg-orange) 0 24%,transparent 24% 100%);
  pointer-events:none;
}
.plg-mark{
  display:grid;
  place-items:center;
  width:38px;height:38px;
  flex:0 0 38px;
  border:1px solid var(--plg-orange);
  border-radius:var(--plg-radius-sm);
  background:linear-gradient(145deg,rgba(255,106,0,.18),rgba(255,106,0,.035));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
  color:var(--plg-orange);
  font:900 11px/1 var(--plg-font-mono);
  letter-spacing:.08em;
}
.brand{gap:1px;min-width:0}
.brand .brand-overline{
  order:-1;
  margin:0 0 2px;
  color:var(--plg-muted);
  font:700 7px/1 var(--plg-font-mono);
  letter-spacing:.16em;
  white-space:nowrap;
}
.brand b{
  font-family:var(--plg-font-display);
  font-size:18px;
  font-weight:950;
  letter-spacing:.105em;
}
.brand b i{color:var(--plg-orange)}
.brand .brand-tagline{
  margin-top:2px;
  color:var(--plg-steel);
  font-size:7.5px;
  letter-spacing:.095em;
}
.app-state{
  background:rgba(24,32,42,.84);
  border-radius:var(--plg-radius-pill);
  min-height:26px;
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
}
.opchip{
  min-height:34px;
  border-radius:var(--plg-radius-sm);
  border-color:var(--plg-line);
  background:linear-gradient(180deg,var(--plg-ink-850),var(--plg-ink-900));
  color:var(--plg-steel);
}
.account-menu{
  border-color:var(--plg-line-strong);
  border-top:2px solid var(--plg-orange);
  border-radius:var(--plg-radius-md);
  background:rgba(18,24,33,.98);
  box-shadow:var(--plg-shadow-2);
}

/* Compact operational canvas */
.wrap{
  max-width:820px;
    padding:14px max(12px,var(--plg-safe-right)) calc(var(--plg-nav-height) + var(--plg-safe-bottom) + 24px) max(12px,var(--plg-safe-left));
    scroll-padding-bottom:calc(var(--plg-nav-height) + var(--plg-safe-bottom) + 24px);
}
.wrap[data-view="intake"],.wrap[data-view="record"]{max-width:760px}
.section-label{
  margin:20px 0 9px;
  color:var(--plg-steel);
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
}
.section-label:before{
  content:"";
  width:5px;height:12px;
  flex:0 0 5px;
  border-radius:1px;
  background:var(--plg-orange);
  box-shadow:7px 0 0 rgba(255,106,0,.32);
}
.section-label:after{background:linear-gradient(90deg,var(--plg-line),transparent)}

/* Yard command header — richer than workflows, smaller than HaulHub's hero */
.yard-command{
  position:relative;
  overflow:hidden;
  margin:-2px 0 12px;
  padding:15px 16px 17px;
  border:1px solid var(--plg-line);
  border-radius:var(--plg-radius-lg);
  background:
    linear-gradient(115deg,rgba(255,106,0,.14),transparent 38%),
    linear-gradient(180deg,var(--plg-ink-850),var(--plg-ink-900));
  box-shadow:var(--plg-shadow-1);
}
.yard-command:before{
  content:"";
  position:absolute;
  top:0;right:0;
  width:98px;height:6px;
  background:var(--plg-hazard-fine);
}
.yard-command:after{
  content:"YS // CONTROL";
  position:absolute;
  right:-13px;bottom:7px;
  color:rgba(255,255,255,.035);
  font:900 27px/1 var(--plg-font-mono);
  letter-spacing:-.08em;
  transform:rotate(-90deg) translateX(55%);
  transform-origin:bottom right;
}
.yard-command-kicker{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:8px;
  color:var(--plg-orange);
  font:800 8.5px/1 var(--plg-font-mono);
  letter-spacing:.17em;
  text-transform:uppercase;
}
.yard-live-dot{
  width:7px;height:7px;
  border-radius:50%;
  background:var(--plg-green);
  box-shadow:0 0 0 4px rgba(53,194,117,.12);
}
.yard-command-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;position:relative;z-index:1}
.yard-command h1{font-size:clamp(24px,7vw,34px);line-height:1;margin:0 0 6px}
.yard-command p{margin:0;color:var(--plg-muted);font-size:11px;line-height:1.45}
.yard-command-code{
  flex:none;
  min-width:72px;
  padding:8px 10px;
  border:1px solid rgba(255,106,0,.45);
  border-radius:var(--plg-radius-sm);
  background:rgba(8,11,15,.48);
  color:var(--plg-orange);
  text-align:center;
  font:900 11px/1 var(--plg-font-mono);
  letter-spacing:.1em;
}
.yard-command-code small{display:block;margin-top:5px;color:var(--plg-muted);font-size:7px;letter-spacing:.12em}

/* Yard metrics */
.dashboard-grid{gap:8px;margin-bottom:11px}
.dashboard-card{
  position:relative;
  min-height:76px;
  overflow:hidden;
  padding:11px 12px;
  border-color:var(--plg-line);
  border-radius:var(--plg-radius-md);
  background:linear-gradient(145deg,var(--plg-ink-850),var(--plg-ink-900));
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.dashboard-card:after{
  content:"";
  position:absolute;
  right:-10px;bottom:-12px;
  width:40px;height:40px;
  border:8px solid rgba(255,255,255,.025);
  transform:rotate(45deg);
}
.dashboard-card span{font:750 8.5px/1.25 var(--plg-font-mono);letter-spacing:.1em}
.dashboard-card strong{font-size:27px;margin-top:8px}
.dashboard-card.warn{border-bottom:2px solid rgba(245,165,36,.7)}
.dashboard-card.go{border-bottom:2px solid rgba(53,194,117,.7)}
.dashboard-card.stop{border-bottom:2px solid rgba(229,72,79,.7)}
.sync-strip{
  min-height:45px;
  border-radius:var(--plg-radius-md);
  border-left-width:3px;
  background:rgba(18,24,33,.86);
  box-shadow:inset 0 1px rgba(255,255,255,.02);
}
.yard-filters{
  padding:11px;
  margin:0 0 12px;
  border:1px solid var(--plg-line);
  border-radius:var(--plg-radius-md);
  background:rgba(18,24,33,.72);
}
.yard-filters .row:last-child{margin-bottom:0!important}

/* Search, forms and layered panels */
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],input[type=time],input[type=datetime-local],input[type=search],input[type=number],select,textarea{
  min-height:var(--plg-touch);
  border-color:var(--plg-line);
  border-radius:var(--plg-radius-sm);
  background:linear-gradient(180deg,rgba(13,17,23,.96),rgba(18,24,33,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:border-color var(--plg-motion-fast) var(--plg-ease),box-shadow var(--plg-motion-fast) var(--plg-ease);
}
input::placeholder,textarea::placeholder{color:var(--plg-faint)}
input:focus,select:focus,textarea:focus{
  border-color:var(--plg-orange);
  outline:0;
  box-shadow:0 0 0 3px rgba(255,106,0,.14),inset 0 1px rgba(255,255,255,.03);
}
label.f>span{color:var(--plg-steel);font-size:9px;font-weight:750}
.panel,.display-photo-panel,.evidence-card,.file-card,.addendum-card,.issue-card,.account-summary{
  border-color:var(--plg-line);
  border-radius:var(--plg-radius-md);
  background:linear-gradient(180deg,var(--plg-ink-900),rgba(13,17,23,.96));
  box-shadow:inset 0 1px rgba(255,255,255,.024);
}
.panel summary{min-height:50px;display:flex;align-items:center;font-size:13px}
.panel summary::marker{color:var(--plg-orange)}
.display-photo-preview,.record-photo,.vehicle-thumb{border-color:var(--plg-line);background:var(--plg-ink-1000)}
.display-photo-actions .btn,#view[data-view="scan"]>.btn{
  min-height:58px;
  font-size:14px;
}
.tg{
  min-height:54px;
  border-color:var(--plg-line);
  border-radius:var(--plg-radius-sm);
  background:linear-gradient(180deg,var(--plg-ink-850),var(--plg-ink-900));
}
.tg.on{border-color:var(--plg-orange);background:linear-gradient(180deg,rgba(255,106,0,.16),rgba(29,19,12,.95))}

/* Controls */
.btn{
  min-height:var(--plg-touch);
  border-color:var(--plg-line-strong);
  border-radius:var(--plg-radius-sm);
  background:linear-gradient(180deg,var(--plg-ink-800),var(--plg-ink-850));
  box-shadow:inset 0 1px rgba(255,255,255,.045),0 5px 14px rgba(0,0,0,.16);
  font-weight:800;
  transition:transform var(--plg-motion-fast) var(--plg-ease),border-color var(--plg-motion-fast) var(--plg-ease),background var(--plg-motion-fast) var(--plg-ease);
}
.btn.primary{
  border-color:var(--plg-orange-hot);
  background:linear-gradient(180deg,var(--plg-orange-hot),var(--plg-orange));
  box-shadow:inset 0 1px rgba(255,255,255,.3),var(--plg-shadow-orange);
  color:#130b05;
  text-shadow:0 1px rgba(255,255,255,.16);
}
.btn.ghost{background:rgba(13,17,23,.32);box-shadow:none}
.btn.danger{background:rgba(229,72,79,.045)}
.btn.sm{min-height:46px}
@media(hover:hover) and (pointer:fine){
  .btn:hover{border-color:var(--plg-steel);transform:translateY(-1px)}
  .btn.primary:hover{border-color:#ff9a58;filter:brightness(1.04)}
  .tag:hover{border-color:var(--plg-line-strong);transform:translateY(-1px)}
}

/* Vehicle cards: dense, scannable, outdoor readable */
.tag{
  overflow:hidden;
  border-color:var(--plg-line);
  border-left-width:5px;
  border-radius:var(--plg-radius-md);
  background:linear-gradient(145deg,var(--plg-ink-850),var(--plg-ink-900));
  box-shadow:0 7px 20px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.025);
  transition:transform var(--plg-motion-fast) var(--plg-ease),border-color var(--plg-motion-fast) var(--plg-ease);
}
.tag:after{
  content:"";
  position:absolute;
  top:0;right:0;
  width:56px;height:4px;
  background:var(--plg-hazard-fine);
  opacity:.7;
}
.yardid{color:var(--plg-orange);font-weight:900}
.bay{color:var(--plg-steel);font-weight:800}
.rego{font-weight:950;color:var(--plg-white);text-shadow:0 1px #000}
.vdesc{color:var(--plg-steel)}
.vehicle-route{color:var(--plg-white)}
.chip{
  border-color:var(--plg-line);
  border-radius:var(--plg-radius-xs);
  background:rgba(8,11,15,.35);
  font-weight:750;
}
.chip.solid{background:var(--plg-ink-750);color:var(--plg-white)}

/* Sticky operational commands stay compact */
.record-command-bar{
  position:sticky;
  top:calc(72px + var(--plg-safe-top));
  z-index:22;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  padding:8px;
  margin:10px -4px 6px!important;
  border:1px solid var(--plg-line);
  border-radius:var(--plg-radius-md);
  background:rgba(8,11,15,.91);
  box-shadow:var(--plg-shadow-1);
  backdrop-filter:blur(14px);
}
.record-command-bar .btn{width:100%;min-height:47px;padding:0 8px}
.intake-primary-dock{
  position:sticky;
  bottom:calc(var(--plg-nav-height) + var(--plg-safe-bottom) + 7px);
  z-index:24;
  margin:14px -4px 8px;
  padding:7px;
  border:1px solid var(--plg-line);
  border-radius:var(--plg-radius-md);
  background:rgba(8,11,15,.91);
  box-shadow:var(--plg-shadow-2);
  backdrop-filter:blur(14px);
}
.intake-primary-dock .btn{min-height:58px}
#r_save{
  position:sticky;
  bottom:calc(var(--plg-nav-height) + var(--plg-safe-bottom) + 7px);
  z-index:24;
  box-shadow:var(--plg-shadow-2),var(--plg-shadow-orange);
}

/* Scan bay */
#view[data-view="scan"]{padding-top:16px}
#view[data-view="scan"]>h2{font-size:27px}
#view[data-view="scan"]>#live{
  min-height:66px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
#view[data-view="scan"]>#live:before{content:"⌁";font:900 22px/1 var(--plg-font-mono)}
#vid{
  min-height:240px;
  border:1px solid var(--plg-orange);
  background:#000;
  box-shadow:0 0 0 4px rgba(255,106,0,.08),var(--plg-shadow-1);
}

/* Empty and confirmation moments may breathe */
.empty{
  position:relative;
  overflow:hidden;
  margin:14px 0;
  padding:48px 24px;
  border:1px dashed var(--plg-line-strong);
  border-radius:var(--plg-radius-lg);
  background:linear-gradient(145deg,rgba(255,106,0,.06),rgba(18,24,33,.75));
}
.empty:before{content:"";position:absolute;top:0;left:0;width:86px;height:5px;background:var(--plg-hazard-fine)}
.empty b{font-family:var(--plg-font-display);font-size:19px;color:var(--plg-white)}
.banner{
  border-color:var(--plg-line);
  border-left-color:var(--plg-orange);
  border-radius:var(--plg-radius-md);
  background:linear-gradient(90deg,rgba(255,106,0,.08),rgba(18,24,33,.9) 28%);
}
.toast{
  bottom:calc(var(--plg-nav-height) + var(--plg-safe-bottom) + 12px);
  border-color:var(--plg-orange);
  border-radius:var(--plg-radius-md);
  background:rgba(24,32,42,.98);
  box-shadow:var(--plg-shadow-2),0 0 0 1px rgba(255,106,0,.08);
}

/* PLG login / reception moment */
.auth-gate{
  position:relative;
  overflow:hidden;
  padding-top:calc(22px + var(--plg-safe-top));
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    radial-gradient(circle at 84% 10%,rgba(255,106,0,.22),transparent 31rem),
    linear-gradient(145deg,var(--plg-ink-1000),var(--plg-ink-900));
  background-size:34px 34px,34px 34px,auto,auto;
}
.auth-gate:before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:8px;
  background:var(--plg-hazard);
}
.auth-card{
  position:relative;
  overflow:hidden;
  width:min(100%,440px);
  padding:25px;
  border-color:var(--plg-line-strong);
  border-radius:18px;
  background:linear-gradient(155deg,rgba(32,42,54,.98),rgba(13,17,23,.99) 64%);
  box-shadow:var(--plg-shadow-2),0 0 0 1px rgba(255,255,255,.018);
}
.auth-card:after{content:"";position:absolute;right:-38px;top:-38px;width:115px;height:115px;border:18px solid rgba(255,106,0,.055);transform:rotate(45deg);pointer-events:none}
.auth-system{
  margin-bottom:22px;
  color:var(--plg-muted);
  font:800 8px/1 var(--plg-font-mono);
  letter-spacing:.18em;
  text-transform:uppercase;
}
.auth-system strong{color:var(--plg-orange)}
.auth-brand{margin-bottom:22px}
.auth-brand b{font-family:var(--plg-font-display);font-size:31px;font-weight:950;letter-spacing:.13em}
.auth-brand b i{color:var(--plg-orange)}
.auth-brand span{color:var(--plg-steel);font-size:9px}
.auth-card h1{font-size:25px}
.auth-security{border-color:var(--plg-line);color:var(--plg-muted)}
.auth-security svg{stroke:var(--plg-green)}
.auth-card input[type=email],.auth-card input[type=password]{border-color:var(--plg-line);background:var(--plg-ink-1000)}

/* Bottom instrument dock */
.nav{
  min-height:calc(var(--plg-nav-height) + var(--plg-safe-bottom));
  border-top-color:var(--plg-line-strong);
  background:rgba(10,14,19,.96);
  box-shadow:0 -10px 28px rgba(0,0,0,.34);
  backdrop-filter:blur(16px) saturate(125%);
}
.nav:before{content:"";position:absolute;top:-3px;left:0;width:82px;height:3px;background:var(--plg-hazard-fine)}
.nav button{
  position:relative;
  min-height:var(--plg-nav-height);
  color:var(--plg-muted);
  font-size:8.5px;
  font-weight:800;
  transition:color var(--plg-motion-fast) var(--plg-ease),background var(--plg-motion-fast) var(--plg-ease);
}
.nav button svg{width:22px;height:22px}
.nav button.active{color:var(--plg-orange);background:linear-gradient(180deg,rgba(255,106,0,.1),transparent 70%)}
.nav button.active:after{content:"";position:absolute;top:0;left:31%;right:31%;height:2px;background:var(--plg-orange);box-shadow:0 0 12px rgba(255,106,0,.7)}

/* Preserve print output exactly */
@media print{body{background:#fff}.topbar:after,.nav:before{display:none!important}}

@media(max-width:520px){
  .topbar{padding-left:max(9px,var(--plg-safe-left));padding-right:max(9px,var(--plg-safe-right));gap:7px}
  .plg-mark{width:34px;height:34px;flex-basis:34px;font-size:10px}
  .brand b{font-size:16px;letter-spacing:.09em}
  .brand .brand-overline{display:none}
  .brand .brand-tagline{font-size:6.5px;letter-spacing:.065em}
  .app-state{font-size:7.5px;padding:4px 6px}
  .opchip{max-width:82px}
  .yard-command{padding:14px}
  .yard-command-code{min-width:64px;padding:8px}
  .yard-command p{max-width:240px}
  .tag-main{grid-template-columns:104px minmax(0,1fr)}
  .record-command-bar .btn{font-size:11px;line-height:1.15}
  .evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:390px){
  .brand .brand-tagline{display:none}
  .brand b{font-size:15px}
  .yard-command h1{font-size:25px}
  .yard-command p{font-size:10px}
  .dashboard-card{min-height:72px;padding:10px}
  .dashboard-card strong{font-size:24px}
  .record-command-bar{top:calc(64px + var(--plg-safe-top))}
  .tag-main{grid-template-columns:94px minmax(0,1fr)}
}
@media(max-width:340px){
  .plg-mark{display:none}
  .record-command-bar{grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:6px}
  .record-command-bar .btn{padding:0 5px;font-size:10px}
  .evidence-grid{grid-template-columns:minmax(0,1fr)}
}
@media(orientation:landscape) and (max-height:520px){
  .topbar{min-height:54px;padding-top:calc(7px + var(--plg-safe-top));padding-bottom:7px}
  .plg-mark{width:32px;height:32px;flex-basis:32px}
  .brand .brand-overline,.brand .brand-tagline{display:none}
  .record-command-bar{top:calc(54px + var(--plg-safe-top))}
  .nav button{min-height:55px}
  .intake-primary-dock,#r_save{bottom:calc(56px + var(--plg-safe-bottom) + 5px)}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .btn:active,.tag:active{transform:none!important}
}
