:root{--bg:#f4f5f7;--card:#fff;--ink:#1c2430;--muted:#5d6878;--line:#dde1e7;--brand:#c46a12;--brand-d:#9e520b;--dark:#141a22;--ok:#1f7a4d;--err:#b42318;--radius:10px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--brand-d)}
header.top{background:var(--dark);color:#fff;padding:12px 20px;display:flex;align-items:center;gap:16px;justify-content:space-between}
header.top img{height:26px;display:block}
header.top .who{font-size:13px;color:#cfd6df;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
header.top button{background:transparent;border:1px solid #4a5563;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;font:inherit;font-size:13px}
main{max-width:1180px;margin:0 auto;padding:24px 16px 48px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.narrow{max-width:460px;margin:32px auto}
h1{font-size:24px;margin:0 0 6px}h2{font-size:18px;margin:0 0 12px}
.muted{color:var(--muted)}.small{font-size:13px}
label{display:block;font-weight:600;font-size:13px;margin:14px 0 6px}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid #c5ccd6;border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid #f0b56f;border-color:var(--brand)}
textarea{min-height:90px;resize:vertical}
.btn{display:inline-block;background:var(--brand);color:#fff;border:0;border-radius:8px;padding:11px 18px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--brand-d)}.btn:disabled{opacity:.6;cursor:wait}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn.block{width:100%;margin-top:18px}
.msg{padding:10px 12px;border-radius:8px;margin-top:14px;font-size:14px}
.msg.err{background:#fdecea;color:var(--err)}.msg.ok{background:#e7f6ee;color:var(--ok)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.links{margin-top:18px;font-size:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
/* calculadora */
.layout{display:grid;grid-template-columns:260px 1fr 340px;gap:18px;align-items:start}
.cats{display:flex;flex-direction:column;gap:4px}
.cats button{text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 12px;font:inherit;cursor:pointer;display:flex;justify-content:space-between}
.cats button[aria-pressed=true]{background:var(--dark);color:#fff;border-color:var(--dark)}
.cats .n{font-size:12px;opacity:.7}
.search{margin-bottom:12px}
.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.item{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;text-align:left;padding:0;font:inherit;color:inherit}
.item[aria-pressed=true]{outline:3px solid var(--brand)}
.item .ph{aspect-ratio:4/3;background:#eef0f3 center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#9aa4b2;font-weight:700;font-size:22px}
.item .ph img{width:100%;height:100%;object-fit:contain;background:#fff}
.item .t{padding:8px 10px}.item .t b{display:block;font-size:13px}.item .t span{font-size:12px;color:var(--muted)}
.item.off{opacity:.55}
.panel{position:sticky;top:12px}
.panel .sel{display:flex;gap:10px;align-items:center;margin-bottom:6px}
.panel .sel img{width:72px;height:54px;object-fit:contain;background:#f3f4f6;border-radius:6px}
.res{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.res dl{display:grid;grid-template-columns:1fr auto;gap:6px 10px;margin:0;font-size:14px}
.res dt{color:var(--muted)}.res dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.total{background:var(--dark);color:#fff;border-radius:8px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:baseline}
.total b{font-size:22px}
.note{font-size:12px;color:var(--muted);margin-top:10px}
@media (max-width:1000px){.layout{grid-template-columns:1fr}.panel{position:static}.cats{flex-direction:row;flex-wrap:wrap}}
@media (max-width:560px){.grid2{grid-template-columns:1fr}}
@media print{header.top,.cats,.search,.items,.no-print{display:none!important}.layout{display:block}}
header.top>a:first-child{background:#fff;padding:5px 10px;border-radius:6px;display:inline-block}
[hidden]{display:none!important}
/* pestañas, letras, carrito y pedidos (1.1.0) */
.tabs{display:flex;gap:6px;margin:14px 0 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tabs a{padding:9px 14px;text-decoration:none;color:var(--ink);font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px;display:flex;gap:6px;align-items:center}
.tabs a[aria-current=page]{border-color:var(--brand);color:var(--brand-d)}
.pill{background:var(--dark);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px;font-weight:700}.pill.alert{background:var(--brand)}
.layout2{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}
.abc{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.lt{border:1px solid var(--line);border-radius:8px;padding:8px;text-align:center;background:#fff;display:flex;flex-direction:column;font-size:12px;color:var(--muted)}
.lt b{font-size:30px;line-height:1.1;color:var(--ink)}.lt small{font-size:11px}
.lt.on{border-color:var(--brand);background:#fff6ec;outline:2px solid #f0b56f}.lt.off{opacity:.5}
.tbl{overflow-x:auto;margin-top:14px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);padding:8px 6px;white-space:nowrap}
td{border-bottom:1px solid #eef0f3;padding:8px 6px;vertical-align:top}
.r{text-align:right;font-variant-numeric:tabular-nums}
tr.miss td{color:var(--err);background:#fff7f6}
.msg.warn{background:#fff6e5;color:#7a4a00}
.kv{display:grid;grid-template-columns:1fr auto;gap:6px 14px;margin:14px 0 0;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.kv.tot{max-width:420px;margin-left:auto}
.qty{width:80px;padding:6px 8px;text-align:right}
.lnk{background:none;border:0;color:var(--err);cursor:pointer;font:inherit;font-size:13px;padding:4px}
.chips{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.chips span{border:1px solid var(--line);border-radius:4px;padding:0 5px;font-size:12px;font-weight:700}.chips .miss{border-color:var(--err);color:var(--err)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.btn.dark{background:var(--dark)}.btn.dark:hover{background:#000}
.ped{border:1px solid var(--line);border-radius:10px;margin-top:10px;background:#fff}
.ped.open{border-color:#c5ccd6}
.ped-h{width:100%;display:flex;justify-content:space-between;gap:12px;background:none;border:0;padding:12px 14px;text-align:left;font:inherit;color:inherit;cursor:pointer}
.ped-b{padding:0 14px 14px;border-top:1px solid var(--line)}
.badge{display:inline-block;font-size:12px;border-radius:999px;padding:2px 9px;background:#eef0f3;color:var(--muted);font-weight:600}
.badge.act{background:#fff1df;color:var(--brand-d)}.badge.ok{background:#e7f6ee;color:var(--ok)}.badge.bad{background:#fdecea;color:var(--err)}
.resp{background:#f6f8fa;border-left:3px solid var(--brand);padding:10px 12px;margin-top:14px;border-radius:0 8px 8px 0}.resp p{margin:6px 0 0}
details{margin-top:12px}summary{cursor:pointer;font-weight:600;font-size:14px}
details textarea{margin-top:8px}.hist ul{font-size:13px;color:var(--muted);padding-left:18px}
.doc{background:#fff;padding:24px;max-width:860px;margin:0 auto}
.doc-h{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--brand);padding-bottom:12px}
.doc-h img{height:34px}.doc-h h1{margin:0;text-align:right}.doc-h p{margin:0;text-align:right;color:var(--muted)}
.doc-g{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px;font-size:14px}
@media (max-width:1000px){.layout2{grid-template-columns:1fr}}
@media print{body.printing-doc main,body.printing-doc header.top{display:none!important}body.printing-doc #doc-print{display:block!important}.doc{padding:0}}
/* letras 3D (1.2.0) */
.abc{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}
.signwrap{margin-top:16px;background:#f6f7f9;border:1px solid var(--line);border-radius:10px;padding:10px;overflow-x:auto}
.sign{width:100%;height:auto;max-height:220px;display:block}
.sign .bx{fill:#fff;stroke:#c9d0da;stroke-width:.4}
.sign text{font-family:"Arial Black","Segoe UI",system-ui,sans-serif;font-weight:900;fill:var(--brand)}
.sign text.dim{fill:var(--muted);font-weight:500;font-family:system-ui,sans-serif}
.acomodo ul{font-size:13px;color:var(--muted);padding-left:18px}
