:root,[data-theme=light]{--color-primary: #0f172a;--color-primary-hover: #1e293b;--color-secondary: #1e3a8a;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-health: #0ea5e9;--color-vitality: #14b8a6;--bg-app: #f8fafc;--bg-surface: #ffffff;--bg-surface-elevated: #ffffff;--border-color: #e2e8f0;--border-subtle: #f1f5f9;--text-main: #0f172a;--text-muted: #64748b;--text-light: #94a3b8;--text-inverse: #ffffff;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .04);--nom-risk-nulo: #059669;--nom-risk-nulo-bg: #ecfdf5;--nom-risk-nulo-border: #a7f3d0;--nom-risk-nulo-text: #065f46;--nom-risk-bajo: #16a34a;--nom-risk-bajo-bg: #f0fdf4;--nom-risk-bajo-border: #bbf7d0;--nom-risk-bajo-text: #166534;--nom-risk-medio: #d97706;--nom-risk-medio-bg: #fffbeb;--nom-risk-medio-border: #fde68a;--nom-risk-medio-text: #92400e;--nom-risk-alto: #ea580c;--nom-risk-alto-bg: #fff7ed;--nom-risk-alto-border: #fed7aa;--nom-risk-alto-text: #9a3412;--nom-risk-muy-alto: #dc2626;--nom-risk-muy-alto-bg: #fef2f2;--nom-risk-muy-alto-border: #fecaca;--nom-risk-muy-alto-text: #991b1b}[data-theme=dark]{--color-primary: #38bdf8;--color-primary-hover: #7dd3fc;--color-secondary: #60a5fa;--color-accent: #3b82f6;--color-accent-hover: #60a5fa;--color-health: #38bdf8;--color-vitality: #2dd4bf;--bg-app: #0b0f17;--bg-surface: #111827;--bg-surface-elevated: #1e293b;--border-color: #1f2937;--border-subtle: #2d3748;--text-main: #f9fafb;--text-muted: #9ca3af;--text-light: #6b7280;--text-inverse: #0f172a;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .5);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .4);--nom-risk-nulo: #34d399;--nom-risk-nulo-bg: #064e3b;--nom-risk-nulo-border: #047857;--nom-risk-nulo-text: #6ee7b7;--nom-risk-bajo: #4ade80;--nom-risk-bajo-bg: #14532d;--nom-risk-bajo-border: #15803d;--nom-risk-bajo-text: #86efac;--nom-risk-medio: #fbbf24;--nom-risk-medio-bg: #78350f;--nom-risk-medio-border: #b45309;--nom-risk-medio-text: #fcd34d;--nom-risk-alto: #fb923c;--nom-risk-alto-bg: #7c2d12;--nom-risk-alto-border: #c2410c;--nom-risk-alto-text: #fdba74;--nom-risk-muy-alto: #f87171;--nom-risk-muy-alto-bg: #7f1d1d;--nom-risk-muy-alto-border: #b91c1c;--nom-risk-muy-alto-text: #fca5a5}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-app);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .25s ease,color .25s ease}a{color:var(--color-accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-accent-hover)}.badge-risk{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent;white-space:nowrap}.badge-risk-nulo{background-color:var(--nom-risk-nulo-bg);color:var(--nom-risk-nulo-text);border-color:var(--nom-risk-nulo-border)}.badge-risk-bajo{background-color:var(--nom-risk-bajo-bg);color:var(--nom-risk-bajo-text);border-color:var(--nom-risk-bajo-border)}.badge-risk-medio{background-color:var(--nom-risk-medio-bg);color:var(--nom-risk-medio-text);border-color:var(--nom-risk-medio-border)}.badge-risk-alto{background-color:var(--nom-risk-alto-bg);color:var(--nom-risk-alto-text);border-color:var(--nom-risk-alto-border)}.badge-risk-muy-alto{background-color:var(--nom-risk-muy-alto-bg);color:var(--nom-risk-muy-alto-text);border-color:var(--nom-risk-muy-alto-border)}.c-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow-sm);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.c-card:hover{box-shadow:var(--shadow-md)}.c-card-elevated{background-color:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:38px;min-height:38px;max-height:38px;padding:0 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;line-height:1;letter-spacing:-.01em;border:1px solid transparent;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn svg{width:16px;height:16px;stroke-width:2;flex-shrink:0;stroke:currentColor;fill:none;display:inline-block;vertical-align:middle}.btn:active{transform:translateY(0)}.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none;transform:none!important;box-shadow:none!important}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:0 2px 4px #2563eb40,0 1px 2px #00000014}.btn-primary:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #2563eb59,0 2px 4px #0000001f;transform:translateY(-1px)}.btn-outline{background-color:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-main);box-shadow:0 1px 2px #0000000d}.btn-outline:hover{background-color:var(--border-subtle);border-color:var(--text-light);color:var(--text-main);box-shadow:0 2px 6px #00000014;transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-main)}.btn-secondary:hover{background-color:var(--border-subtle);transform:translateY(-1px)}.btn-sm{height:32px;min-height:32px;max-height:32px;padding:0 .75rem;font-size:.8125rem;gap:.375rem}.btn-sm svg{width:14px;height:14px}.btn-lg{height:44px;min-height:44px;max-height:44px;padding:0 1.25rem;font-size:1rem;gap:.625rem}.btn-lg svg{width:18px;height:18px}@keyframes spin-anim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.is-spinning{animation:spin-anim .8s linear infinite}.alert-box{border-radius:.5rem;padding:1rem;display:flex;gap:.75rem;align-items:flex-start;margin-bottom:1rem;border:1px solid var(--border-color)}
