:root{--bg: #0b1020;--bg2: #101729;--panel: #151e33;--panel2: #1a2440;--border: rgba(148, 163, 184, .14);--text: #e6ebf5;--muted: #8b98b3;--accent: #f43f5e;--accent2: #fb7185;--verde: #34d399;--rojo: #f87171;--amarillo: #fbbf24;--azul: #60a5fa;--violeta: #a78bfa;--radius: 14px;--sombra: 0 10px 30px rgba(0, 0, 0, .35)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif;background:radial-gradient(900px 500px at 85% -10%,rgba(244,63,94,.1),transparent 60%),radial-gradient(700px 500px at -10% 110%,rgba(96,165,250,.08),transparent 55%),var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.88rem;color:var(--muted)}.ok{color:var(--verde);margin:10px 0}.error{color:var(--rojo);background:#f871711a;border:1px solid rgba(248,113,113,.3);padding:10px 14px;border-radius:10px;margin:10px 0}.login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.login-card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--border);border-radius:20px;padding:36px;width:100%;max-width:400px;box-shadow:var(--sombra)}.login .logo{width:64px;height:64px;border-radius:18px;margin:0 auto 16px;background:linear-gradient(135deg,var(--accent),#b91c1c);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #f43f5e59}.login h1{text-align:center;font-size:1.5rem;letter-spacing:.3px}.login p{text-align:center;color:var(--muted);margin:6px 0 24px}.login form{display:flex;flex-direction:column;gap:12px}.login button{margin-top:6px}.app{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 14px;position:sticky;top:0;height:100vh}.sidebar .brand{display:flex;align-items:center;gap:12px;padding:6px 10px 22px}.sidebar .brand .logo-mini{width:38px;height:38px;border-radius:11px;flex-shrink:0;background:linear-gradient(135deg,var(--accent),#b91c1c);display:flex;align-items:center;justify-content:center}.sidebar .brand strong{font-size:1rem;line-height:1.2}.sidebar .brand small{display:block;color:var(--muted);font-weight:400}.nav{display:flex;flex-direction:column;gap:4px;flex:1}.nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:var(--muted);font-size:.93rem;transition:background .15s,color .15s}.nav a:hover{background:#94a3b814;color:var(--text)}.nav a.activo{background:#f43f5e21;color:#fff}.nav a.activo svg{color:var(--accent2)}.nav svg{width:18px;height:18px;flex-shrink:0}.sidebar .userbox{border-top:1px solid var(--border);padding:14px 8px 4px;display:flex;align-items:center;gap:10px}.sidebar .avatar{width:36px;height:36px;border-radius:50%;background:#60a5fa2e;color:var(--azul);display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.sidebar .userbox .uinfo{flex:1;min-width:0}.sidebar .userbox .uinfo div{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar .userbox small{color:var(--muted);display:block}.sidebar .userbox .salir{display:flex;align-items:center;gap:6px;color:var(--muted);padding:6px 8px;border-radius:8px;font-size:.85rem}.sidebar .userbox .salir:hover{color:var(--rojo);background:#f871711a}.sidebar .userbox .salir svg{width:16px;height:16px}.main{flex:1;padding:30px 34px;min-width:0}.page-title{margin-bottom:22px}.page-title h2{font-size:1.45rem;letter-spacing:.2px}.page-title p{color:var(--muted);font-size:.9rem;margin-top:4px}.tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--border);border-radius:var(--radius);padding:20px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--acento, var(--accent))}.card h3{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:1.2px;font-weight:600}.card p{font-size:1.9rem;font-weight:700;margin-top:10px;letter-spacing:.3px}.card .sub{font-size:.8rem;color:var(--muted);margin-top:6px;font-weight:400}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:1.1px;color:var(--muted);font-weight:600;padding:14px 18px;border-bottom:1px solid var(--border);background:#94a3b80a}tbody td{padding:13px 18px;border-bottom:1px solid var(--border);font-size:.92rem}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#94a3b80d}table .acciones{text-align:right;white-space:nowrap}.vacio{padding:34px;text-align:center;color:var(--muted)}.badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.8px;background:#94a3b81f;color:var(--muted)}.badge.verde{background:#34d39921;color:var(--verde)}.badge.rojo{background:#f8717121;color:var(--rojo)}.badge.amarillo{background:#fbbf2421;color:var(--amarillo)}.badge.azul{background:#60a5fa21;color:var(--azul)}.badge.violeta{background:#a78bfa24;color:var(--violeta)}.fila{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px;align-items:center}input,select{background:var(--bg2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px 14px;font-size:.92rem;width:100%}input::placeholder{color:var(--muted)}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f43f5e2e}.search{max-width:340px;margin-bottom:18px;position:relative}.search input{padding-left:40px}.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted)}button{background:linear-gradient(135deg,var(--accent),#c81e42);color:#fff;border:none;border-radius:10px;padding:11px 18px;font-size:.9rem;font-weight:600;cursor:pointer;transition:filter .15s,transform .05s;letter-spacing:.2px}button:hover{filter:brightness(1.12)}button:active{transform:scale(.98)}button.sec{background:#94a3b824;color:var(--text)}button.sec:hover{background:#94a3b838}button.peligro{background:#f8717124;color:var(--rojo)}button.peligro:hover{background:#f8717140}button.chip{padding:8px 15px;font-size:.82rem;border-radius:999px}button.chip.on{background:#f43f5e29;color:var(--accent2);box-shadow:inset 0 0 0 1px #f43f5e66}.tools{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.tools .totalpill{margin-left:auto;background:#34d3991f;color:var(--verde);padding:9px 18px;border-radius:999px;font-weight:700;font-size:.9rem}table button{padding:7px 13px;font-size:.8rem;margin-left:8px}@media (max-width: 860px){.app{flex-direction:column}.sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;padding:12px 16px;gap:10px}.sidebar .brand{padding:0}.nav{flex-direction:row;overflow-x:auto}.nav a{white-space:nowrap;padding:8px 12px}.sidebar .userbox{border-top:none;padding:0 0 0 6px}.main{padding:20px 16px}thead th,tbody td{padding:10px 12px}}
