:root{--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-primary-light: #3b82f6;--color-secondary: #10b981;--color-secondary-dark: #059669;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--color-text: #1f2937;--color-text-light: #6b7280;--color-text-lighter: #9ca3af;--color-background: #f9fafb;--color-surface: #ffffff;--color-border: #e5e7eb;--color-renta-variable: #3b82f6;--color-renta-fija: #22c55e;--color-monetario: #f59e0b;--color-emergentes: #8b5cf6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}[data-theme=dark]{--color-text: #f9fafb;--color-text-light: #d1d5db;--color-text-lighter: #9ca3af;--color-background: #0f172a;--color-surface: #1e293b;--color-border: #334155;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in-up{animation:fadeInUp .6s var(--transition-base) forwards}.animate-fade-in{animation:fadeIn .5s var(--transition-base) forwards}.animate-scale-in{animation:scaleIn .4s var(--transition-base) forwards}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--color-background);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.3;color:var(--color-text)}h1{font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700}h2{font-size:clamp(1.5rem,4vw,2rem);font-weight:600}h3{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:600}p{margin:0 0 1rem}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.section{padding:4rem 0}.section-title{text-align:center;margin-bottom:3rem}.section-title h2{margin-bottom:.5rem}.section-title p{color:var(--color-text-light);font-size:1.125rem;max-width:600px;margin:0 auto}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem;transition:box-shadow var(--transition-base),transform var(--transition-base);border:1px solid var(--color-border)}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;position:relative;overflow:hidden;min-height:44px;-webkit-tap-highlight-color:transparent}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.2),transparent);opacity:0;transition:opacity var(--transition-fast)}.btn:hover:after{opacity:1}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;box-shadow:0 4px 14px #2563eb59}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #2563eb73;transform:translateY(-2px);text-decoration:none}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-background);border-color:var(--color-primary);color:var(--color-primary);text-decoration:none}.btn-lg{padding:1rem 2rem;font-size:1.125rem;border-radius:var(--radius-lg)}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-input,.form-select{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;border-radius:9999px}.badge-primary{background:#2563eb1a;color:var(--color-primary)}.badge-success{background:#22c55e1a;color:var(--color-success)}.badge-warning{background:#f59e0b1a;color:var(--color-warning)}.badge-danger{background:#ef44441a;color:var(--color-danger)}.badge-renta-variable{background:#3b82f61a;color:var(--color-renta-variable)}.badge-renta-fija{background:#22c55e1a;color:var(--color-renta-fija)}.badge-monetario{background:#f59e0b1a;color:var(--color-monetario)}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,1fr)}@media (max-width: 768px){.grid-2{grid-template-columns:1fr}}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 992px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.grid-3{grid-template-columns:1fr}}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 992px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.grid-4{grid-template-columns:1fr}}.table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}table{width:100%;border-collapse:collapse;background:var(--color-surface)}table th,table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}table th{background:var(--color-background);font-weight:600;color:var(--color-text);white-space:nowrap}table tr:last-child td{border-bottom:none}table tr:hover td{background:var(--color-background)}@media (max-width: 768px){.section{padding:2.5rem 0}.container{padding:0 1rem}}@media (hover: none) and (pointer: coarse){.form-input,.form-select{min-height:48px;font-size:16px}.btn{min-height:48px}}
