/* ============================================================
   Outlet Premium · componentes propios (sobre app.css del estándar)
   ============================================================ */
:root{--naranja:#F25C05;--naranja-50:#FEEEE4;--alerta:#E80807;--alerta-50:#FDECEC;--wa:#25D366;--wa-900:#075E54;--oro:#8C7A5B;--oro-50:#F3EFE7}

/* ---------- variantes ---------- */
.txt-marca{color:var(--marca)}
.nav__it .pill{margin-left:auto;font-size:10px;font-weight:700;background:var(--marca);color:#fff;padding:1px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.4px}
.kpi--naranja::after{background:var(--naranja)}.kpi--alerta::after{background:var(--alerta)}
.tag--marca{background:var(--marca-50);color:var(--marca-900)}
.tag--alerta{background:var(--alerta-50);color:#B42318}
.tag--naranja{background:var(--naranja-50);color:#B44203}
.txt-verde{color:#0F7A3F}.txt-alerta{color:#C4282D}
.barra i.alerta{background:var(--alerta)}
.d--dn{background:var(--alerta-50);color:#B42318}
.btn--marca{background:var(--marca);border-color:var(--marca);color:#fff}
.btn--marca:hover{background:var(--marca-700);border-color:var(--marca-700)}
.btn--marca:disabled,.btn:disabled{opacity:.45;cursor:not-allowed}
.btn--wa{background:var(--wa);border-color:var(--wa);color:#fff}.btn--wa:hover{background:#1EBE5A}
.btn svg{width:15px;height:15px}
.btn--chico{padding:5px 9px;font-size:11.5px}
.btn--grande{padding:11px 18px;font-size:13.5px;font-weight:700;border-radius:11px}
.chip--vivo{cursor:default}
.vacio{padding:22px 10px;text-align:center;color:var(--tinta-25);font-size:12.5px}
.oculto{display:none!important}
.lbl{display:block;font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--tinta-45);margin:14px 0 6px}
.seg--wrap{flex-wrap:wrap}.seg--full{display:flex}.seg--full button{flex:1}
.av{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#fff;font-size:10px;font-weight:800;flex:0 0 26px}
.av--g{background:linear-gradient(135deg,var(--marca),var(--marca-900));width:32px;height:32px;flex:0 0 32px;font-size:11px}
.av--xl{width:60px;height:60px;flex:0 0 60px;font-size:20px;font-family:var(--disp)}
.persona{display:flex;align-items:center;gap:10px}
.th{display:inline-grid;place-items:center;border-radius:9px;flex:0 0 auto}
.th svg{width:62%;height:62%}
.t .prod .th{width:34px;height:34px}
.mod__tag i{width:6px;height:6px;border-radius:50%;background:var(--verde);animation:latido 1.8s ease-in-out infinite}

/* ---------- sidebar rol ---------- */
.side__rol{padding:10px 18px;border-top:1px solid #1E2544}
.side__rol label{display:block;font-size:10.5px;color:#7D84A3;text-transform:uppercase;letter-spacing:.7px;font-weight:700;margin-bottom:5px}
.side__rol select{width:100%;background:#141A33;color:#fff;border:1px solid #2A3360;border-radius:8px;padding:7px 9px;font-family:inherit;font-size:12.5px}

/* ---------- relevamiento ---------- */
.req{display:flex;flex-direction:column;gap:6px}
.req__it{display:grid;grid-template-columns:34px 1fr auto auto 18px;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;border:1px solid var(--linea);background:var(--fondo);transition:transform .15s,border-color .15s,background .15s}
.req__it:hover{transform:translateX(3px);border-color:var(--marca-100);background:#fff}
.req__n{font-family:var(--disp);font-size:20px;font-weight:800;color:var(--marca)}
.req__it b{font-size:13px}.req__c{font-size:11.5px;color:var(--tinta-45)}
.req__it svg{color:var(--tinta-25)}
.hallazgo .btn{white-space:nowrap}

/* ---------- inicio ---------- */
.caja-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.caja-mini div{padding:10px 12px;border-radius:10px;background:var(--fondo);border:1px solid var(--linea)}
.caja-mini span{display:block;font-size:11px;color:var(--tinta-45)}
.caja-mini b{font-size:14px;font-variant-numeric:tabular-nums}
.caja-mini .verde b{color:#0F7A3F}.caja-mini .alerta b{color:#C4282D}
.caja-mini .tot{background:var(--negro);border-color:var(--negro)}.caja-mini .tot span{color:#9AA0BC}.caja-mini .tot b{color:#fff}
.ind{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ind>div{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.ind span{font-size:11.5px;color:var(--tinta-45);line-height:1.3}
.ind .anillo b{font-size:15px!important}
.kpi[data-ir-a]:hover{box-shadow:var(--sombra-3)}

/* ---------- POS ---------- */
.pos{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,1fr);gap:16px;margin-bottom:16px;align-items:start}
.pos__ticket{position:sticky;top:78px}
.pos__ticket.pulso{animation:pulso .45s ease}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(232,8,7,.45)}100%{box-shadow:0 0 0 14px rgba(232,8,7,0)}}
#pos-cats{margin-bottom:12px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:560px;overflow:auto;padding:2px}
.pit{display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left;padding:12px;border:1px solid var(--linea);border-radius:12px;background:#fff;transition:transform .15s,box-shadow .15s,border-color .15s}
.pit:hover{transform:translateY(-2px);box-shadow:var(--sombra-2);border-color:var(--marca-100)}
.pit:active{transform:scale(.97)}
.pit b{font-size:12px;line-height:1.25;min-height:30px}
.pit__p{font-family:var(--disp);font-size:18px;font-weight:700;color:var(--marca-900)}
.pit__s{font-size:10.5px;color:var(--tinta-45)}.pit__s.bajo{color:#B44203;font-weight:700}
.pit--off{opacity:.45;cursor:not-allowed}
.cli-pick input,.form input,.form select,.form textarea,.otd select,.mov-form input,.mov-form select{width:100%;font-family:inherit;font-size:13px;padding:9px 11px;border-radius:9px;border:1px solid var(--linea-fuerte);background:#fff;color:var(--tinta);outline:none;transition:border-color .15s,box-shadow .15s}
.cli-pick input:focus,.form input:focus,.form select:focus,.form textarea:focus,.mov-form input:focus{border-color:var(--marca);box-shadow:0 0 0 3px rgba(232,8,7,.14)}
.lineas{margin-top:12px;display:flex;flex-direction:column;gap:8px;max-height:300px;overflow:auto}
.linea{display:grid;grid-template-columns:34px 1fr auto auto 22px;gap:10px;align-items:center;padding:8px;border:1px solid var(--linea);border-radius:10px;animation:cardIn .3s ease both}
.linea__t{min-width:0}.linea__t b{display:block;font-size:12px;line-height:1.25}
.linea__t span{font-size:11px;color:var(--tinta-45)}
.linea__t select{margin-top:3px;width:100%;font-family:var(--mono);font-size:10.5px;border:1px solid var(--linea);border-radius:6px;padding:3px 5px;background:var(--fondo)}
.linea__m{font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.linea__q{font-size:12px;color:var(--tinta-45);padding:0 6px}
.linea__x{font-size:18px;color:var(--tinta-25);line-height:1}.linea__x:hover{color:var(--alerta)}
.qty{display:flex;align-items:center;border:1px solid var(--linea);border-radius:8px;overflow:hidden}
.qty button{width:24px;height:24px;font-weight:700;color:var(--tinta-70)}.qty button:hover{background:var(--fondo-2)}
.qty span{min-width:20px;text-align:center;font-size:12px;font-weight:700}
.fin{margin-top:12px;padding:12px;border-radius:12px;background:var(--violeta-50);border:1px solid #DCD2FB;animation:cardIn .3s ease both}
.fin__fila{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12px;font-weight:600;color:#4B2DB5}
.fin__fila input[type=range]{accent-color:var(--violeta);width:50%}
.fin__res{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px}
.fin__res div{background:#fff;border-radius:9px;padding:8px 10px}
.fin__res span{display:block;font-size:10.5px;color:var(--tinta-45)}
.fin__res b{font-size:13px}.fin__res b.grande{font-family:var(--disp);font-size:22px;color:#4B2DB5}
.aviso{margin-top:8px;font-size:11.5px;color:#B44203;font-weight:600}
.totales{margin-top:14px;border-top:1px dashed var(--linea-fuerte);padding-top:10px}
.totales div{display:flex;justify-content:space-between;font-size:12.5px;padding:3px 0;color:var(--tinta-70)}
.totales .tot{font-size:15px;color:var(--tinta);margin-top:4px}
.totales .tot b{font-family:var(--disp);font-size:30px;color:var(--marca-900)}
.pos__acc{display:flex;gap:10px;margin-top:14px}.pos__acc .btn--grande{flex:1;justify-content:center}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px}
.modal__velo{position:absolute;inset:0;background:rgba(12,16,34,.55);backdrop-filter:blur(3px);opacity:0;transition:opacity .25s}
.modal__caja{position:relative;background:#fff;border-radius:20px;box-shadow:var(--sombra-3);width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:24px 26px;transform:translateY(16px) scale(.98);opacity:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .25s}
.modal--ancho .modal__caja{width:min(820px,100%)}
.modal.on .modal__velo{opacity:1}.modal.on .modal__caja{transform:none;opacity:1}
.modal--lado{place-items:stretch end;padding:0}
.modal--lado .modal__caja{width:min(760px,100%);height:100vh;max-height:100vh;border-radius:20px 0 0 20px;transform:translateX(40px)}
.modal--lado.on .modal__caja{transform:none}
.modal__x{position:sticky;top:0;float:right;width:34px;height:34px;border-radius:50%;background:var(--fondo-2);font-size:20px;line-height:1;z-index:2;margin:-6px -8px 0 0}
.modal__x:hover{background:var(--linea-fuerte)}
.modal__t{margin:0;font-family:var(--disp);font-size:28px;text-transform:uppercase;letter-spacing:.3px}
.modal__s{margin:4px 0 14px;font-size:12.5px;color:var(--tinta-45)}
.modal__acc{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}
.modal .card{animation:none}

/* ---------- toasts ---------- */
#toasts{position:fixed;right:18px;bottom:18px;z-index:120;display:flex;flex-direction:column;gap:10px;max-width:min(380px,calc(100vw - 36px))}
.toast{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:14px;padding:12px 14px;box-shadow:var(--sombra-3);border:1px solid var(--linea);animation:toastIn .45s cubic-bezier(.2,.8,.2,1) both;transition:opacity .35s,transform .35s}
.toast.fuera{opacity:0;transform:translateX(30px)}
@keyframes toastIn{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
.toast__ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:0 0 34px;color:#fff;background:var(--marca)}
.toast__ic svg{width:19px;height:19px}
.toast--wa .toast__ic{background:var(--wa)}.toast--ok .toast__ic{background:var(--verde)}.toast--info .toast__ic{background:var(--ambar)}
.toast b{display:block;font-size:13px}.toast span{display:block;font-size:12px;color:var(--tinta-45);line-height:1.45;margin-top:2px}

/* ---------- KuDE / documentos ---------- */
.sifen-pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.sp{display:flex;align-items:center;gap:8px;padding:10px;border-radius:10px;background:var(--fondo);border:1px solid var(--linea);font-size:11.5px;color:var(--tinta-45);transition:all .3s}
.sp i{width:18px;height:18px;border-radius:50%;border:2px solid var(--linea-fuerte);flex:0 0 18px;position:relative;transition:all .3s}
.sp.ok{background:var(--verde-50);border-color:#BFE6D2;color:#0F6B38;font-weight:600}
.sp.ok i{background:var(--verde);border-color:var(--verde)}
.sp.ok i::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.kude{border:1px solid var(--linea-fuerte);border-radius:12px;padding:18px;background:#fff;animation:cardIn .4s ease both}
.kude__cab{display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center;border-bottom:2px solid var(--negro);padding-bottom:12px}
.kude__logo svg{width:100%;display:block}
.kude__emisor b,.kude__doc b{display:block;font-size:14px}
.kude__emisor span,.kude__doc span{display:block;font-size:11px;color:var(--tinta-70)}
.kude__emisor i{color:var(--tinta-25)}
.kude__doc{text-align:right;border:1px solid var(--linea-fuerte);border-radius:8px;padding:8px 12px}
.kude__doc b{color:var(--marca-900)}
.kude__cli{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:10px;margin:12px 0}
.kude__cli span{display:block;font-size:10px;color:var(--tinta-45);text-transform:uppercase;letter-spacing:.5px}
.kude__cli b{font-size:12.5px}
.kude__t td{white-space:normal}.kude__t small{color:var(--tinta-45)}
.kude__pie{display:grid;grid-template-columns:1fr auto;gap:16px;margin-top:12px;align-items:end}
.kude__qr{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--tinta-70)}
.kude__qr .qr{width:92px;height:92px;flex:0 0 92px}
.kude__qr span,.kude__qr b{display:block}.kude__qr b{color:var(--marca-900);margin:2px 0}
.cdc{font-size:10px;word-break:break-all;color:var(--tinta-45)}
.kude__tot div{display:flex;justify-content:space-between;gap:20px;font-size:12px}
.kude__tot b.grande{font-family:var(--disp);font-size:28px;color:var(--marca-900)}
.qr rect{fill:#0C1022}.qr rect[fill="#fff"]{fill:#fff}
.barcode{width:100%;height:42px;display:block}.barcode rect{fill:#0C1022}
.ticket80{width:300px;margin:0 auto;background:#fff;padding:18px 16px;font-family:var(--mono);font-size:11.5px;box-shadow:var(--sombra-2);border-radius:4px;background-image:linear-gradient(#fff,#fff),radial-gradient(circle at 6px 0,transparent 6px,#fff 6.5px);}
.ticket80__logo{width:150px;margin:0 auto 6px}.ticket80__logo svg{width:100%}
.ticket80 .c{text-align:center}.ticket80 hr{border:0;border-top:1px dashed #999;margin:8px 0}
.ticket80 .r{display:flex;justify-content:space-between;gap:10px}.ticket80 .s{font-size:10px;color:#666;margin:-2px 0 4px}
.ticket80__qr{width:110px;margin:6px auto}

/* ---------- stock ---------- */
.stkbar{display:flex;align-items:center;gap:8px;min-width:130px}
.stkbar .barra{flex:1;position:relative;overflow:visible}
.stkbar .barra i{transition:none}
.stkbar em{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--tinta-45);border-radius:2px}
.stkbar b{font-size:12px;min-width:22px;text-align:right}
.imei-res{min-height:150px}
.imei{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:var(--fondo);border:1px solid var(--linea);animation:cardIn .3s ease both}
.imei b{display:block;font-size:13px}.imei span.mono{font-size:11px;color:var(--tinta-45)}
.imei .tag{margin-left:auto}
.tl-v{display:flex;flex-direction:column;gap:0;margin-top:10px;padding-left:14px;border-left:2px solid var(--marca-100)}
.tl-v div{position:relative;padding:5px 0 5px 10px;font-size:12px}
.tl-v div::before{content:"";position:absolute;left:-20px;top:9px;width:10px;height:10px;border-radius:50%;background:var(--marca);border:2px solid #fff;box-shadow:0 0 0 1px var(--marca-100)}
.tl-v b{display:inline-block;min-width:120px}.tl-v span{color:var(--tinta-45)}
.etq{width:300px;margin:0 auto;border:2px dashed var(--linea-fuerte);border-radius:10px;padding:14px;text-align:center;background:#fff}
.etq__m{font-family:var(--disp);font-weight:800;letter-spacing:2px;font-size:12px;color:var(--marca)}
.etq b{display:block;font-size:13px;margin:4px 0}.etq__p{font-family:var(--disp);font-size:30px;font-weight:800}
.etq span{display:block;font-size:11px;color:var(--tinta-45)}
.etq .barcode{height:38px;margin:6px 0 2px}
.etq--ot{width:240px;margin-top:14px}.etq--ot b{font-family:var(--disp);font-size:28px}
.etq--mini{width:auto;border-style:solid}

/* ---------- taller ---------- */
.taller-bar,.rep-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.taller-bar__tip{font-size:11.5px;color:var(--tinta-45)}
.taller-bar .btn--grande{margin-left:auto}
.kanban{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));gap:10px;overflow-x:auto;padding-bottom:10px;margin-bottom:16px}
.kcol{background:var(--fondo-2);border-radius:14px;padding:8px;min-height:240px;transition:background .15s,box-shadow .15s}
.kcol.sobre{background:var(--marca-50);box-shadow:inset 0 0 0 2px var(--marca)}
.kcol__cab{display:flex;align-items:center;justify-content:space-between;padding:6px 6px 10px;border-bottom:3px solid var(--c);margin-bottom:8px}
.kcol__cab b{font-size:12px}
.kcol__cab span{font-size:11px;font-weight:800;background:var(--c);color:#fff;border-radius:999px;padding:1px 8px}
.kcol__lista{display:flex;flex-direction:column;gap:8px}
.kcol__vacio{text-align:center;color:var(--tinta-25);padding:20px 0}
.ot{background:#fff;border-radius:11px;padding:10px;border:1px solid var(--linea);box-shadow:var(--sombra-1);cursor:grab;transition:transform .15s,box-shadow .15s;animation:cardIn .35s ease both}
.ot:hover{transform:translateY(-2px);box-shadow:var(--sombra-2)}
.ot.arr{opacity:.4;transform:rotate(2deg)}
.ot__cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.ot__cab b{font-family:var(--mono);font-size:11.5px;color:var(--tinta-70)}
.ot__eq{display:flex;gap:8px;align-items:flex-start}
.ot__eq b{display:block;font-size:12px;line-height:1.2}
.ot__eq span{display:block;font-size:11px;color:var(--tinta-45);line-height:1.3;margin-top:2px}
.ot__pie{display:flex;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--linea);font-size:11px;color:var(--tinta-45)}
.ot__pie .av{width:22px;height:22px;flex:0 0 22px;font-size:9px}
.ot__pie b{margin-left:auto;color:var(--tinta);font-size:11.5px}
.otd__cab{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-right:30px}
.otd__n{font-size:11px;font-weight:700;color:var(--marca);text-transform:uppercase;letter-spacing:.8px}
.otd__cab h2{margin:2px 0;font-family:var(--disp);font-size:30px;text-transform:uppercase}
.otd__cab .mono{font-size:11.5px;color:var(--tinta-45)}
.estados{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:16px 0 4px}
.est{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;color:var(--tinta-45);text-align:center;line-height:1.15;padding:4px 2px;border-radius:8px}
.est:hover{background:var(--fondo)}
.est i{width:100%;height:6px;border-radius:999px;background:var(--fondo-2);transition:background .3s}
.est.hecho i{background:var(--c)}.est.aqui i{background:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 25%,transparent)}
.est.aqui{color:var(--tinta);font-weight:700}
.otd__g{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.otd__g--2{grid-template-columns:1fr 1fr}
.otd__g b{display:block;font-size:13px}.otd__g span{display:block;font-size:11.5px;color:var(--tinta-45)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.caja-txt p{margin:0;font-size:13px;padding:10px 12px;background:var(--fondo);border-radius:10px;border:1px solid var(--linea)}
.fotos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.fotos--sub{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
.foto{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--linea);aspect-ratio:1/.95;background:#E9EBF2}
.foto svg,.foto img{width:100%;height:100%;display:block;object-fit:cover}
.foto span{position:absolute;left:8px;bottom:6px;font-size:10px;font-weight:700;color:#fff;background:rgba(12,16,34,.6);padding:1px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}
.foto--add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;border:2px dashed var(--marca-100);background:var(--marca-50);color:var(--marca)}
.foto--add svg{width:30px;height:30px}.foto--add span{position:static;background:none;color:var(--marca);text-transform:none;font-size:12px}
.foto--add:hover{border-color:var(--marca)}
.presu{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-top:14px;padding:14px;border-radius:14px;background:var(--fondo);border:1px solid var(--linea)}
.presu .lbl{margin-top:0}
.presu__r{display:flex;justify-content:space-between;font-size:12.5px;padding:3px 0}
.presu__r.tot{border-top:1px dashed var(--linea-fuerte);margin-top:4px;padding-top:7px}
.presu__r.tot b{font-family:var(--disp);font-size:24px;color:var(--marca-900)}
.presu__est{display:flex;flex-direction:column;gap:8px;align-items:flex-start;font-size:12px;color:var(--tinta-70)}
.firma-box{border:1px solid var(--linea);border-radius:12px;padding:8px 12px;background:#fff;height:120px;display:flex;flex-direction:column;justify-content:space-between}
.firma-box .firma-svg{height:76px;width:auto;max-width:100%}
.firma-box span{font-size:11px;color:var(--tinta-45);border-top:1px solid var(--linea);padding-top:4px}
.firma-pad{position:relative;border:2px dashed var(--marca-100);border-radius:12px;background:#FBFCFF;transition:border-color .2s}
.firma-pad canvas{width:100%;height:120px;display:block;cursor:crosshair}
.firma-pad .btn{position:absolute;top:8px;right:8px}
.firma-pad span{position:absolute;left:12px;bottom:8px;font-size:11px;color:var(--tinta-25);pointer-events:none}
.firma-pad.off{opacity:.45;pointer-events:none}
.firma-pad.falta{border-color:var(--alerta);animation:sacudir .4s}
.entrega{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding:14px;border-radius:14px;background:var(--verde-50);border:1px solid #BFE6D2}
.entrega .lbl{margin:0;width:100%}.entrega .btn--grande{margin-left:auto}
.form__g{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form__g .ancho{grid-column:1/-1}
.form__g .lbl{margin-top:8px}
.checks{display:flex;flex-wrap:wrap;gap:6px}
.checks label{cursor:pointer}
.checks input{position:absolute;opacity:0;pointer-events:none}
.checks span{display:inline-block;padding:6px 11px;border-radius:999px;border:1px solid var(--linea-fuerte);font-size:12px;font-weight:600;color:var(--tinta-70);transition:all .15s;user-select:none}
.checks input:checked+span{background:var(--marca);border-color:var(--marca);color:#fff}
.hoja{border:1px solid var(--linea-fuerte);border-radius:12px;padding:18px;background:#fff}
.hoja__cab{display:flex;gap:16px;align-items:center;border-bottom:2px solid var(--negro);padding-bottom:10px}
.hoja__logo{width:100px}.hoja__logo svg{width:100%}
.hoja__cab b{display:block;font-size:15px;color:var(--marca-900)}.hoja__cab span{display:block;font-size:11.5px;color:var(--tinta-70)}
.hoja__g{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.hoja__g div{padding:8px 10px;border:1px solid var(--linea);border-radius:8px}
.hoja__g .ancho{grid-column:1/-1}
.hoja__g span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--tinta-45)}
.hoja__g b{font-size:12.5px}.hoja__g small{display:block;font-size:11px;color:var(--tinta-45)}
.hoja__leg{font-size:10.5px;color:var(--tinta-45);line-height:1.5}
.hoja__firmas{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}
.hoja__firmas>div{text-align:center;font-size:11px;color:var(--tinta-45)}
.hoja__firmas .firma-svg{height:60px;border-bottom:1px solid var(--tinta-45);width:100%}
.hoja__qr{width:76px;margin:0 auto}

/* ---------- clientes ---------- */
.ficha__cab{display:flex;gap:14px;align-items:center;padding-right:30px}
.ficha__cab h2{margin:0;font-family:var(--disp);font-size:28px;text-transform:uppercase}
.ficha__cab span{display:block;font-size:12px;color:var(--tinta-45)}
.ficha__cab .btn{margin-left:auto}
.ficha .kpi__val{font-size:22px}
.cuota-mini{padding:8px 0;border-bottom:1px solid var(--linea)}.cuota-mini:last-child{border:0}
.cuota-mini b{display:block;font-size:12.5px}.cuota-mini span{display:block;font-size:11.5px;color:var(--tinta-45);margin-bottom:6px}
.cuota-mini em{font-style:normal;font-weight:700}

/* ---------- caja ---------- */
.mov-form{display:grid;grid-template-columns:auto 1.6fr 1fr 1fr auto;gap:8px;margin-bottom:12px;align-items:center}
.arqueo{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}
.arqueo__b{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.bill{display:flex;flex-direction:column;gap:5px;padding:10px;border-radius:12px;border:1px solid var(--linea);background:linear-gradient(135deg,#F6F8FD,#fff)}
.bill__v{font-family:var(--disp);font-size:20px;font-weight:700;color:var(--marca-900)}
.bill input{width:100%;font-family:inherit;font-size:15px;font-weight:700;padding:6px 8px;border-radius:8px;border:1px solid var(--linea-fuerte);text-align:center}
.bill input:focus{outline:none;border-color:var(--marca)}
.bill__s{font-size:11px;color:var(--tinta-45);text-align:center}
.arqueo__r{display:flex;flex-direction:column;gap:10px}
.arqueo__r div{padding:12px 14px;border-radius:12px;background:var(--fondo);border:1px solid var(--linea)}
.arqueo__r span{display:block;font-size:11px;color:var(--tinta-45)}.arqueo__r b{font-size:17px;font-variant-numeric:tabular-nums}
.arqueo__r .dif{background:var(--negro);border-color:var(--negro)}.arqueo__r .dif span,.arqueo__r .dif small{color:#9AA0BC}.arqueo__r .dif b{color:#fff;font-family:var(--disp);font-size:30px}
.arqueo__r .dif.ok{background:var(--verde)}.arqueo__r .dif.mal{background:var(--alerta)}.arqueo__r .dif.sobra{background:var(--ambar)}
.arqueo__r .dif.ok span,.arqueo__r .dif.ok small,.arqueo__r .dif.mal span,.arqueo__r .dif.mal small,.arqueo__r .dif.sobra span,.arqueo__r .dif.sobra small{color:rgba(255,255,255,.85)}
.cierre{display:flex;flex-direction:column;gap:6px}
.cierre div{display:flex;justify-content:space-between;padding:9px 12px;border-radius:9px;background:var(--fondo);font-size:13px}

/* ---------- usuarios ---------- */
.roles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rol{text-align:left;padding:12px;border-radius:12px;background:#1E2544;border:1px solid #2A3360;transition:all .15s}
.rol b{display:block;color:#fff;font-size:13px}.rol span{font-size:11px;color:#9AA0BC}
.rol:hover{border-color:var(--marca)}
.rol.on{background:var(--marca);border-color:var(--marca)}.rol.on span{color:#DCE1F7}
.matriz th.c,.matriz td.c{text-align:center}
.perm{width:28px;height:28px;border-radius:8px;border:1.5px solid var(--linea-fuerte);font-weight:800;color:#fff;transition:all .15s}
.perm.on{background:var(--verde);border-color:var(--verde)}
.perm:hover{transform:scale(1.1)}

/* ---------- avisos ---------- */
.wa-phone{flex:0 0 280px}.wa-screen{height:440px}
.wa-m{font-size:11.5px}
.wa-side .seg{margin-bottom:4px}
.reglas{display:flex;flex-direction:column}
.regla{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--linea);cursor:pointer}
.regla:last-child{border:0}
.regla div{flex:1}.regla b{display:block;font-size:12.5px}.regla span{font-size:11.5px;color:var(--tinta-45)}
.regla input{position:absolute;opacity:0}
.regla i{width:38px;height:22px;border-radius:999px;background:var(--linea-fuerte);position:relative;transition:background .2s;flex:0 0 38px}
.regla i::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.regla input:checked+i{background:var(--wa)}.regla input:checked+i::after{transform:translateX(16px)}

/* ---------- sifen ---------- */
.flujo{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:6px 2px}
.flujo__p{flex:1;min-width:120px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:12px 8px;border-radius:14px;background:var(--fondo);border:1px solid var(--linea);opacity:0;animation:modIn .5s ease forwards}
.flujo__ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--marca);color:#fff}
.flujo__ic svg{width:22px;height:22px}
.flujo__p b{font-family:var(--disp);font-size:18px;text-transform:uppercase}
.flujo__p span{font-size:11px;color:var(--tinta-45);line-height:1.35}
.flujo__f{flex:0 0 26px;align-self:center;height:2px;background:repeating-linear-gradient(90deg,var(--marca) 0 6px,transparent 6px 10px);background-size:20px 2px;animation:fluir 1s linear infinite}
@keyframes fluir{to{background-position:20px 0}}
.checklist{display:flex;flex-direction:column;gap:8px}
.chk{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--fondo);border:1px solid var(--linea)}
.chk>span{width:26px;height:26px;border-radius:50%;background:var(--marca);color:#fff;font-weight:800;font-size:12px;display:grid;place-items:center;flex:0 0 26px}
.chk b{display:block;font-size:12.5px}.chk small{font-size:11.5px;color:var(--tinta-45)}

/* ---------- responsive ---------- */
@media (max-width:1280px){.pos{grid-template-columns:1fr}.pos__ticket{position:static}}
@media (max-width:1180px){.arqueo{grid-template-columns:1fr}.mov-form{grid-template-columns:1fr 1fr}.mov-form .seg{grid-column:1/-1}}
@media (max-width:820px){
  .kanban{grid-template-columns:repeat(7,82vw);scroll-snap-type:x mandatory}.kcol{scroll-snap-align:start}
  .arqueo__b{grid-template-columns:repeat(2,1fr)}
  .otd__g,.otd__g--2,.form__g,.presu,.hoja__g{grid-template-columns:1fr}
  .fotos{grid-template-columns:repeat(3,1fr)}
  .estados span{display:none}
  .sifen-pasos{grid-template-columns:1fr 1fr}
  .kude__cab{grid-template-columns:80px 1fr}.kude__doc{grid-column:1/-1;text-align:left}
  .kude__cli,.kude__pie{grid-template-columns:1fr}
  .req__it{grid-template-columns:30px 1fr auto}.req__it .tag,.req__it svg{display:none}
  .hallazgo{grid-template-columns:40px 1fr}.hallazgo .btn{grid-column:2}
  .wa{flex-direction:column}.wa-phone{width:100%;flex:auto}
  .roles{grid-template-columns:1fr}
  .taller-bar .btn--grande{margin-left:0;width:100%;justify-content:center}
  .modal{padding:10px}.modal__caja{padding:18px 16px}.modal--lado{padding:0}
  .fin__res{grid-template-columns:1fr 1fr}.fin__res div:nth-child(2){grid-column:1/-1;order:-1}
  .top__der{display:none}
  .mov-form{grid-template-columns:1fr}
}
@media print{
  body *{visibility:hidden}
  .modal__caja,.modal__caja *{visibility:visible}
  .modal__caja{position:absolute;left:0;top:0;box-shadow:none;width:100%!important;max-height:none;height:auto}
  .modal__x,.modal__acc,.modal__velo{display:none!important}
}
.ot__pie span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ot__pie b{white-space:nowrap;margin-left:0}
.kanban{grid-template-columns:repeat(7,minmax(205px,1fr))}
.firma-pad{user-select:none;-webkit-user-select:none}
.tl-v b{min-width:150px}
.arqueo__r .dif small{display:block;margin-top:2px}
/* logo animado: la barra SHOP se invierte sobre fondo oscuro; documentos impresos quedan quietos */
.gate__logo .l-shop{fill:#0C1022}
.kude__logo .mx *,.ticket80__logo .mx *,.hoja__logo .mx *{animation:none!important}
