:root{--aura-teal: #2f6364;--aura-teal-dark: #1f4849;--aura-teal-soft: #4a8f91;--aura-teal-glow: #2f6364;--aura-cloud: #f0eee9;--aura-jade: #596d69;--aura-mellow: #95a7b4;--color-surface: #f6f4ee;--color-surface-elevated: #ffffff;--color-surface-sunken: #ece8df;--color-text-primary: #0c1416;--color-text-secondary: #4a5759;--color-text-tertiary: #5a6a6d;--color-border: #0f1e1e1f;--color-border-strong: #0f1e1e33;--color-divider: #0f1e1e14;--color-accent: #2f6364;--color-accent-hover: #1f4849;--color-accent-soft: #2f63641a;--color-on-accent: #ffffff;--color-success: #186a45;--color-success-soft: #186a451a;--color-danger: #b13838;--color-danger-soft: #b138381a;--color-info: #2f6394;--color-info-soft: #2f63941a;--color-warning: #8a5a0e;--color-warning-soft: #8a5a0e1a;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 9999px;--shadow-card: 0 1px 2px #0f1e1e0d, 0 2px 6px #0f1e1e0d;--shadow-card-hover: 0 6px 18px #0f1e1e14, 0 2px 6px #0f1e1e0f;--font-sans: "Inter var", "Inter Variable", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Instrument Serif", "Fraunces", "EB Garamond", Georgia, ui-serif, serif;font-family:var(--font-sans);color:var(--color-text-primary);color-scheme:light}[data-theme=dark]{--aura-teal-glow: #5eead4;--color-surface: #0d1416;--color-surface-elevated: #161f22;--color-surface-sunken: #080d0f;--color-text-primary: #f0eee9;--color-text-secondary: #a7b4b6;--color-text-tertiary: #7e8b8e;--color-border: #f0eee914;--color-border-strong: #f0eee92e;--color-divider: #f0eee90f;--color-accent: #5eead4;--color-accent-hover: #7fdbd0;--color-accent-soft: #5eead429;--color-on-accent: #051010;--color-success: #4ec18b;--color-success-soft: #4ec18b29;--color-danger: #e07a7a;--color-danger-soft: #e07a7a29;--color-info: #7ab0d6;--color-info-soft: #7ab0d629;--color-warning: #e0a566;--color-warning-soft: #e0a56629;--shadow-card: 0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-card-hover: 0 6px 18px #00000080, 0 2px 6px #0006;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--color-surface);color:var(--color-text-primary);-webkit-font-smoothing:antialiased}a{color:var(--color-accent)}button{font:inherit;cursor:pointer}h1,h2,h3{letter-spacing:-.01em}.topbar{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);padding:0 20px}.topbar-row{display:flex;align-items:center;gap:24px;max-width:1120px;margin:0 auto;height:60px}.brand{font-family:var(--font-display);font-weight:400;font-size:1.5rem;line-height:1}.brand-dot{color:var(--color-accent)}.nav{display:flex;gap:4px}.nav button{background:none;border:none;padding:8px 14px;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-weight:500}.nav button[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent);font-weight:600}.spacer{flex:1}.icon-btn{background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:var(--radius-pill);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center}.nav button:focus-visible,.btn:focus-visible,.icon-btn:focus-visible,input:focus-visible,select:focus-visible,.row-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.container{max-width:1120px;margin:28px auto;padding:0 20px}.card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:22px;margin-bottom:20px}.card h2{margin:0 0 16px;font-family:var(--font-display);font-weight:400;font-size:1.4rem;letter-spacing:0;color:var(--color-text-primary)}.session-bar{background:var(--color-warning-soft);border-bottom:1px solid var(--color-border);font-size:.85rem}.session-bar .topbar-row{height:auto;padding:8px 0;flex-wrap:wrap;gap:16px}.session-bar label{display:flex;flex-direction:column;gap:2px;color:var(--color-text-secondary)}input,select{padding:9px 11px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text-primary);min-width:0}label{font-size:.85rem;color:var(--color-text-secondary)}.btn{border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-on-accent);padding:9px 16px;border-radius:var(--radius-sm);font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:background .15s ease}.btn:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn.secondary{background:var(--color-surface-elevated);color:var(--color-accent)}.btn.secondary:hover:not(:disabled){background:var(--color-accent-soft)}.btn:disabled{opacity:.45;cursor:not-allowed}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--color-divider);font-size:.9rem}th{color:var(--color-text-tertiary);font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em}tr.row-link:hover{background:var(--color-surface-sunken);cursor:pointer}.badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:.74rem;font-weight:600;background:var(--color-surface-sunken);color:var(--color-text-secondary)}.badge.ok{background:var(--color-success-soft);color:var(--color-success)}.badge.warn{background:var(--color-warning-soft);color:var(--color-warning)}.badge.info{background:var(--color-info-soft);color:var(--color-info)}.badge.danger{background:var(--color-danger-soft);color:var(--color-danger)}.alert{background:var(--color-danger-soft);border:1px solid var(--color-danger);color:var(--color-danger);padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:.9rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;align-items:end}.muted{color:var(--color-text-tertiary)}.stack{display:flex;flex-direction:column;gap:6px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.dom-list{display:flex;gap:12px;flex-wrap:wrap}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-surface)}.login-card{width:100%;max-width:420px}.pasos{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}.paso-row{display:flex;align-items:center;gap:12px;font-size:.92rem}.siguiente-paso{background:var(--color-accent-soft);color:var(--color-accent);border-radius:var(--radius-sm);padding:8px 12px;font-weight:600;font-size:.9rem;margin:0 0 12px}
