:root{color-scheme:dark;--bg:#12110d;--surface:#1b1913;--elev:#232016;--line:#2e2b21;--line2:#3a3628;--ink:#f2efe4;--ink2:#c9c4b2;--mut:#8f8a78;--acc:#f0a827;--acc-ink:#161104;--ok:#3dbb3d;--ok-bg:rgba(12,163,12,.13);--warn:#fab219;--warn-bg:rgba(250,178,25,.12);--crit:#e05252;--crit-bg:rgba(224,82,82,.13);--blue:#3987e5;--grid:#2c2a20}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--acc)}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:3px}.shell{display:grid;grid-template-columns:212px minmax(0,1fr);min-height:100vh}@media (max-width:860px){.shell{grid-template-columns:60px minmax(0,1fr)}.brand-name,.nav-label{display:none}}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:16px 10px;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.brand{gap:9px;padding:4px 8px 16px}.brand,.brand-mark{display:flex;align-items:center}.brand-mark{width:30px;height:30px;border-radius:8px;background:var(--acc);color:var(--acc-ink);font-weight:900;font-size:15px;justify-content:center;flex:0 0 auto}.brand-name{font-weight:800;font-size:15px;letter-spacing:-.01em}.brand-name small{display:block;font-size:9.5px;letter-spacing:.08em}.brand-name small,.nav-link{color:var(--mut);font-weight:600}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:13px}.nav-link:hover{color:var(--ink)}.nav-link.active{background:var(--elev);color:var(--ink);box-shadow:inset 2px 0 0 var(--acc)}.nav-link .ico{width:18px;text-align:center;font-style:normal}.nav-sep{border-top:1px solid var(--line);margin:10px 8px}.nav-foot{margin-top:auto;padding:10px;font-size:10.5px;color:var(--mut);line-height:1.5}.main{padding:22px 26px 60px;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}.page-head h1{margin:0;font-size:21px;font-weight:800;letter-spacing:-.01em}.page-head .sub{color:var(--mut);font-size:12px;margin-top:3px}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.mono,.num{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eyebrow{font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.eyebrow,.muted{color:var(--mut)}.small{font-size:12px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));grid-gap:10px;gap:10px;margin-bottom:14px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.kpi .l{font-family:ui-monospace,Menlo,monospace;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--mut);font-weight:700}.kpi .v{font-size:23px;font-weight:800;letter-spacing:-.02em;margin-top:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .d{font-size:11px;margin-top:2px;color:var(--mut)}.kpi .v.crit{color:var(--crit)}.kpi .v.warn{color:var(--warn)}.grid{display:grid;grid-gap:10px;gap:10px}.grid-2{grid-template-columns:1.6fr 1fr}.grid-half{grid-template-columns:1fr 1fr}@media (max-width:1000px){.grid-2,.grid-half{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;font-weight:700;margin-bottom:10px}.tbl-scroll{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:12.5px}.tbl th{font-family:ui-monospace,Menlo,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--mut);text-align:left;border-bottom:1px solid var(--line2);font-weight:700}.tbl td,.tbl th{padding:7px 10px;white-space:nowrap}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tr:hover td{background:rgba(240,168,39,.03)}.tbl .r{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:ui-monospace,Menlo,monospace;font-size:12px}.tbl a{color:var(--acc);font-weight:600}.chip{display:inline-block;font-family:ui-monospace,Menlo,monospace;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:2.5px 8px;border-radius:99px;white-space:nowrap}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.crit{background:var(--crit-bg);color:var(--crit)}.chip.mut{background:var(--elev);color:var(--mut)}.chip.acc{background:rgba(240,168,39,.13);color:var(--acc)}.form{grid-gap:12px;max-width:560px}.form,.form-row{display:grid;gap:12px}.form-row{grid-template-columns:1fr 1fr;grid-gap:12px}@media (max-width:700px){.form-row{grid-template-columns:1fr}}.field{display:grid;grid-gap:5px;gap:5px}.field label{font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-weight:700}.field input,.field select,.field textarea{background:var(--elev);border:1px solid var(--line2);border-radius:9px;color:var(--ink);padding:11px 12px;font:inherit;width:100%}.field input:focus,.field select:focus{border-color:var(--acc);outline:none}.field .hint{font-size:11px;color:var(--mut)}.btn{display:inline-block;background:var(--acc);color:var(--acc-ink);font-weight:800;font-size:13.5px;border:0;border-radius:9px;padding:12px 20px;letter-spacing:.02em}.btn:hover{filter:brightness(1.08)}.btn.ghost{background:transparent;color:var(--ink2);border:1px solid var(--line2);font-weight:600}.btn.sm{padding:7px 12px;font-size:12px;border-radius:7px}.notice{border-radius:9px;padding:10px 14px;font-size:12.5px;margin-bottom:14px;border:1px solid}.notice.ok{background:var(--ok-bg);border-color:rgba(61,187,61,.3);color:var(--ok)}.notice.crit{background:var(--crit-bg);border-color:rgba(224,82,82,.3);color:var(--crit)}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.filters input,.filters select{background:var(--surface);border:1px solid var(--line2);border-radius:8px;color:var(--ink);padding:7px 10px;font-size:12.5px}.alert-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line);font-size:12.5px}.alert-row:first-of-type{border-top:0}.alert-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:0 0 auto}.alert-dot.crit{background:var(--crit)}.alert-dot.warn{background:var(--warn)}.alert-row .t{font-weight:650}.alert-row .s{color:var(--mut);font-size:11px}.hbar-row{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:12px}.hbar-label{width:130px;flex:0 0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2)}.hbar-track{flex:1 1;height:13px;display:block}.hbar-fill{display:block;height:100%;background:var(--blue);border-radius:0 4px 4px 0;min-width:2px}.hbar-val{width:76px;text-align:right;font-family:ui-monospace,Menlo,monospace;font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:0 0 auto}.campo{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding:0 14px 90px}.campo-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 2px 10px;border-bottom:1px solid var(--line);margin-bottom:12px}.campo-head .t{font-size:17px;font-weight:800;letter-spacing:-.01em}.campo-head .s{font-size:11px;color:var(--mut)}.campo-head a.volver{color:var(--mut);font-size:13px;font-weight:600;padding:8px 10px}.steps{display:flex;gap:5px;margin:4px 0 14px}.steps i{flex:1 1;height:4px;border-radius:99px;background:var(--elev);font-style:normal}.btn-xl,.steps i.on{background:var(--acc)}.btn-xl{display:block;width:100%;text-align:center;color:var(--acc-ink);font-weight:800;font-size:17px;border:0;border-radius:14px;padding:19px 14px;letter-spacing:.01em}.btn-xl.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line2);font-weight:650}.btn-xl.danger{background:transparent;color:var(--crit);border:1.5px solid var(--crit);font-weight:700}.btn-xl:disabled{opacity:.45}.campo .kpi .v{font-size:26px}.campo-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:14px 16px}.campo-list{display:flex;flex-direction:column;gap:10px}.campo-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:13px}.campo-row:first-of-type{border-top:0}.campo-row b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.maquina-btn{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line2);border-radius:12px;padding:15px 16px;color:var(--ink)}.maquina-btn .cod{font-weight:800;font-size:16px}.maquina-btn .fam{color:var(--mut);font-size:11.5px;display:block}.maquina-btn .met{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--mut)}.campo .field input,.campo .field select{padding:15px 14px;font-size:16px;border-radius:12px}.input-big{font-size:26px!important;font-weight:800;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:ui-monospace,Menlo,monospace}.evidencias{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.evid{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 6px;text-align:center}.evid .el{font-family:ui-monospace,Menlo,monospace;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-weight:700;display:block}.evid .ev{font-size:16px;font-weight:800;margin-top:2px}.evid .ev.si{color:var(--ok)}.evid .ev.no{color:var(--mut)}.scanner-box{position:relative;border-radius:14px;overflow:hidden;background:#000;border:1px solid var(--line2)}.scanner-box video{width:100%;display:block;max-height:52vh;object-fit:cover}.scanner-marco{position:absolute;inset:14%;border:2px dashed rgba(240,168,39,.8);border-radius:12px;pointer-events:none}.foto-thumb{width:100%;max-height:180px;object-fit:cover;border-radius:12px;border:1px solid var(--line2);display:block}.resumen-litros{text-align:center;padding:10px 0 4px}.resumen-litros .rl{font-size:52px;font-weight:850;letter-spacing:-.03em;color:var(--acc);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:ui-monospace,Menlo,monospace}.resumen-litros .rs{color:var(--mut);font-size:12.5px}.etiquetas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:12px;gap:12px}.etiqueta{border:1.5px solid var(--line2);border-radius:10px;padding:14px;text-align:center;background:var(--surface);page-break-inside:avoid;break-inside:avoid}.etiqueta img{width:130px;height:130px;display:block;margin:0 auto 8px;background:#fff;padding:6px;border-radius:6px}.etiqueta .ec{font-weight:900;font-size:20px;letter-spacing:.01em}.etiqueta .ef{font-size:11px;color:var(--mut)}@media print{body{background:#fff!important;color:#000!important}.campo-head,.no-print,.sidebar{display:none!important}.etiqueta{border-color:#000;background:#fff}.etiqueta .ec{color:#000}.etiqueta .ef{color:#444}}.spec-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:8px 18px;gap:8px 18px;font-size:12.5px}.spec-list dt{color:var(--mut);font-family:ui-monospace,Menlo,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.spec-list dd{margin:2px 0 0;font-weight:600}.spec-item{border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:var(--elev)}.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 22px 20px}.auth-foot{margin-top:18px;text-align:center}.nav-badge{margin-left:auto;background:var(--crit);color:#fff;font-size:10px;font-weight:800;border-radius:99px;padding:1px 6px;min-width:18px;text-align:center}.nav-user{margin-top:auto;padding:10px 6px 4px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px}.nav-user .nu-n{font-size:12.5px;font-weight:700}.nav-user .nu-r{font-size:10.5px;color:var(--mut)}.nav-user .nu-r a{color:var(--acc)}.nav-user .nu-out{margin-left:auto;background:transparent;border:1px solid var(--line2);color:var(--mut);border-radius:8px;width:32px;height:32px;font-size:14px}.nav-user .nu-out:hover{color:var(--crit);border-color:var(--crit)}.ajuste-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line);flex-wrap:wrap}.ajuste-row:first-of-type{border-top:0}.ajuste-main{flex:1 1;min-width:240px;font-size:13px}.ajuste-acciones{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ajuste-acciones input{background:var(--elev);border:1px solid var(--line2);border-radius:7px;color:var(--ink);padding:7px 9px;font-size:12px;min-width:160px}.recepcion-row{padding:8px 0;border-top:1px solid var(--line)}.recepcion-row:first-of-type{border-top:0}.filters label{display:inline-flex;align-items:center;gap:6px}.campo-app{display:flex;flex-direction:column;min-height:100vh}.campo-vista{flex:1 1;padding-bottom:8px}.campo-centro{min-height:100vh;flex-direction:column;justify-content:center;gap:8px;padding:20px 4px}.campo-centro,.campo-top{display:flex;align-items:center}.campo-top{gap:10px;padding:8px 2px 6px;font-family:ui-monospace,Menlo,monospace;font-size:10.5px;color:var(--mut);border-bottom:1px solid var(--line)}.campo-top.off{color:var(--warn)}.campo-top .ct-estado{font-weight:700}.campo-top .ct-sync{flex:1 1;text-align:right}.campo-top .ct-pend{color:var(--warn)}.campo-top .ct-rech{color:var(--crit)}.campo-top .ct-btn{background:transparent;border:1px solid var(--line2);color:var(--ink);border-radius:8px;width:34px;height:30px;font-size:15px}.campo-top .ct-btn:disabled{opacity:.4}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:84px;z-index:50;max-width:440px;width:calc(100% - 32px);border-radius:12px;padding:12px 14px;font-size:13.5px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.45);border:1px solid}.toast.ok{background:#16311a;border-color:var(--ok);color:#d7f5d7}.toast.warn{background:#3a2c0c;border-color:var(--warn);color:#ffe7a8}.toast.crit{background:#3b1414;border-color:var(--crit);color:#ffd6d6}.nav-inf{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:40}.nav-inf button{flex:1 1;background:transparent;border:0;color:var(--mut);font-size:11px;font-weight:700;padding:8px 0 10px;min-height:58px;position:relative}.nav-inf button i{display:block;font-style:normal;font-size:18px;margin-bottom:2px}.nav-inf button.on{color:var(--acc)}.nav-inf-badge{position:absolute;top:6px;right:calc(50% - 22px);background:var(--crit);color:#fff;font-size:9.5px;border-radius:99px;padding:1px 5px}.pin-dots{display:flex;gap:12px;margin:6px 0 12px}.pin-dots i{width:14px;height:14px;border-radius:50%;border:2px solid var(--line2)}.pin-dots i.on{background:var(--acc);border-color:var(--acc)}.pin-pad{display:grid;grid-template-columns:repeat(3,72px);grid-gap:12px;gap:12px}.pin-pad button{height:64px;border-radius:14px;border:1px solid var(--line2);background:var(--surface);color:var(--ink);font-size:24px;font-weight:700}.pin-pad button:active{background:var(--elev)}.pin-pad button:disabled{opacity:0}.cola-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--line);font-size:13px}.cola-row:first-of-type{border-top:0}.cola-acc{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.mk-meter{height:8px;border-radius:99px;background:var(--elev);overflow:hidden;margin-top:6px}.mk-meter i{display:block;height:100%;border-radius:99px;background:var(--acc)}.campo .field label{font-size:10.5px}.campo .btn-xl:disabled{opacity:.45}.campo a.btn-xl{display:block}.campo .campo-head button.volver{background:transparent;border:0;color:var(--mut);font-size:13px;font-weight:600;padding:8px 10px}