:root{--text:#64748b;--text-h:#0f172a;--bg:#f8fafc;--bg-card:#fff;--border:#e2e8f0;--accent:#6366f1;--accent-light:#818cf8;--accent-gradient:linear-gradient(135deg, #6366f1, #8b5cf6);--accent-bg:#6366f114;--accent-border:#6366f159;--danger:#ef4444;--success:#22c55e;--warning:#f59e0b;--shadow-sm:0 1px 2px #0000000a;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--radius:10px;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--heading:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "Cascadia Code", Consolas, monospace;font:16px/1.6 var(--sans);letter-spacing:.15px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#94a3b8;--text-h:#f1f5f9;--bg:#0b0d15;--bg-card:#131620;--border:#1e2231;--accent:#818cf8;--accent-light:#a5b4fc;--accent-gradient:linear-gradient(135deg, #6366f1, #a855f7);--accent-bg:#6366f11a;--accent-border:#818cf859;--shadow-sm:0 1px 2px #0003;--shadow:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #0000004d;--radius:10px}}body{background:var(--bg);margin:0}#root{text-align:left;box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2,h3,h4{font-family:var(--heading);color:var(--text-h);font-weight:600;line-height:1.3}h1{letter-spacing:-.5px;margin:0 0 4px;font-size:28px}h2{letter-spacing:-.3px;margin:0 0 8px;font-size:20px}p{margin:0}code{font-family:var(--mono);background:var(--accent-bg);color:var(--accent);border-radius:5px;padding:3px 8px;font-size:13px}.breadcrumb{border-bottom:1px solid var(--border);background:var(--bg-card);text-align:left;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb, var(--bg-card) 85%, transparent);padding:16px 32px;position:sticky;top:0}.breadcrumb ol{align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li{align-items:center;gap:6px;font-size:13px;display:flex}.breadcrumb li+li:before{content:"/";color:var(--text);opacity:.5;font-size:12px}.breadcrumb a{color:var(--accent);font-weight:500;text-decoration:none;transition:color .15s}.breadcrumb a:hover{color:var(--accent-light)}.breadcrumb span[aria-current=page]{color:var(--text-h);font-weight:600}.page{text-align:left;flex:1;padding:32px}.page-header{margin-bottom:28px}.page-header p{color:var(--text);font-size:14px}.stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:32px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px 24px;transition:box-shadow .2s,transform .2s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card .stat-icon{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:12px;font-size:18px;display:flex}.stat-card .stat-icon.purple{background:var(--accent-bg);color:var(--accent)}.stat-card .stat-icon.green{color:var(--success);background:#22c55e1a}.stat-card .stat-icon.orange{color:var(--warning);background:#f59e0b1a}.stat-card .stat-icon.blue{color:#3b82f6;background:#3b82f61a}.stat-card .stat-value{color:var(--text-h);font-size:26px;font-weight:700;line-height:1.2}.stat-card .stat-label{color:var(--text);margin-top:2px;font-size:13px}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card h3{margin:0 0 6px;font-size:16px}.card p{color:var(--text);margin-bottom:16px;font-size:13px;line-height:1.5}.card a{color:var(--accent);align-items:center;gap:6px;font-size:13px;font-weight:600;text-decoration:none;transition:gap .2s;display:inline-flex}.card a:hover{gap:10px}.card a:after{content:"→";font-size:14px}.actions{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.btn{background:var(--accent-gradient);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 22px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .2s,transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 2px 8px #6366f140}.btn:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 4px 14px #6366f159}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-outline{color:var(--accent);border:1.5px solid var(--accent-border);box-shadow:none;background:0 0}.btn-outline:hover{background:var(--accent-bg);box-shadow:none}.btn-danger{background:var(--danger);box-shadow:0 2px 8px #ef444440}.btn-danger:hover{box-shadow:0 4px 14px #ef444459}.btn-sm{padding:6px 14px;font-size:12px}.table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}table{border-collapse:collapse;width:100%;font-size:13.5px}thead{background:var(--accent-bg)}th{text-align:left;color:var(--text-h);text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border);color:var(--text);padding:12px 16px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--accent-bg)}td .actions-cell{align-items:center;gap:8px;display:flex}.link-btn{font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.link-btn.edit{color:var(--accent)}.link-btn.edit:hover{background:var(--accent-bg)}.link-btn.delete{color:var(--danger)}.link-btn.delete:hover{background:#ef444414}.estado-badge{text-transform:capitalize;border-radius:20px;align-items:center;gap:5px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.estado-badge:before{content:"";border-radius:50%;width:6px;height:6px}.estado-badge.activo{color:var(--success);background:#22c55e1a}.estado-badge.activo:before{background:var(--success)}.estado-badge.inactivo{color:var(--danger);background:#ef444414}.estado-badge.inactivo:before{background:var(--danger)}.empty-state{text-align:center;color:var(--text);padding:48px 24px}.empty-state .empty-icon{opacity:.4;margin-bottom:12px;font-size:48px}.empty-state p{font-size:14px}.form-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);max-width:560px;box-shadow:var(--shadow-sm);padding:28px 32px}.form{flex-direction:column;gap:18px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:5px;display:flex}.form-group label{color:var(--text-h);font-size:13px;font-weight:600}.form-group .hint{color:var(--text);font-size:11px;font-weight:400}.form input,.form select,.form textarea{border:1.5px solid var(--border);font-size:13.5px;font-family:var(--sans);background:var(--bg);color:var(--text-h);border-radius:8px;padding:10px 14px;transition:border-color .15s,box-shadow .15s}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.form input::placeholder{color:var(--text);opacity:.5}.form textarea{resize:vertical;min-height:80px}.loading{color:var(--text);justify-content:center;align-items:center;gap:10px;padding:64px 32px;font-size:14px;display:flex}.spinner{border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{color:var(--danger);background:#ef444414;border:1px solid #ef444433;border-radius:8px;padding:12px 16px;font-size:13px;font-weight:500}
