:root{--naranja: #f89a14;--naranja-osc: #e08a00;--turquesa: #00aea6;--turquesa-osc: #00968f;--verde-noche: #0f2e2c;--verde-noche-2: #164240;--bg: #f6f5f1;--surface: #ffffff;--ink: #1d2422;--ink-2: #4c5754;--muted: #7d8784;--line: #e4e2db;--line-2: #efede7;--pos: #0b7a55;--neg: #b23a2b;--radius: 10px;--shadow: 0 1px 2px rgba(15, 46, 44, .06), 0 4px 16px rgba(15, 46, 44, .05);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select{font:inherit;color:inherit}.app{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.sidebar{background:var(--verde-noche);color:#e8efed;padding:18px 12px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px}.logotipo{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}.logotipo-nombre{font-weight:700;font-size:18px;letter-spacing:.2px}.logotipo-sub{font-size:11px;color:#9fb7b3;text-transform:uppercase;letter-spacing:.8px}.nav-grupo{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:#7fa09b;padding:14px 10px 6px}.nav a{display:flex;align-items:center;gap:10px;text-decoration:none;padding:8px 10px;border-radius:8px;color:#d5e2df;font-size:13.5px}.nav a:hover{background:var(--verde-noche-2)}.nav a.active{background:var(--verde-noche-2);color:#fff;box-shadow:inset 3px 0 0 var(--naranja)}.nav .num{font-variant-numeric:tabular-nums;font-size:11px;color:#7fa09b;width:18px}.nav .pronto{margin-left:auto;font-size:10px;color:var(--naranja)}.sidebar-pie{margin-top:auto;font-size:11.5px;color:#9fb7b3;padding:8px 10px;line-height:1.5}.main{padding:22px 28px 60px;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-head h1{margin:0;font-size:22px;letter-spacing:-.2px}.page-head .sub{color:var(--muted);margin-top:4px;font-size:13px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.card h2{font-size:14px;margin:0 0 12px;font-weight:650}.card+.card{margin-top:16px}.grid>.card+.card{margin-top:0}.grid{display:grid;gap:16px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 1100px){.g4{grid-template-columns:repeat(2,1fr)}.g3,.g2{grid-template-columns:1fr}}.kpi .label{font-size:12px;color:var(--muted)}.kpi .valor{font-size:24px;font-weight:700;margin-top:6px;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.kpi .pie{font-size:12px;color:var(--ink-2);margin-top:4px}.kpi{border-top:3px solid var(--turquesa)}.kpi.acento{border-top-color:var(--naranja)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}.seg button{border:0;background:transparent;padding:6px 11px;cursor:pointer;font-size:13px;color:var(--ink-2)}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--verde-noche);color:#fff}.btn{border:1px solid var(--line);background:var(--surface);padding:6px 12px;border-radius:8px;cursor:pointer;font-size:13px}.btn:hover{border-color:var(--turquesa)}.btn.prim{background:var(--turquesa-osc);color:#fff;border-color:var(--turquesa-osc)}.btn.peligro{color:var(--neg)}.btn.mini{padding:2px 7px;font-size:12px}select,input[type=text],input[type=number],input[type=date],input[type=email],input[type=password],input[type=month]{border:1px solid var(--line);border-radius:7px;padding:6px 8px;background:var(--surface)}input:focus,select:focus{outline:2px solid color-mix(in srgb,var(--turquesa) 40%,transparent);border-color:var(--turquesa)}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;-webkit-user-select:none;user-select:none}.switch input{accent-color:var(--turquesa-osc);width:16px;height:16px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap}.tabs button{border:0;background:none;padding:9px 12px;cursor:pointer;color:var(--ink-2);border-bottom:2px solid transparent;font-size:13.5px}.tabs button.on{color:var(--ink);border-bottom-color:var(--naranja);font-weight:600}.chip{display:inline-block;font-size:11px;padding:2px 8px;border-radius:99px;background:var(--line-2);color:var(--ink-2)}.chip.ok{background:#e3f4ee;color:var(--pos)}.chip.warn{background:#fdf0dc;color:#8a5300}.chip.modelo{background:#e0f5f3;color:var(--turquesa-osc)}.tabla-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-height:calc(100vh - 210px)}table.t{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px;font-variant-numeric:tabular-nums}table.t th,table.t td{padding:6px 10px;border-bottom:1px solid var(--line-2);white-space:nowrap}table.t thead th{position:sticky;top:0;background:#faf9f6;z-index:2;text-align:right;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--line)}table.t th.l,table.t td.l{text-align:left}table.t td{text-align:right}table.t .stick{position:sticky;left:0;background:var(--surface);z-index:1;text-align:left}table.t thead .stick{z-index:3;background:#faf9f6}table.t tr.sec td{background:#f3f1ea;font-weight:700;color:var(--verde-noche)}table.t tr.sec td.stick{background:#f3f1ea}table.t tr.tot td{font-weight:700;border-top:1px solid var(--line);background:#fbfaf7}table.t tr.tot td.stick{background:#fbfaf7}table.t tr.det td{color:var(--ink-2);font-size:12px}table.t tr.det td.stick{padding-left:34px}table.t tr.clic{cursor:pointer}table.t tr.clic:hover td{background:#fbf6ec}table.t tr.res td{font-weight:700;background:var(--verde-noche);color:#fff}table.t tr.res td.stick{background:var(--verde-noche)}.neg{color:var(--neg)}.pos{color:var(--pos)}table.t tr.res td.neg{color:#ffb4a8}table.t td input,table.t td select{width:100%;min-width:70px;padding:3px 6px;font-size:12.5px;border-color:transparent;background:transparent}table.t td input:hover,table.t td select:hover{border-color:var(--line);background:#fff}table.t td input[type=number]{text-align:right}table.t td select{min-width:96px}table.t td input[type=date]{min-width:130px}.ff-id{color:var(--muted);font-size:11px;width:34px;display:inline-block}.nota{font-size:12px;color:var(--muted);line-height:1.55}.aviso{background:#fdf6e8;border:1px solid #f3dfb8;color:#6b4a10;border-radius:var(--radius);padding:10px 14px;font-size:13px;margin-bottom:14px}.vacio{padding:40px;text-align:center;color:var(--muted)}.pronto-card{max-width:760px}.pronto-card li{margin:6px 0;line-height:1.5}.slider{display:grid;grid-template-columns:150px 1fr 56px;align-items:center;gap:10px;margin:6px 0;font-size:13px}.slider input{accent-color:var(--naranja-osc);width:100%}.slider b{text-align:right;font-variant-numeric:tabular-nums}.heat td{font-weight:600}.login{min-height:100vh;display:grid;place-items:center;background:var(--verde-noche)}.login .card{width:360px}.login .card input{width:100%;margin-top:6px}.leyenda{display:flex;gap:14px;font-size:12px;color:var(--ink-2);margin-bottom:6px}.leyenda i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
