:root{--color-primary: #1a3a5c;--color-secondary: #2c6fac;--color-accent: #e8f0fb;--color-warning: #c0392b;--color-success: #27ae60;--color-text: #2c3e50;--color-muted: #7f8c8d;--color-border: #bdc3c7;--color-bg: #f8f9fa;--color-white: #ffffff;--radius: 8px;--shadow: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;color:var(--color-text);background-color:var(--color-bg)}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.site-header{background:var(--color-primary);color:#fff;padding:1rem 0;box-shadow:var(--shadow-md)}.site-header .container{display:flex;align-items:center;gap:1rem}.site-header .logo{font-size:1.5rem;font-weight:700;letter-spacing:-.5px}.site-header .subtitle{font-size:.85rem;opacity:.8}.card{background:var(--color-white);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--color-border)}.form-group{margin-bottom:1.25rem}label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem;color:var(--color-primary)}label .required{color:var(--color-warning);margin-left:2px}input,select,textarea{width:100%;padding:.6rem .85rem;border:1.5px solid var(--color-border);border-radius:var(--radius);font-size:.95rem;transition:border-color .2s,box-shadow .2s;background:#fff}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #2c6fac26}input.error,select.error{border-color:var(--color-warning)}.field-error{color:var(--color-warning);font-size:.8rem;margin-top:.25rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;border-radius:var(--radius);font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:background .2s,transform .1s,box-shadow .2s;text-decoration:none}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:#0f2540;box-shadow:var(--shadow-md)}.btn-secondary{background:var(--color-secondary);color:#fff}.btn-secondary:hover{background:#1f5a97;box-shadow:var(--shadow-md)}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background:var(--color-accent)}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;transform:none}.alert{padding:.9rem 1.1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem}.alert-warning{background:#fff3cd;border:1px solid #ffc107;color:#856404}.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media(max-width:640px){.grid-2{grid-template-columns:1fr}}.memoria-preview{font-size:.9rem;line-height:1.7}.memoria-preview h1{font-size:1.4rem;color:var(--color-primary);border-bottom:2px solid var(--color-primary);padding-bottom:.4rem;margin:1.5rem 0 .8rem}.memoria-preview h2{font-size:1.15rem;color:var(--color-secondary);margin:1.25rem 0 .5rem}.memoria-preview h3{font-size:1rem;color:var(--color-text);margin:1rem 0 .4rem}.memoria-preview p{margin-bottom:.75rem}.memoria-preview ul,.memoria-preview ol{padding-left:1.5rem;margin-bottom:.75rem}.memoria-preview li{margin-bottom:.2rem}.memoria-preview strong{color:var(--color-primary)}.memoria-preview .warning-tag{color:var(--color-warning);font-weight:600}.memoria-preview blockquote{border-left:4px solid var(--color-warning);background:#fff3cd;padding:.75rem 1rem;margin:1rem 0;border-radius:0 var(--radius) var(--radius) 0;font-size:.85rem;color:#856404}.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-block;padding:.15rem .6rem;border-radius:99px;font-size:.75rem;font-weight:600}.badge-mock{background:#fff3cd;color:#856404}.badge-real{background:#d4edda;color:#155724}.steps{display:flex;gap:.5rem;margin-bottom:1.5rem}.step{flex:1;text-align:center;padding:.5rem;border-radius:var(--radius);font-size:.8rem;font-weight:600;background:var(--color-border);color:var(--color-muted)}.step.active{background:var(--color-primary);color:#fff}.step.done{background:var(--color-success);color:#fff}
