/* Diseño: cartelería de supermercado, tipografía condensada, azul y amarillo de marca Ceferino */
:root{
  --bg:#f3f5f6; --surface:#ffffff; --ink:#15212b; --muted:#5b6b78; --line:#d8dfe4;
  --accent:#12399b; --accent-ink:#ffffff; --brand:#12399b; --brand-yellow:#ffd500; --ok:#1f7a4d; --warn:#b36b00; --bad:#b3261e; --focus:#0b63ce;
  --font-display:"Barlow Condensed","Arial Narrow",sans-serif; --font-body:"Barlow",system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#10171d; --surface:#18222a; --ink:#eef2f4; --muted:#9aabb7; --line:#2a3944;
  --accent:#ffd500; --accent-ink:#0b1e55; --brand:#12399b; --brand-yellow:#ffd500; --ok:#52c28a; --warn:#e5a33a; --bad:#f08a82; --focus:#6aa8ff; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#10171d; --surface:#18222a; --ink:#eef2f4; --muted:#9aabb7; --line:#2a3944;
  --accent:#ffd500; --accent-ink:#0b1e55; --brand:#12399b; --brand-yellow:#ffd500; --ok:#52c28a; --warn:#e5a33a; --bad:#f08a82; --focus:#6aa8ff; color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--font-body);padding-inline:16px}
.wrap{max-width:720px;margin-inline:auto;padding-block:24px 48px}
.wrap.wide{max-width:1100px}
header.top{margin-bottom:20px}
.hero{background:var(--brand);border-bottom:6px solid var(--brand-yellow);padding:18px 16px;display:flex;justify-content:center}
.hero img{display:block;width:min(100%,460px);height:auto}
header.top .brand{margin-top:16px}
.brand{font:700 14px var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
h1{font:700 38px/1.05 var(--font-display);margin:4px 0 0;text-wrap:balance}
h2{font:700 24px var(--font-display);margin:0 0 12px}
p.lead{color:var(--muted);margin:8px 0 0}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px}
.choice{all:unset;box-sizing:border-box;cursor:pointer;background:var(--surface);border:2px solid var(--line);padding:16px;min-width:0}
.choice strong{display:block;font:700 24px var(--font-display)}
.choice span{color:var(--muted);font-size:14px}
.choice[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.choice:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
form,.card{background:var(--surface);border:1px solid var(--line);padding:20px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.full{grid-column:1/-1}
label{display:block;font:600 13px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:10px 12px;border-radius:0;min-width:0}
textarea{min-height:110px;resize:vertical}
.btn{font:700 20px var(--font-display);letter-spacing:.04em;text-transform:uppercase;background:var(--accent);color:var(--accent-ink);border:0;padding:12px 22px;cursor:pointer}
.btn:disabled{opacity:.55;cursor:wait}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);font-size:16px;padding:8px 14px}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.msg{padding:12px 14px;margin-top:14px;border-left:4px solid var(--muted);background:var(--bg)}
.msg.err{border-color:var(--bad)} .msg.okk{border-color:var(--ok)}
.code{font:700 44px var(--font-display);letter-spacing:.06em;color:var(--accent)}
.track{margin-top:28px}.track .row{display:flex;gap:8px;flex-wrap:wrap}.track input{flex:1;min-width:160px}
.pill{display:inline-block;font:700 13px var(--font-display);letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border:1px solid currentColor}
.p-nuevo{color:var(--accent)}.p-en_proceso{color:var(--warn)}.p-esperando_repuesto{color:var(--warn)}.p-resuelto{color:var(--ok)}.p-cancelado{color:var(--muted)}
.p-urgente{color:var(--bad)}
.tablewrap{overflow-x:auto;border:1px solid var(--line);background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:820px;font-size:14px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{font:700 13px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);position:sticky;top:0;background:var(--surface)}
tr.urg td:first-child{box-shadow:inset 4px 0 var(--bad)}
.bar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:16px 0}.bar>div{min-width:140px}
.stats{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.stat{background:var(--surface);border:1px solid var(--line);padding:8px 14px}
.stat b{font:700 28px var(--font-display);display:block;line-height:1}
.tabs{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}.tabs button{font:700 16px var(--font-display);text-transform:uppercase;letter-spacing:.06em;background:var(--surface);border:1px solid var(--line);padding:8px 14px;cursor:pointer;color:var(--ink)}
.tabs button[aria-selected="true"]{background:var(--ink);color:var(--bg)}
.list li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
ul.list{list-style:none;padding:0;margin:0 0 12px}
[hidden]{display:none!important}
@media (max-width:560px){.grid{grid-template-columns:1fr}h1{font-size:32px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Listado imprimible */
#report{display:none}
@media print{
  @page{size:A4 landscape;margin:10mm}
  html,body{background:#fff!important;color:#000!important;padding:0!important}
  .wrap{display:none!important}
  #report{display:block!important;font:11px/1.35 Arial,sans-serif;color:#000}
  .rp-head{display:flex;gap:16px;align-items:center;border-bottom:3px solid #12399b;padding-bottom:8px;margin-bottom:10px}
  .rp-logo{background:#12399b;padding:6px 10px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rp-logo img{display:block;height:46px;width:auto}
  .rp-head h1{font:700 18px Arial,sans-serif;margin:0 0 2px;color:#000}
  .rp-head p{margin:0;color:#333}
  .rp-sec{margin-bottom:14px}
  .rp-sec h2{font:700 14px Arial,sans-serif;margin:0 0 4px;color:#12399b}
  .rp-tabla{width:100%;min-width:0;border-collapse:collapse;font-size:10px}
  .rp-tabla th,.rp-tabla td{border:1px solid #999;padding:3px 5px;text-align:left;vertical-align:top;color:#000;background:#fff;position:static}
  .rp-tabla th{background:#e8edf7;-webkit-print-color-adjust:exact;print-color-adjust:exact;font:700 10px Arial,sans-serif;letter-spacing:0;text-transform:none}
  .rp-tabla tr{break-inside:avoid}
  .rp-pie{margin:4px 0 0;font-weight:700}
}
td select{min-width:150px}
.p-tercerizado{color:var(--accent)}.p-sin_reparacion,.p-presupuesto_rechazado{color:var(--bad)}
.sub{font-size:12px;color:var(--muted);margin-top:3px;max-width:260px;word-break:break-word}
dialog{border:1px solid var(--line);background:var(--surface);color:var(--text,inherit);padding:20px;max-width:620px;width:calc(100% - 32px)}
dialog::backdrop{background:rgba(0,0,0,.5)}
dialog textarea{font:inherit}
@media print{dialog{display:none}}

.item-row{display:grid;grid-template-columns:1.1fr 1.4fr 1.4fr 1fr 90px auto;gap:10px;align-items:end;padding:12px;margin-bottom:8px;border:1px solid var(--line);background:var(--bg)}
.item-row[hidden],.item-row div[hidden]{display:none}
@media (max-width:760px){.item-row{grid-template-columns:1fr 1fr}.item-row .i-w-del{grid-column:1/-1}}

.p-enviado{color:var(--accent)}
fieldset.sec{margin:14px 0 0;padding:12px 14px;border:1px solid var(--line);background:var(--bg)}
fieldset.sec[hidden]{display:none}
fieldset.sec legend{font:700 15px var(--font-display);letter-spacing:.06em;text-transform:uppercase;padding:0 6px;color:var(--muted)}
.rep-add{display:grid;grid-template-columns:2fr 80px 130px auto;gap:8px;align-items:center;margin-top:8px}
.stk{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.stk b{flex:1 1 220px}.stk-l{display:flex;gap:6px;align-items:center;text-transform:none;letter-spacing:0;font:400 14px var(--font-body);margin:0}
.stk input{width:90px}
dialog{max-height:92vh;overflow:auto;max-width:760px}
@media (max-width:600px){.rep-add{grid-template-columns:1fr 1fr}}
@media print{
  .rp-ficha th{width:34%;text-align:left;background:#f2f4f7}
  .rp-firmas{display:flex;gap:40px;margin-top:60px}
  .rp-firmas>div{flex:1;text-align:center}
  .rp-linea{display:block;border-bottom:1px solid #000;height:34px}
}
.chk{display:flex;gap:8px;align-items:center;font-weight:600;cursor:pointer}.chk input{width:auto;min-height:0}

.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.chips a{padding:6px 12px;border:1px solid var(--line);background:#fff;text-decoration:none;font-weight:600;font-size:14px;color:inherit}
html{scroll-behavior:smooth}
/* Etiquetas de inventario */
.lbl-grid{display:flex;flex-wrap:wrap;gap:2mm}
.lbl{display:flex;align-items:center;gap:1.5mm;border:.2mm dashed #888;padding:1.2mm;overflow:hidden;break-inside:avoid;color:#000;background:#fff}
.lbl-qr svg{display:block;width:100%;height:100%}
.lbl-txt{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.lbl-txt b{font:700 10pt Arial,sans-serif;white-space:nowrap}
.lbl-txt span{font:6.5pt Arial,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lbl-m .lbl{width:45mm;height:25mm}.lbl-m .lbl-qr{width:20mm;height:20mm;flex:none}
.lbl-s .lbl{width:30mm;height:18mm}.lbl-s .lbl-qr{width:14mm;height:14mm;flex:none}
.lbl-s .lbl-txt b{font-size:7.5pt}.lbl-s .lbl-txt span{font-size:5pt}
@media print{body.print-etiquetas .rp-head{display:none}}
