:root{--wine:#761c37;--wine2:#521128;--gold:#c7a367;--ink:#232e3b;--muted:#728091;--line:#e4e7ed;--bg:#f5f6f9;--card:#fff;--danger:#ae2e3d;--warn:#a86b07;--green:#237450}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{border:1px solid #d6dce3;border-radius:8px;padding:10px 11px;background:#fff;width:100%;outline-color:var(--wine)}textarea{min-height:94px;resize:vertical}label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#435063}label>input,label>select,label>textarea{font-weight:400;font-size:14px;color:var(--ink)}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.45px;color:var(--wine);font-weight:800}.rule{background:var(--wine);height:4px;margin:12px 0 24px}.layout{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.sidebar-head{padding:27px 23px 16px;border-bottom:1px solid var(--line)}.sidebar-head img{width:167px;height:68px;object-fit:contain;object-position:left}.sidebar-head p{font-size:10px;letter-spacing:1px;color:#8792a1;font-weight:700;margin:6px 0}.sidebar-head h2{font-size:24px;color:var(--wine);margin:3px 0}.sidebar-head h2 span{font-weight:400;color:#a1a9b2;font-size:11px}.sidebar nav{padding:19px 10px;display:grid;gap:5px}.sidebar nav button{text-align:left;display:flex;gap:14px;align-items:center;padding:12px 17px;border:0;border-radius:9px;background:transparent;color:#586475;font-weight:600}.sidebar nav button:hover,.sidebar nav button.active{background:#f7edf1;color:var(--wine)}.sidebar-bottom{margin-top:auto;padding:16px 25px;border-top:1px solid var(--line)}.sidebar-bottom p{line-height:1.7;font-size:11px;color:#86919c}.quiet{padding:8px 0;border:none;background:none;color:var(--wine);font-weight:700}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{background:white;border-bottom:1px solid var(--line);padding:25px 36px 23px;display:flex;justify-content:space-between;align-items:center}.topbar h1{font-size:23px;letter-spacing:-.5px;margin:6px 0 0}.top-right{display:flex;align-items:center;gap:20px;color:#8591a0;font-size:12px}.local-pill{background:#edf7f0;color:#258351;padding:7px 11px;border-radius:18px;font-weight:700;font-size:11px}.main{width:100%;max-width:1320px;margin:0 auto;padding:27px 36px;flex:1}.footer{display:flex;gap:25px;justify-content:space-between;padding:14px 35px;color:#9ca5b2;font-size:10px;border-top:1px solid #e6e8ee}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:20px;box-shadow:0 2px 14px #1d243006}.card .number{font-size:30px;font-weight:800;color:#172032;letter-spacing:-1px;margin-top:12px}.card p{color:var(--muted);font-size:12px;margin:0}.card small{color:#a1acb8}.card.alert .number{color:var(--danger)}.card.warn .number{color:var(--warn)}.panel{margin-bottom:19px}.panel-head{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:17px}.panel h2{font-size:17px;margin:0 0 7px}.panel-head h2{margin:0}.subtitle{font-size:12px;color:var(--muted);line-height:1.6}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stack{display:grid;gap:15px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.form-grid .wide{grid-column:span 2}.form-grid .full{grid-column:1/-1}.btn{border:1px solid #ccd3da;padding:10px 15px;border-radius:8px;background:#fff;color:#354456;font-weight:700;white-space:nowrap}.btn.primary{color:#fff;background:var(--wine);border-color:var(--wine)}.btn.primary:hover{background:var(--wine2)}.btn.small{padding:6px 9px;font-size:11px}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{font-size:10px;letter-spacing:.45px;text-transform:uppercase;color:#7b8795;background:#f7f8fa;font-weight:800}td,th{padding:12px 11px;border-bottom:1px solid var(--line)}tbody tr:hover{background:#faf9fb}tbody tr:last-child td{border-bottom:0}.pill{font-size:10px;display:inline-block;border-radius:40px;padding:5px 9px;background:#eef1f5;color:#607287;font-weight:800}.pill.danger{background:#feebee;color:var(--danger)}.pill.warning{background:#fff4dc;color:#986208}.pill.success{background:#e7f6eb;color:#24834d}.empty{background:#fafbfd;border:1px dashed #d9dfe6;border-radius:11px;text-align:center;padding:30px 20px;color:#8390a0;line-height:1.7}.help{background:#f8f0f3;border-left:3px solid var(--wine);color:#765062;padding:13px 15px;font-size:12px;line-height:1.7;margin-bottom:18px;border-radius:4px}.right{text-align:right}.chartrow{display:grid;grid-template-columns:minmax(70px,1fr) 3fr 40px;gap:12px;align-items:center;margin:13px 0;font-size:12px}.bar{border-radius:5px;background:#f0e7eb;height:14px;overflow:hidden}.bar span{background:var(--wine);height:100%;display:block;border-radius:5px}.metric{font-weight:700}.reviewqty{max-width:90px;text-align:center;padding:8px}.total{font-weight:800;color:var(--wine);font-size:23px}.login-wrap{min-height:100vh;background:linear-gradient(135deg,#f1eaed,#f7f8fb);display:grid;place-items:center;padding:20px}.login-card{width:min(100%,430px);background:white;padding:39px;border:1px solid #e3dfe2;border-radius:15px;box-shadow:0 14px 45px #54243e1c}.login-brand{width:190px;height:73px;object-fit:contain;object-position:left}.login-card h1{font-size:26px;margin:9px 0}.login-card .stack{margin-top:26px}.login-card .stack .btn{margin-top:9px;padding:12px}.footnote{font-size:11px;color:#9b9daa;text-align:center;margin-top:25px}.toast{position:fixed;right:25px;bottom:25px;max-width:420px;z-index:1000;border-radius:10px;background:#212c37;padding:14px 20px;color:#fff;box-shadow:0 10px 35px #0003;white-space:pre-wrap;line-height:1.5}.toast.error{background:#8f2434}.download{color:var(--wine);font-weight:700}.hr{height:1px;background:var(--line);margin:20px 0}.mini{font-size:11px;color:var(--muted)}.section-title{margin-bottom:17px} [hidden]{display:none!important}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar-head{padding:12px 20px}.sidebar-head img{height:40px;width:140px}.sidebar-head p,.sidebar-head h2,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;gap:7px;padding:8px}.sidebar nav button{padding:9px 12px;white-space:nowrap}.topbar{padding:16px 20px}.top-right{display:none}.main{padding:18px}.footer{display:block}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.cards{gap:10px}.card{padding:15px}.panel{padding:16px}}

/* SIGIA EQUIPOS DE IMPRESION v1.1 */
.printer-details{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}
.printer-details summary{cursor:pointer;color:var(--wine);font-weight:700;margin-bottom:12px}
.printer-details .form-grid{margin-top:15px}
.panel h3{font-size:14px;margin:20px 0 10px}
.panel td select{min-width:150px;max-width:340px;font-size:12px;padding:8px}
/* FIN SIGIA EQUIPOS DE IMPRESION v1.1 */

/* === SIGIA MONITOREO v1.2 === */
.printer-monitor{margin-top:20px;padding:18px;background:#f9fafc;border:1px solid #e3e7ee;border-radius:12px}
.monitor-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0}
.monitor-controls>label:first-child{min-width:205px;max-width:320px;flex:1}
.monitor-controls input[type="text"],.monitor-controls input[name="ip"]{width:100%}
.monitor-toggle{display:flex;align-items:center;gap:7px;min-height:37px;font-size:13px}
.monitor-toggle input{width:16px;height:16px}
.monitor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:15px 0}
.monitor-line{padding:10px 13px;background:#fff;border:1px solid #e6e9ef;border-radius:9px}
.monitor-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:13px}
.monitor-track{height:9px;background:#e8edf2;border-radius:9px;overflow:hidden}
.monitor-fill{height:100%;border-radius:9px}

/* SIGIA v1.3 · Reserva preventiva y resumen de equipos */
.fleet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;margin-top:12px}
.fleet-printer{border:1px solid #e2e5eb;border-radius:11px;padding:12px;background:#fcfcfe;min-width:0}
.fleet-printer h3{margin:0;font-size:14px}.fleet-printer .panel-head{margin-bottom:6px}
.fleet-consumable{display:grid;grid-template-columns:10px 1fr auto auto;align-items:center;gap:8px;padding:6px 0;font-size:12px;border-top:1px solid #eef0f4}
.fleet-color{height:10px;width:10px;border-radius:3px}
.fleet-consumable .pill{font-size:10px}
.preventive-note{font-size:11px;color:#741a37;margin:4px 0 0}

/* === SIGIA INTERFAZ ANALITICA v1.4 === */
.sigia-hero{background:linear-gradient(110deg,#65142e,#8c2845 75%,#9e4b67);color:#fff;border-radius:15px;padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:17px;box-shadow:0 10px 24px rgba(78,18,42,.12)}
.sigia-overline{display:block;letter-spacing:1.4px;color:#f1bdcb;font-weight:800;font-size:10px;margin-bottom:8px}
.sigia-hero h2{font-size:24px;margin:0 0 6px;letter-spacing:-.5px}
.sigia-hero p{color:#f5dde5;font-size:12px;line-height:1.7;margin:0;max-width:560px}
.sigia-hero-btn{background:#fff!important;border-color:#fff!important;color:#6d1631!important}
.sigia-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:19px}
.sigia-kpi{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px 19px;min-width:0;box-shadow:0 2px 14px #1d243006}
.sigia-kpi>span{font-size:12px;color:#637183;font-weight:600;display:block;min-height:30px}
.sigia-kpi b{display:block;color:#203044;font-size:30px;line-height:1.3;margin:4px 0;font-weight:800;font-variant-numeric:tabular-nums}
.sigia-kpi small{color:#8694a2;font-size:10px;line-height:1.5;display:block}
.sigia-kpi-red b{color:#a6384c}.sigia-kpi-gold b{color:#a46e1b}
.sigia-chartgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px;align-items:start}
.sigia-graph-card{min-width:0;padding:22px;margin-bottom:18px}
.sigia-card-title{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;min-height:46px;margin-bottom:18px}
.sigia-card-title h2{font-size:16px;margin:0 0 5px}
.sigia-card-title p{margin:0;color:#82909f;font-size:11px;line-height:1.6}
.sigia-numberpill{color:#741c38;background:#fbedf2;font-size:11px;white-space:nowrap;padding:7px 11px;border-radius:50px;font-weight:800}
.sigia-trend{height:245px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;padding:0 4px 8px;border-bottom:1px solid #e5e9ef}
.sigia-month{display:flex;flex-direction:column;align-items:center;gap:7px;height:100%;min-width:0;font-size:11px;color:#748091}
.sigia-count{margin-top:auto;font-weight:800;font-size:12px;color:#5b273e}
.sigia-column{width:100%;height:166px;background:linear-gradient(to top,#faf0f4,#fff);border-radius:7px;display:flex;align-items:flex-end;overflow:hidden}
.sigia-column>span{display:block;background:linear-gradient(180deg,#a74a69,#711b3b);border-radius:6px 6px 0 0;width:100%;min-height:0;transition:height .2s}
.sigia-dept-graph{display:grid;gap:19px;min-height:220px;align-content:start;padding-top:4px}
.sigia-dept-line{display:grid;grid-template-columns:minmax(90px,1.1fr) minmax(60px,2fr) 28px;align-items:center;gap:10px;font-size:11px}
.sigia-dept-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#506072;font-weight:700}
.sigia-htrack{height:12px;background:#f3e7ec;border-radius:15px;overflow:hidden}
.sigia-htrack>span{height:100%;display:block;border-radius:15px;background:linear-gradient(90deg,#8f2849,#bd7891)}
.sigia-dept-line strong{text-align:right;font-size:12px;color:#711b3b}
.sigia-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 13px;font-size:11px;color:#738092}
.sigia-legend>span{display:flex;gap:6px;align-items:center}
.sigia-dot-have,.sigia-dot-need{width:9px;height:9px;border-radius:2px;background:#367e62;display:inline-block}.sigia-dot-need{background:#bc8d41}
.sigia-warehouse{display:grid;gap:14px}
.sigia-stock-line{border-bottom:1px solid #edf0f3;padding-bottom:12px}
.sigia-stock-line:last-child{border:0}
.sigia-stock-head{display:flex;justify-content:space-between;gap:15px;font-size:11px;align-items:start}
.sigia-stock-head>div{min-width:0}
.sigia-stock-head strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#314057;max-width:335px}
.sigia-stock-head small{display:block;margin-top:4px;color:#909baa}
.sigia-zero{color:#a6384c;font-weight:800;white-space:nowrap}.sigia-ok{color:#327b60;font-weight:800;white-space:nowrap}
.sigia-stock-bar{height:12px;width:100%;display:flex;background:#eff1f4;border-radius:15px;overflow:hidden;margin-top:10px}
.sigia-have{background:#367e62;height:100%}.sigia-need{background:#bc8d41;height:100%}
.sigia-stock-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#7c8795;font-size:10px;margin-top:5px}
.sigia-priority{display:grid;gap:0}
.sigia-priority-item{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf0f3}
.sigia-priority-item strong{display:block;font-size:11px;color:#334258}
.sigia-priority-item small{display:block;color:#8b96a3;margin-top:5px;font-size:10px}
.sigia-priority-item>b{font-size:12px;white-space:nowrap;color:#843254}
.sigia-info-note{margin-top:20px;padding:12px 14px;background:#fbf7f8;border-radius:8px;border-left:3px solid #812b46;color:#82566a;font-size:11px;line-height:1.7}
.sigia-empty{display:grid;place-items:center;min-height:190px;padding:20px;text-align:center;background:#fafbfd;border:1px dashed #dce2e8;border-radius:10px;color:#8a96a4;font-size:12px;line-height:1.8}
@media(max-width:1250px){.sigia-chartgrid{grid-template-columns:1fr}.sigia-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:660px){.sigia-hero{flex-direction:column;align-items:flex-start;padding:22px}.sigia-hero-btn{width:100%}.sigia-kpis{gap:8px}.sigia-kpi{padding:12px}.sigia-kpi b{font-size:24px}.sigia-stock-head strong{max-width:180px}.sigia-card-title{flex-wrap:wrap}}
/* === FIN SIGIA INTERFAZ ANALITICA v1.4 === */

/* === SIGIA SEGUIMIENTO v1.5 === */
.sigia-follow-detail{border:1px solid #e4e8ee;border-radius:12px;margin-top:12px;padding:14px 16px;background:#fff}
.sigia-follow-detail>summary{cursor:pointer;color:#364254;line-height:1.55}
.sigia-follow-detail>summary::marker{color:#791b3b}
.sigia-follow-detail[open]>summary{margin-bottom:12px}
.sigia-follow-detail .table-wrap{margin-top:10px}
.sigia-flow-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.req-receive-form{display:flex;gap:8px;align-items:center}
.req-receive-form input{font:inherit;border:1px solid #d6dee8;border-radius:7px;padding:7px;max-width:85px}
@media (max-width:720px){.req-receive-form{flex-wrap:wrap}.sigia-follow-detail{padding:12px}}
