:root{--primary: #2563eb;--primary-dark: #1d4ed8;--success: #16a34a;--danger: #dc2626;--warning: #f59e0b;--bg: #f8fafc;--card: #ffffff;--text: #1e293b;--text-muted: #64748b;--border: #e2e8f0;--radius: 8px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.layout{display:flex;min-height:100vh}.sidebar{width:250px;background:var(--text);color:#fff;padding:1.5rem;display:flex;flex-direction:column}.sidebar h1{font-size:1.25rem;margin-bottom:2rem;color:#fff}.sidebar nav{display:flex;flex-direction:column;gap:.5rem}.sidebar a{color:#cbd5e1;padding:.5rem .75rem;border-radius:var(--radius);transition:all .2s;text-decoration:none;display:flex;align-items:center;gap:.5rem}.sidebar a:hover,.sidebar a.active{background:#ffffff1a;color:#fff;text-decoration:none}.main-content{flex:1;padding:2rem;overflow-y:auto}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem;margin-bottom:1.5rem}.card h2{font-size:1.1rem;margin-bottom:1rem;color:var(--text)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.stat-card .label{font-size:.85rem;color:var(--text-muted);margin-bottom:.25rem}.stat-card .value{font-size:1.75rem;font-weight:700;color:var(--primary)}.stat-card .value.success{color:var(--success)}.stat-card .value.danger{color:var(--danger)}.stat-card .value.warning{color:var(--warning)}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.75rem;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}tr:hover td{background:#f1f5f9}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem;color:var(--text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.btn:hover{text-decoration:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#15803d}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-outline:hover{background:#f1f5f9}.btn-sm{padding:.25rem .5rem;font-size:.8rem}.badge{display:inline-block;padding:.15rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-success{background:#dcfce7;color:#166534}.badge-danger{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap{gap:1rem}.mb{margin-bottom:1rem}.mt{margin-top:1rem}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.busqueda{margin-bottom:1rem}.busqueda input{width:100%;max-width:400px;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem}.loading{text-align:center;padding:3rem;color:var(--text-muted)}.error{background:#fee2e2;color:#991b1b;padding:.75rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.875rem}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.toolbar h2{margin:0}.action-buttons{display:flex;gap:.5rem}
