@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-400.woff2) format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-500.woff2) format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-600.woff2) format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-700.woff2) format('woff2')}
:root{
  --bg:#F1F1F1;--side:#EBEBEB;--surface:#fff;--surface-2:#F7F7F7;--surface-3:#F3F3F3;--hover:#F3F3F3;
  --text:#1A1A1A;--text-2:#616161;--text-3:#6E6E6E;--line:#E3E3E3;--line-2:#D4D4D4;
  --ink:#1A1A1A;--ink-2:#303030;--focus:#005BD3;--link:#005BD3;
  --red:#D72C0D;--red-bg:#FEE9E8;--brand-red:#E41F26;--brand-yel:#FFD60A;
  --chart:#3B5BDB;--ok:#0C7A43;--ok-bg:#E3F5EA;--warn:#8A5A00;--warn-bg:#FFF1CC;
  --rec:#4A5568;--rec-bg:#EDEFF2;--diag:#1F4FD1;--diag-bg:#E5EDFF;--aprob:#8A5300;--aprob-bg:#FFEDC2;--rep:#6236C9;--rep-bg:#EEE8FF;--listo:#0B7A3E;--listo-bg:#DDF4E6;--ent:#3D3D3D;--ent-bg:#E8E8E8;
  --r:12px;--r-sm:8px;--sh:0 1px 0 rgba(26,26,26,.07),0 0 0 1px rgba(26,26,26,.07);--sh-2:0 8px 24px -8px rgba(26,26,26,.22),0 0 0 1px rgba(26,26,26,.06);
  --f:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--top:56px;--sidew:236px;--sa-b:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--top) + 12px)}
body{margin:0;background:var(--bg);color:var(--text);font:400 14px/1.45 var(--f);-webkit-font-smoothing:antialiased;font-feature-settings:'cv11','ss01';overflow-x:clip}
body.locked{overflow:hidden}
img{max-width:100%;display:block}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em}
p{margin:0}
.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.i-sm{width:16px;height:16px}.i-lg{width:24px;height:24px}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--text-2)}.faint{color:var(--text-3)}.num{font-variant-numeric:tabular-nums}.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.nowrap{white-space:nowrap}.ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.row{display:flex;align-items:center;gap:8px;min-width:0}.row.wrap{flex-wrap:wrap}.sp{flex:1}
.stack{display:grid;gap:16px}.stack-sm{display:grid;gap:8px}

/* ---------- estructura ---------- */
.top{position:fixed;inset:0 0 auto;z-index:40;height:var(--top);display:flex;align-items:center;gap:12px;padding:0 12px;background:#1A1A1A;color:#E3E3E3}
.top .logo{display:flex;align-items:center;gap:10px;height:40px;text-decoration:none;flex:none}
.top .logo img{height:36px;width:auto}
.top .logo span{display:none;font:600 13px/1.1 var(--f);color:#B5B5B5;border-left:1px solid #3A3A3A;padding-left:10px}
.top .menu-b{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:#E3E3E3;cursor:pointer}
.top .menu-b:hover{background:#303030}
.sbox{flex:1;max-width:560px;margin:0 auto;position:relative}
.sbox button{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 12px;border:1px solid #3A3A3A;border-radius:10px;background:#303030;color:#A8A8A8;cursor:pointer;font-size:14px;text-align:left}
.sbox button:hover{background:#3A3A3A;border-color:#4A4A4A}
.sbox kbd{margin-left:auto;padding:1px 6px;border-radius:5px;background:#1A1A1A;color:#8A8A8A;font:500 12px var(--f)}
.top-r{display:flex;align-items:center;gap:6px;flex:none}
.tb-btn{position:relative;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:#E3E3E3;cursor:pointer}
.tb-btn:hover{background:#303030}
.tb-btn .dot{position:absolute;top:6px;right:6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--brand-red);color:#fff;font:700 11px/17px var(--f);text-align:center}
.who{display:flex;align-items:center;gap:8px;height:40px;padding:0 6px 0 4px;border:0;border-radius:10px;background:transparent;color:#E3E3E3;cursor:pointer}
.who:hover{background:#303030}
.av{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#E3E3E3;color:#1A1A1A;font:700 12px var(--f);flex:none}
.av.lg{width:44px;height:44px;border-radius:12px;font-size:15px}
.who .w-t{display:none;text-align:left;line-height:1.15}.who .w-t b{display:block;font-size:13px;font-weight:600}.who .w-t small{font-size:12px;color:#A8A8A8}
.demo-tag{display:none;padding:3px 8px;border-radius:6px;background:#303030;color:#C9C9C9;font:600 11.5px var(--f);letter-spacing:.02em}
.side{position:fixed;z-index:30;top:var(--top);bottom:0;left:0;width:var(--sidew);padding:12px 8px 16px;background:var(--side);overflow-y:auto;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .22s ease}
.side.open{transform:none;box-shadow:var(--sh-2)}
.nav-g{margin:0 0 10px}.nav-g ul{margin:0;padding:0;list-style:none}
.nav-g h3{margin:12px 10px 6px;font:600 12px var(--f);color:#575757;letter-spacing:.02em}
.nav a{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:8px;color:#303030;font-weight:550;text-decoration:none}
.nav a .i{color:#4A4A4A}
.nav a:hover{background:#E0E0E0}
.nav a[aria-current="page"]{background:#fff;box-shadow:var(--sh);color:var(--text);font-weight:650}
.nav a[aria-current="page"] .i{color:var(--text)}
.nav a .cnt{margin-left:auto;min-width:22px;padding:1px 7px;border-radius:10px;background:#DCDCDC;font:600 12px/18px var(--f);text-align:center;color:#303030}
.nav a .cnt.alert{background:var(--red-bg);color:#A3200A}
.side-f{margin-top:auto;padding:12px 10px 0;border-top:1px solid #DADADA;font-size:12.5px;color:var(--text-2)}
.side-f b{color:var(--text);font-weight:600}
.scrim{position:fixed;inset:var(--top) 0 0;z-index:29;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .2s}
.scrim.on{opacity:1;pointer-events:auto}
.main{padding:calc(var(--top) + 16px) 12px calc(88px + var(--sa-b));min-height:100vh}
.view{max-width:1200px;margin:0 auto}
.view.narrow{max-width:880px}
.view.enter{animation:vin .24s cubic-bezier(.2,.7,.2,1)}
@keyframes vin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.tabbar{position:fixed;z-index:35;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 6px calc(6px + var(--sa-b));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 0;border:0;background:none;color:var(--text-2);font:600 11px var(--f);text-decoration:none;cursor:pointer;border-radius:10px}
.tabbar [aria-current="page"]{color:var(--text)}
.tabbar .fab{color:var(--text)}
.tabbar .fab span.c{display:grid;place-items:center;width:44px;height:30px;border-radius:10px;background:var(--ink);color:#fff}
@media(min-width:640px){.top .logo span{display:block}.demo-tag{display:inline-block}}
@media(min-width:1024px){
  .side{transform:none}.scrim,.top .menu-b,.tabbar{display:none}
  .main{margin-left:var(--sidew);padding:calc(var(--top) + 24px) 32px 48px}
  .who .w-t{display:block}
  .top{padding:0 16px}
}

/* ---------- encabezado de página ---------- */
.ph{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}
.ph h1{font-size:20px;line-height:1.25}
.ph .sub{margin-top:2px;color:var(--text-2)}
.ph .acts{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.back{display:inline-flex;align-items:center;gap:4px;margin-bottom:8px;color:var(--text-2);font-weight:550;text-decoration:none}
.back:hover{color:var(--text);text-decoration:none}
@media(max-width:639px){.ph .acts{width:100%;margin-left:0}.ph .acts .btn{flex:1}}

/* ---------- tarjetas ---------- */
.card{background:var(--surface);border-radius:var(--r);box-shadow:var(--sh);min-width:0}
.card-h{display:flex;align-items:center;gap:10px;padding:14px 16px 0;min-height:44px}
.card-h h2{font-size:14px;font-weight:650}
.card-h .sub{color:var(--text-2);font-size:13px}
.card-h .r{margin-left:auto;display:flex;gap:6px;align-items:center}
.card-b{padding:12px 16px 16px}
.card-b.flush{padding:8px 0 4px}
.card-f{padding:12px 16px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;align-items:center}
.sec-t{font:600 13px var(--f);color:var(--text-2);margin:0 0 8px}
.grid{display:grid;gap:16px;min-width:0}
.g2{grid-template-columns:minmax(0,1fr)}.g3{grid-template-columns:minmax(0,1fr)}
@media(min-width:768px){.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.layout-2{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);align-items:start}
@media(min-width:1100px){.layout-2{grid-template-columns:minmax(0,1fr) 340px}.layout-2 .aside{position:sticky;top:calc(var(--top) + 24px)}}
.dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0}
.dl dt{color:var(--text-2)}.dl dd{margin:0;font-weight:500;text-align:right;min-width:0}
.hr{height:1px;background:var(--line);margin:12px 0;border:0}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border:0;border-radius:var(--r-sm);background:#fff;color:var(--text);font:600 13.5px var(--f);box-shadow:0 0 0 1px var(--line-2),0 1px 0 var(--line-2);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,transform .1s}
.btn:hover{background:var(--hover);text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn .i{width:18px;height:18px}
.btn-primary{background:var(--ink-2);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 0 1px #000,0 2px 0 #000}
.btn-primary:hover{background:#1A1A1A}
.btn-danger{background:var(--red);color:#fff;box-shadow:0 0 0 1px #A82109}
.btn-danger:hover{background:#B82409}
.btn-plain{background:none;box-shadow:none;color:var(--link);padding:0 6px}
.btn-plain:hover{background:none;text-decoration:underline}
.btn-sm{min-height:30px;padding:0 10px;font-size:13px}
.btn-lg{min-height:44px;padding:0 18px;font-size:14.5px}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn-wa{background:#1F9E52;color:#fff;box-shadow:0 0 0 1px #158043}.btn-wa:hover{background:#178A47}
.btn-icon{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-2);cursor:pointer}
.btn-icon:hover{background:var(--hover);color:var(--text)}
@media(max-width:1023px){.btn{min-height:40px}.btn-sm{min-height:34px}}
.btn.saving{pointer-events:none;opacity:.8}
.btn .spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- insignias de estado ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px 0 8px;border-radius:7px;font:600 12.5px var(--f);white-space:nowrap;transition:background .3s,color .3s}
.badge i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.b-rec{background:var(--rec-bg);color:var(--rec)}.b-diag{background:var(--diag-bg);color:var(--diag)}.b-aprob{background:var(--aprob-bg);color:var(--aprob)}
.b-rep{background:var(--rep-bg);color:var(--rep)}.b-listo{background:var(--listo-bg);color:var(--listo)}.b-ent{background:var(--ent-bg);color:var(--ent)}
.badge.pop{animation:pop .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes pop{0%{transform:scale(.85)}60%{transform:scale(1.06)}100%{transform:none}}
.pill{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:6px;background:var(--surface-3);color:var(--text-2);font:600 12px var(--f);white-space:nowrap}
.pill.red{background:var(--red-bg);color:#A3200A}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.blue{background:var(--diag-bg);color:var(--diag)}
.plate{display:inline-flex;align-items:center;height:22px;padding:0 6px;border-radius:5px;background:#fff;box-shadow:inset 0 0 0 1.5px #1A1A1A;color:#1A1A1A;font:700 12.5px var(--f);letter-spacing:.06em;white-space:nowrap}
.plate.lg{height:30px;padding:0 10px;font-size:16px;border-radius:7px;box-shadow:inset 0 0 0 2px #1A1A1A}

/* ---------- indicadores ---------- */
.kpis{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:768px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
.kpi{display:block;padding:14px 16px;background:var(--surface);border-radius:var(--r);box-shadow:var(--sh);color:var(--text);text-decoration:none;min-width:0;transition:box-shadow .15s}
a.kpi:hover{box-shadow:var(--sh-2);text-decoration:none}
.kpi .k-l{display:flex;align-items:center;gap:6px;color:var(--text-2);font-weight:550;font-size:13px}
.kpi .k-l .i{width:16px;height:16px}
.kpi .k-v{margin-top:6px;font:650 24px/1.1 var(--f);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kpi .k-s{margin-top:4px;font-size:12.5px;color:var(--text-2)}
.kpi .k-row{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.delta{font-weight:600}.delta.up{color:var(--ok)}.delta.down{color:var(--red)}
.kpi.st{border-top:3px solid transparent}
.kpi.st-rec{border-top-color:var(--rec)}.kpi.st-diag{border-top-color:var(--diag)}.kpi.st-aprob{border-top-color:#E0A000}.kpi.st-rep{border-top-color:var(--rep)}.kpi.st-listo{border-top-color:var(--listo)}

/* ---------- tablas y listas ---------- */
.tbl-w{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th{padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--text-2);font-weight:600;font-size:12.5px;text-align:left;white-space:nowrap}
.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr{cursor:pointer;transition:background .12s}
.tbl tbody tr:hover{background:var(--surface-2)}
.tbl .r{text-align:right}
.tbl th:first-child,.tbl td:first-child{padding-left:16px}.tbl th:last-child,.tbl td:last-child{padding-right:16px}
.veh{display:flex;flex-direction:column;gap:3px;min-width:0}
.veh b{font-weight:600}
.lst{list-style:none;margin:0;padding:0}
.lst>li{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--line);min-width:0}
.lst>li:first-child{border-top:0}
.lst a.li{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:0;flex:1}
.lst a.li:hover{text-decoration:none}
.lst>li.click{cursor:pointer}.lst>li.click:hover{background:var(--surface-2)}
.lst .li-m{flex:1;min-width:0}.lst .li-m b{display:block;font-weight:600}.lst .li-m small{display:block;color:var(--text-2);font-size:12.5px}
@media(max-width:899px){.only-d{display:none!important}}
@media(min-width:900px){.only-m{display:none!important}}

/* tarjetas de orden (celular) */
.ocards{display:grid;gap:10px;padding:10px}
.oc{display:block;padding:12px 14px;border-radius:10px;background:#fff;box-shadow:var(--sh);color:inherit;text-decoration:none}
.oc:hover{text-decoration:none}
.oc .oc-t{display:flex;align-items:center;gap:8px}
.oc .oc-m{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--text-2);font-size:13px}

/* ---------- filtros ---------- */
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:2px}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:none;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--text-2);font:600 13px var(--f);cursor:pointer}
.tabs button:hover{background:var(--hover);color:var(--text)}
.tabs button[aria-pressed="true"]{background:var(--surface-3);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-2)}
.tabs button .c{min-width:20px;padding:0 6px;border-radius:9px;background:var(--surface-3);font-size:12px;line-height:18px}
.seg{display:inline-flex;padding:3px;border-radius:9px;background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line)}
.seg button{height:28px;padding:0 12px;border:0;border-radius:7px;background:none;color:var(--text-2);font:600 13px var(--f);cursor:pointer;white-space:nowrap}
.seg button[aria-pressed="true"]{background:#fff;color:var(--text);box-shadow:var(--sh)}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}
.search-in{position:relative;flex:1;min-width:180px}
.search-in .i{position:absolute;left:10px;top:50%;margin-top:-9px;width:18px;height:18px;color:var(--text-3)}
.search-in input{padding-left:34px!important}

/* ---------- formularios ---------- */
.fld{display:grid;gap:6px;min-width:0}
.fld>span,.lbl{font-weight:550;font-size:13px;color:var(--text)}
.fld small{color:var(--text-2);font-size:12.5px}
.fld input,.fld select,.fld textarea,.inp{width:100%;min-width:0;min-height:38px;padding:8px 11px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;font-size:14px;transition:border-color .15s,box-shadow .15s}
.fld textarea{min-height:84px;resize:vertical;line-height:1.45}
.fld input:focus,.fld select:focus,.fld textarea:focus,.inp:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}
.fld.err input,.fld.err select,.fld.err textarea{border-color:var(--red);background:#FFF8F7}
.fld .msg{display:none;align-items:center;gap:5px;color:var(--red);font-size:12.5px;font-weight:550}
.fld.err .msg{display:flex}
.fld .msg .i{width:14px;height:14px}
.fld-row{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){.fld-row.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.fld-row.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.fld-row.c4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1023px){.fld input,.fld select,.fld textarea,.inp{font-size:16px;min-height:44px}}
.fld select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23616161' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 8px center/18px;padding-right:32px}
.input-plate{text-transform:uppercase;letter-spacing:.08em;font-weight:650}
.chk{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.chk input{width:18px;height:18px;margin:0;accent-color:var(--ink)}
.tri{display:grid;gap:0;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.tri>div{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;border-top:1px solid var(--line);min-width:0}
.tri>div:first-child{border-top:0}
.tri>div>span{flex:1;min-width:0}
.tri .seg button{height:30px;padding:0 10px}
.tri .seg button[data-v="falla"][aria-pressed="true"]{background:var(--red-bg);color:var(--red);box-shadow:none}
.tri .seg button[data-v="ok"][aria-pressed="true"]{background:var(--ok-bg);color:var(--ok);box-shadow:none}
@media(min-width:900px){.tri.cols{grid-template-columns:1fr 1fr}.tri.cols>div:nth-child(2){border-top:0}.tri.cols>div:nth-child(even){border-left:1px solid var(--line)}}
.fuel{display:grid;gap:8px}
.fuel input[type=range]{width:100%;accent-color:var(--ink);height:28px}
.fuel .fz{display:flex;justify-content:space-between;color:var(--text-3);font:600 12px var(--f)}
.fuel-g{height:10px;border-radius:5px;background:var(--surface-3);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.fuel-g span{display:block;height:100%;background:linear-gradient(90deg,#D72C0D,#E0A000 30%,#0C7A43 60%);transition:width .2s}

/* stepper del ingreso */
.steps{display:flex;gap:6px;margin-bottom:16px;counter-reset:s}
.steps li{flex:1;list-style:none;min-width:0}
.steps ol{display:contents}
.steps button{display:flex;align-items:center;gap:8px;width:100%;padding:0 0 10px;border:0;border-bottom:3px solid var(--line-2);background:none;color:var(--text-3);font:600 13px var(--f);text-align:left;cursor:pointer}
.steps button b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--surface-3);font-size:12px;flex:none;transition:background .2s,color .2s}
.steps button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.steps .done button{color:var(--text-2);border-color:var(--ink-2)}.steps .done b{background:var(--ink-2);color:#fff}
.steps .cur button{color:var(--text);border-color:var(--ink-2)}.steps .cur b{background:var(--ink-2);color:#fff;box-shadow:0 0 0 3px rgba(26,26,26,.12)}
@media(max-width:639px){.steps button span{display:none}.steps .cur button span{display:inline}}
.wiz-f{position:sticky;bottom:calc(64px + var(--sa-b));z-index:5;display:flex;gap:8px;align-items:center;margin-top:16px;padding:12px;border-radius:var(--r);background:rgba(255,255,255,.96);backdrop-filter:blur(8px);box-shadow:var(--sh-2)}
@media(min-width:1024px){.wiz-f{bottom:16px}}
.slide-in{animation:slin .26s cubic-bezier(.2,.7,.2,1)}
@keyframes slin{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}

/* diagrama de daños */
.car-map{position:relative;max-width:360px;margin:0 auto;aspect-ratio:1/1.55;cursor:crosshair;touch-action:manipulation}
.car-map svg{width:100%;height:100%;display:block}
.car-map .mk{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:var(--red);color:#fff;font:700 12px/26px var(--f);text-align:center;box-shadow:0 0 0 3px #fff,0 2px 8px rgba(0,0,0,.3);animation:pop .35s cubic-bezier(.2,1.6,.4,1)}
.dmg-l{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dmg-l li{display:flex;align-items:center;gap:8px}
.dmg-l li b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;font-size:12px;flex:none}

/* fotos */
.photos{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.ph-it{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--surface-3)}
.ph-it img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.ph-it button{position:absolute;top:4px;right:4px;width:26px;height:26px;border:0;border-radius:7px;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;cursor:pointer}
.ph-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;aspect-ratio:1;border:1.5px dashed var(--line-2);border-radius:10px;background:var(--surface-2);color:var(--text-2);font:600 12.5px var(--f);cursor:pointer;text-align:center;padding:6px}
.ph-add:hover{border-color:var(--text-3);background:#fff}
.ph-add input{display:none}

/* ---------- seguimiento por estados ---------- */
.track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:4px 0 2px}
.track li{list-style:none;position:relative;text-align:center;padding-top:30px;min-width:0}
.track li::before{content:"";position:absolute;top:11px;left:-50%;right:50%;height:3px;background:var(--line-2)}
.track li:first-child::before{display:none}
.track li .dt{position:absolute;top:2px;left:50%;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--line-2);display:grid;place-items:center;z-index:1;transition:background .3s,box-shadow .3s}
.track li .dt .i{width:13px;height:13px;stroke-width:3;color:#fff;opacity:0}
.track li span{display:block;font:600 12px/1.25 var(--f);color:var(--text-3)}
.track li small{display:block;font-size:11.5px;color:var(--text-3);margin-top:2px}
.track li.done::before,.track li.cur::before{background:var(--sc,var(--ink-2))}
.track li.done .dt{background:var(--sc,var(--ink-2));box-shadow:none}
.track li.done .dt .i{opacity:1}
.track li.done span{color:var(--text-2)}
.track li.cur .dt{background:#fff;box-shadow:inset 0 0 0 6px var(--sc,var(--ink-2)),0 0 0 4px color-mix(in srgb,var(--sc) 18%,transparent)}
.track li.cur span{color:var(--text)}
.track li.just .dt{animation:pop .6s cubic-bezier(.2,1.6,.4,1)}
.track li.just::before{animation:grow .6s ease both;transform-origin:left}
@keyframes grow{from{transform:scaleX(0)}to{transform:none}}
@media(max-width:639px){.track li span{font-size:10.5px}.track li small{display:none}}
.s-rec{--sc:var(--rec)}.s-diag{--sc:var(--diag)}.s-aprob{--sc:#D99100}.s-rep{--sc:var(--rep)}.s-listo{--sc:var(--listo)}.s-ent{--sc:var(--ent)}
.mini-track{display:flex;gap:3px;width:84px}
.mini-track i{flex:1;height:5px;border-radius:3px;background:var(--line)}
.mini-track i.on{background:var(--sc)}

/* tablero */
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:12px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory}
@media(max-width:639px){.board{grid-auto-columns:86%}}
.col{display:flex;flex-direction:column;min-height:300px;border-radius:var(--r);background:#E7E7E7;scroll-snap-align:start;transition:background .15s,box-shadow .15s}
.col.over{background:#DCDCDC;box-shadow:inset 0 0 0 2px var(--sc)}
.col-h{display:flex;align-items:center;gap:8px;padding:12px 12px 8px}
.col-h b{font-size:13px}
.col-h .n{margin-left:auto;min-width:22px;padding:0 6px;border-radius:9px;background:#fff;font:600 12px/20px var(--f);text-align:center}
.col-h::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--sc)}
.col-b{display:flex;flex-direction:column;gap:8px;padding:0 8px 10px;flex:1;min-height:60px}
.kc{display:block;padding:12px;border-radius:10px;background:#fff;box-shadow:var(--sh);color:inherit;text-decoration:none;cursor:grab;transition:box-shadow .15s,opacity .15s}
.kc:hover{box-shadow:var(--sh-2);text-decoration:none}
.kc.drag{opacity:.45}
.kc .kc-t{display:flex;align-items:center;gap:8px}
.kc .kc-v{margin-top:8px;font-weight:600}
.kc .kc-m{margin-top:2px;color:var(--text-2);font-size:12.5px}
.kc .kc-f{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12.5px;color:var(--text-2)}
.kc .kc-f .av{width:22px;height:22px;border-radius:6px;font-size:10px}
.col-empty{display:grid;place-items:center;flex:1;min-height:80px;border:1.5px dashed #CFCFCF;border-radius:10px;color:var(--text-3);font-size:12.5px;text-align:center;padding:12px}

/* línea de tiempo */
.tl{list-style:none;margin:0;padding:0}
.tl li{position:relative;display:flex;gap:12px;padding:0 0 16px}
.tl li::before{content:"";position:absolute;left:11px;top:24px;bottom:0;width:2px;background:var(--line)}
.tl li:last-child::before{display:none}
.tl .tl-d{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface-3);color:var(--text-2);flex:none}
.tl .tl-d .i{width:13px;height:13px}
.tl .tl-d.st{background:var(--sc);color:#fff}
.tl .tl-m{flex:1;min-width:0;padding-top:2px}
.tl .tl-m b{font-weight:550}
.tl .tl-m small{display:block;color:var(--text-2);font-size:12.5px;margin-top:1px}
.tl li.new{animation:vin .4s ease}

/* trabajos de la orden */
.jobs{list-style:none;margin:0;padding:0}
.jobs li{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--line)}
.jobs li:first-child{border-top:0}
.jobs .cb{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;border:0;box-shadow:inset 0 0 0 1.8px var(--line-2);background:#fff;cursor:pointer;flex:none;transition:background .15s,box-shadow .15s}
.jobs .cb .i{width:15px;height:15px;stroke-width:3;color:#fff;transform:scale(0);transition:transform .2s cubic-bezier(.2,1.6,.4,1)}
.jobs li.ok .cb{background:var(--ok);box-shadow:none}.jobs li.ok .cb .i{transform:none}
.jobs li.ok .j-d{color:var(--text-2);text-decoration:line-through;text-decoration-color:var(--text-3)}
.jobs .j-d{flex:1;min-width:0}
.jobs .j-d small{display:block;color:var(--text-2);font-size:12.5px;text-decoration:none}
.prog{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}
.prog span{display:block;height:100%;background:var(--ok);border-radius:3px;transition:width .4s cubic-bezier(.2,.7,.2,1)}
.tot{display:grid;gap:6px}
.tot div{display:flex;justify-content:space-between;gap:12px}
.tot .big{padding-top:8px;margin-top:4px;border-top:1px solid var(--line);font-size:16px;font-weight:700}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cmp>div{padding:10px 12px;border-radius:10px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.cmp small{display:block;color:var(--text-2);font-size:12px;font-weight:550}
.cmp b{display:block;margin-top:2px;font-size:17px;font-variant-numeric:tabular-nums}
.timer{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--rep-bg);color:var(--rep)}
.timer b{font-variant-numeric:tabular-nums;font-size:16px}
.live{width:8px;height:8px;border-radius:50%;background:currentColor;animation:blink 1.4s ease infinite}
@keyframes blink{50%{opacity:.25}}

/* avisos y alertas */
.alerts{list-style:none;margin:0;padding:0}
.alerts li{display:flex;gap:12px;padding:11px 16px;border-top:1px solid var(--line);align-items:flex-start}
.alerts li:first-child{border-top:0}
.alerts .ic{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;flex:none}
.alerts .ic .i{width:17px;height:17px}
.alerts .ic.red{background:var(--red-bg);color:var(--red)}.alerts .ic.warn{background:var(--warn-bg);color:var(--warn)}.alerts .ic.blue{background:var(--diag-bg);color:var(--diag)}.alerts .ic.ok{background:var(--ok-bg);color:var(--ok)}
.alerts .a-m{flex:1;min-width:0}.alerts .a-m b{display:block;font-weight:600}.alerts .a-m small{color:var(--text-2);font-size:12.5px}
.banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:var(--warn-bg);color:#5C3D00;box-shadow:inset 0 0 0 1px #F2D58A}
.banner.info{background:var(--diag-bg);color:#1E3A8A;box-shadow:inset 0 0 0 1px #C3D3FF}
.banner.red{background:var(--red-bg);color:#8E1F0B;box-shadow:inset 0 0 0 1px #F8C5BD}
.banner.ok{background:var(--ok-bg);color:#0B5A33;box-shadow:inset 0 0 0 1px #B4E3C6}
.banner .i{margin-top:1px}
.banner b{font-weight:650}
.quick{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
.quick a,.quick button{display:flex;align-items:center;gap:10px;padding:12px;border:0;border-radius:10px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--text);font:600 13.5px var(--f);text-decoration:none;cursor:pointer;text-align:left}
.quick a:hover,.quick button:hover{background:#fff;box-shadow:inset 0 0 0 1px var(--line-2),var(--sh);text-decoration:none}
.quick .qi{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--ink-2);color:#fff;flex:none}
.quick .qi .i{width:17px;height:17px}

/* estados vacíos y esqueletos */
.empty{display:grid;justify-items:center;gap:8px;padding:36px 16px;text-align:center;color:var(--text-2)}
.empty .e-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--surface-3);color:var(--text-3)}
.empty .e-ic .i{width:26px;height:26px}
.empty b{color:var(--text);font-size:15px}
.sk{position:relative;overflow:hidden;background:#E9E9E9;border-radius:8px}
.sk::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shim 1.1s infinite}
@keyframes shim{to{transform:translateX(100%)}}

/* gráficos */
.cc{display:flex;align-items:flex-end;gap:6px;height:calc(var(--h) + 34px);padding-top:18px}
.cc-c{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.cc-b{width:100%;max-width:38px;border-radius:5px 5px 2px 2px;background:var(--chart);opacity:.85;transition:height .5s cubic-bezier(.2,.7,.2,1),opacity .15s}
.cc-c:hover .cc-b,.cc-c.hi .cc-b{opacity:1}
.cc-v{font:600 11.5px var(--f);color:var(--text-2);margin-bottom:4px;white-space:nowrap;font-variant-numeric:tabular-nums}
.cc-l{position:absolute;bottom:-20px;font:500 11.5px var(--f);color:var(--text-3);white-space:nowrap}
.cc{margin-bottom:20px}
.hb{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.hb-t{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.hb-t span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb-t b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.hb-r{height:8px;margin-top:5px;border-radius:4px;background:var(--surface-3);overflow:hidden}
.hb-r span{display:block;height:100%;border-radius:4px;background:var(--chart);transition:width .6s cubic-bezier(.2,.7,.2,1)}
.hb small{display:block;margin-top:3px;color:var(--text-2);font-size:12px}
.ar{position:relative;height:var(--h);margin:6px 0 26px}
.ar svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ar-g{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
.ar-l{fill:none;stroke:var(--chart);stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.ar-p{fill:none;stroke:#B9B9B9;stroke-width:1.6;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.ar-dots span{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--chart);opacity:0;transition:opacity .15s}
.ar:hover .ar-dots span,.ar-dots span:focus{opacity:1}
.ar-x{position:absolute;left:0;right:0;bottom:-22px;height:16px}
.ar-x span{position:absolute;transform:translateX(-50%);font:500 11.5px var(--f);color:var(--text-3);white-space:nowrap}
.ar-x span:first-child{transform:none}.ar-x span:last-child{transform:translateX(-100%)}
.st-bar{display:flex;gap:3px;height:12px;border-radius:6px;overflow:hidden}
.st-bar span{min-width:6px;transition:flex .5s}
.st-bar .b-rec{background:var(--rec)}.st-bar .b-diag{background:var(--diag)}.st-bar .b-aprob{background:#E0A000}.st-bar .b-rep{background:var(--rep)}.st-bar .b-listo{background:var(--listo)}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:12.5px;color:var(--text-2)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:9px;height:9px;border-radius:3px;background:var(--sc)}
.legend b{color:var(--text);font-weight:600}
.dn{position:relative;width:var(--s);height:var(--s);flex:none}
.dn svg{width:100%;height:100%;transform:rotate(-90deg) scaleY(-1)}
.dn-c{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.dn-c b{font-size:18px;font-variant-numeric:tabular-nums}.dn-c span{font-size:11.5px;color:var(--text-2)}
.spark{display:block}
.insight{display:flex;gap:10px;padding:12px 14px;border-radius:10px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.insight .i{color:var(--chart);margin-top:1px}

/* ---------- capas ---------- */
.ov{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}
.ov-bg{position:absolute;inset:0;background:rgba(26,26,26,.45);opacity:0;transition:opacity .2s}
.ov.in .ov-bg{opacity:1}
.ov.out .ov-bg{opacity:0}
.modal{position:relative;display:flex;flex-direction:column;width:100%;max-height:92vh;border-radius:16px 16px 0 0;background:#fff;box-shadow:var(--sh-2);transform:translateY(24px);opacity:0;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .2s;outline:none}
.ov.in .modal{transform:none;opacity:1}
.ov.out .modal{transform:translateY(16px);opacity:0}
@media(min-width:640px){.ov-modal{align-items:center;padding:24px}.modal{width:min(560px,100%);border-radius:16px;transform:scale(.97) translateY(8px)}.modal.sm{width:min(420px,100%)}.modal.lg{width:min(760px,100%)}.ov.out .modal{transform:scale(.98)}}
.modal-h,.drawer-h{display:flex;align-items:center;gap:8px;padding:14px 12px 12px 18px;border-bottom:1px solid var(--line)}
.modal-h h2,.drawer-h h2{flex:1;font-size:15px;font-weight:650}
.modal-b,.drawer-b{padding:16px 18px;overflow-y:auto;flex:1}
.modal-f,.drawer-f{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 18px calc(12px + var(--sa-b));border-top:1px solid var(--line)}
@media(max-width:639px){.modal-f .btn,.drawer-f .btn{flex:1}}
.ov-drawer{justify-content:flex-end;align-items:stretch}
.drawer{position:relative;display:flex;flex-direction:column;width:min(480px,100%);height:100%;background:#fff;box-shadow:var(--sh-2);transform:translateX(30px);opacity:0;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .2s;outline:none}
.ov.in .drawer{transform:none;opacity:1}
.ov.out .drawer{transform:translateX(24px);opacity:0}
.toasts{position:fixed;z-index:80;left:50%;bottom:calc(84px + var(--sa-b));transform:translateX(-50%);display:grid;gap:8px;width:max-content;max-width:calc(100vw - 24px)}
@media(min-width:1024px){.toasts{bottom:24px}}
.toast{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 14px;border-radius:10px;background:#1A1A1A;color:#fff;font-weight:550;box-shadow:0 10px 30px -8px rgba(0,0,0,.45);animation:tin .28s cubic-bezier(.2,1.2,.4,1)}
.toast .i{width:18px;height:18px;color:#5BD48F}
.toast.t-err .i{color:#FF8A70}.toast.t-info .i{color:#9BB7FF}
.toast button{margin-left:6px;padding:4px 8px;border:0;border-radius:6px;background:#3A3A3A;color:#fff;font-weight:600;cursor:pointer}
.toast.out{animation:tout .22s ease forwards}
@keyframes tin{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@keyframes tout{to{opacity:0;transform:translateY(6px)}}
/* búsqueda */
.cmdk{width:min(620px,100%)}
@media(min-width:640px){.ov-cmdk{align-items:flex-start;padding-top:10vh}}
.cmdk .modal-b{padding:0}
.cmdk-in{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.cmdk-in input{flex:1;border:0;outline:none;font-size:16px;background:none;min-width:0}
.cmdk-r{max-height:min(60vh,460px);overflow-y:auto;padding:6px}
.cmdk-r h4{margin:10px 10px 4px;font:600 12px var(--f);color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}
.cmdk-r a{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px;color:inherit;text-decoration:none}
.cmdk-r a[aria-selected="true"],.cmdk-r a:hover{background:var(--surface-3);text-decoration:none}
.cmdk-r a .ic{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--surface-3);color:var(--text-2);flex:none}
.cmdk-r a[aria-selected="true"] .ic{background:#fff}
.cmdk-r .m{flex:1;min-width:0}.cmdk-r .m b{display:block;font-weight:600}.cmdk-r .m small{color:var(--text-2);font-size:12.5px}
.cmdk-h{padding:28px 16px;color:var(--text-2);text-align:center}
.menu-pop{position:fixed;z-index:70;min-width:240px;padding:6px;border-radius:12px;background:#fff;box-shadow:var(--sh-2);animation:tin .18s ease}
.menu-pop button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:none;font:550 13.5px var(--f);text-align:left;cursor:pointer;color:var(--text)}
.menu-pop button:hover{background:var(--surface-3)}
.menu-pop button[aria-checked="true"]{background:var(--surface-3)}
.menu-pop hr{border:0;height:1px;background:var(--line);margin:6px 4px}
.menu-pop .mh{padding:6px 10px 4px;font:600 12px var(--f);color:var(--text-3)}
.lightbox{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.88);animation:tin .2s ease}
.lightbox img{max-width:100%;max-height:90vh;border-radius:10px}

/* ficha pública */
body.public .top,body.public .side,body.public .tabbar,body.public .scrim{display:none}
body.public .main{margin:0;padding:0}
.pub{max-width:560px;margin:0 auto;padding:20px 16px 40px}
.pub-h{display:flex;justify-content:center;padding:18px 0 22px}
.pub-h img{height:54px;width:auto}

/* impresión: comprobante */
#print-root{display:none}
@media print{
  @page{size:A4;margin:14mm}
  body{background:#fff}
  body>*:not(#print-root){display:none!important}
  #print-root{display:block;color:#000;font:11pt/1.4 var(--f)}
  .pr-h{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:12px;border-bottom:2px solid #000}
  .pr-h img{height:58px}
  .pr-h h1{font-size:18pt;text-align:right}
  .pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:16px 0}
  .pr-grid h3{font-size:9pt;text-transform:uppercase;letter-spacing:.06em;color:#555;margin-bottom:4px}
  .pr-t{width:100%;border-collapse:collapse;margin:8px 0}
  .pr-t th,.pr-t td{padding:6px 8px;border-bottom:1px solid #ccc;text-align:left}
  .pr-t th{background:#f2f2f2;font-size:9pt}
  .pr-t .r{text-align:right}
  .pr-tot{margin-left:auto;width:260px}
  .pr-tot div{display:flex;justify-content:space-between;padding:3px 0}
  .pr-tot .b{border-top:2px solid #000;margin-top:4px;padding-top:6px;font-weight:700;font-size:13pt}
  .pr-f{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:28px;font-size:9pt;color:#444}
  .pr-sign{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:40px}
  .pr-sign div{border-top:1px solid #000;padding-top:4px;text-align:center;font-size:9pt}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}}

/* ---------- zonas, conexión y dispositivos ---------- */
.pill.zp1{background:#E8F0FF;color:#1F4FD1}.pill.zp2{background:#E6F6F3;color:#0B6E62}.pill.zp3{background:#FFF1E0;color:#8A4B00}.pill.zp4{background:#F3E8FF;color:#6B21A8}
.conn{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 10px;border-radius:8px;background:#303030;color:#D4D4D4;font:600 12.5px var(--f);white-space:nowrap}
.conn i{width:8px;height:8px;border-radius:50%;background:#5BD48F;box-shadow:0 0 0 3px rgba(91,212,143,.18)}
.conn.saving i{background:#FFD60A;box-shadow:0 0 0 3px rgba(255,214,10,.2);animation:blink 1s ease infinite}
.conn.offline{background:#5C1A0E;color:#FFD4CC}.conn.offline i{background:#FF6B52;box-shadow:0 0 0 3px rgba(255,107,82,.25)}
.conn .ct{display:none}
@media(min-width:900px){.conn .ct{display:inline}}
.offbar{position:sticky;top:var(--top);z-index:20;display:flex;align-items:center;gap:10px;margin:-16px -12px 16px;padding:10px 16px;background:#FEE9E8;color:#8E1F0B;font-weight:600;box-shadow:inset 0 -1px 0 #F8C5BD}
@media(min-width:1024px){.offbar{margin:-24px -32px 20px;padding:10px 32px}}
.devs{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.dev{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);min-width:0}
.dev .di{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#fff;box-shadow:var(--sh);flex:none;color:var(--text-2)}
.dev .di .i{width:18px;height:18px}
.dev b{display:block;font-weight:600;font-size:13px}.dev small{display:block;color:var(--text-2);font-size:12px}
.dev .on{width:8px;height:8px;border-radius:50%;background:#B5B5B5;flex:none;margin-left:auto}
.dev.online .on{background:#20A35A;box-shadow:0 0 0 3px rgba(32,163,90,.18)}
.feed{list-style:none;margin:0;padding:0}
.feed li{display:flex;gap:10px;padding:9px 16px;border-top:1px solid var(--line);align-items:flex-start}
.feed li:first-child{border-top:0}
.feed .fi{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--surface-3);color:var(--text-2);flex:none}
.feed .fi .i{width:14px;height:14px}
.feed .fi.p1{background:#E8F0FF;color:#1F4FD1}.feed .fi.p2{background:#E6F6F3;color:#0B6E62}.feed .fi.p3{background:#FFF1E0;color:#8A4B00}.feed .fi.p4{background:#F3E8FF;color:#6B21A8}
.feed b{font-weight:600}.feed small{display:block;color:var(--text-2);font-size:12px}
.feed li.new{animation:flash 1.6s ease}
@keyframes flash{0%{background:#FFF6D6}100%{background:transparent}}
.kpis.k5{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:768px){.kpis.k5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){.kpis.k5{grid-template-columns:repeat(5,minmax(0,1fr))}}
tr.flash td,.kc.flash,.oc.flash{animation:flash 1.8s ease}
.zbox{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){.zbox{grid-template-columns:1fr 1fr}}
.zc{padding:14px;border-radius:10px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.zc h3{display:flex;align-items:center;gap:8px;font-size:13.5px}
.zc .zn{display:flex;gap:16px;margin:10px 0 8px}
.zc .zn div b{display:block;font-size:20px;font-variant-numeric:tabular-nums}.zc .zn div small{color:var(--text-2);font-size:12px}
.working{display:flex;align-items:center;gap:6px;color:var(--rep);font:600 12.5px var(--f)}

/* ---------- inicio de sesión del dispositivo ---------- */
body.start .top,body.start .side,body.start .tabbar,body.start .scrim{display:none}
body.start .main{margin:0;padding:0}
body.start .view,body.public .view{max-width:none}
.start-w{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:#1A1A1A}
.start-c{width:min(720px,100%);background:#fff;border-radius:18px;padding:28px;box-shadow:0 30px 80px -30px rgba(0,0,0,.6)}
.start-c .lg{display:flex;justify-content:center;margin-bottom:18px}.start-c .lg img{height:62px;width:auto}
.start-c h1{text-align:center;font-size:22px}.start-c>p{text-align:center;color:var(--text-2);margin-top:6px}
.choice{display:grid;gap:12px;margin-top:22px;grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){.choice{grid-template-columns:1fr 1fr}}
.choice button{display:grid;gap:8px;justify-items:start;padding:18px;border:0;border-radius:14px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-2);text-align:left;cursor:pointer;transition:box-shadow .15s,background .15s}
.choice button:hover{background:#fff;box-shadow:inset 0 0 0 2px var(--ink-2)}
.choice .ci{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--ink-2);color:#fff}
.choice b{font-size:15.5px}.choice span{color:var(--text-2);font-size:13.5px}
.join-qr{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media(min-width:720px){.join-qr{grid-template-columns:1fr 1fr}}
.jq{display:grid;justify-items:center;gap:10px;padding:18px;border-radius:14px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);text-align:center}
.code{font:700 26px/1 var(--f);letter-spacing:.18em;font-variant-numeric:tabular-nums}

/* ---------- tablet de producción ---------- */
body.tablet{font-size:16px}
body.tablet .side,body.tablet .tabbar,body.tablet .scrim,body.tablet .top .menu-b,body.tablet .sbox{display:none}
body.tablet .main{margin:0;padding:calc(var(--top) + 14px) 14px 20px}
body.tablet .view{max-width:none}
.tb{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.tb{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start}.tb-list{position:sticky;top:calc(var(--top) + 14px);max-height:calc(100vh - var(--top) - 28px);overflow:auto}}
.tb-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.tb-h h1{font-size:22px}
.ops{display:flex;gap:8px;flex-wrap:wrap}
.ops button{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px 0 8px;border:0;border-radius:14px;background:#fff;box-shadow:var(--sh);font:600 15px var(--f);cursor:pointer}
.ops button[aria-pressed="true"]{background:var(--ink-2);color:#fff}
.ops .av{width:36px;height:36px;border-radius:10px;font-size:13px}
.jl{display:grid;gap:10px}
.jc{display:block;width:100%;padding:16px;border:0;border-radius:16px;background:#fff;box-shadow:var(--sh);text-align:left;cursor:pointer;transition:box-shadow .15s,transform .1s}
.jc:active{transform:scale(.99)}
.jc[aria-current="true"]{box-shadow:0 0 0 3px var(--ink-2)}
.jc .jt{display:flex;align-items:center;gap:8px}
.jc .jv{margin-top:10px;font:650 18px/1.25 var(--f)}
.jc .jm{margin-top:3px;color:var(--text-2);font-size:14.5px}
.jc .jf{display:flex;align-items:center;gap:10px;margin-top:12px}
.jc .prog{flex:1;height:8px}
.jc .jf small{font:600 13px var(--f);color:var(--text-2);white-space:nowrap}
.jc.new{animation:slin .4s cubic-bezier(.2,.7,.2,1),flash 2s ease}
.td{display:grid;gap:14px}
.td .card-b{padding:16px 18px 18px}
.td h2.big{font-size:24px;line-height:1.2}
.bigbtns{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.bb{display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:0 18px;border:0;border-radius:14px;font:700 17px var(--f);cursor:pointer;box-shadow:var(--sh);background:#fff;color:var(--text)}
.bb .i{width:24px;height:24px}
.bb.go{background:#0C7A43;color:#fff}.bb.pause{background:#8A5300;color:#fff}.bb.done{background:var(--ink-2);color:#fff}
.bb[disabled]{opacity:.45;cursor:not-allowed}
.tjobs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tjobs button{display:flex;align-items:center;gap:14px;width:100%;min-height:62px;padding:10px 14px;border:0;border-radius:14px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);text-align:left;font:600 16px var(--f);cursor:pointer;color:var(--text)}
.tjobs .cb{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#fff;box-shadow:inset 0 0 0 2px var(--line-2);flex:none;transition:background .15s}
.tjobs .cb .i{width:20px;height:20px;stroke-width:3;color:#fff;transform:scale(0);transition:transform .2s cubic-bezier(.2,1.6,.4,1)}
.tjobs button[aria-pressed="true"]{background:var(--ok-bg);box-shadow:inset 0 0 0 1px #B4E3C6}
.tjobs button[aria-pressed="true"] .cb{background:var(--ok);box-shadow:none}.tjobs button[aria-pressed="true"] .cb .i{transform:none}
.tjobs button[aria-pressed="true"] .tx{color:var(--text-2);text-decoration:line-through}
.falta{display:grid;gap:8px}
.falta li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.falta .i{color:var(--warn);margin-top:2px}
.falta li.ok .i{color:var(--ok)}
.bigtimer{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.bigtimer b{font:700 30px/1 var(--f);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.bigtimer.run{background:var(--rep-bg);box-shadow:inset 0 0 0 1px #D6C8FF;color:var(--rep)}
.instr{padding:14px 16px;border-radius:12px;background:#FFFBEA;box-shadow:inset 0 0 0 1px #F2E2A0;font-size:16px;line-height:1.5;white-space:pre-line}
body.tablet .fld textarea,body.tablet .fld input{font-size:17px}

/* ajustes de la auditoría */
@media(max-width:599px){.sbox{flex:0 0 auto;margin:0 0 0 auto}.sbox button{width:40px;height:40px;padding:0;justify-content:center;border:0;background:transparent;color:#E3E3E3}.sbox button .ell,.sbox kbd{display:none}}
@media(max-width:420px){.top{gap:4px;padding:0 6px}.top .logo img{height:28px}.who>.i{display:none}.who{padding:0 2px}.conn{padding:0 8px}.tb-btn{width:36px}}
body.tablet .btn{min-height:48px;font-size:15px;padding:0 16px}
body.tablet .btn-icon{width:44px;height:44px}
.track li small{color:var(--text-2)}
.track li span{color:#707070}
.ocards{grid-template-columns:minmax(0,1fr)}.oc,.oc .oc-t{min-width:0}
.hb{grid-template-columns:minmax(0,1fr)}.hb li{min-width:0}
.seg{max-width:100%;overflow-x:auto;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}
.fuel-g{max-width:100%}
.side-f .faint{color:#5C5C5C}
.jl{grid-template-columns:minmax(0,1fr)}.jc{min-width:0}.jc .jt{min-width:0}.jc .jt .badge{flex:none}
.veh{align-items:flex-start}
#view:focus{outline:none}

/* ---------- V1 ---------- */
.conn.resync{background:#3A3A3A;color:#FFE9A8}.conn.resync i{background:#FFD60A;animation:blink 1s ease infinite}
.offbar.resync{background:#FFF6D6;color:#5C3D00;box-shadow:inset 0 -1px 0 #F2D58A}
.zlist{display:grid;gap:8px}
.zrow{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);color:inherit;text-decoration:none;min-width:0;flex-wrap:wrap}
a.zrow:hover{background:#fff;text-decoration:none;box-shadow:inset 0 0 0 1px var(--line-2),var(--sh)}
.zrow b{display:block;font-weight:600}.zrow small{display:block;color:var(--text-2);font-size:12.5px}
.zcurso{display:block;padding:14px;border-radius:12px;background:var(--rep-bg);box-shadow:inset 0 0 0 1px #D6C8FF;color:var(--text);text-decoration:none}
.zcurso:hover{text-decoration:none;box-shadow:inset 0 0 0 1px #B9A3FF,var(--sh)}
.zcurso .live{color:var(--rep)}
.ph-add.subiendo{pointer-events:none;opacity:.7}.ph-add.subiendo .i{animation:blink 1s ease infinite}
.ph-it img:not([src]){opacity:0}.ph-it img{transition:opacity .25s}
.vida{list-style:none;margin:0;padding:0}
.vida>li{position:relative;padding:0 0 18px 0}
.vida>li::before{content:"";position:absolute;left:11px;top:26px;bottom:2px;width:2px;background:var(--line)}
.vida>li:last-child::before{display:none}
.vida .v-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.vida .v-h small{color:var(--text-2);font-size:12.5px}
.vida .v-d{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--sc,var(--ink-2));color:#fff;flex:none}
.vida .v-d .i{width:13px;height:13px;stroke-width:3}
.vida li.actual .v-d{box-shadow:0 0 0 4px color-mix(in srgb,var(--sc) 20%,transparent);animation:pop .6s cubic-bezier(.2,1.6,.4,1)}
.vida li.fut .v-d{background:#fff;box-shadow:inset 0 0 0 2px var(--line-2)}
.vida li.fut b{color:var(--text-3);font-weight:550}
.vida ul{list-style:none;margin:8px 0 0 34px;padding:0;display:grid;gap:6px}
.vida ul li{display:flex;gap:8px;font-size:13.5px}
.vida ul li small{display:block;color:var(--text-2);font-size:12px}
.vida .v-i{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--surface-3);color:var(--text-2);flex:none}
.vida .v-i .i{width:12px;height:12px}
.turno{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--bg)}
.turno-c{width:min(640px,100%);background:#fff;border-radius:20px;padding:24px;box-shadow:var(--sh-2)}
.pin-dots{display:flex;gap:12px;justify-content:center;margin:16px 0}
.pin-dots i{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--line-2);transition:background .15s,transform .15s}
.pin-dots i.on{background:var(--ink-2);box-shadow:none;transform:scale(1.1)}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:360px;margin:0 auto}
.keypad button{min-height:68px;border:0;border-radius:16px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);font:650 26px var(--f);color:var(--text);cursor:pointer;display:grid;place-items:center}
.keypad button:active{transform:scale(.97);background:var(--surface-3)}
.keypad button.ok{background:var(--ok);color:#fff;box-shadow:none}.keypad button.ok[disabled]{background:var(--surface-3);color:var(--text-3)}
.keypad .i{width:26px;height:26px}
.codes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.codes span{padding:8px 10px;border-radius:8px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);text-align:center;font-weight:650;letter-spacing:.08em}
body.start.tablet .main{margin:0;padding:0}
.err:empty{display:none}
[hidden]{display:none!important}

/* auditoría V1: barra superior entre 640 y 1023 px, enlaces dentro de texto, técnico elegido, zonas en 320 px */
@media(max-width:1023px){.sbox kbd{display:none}.top-r{gap:2px}}
@media(max-width:1023px){.sbox{min-width:0}.sbox .ell{min-width:0}}
.zcol .card-h{flex-wrap:wrap;row-gap:6px}
a.ul{text-decoration:underline;text-underline-offset:2px}
.ops button[aria-pressed="true"] small.muted{color:#D9D9D9}
.zcol,.zcol .card-b,.zcurso{min-width:0}.zcurso .row{flex-wrap:nowrap;min-width:0}.zcurso .ell{min-width:0;flex:1}.zcurso>div:first-child{min-width:0}
.zcol .stack{grid-template-columns:minmax(0,1fr)}

/* ---------- Inicio v2: métricas arriba, tareas y trabajos (estilo panel de administración) ---------- */
.mstrip{padding:0;overflow:hidden}
.ms-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line)}
.ms-p{font-size:12.5px}
.ms-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:1100px){.ms-g{grid-template-columns:repeat(4,minmax(0,1fr))}}
.mcell{display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 16px 12px;color:var(--text);text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .15s}
.mcell:hover{background:var(--surface-2);text-decoration:none}
.ms-g .mcell:nth-child(2n){border-right:0}
@media(min-width:1100px){.ms-g .mcell:nth-child(2n){border-right:1px solid var(--line)}.ms-g .mcell:nth-child(4n){border-right:0}.ms-g .mcell{border-bottom:0}}
.m-l{font:600 12.5px var(--f);color:var(--text-2);text-decoration:underline dotted var(--line-2);text-underline-offset:3px;align-self:flex-start}
.m-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.m-v{font:650 22px/1.15 var(--f);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.m-s{font-size:12px;color:var(--text-2)}
.m-d{display:inline-flex;align-items:center;gap:2px;font:600 12px var(--f);padding:1px 6px 1px 4px;border-radius:6px}
.m-d .i{width:13px;height:13px;stroke-width:2.2}
.m-d.up{color:var(--ok);background:var(--ok-bg)}.m-d.down{color:var(--red);background:var(--red-bg)}.m-d.eq{color:var(--text-2);background:var(--surface-3)}
.mcell .spark{width:100%;height:36px;margin-top:auto;display:block}
.m-stack{margin-top:auto}.m-stack .st-bar{height:8px}
@media(max-width:520px){.m-v{font-size:19px}.mcell{padding:12px}.mcell .spark{height:28px}}
.chips{display:flex;gap:6px;padding:10px 16px 2px;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips button{flex:none}
.chips button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:0;border-radius:8px;background:var(--surface-3);color:var(--text-2);font:600 12.5px var(--f);cursor:pointer;box-shadow:inset 0 0 0 1px var(--line)}
.chips button span{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#fff;color:var(--text);font-size:11.5px;display:grid;place-items:center}
.chips button[aria-pressed="true"]{background:var(--ink);color:#fff;box-shadow:none}
.chips button[aria-pressed="true"] span{background:rgba(255,255,255,.18);color:#fff}
.alerts.todo{margin-top:8px;border-top:1px solid var(--line)}
.hoy-ok{display:flex;gap:12px;align-items:flex-start;padding:14px 16px 18px}
.hoy-ok>.i{width:30px;height:30px;padding:6px;border-radius:8px;background:var(--ok-bg);color:var(--ok);flex:none}
.legend a{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;border-radius:6px;padding:2px 4px;margin:-2px -4px}
.legend a:hover{background:var(--hover);text-decoration:none}
.jl-d{list-style:none;margin:6px 0 0;padding:0}
.jl-d li{border-top:1px solid var(--line)}
.jl-d a{display:grid;grid-template-columns:76px minmax(0,1fr) auto;grid-template-areas:"p m t" "e e z";gap:6px 10px;align-items:center;padding:10px 16px;color:var(--text);text-decoration:none}
.jl-d .plate{justify-self:start}
@media(max-width:899px){.jl-z .working{display:none}}
.jl-d a:hover{background:var(--surface-2);text-decoration:none}
.jl-d .plate{grid-area:p}.jl-m{grid-area:m;display:grid;min-width:0}.jl-m b{font-weight:600}.jl-m small{color:var(--text-2);font-size:12.5px}
.jl-e{grid-area:e;justify-self:start}.jl-z{grid-area:z;display:flex;align-items:center;gap:8px;justify-self:end}.jl-t{grid-area:t;justify-self:end;text-align:right}
@media(min-width:900px){.jl-d a{grid-template-columns:76px minmax(0,1fr) 172px 150px 96px;grid-template-areas:"p m e z t";gap:12px}.jl-z{justify-self:start;min-width:0}}
.jl-t small{display:inline-flex;align-items:center;gap:4px}.jl-t .i{width:13px;height:13px}
.zl{list-style:none;margin:0;padding:4px 0 0}
.zl li{border-top:1px solid var(--line)}.zl li:first-child{border-top:0}
.zl a{display:grid;gap:5px;padding:11px 16px;color:var(--text);text-decoration:none}
.zl a:hover{background:var(--surface-2);text-decoration:none}
.zst{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:12px}.zst .lnk{color:var(--link)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--line-2);flex:none}.dot.on{background:#1FA463;box-shadow:0 0 0 3px rgba(31,164,99,.16)}
.zl-now{font-size:13px;min-width:0}.zl-now .working{font-size:13px}
.alerts.compact li{padding:0;display:block}
.rs-a{display:flex;gap:12px;align-items:flex-start;padding:10px 16px;color:var(--text);text-decoration:none}
.rs-a:hover{background:var(--surface-2);text-decoration:none}.rs-a>.i{margin-top:6px;color:var(--text-3)}
.live-tag{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font:600 12px var(--f)}
.ar-leg{display:flex;gap:16px;margin-top:10px;font-size:12.5px;color:var(--text-2)}
.ar-leg span{display:inline-flex;align-items:center;gap:6px}
.ar-leg i{width:16px;height:0;border-top:2.2px solid var(--chart)}.ar-leg i.p{border-top:1.6px dashed #9A9A9A}
.m-d.down{color:#A3200C}.m-d.up{color:#0A6B3A}
@media(max-width:520px){.chips{gap:4px}.chips button{padding:0 8px;height:28px}}

/* ================= Ampliación: comentarios, celulares, horas, reportes, solicitudes, catálogo, portal ================= */
/* comentarios de producción */
.coms{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.coms li{padding:10px 12px;border-radius:10px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.coms li.nuevo{background:#FFF8E6;box-shadow:inset 3px 0 0 #E8A100,inset 0 0 0 1px #F1DFB0}
.coms li.mio{box-shadow:inset 3px 0 0 var(--chart),inset 0 0 0 1px var(--line)}
.coms p{margin:4px 0 6px;white-space:pre-wrap;overflow-wrap:anywhere}
.ok-t{display:inline-flex;align-items:center;gap:4px;color:var(--ok);font-weight:600;font-size:12px}
.frases{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.frases .bb{justify-content:flex-start;min-height:52px;text-align:left}
.bb-n{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--ink);color:#fff;font-size:12px;display:inline-grid;place-items:center}
/* celulares (computador) */
.cupos{display:flex;align-items:center;gap:6px;margin-bottom:12px;font-size:13px;color:var(--text-2)}
.cupos span{width:26px;height:8px;border-radius:4px;background:var(--line)}.cupos span.on{background:var(--ok)}.cupos b{margin-left:6px;color:var(--text)}
details.hist{margin-top:10px}details.hist summary{cursor:pointer;color:var(--text-2);font:600 13px var(--f);padding:6px 0}
.vq{display:grid;justify-items:center;gap:12px;text-align:center;min-height:300px;align-content:center}
.vq-qr{padding:12px;background:#fff;border-radius:14px;box-shadow:var(--sh)}.vq-qr svg{display:block;width:220px;height:220px}
.vq-t{font-size:15px}.vq-s{font-size:13px}
.pasos{display:flex;gap:6px;list-style:none;margin:0;padding:0;counter-reset:p;font-size:12.5px;color:var(--text-3);flex-wrap:wrap;justify-content:center}
.pasos li{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;background:var(--surface-3)}
.pasos li.on{background:var(--ink);color:#fff}.pasos li.ok{background:var(--ok-bg);color:var(--ok)}
.vq-ap{display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:12px;background:var(--surface-2);text-align:left}.vq-ap small{display:block}
.vq-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--diag-bg);color:var(--diag)}
.vq-cod{display:flex;gap:8px;justify-content:center;margin:4px 0}
.vq-cod span{display:grid;place-items:center;width:48px;height:58px;border-radius:12px;background:var(--ink);color:#fff;font:700 28px var(--f);font-variant-numeric:tabular-nums}
.vq-est{display:grid;justify-items:center;gap:8px}.vq-est .i-lg{width:44px;height:44px;padding:10px;border-radius:50%;background:var(--surface-3)}.vq-est.ok .i-lg{background:var(--ok-bg);color:var(--ok)}
/* celular: vinculación y bloqueo */
.view.mv{padding:0}
.mv-wrap{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--bg)}
.mv-card{width:min(420px,100%);display:grid;gap:14px;justify-items:center;text-align:center;background:#fff;border-radius:20px;padding:28px 22px;box-shadow:var(--sh-2)}
.mv-card .stack{width:100%;text-align:left}
.mv-logo{width:150px;height:auto}
.mv-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--diag-bg);color:var(--diag)}.mv-ic.warn{background:var(--warn-bg);color:var(--warn)}.mv-ic.red{background:var(--red-bg);color:var(--red)}
.mv-card h1{font-size:21px}.mv-card p{color:var(--text-2)}
.mv-pasos{width:100%;text-align:left;padding:12px 14px;border-radius:12px;background:var(--surface-2)}.mv-pasos ol{margin:6px 0 0;padding-left:20px;color:var(--text-2)}
/* celular: estructura de supervisión */
body.movil .side,body.movil .sbox,body.movil .menu-b{display:none!important}
body.movil .main{margin-left:0!important;padding:calc(var(--top) + 12px) 12px calc(84px + var(--sa-b))!important;max-width:680px;margin:0 auto!important}
body.movil .tabbar{display:grid!important}
.tabbar a{position:relative}.tb-n{position:absolute;top:0;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--brand-red);color:#fff;font:700 10.5px/17px var(--f);font-style:normal;text-align:center}
.m-hola{margin:4px 2px 12px}.m-hola h1{font-size:22px;letter-spacing:-.02em}
.m-back{display:inline-flex;align-items:center;gap:4px;margin:2px 0 8px;font-weight:600}
.mk-g{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.mk{display:grid;gap:2px;padding:14px;border-radius:14px;background:#fff;box-shadow:var(--sh);color:var(--text);text-decoration:none}.mk:hover{text-decoration:none}
.mk-v{font:700 26px/1.1 var(--f);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.mk-l{font:600 13px var(--f);color:var(--text-2)}.mk small{color:var(--text-3);font-size:12px}
.mk.ok .mk-v{color:var(--ok)}
.m-venta{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px;margin-bottom:12px;color:var(--text);text-decoration:none}.m-venta>div{display:grid;gap:2px}.m-venta .r{text-align:right}.m-venta:hover{text-decoration:none}
body.movil .card{margin-bottom:12px}body.movil .stack>.card{margin-bottom:0}
.m-big{display:grid;gap:2px;padding:16px;margin:12px 0}
.mo-list,.mo-coms,.mo-z{list-style:none;margin:0;padding:0}
.mo-list li,.mo-coms li,.mo-z li{border-top:1px solid var(--line)}.mo-list li:first-child,.mo-coms li:first-child,.mo-z li:first-child{border-top:0}
.mo-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;color:var(--text);text-decoration:none}.mo-row:hover{text-decoration:none;background:var(--surface-2)}
.mo-m{display:grid;gap:3px;min-width:0}.mo-m small{color:var(--text-2);font-size:12.5px}.mo-m .working{display:inline-flex;font-size:12.5px}
.mo-r{display:grid;justify-items:end;gap:4px}
.mo-prog{display:block;height:4px;border-radius:2px;background:var(--line);overflow:hidden}.mo-prog span{display:block;height:100%;background:var(--ok)}
.mo-com{display:block;padding:12px 14px;color:var(--text);text-decoration:none}.mo-com:hover{text-decoration:none;background:var(--surface-2)}.mo-com p{margin:4px 0;overflow-wrap:anywhere}
.mo-com.nuevo{box-shadow:inset 3px 0 0 #E8A100}
.mo-z a{display:grid;gap:4px;padding:11px 14px;color:var(--text);text-decoration:none}
.m-chips{padding:0 0 10px!important}.m-chips a,.m-chips button{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:0;border-radius:9px;background:#fff;color:var(--text-2);font:600 13px var(--f);text-decoration:none;box-shadow:inset 0 0 0 1px var(--line);flex:none;cursor:pointer}
.m-chips a span,.m-chips button span{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--surface-3);color:var(--text);font-size:11.5px;display:grid;place-items:center}
.m-chips [aria-pressed="true"]{background:var(--ink);color:#fff;box-shadow:none}.m-chips [aria-pressed="true"] span{background:rgba(255,255,255,.2);color:#fff}
.m-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 0;font-size:13.5px}.m-dl dt{color:var(--text-2)}.m-dl dd{margin:0;text-align:right;font-weight:600}
.m-trab{list-style:none;margin:0;padding:0}.m-trab li{display:flex;gap:10px;align-items:center;padding:10px 16px;border-top:1px solid var(--line)}.m-trab li:first-child{border-top:0}.m-trab li span{flex:1}.m-trab li.ok .i{color:var(--ok)}.m-trab li .i{color:var(--text-3)}
.m-vt{list-style:none;margin:0;padding:0}.m-vt li{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line)}.m-vt li:first-child{border-top:0}.m-vt li>div{display:grid;gap:2px;min-width:0}.m-vt .r{text-align:right}
/* horas */
.hlist{list-style:none;margin:0;padding:0}.hlist>li{display:flex;gap:12px;align-items:center;padding:11px 16px;border-top:1px solid var(--line)}.hlist>li:first-child{border-top:0}
.hl-m{flex:1;min-width:0;display:grid;gap:5px}
.hbar{display:flex;height:8px;border-radius:4px;background:var(--surface-3);overflow:hidden}.hbar span{background:var(--chart)}.hbar span.curso{background:repeating-linear-gradient(45deg,var(--rep),var(--rep) 3px,#B7A3EE 3px,#B7A3EE 6px)}
.hdias{display:flex;align-items:flex-end;gap:3px;height:150px}.hdias>div{flex:1;display:grid;grid-template-rows:1fr auto;height:100%;min-width:0}
.hdias>div span{align-self:end;background:var(--chart);border-radius:4px 4px 0 0;min-height:2px}.hdias small{text-align:center;font-size:10.5px;color:var(--text-3)}
.olist{list-style:none;margin:0;padding:0}.olist a{display:flex;gap:10px;align-items:center;padding:10px 16px;border-top:1px solid var(--line);color:var(--text);text-decoration:none}.olist li:first-child a{border-top:0}.olist a:hover{background:var(--surface-2);text-decoration:none}.olist .r{display:grid;justify-items:end}.olist small{display:flex;gap:6px;align-items:center}
.layout-2.una{grid-template-columns:minmax(0,1fr)!important}
/* reportes */
.tbl.compacta td,.tbl.compacta th{padding:8px 12px;font-size:12.5px}
/* solicitudes */
.sol-l{list-style:none;margin:0;padding:0}
.sol-l>li{padding:14px 16px;border-top:1px solid var(--line);display:grid;gap:10px}.sol-l>li:first-child{border-top:0}
.sol-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.sol-h small{display:block}
.sol-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.sol-g>div{display:grid;gap:1px;padding:10px 12px;border-radius:10px;background:var(--surface-2)}.sol-g span{font-size:12px}.sol-g small{font-size:12.5px;color:var(--text-2)}
.sol-c{padding:8px 12px;border-left:3px solid var(--line-2);color:var(--text-2)}
.sol-a{display:flex;flex-wrap:wrap;gap:8px}
/* catálogo */
tr.off td{opacity:.55}
.mini{display:grid;gap:2px;flex:1}.mini small{font-size:11px;color:var(--text-2)}.mini input{width:100%;min-height:36px;padding:0 8px;border:1px solid var(--line-2);border-radius:8px}

/* ================= Portal público de clientes ================= */
body.public .view.pt-v{padding:0;max-width:none}
.pt{--marca:#1A1A1A;min-height:100vh;background:#F6F5F2;color:#1A1A1A}
.pt-h{display:flex;align-items:center;gap:14px;padding:14px max(16px,calc(50% - 520px));background:#fff;border-bottom:1px solid #E7E4DE;position:sticky;top:0;z-index:5}
.pt-logo img{height:44px;width:auto}.pt-t{display:grid;line-height:1.2}.pt-t b{font-size:16px}.pt-t small{color:#5F5F5F}
.pt-demo{display:flex;gap:8px;align-items:center;justify-content:center;padding:8px 16px;background:#FFF1CC;color:#6B4600;font:600 13px var(--f);text-align:center}
.pt-m{max-width:1040px;margin:0 auto;padding:22px 16px 40px}
.pt-hero{padding:36px 24px;border-radius:22px;background:#1A1A1A;color:#fff;display:grid;gap:12px;justify-items:start;position:relative;overflow:hidden}
.pt-hero::after{content:'';position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:var(--marca);opacity:.35}
.pt-hero h1{font-size:clamp(26px,5vw,38px);line-height:1.08;letter-spacing:-.02em;max-width:18ch;position:relative}.pt-hero p{color:#D6D6D6;max-width:52ch;position:relative}
.pt-hero .btn-primary{background:#fff;color:#1A1A1A;position:relative}
.pt-sec{margin-top:30px}.pt-sec h2{font-size:22px;margin-bottom:14px;letter-spacing:-.01em}
.pt-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.pt-card{display:grid;gap:8px;align-content:start;padding:16px;border-radius:16px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.05),0 0 0 1px #E7E4DE}
.pt-card b{font-size:15.5px}.pt-card p{color:#5F5F5F;font-size:13.5px}
.pt-card-f{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:auto}.pt-card-f small{color:#6E6E6E}
.pt-precio{font:700 18px var(--f);font-variant-numeric:tabular-nums}.pt-precio.sin{font-size:14px;color:#6E6E6E}
.pt-card .btn{justify-self:start}
#agendar{scroll-margin-top:90px}
#wiz{padding:20px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px #E7E4DE}
.pt-pasos{display:flex;gap:6px;list-style:none;margin:0 0 18px;padding:0;flex-wrap:wrap}
.pt-pasos li{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:20px;background:#F1EFEA;color:#6E6E6E;font:600 13px var(--f)}
.pt-pasos li span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;font-size:12px}
.pt-pasos li.on{background:#1A1A1A;color:#fff}.pt-pasos li.on span{color:#1A1A1A}.pt-pasos li.ok{background:var(--ok-bg);color:var(--ok)}
.pt-chips{display:flex;flex-wrap:wrap;gap:8px}
.pt-chips button,.pt-horas button{min-height:44px;padding:0 14px;border-radius:10px;border:1px solid #D9D5CC;background:#fff;font:600 14px var(--f);cursor:pointer}
.pt-chips [aria-checked="true"],.pt-horas [aria-checked="true"],.pt-dias [aria-checked="true"]{background:#1A1A1A;border-color:#1A1A1A;color:#fff}
.pt-horas{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}.pt-horas button:disabled{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.pt-dias{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.pt-dias button{flex:none;display:grid;justify-items:center;width:62px;padding:8px 0;border-radius:12px;border:1px solid #D9D5CC;background:#fff;cursor:pointer}.pt-dias b{font-size:20px}.pt-dias small{font-size:11.5px;text-transform:capitalize}
.pt-est{padding:14px 16px;border-radius:14px;background:#F6F5F2;display:grid;gap:4px}.pt-est.ok b{font:700 26px var(--f);letter-spacing:-.02em}.pt-est p{font-size:12.5px;color:#5F5F5F}.pt-est.err{color:var(--red)}
.pt-res{display:grid;gap:2px;padding:12px 14px;border-radius:12px;background:#F6F5F2}.pt-res span{color:#5F5F5F;font-size:13.5px}
.pt-tel{display:flex;align-items:stretch;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:#fff}.pt-tel span{display:grid;place-items:center;padding:0 12px;background:#F6F5F2;color:#5F5F5F;font-weight:600}.pt-tel input{flex:1;border:0;min-height:44px;padding:0 12px;font-size:16px;min-width:0}
.pt-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pt-ok{max-width:560px;margin:10px auto;padding:28px 22px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px #E7E4DE;display:grid;gap:12px;justify-items:center;text-align:center}
.pt-ok-ic{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--ok-bg);color:var(--ok)}
.pt-num{font:700 26px var(--f)}
.pt-link{display:grid;gap:8px;width:100%;text-align:left}.pt-link input{width:100%;min-height:42px;padding:0 10px;border:1px solid var(--line-2);border-radius:10px;font-size:13px}
.pt-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;width:100%;text-align:left;margin:4px 0}.pt-dl dt{color:#6E6E6E}.pt-dl dd{margin:0;font-weight:600}
.pt-f{max-width:1040px;margin:0 auto;padding:10px 16px 30px;color:#6E6E6E;font-size:12.5px;display:grid;gap:4px;text-align:center}
.pt-load{min-height:60vh;display:grid;place-items:center}
.pt input,.pt select,.pt textarea{font-size:16px}
@media(max-width:520px){.pt-hero{padding:26px 18px}#wiz{padding:16px}.pt-h{padding:12px 16px}.pt-logo img{height:36px}}

.pt-sub{color:#5F5F5F;margin:-6px 0 12px}
button.pt-card{width:100%;height:100%;text-align:left;border:0;font:inherit;color:inherit;cursor:pointer;transition:box-shadow .15s,transform .15s}
button.pt-card:hover{box-shadow:0 6px 18px -8px rgba(0,0,0,.25),0 0 0 1px #D9D5CC}
.pt-cta{display:inline-flex;align-items:center;gap:4px;color:var(--link);font:600 13.5px var(--f)}
@media(max-width:640px){
  .pt-grid{grid-template-columns:1fr;gap:0;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px #E7E4DE;background:#fff}
  .pt-grid li+li{border-top:1px solid #EEEBE5}
  button.pt-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n p" "d p";gap:2px 12px;align-items:center;padding:12px 14px;border-radius:0;box-shadow:none}
  button.pt-card b{grid-area:n;font-size:14.5px}
  button.pt-card p,button.pt-card .pt-cta{display:none}
  button.pt-card .pt-card-f{display:contents}
  button.pt-card .pt-precio{grid-area:p;font-size:15px;text-align:right}
  button.pt-card .pt-card-f small{grid-area:d}
}
.m-chips a,.m-chips button{height:44px;padding:0 14px}
.pt-pasos li{color:#4F4F4F}
.pt-dias small{color:#4F4F4F}.pt-dias [aria-checked="true"] small{color:#fff}
#cel .card-h{flex-wrap:wrap;row-gap:8px}#cel .card-h .r{display:flex;gap:6px;flex-wrap:wrap}

/* ================= Notificaciones ================= */
.menu-pop.nt-menu{padding:0;overflow:hidden}
.nt-pop .nt-h{padding:10px 10px 0}.nt-pop .chips{padding:8px 10px 4px}
.nt-scroll{max-height:min(60vh,460px);overflow:auto}
.nt-f{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid var(--line)}
.nt-l{list-style:none;margin:0;padding:0}.nt-l li{border-top:1px solid var(--line)}.nt-l li:first-child{border-top:0}
.nt-l a{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;color:var(--text);text-decoration:none}.nt-l a:hover{background:var(--surface-2);text-decoration:none}
.nt-l li.nueva a{background:#F6F9FF}.nt-l li.nueva a:hover{background:#EEF4FF}
.nt-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;flex:none;background:var(--surface-3);color:var(--text-2)}.nt-ic.blue{background:var(--diag-bg);color:var(--diag)}.nt-ic.red{background:var(--red-bg);color:var(--red)}
.nt-m{flex:1;min-width:0;display:grid;gap:2px}.nt-m b{font-weight:600}.nt-m small{color:var(--text-2);font-size:12.5px;overflow-wrap:anywhere}.nt-m .nt-t{color:var(--text-3);font-size:12px}
.nt-dot{width:9px;height:9px;border-radius:50%;background:var(--chart);margin-top:6px;flex:none}
.nt-vacio{display:grid;justify-items:center;gap:6px;padding:28px 16px;color:var(--text-2);text-align:center}.nt-vacio .i{color:var(--ok)}
.nt-cats{display:flex;flex-wrap:wrap;gap:6px 14px}
#bell.ring .i{animation:ring .9s ease}
@keyframes ring{0%,100%{transform:rotate(0)}20%{transform:rotate(14deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}
@media(prefers-reduced-motion:reduce){#bell.ring .i{animation:none}}


/* reportes */
.rp-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;align-items:end}
.rp-dl-r{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.rp-dl-r>div:first-child{display:grid}
.rp-dl select{min-height:36px;border:1px solid var(--line-2);border-radius:8px;padding:0 8px;max-width:220px}
.rp-nota{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;margin:4px 2px}
.tbl tfoot td{border-top:2px solid var(--line-2);background:var(--surface-2)}
body.movil .rp-dl-r .row .btn{flex:1;min-height:44px}body.movil .rp-dl-r select{flex-basis:100%;min-height:44px;max-width:none}
/* celular: indicadores secundarios */
.m-mini{list-style:none;margin:0 0 12px;padding:0}.m-mini li+li{border-top:1px solid var(--line)}
.m-mini a{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 16px;min-height:44px;color:var(--text);text-decoration:none}.m-mini span{color:var(--text-2);font-size:13.5px}.m-mini b{font-variant-numeric:tabular-nums;text-align:right}.m-mini b.rojo{color:var(--red)}

/* Seguimiento: nada se sale de las tarjetas */
.col,.col-b,.kc{min-width:0}
.kc .kc-t{min-width:0}.kc .kc-t .plate{flex:none}
.kc .kc-v{overflow-wrap:anywhere}
.kc .kc-at{display:inline-flex;margin-top:6px}
.kc .kc-f{flex-wrap:wrap;row-gap:6px;min-width:0}
.kc .kc-f>*{min-width:0}.kc .kc-f .sp{flex:1 0 0}
.kc .kc-f .ell{max-width:9ch}
.kc .kc-tm{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.kc{padding:11px 10px}.kc .kc-t{gap:6px}.kc .kc-t .faint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.kc .kc-t .btn-icon{flex:none;margin-right:-4px}
/* zonas y mecánicos */
.eq-g{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media(min-width:1100px){.eq-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
.eq-z .eq-n{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--ink);color:#fff;font-weight:700;font-size:13px;flex:none}
.eq-b{display:grid;gap:14px;padding:14px 16px 16px}
.eq-t{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:end;padding-top:14px;border-top:1px solid var(--line)}
.eq-t .av{width:38px;height:38px;border-radius:10px;font-size:13px;margin-bottom:4px}
.eq-nota{margin:16px 0 8px;padding-left:18px;font-size:13px;display:grid;gap:4px}
.eq-bar{position:sticky;bottom:12px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding:10px 12px 10px 16px;background:var(--ink);color:#fff;border-radius:var(--r);box-shadow:var(--sh-2)}
.eq-bar[hidden]{display:none}
.eq-bar>span{display:inline-flex;align-items:center;gap:6px;font-weight:600;margin-right:auto}
.eq-bar .err{color:#FFB4A8;flex-basis:100%;order:3;margin:0}.eq-bar .err:empty{display:none}
.eq-bar .btn:not(.btn-primary){background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.eq-bar .btn-primary{background:#fff;color:var(--ink)}
.sol-sv{list-style:none;margin:6px 0 2px;padding:0;display:grid;gap:2px;font-size:13px;color:var(--text-2)}
.sol-sv li{display:flex;gap:10px;justify-content:space-between;max-width:420px}.sol-sv li span{font-variant-numeric:tabular-nums;white-space:nowrap}
/* portal: cotización con varios servicios */
.pt-svs{display:grid;gap:10px}
.pt-sel{list-style:none;margin:0;padding:0;display:grid;border-radius:12px;background:#fff;box-shadow:0 0 0 1px #E7E4DE}
.pt-sel li{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 6px 6px 14px;border-top:1px solid #EFEDE8}
.pt-sel li:first-child{border-top:0}
.pt-sel-n{flex:1;min-width:0;font-weight:550;font-size:14.5px}
.pt-sel-v{white-space:nowrap;font-variant-numeric:tabular-nums;color:#3D3D3D;font-size:14px}
.pt-sel-q{display:grid;place-items:center;width:40px;height:40px;flex:none;border:0;border-radius:10px;background:transparent;color:#5F5F5F;cursor:pointer}
.pt-sel-q:hover{background:#F6F5F2;color:var(--red)}
.pt-sel-ro{box-shadow:none;background:transparent}.pt-sel-ro li{padding-left:0;min-height:0;padding-block:4px}
.pt-max{font-size:13px}
button.pt-card.on{box-shadow:0 0 0 2px var(--marca,#1a1a1a)}
button.pt-card.on .pt-cta{color:var(--ok)}
@media(max-width:420px){.pt-sel li{flex-wrap:wrap;row-gap:0}.pt-sel-n{flex-basis:calc(100% - 56px)}.pt-sel-v{order:3;flex-basis:100%;padding-bottom:6px;font-size:13px;color:#5F5F5F}.pt-sel-q{order:2}}
/* agenda */
.ag-tabs{margin:-4px 0 14px}
.tabs a{flex:none;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;color:var(--text-2);font:600 13px var(--f);text-decoration:none}
.tabs a:hover{background:var(--hover);color:var(--text)}
.tabs a[aria-current="page"]{background:var(--surface);color:var(--text);box-shadow:var(--sh)}
.tabs a .c{min-width:20px;padding:0 6px;border-radius:9px;background:var(--red);color:#fff;font-size:12px;line-height:18px;text-align:center}
.ag-nav{padding:12px 14px;margin-bottom:14px;display:grid;gap:12px}
.ag-nav-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ag-nav-h h2{font-size:17px;font-weight:650;display:flex;align-items:center;gap:8px;min-width:0}
.ag-nav-h h2::first-letter{text-transform:uppercase}
.ag-hoy{font-size:12px;font-weight:650;padding:2px 8px;border-radius:6px;background:var(--ink);color:#fff}
.ag-arr{display:flex;gap:4px}
.ag-tools{display:flex;align-items:center;gap:8px;margin-left:auto}
.ag-tools input[type=date]{height:32px;padding:0 8px;border:1px solid var(--line-2);border-radius:8px;font:500 13px var(--f);background:var(--surface);color:var(--text)}
.ag-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ag-week button{display:grid;justify-items:center;gap:1px;padding:7px 2px;border:0;border-radius:10px;background:transparent;cursor:pointer;color:var(--text);font:inherit;min-width:0}
.ag-week button:hover{background:var(--hover)}
.ag-week button small{font-size:11.5px;color:var(--text-2);text-transform:capitalize}
.ag-week button b{font-size:17px;font-variant-numeric:tabular-nums}
.ag-week button i{font-style:normal;font-size:11px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ag-week button.today b{color:var(--focus)}
.ag-week button.closed{opacity:.55}
.ag-week button[aria-pressed="true"]{background:var(--ink);color:#fff}.ag-week button[aria-pressed="true"] small,.ag-week button[aria-pressed="true"] i{color:rgba(255,255,255,.8)}.ag-week button[aria-pressed="true"].today b{color:#fff}
.ag-g{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media(min-width:1000px){.ag-g{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
.ag-l{list-style:none;margin:8px 0 0;padding:0 8px 8px}
.ag-s{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 8px;border-top:1px solid var(--line)}
.ag-s:first-child{border-top:0}
.ag-s time{font:650 13.5px var(--f);font-variant-numeric:tabular-nums;padding-top:8px}
.ag-s.past time{color:var(--text-3)}
.ag-c{display:grid;gap:6px;min-width:0}
.ag-cap{padding-top:9px;font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums}.ag-cap.full{color:var(--red);font-weight:650}
.ag-vacio{padding-top:8px;font-size:13px}
.ag-b{display:grid;gap:2px;text-align:left;width:100%;padding:8px 10px;border:0;border-left:3px solid var(--ok);border-radius:8px;background:var(--surface-2);font:inherit;color:inherit;cursor:pointer;min-width:0}
.ag-b:hover{background:var(--hover)}
.ag-b.pendiente{border-left-color:var(--warn);background:var(--warn-bg)}.ag-b.propuesta{border-left-color:var(--diag);background:var(--diag-bg)}
.ag-b-h{display:flex;align-items:center;gap:8px;justify-content:space-between;min-width:0}.ag-b-h b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}
.ag-b-h .pill{flex:none}
.ag-b-s{font-size:12.5px;color:var(--text-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-add{display:inline-flex;align-items:center;gap:6px;justify-self:start;height:34px;padding:0 10px;border:1px dashed var(--line-2);border-radius:8px;background:transparent;color:var(--text-2);font:600 12.5px var(--f);cursor:pointer}
.ag-add:hover{border-color:var(--ink);color:var(--text);background:var(--surface-2)}
.ag-s:not(:hover) .ag-add:not(:focus-visible){opacity:.7}
.ag-closed{padding:18px 16px;color:var(--text-2);display:flex;gap:6px;align-items:center}
.ag-fuera{padding:6px 16px 14px}.ag-fx{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:start;margin-top:6px}.ag-fx time{font-weight:650;padding-top:8px;font-size:13.5px}
.ag-ol{list-style:none;margin:6px 0 0;padding:0 8px 8px}
.ag-o{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border-radius:8px;color:inherit;text-decoration:none}
.ag-o:hover{background:var(--hover)}
.ag-o-t{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-2)}
.ag-o-m{display:grid;min-width:0}.ag-o-m b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-o-m small{color:var(--text-2);font-size:12px;display:flex;gap:6px;align-items:center;min-width:0;overflow:hidden;white-space:nowrap}
.ag-empty{padding:10px 16px 16px;font-size:13px}
.ag-sec{padding:6px 16px 0}
.ag-d-h{display:grid;gap:4px;justify-items:start}.ag-d-h b{font-size:16px}.ag-d-h b::first-letter{text-transform:uppercase}
.ag-dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px 12px;margin:0}.ag-dl dt{color:var(--text-2);font-size:13px}.ag-dl dd{margin:0;min-width:0}
@media(max-width:480px){.ag-dl{grid-template-columns:minmax(0,1fr);gap:2px}.ag-dl dd{margin-bottom:8px}}
.ag-when{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.ag-when input,.ag-when select{height:40px}
.ag-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.ag-sec2 summary{cursor:pointer;font-weight:600;font-size:13.5px;padding:4px 0 8px}
.ag-svs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 12px;max-height:220px;overflow:auto;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.ag-svs .chk{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;min-height:36px;font-size:13.5px}
.ag-svs .chk small{font-variant-numeric:tabular-nums;font-size:12px}
.ag-pl{margin-bottom:8px}.ag-pl .pt-sel-n{display:grid}.ag-pl .pt-sel-n small{font-weight:400;font-size:12px}
.ag-q{width:56px;height:34px;text-align:center;border:1px solid var(--line-2);border-radius:8px;font:600 14px var(--f)}
.ag-tot{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:10px 12px;border-radius:10px;background:var(--surface-2)}.ag-tot:empty{display:none}.ag-tot b{font-size:18px;margin-left:auto}.ag-tot small{flex-basis:100%;text-align:right}
@media(max-width:640px){.ag-tools{margin-left:0;width:100%}.ag-tools input[type=date]{flex:1}.ag-nav-h h2{order:-1;width:100%;font-size:16px}.ag-s{grid-template-columns:44px minmax(0,1fr) auto;gap:8px;padding:10px 4px}.ag-week button i{font-size:10px}}
/* reportes */
.rp-ph{align-items:center}
.rp-dlw,.rp-perw{position:relative}
.rp-dlw{margin-left:auto}
.rp-pop{position:absolute;z-index:30;top:calc(100% + 6px);background:var(--surface);border-radius:var(--r);box-shadow:var(--sh-2);padding:6px}
.rp-dlm{right:0;width:min(300px,calc(100vw - 32px));display:grid}
.rp-dlm button{display:grid;gap:1px;text-align:left;padding:9px 10px;border:0;border-radius:8px;background:none;font:inherit;color:inherit;cursor:pointer}
.rp-dlm button:hover,.rp-dlm button:focus-visible{background:var(--hover)}
.rp-dlm button b{font-size:13.5px}.rp-dlm button small{font-size:12px;color:var(--text-2)}
.rp-dlm button[disabled]{opacity:.6;cursor:progress}
.rp-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-bottom:12px;padding:2px;border-bottom:1px solid var(--line)}
.rp-tabs::-webkit-scrollbar{display:none}
.rp-tabs button{flex:none;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:0;border-bottom:2px solid transparent;margin-bottom:-3px;background:none;color:var(--text-2);font:600 13px var(--f);cursor:pointer}
.rp-tabs button:hover{color:var(--text)}
.rp-tabs button[aria-selected="true"]{color:var(--text);border-bottom-color:var(--ink)}
.rp-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.rp-pill{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:0;border-radius:999px;background:var(--surface);box-shadow:var(--sh);font:500 13px var(--f);color:var(--text);cursor:pointer;max-width:100%;min-width:0}
.rp-pill b{font-weight:650;white-space:nowrap}.rp-pill .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.rp-pill:hover{box-shadow:0 0 0 1px var(--line-2)}
.rp-sel select{border:0;background:transparent;font:650 13px var(--f);color:var(--text);padding:0 2px;max-width:160px;cursor:pointer;outline:0}
.rp-sel:focus-within{box-shadow:0 0 0 2px var(--focus)}
.rp-perp{left:0;width:min(520px,calc(100vw - 32px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:4px 14px;padding:10px}
.rp-pres{display:grid;align-content:start;gap:2px}
.rp-pres button{text-align:left;height:34px;padding:0 10px;border:0;border-radius:8px;background:none;font:500 13.5px var(--f);color:var(--text);cursor:pointer}
.rp-pres button:hover{background:var(--hover)}
.rp-pres button[aria-pressed="true"]{background:var(--surface-3);font-weight:650}
.rp-cus{display:grid;align-content:start;gap:8px;padding-left:14px;border-left:1px solid var(--line)}
.rp-cus>b{font-size:13px}.rp-cus small{font-size:12px}.rp-err:empty{display:none}
@media(max-width:560px){.rp-perp{grid-template-columns:minmax(0,1fr)}.rp-cus{padding:10px 0 0;border-left:0;border-top:1px solid var(--line)}.rp-pres{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rp-kg{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.rp-k{display:grid;gap:4px;padding:12px 14px;border-radius:var(--r);background:var(--surface);box-shadow:var(--sh);min-width:0}
.rp-k span{font-size:12.5px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rp-k b{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rp-g{margin-bottom:14px}
.rp-tc{margin-bottom:12px;overflow:hidden}
.rp-tt{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:10px 12px 0;border-bottom:1px solid var(--line)}
.rp-tt::-webkit-scrollbar{display:none}
.rp-tt button{flex:none;display:inline-flex;gap:6px;align-items:center;height:34px;padding:0 10px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--text-2);font:600 13px var(--f);cursor:pointer}
.rp-tt button span{font-size:11.5px;padding:0 6px;border-radius:9px;background:var(--surface-3);color:var(--text-2);line-height:18px}
.rp-tt button[aria-selected="true"]{color:var(--text);border-bottom-color:var(--ink)}
.rp-tw{max-height:none}
.rp-notas{display:grid;gap:6px;margin-top:4px}
.rp-notas p{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;color:var(--text-2)}
/* notificaciones: preferencias */
.nt-tabs{margin:-4px 0 14px}
.nt-band{overflow:hidden}
.nt-bh{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.np-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:16px;align-items:center;padding:14px 16px;margin-bottom:10px;border-radius:var(--r);background:var(--surface);box-shadow:var(--sh);font-size:13.5px;line-height:1.5}
@media(max-width:720px){.np-intro{grid-template-columns:minmax(0,1fr)}}
.np-prev{display:grid;gap:2px;padding:10px 12px;border-radius:14px;background:var(--surface-2);box-shadow:0 0 0 1px var(--line);font-size:13px}
.np-prev-h{display:flex;align-items:center;gap:6px;margin-bottom:2px}.np-prev-h b{font-size:12px}.np-prev-h small{margin-left:auto;color:var(--text-3);font-size:11.5px}
.np-prev-ic{display:grid;place-items:center;width:20px;height:20px;border-radius:5px;overflow:hidden;background:#fff}
.np-prev-n{display:flex;align-items:center;gap:4px;margin-top:4px;color:var(--text-2);font-size:11.5px}
.np-cuenta{font-size:13px;margin:0 0 10px}
.np-g{margin-bottom:12px}
.np-g .card-h h2{display:flex;align-items:center;gap:8px}
.np-gi{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--surface-3)}
.np-l{list-style:none;margin:6px 0 0;padding:0 0 4px}
.np-l li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;padding:12px 16px;border-top:1px solid var(--line)}
.np-l li:first-child{border-top:0}
.np-l li.off{opacity:.7}
.np-m{display:grid;gap:2px;min-width:0}.np-m b{font-size:13.5px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.np-m small{color:var(--text-2);font-size:12.5px}
.np-c{display:flex;align-items:center;gap:14px}
.np-p button{height:28px;padding:0 9px;font-size:12.5px}
@media(max-width:640px){.np-l li{grid-template-columns:minmax(0,1fr)}.np-c{justify-content:space-between}}
.sw{display:inline-flex;align-items:center;gap:8px;cursor:pointer;position:relative}
.sw input{position:absolute;opacity:0;width:1px;height:1px}
.sw-t{width:36px;height:20px;border-radius:10px;background:var(--line-2);position:relative;transition:background .15s;flex:none}
.sw-t::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.sw input:checked+.sw-t{background:var(--ink)}.sw input:checked+.sw-t::after{transform:translateX(16px)}
.sw input:focus-visible+.sw-t{box-shadow:0 0 0 2px var(--focus)}
.sw input:disabled+.sw-t{opacity:.5}.sw:has(input:disabled){cursor:not-allowed}
.sw-l{font-size:12.5px;font-weight:600;color:var(--text-2)}
.np-save{position:sticky;bottom:12px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:10px 12px 10px 16px;background:var(--ink);color:#fff;border-radius:var(--r);box-shadow:var(--sh-2)}
.np-save>span{font-weight:600;margin-right:auto}
.np-save .btn:not(.btn-primary){background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.np-save .btn-primary{background:#fff;color:var(--ink)}
.np-eq{display:flex;gap:12px;align-items:flex-start}.np-eq b{display:block;margin-bottom:2px}
.np-eqi{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--surface-3);flex:none}.np-eqi.on{background:var(--ok-bg);color:var(--ok)}
.np-areas{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.np-areas legend{font-weight:600;font-size:13px;margin-bottom:8px}
.np-area{position:relative}
.np-area input{position:absolute;opacity:0}
.np-area span{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-2);font:600 13px var(--f);cursor:pointer;color:var(--text-2)}
.np-area input:checked+span{background:var(--ink);color:#fff;box-shadow:none}
.np-area input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}
.hint{font-size:12.5px;color:var(--ok);background:var(--ok-bg);padding:6px 10px;border-radius:8px}
.pt-sel .ag-q{width:60px;flex:none;padding:0;min-width:0}
.ag-pl .pt-sel-n{display:grid;gap:1px;flex:1;min-width:0}
.ag-mas{margin:0 16px 12px}
.eq-t{align-items:end}
@media(max-width:640px){.ag-tools{width:auto;flex:1}.ag-o{grid-template-columns:44px minmax(0,1fr)}.ag-o .badge{grid-column:2;justify-self:start;margin-top:2px}}
.rp-kg{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.rp-k span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3}
.rp-k b{white-space:nowrap;overflow:visible}
.rp-kmas{margin:-6px 0 12px}
.rp-tw td{white-space:nowrap}
@media(max-width:640px){.rp-kg{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rp-k{padding:10px 12px}.rp-k b{font-size:17px}.rp-bar{gap:6px}.rp-bar .rp-sel{flex:1 1 calc(50% - 6px)}.rp-sel select{max-width:none;flex:1;min-width:0}}
.pt-bar{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:12px;max-width:560px;margin:0 auto;padding:10px 10px 10px 16px;border-radius:16px;background:#1a1a1a;color:#fff;box-shadow:0 10px 30px -10px rgba(0,0,0,.45);font-size:14px}
.pt-bar[hidden]{display:none}
.pt-bar>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-bar .btn-primary{background:#fff;color:#1a1a1a;flex:none}
.pt-v .pt-m{padding-bottom:84px}
/* zona de producción en celular: lista → detalle */
.tb-back{display:none}
@media(max-width:699px){
  .tbv.m-lista #det{display:none}
  .tbv.m-detalle .tb-list,.tbv.m-detalle .tb-h{display:none}
  .tb-back{display:inline-flex;align-items:center;gap:6px;position:sticky;top:calc(var(--top) + 8px);z-index:6;margin-bottom:10px;min-height:44px;padding:0 14px 0 8px;border-radius:999px;background:var(--surface);box-shadow:var(--sh-2);font:650 14px var(--f);max-width:100%}
  .tb-back .c{min-width:22px;padding:0 6px;border-radius:9px;background:var(--surface-3);font-size:12px;line-height:20px;text-align:center}
  body.tablet .main{padding:calc(var(--top) + 10px) 10px 24px}
  .tb-h{margin-bottom:10px}.tb-h h1{font-size:20px}.tb-h p{font-size:13.5px}
  .td .card-b{padding:14px}
  .td h2.big{font-size:20px}
  .bigtimer{padding:12px}.bigtimer b{font-size:26px}
  .bigbtns{grid-template-columns:minmax(0,1fr)}
  .bb{min-height:56px;font-size:16px}
  .td .grid.g2{grid-template-columns:minmax(0,1fr)}
  .td .row.wrap .btn{flex:1 1 auto}
  .jc{padding:14px}
  .turno{padding:12px 10px;align-items:start}.turno-c{padding:18px 16px;border-radius:16px}
  .keypad{gap:8px}.keypad button{min-height:60px;font-size:24px}
}
@media(max-width:699px){
  .td .track li>span:not(.dt){font-size:0;line-height:0}
  .td .track li.cur>span:not(.dt){font-size:11.5px;line-height:1.25;white-space:nowrap;position:relative;left:50%;transform:translateX(-50%);display:inline-block}
  .td .track li:last-child.cur>span:not(.dt){left:auto;right:0;transform:none;position:absolute;top:30px}
  .td .track li small{display:none}
  .tbv .jc[aria-current="true"]{box-shadow:var(--sh)}
}
.track{padding:0}
/* checklist de recepción por grupos */
.ck .card-h .sub{min-width:0}
.ck-fal{color:var(--red)}
.ck-gs{display:grid;gap:8px;padding:12px 14px 14px}
.ck-g{border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);background:var(--surface)}
.ck-g[open]{box-shadow:inset 0 0 0 1px var(--line-2)}
.ck-g summary{display:flex;align-items:center;gap:8px;min-height:52px;padding:0 14px;cursor:pointer;list-style:none;font-weight:650}
.ck-g summary::-webkit-details-marker{display:none}
.ck-g summary::after{content:'';width:8px;height:8px;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(45deg);margin-left:6px;transition:transform .15s;flex:none}
.ck-g[open] summary::after{transform:rotate(-135deg)}
.ck-gn{flex:1;min-width:0}
.ck-gc{color:var(--text-2);font-variant-numeric:tabular-nums;font-weight:500}
.ck-l{list-style:none;margin:0;padding:0 6px}
.ck-l li{display:flex;align-items:center;gap:10px;justify-content:space-between;min-height:54px;padding:6px 8px;border-top:1px solid var(--line)}
.ck-l li.v-falla{background:var(--red-bg);border-radius:8px}
.ck-l li.v-na .ck-n{color:var(--text-3)}
.ck-n{min-width:0;font-size:14.5px}
.ck-l .seg{flex:none}
.ck-l .seg button{height:38px;min-width:52px;padding:0 10px}
.ck-l .seg button[data-v="ok"][aria-pressed="true"]{background:var(--ok-bg);color:var(--ok);box-shadow:none}
.ck-l .seg button[data-v="falla"][aria-pressed="true"]{background:var(--red);color:#fff;box-shadow:none}
.ck-l .seg button[data-v="na"][aria-pressed="true"]{background:var(--surface-3);color:var(--text);box-shadow:none}
.ck-ga{padding:8px 14px 14px}
.ck-res{display:block;color:var(--text-2);font-size:12.5px;margin-top:2px}
@media(max-width:520px){.ck-gs{padding:10px}.ck-l{padding:0 2px}.ck-l li{flex-wrap:wrap;gap:6px;padding:8px 6px}.ck-n{flex-basis:100%}.ck-l .seg{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.ck-l .seg button{min-width:0;height:42px}}
/* fallas encontradas al recibir */
.fi-card .card-h .sub{min-width:0}
.fi-l{list-style:none;margin:6px 0 0;padding:0 16px 12px}
.fi-l li{display:flex;align-items:center;gap:10px;min-height:48px;border-top:1px solid var(--line)}
.fi-l li:first-child{border-top:0}
.fi-ic{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--red-bg);color:var(--red);flex:none}
.fi-n{flex:1;min-width:0;font-weight:550}
.fi-l li .btn,.fi-l li .pill{flex:none}
.fi-tb{padding:0}.fi-tb li{min-height:44px}

.ck .card-h{flex-wrap:wrap;row-gap:4px}
.ck-resumen{display:flex;gap:8px;align-items:flex-start;margin:10px 14px 0;padding:10px 12px;border-radius:10px;background:var(--red-bg);color:var(--red);font-size:13.5px;line-height:1.45}
.ck-resumen .i{flex:none;margin-top:2px}.ck-resumen span{color:var(--text)}.ck-resumen b{font-weight:650}
@media(max-width:520px){.ck .card-h h2{flex:1 1 auto}.ck .card-h .sub{order:3;flex-basis:100%;margin:0}.ck-l li{min-height:0}.ck-n{font-size:14px}}
.jq-mec{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--text-2)}
/* componentes de una falla (motor, enchufe, cable) */
.fi-l li{flex-wrap:wrap;padding:8px 0}
.fi-comp{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-weight:400}
.fi-comp small{color:var(--text-2);font-size:12.5px;margin-right:2px}
.fi-comp button{min-height:36px;padding:0 13px;border:0;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-2);background:var(--surface);font:600 13px var(--f);color:var(--text-2);cursor:pointer}
.fi-comp button[aria-pressed="true"]{background:var(--red);color:#fff;box-shadow:none}
body.tablet .fi-comp button{min-height:44px;padding:0 16px;font-size:15px}
@media(max-width:520px){.fi-l li .btn,.fi-l li>.pill{margin-left:38px}}
/* ---------- importar datos ---------- */
.im-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.im-c{padding:18px 16px 14px;display:flex;flex-direction:column;gap:8px}
.im-c h2{font-size:15px}.im-c p{font-size:13px;line-height:1.45;flex:1}
.im-ci{width:38px;height:38px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center;color:var(--text-2)}
.im-up{cursor:pointer;justify-content:center}.im-up:focus-within{outline:2px solid var(--chart);outline-offset:2px}.im-rot{transform:rotate(180deg)}
.im-pl{font-size:12.5px;color:var(--text-2);flex:none!important}
.lnk{background:none;border:0;padding:0;color:var(--chart);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.im-pasos{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0 0 14px;padding:0;font-size:13px;color:var(--text-3);font-weight:600}
.im-pasos .on{color:var(--text)}.im-pasos .ok{color:var(--ok)}
.im-b{padding:14px 16px}.im-f{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}
.im-cab{max-width:300px;margin-bottom:14px}
.im-map{display:grid;gap:8px;margin-bottom:16px}
.im-m{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(170px,1.2fr) 1fr;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.im-m.falta{border-color:#E0A000;background:var(--warn-bg)}
.im-m>div{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13.5px}.im-m select{width:100%;min-height:38px}
.im-ej{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.im-dup{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:14px 0 6px;display:grid;gap:8px}
.im-dup legend{font-weight:650;font-size:13.5px;padding:0 6px}.im-dup label{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.4;cursor:pointer}.im-dup input{margin-top:3px}
.im-ks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.im-k{text-align:left;border:1px solid var(--line);box-shadow:none;font:inherit}button.im-k{cursor:pointer}.im-k.on{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}
.im-k .k-l,.im-k .k-v,.im-k .k-s{display:block}.im-red{color:var(--red)}
.im-t tbody tr,.im-h tbody tr{cursor:default}.im-t td{white-space:nowrap}.im-t .im-n{white-space:normal;min-width:220px;color:var(--text-2)}
.im-mas{font-size:13px;margin:8px 0}.im-nota{display:flex;gap:6px;align-items:flex-start;font-size:13px;margin-top:12px}
.im-av{display:flex;gap:8px;padding:10px 12px;border-radius:10px;background:var(--warn-bg);color:var(--warn);font-size:13.5px;margin-bottom:12px}
.im-h3{font-size:14px;margin:14px 0 8px}
.im-pr{display:grid;gap:10px;justify-items:start;padding:22px 16px}
.im-bar{width:100%;height:10px;border-radius:6px;background:var(--surface-3,#E6E8EB);overflow:hidden}.im-bar i{display:block;height:100%;background:var(--ok);transition:width .3s}
@media (max-width:640px){.im-m{grid-template-columns:1fr}.im-f .btn{flex:1 1 100%}}
.im-m select,.im-cab select{appearance:none;-webkit-appearance:none;padding:0 34px 0 11px;border:1px solid var(--line-2,#C9CCD1);border-radius:9px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23616A75' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 9px center/16px;font:inherit;color:var(--text)}
/* ---------- presupuesto en el enlace del cliente ---------- */
.pc{padding:18px 16px 16px}
.pc-h{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--line)}
.pc-k{font-size:12.5px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2)}
.pc-h h2{font-size:19px;margin:2px 0}.pc-f{font-size:13.5px;color:var(--text-2)}
.pc-st{display:flex;flex-wrap:wrap;gap:6px}.pc-st .pill{font-size:13px;height:26px}
.pc-t{font-size:12.5px;font-weight:650;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 4px}
.pc-l{list-style:none;margin:0;padding:0}.pc-l li{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}
.pc-d{min-width:0}.pc-d b{display:block;font-weight:550;font-size:15px;line-height:1.3}.pc-d small{color:var(--text-2);font-size:13px}
.pc-l .num{font-weight:600;font-size:15px;white-space:nowrap}
.pc-tot{margin:14px 0 0;display:grid;gap:6px}.pc-tot div{display:flex;justify-content:space-between;gap:12px;font-size:15px}.pc-tot dt{color:var(--text-2)}.pc-tot dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.pc-tot .pc-big{font-size:22px;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:4px}.pc-tot .pc-big dt{color:var(--text);font-weight:650}.pc-tot .pc-big dd{font-weight:700;letter-spacing:-.02em}
.pc-iva{font-size:12.5px;color:var(--text-3);margin-top:10px}
.pc-acep{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:13.5px;color:var(--ok);font-weight:600}
.pc-a{margin-top:16px;display:grid;gap:10px}
.pc-btn{width:100%;min-height:54px;font-size:17px;border-radius:14px;justify-content:center}.pc-btn2{width:100%;min-height:46px;justify-content:center;border-radius:12px}
.pc-pay{background:#009EE3;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 0 0 1px #0082BA,0 2px 0 #0082BA}.pc-pay:hover{background:#008FCE}
.pc-nota{font-size:13px;color:var(--text-2);text-align:center;line-height:1.45}
.pc-conf{display:grid;gap:12px;padding:16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}
.pc-conf h3{font-size:17px}.pc-conf p{font-size:14.5px;line-height:1.5}
.pc-conf input#pc-tel{font-size:24px;letter-spacing:.4em;text-align:center;min-height:54px;font-variant-numeric:tabular-nums}
.pc-chk{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.4;cursor:pointer}.pc-chk input{width:22px;height:22px;flex:none;margin-top:1px}
.pc-ok,.pc-wait,.pc-bad{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;font-size:14.5px;line-height:1.45}
.pc-ok{background:var(--ok-bg);color:var(--ok)}.pc-wait{background:var(--diag-bg,#E8F0FE);color:var(--diag,#1D4ED8)}.pc-bad{background:var(--red-bg);color:#A3200A}
.pc-ok b,.pc-wait b,.pc-bad b{display:block;font-size:16px}.pc-ok .i,.pc-wait .i,.pc-bad .i{flex:none;width:24px;height:24px}
.spin{flex:none;width:22px;height:22px;border-radius:50%;border:3px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}}
.pc-tr{padding:16px;border-radius:14px;border:1px solid var(--line);display:grid;gap:12px}.pc-tr h3{font-size:16px}
.pc-monto{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:12px 14px;border-radius:12px;background:var(--surface-2)}
.pc-monto span{grid-column:1/-1;font-size:13px;color:var(--text-2)}.pc-monto b{font-size:26px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pc-tr dl{margin:0;display:grid}.pc-tr dl div{display:grid;grid-template-columns:1fr auto;gap:0 10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.pc-tr dl div:last-child{border-bottom:0}
.pc-tr dt{grid-column:1;font-size:12.5px;color:var(--text-2)}.pc-tr dd{grid-column:1;margin:0;font-weight:600;font-size:15.5px;overflow-wrap:anywhere}.pc-tr dl .pc-cp{grid-column:2;grid-row:1/3}
.pc-cp{min-height:40px;padding:0 14px;border-radius:10px;border:1px solid var(--line-2,#C9CCD1);background:var(--surface);font:600 13.5px var(--f);color:var(--text);cursor:pointer}
.cot-pg{list-style:none;margin:0;padding:0;font-size:13.5px;display:grid;gap:4px}
