:root {
  --bg: #020305;
  --panel: #0a0e14;
  --red: #ff1a1a;
  --red-hot: #ff0000;
  --red-dim: #7a0000;
  --glow: 0 0 22px rgba(255,20,20,.55);
  --glow-sm: 0 0 10px rgba(255,30,30,.4);
  --text: #e8eef7;
  --muted: #7a8aa3;
  --ok: #22c55e;
  --warn: #f59e0b;
  --border: rgba(255,40,40,.35);
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --sans: "Segoe UI", system-ui, -apple-system, sans-serif;
}
* { box-sizing: border-box; }
html, body {
  margin:0; padding:0; min-height:100%;
  background:
    radial-gradient(900px 500px at 50% -8%, #3a0505 0%, transparent 55%),
    radial-gradient(600px 400px at 100% 100%, #1a0000 0%, transparent 40%),
    var(--bg);
  color: var(--text); font-family: var(--sans);
}
/* Safe light scanlines — NO mix-blend (blacks out Android Chrome) */
body::before {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 3px,
    rgba(255,0,0,.025) 3px,
    rgba(255,0,0,.025) 6px
  );
  opacity:.5;
}
body::after { content:none; display:none; }
a { color:#ffb4b4; text-decoration:none; }
a:hover { color:#fff; text-shadow: var(--glow); }
.wrap { max-width:1180px; margin:0 auto; padding:1rem 1.25rem 2rem; position:relative; z-index:2; }

/* Vigilance ribbon */
.vigil-bar {
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  background: linear-gradient(90deg,#4a0000,#1a0000 40%,#4a0000);
  border:1px solid #ff2222; border-radius:6px; padding:.45rem .85rem;
  margin-bottom:.85rem; font-family:var(--mono); font-size:.72rem; letter-spacing:.12em;
  text-transform:uppercase; color:#ffcccc; box-shadow: var(--glow-sm), inset 0 0 20px rgba(255,0,0,.2);
  animation: vigilPulse 2.8s ease-in-out infinite;
}
.vigil-bar .eye { color:#ff3333; font-weight:900; text-shadow:var(--glow); animation:blink 1.2s step-end infinite; }
@keyframes vigilPulse { 0%,100%{ box-shadow:0 0 12px rgba(255,0,0,.35), inset 0 0 20px rgba(255,0,0,.15);} 50%{ box-shadow:0 0 28px rgba(255,0,0,.7), inset 0 0 30px rgba(255,0,0,.35);} }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.25} }

.topbar {
  display:flex; gap:1rem; align-items:center; justify-content:space-between;
  border:1px solid var(--border); border-radius:10px;
  background: linear-gradient(180deg, rgba(40,0,0,.85), rgba(8,4,8,.95));
  padding:.85rem 1rem; margin-bottom:1rem;
  box-shadow: var(--glow-sm), inset 0 1px 0 rgba(255,80,80,.15);
}
.brand { display:flex; gap:.85rem; align-items:center; }
.brand img {
  width:48px; height:48px; border-radius:8px; object-fit:cover;
  box-shadow: var(--glow); border:2px solid #ff3333;
  animation: logoPulse 3s ease-in-out infinite;
}
@keyframes logoPulse { 0%,100%{ box-shadow:0 0 12px rgba(255,30,30,.5);} 50%{ box-shadow:0 0 28px rgba(255,0,0,.9);} }
.brand h1 { font-size:1.05rem; margin:0; letter-spacing:.14em; text-transform:uppercase; text-shadow:0 0 18px rgba(255,0,0,.5); }
.brand .sub { color:#ff8888; font-size:.7rem; font-family:var(--mono); letter-spacing:.08em; }
.nav { display:flex; flex-wrap:wrap; gap:.45rem; }
.nav a, .btn {
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.55rem .85rem; border:1px solid var(--border);
  background: linear-gradient(180deg,#220808,#0d0404);
  color:var(--text); border-radius:7px; font-size:.8rem; cursor:pointer;
  text-transform:uppercase; letter-spacing:.04em;
}
.btn-primary {
  background: linear-gradient(180deg,#e60000,#7a0000);
  border-color:#ff4444; box-shadow: var(--glow); font-weight:800;
}
.btn-danger { background:linear-gradient(180deg,#990000,#330000); border-color:#ff2222; }
.btn:hover, .nav a:hover { filter:brightness(1.2); box-shadow:var(--glow); }

.cmd-title {
  text-align:center; margin:0 0 1rem;
  font-size:clamp(1.4rem,4vw,2.2rem); font-weight:900; letter-spacing:.22em;
  text-transform:uppercase; color:#fff;
  text-shadow: 0 0 8px #ff0000, 0 0 24px #ff0000, 0 0 48px rgba(255,0,0,.6);
  animation: titleGlow 2.4s ease-in-out infinite;
}
@keyframes titleGlow {
  0%,100%{ text-shadow:0 0 8px #ff0000, 0 0 24px #ff0000; }
  50%{ text-shadow:0 0 16px #ff3333, 0 0 40px #ff0000, 0 0 70px rgba(255,0,0,.8); }
}
.cmd-sub {
  text-align:center; font-family:var(--mono); font-size:.75rem; color:#ff9999;
  letter-spacing:.18em; text-transform:uppercase; margin:-.5rem 0 1.25rem;
}

.grid { display:grid; gap:1rem; }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); }
.card {
  background: rgba(8,10,16,.94);
  border:1px solid var(--border); border-radius:12px; padding:1rem 1.1rem;
  box-shadow: inset 0 0 40px rgba(255,0,0,.06), 0 0 20px rgba(255,0,0,.08);
  position:relative; overflow:hidden;
}
.card::before {
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background: linear-gradient(90deg, transparent, #ff2222, transparent);
  animation: scanH 3s linear infinite;
}
@keyframes scanH { 0%{ opacity:.3 } 50%{ opacity:1 } 100%{ opacity:.3 } }
.card h2, .card h3 {
  margin:0 0 .75rem; font-size:.88rem; letter-spacing:.1em;
  text-transform:uppercase; color:#ffd0d0;
}
.stat { font-size:2rem; font-weight:800; font-family:var(--mono); text-shadow: var(--glow); }
.stat.ok { color: var(--ok); text-shadow:0 0 12px rgba(34,197,94,.45); }
.stat.warn { color: var(--warn); }
.stat.bad { color: var(--red); animation: blink 1s step-end infinite; }
.label { color:var(--muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }

/* ALERTA board */
.alerta-board {
  border:2px solid #ff1a1a; border-radius:12px;
  background:
    repeating-linear-gradient(90deg, transparent, transparent 8px, rgba(255,0,0,.03) 8px, rgba(255,0,0,.03) 16px),
    linear-gradient(180deg,#1a0505,#080202);
  box-shadow: 0 0 30px rgba(255,0,0,.35), inset 0 0 40px rgba(255,0,0,.12);
  padding:1rem; margin-bottom:1rem;
}
.alerta-board .hdr {
  display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.85rem;
}
.alerta-board .hdr .title {
  font-size:1.35rem; font-weight:900; letter-spacing:.28em; color:#ff2222;
  text-shadow: var(--glow); animation: blink 1.1s step-end infinite;
  font-family:var(--mono);
}
.led-row { display:flex; gap:.4rem; align-items:center; }
.led {
  width:12px; height:12px; border-radius:50%;
  background:#330000; border:1px solid #660000;
  box-shadow: inset 0 0 4px #000;
}
.led.on {
  background:#ff1a1a; border-color:#ff6666;
  box-shadow: 0 0 10px #ff0000, 0 0 20px #ff0000;
  animation: ledBlink .7s step-end infinite;
}
.led.amber { background:#f59e0b; box-shadow:0 0 10px #f59e0b; animation: ledBlink 1.4s step-end infinite; }
.led.green { background:#22c55e; box-shadow:0 0 10px #22c55e; animation:none; }
@keyframes ledBlink { 0%,100%{opacity:1} 50%{opacity:.15} }

.ticker {
  overflow:hidden; border:1px solid #ff3333; border-radius:6px;
  background:#120000; padding:.7rem 1rem;
  font-family:var(--mono); font-size:.82rem; color:#ff9a9a;
  min-height:2.5rem; box-shadow: inset 0 0 20px rgba(255,0,0,.25);
  position:relative;
}
.ticker::after {
  content:""; position:absolute; left:0; top:0; bottom:0; width:40%;
  background: linear-gradient(90deg, transparent, rgba(255,0,0,.15), transparent);
  animation: tickerScan 2.5s linear infinite;
}
@keyframes tickerScan { from{ transform:translateX(-100%);} to{ transform:translateX(350%);} }

.alert-list { list-style:none; margin:0; padding:0; max-height:320px; overflow:auto; }
.alert-list li {
  display:flex; gap:.75rem; align-items:flex-start;
  padding:.75rem .4rem; border-bottom:1px solid rgba(255,40,40,.15);
}
.dot {
  width:11px; height:11px; border-radius:50%; background:var(--red);
  box-shadow: var(--glow); margin-top:.35rem; flex:0 0 auto;
  animation: ledBlink 1.2s infinite;
}

form .row { display:grid; gap:.75rem; grid-template-columns: repeat(auto-fit, minmax(170px,1fr)); margin-bottom:.75rem; }
label { display:block; font-size:.68rem; color:#ffaaaa; margin-bottom:.28rem; text-transform:uppercase; letter-spacing:.06em; }
input, select, textarea {
  width:100%; background:#05070c; border:1px solid var(--border);
  color:var(--text); border-radius:7px; padding:.65rem .7rem; font:inherit;
}
input:focus, textarea:focus, select:focus {
  outline:none; border-color:#ff3333; box-shadow: var(--glow-sm);
}
.section-title {
  font-size:.8rem; letter-spacing:.14em; text-transform:uppercase;
  color:#ff6666; border-left:3px solid #ff2222; padding-left:.6rem;
  margin:1.25rem 0 .75rem; font-weight:800;
}
.file-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:.65rem; }
.file-slot {
  border:2px dashed rgba(255,40,40,.4); border-radius:10px; padding:.75rem .5rem;
  text-align:center; min-height:100px; cursor:pointer; background:rgba(20,0,0,.35);
  font-size:.72rem; color:#ffbbbb; transition:.15s;
}
.file-slot:hover, .file-slot.has { border-color:#22c55e; background:rgba(0,40,20,.35); color:#bbf7d0; }
.file-slot input { display:none; }
.file-slot.req { border-color:#ff4444; }
table { width:100%; border-collapse:collapse; font-size:.85rem; }
th, td { text-align:left; padding:.55rem .4rem; border-bottom:1px solid rgba(255,255,255,.07); }
th { color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; }
.badge { display:inline-block; padding:.15rem .45rem; border-radius:999px; font-size:.68rem; font-family:var(--mono); }
.badge.alta { background:rgba(34,197,94,.15); color:var(--ok); border:1px solid rgba(34,197,94,.35); }
.badge.pend { background:rgba(255,30,30,.12); color:#ff8a8a; border:1px solid rgba(255,30,30,.35); }
.msg { padding:.75rem; border-radius:8px; margin:.75rem 0; font-size:.9rem; }
.msg.err { background:rgba(255,0,0,.14); border:1px solid var(--border); color:#ffb4b4; }
.msg.ok { background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.35); color:#bbf7d0; }
.footer {
  margin-top:2rem; color:var(--muted); font-size:.72rem; font-family:var(--mono);
  border-top:1px solid var(--border); padding-top:1rem;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem;
}
.footer .watch { color:#ff5555; animation:blink 2s step-end infinite; }
.hidden { display:none !important; }
.plate-grid { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.5rem; }
.shame tr:first-child td { color:#ff6b6b; font-weight:700; }
.doc-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin:.75rem 0; }
@media (max-width:640px){
  .alerta-board .hdr{flex-direction:column; align-items:flex-start; gap:.35rem;}
}
@media print {
  body::before, body::after, .vigil-bar, .topbar, .footer, .no-print { display:none !important; }
  body { background:#fff; color:#000; }
}

/* ===== v3 mobile-first distributors ===== */
.btn, .nav a {
  min-height: 42px;
  padding: .65rem .85rem;
  font-size: .85rem;
  justify-content: center;
}
.nav a, .nav .btn {
  min-height: 36px;
  padding: .4rem .7rem;
  font-size: .72rem;
}
.btn-xl {
  min-height: 48px;
  padding: .85rem 1rem;
  font-size: .95rem;
  font-weight: 800;
  width: 100%;
  max-width: 100%;
}
.nav .btn-xl, .nav .nav-pill, .doc-actions .btn-xl, .doc-actions .btn {
  width: auto;
  flex: 0 0 auto;
  min-height: 40px;
  padding: .45rem .75rem;
  font-size: .75rem;
}
input.tap, select.tap, textarea.tap, .tap {
  min-height: 52px;
  font-size: 16px !important; /* prevent iOS zoom */
  padding: .9rem .85rem;
}
.mobile-steps {
  display:flex; gap:.5rem; flex-wrap:wrap; margin:0 0 1rem;
}
.step-pill {
  flex:1; min-width:90px; text-align:center;
  background:#1a0505; border:1px solid var(--border);
  border-radius:999px; padding:.55rem .75rem;
  font-size:.72rem; font-family:var(--mono); letter-spacing:.08em;
  text-transform:uppercase; color:#ffaaaa;
}
.step-pill.active {
  background:linear-gradient(180deg,#e60000,#7a0000);
  color:#fff; box-shadow:var(--glow-sm); font-weight:900;
}
.cost-chips { display:flex; gap:.75rem; flex-wrap:wrap; margin:1rem 0; }
.cost-chips .chip {
  flex:1; min-width:140px; text-align:center;
  background:rgba(255,0,0,.08); border:1px solid var(--border);
  border-radius:12px; padding:1rem; font-size:.85rem; color:#ffcccc;
}
.cost-chips .chip strong { display:block; font-size:1.6rem; color:#fff; text-shadow:var(--glow); margin-top:.25rem; }
.card-list { display:flex; flex-direction:column; gap:.75rem; }
.list-card {
  display:flex; flex-direction:column; gap:.75rem;
  background:rgba(8,10,16,.94); border:1px solid var(--border);
  border-radius:12px; padding:1rem;
  box-shadow: inset 0 0 30px rgba(255,0,0,.05);
}
.list-card .doc-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.list-card .doc-actions .btn { flex:1 1 40%; min-height:48px; }
.file-edit-list { display:flex; flex-direction:column; gap:.65rem; }
.file-edit-row {
  display:flex; gap:.75rem; align-items:center; justify-content:space-between;
  border:1px solid rgba(255,40,40,.25); border-radius:10px; padding:.75rem;
  background:rgba(20,0,0,.25);
}
.file-replace-btn { position:relative; overflow:hidden; margin:0; flex:0 0 auto; width:auto !important; max-width:160px; }
.file-replace-btn input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.exp-grid { grid-template-columns:1fr; gap:1rem; }
.desktop-only { display:none !important; }
.vigil-mid { display:none; }

@media (min-width: 900px) {
  .exp-grid { grid-template-columns:1.2fr .8fr; }
  .desktop-only { display:block !important; }
  .card-list { display:none; } /* table mode on desktop for pdfs */
  .btn-xl { width:auto; }
  .vigil-mid { display:inline; }
  .list-card { flex-direction:row; align-items:center; justify-content:space-between; }
}

@media (max-width: 640px) {
  .wrap { padding:.55rem .55rem 4rem; }
  .topbar {
    flex-direction:row; flex-wrap:nowrap; align-items:center;
    padding:.55rem .65rem; gap:.5rem; margin-bottom:.65rem;
  }
  .brand img { width:36px; height:36px; }
  .brand h1 { font-size:.78rem; letter-spacing:.08em; }
  .brand .sub { font-size:.58rem; }
  .nav-toggle { display:none !important; }
  .topbar { flex-wrap:wrap; }
  .nav.nav-scroll {
    display:flex !important; width:100%; flex-basis:100%; order:3;
    flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
    gap:.4rem; padding:.4rem 0 .2rem; scrollbar-width:thin;
  }
  .nav.nav-scroll.open { display:flex !important; }
  .nav.nav-scroll .nav-pill,
  .nav.nav-scroll a.btn,
  .nav.nav-scroll .btn {
    flex:0 0 auto; width:auto; min-height:36px; padding:.4rem .7rem;
    font-size:.68rem; white-space:nowrap;
  }
  .vigil-bar { flex-direction:row; gap:.35rem; text-align:center; font-size:.58rem; padding:.35rem .5rem; margin-bottom:.55rem; }
  .grid[style*="grid-template-columns"] { grid-template-columns:1fr !important; }
  form .row { grid-template-columns:1fr; }
  .file-grid { grid-template-columns:1fr 1fr; }
  .file-slot { min-height:110px; font-size:.8rem; }
  table { display:none; } /* force cards on phone */
  .cmd-title { letter-spacing:.1em; font-size:1.05rem !important; margin-bottom:.35rem; }
  .cmd-sub { margin:-.15rem 0 .65rem; font-size:.62rem; }
  .alerta-board { padding:.75rem; margin-bottom:.75rem; }
  .alerta-board .hdr .title { font-size:.78rem; letter-spacing:.08em; }
  .alert-list { max-height:none; }
  .alert-list li { padding:.55rem .2rem; }
}

/* Bottom sticky action for distributors on phone */
@media (max-width:640px) {
  form .btn-primary[type=submit], #af .btn-primary, #sf .btn-primary, #lf .btn-primary {
    position:sticky; bottom:.75rem; z-index:40;
    box-shadow:0 8px 30px rgba(255,0,0,.45);
  }
}


/* Alta automática — camera capture cards */
.cam-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem;
}
.cam-slot {
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:140px; padding:1rem .75rem; border:2px dashed rgba(255,60,60,.55);
  border-radius:12px; background:rgba(40,0,0,.35); cursor:pointer; text-align:center;
  transition:border-color .2s, background .2s;
}
.cam-slot:hover, .cam-slot.has { border-color:#22c55e; background:rgba(0,40,20,.35); }
.cam-slot input { display:none; }
.cam-slot .ico { font-size:1.8rem; line-height:1; margin-bottom:.35rem; }
.cam-slot .lab { font-weight:800; letter-spacing:.06em; text-transform:uppercase; font-size:.85rem; }
.cam-slot .st { color:var(--muted); font-size:.75rem; margin-top:.25rem; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
.cam-slot .prev {
  display:none; width:100%; max-height:110px; object-fit:cover; border-radius:8px; margin-top:.5rem;
  border:1px solid rgba(255,255,255,.15);
}
.cam-slot.has .prev { display:block; }
.cam-slot.has .ico { display:none; }
.ocr-raw {
  margin-top:.75rem; max-height:140px; overflow:auto; font-size:.7rem; font-family:var(--mono);
  background:#000; color:#9f9; padding:.6rem; border-radius:8px; white-space:pre-wrap;
}
@media (max-width:520px) {
  .cam-grid { grid-template-columns:1fr; }
  .cam-slot { min-height:120px; }
}

/* Alta mode chooser + voice bot */
.mode-pick { margin-bottom:1rem; }
.mode-grid { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
@media (max-width:640px){ .mode-grid { grid-template-columns:1fr; } }
.mode-card {
  display:flex; flex-direction:column; align-items:flex-start; text-align:left;
  gap:.35rem; padding:1.1rem 1rem; border-radius:14px; cursor:pointer;
  border:2px solid rgba(255,80,80,.45); background:rgba(40,0,0,.4);
  color:inherit; font:inherit; transition:border-color .15s, transform .15s, box-shadow .15s;
}
.mode-card:hover { border-color:#fbbf24; transform:translateY(-2px); box-shadow:0 8px 28px rgba(255,0,0,.25); }
.mode-asist { border-color:#22c55e; background:linear-gradient(160deg,rgba(0,60,30,.45),rgba(40,0,0,.4)); }
.mode-manual { border-color:#60a5fa; background:linear-gradient(160deg,rgba(0,30,60,.4),rgba(40,0,0,.4)); }
.mode-ico { font-size:1.75rem; }
.mode-title { font-weight:900; letter-spacing:.04em; text-transform:uppercase; font-size:1rem; }
.mode-desc { color:var(--muted); font-size:.88rem; line-height:1.35; }
.asist-panel { border:2px solid rgba(34,197,94,.45); }
.asist-head { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; align-items:flex-start; margin-bottom:.75rem; }
.speak-toggle { cursor:pointer; user-select:none; }
.speak-toggle input { position:absolute; opacity:0; pointer-events:none; }
.speak-pill {
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.65rem 1rem; border-radius:999px; font-weight:800; font-size:.95rem;
  background:#14532d; border:2px solid #22c55e; color:#ecfdf5;
}
.speak-toggle input:not(:checked) + .speak-pill { background:#3f3f46; border-color:#71717a; color:#d4d4d8; }
.speak-ico { font-size:1.25rem; }
.bot-bubble {
  background:rgba(0,0,0,.55); border-left:4px solid #fbbf24; padding:.85rem 1rem;
  border-radius:0 12px 12px 0; font-size:1.02rem; line-height:1.45; font-weight:650;
  min-height:3.2rem;
}
.field-bad, .file-slot.field-bad, input.field-bad, .cam-slot.field-bad {
  outline:3px solid #ef4444 !important; box-shadow:0 0 0 4px rgba(239,68,68,.35) !important;
  animation: badPulse .45s ease 2;
}
@keyframes badPulse {
  0%,100%{ box-shadow:0 0 0 4px rgba(239,68,68,.35); }
  50%{ box-shadow:0 0 0 10px rgba(239,68,68,.15); }
}




/* ===== v6 home OPS dense + mobile nav ===== */
.nav-toggle {
  display:none; align-items:center; justify-content:center;
  min-width:42px; min-height:42px; padding:0 .55rem;
  border:1px solid var(--border); border-radius:8px;
  background:linear-gradient(180deg,#3a0808,#120202); color:#ffcccc;
  font-size:1.25rem; cursor:pointer; flex:0 0 auto;
  box-shadow:var(--glow-sm);
}
.nav-pill { white-space:nowrap; }
.nav-user { opacity:.9; pointer-events:none; }

.home-ops { position:relative; }
.home-ops::before {
  content:""; pointer-events:none; position:absolute; inset:-.5rem;
  background:
    radial-gradient(ellipse 80% 40% at 50% 0%, rgba(255,0,0,.12), transparent 70%),
    repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(255,0,0,.02) 3px, rgba(255,0,0,.02) 6px);
  z-index:0; border-radius:8px;
}
.home-ops > * { position:relative; z-index:1; }

.stats-row {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.45rem;
  margin-bottom:.75rem;
}
.stat-chip {
  background:rgba(8,10,16,.94); border:1px solid var(--border); border-radius:10px;
  padding:.55rem .45rem; text-align:center;
  box-shadow:inset 0 0 24px rgba(255,0,0,.07), 0 0 12px rgba(255,0,0,.08);
}
.stat-chip.accent {
  border-color:#ff3333; box-shadow:0 0 18px rgba(255,0,0,.35), inset 0 0 20px rgba(255,0,0,.12);
}
.stat-chip .label { margin-bottom:.15rem; font-size:.58rem; }
.stat-chip .stat { line-height:1.1; }

.alerta-board .led-label {
  font-family:var(--mono); font-size:.65rem; color:#ff8888; margin-left:.35rem;
}
.alert-meta { color:var(--muted); font-size:.78rem; }
.alert-item { animation: alertRowIn .35s ease; }
@keyframes alertRowIn { from{opacity:0;transform:translateX(-6px)} to{opacity:1;transform:none} }

.alert-list {
  min-height: 11rem;
  max-height: 22rem;
  background: rgba(0,0,0,.25);
  border-radius: 8px;
  padding: .15rem .35rem;
  border: 1px solid rgba(255,40,40,.2);
}
.alert-list li:nth-child(odd) { background: rgba(255,0,0,.04); }
.alert-list li:hover { background: rgba(255,0,0,.1); }

.action-grid {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem;
  margin-bottom:.85rem;
}
.action-card {
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.2rem;
  min-height:68px; padding:.55rem .35rem; text-align:center;
  border:1px solid var(--border); border-radius:10px;
  background:linear-gradient(180deg,rgba(40,8,8,.9),rgba(8,4,8,.95));
  color:var(--text); text-decoration:none;
  box-shadow:inset 0 0 20px rgba(255,0,0,.06);
  transition: transform .12s, box-shadow .12s, border-color .12s;
}
.action-card:hover { transform:translateY(-2px); box-shadow:var(--glow-sm); border-color:#ff4444; color:#fff; }
.action-card.primary {
  background:linear-gradient(180deg,#c40000,#5a0000);
  border-color:#ff4444; box-shadow:var(--glow-sm); font-weight:800;
}
.action-card .ico { font-size:1.25rem; line-height:1; }
.action-card .lab { font-size:.68rem; letter-spacing:.04em; text-transform:uppercase; font-weight:700; }

.protocol-card { margin-bottom:.5rem; }
.protocol-list { margin:0; padding-left:1.1rem; color:#ffcccc; font-size:.85rem; line-height:1.5; }
.protocol-warn {
  margin-top:.85rem; font-family:var(--mono); font-size:.7rem; color:#ff6666; letter-spacing:.08em;
  animation: blink 2s step-end infinite;
}

/* denser alerta glow */
.alerta-board {
  position:relative; overflow:hidden;
}
.alerta-board::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background: repeating-linear-gradient(
    0deg, transparent, transparent 2px, rgba(255,0,0,.035) 2px, rgba(255,0,0,.035) 4px
  );
  opacity:.7;
}

@media (max-width:640px) {
  .stats-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.4rem; }
  .action-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:.35rem; }
  .action-card { min-height:60px; padding:.4rem .2rem; }
  .action-card .lab { font-size:.58rem; }
  .action-card .ico { font-size:1.05rem; }
  .nav-toggle { display:none !important; }
}

@media (min-width:641px) {
  .nav-toggle { display:none !important; }
  .nav.nav-scroll {
    display:flex !important; flex-wrap:wrap; overflow:visible;
  }
}

@media (max-width:380px) {
  .action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}


/* ===== v7 mobile-first ===== */
main, .home-ops, .card, .alerta-board, .stats-row, .action-grid, .protocol-card {
  position: relative; z-index: 2;
  color: #e8eef7 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.cmd-title, .cmd-sub, .stat, .label, .alert-meta, .protocol-list, .protocol-warn {
  color: inherit;
  opacity: 1 !important;
  visibility: visible !important;
}
.cmd-title { color: #fff !important; }
.home-ops { min-height: 50vh; display: block !important; }

/* Touch targets */
.btn, .nav a, .action-card, .nav-pill {
  min-height: 48px;
  min-width: 48px;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(255,40,40,.25);
}
.action-card { min-height: 72px; }

@media (max-width: 640px) {
  .wrap { padding: .5rem .5rem 5rem; }
  .stats-row { grid-template-columns: 1fr 1fr; }
  .action-grid { grid-template-columns: 1fr 1fr; gap: .55rem; }
  .action-card { min-height: 76px; padding: .75rem .5rem; }
  .action-card .ico { font-size: 1.45rem; }
  .action-card .lab { font-size: .78rem; letter-spacing: .03em; }
  .alerta-board .title { font-size: .85rem; }
  .alert-list { max-height: none; min-height: auto; }
  .alert-list li { padding: .7rem .35rem; font-size: .95rem; }
  .btn, .nav-pill, .nav a.btn {
    font-size: .78rem !important;
    padding: .65rem .9rem !important;
  }
  input, select, textarea, button {
    font-size: 16px !important; /* no iOS zoom */
    min-height: 48px;
  }
  form .row { grid-template-columns: 1fr !important; gap: .75rem; }
  #vf .btn-primary { width: 100%; margin-top: .35rem; }
}

@media (min-width: 641px) {
  .action-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .nav-toggle { display: none !important; }
}
