:root{--primary-light: #8b6bab;--primary: #7a5c98;--primary-hover: #654a80;--primary-dark: #4a3263;--lavender: #e5d9fe;--lavender-soft: #f1eaff;--bg: var(--lavender);--card: #ffffff;--text: #2a2135;--muted: #6d6380;--border: #e4dcf0;--ok: #15803d;--ok-bg: #dcfce7;--danger: #b91c1c;--danger-bg: #fee2e2;--warn: #92400e;--warn-bg: #fef3c7}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font-family:inherit}h2{margin:0 0 4px;font-size:1.35rem}h3{margin:24px 0 10px;font-size:1.05rem}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 2px 10px #4a326314}.muted{color:var(--muted);margin:0}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:500;font-size:.9rem}.field input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:1rem}.field input:focus{outline:2px solid var(--primary);outline-offset:-1px}.field input.invalid{border-color:var(--danger)}.field-error{color:var(--danger)}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;padding:10px 18px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:.95rem;font-weight:500;cursor:pointer;text-decoration:none}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.alert{margin-top:16px;padding:12px 14px;border-radius:8px}.alert.error{background:var(--danger-bg);color:var(--danger)}.badge{display:inline-block;background:var(--lavender-soft);color:var(--primary);font-weight:600;font-size:.8rem;padding:4px 10px;border-radius:999px}.estado{display:inline-block;padding:6px 12px;border-radius:999px;font-weight:600;font-size:.85rem}.estado.ok{background:var(--ok-bg);color:var(--ok)}.estado.pendiente{background:var(--warn-bg);color:var(--warn)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}table th,table td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}table th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase}table .num{text-align:right}@media (max-width: 600px){h2{font-size:1.15rem}.card{padding:18px 16px;border-radius:10px}.field input{font-size:16px}.actions .btn{flex:1 1 auto;justify-content:center}}
