:root{--tinta: #1c2b2d;--suave: #5c6b6d;--borde: #dde4e4;--fondo: #f4f6f6;--carta: #ffffff;--ok: #1c7c43;--est: #a06a00;--pv: #b3261e}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;background:var(--fondo);color:var(--tinta)}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px 28px;background:var(--carta);border-top:5px solid #0f3d3e;border-bottom:1px solid var(--borde)}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:38px;height:38px;border-radius:9px;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px}.brand-name{font-weight:700;font-size:18px}.brand-sub{font-size:12px;color:var(--suave)}.nav{display:flex;gap:4px;flex-wrap:wrap}.nav-btn{border:none;background:none;padding:8px 13px;border-radius:8px;font-size:14px;color:var(--suave);cursor:pointer;display:flex;align-items:center;gap:6px}.nav-btn:hover{background:var(--fondo)}.nav-btn.activo{background:#0f3d3e;color:#fff}.pill{background:var(--est);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px}.pill-alta{background:var(--pv)}.main{flex:1;max-width:1180px;width:100%;margin:0 auto;padding:26px 22px 40px}.footer{padding:16px 28px;font-size:12px;color:var(--suave);border-top:1px solid var(--borde);background:var(--carta)}h1{font-size:22px;margin:4px 0 14px}h2{font-size:16px;margin:0}h3{font-size:14px;margin:0 0 6px}.hero h1{font-size:26px;margin-bottom:6px}.hero p{color:var(--suave);max-width:760px}.stats{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.stat{background:var(--carta);border:1px solid var(--borde);border-radius:12px;padding:14px 20px;display:flex;flex-direction:column;min-width:150px}.stat-num{font-size:22px;font-weight:700}.stat span:last-child{font-size:12px;color:var(--suave)}.stat-alerta{border-color:var(--pv)}.pasos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px}.paso{text-align:left;background:var(--carta);border:1px solid var(--borde);border-radius:12px;padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.paso:hover{border-color:#0f3d3e}.paso-n{font-size:12px;font-weight:700;color:#0f3d3e}.paso-t{font-weight:600}.paso-d{font-size:12.5px;color:var(--suave)}.card{background:var(--carta);border:1px solid var(--borde);border-radius:14px;padding:18px 20px;margin-bottom:18px}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.lista{margin:0;padding-left:18px;line-height:1.65;font-size:14px}.lista.verde li::marker{color:var(--ok)}.lista.gris{color:var(--suave)}.dos-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}@media (max-width: 800px){.dos-col{grid-template-columns:1fr}}table{width:100%;border-collapse:collapse;font-size:13.5px;margin:10px 0}th{text-align:left;font-size:12px;color:var(--suave);font-weight:600;padding:7px 8px;border-bottom:2px solid var(--borde)}td{padding:7px 8px;border-bottom:1px solid var(--borde);vertical-align:middle}.fila-total td{font-weight:700;border-top:2px solid var(--borde)}input,select{font:inherit;padding:6px 8px;border:1px solid var(--borde);border-radius:7px;background:#fff;color:var(--tinta);max-width:100%}input:focus,select:focus{outline:2px solid #0f3d3e33;border-color:#0f3d3e}input[type=checkbox]{accent-color:#0f3d3e}input[type=number]{width:110px}.w70{width:70px}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:12px;font-weight:600;color:var(--suave)}.field-hint{font-size:11.5px;color:var(--suave)}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:8px}.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.btn{background:#0f3d3e;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:14px;cursor:pointer}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sec{background:#fff;color:#0f3d3e;border:1px solid #0f3d3e}.btn-x{background:none;border:none;color:var(--pv);cursor:pointer;font-size:14px}.btn-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}.addform{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed var(--borde)}.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px}.tab{border:1px solid var(--borde);background:#fff;border-radius:999px;padding:7px 15px;font-size:13.5px;cursor:pointer;color:var(--suave)}.tab.activo{background:#0f3d3e;color:#fff;border-color:#0f3d3e}.badge{font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap}.badge.ok{background:#e2f3e8;color:var(--ok)}.badge.est{background:#fbeed3;color:var(--est)}.badge.pv{background:#fbdedd;color:var(--pv)}.nota{font-size:13px;color:var(--suave)}.nota.warn{color:var(--pv)}.ok-big{color:var(--ok);font-size:15px}.faltante{font-size:11.5px;color:var(--pv)}.checks{display:flex;flex-direction:column;gap:2px;max-height:90px;overflow:auto;min-width:190px}.check{font-size:12px;display:flex;gap:5px;align-items:center}.factores{display:grid;grid-template-columns:repeat(2,auto);gap:4px 10px}.factores label{font-size:11px;display:flex;flex-direction:column;gap:2px;color:var(--suave)}.factores input{width:64px;padding:3px 5px;font-size:12px}.partida-head{width:100%;background:none;border:none;display:flex;align-items:baseline;gap:14px;cursor:pointer;padding:0 0 8px;font:inherit;text-align:left}.partida-titulo{font-weight:700;font-size:15px}.partida-resumen{font-size:12.5px;color:var(--suave);flex:1}.chev{color:var(--suave)}.total-partida{font-size:17px}.und{font-size:12px;font-weight:400;color:var(--suave)}.partida-body{border-top:1px dashed var(--borde);padding-top:12px}.cascada{max-width:560px;margin-top:14px;border:1px solid var(--borde);border-radius:10px;overflow:hidden}.fila-calc{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;font-size:13.5px;border-bottom:1px solid var(--borde)}.fila-calc.total{background:#0f3d3e;color:#fff;font-size:15px}.fila-calc span:first-child{color:inherit;opacity:.85}.mini-controles{display:flex;gap:6px;align-items:center}.alerta{border:1px solid var(--borde);border-left-width:5px;border-radius:10px;background:#fff;padding:12px 16px;margin-bottom:10px}.alerta-alta{border-left-color:var(--pv)}.alerta-media{border-left-color:var(--est)}.alerta-info{border-left-color:#2a6fb0}.alerta-titulo{font-weight:700;font-size:14px;margin-bottom:3px}.alerta-detalle{font-size:13px;color:var(--suave)}.swatches{display:flex;gap:8px}.swatch{width:34px;height:34px;border-radius:8px;border:2px solid transparent;cursor:pointer}.swatch.sel{border-color:var(--tinta)}.doc-wrap{background:#e7ebeb;padding:26px 12px;border-radius:14px}.doc{max-width:850px;margin:0 auto;background:#fff;box-shadow:0 3px 18px #0000001f;border-radius:6px;overflow:hidden}.doc-head{color:#fff;padding:26px 34px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.doc-empresa{font-size:20px;font-weight:700}.doc-rif{font-size:12.5px;opacity:.85}.doc-meta{text-align:right;font-size:13px}.doc-meta div:first-child{font-size:16px;font-weight:700}.doc-emitido{font-size:11.5px;opacity:.85;margin-top:4px}.doc-borrador{display:inline-block;margin-top:5px;font-size:11px;font-weight:700;border:1.5px solid #fff;padding:2px 8px;border-radius:5px;letter-spacing:1px}.doc-body{padding:26px 34px 34px}.doc-cliente{font-size:14px}.doc-tabla{font-size:13px}.doc-totales{display:flex;flex-direction:column;gap:4px;align-items:flex-end;margin:14px 0 22px;font-size:14px}.doc-totales div{display:flex;gap:18px}.doc-totales div:first-child{font-size:17px}.doc-sub{margin-top:10px}.doc-cond{font-size:12.5px;color:var(--suave);margin-top:18px}.doc-nota{font-size:12px;color:var(--suave);border-top:1px solid var(--borde);padding-top:12px}.doc-estados{display:flex;gap:8px;align-items:center;font-size:11.5px;color:var(--suave);margin-top:10px;flex-wrap:wrap}@media print{.topbar,.footer{display:none}.main{padding:0;max-width:none}.doc-wrap{background:#fff;padding:0}.doc{box-shadow:none;max-width:none}}
