*,:before,:after{box-sizing:border-box}:root{--bg:#0a0a0f;--bg-card:#14141d;--bg-card-hover:#1a1a26;--bg-input:#1a1a26;--border:#2a2a3a;--purple:#8b5cf6;--purple-dark:#7c3aed;--purple-light:#a78bfa;--text:#e5e5ea;--text-muted:#9b9ba8;--danger:#f87171;--danger-bg:#2a1518;--success:#34d399;--warning:#fbbf24}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,sans-serif}h1{color:var(--text);margin:0 0 20px}.btn{cursor:pointer;border:none;border-radius:4px;padding:6px 14px;font-size:14px}.btn-primary{background:linear-gradient(90deg, var(--purple-dark), var(--purple));color:#fff}.btn-primary:hover{filter:brightness(1.15)}.btn-secondary{background:var(--bg-input);color:var(--text);border:1px solid var(--border)}.btn-edit{color:var(--purple-light);background:#8b5cf62e;margin-right:4px}.btn-edit:hover{background:#8b5cf64d}.btn-delete{background:var(--danger-bg);color:var(--danger)}td .actions-row{gap:6px;display:flex}td .actions-row+.actions-row{margin-top:5px}table{border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;width:100%;overflow:hidden}th{text-align:left;color:var(--text-muted);border-bottom:2px solid var(--purple);background:#1c1c2a;padding:10px 12px;font-size:13px}td{color:var(--text);border-bottom:1px solid #24242f;padding:10px 12px;font-size:14px}tr:hover{background:var(--bg-card-hover)}.empty{text-align:center;color:var(--text-muted);padding:24px}.form-row{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;padding:16px;display:flex}.form-row label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.form-row input,.form-row select{border:1px solid var(--border);background:var(--bg-input);color:var(--text);border-radius:4px;padding:6px 10px;font-size:14px}.form-row input:focus,.form-row select:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 2px #8b5cf640}.form-row label.field-inline{flex-direction:row;align-items:center;gap:8px}.form-row input::placeholder{color:#9b9ba88c}.error{background:var(--danger-bg);color:var(--danger);border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:14px}.page-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px;display:grid}.stat-card{background:var(--bg-card);text-align:center;border:1px solid var(--border);border-top:3px solid var(--purple);border-radius:6px;padding:20px}.stat-card h3{color:var(--text-muted);text-transform:uppercase;margin:0 0 8px;font-size:13px}.stat-card p{color:var(--purple-light);margin:0;font-size:32px;font-weight:700}.status{border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600}.status-pendiente{color:var(--purple-light);background:#8b5cf62e}.status-en-curso,.status-entrada{color:var(--warning);background:#fbbf2426}.status-finalizada,.status-salida,.status-vigente{color:var(--success);background:#34d39926}.status-por-vencer{color:var(--warning);background:#fbbf2426}.status-vencido{color:var(--danger);background:#f8717126}.flow{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;margin-top:16px;padding:16px 20px}.flow h3{color:var(--purple-light);text-transform:uppercase;letter-spacing:1px;margin:0 0 12px;font-size:14px}.flow-steps{flex-wrap:wrap;align-items:stretch;gap:12px;display:flex}.flow-step{background:var(--bg-input);border:1px solid var(--border);border-top:3px solid var(--purple);border-radius:6px;flex:1;min-width:200px;padding:12px}.flow-step strong{color:var(--text);margin-bottom:6px;display:block}.flow-step span{color:var(--text-muted);font-size:13px}.flow-arrow{color:var(--purple);align-self:center;font-size:22px}.status-legend{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<=768px){.main{padding:12px}.page-header{flex-wrap:wrap;gap:10px}.form-row{flex-direction:column;align-items:stretch}.form-row label{width:100%}.form-row label.field-inline{flex-direction:row}.stats{grid-template-columns:repeat(2,1fr)}.flow-steps{flex-direction:column}}@media (width<=480px){.stats{grid-template-columns:1fr}th,td{white-space:nowrap}}.header{color:#fff;border-bottom:2px solid var(--purple);background:linear-gradient(90deg,#0b0b12 0%,#17172a 100%);align-items:center;gap:32px;padding:16px 24px;display:flex;box-shadow:0 2px 12px #7c3aed40}.header h1{letter-spacing:2px;color:#fff;background:linear-gradient(90deg, var(--purple-light), var(--purple));-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;margin:0;font-size:22px;font-weight:700}.header nav{flex-wrap:wrap;gap:16px;display:flex}.header nav a{color:#ffffffa6;border-radius:4px;padding:4px 8px;font-size:14px;text-decoration:none;transition:color .15s,background .15s}.header nav a:hover{color:#fff;background:#8b5cf640}.header nav a.active{color:#fff;background:var(--purple)}.main{max-width:1100px;margin:0 auto;padding:24px}@media (width<=768px){.header{flex-wrap:wrap;gap:12px;padding:12px 16px}.header h1{font-size:18px}.header nav{white-space:nowrap;gap:8px;width:100%;padding-bottom:4px;overflow-x:auto}.main{padding:12px}}
