@charset "UTF-8";:root{--primary: #2D6BE4;--primary-dark: #1D53C4;--primary-light: #EBF2FF;--primary-mid: #BFCFFF;--accent: #00C896;--accent-dark: #00A87E;--accent-light: #E0FBF4;--danger: #F03D4E;--danger-light: #FFF0F1;--warning: #FF8C00;--warning-light: #FFF4E0;--success: #00C896;--success-light: #E0FBF4;--bg: #F4F7FC;--surface: #FFFFFF;--surface-raised: #FFFFFF;--border: #E4EAF4;--border-strong: #C5D0E8;--text-primary: #0F1F45;--text-secondary: #4A5680;--text-muted: #8D9BBF;--text-on-primary:#FFFFFF;--shadow-xs: 0 1px 2px rgba(15,31,69,.05);--shadow-sm: 0 1px 4px rgba(15,31,69,.08), 0 1px 2px rgba(15,31,69,.04);--shadow-md: 0 4px 12px rgba(15,31,69,.1), 0 2px 4px rgba(15,31,69,.06);--shadow-lg: 0 12px 24px rgba(15,31,69,.12), 0 4px 8px rgba(15,31,69,.06);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--nav-height: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;font-size:1rem;line-height:1.6;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased}h1{font-size:1.5rem;font-weight:700;line-height:1.25;letter-spacing:-.02em;color:var(--text-primary)}h2{font-size:1.0625rem;font-weight:600;line-height:1.35;color:var(--text-primary)}h3{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.btn,.btn-outline,.btn-warning,.btn-ghost,.btn-danger,.btn-success,.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:0 18px;height:40px;border-radius:var(--radius);font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;border:none;text-decoration:none;transition:background .14s ease,box-shadow .14s ease,transform .1s ease;white-space:nowrap;letter-spacing:.01em}.btn:disabled,.btn-outline:disabled,.btn-warning:disabled,.btn-ghost:disabled,.btn-danger:disabled,.btn-success:disabled,.btn-primary:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn svg,.btn-outline svg,.btn-warning svg,.btn-ghost svg,.btn-danger svg,.btn-success svg,.btn-primary svg{flex-shrink:0}.btn-primary{background:var(--primary);color:var(--text-on-primary);box-shadow:0 1px 3px #2d6be44d}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 4px 12px #2d6be459;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:scale(.98);box-shadow:none}.btn-success{background:var(--accent);color:#fff;box-shadow:0 1px 3px #00c89640}.btn-success:hover:not(:disabled){background:var(--accent-dark);box-shadow:0 4px 12px #00c8964d;transform:translateY(-1px)}.btn-danger{background:transparent;color:var(--danger);border:1.5px solid var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-light)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--border);color:var(--text-primary)}.btn-warning{background:var(--warning);color:#fff;box-shadow:0 1px 3px #ff8c0040}.btn-warning:hover:not(:disabled){background:#e07800;transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--primary);border:1.5px solid var(--primary-mid)}.btn-outline:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary)}.btn-sm{height:34px;padding:0 14px;font-size:.8125rem}.btn-lg{height:48px;padding:0 24px;font-size:.9375rem}.card,.stat-card,.card-elevated{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-elevated{box-shadow:var(--shadow-md)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);letter-spacing:.01em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:0 14px;height:44px;border:1.5px solid var(--border-strong);border-radius:var(--radius);font-size:.9375rem;font-family:inherit;color:var(--text-primary);background:var(--surface);transition:border-color .15s,box-shadow .15s;appearance:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2d6be426}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--bg);color:var(--text-muted)}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A5680' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.form-group textarea{height:auto;min-height:88px;padding:12px 14px;resize:vertical;line-height:1.5}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.01em}.badge-blue{background:var(--primary-light);color:var(--primary)}.badge-green{background:var(--accent-light);color:var(--accent-dark)}.badge-orange{background:var(--warning-light);color:var(--warning)}.badge-red{background:var(--danger-light);color:var(--danger)}.badge-gray{background:#edf0f7;color:var(--text-secondary)}.badge-indigo{background:#ede9fe;color:#5b21b6}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:10px 16px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--bg);border-bottom:2px solid var(--border);text-align:left;white-space:nowrap}.data-table td{padding:12px 16px;font-size:.875rem;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.data-table tbody tr:hover td{background:var(--primary-light);transition:background .12s}.data-table tbody tr:last-child td{border-bottom:none}.stat-card{padding:20px 24px;display:flex;flex-direction:column;gap:4px}.stat-card .stat-icon{width:36px;height:36px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:8px}.stat-card .stat-label{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.stat-card .stat-value{font-size:1.875rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1.1}.stat-card .stat-sub{font-size:.8rem;color:var(--text-muted);margin-top:2px}.stat-card .stat-delta-pos{color:var(--success);font-weight:600;font-size:.8rem}.stat-card .stat-delta-neg{color:var(--danger);font-weight:600;font-size:.8rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;text-align:center;color:var(--text-muted)}.empty-state .empty-icon{width:72px;height:72px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--text-muted)}.empty-state p{font-size:.9375rem;max-width:280px;line-height:1.5}.page{padding:28px 32px;max-width:1140px;margin:0 auto}@media (max-width: 768px){.page{padding:20px 16px}}.imc-normal{color:var(--success)}.imc-sobrepeso{color:var(--warning)}.imc-obesidad{color:var(--danger)}.imc-bajo{color:var(--primary)}.divider{height:1px;background:var(--border);margin:20px 0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .2s ease both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
