:root{--violeta: #7c3aed;--violeta-oscuro: #5b21b6;--violeta-claro: #a78bfa;--fondo: #0d0d0f;--superficie: #1f1f23;--superficie-alta: #2a2a30;--borde: #35353d;--texto: #f5f5f5;--gris: #9a9aa4;--verde: #22c55e;--ambar: #f59e0b;--rojo: #ef4444;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--fondo);color:var(--texto);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}a{color:var(--violeta-claro)}.barra{display:flex;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--borde);background:var(--superficie);position:sticky;top:0;z-index:10}.barra img{height:26px}.barra .titulo{font-weight:600;letter-spacing:.2px}.barra .espacio{flex:1}.contenido{max-width:1000px;margin:0 auto;padding:24px 20px 60px}.ingreso{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.ingreso form{width:100%;max-width:360px;background:var(--superficie);border:1px solid var(--borde);border-radius:16px;padding:28px;text-align:center}.ingreso img{height:34px;margin-bottom:8px}.ingreso p{color:var(--gris);font-size:14px;margin:0 0 20px}input,textarea,select{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--borde);background:var(--fondo);color:var(--texto);font:inherit}input:focus,textarea:focus{outline:2px solid var(--violeta);outline-offset:1px}label{display:block;text-align:left;font-size:13px;color:var(--gris);margin:12px 0 4px}button{font:inherit;font-weight:600;border:none;border-radius:10px;padding:11px 18px;cursor:pointer;background:var(--violeta);color:#fff}button:hover:not(:disabled){background:var(--violeta-oscuro)}button:disabled{opacity:.5;cursor:default}button.secundario{background:var(--superficie-alta);color:var(--texto)}button.texto{background:none;color:var(--gris);padding:8px 10px;font-weight:500}button.peligro{background:none;color:var(--rojo);padding:6px 8px;font-size:13px;font-weight:500}.tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:22px}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:14px;padding:16px 18px}.tarjeta.destacada{border-color:var(--ambar)}.tarjeta .rotulo{font-size:13px;color:var(--gris)}.tarjeta .valor{font-size:24px;font-weight:700;margin-top:4px}.tarjeta .pie{font-size:12px;color:var(--gris);margin-top:4px}.caja{background:var(--superficie);border:1px solid var(--borde);border-radius:14px;padding:18px;margin-bottom:18px}.caja h2{margin:0 0 14px;font-size:16px}.tabla-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--gris);font-weight:600;padding:0 12px 8px 0;border-bottom:1px solid var(--borde);white-space:nowrap}td{padding:11px 12px 11px 0;border-bottom:1px solid rgba(255,255,255,.05);white-space:nowrap}tr:last-child td{border-bottom:none}tr.clickeable{cursor:pointer}tr.clickeable:hover td{background:var(--superficie-alta)}.etiqueta{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.etiqueta.pagada{background:#22c55e26;color:#4ade80}.etiqueta.parcial{background:#f59e0b26;color:#fbbf24}.etiqueta.pendiente{background:#ef444426;color:#f87171}.etiqueta.encurso{background:#ffffff12;color:var(--gris)}.aviso{border:1px solid var(--ambar);background:#f59e0b1a;border-radius:12px;padding:14px 16px;margin-bottom:18px;font-size:14px}.error{border:1px solid var(--rojo);background:#ef44441a;border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:14px}.vacio{color:var(--gris);font-size:14px}.fondo-modal{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.modal{width:100%;max-width:420px;background:var(--superficie);border:1px solid var(--borde);border-radius:16px;padding:22px}.modal h2{margin:0 0 6px;font-size:18px}.modal .sub{color:var(--gris);font-size:13px;margin:0 0 8px}.acciones{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.fila-pago{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}.fila-pago:last-child{border-bottom:none}.fila-pago .monto{font-weight:600}.fila-pago .detalle{color:var(--gris);font-size:13px}.fila-pago .crece{flex:1;min-width:0}
