@charset "UTF-8";:root{--ui-radius-sm: 4px;--ui-radius-md: 8px;--ui-radius-lg: 16px;--ui-shadow-sm: 0 1px 8px rgba(13, 13, 13, .07);--ui-shadow-md: 0 2px 12px rgba(13, 13, 13, .1);--ui-shadow-lg: 0 6px 24px rgba(13, 13, 13, .16);--ui-border: #d9d9d9;--ui-border-muted: #eeeeee;--ui-surface: #ffffff;--ui-surface-muted: #f5f5f5;--ui-surface-tint: color-mix(in srgb, var(--brand-accent) 16%, #ffffff);--ui-text: #0d0d0d;--ui-text-muted: #6b6b6b;--ui-danger: #c62828;--ui-danger-bg: #ffebee;--ui-success: #2e7d32;--ui-warning: #e65100;--ui-warning-bg: #fff3e0;--ui-overlay: rgba(0, 0, 0, .45);--ui-transition: .2s ease;--platform-primary: #F20505;--platform-bg: #FFFFFF;--platform-text: #0D0D0D;--platform-surface: #FFFFFF;--platform-muted: #6B6B6B;--platform-dark: #1F1F1F;--brand-primary: var(--platform-primary);--brand-secondary: var(--platform-dark);--brand-accent: var(--platform-muted);--brand-bg: var(--platform-bg);--brand-text: var(--platform-text);--brand-font-display: "Montserrat", "Roboto", system-ui, sans-serif;--brand-font-body: "Roboto", system-ui, sans-serif;--color-primario: var(--brand-primary);--color-secundario: var(--brand-secondary);--color-acento: var(--brand-accent);--color-oscuro: var(--brand-text);--color-claro: var(--brand-bg);--fuente-display: var(--brand-font-display);--fuente-cuerpo: var(--brand-font-body);--radio: var(--ui-radius-md);--radio-lg: var(--ui-radius-lg);--sombra: var(--ui-shadow-md);--sombra-hover: var(--ui-shadow-lg);--transicion: var(--ui-transition)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--fuente-cuerpo);background:var(--brand-bg);color:var(--brand-text);min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit;border:none}.contenedor{max-width:1200px;margin:0 auto;padding:0 1.25rem}h1,h2,h3{font-family:var(--fuente-display);line-height:1.25}.btn-primario{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--brand-primary);color:#fff;padding:.75rem 1.75rem;border-radius:var(--radio);font-size:1rem;font-weight:600;transition:opacity var(--transicion)}.btn-primario:hover{opacity:.88}.btn-primario:disabled{opacity:.45;cursor:not-allowed}.btn-secundario{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;color:var(--brand-primary);border:2px solid var(--brand-primary);padding:.65rem 1.75rem;border-radius:var(--radio);font-size:1rem;font-weight:600;transition:background var(--transicion),color var(--transicion)}.btn-secundario:hover{background:var(--brand-primary);color:#fff}.btn-ghost{background:transparent;color:var(--brand-text);padding:.5rem;font-size:1rem;transition:color var(--transicion)}.btn-ghost:hover{color:var(--brand-primary)}.btn-icono{background:transparent;color:var(--brand-text);width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background var(--transicion)}.btn-icono:hover{background:var(--ui-surface-muted)}.badge{background:var(--brand-primary);color:#fff;border-radius:999px;padding:.1rem .55rem;font-size:.7rem;font-weight:700;line-height:1.4}.precio{font-weight:700;color:var(--brand-primary);font-size:1.15rem}.campo{display:flex;flex-direction:column;gap:.35rem}.campo label{font-size:.875rem;font-weight:600}.campo input,.campo select,.campo textarea{padding:.65rem .9rem;border:1.5px solid var(--ui-border);border-radius:var(--radio);font-family:inherit;font-size:1rem;background:var(--ui-surface);transition:border-color var(--transicion)}.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--brand-primary)}.campo input.ng-invalid.ng-touched,.campo select.ng-invalid.ng-touched,.campo textarea.ng-invalid.ng-touched{border-color:var(--ui-danger)}.campo .error{font-size:.8rem;color:var(--ui-danger)}.spinner{width:2rem;height:2rem;border:3px solid var(--ui-border-muted);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .7s linear infinite;margin:2rem auto}@keyframes spin{to{transform:rotate(360deg)}}.overlay{position:fixed;inset:0;background:var(--ui-overlay);z-index:200;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
