:root{--k:#0b0b0b;--g1:#f4f4f4;--g2:#e6e6e6;--g3:#bdbdbd;--g4:#6b6b6b;--t:#0D9488;--tl:#e6f4f2}
*{box-sizing:border-box}body{margin:0;font:15px/1.45 Inter,"DejaVu Sans",Arial,sans-serif;color:var(--k);background:#fff}
a{color:inherit}
.demo{background:var(--k);color:#fff;font-size:11px;letter-spacing:.12em;text-align:center;padding:5px}
.demo a{color:#bbb;margin-left:12px}
.top{display:flex;align-items:center;gap:22px;padding:14px 32px;border-bottom:1px solid var(--g2);position:sticky;top:0;background:#fff;z-index:5;flex-wrap:wrap}
.word{text-decoration:none;letter-spacing:.18em;font-size:15px;text-transform:uppercase;font-weight:300}.word b{font-weight:700}
nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}
nav a{text-decoration:none;font-size:13.5px;padding:7px 12px;border-radius:999px;color:#333}
nav a.on{background:var(--k);color:#fff}
nav a.inicio{font-weight:700;border:1px solid var(--k)}
nav a.inicio.on{background:var(--k)}
.role{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--g4);border:1px solid var(--g3);padding:4px 10px;border-radius:999px}
main{max-width:1280px;margin:0 auto;padding:28px 32px 40px}
h1{font-size:30px;font-weight:300;margin:0 0 4px;letter-spacing:-.01em}h1 b{font-weight:700}
h2{font-size:18px;margin:26px 0 12px}
.sub{color:var(--g4);margin:0 0 22px;font-size:14px}
.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--g4)}
.foot{text-align:center;color:#999;font-size:11px;padding:18px;border-top:1px solid var(--g2)}
.btn{display:inline-block;border:1px solid var(--k);background:var(--k);color:#fff;border-radius:10px;padding:9px 16px;font:600 13.5px Inter,sans-serif;cursor:pointer;text-decoration:none}
.btn.o{background:#fff;color:var(--k)}.btn.t{background:var(--t);border-color:var(--t)}.btn.s{padding:6px 11px;font-size:12.5px}
.btn:disabled{opacity:.35;cursor:default}
.card{border:1px solid var(--g2);border-radius:14px;padding:18px;background:#fff}
.grid{display:grid;gap:16px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;border-radius:999px;padding:3px 10px;background:var(--g1);white-space:nowrap}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--k);display:inline-block}
.chip.m{background:var(--tl);color:#075e57}.chip.m i{background:var(--t)}
.chip.dk{background:var(--k);color:#fff}.chip.dk i{background:#fff}
.tag{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;border:1px dashed var(--g3);color:var(--g4);border-radius:6px;padding:2px 7px}
.lock{background:var(--k);color:#fff;border-radius:14px;padding:16px}.lock .eyebrow{color:#aaa}
table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--g4);font-weight:600;padding:10px;border-bottom:1px solid var(--k)}
td{padding:11px 10px;border-bottom:1px solid var(--g2);vertical-align:middle}tr.click{cursor:pointer}tr.click:hover{background:var(--g1)}
.code{font-weight:700;letter-spacing:-.02em;white-space:nowrap}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.filters button{border:1px solid var(--g3);background:#fff;border-radius:999px;padding:5px 11px;font:12.5px Inter,sans-serif;cursor:pointer}
.filters button.on{background:var(--k);color:#fff;border-color:var(--k)}
.filters .lbl{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--g4);margin-right:4px}
.steps{display:flex;gap:4px;margin:14px 0 20px}.steps div{flex:1;font-size:10.5px;text-align:center;color:var(--g4)}
.steps div:before{content:"";display:block;height:5px;border-radius:3px;background:var(--g2);margin-bottom:6px}
.steps div.done:before{background:var(--k)}.steps div.done{color:var(--k)}.steps div.cur{font-weight:700;color:var(--k)}
.steps div.mm:before{background:var(--t)}
.order{border:1px solid var(--k);border-radius:14px;overflow:hidden}
.order .hd{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px;border-bottom:1px solid var(--g2)}
.order .no{background:var(--k);color:#fff;padding:8px 14px;border-radius:8px;text-align:right}.order .no small{display:block;font-size:10px;letter-spacing:.2em;opacity:.7}.order .no b{font-size:20px}
.order .bd{padding:16px 20px}.order table td,.order table th{text-align:center}.order table td:first-child,.order table th:first-child{text-align:left}
.order .ft{background:var(--g1);font-size:11.5px;color:var(--g4);text-align:center;padding:9px}
.kv{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:13.5px}.kv span{color:var(--g4)}
.tile{border:1px solid var(--g2);border-radius:14px;padding:18px;text-decoration:none;display:block}
.tile:hover{border-color:var(--k)}.tile .n{font-size:34px;font-weight:300}.tile h3{margin:4px 0 2px;font-size:16px}.tile p{margin:0;color:var(--g4);font-size:12.5px}
.tile.m{border-color:var(--t)}.tile.m .n{color:var(--t)}
.flow{display:flex;gap:6px;align-items:stretch;flex-wrap:wrap}.flow div{flex:1;min-width:100px;border:1px solid var(--g2);border-radius:10px;padding:8px;font-size:11.5px}
.flow div b{display:block;font-size:12.5px}.flow div.m{border-color:var(--t);background:var(--tl)}
.cls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.cls button{border:1px solid var(--g3);background:#fff;border-radius:10px;padding:10px;text-align:left;font:13px Inter,sans-serif;cursor:pointer}
.cls button b{display:block;font-size:13px}.cls button small{color:var(--g4)}.cls button.on{border-color:var(--k);background:var(--k);color:#fff}.cls button.on small{color:#ccc}
textarea,input,select{font:14px Inter,sans-serif;border:1px solid var(--g3);border-radius:10px;padding:9px 11px;width:100%}
.big{display:block;width:100%;font-size:22px;padding:22px;border-radius:16px;margin-top:10px}
.timer{font-size:13px;color:var(--g4)}.timer b{color:var(--k)}
.mcard{border:1.5px solid var(--t);border-radius:16px;padding:16px;margin-bottom:14px}
.mcard .ttl{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mcard .addr{background:var(--tl);border-radius:10px;padding:10px 12px;margin:10px 0;font-size:14px}
.notif{border:1px dashed var(--t);background:var(--tl);border-radius:12px;padding:12px 14px;font-size:13px;margin-top:12px}
.person{display:flex;align-items:center;gap:10px;margin-bottom:10px}.av{width:38px;height:38px;border-radius:50%;background:var(--t);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.empty{color:var(--g4);font-size:13px;border:1px dashed var(--g3);border-radius:12px;padding:16px;text-align:center}
.hero{background:var(--k);color:#fff;padding:64px 32px;text-align:center;margin:-28px -32px 32px}
.hero h1{font-size:44px}.hero p{color:#bbb}
.ph{border:1px dashed var(--g3);border-radius:12px;height:150px;display:flex;align-items:center;justify-content:center;color:var(--g4);font-size:12px;background:#fafafa}
.sys{background:var(--g1);border-radius:16px;padding:26px 30px;display:flex;justify-content:space-between;align-items:center;margin-top:28px}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--k);color:#fff;padding:12px 18px;border-radius:12px;font-size:13.5px;z-index:9}
@media(max-width:700px){.top{padding:12px 16px;gap:10px}main{padding:18px 16px}.g2,.g3,.g4{grid-template-columns:1fr}.cls{grid-template-columns:1fr 1fr}.hero{margin:-18px -16px 24px}nav a{font-size:12px;padding:5px 9px}}
@media(max-width:700px){.top{flex-wrap:wrap}nav{order:3;flex:0 0 100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}nav a{white-space:nowrap}.role{margin-left:auto;font-size:9.5px}}
/* acceso borrador */
html.locked body>*:not(#gate){display:none!important}
#gate{position:fixed;inset:0;background:#0b0b0b;color:#fff;display:flex;align-items:center;justify-content:center;padding:20px;z-index:99}
#gate .gbox{max-width:380px;width:100%}#gate h2{font-size:20px;margin:18px 0 6px}#gate p{color:#bbb}
#gate input{width:100%;box-sizing:border-box;padding:14px;font-size:18px;border-radius:10px;border:1px solid #444;background:#111;color:#fff;margin:8px 0;letter-spacing:2px}
#gate .btn{width:100%;background:#fff;color:#0b0b0b;padding:14px;font-size:16px}.gerr{color:#fff!important;font-weight:700}#gate small{color:#888}
/* enlace proveedor */
.pv{max-width:560px;margin:0 auto}.bigbtns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.bigbtns button{padding:22px 10px;font-size:20px;font-weight:700;border-radius:14px;border:2px solid #0b0b0b;background:#fff;color:#0b0b0b;cursor:pointer}
.bigbtns button.dark{background:#0b0b0b;color:#fff}.bigbtns button:disabled{opacity:.35;cursor:default}
/* móvil */
@media (max-width:640px){header.top{flex-wrap:wrap}#nav{overflow-x:auto;white-space:nowrap;width:100%}.grid,.g2{grid-template-columns:1fr!important}
 table{display:block;overflow-x:auto}main{padding-left:12px!important;padding-right:12px!important}.bigbtns button{font-size:18px}}
@media (max-width:640px){.grid>*{min-width:0}.steps{flex-wrap:wrap}.steps>div{min-width:0}img,select,input,.order,.card,.lock{max-width:100%;box-sizing:border-box}h1{word-break:break-word}}
@media (max-width:640px){.chip{white-space:normal;max-width:100%}html,body{overflow-x:hidden}}
/* bloque proveedor */
.ptext{white-space:pre-wrap;font:15px/1.5 ui-monospace,Menlo,Consolas,monospace;background:#f4f4f4;border:1px solid #e5e5e5;border-radius:10px;padding:12px;margin:8px 0;color:#0b0b0b}
.pbtns{display:flex;flex-wrap:wrap;gap:8px}.btn.ghost{background:#fff;color:#0b0b0b;border:1px solid #0b0b0b}
.ctrl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.ck{padding:14px 10px;border-radius:12px;border:2px solid #cfcfcf;background:#fff;font-weight:700;font-size:16px;cursor:pointer;color:#6b6b6b;filter:grayscale(1)}
.ck small{display:block;font-weight:400;font-size:12px;margin-top:4px}.ck.on{border-color:#16a34a;background:#ecfdf3;color:#166534;filter:none}
