:root{--bg: #f3f5f7;--surface: #ffffff;--text: #1f2933;--muted: #667085;--line: #e4e8ee;--brand: #0f9d8a;--brand-dark: #0b7a6b;--brand-soft: #e3f5f2;--side: #17212b;--side-text: #c9d3dd;--ok: #1f9d55;--ok-soft: #e5f6ec;--warn: #b97800;--warn-soft: #fff4d6;--bad: #d64545;--bad-soft: #fde8e8;--radius: 14px;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 4px 14px rgba(16, 24, 40, .06)}*,*:before,*:after{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}h1{font-size:1.6rem;margin:0;letter-spacing:-.01em}h2{font-size:1.15rem;margin:0}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid rgba(15,157,138,.45);outline-offset:2px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;flex-wrap:wrap}.sub{color:var(--muted);margin-top:4px}.muted{color:var(--muted);font-size:.875rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.toolbar{padding:16px;border-bottom:1px solid var(--line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid transparent;font-weight:600;cursor:pointer;transition:background .15s,transform .05s;text-decoration:none}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not([disabled]){background:var(--brand-dark)}.btn-ghost{background:transparent;border-color:#d0d5dd;color:var(--text)}.btn-ghost:hover{background:var(--bg)}.btn-peligro{background:transparent;border-color:var(--bad-soft);color:var(--bad)}.btn-peligro:hover{background:var(--bad-soft)}.btn-chico{min-height:36px;padding:0 12px;font-size:.875rem;border-radius:10px}.btn-ancho{width:100%}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:.875rem;font-weight:600;color:#344054}.field input,.field select,.buscador{min-height:46px;padding:0 14px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;width:100%}.field input:focus,.buscador:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 4px #0f9d8a26}.buscador{max-width:420px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:600;white-space:nowrap}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-neutro{background:#eef1f5;color:#475467}.badge-warn{background:var(--warn-soft);color:var(--warn)}.tabla-wrap{overflow-x:auto}.tabla{width:100%;border-collapse:collapse}.tabla th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--line);background:#fafbfc;font-weight:600;white-space:nowrap}.tabla td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.tabla tbody tr:hover{background:#f9fbfb}.tabla tbody tr:last-child td{border-bottom:0}.acciones{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.vacio{padding:48px 16px;text-align:center;color:var(--muted)}.alerta{padding:12px 14px;border-radius:12px;font-size:.9rem;margin-bottom:16px}.alerta-mala{background:var(--bad-soft);color:#9b2c2c}.alerta-buena{background:var(--ok-soft);color:#166534}.drawer-fondo{position:fixed;inset:0;background:#10182873;z-index:50}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--surface);z-index:51;display:flex;flex-direction:column;box-shadow:-8px 0 30px #1018282e;animation:entra .18s ease-out}@keyframes entra{0%{transform:translate(30px);opacity:0}to{transform:none;opacity:1}}.drawer-cab{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.drawer-form{display:flex;flex-direction:column;flex:1;min-height:0}.drawer-cuerpo{padding:22px;overflow-y:auto;flex:1}.drawer-pie{padding:16px 22px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end}.icon-btn{background:none;border:0;font-size:1.2rem;cursor:pointer;padding:8px;border-radius:10px;color:var(--muted)}.icon-btn:hover{background:var(--bg)}.opciones{display:grid;gap:10px}.opcion{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid #d0d5dd;border-radius:12px;cursor:pointer}.opcion.sel{border-color:var(--brand);background:var(--brand-soft)}.opcion input{margin-top:4px;accent-color:var(--brand)}.opcion small{display:block;color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.buscador-caja{position:relative;flex:1 1 280px;max-width:420px}.buscador-caja app-icono{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.buscador-caja .buscador{padding-left:42px}.tabs{display:inline-flex;gap:4px;padding:4px;background:var(--bg);border-radius:12px}.tab{border:0;background:transparent;padding:8px 14px;border-radius:9px;font-weight:600;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:36px}.tab.sel{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #1018281a}.tab .cuenta{background:#e4e8ee;color:#475467;border-radius:999px;padding:0 8px;font-size:.78rem}.tab.sel .cuenta{background:var(--brand-soft);color:var(--brand-dark)}.fila-inactiva td{color:var(--muted)}.fila-inactiva strong{color:#475467}.field.con-error input{border-color:var(--bad)}.field.con-error input:focus{box-shadow:0 0 0 4px #d6454526}.msg-error{color:var(--bad);font-size:.85rem}.req{color:var(--bad)}.icon-btn{display:grid;place-items:center}.btn app-icono{margin-left:-2px}.caja-clave{position:relative}.caja-clave input{padding-right:54px}.ver-clave{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:none;border-radius:10px;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s}.ver-clave:hover{background:var(--bg);color:var(--text)}.barra{height:12px;background:#e4e8ee;border-radius:999px;overflow:hidden}.barra>span{display:block;height:100%;background:var(--brand);border-radius:999px;transition:width .4s}.barra-grande{height:18px}.badge-mal{background:var(--bad-soft);color:var(--bad)}.badge-amar{background:var(--warn-soft);color:var(--warn)}
