@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);
/* ! DECISIÓN DE DISEÑO: Fuente única de tokens de diseño siguiendo DESIGN.md. Actualizar aquí antes de tocar componentes. */:root{--color-bg-app:#f3f6fb;--color-bg-surface:#fff;--color-bg-surface-elevated:#fff;--color-bg-card:#fff;--color-bg-muted:#f5f8fc;--brand-25:#f5faff;--brand-50:#eaf4ff;--brand-100:#d7eaff;--brand-200:#b6d7ff;--brand-300:#8fbefa;--brand-400:#68a7ef;--brand-500:#4ea4ea;--brand-600:#2d7ed1;--brand-700:#0f4d9e;--brand-800:#0a3a85;--brand-900:#072b63;--color-fg-primary:#0a1b33;--color-fg-secondary:#3b4a63;--color-fg-muted:#5b6b85;--color-fg-inverted:#fff;--color-icon-muted:#4b5563;--color-link:var(--brand-600);--color-link-hover:var(--brand-700);--color-border:#0f286929;--color-border-strong:#0f286938;--color-border-subtle:#0f286914;--color-success:#1f9d5a;--color-success-bg:#e8f8ef;--color-success-border:color-mix(in srgb,var(--color-success) 32%,#0000);--color-danger:#c03434;--color-danger-bg:#fdecec;--color-warning:#b45309;--color-warning-bg:#fff4df;--color-info:#1d4ed8;--color-info-bg:#eaf4ff;--color-info-border:color-mix(in srgb,var(--color-info) 28%,#0000);--button-disabled-bg:#e3e9f3;--button-disabled-border:#c8d3e5;--button-disabled-text:#51607a;--button-primary-disabled-bg:#3478bc;--button-primary-disabled-text:#fff;--button-ghost-disabled-bg:#f4f7fc;--button-ghost-disabled-border:#c9d4e6;--button-subtle-disabled-bg:#edf4ff;--button-gold-disabled-bg:#e6d098;--button-gold-disabled-border:#b98d2373;--button-danger-disabled-bg:#b44a4a;--button-danger-disabled-border:#a43f3f;--color-btn-primary:var(--brand-600);--color-btn-primary-hover:#1e66b7;--color-btn-primary-contrast:#fff;--gradient-primary:linear-gradient(180deg,var(--brand-600) 0%,#1e66b7 100%);--gradient-gold:linear-gradient(180deg,#f7d774,#e9b949);--color-gold-contrast:#3b2f0b;--color-accent-amber:#e59b2f;--color-gold-strong:#8a6d1d;--color-gold-muted:#5a4212;--color-gold-border:color-mix(in srgb,var(--color-gold-strong) 32%,#0000);--color-gold-border-subtle:color-mix(in srgb,var(--color-gold-strong) 22%,#0000);--color-gold-border-dashed:color-mix(in srgb,var(--color-gold-strong) 26%,#0000);--color-gold-border-focus:color-mix(in srgb,var(--color-gold-strong) 42%,#0000);--color-gold-surface-strong:color-mix(in srgb,var(--color-gold-strong) 20%,var(--color-bg-surface) 80%);--color-gold-surface-soft:color-mix(in srgb,var(--color-gold-strong) 12%,var(--color-bg-surface) 88%);--gradient-gold-subtle:linear-gradient(180deg,var(--color-gold-surface-strong) 0%,color-mix(in srgb,var(--color-bg-surface) 92%,#0000) 100%);--gradient-gold-muted:linear-gradient(180deg,var(--color-gold-surface-soft) 0%,color-mix(in srgb,var(--color-bg-surface) 96%,#0000) 100%);--gradient-gold-horizontal:linear-gradient(90deg,color-mix(in srgb,var(--color-gold-strong) 14%,var(--color-bg-surface) 86%) 0%,color-mix(in srgb,var(--color-bg-surface) 95%,#0000) 100%);--shadow-gold-shell:0 4px 12px color-mix(in srgb,#020c1b 14%,#0000);--shadow-gold-item:0 3px 10px color-mix(in srgb,#020c1b 12%,#0000);--shadow-gold-inset:inset 0 1px 0 color-mix(in srgb,#fff 70%,#0000);--color-highlight-info-surface:color-mix(in srgb,var(--color-info) 12%,var(--color-bg-surface) 88%);--color-highlight-info-surface-strong:color-mix(in srgb,var(--color-info) 18%,var(--color-bg-surface) 82%);--gradient-highlight-info:linear-gradient(180deg,var(--color-highlight-info-surface-strong) 0%,color-mix(in srgb,var(--color-bg-surface) 94%,#0000) 100%);--color-highlight-info-border:color-mix(in srgb,var(--color-info) 24%,#0000);--color-highlight-info-fg:color-mix(in srgb,var(--color-info) 70%,var(--color-fg-primary) 30%);--color-overlay:#0b193680;--color-header-translucent:#ffffffeb;

  /* ! DECISIÓN DE DISEÑO: Los controles segmentados usan tokens dedicados para mantener consistencia entre temas y variantes de accesibilidad. */--color-segmented-surface:color-mix(in srgb,var(--color-bg-surface) 88%,var(--color-btn-primary) 12%);--color-segmented-border:color-mix(in srgb,var(--color-btn-primary) 28%,#0000);--shadow-segmented-inset:inset 0 1px 1px color-mix(in srgb,var(--color-btn-primary) 24%,#0000);--color-segmented-item-hover:color-mix(in srgb,var(--color-bg-surface) 86%,var(--color-btn-primary) 14%);--color-segmented-item-active:color-mix(in srgb,var(--color-bg-surface) 90%,var(--color-btn-primary) 10%);--color-segmented-item-active-hover:color-mix(in srgb,var(--color-bg-surface) 82%,var(--color-btn-primary) 18%);--shadow-segmented-active:0 2px 6px color-mix(in srgb,#020c1b 18%,#0000);--color-outline-interactive:color-mix(in srgb,var(--color-btn-primary) 52%,#0000);--color-fg-accent:color-mix(in srgb,var(--color-btn-primary) 82%,var(--color-fg-primary) 18%);--color-bg-brand:var(--brand-900);--color-bg-brand-elevated:color-mix(in srgb,var(--brand-800) 82%,#020c1b 18%);--color-fg-on-brand:var(--color-fg-inverted);--color-fg-on-brand-soft:color-mix(in srgb,#f0f6ff 88%,#0000);--color-fg-on-brand-muted:color-mix(in srgb,#f0f6ff 72%,#0000);--color-border-on-brand:color-mix(in srgb,#fff 18%,#0000);--color-border-on-brand-strong:color-mix(in srgb,#fff 30%,#0000);--color-bg-on-brand-hover:color-mix(in srgb,#fff 12%,#0000);--color-bg-on-brand-active:color-mix(in srgb,#fff 16%,#0000);--color-bg-on-brand-focus:color-mix(in srgb,#fff 20%,#0000);--color-outline-on-brand:color-mix(in srgb,#fff 45%,#0000);--color-overlay-on-brand:color-mix(in srgb,var(--brand-900) 68%,#020c1be0 32%);--shadow-1:0 12px 30px #020c1b14;--shadow-2:0 16px 34px #020c1b1f;--shadow-3:0 24px 60px #020c1b38;--font-family-sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-size-300:0.875rem;--font-size-400:1rem;--font-size-500:1.125rem;--font-size-600:1.25rem;--font-size-700:1.5rem;--font-size-800:1.875rem;--line-height-tight:1.25;--line-height-base:1.5;--line-height-loose:1.65;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--ease-standard:cubic-bezier(0.2,0,0.2,1);--ease-emphasized:cubic-bezier(0.2,0,0,0.9);--dur-fast:120ms;--dur-base:200ms;--dur-slow:320ms;--container-max:1120px;--z-nav:900;--z-overlay:1100;--z-modal:1200;--z-toast:1300;--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom);color-scheme:light}:root[data-theme=dark]{--color-bg-app:#0b1424;--color-bg-surface:#0f1b2e;--color-bg-surface-elevated:#122239;--color-bg-card:#122239;--color-bg-muted:#0e192a;--color-fg-primary:#eaf1ff;--color-fg-secondary:#c3d2ea;--color-fg-muted:#9fb1cc;--color-fg-inverted:#0b1424;--color-link:var(--brand-500);--color-link-hover:var(--brand-400);--color-border:#eaf4ff1f;--color-border-strong:#eaf4ff2e;--color-btn-primary:var(--brand-500);--color-btn-primary-hover:var(--brand-600);--color-segmented-surface:color-mix(in srgb,var(--color-bg-surface) 76%,var(--color-btn-primary) 24%);--color-segmented-border:color-mix(in srgb,var(--color-btn-primary) 34%,#0000);--shadow-segmented-inset:inset 0 1px 1px color-mix(in srgb,var(--color-btn-primary) 30%,#0000);--color-segmented-item-hover:color-mix(in srgb,var(--color-bg-surface) 68%,var(--color-btn-primary) 32%);--color-segmented-item-active:color-mix(in srgb,var(--color-bg-surface) 72%,var(--color-btn-primary) 28%);--color-segmented-item-active-hover:color-mix(in srgb,var(--color-bg-surface) 64%,var(--color-btn-primary) 36%);--shadow-segmented-active:0 2px 6px color-mix(in srgb,#000c 28%,#0000);--color-outline-interactive:color-mix(in srgb,var(--color-btn-primary) 58%,#0000);--color-fg-accent:color-mix(in srgb,var(--color-btn-primary) 72%,#fff 28%);--color-bg-brand:#061738;--color-bg-brand-elevated:color-mix(in srgb,#0a2149 78%,#000 22%);--color-fg-on-brand:#f9fbff;--color-fg-on-brand-soft:color-mix(in srgb,#f9fbff 90%,#0000);--color-fg-on-brand-muted:color-mix(in srgb,#f9fbff 74%,#0000);--color-border-on-brand:color-mix(in srgb,#f9fbff 24%,#0000);--color-border-on-brand-strong:color-mix(in srgb,#f9fbff 38%,#0000);--color-bg-on-brand-hover:color-mix(in srgb,#f9fbff 18%,#0000);--color-bg-on-brand-active:color-mix(in srgb,#f9fbff 22%,#0000);--color-bg-on-brand-focus:color-mix(in srgb,#f9fbff 26%,#0000);--color-outline-on-brand:color-mix(in srgb,#f9fbff 52%,#0000);--color-overlay-on-brand:color-mix(in srgb,#020c1beb 60%,#000c 40%);--gradient-gold:linear-gradient(180deg,#f3d26a,#c8922d);--color-gold-contrast:#120a02;--color-gold-strong:#d5a742;--color-gold-muted:#a97c27;--color-highlight-info-surface:color-mix(in srgb,var(--color-info) 22%,var(--color-bg-surface) 78%);--color-highlight-info-surface-strong:color-mix(in srgb,var(--color-info) 30%,var(--color-bg-surface) 70%);--gradient-highlight-info:linear-gradient(180deg,var(--color-highlight-info-surface-strong) 0%,color-mix(in srgb,var(--color-bg-surface) 88%,#0000) 100%);--color-highlight-info-border:color-mix(in srgb,var(--color-info) 32%,#0000);--color-highlight-info-fg:color-mix(in srgb,var(--color-info) 86%,#fff 14%);--shadow-1:0 6px 18px #00000059;--shadow-2:0 10px 24px #00000073;--shadow-3:0 18px 42px #0000008c;color-scheme:dark}:root[data-theme=hc]{--color-link:#0046ff;--color-link-hover:#002fb7;--color-border-strong:#1a5cff;--color-border-subtle:#1a5cff;--color-bg-brand:#002b7a;--color-bg-brand-elevated:#003699;--color-fg-on-brand:#fff;--color-fg-on-brand-soft:#fff;--color-fg-on-brand-muted:#d6e4ff;--color-border-on-brand:#fff;--color-border-on-brand-strong:#fff;--color-bg-on-brand-hover:color-mix(in srgb,#fff 28%,#0000);--color-bg-on-brand-active:color-mix(in srgb,#fff 36%,#0000);--color-bg-on-brand-focus:color-mix(in srgb,#fff 42%,#0000);--color-outline-on-brand:#fff;--color-overlay-on-brand:color-mix(in srgb,#001a66 65%,#000 35%);--gradient-gold:linear-gradient(180deg,#ffbf00,#b87333);--color-gold-contrast:#000;--color-gold-strong:#ffbf00;--color-gold-muted:#b87333;--color-highlight-info-surface:color-mix(in srgb,#0046ff 25%,var(--color-bg-surface) 75%);--color-highlight-info-surface-strong:color-mix(in srgb,#0046ff 35%,var(--color-bg-surface) 65%);--gradient-highlight-info:linear-gradient(180deg,var(--color-highlight-info-surface-strong) 0%,color-mix(in srgb,var(--color-bg-surface) 85%,#0000) 100%);--color-highlight-info-border:#1a5cff;--color-highlight-info-fg:#002b7a;--color-segmented-surface:color-mix(in srgb,var(--color-bg-surface) 70%,#0046ff 30%);--color-segmented-border:#1a5cff;--shadow-segmented-inset:inset 0 0 0 1px #1a5cff;--color-segmented-item-hover:color-mix(in srgb,var(--color-bg-surface) 55%,#0046ff 45%);--color-segmented-item-active:color-mix(in srgb,var(--color-bg-surface) 50%,#0046ff 50%);--color-segmented-item-active-hover:color-mix(in srgb,var(--color-bg-surface) 45%,#0046ff 55%);--shadow-segmented-active:0 0 0 2px #1a5cff;--color-outline-interactive:#1a5cff;--color-fg-accent:#001c5f}

/* ! DECISIÓN DE DISEÑO: Base tipográfica y resets alineados a DESIGN.md; todo estilo consume tokens semánticos. */*,:after,:before{box-sizing:border-box}:root{-webkit-font-smoothing:antialiased;background-color:var(--color-bg-app);color:var(--color-fg-primary);font-family:var(--font-family-sans);font-weight:400;line-height:var(--line-height-base);text-rendering:optimizeLegibility}#root,body{min-height:100vh}a{color:var(--color-link);text-decoration:underline;text-underline-offset:.125rem}a:hover{color:var(--color-link-hover)}a:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}img,video{display:block;max-width:100%}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer}[aria-disabled=true],button:disabled{cursor:not-allowed}code{font-family:Fira Code,Source Code Pro,Menlo,monospace;font-size:.95em}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* ! DECISIÓN DE DISEÑO: Estilos del modal de sorteo basados en tokens semánticos para asegurar consistencia entre temas. */.raffle-modal.modal__content{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);display:flex;flex-direction:column;gap:var(--space-4);max-height:90vh;overflow:hidden;overscroll-behavior:contain;padding:var(--space-4) var(--space-5);width:min(720px,100%)}@media (max-width:640px){.raffle-modal.modal__content{padding:var(--space-4)}}.raffle-modal .modal__title{color:var(--color-fg-primary);margin:0}.raffle-modal__header{align-items:center;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-subtle);display:flex;gap:var(--space-3);justify-content:space-between;padding-bottom:var(--space-2);position:-webkit-sticky;position:sticky;top:0;z-index:2}.raffle-modal__title-block{grid-gap:.25rem;display:grid;gap:.25rem}.raffle-modal__meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.raffle-modal__meta-item{align-items:center;color:var(--color-fg-secondary);display:inline-flex;gap:.4rem}.raffle-modal__meta-icon{flex-shrink:0}.raffle-modal__status{align-items:center;border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.4rem;padding:.25rem .6rem;white-space:nowrap}.raffle-modal__status--ok{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.raffle-modal__status--info{background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info)}.raffle-modal__body{grid-gap:var(--space-3);display:grid;flex:1 1;gap:var(--space-3);overflow:auto;overscroll-behavior:contain;padding-right:2px;padding-top:var(--space-3)}.raffle-modal .modal__body{margin-top:0}.raffle-modal__winners-list{grid-gap:var(--space-2);display:grid;gap:var(--space-2)}.raffle-modal__winner-card{align-items:center;background:var(--gradient-highlight-info);border:1px solid var(--color-highlight-info-border);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 40%,#0000);color:var(--color-highlight-info-fg);display:flex;gap:var(--space-2);justify-content:space-between;padding:var(--space-2) var(--space-3)}.raffle-modal__winner-content{grid-gap:.2rem;display:grid;gap:.2rem}.raffle-modal__winner-name{color:var(--color-fg-primary);font-size:var(--font-size-400)}.raffle-modal__prize-pill{align-items:center;background:var(--color-highlight-info-surface);border:1px solid var(--color-highlight-info-border);border-radius:999px;display:inline-flex;font-size:.75rem;padding:.25rem .5rem;white-space:nowrap}.raffle-modal__prize-pill,.raffle-modal__winner-icon{color:var(--color-highlight-info-fg)}.raffle-modal__participants-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between}.raffle-modal__participants-title{margin:0}.raffle-modal__section-title{color:var(--color-fg-primary);margin:0 0 .4rem}.raffle-modal__participants-actions{align-items:center;display:flex;gap:var(--space-2)}.raffle-modal__search{width:220px}@media (max-width:540px){.raffle-modal__participants-actions,.raffle-modal__search{width:100%}}.raffle-modal__participants-shell{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-2);max-height:260px;overflow:auto;overscroll-behavior:contain;padding-right:.25rem}.raffle-modal__participants-list{grid-gap:.35rem;color:var(--color-fg-primary);display:grid;gap:.35rem;margin:0}.raffle-modal__empty,.raffle-modal__participants-list{padding:var(--space-2) var(--space-3)}.raffle-modal__footer{background:var(--color-bg-surface);border-top:1px solid var(--color-border-subtle);bottom:0;display:flex;gap:var(--space-2);justify-content:flex-end;padding-top:var(--space-2);position:-webkit-sticky;position:sticky;z-index:2}@media (prefers-reduced-motion:reduce){.raffle-modal.modal__content{transition:none}}

/* ! DECISIÓN DE DISEÑO: Lista editable alineada a tokens semánticos para cumplir accesibilidad y consistencia visual. */.editable-list{background:var(--color-bg-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:clamp(var(--space-4),2vw,var(--space-5));padding:clamp(var(--space-4),2.6vw,var(--space-5));transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.editable-list:focus-within{border-color:color-mix(in srgb,var(--brand-400) 75%,#0000);box-shadow:var(--shadow-2);transform:translateY(-2px)}.editable-list__header{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;padding-bottom:calc(var(--space-2)/1.5)}.editable-list__heading{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-2);min-width:min(16rem,100%)}.editable-list__label{color:var(--color-fg-primary);font-size:clamp(var(--font-size-500),1.2vw + .9rem,var(--font-size-600));font-weight:600}.editable-list__helper{color:var(--color-fg-secondary);font-size:.95rem;line-height:var(--line-height-base);margin:0}.editable-list__cta{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}.editable-list__count{align-items:center;background:var(--brand-50);border:1px solid var(--brand-200);border-radius:999px;color:var(--brand-700);display:inline-flex;font-size:.75rem;font-weight:600;gap:var(--space-1);line-height:1.4;padding:calc(var(--space-1) + 2px) calc(var(--space-2) + 2px)}.editable-list__count:before{content:"•";font-size:.9em}.editable-list[data-length="0"] .editable-list__count{background:var(--color-bg-muted);border-color:var(--color-border);color:var(--color-fg-secondary)}.editable-list__add{align-items:center;background:var(--brand-50);border:1px solid var(--color-border);border-radius:999px;box-shadow:inset 0 1px 0 #ffffffb3;color:var(--brand-700);display:inline-flex;font-weight:600;gap:var(--space-2);justify-content:center;padding:calc(var(--space-2) + 2px) calc(var(--space-4) + 4px);transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}.editable-list__add:focus-visible,.editable-list__add:hover{background:var(--brand-100);border-color:var(--brand-300);box-shadow:0 12px 28px #4ea4ea40;color:var(--brand-600);outline:none}.editable-list__items{grid-gap:clamp(var(--space-3),1.8vw,var(--space-4));display:grid;gap:clamp(var(--space-3),1.8vw,var(--space-4));list-style:none;margin:0;padding:0}.editable-list__item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:clamp(var(--space-3),1.6vw,calc(var(--space-4) - .1rem));position:relative;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.editable-list__item:after{background:var(--brand-50);background:linear-gradient(135deg,color-mix(in srgb,var(--brand-300) 18%,#0000) 0,#0000 70%);border-radius:inherit;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--dur-fast) var(--ease-standard)}.editable-list__item:focus-within{border-color:color-mix(in srgb,var(--brand-400) 70%,#0000);box-shadow:var(--shadow-2);transform:translateY(-2px)}.editable-list__item:focus-within:after{opacity:1}.editable-list__item-grid{grid-gap:clamp(var(--space-2),1.4vw,var(--space-3));align-items:center;display:grid;gap:clamp(var(--space-2),1.4vw,var(--space-3));grid-template-columns:auto minmax(0,1fr) auto}.editable-list__index{align-items:center;background:var(--brand-100);block-size:2.4rem;border:1px solid var(--brand-200);border-radius:999px;color:var(--brand-700);display:inline-flex;font-size:.95rem;font-weight:600;inline-size:2.4rem;justify-content:center}.editable-list__field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.editable-list__item-label{color:var(--color-fg-secondary);font-size:.85rem;font-weight:600}.editable-list__input{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-fg-primary);min-width:0;padding:calc(var(--space-2) + 2px) calc(var(--space-3) + 2px);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard);width:100%}.editable-list__input:focus-visible{border-color:var(--brand-500);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-400) 30%,#0000);outline:none}.editable-list__input--invalid{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-bg-card));border-color:var(--color-danger);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-danger) 25%,#0000)}.editable-list__actions{align-items:center;display:flex;justify-content:flex-end}.editable-list__remove{align-items:center;background:color-mix(in srgb,var(--color-danger) 15%,#0000);block-size:2.5rem;border:1px solid #0000;border-radius:999px;color:var(--color-danger);cursor:pointer;display:inline-flex;font-size:1.2rem;inline-size:2.5rem;justify-content:center;line-height:1;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.editable-list__remove:focus-visible,.editable-list__remove:hover{background:color-mix(in srgb,var(--color-danger) 22%,#0000);border-color:color-mix(in srgb,var(--color-danger) 35%,#0000);box-shadow:0 12px 24px color-mix(in srgb,var(--color-danger) 25%,#0000);outline:none;transform:translateY(-2px)}.editable-list__empty{background:var(--color-bg-muted);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-fg-secondary);font-size:.95rem;padding:var(--space-4);text-align:center}@media (max-width:680px){.editable-list{padding:clamp(var(--space-3),4vw,var(--space-4))}.editable-list__header{align-items:stretch;flex-direction:column}.editable-list__cta{justify-content:space-between;width:100%}.editable-list__count{order:1}.editable-list__item-grid{grid-template-columns:minmax(0,1fr)}.editable-list__index{justify-self:flex-start}.editable-list__actions{justify-content:flex-start}.editable-list__remove{block-size:2.75rem;border-radius:var(--radius-md);inline-size:100%}.editable-list__add{inline-size:100%}}@media (prefers-reduced-motion:reduce){.editable-list,.editable-list:focus-within,.editable-list__add,.editable-list__item,.editable-list__item:after,.editable-list__item:focus-within,.editable-list__remove{transform:none;transition:none}}

/* ! DECISIÓN DE DISEÑO: Estilos del formulario de edición que aplican tokens para cumplir con DESIGN.md y accesibilidad. */.modal-scroll-area{-webkit-padding-end:var(--space-1);max-height:min(70vh,720px);overflow-x:hidden;overflow-y:auto;padding-inline-end:var(--space-1)}.manage-edit{grid-gap:var(--space-3);box-sizing:border-box;gap:var(--space-3);max-width:100%}.manage-edit .form-group{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.manage-edit .input{box-sizing:border-box;min-width:0;width:100%}.manage-edit textarea.input{min-height:132px;overflow-wrap:anywhere;resize:vertical;white-space:pre-wrap}.form-alert{background:var(--color-danger-bg);border-radius:var(--radius-md);color:var(--color-danger);font-size:.95rem;padding:var(--space-3)}.form-row{grid-gap:var(--space-3);gap:var(--space-3);grid-auto-rows:minmax(0,auto)}.form-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row--3{align-items:end;grid-template-columns:2fr 1fr auto}.manage-edit__lists{display:flex;flex-direction:column;gap:clamp(var(--space-4),2.4vw,calc(var(--space-5) - .2rem))}.manage-edit__lists-item{min-width:0}.form-group--checkbox{align-items:flex-end;gap:var(--space-2);min-width:0}.checkbox{align-items:center;color:var(--color-fg-secondary);display:inline-flex;font-size:.95rem;gap:var(--space-2);-webkit-user-select:none;user-select:none;white-space:nowrap}.hint{color:var(--color-fg-muted);font-size:.85rem}@media (max-width:720px){.form-row--2,.form-row--3{grid-template-columns:minmax(0,1fr)}.form-group--checkbox{align-items:center}}

/* ! DECISIÓN DE DISEÑO: Este stylesheet aplica tokens semánticos para alinear el panel administrativo con DESIGN.md y facilitar la retematización. */.admin-home{grid-gap:clamp(var(--space-4),2vw,var(--space-6));display:grid;gap:clamp(var(--space-4),2vw,var(--space-6))}.admin-title{font-size:clamp(var(--font-size-600),1.2vw + 1rem,var(--font-size-800));letter-spacing:-.01em;line-height:var(--line-height-tight);margin:0}.admin-subtitle{color:var(--color-fg-secondary);font-size:clamp(.95rem,.4vw + .85rem,1rem);margin:var(--space-1) 0 0}.admin-toolbar{align-items:center;background:var(--color-bg-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-3) var(--space-4);transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.admin-toolbar:focus-within{border-color:color-mix(in srgb,var(--color-btn-primary) 55%,#0000);box-shadow:var(--shadow-2);transform:translateY(-1px)}.admin-toolbar__titles{min-width:0}.admin-toolbar__actions{-webkit-margin-start:auto;align-items:center;display:flex;gap:var(--space-3);margin-inline-start:auto}.admin-logout{align-items:center;border-radius:var(--radius-md);display:inline-flex;gap:var(--space-2);padding:calc(var(--space-2) + 2px) calc(var(--space-3) + 2px);transition:transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.admin-logout:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.admin-logout__icon{opacity:.85}.admin-actions{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.admin-action{grid-gap:var(--space-3);align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);color:inherit;display:grid;gap:var(--space-3);grid-template-columns:64px 1fr;padding:var(--space-4);text-decoration:none;transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-standard),background-color var(--dur-base) var(--ease-standard)}.admin-action:focus-visible,.admin-action:hover{border-color:color-mix(in srgb,var(--color-btn-primary) 45%,#0000);box-shadow:var(--shadow-2);outline:none;transform:translateY(-2px)}.admin-action--ghost{background:var(--color-bg-muted);background:color-mix(in srgb,var(--color-bg-muted) 75%,#0000)}.admin-action__icon{background:var(--color-bg-muted);background:color-mix(in srgb,var(--color-bg-muted) 90%,#0000);block-size:56px;border-radius:var(--radius-md);color:var(--color-icon-muted);display:grid;inline-size:56px;place-items:center}.admin-action__icon--primary{background:var(--brand-100);background:color-mix(in srgb,var(--brand-200) 50%,#0000);color:var(--brand-600)}.admin-action__text{grid-gap:var(--space-1);display:grid;gap:var(--space-1);min-width:0}.admin-action__title{color:var(--color-fg-primary);font-size:var(--font-size-500);font-weight:600}.admin-action__desc{color:var(--color-fg-muted);font-size:clamp(.9rem,.3vw + .85rem,.98rem);line-height:var(--line-height-base)}@media (max-width:700px){.admin-toolbar{align-items:stretch;flex-direction:column}.admin-toolbar__actions{justify-content:flex-end;width:100%}.admin-action{grid-template-columns:minmax(0,1fr)}.admin-action__icon{block-size:48px;inline-size:48px;justify-self:flex-start}}@media (prefers-reduced-motion:reduce){.admin-action,.admin-logout,.admin-toolbar{transform:none;transition:none}}

/* ! DECISIÓN DE DISEÑO: Este archivo implementa componentes visuales usando exclusivamente tokens semánticos definidos en design-tokens.css. */html{scroll-behavior:smooth}body{background:var(--color-bg-app);color:var(--color-fg-primary);margin:0}.app-shell{display:flex;flex-direction:column;min-height:100vh}
/* ! DECISIÓN DE DISEÑO: El enlace de salto mantiene foco visible sin interferir con el layout cuando no se usa. */.skip-link{background:var(--brand-600);border-radius:var(--radius-md);box-shadow:var(--shadow-1);color:var(--color-fg-inverted);font-weight:600;left:50%;opacity:0;padding:.75rem 1.25rem;position:absolute;top:.5rem;transform:translate(-50%,-150%);transition:transform var(--dur-fast),opacity var(--dur-fast);z-index:var(--z-toast)}.skip-link:focus,.skip-link:focus-visible{opacity:1;outline:3px solid var(--color-fg-inverted);outline-offset:4px;transform:translate(-50%)}
/* ! DECISIÓN DE DISEÑO: La clase sr-only expone instrucciones para lectores de pantalla sin alterar el layout visual. */.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}main{display:flex;flex:1 1;flex-direction:column}.container{margin-inline:auto;padding-inline:var(--space-4);width:min(var(--container-max),100%)}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--color-header-translucent);border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-nav)}@supports not ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.app-header{background:var(--color-bg-surface)}}.app-header__content{justify-content:space-between;padding-block:var(--space-3)}.app-header__content,.brand{align-items:center;display:flex;gap:var(--space-3)}.brand__mark{align-items:center;background:var(--color-bg-surface);block-size:2.75rem;border:1px solid var(--color-border);border-radius:999px;box-shadow:var(--shadow-1);display:inline-flex;inline-size:2.75rem;justify-content:center}.brand__dot{background:var(--brand-600);block-size:1.4rem;border-radius:50%;inline-size:1.4rem}.brand__name{color:var(--brand-700);font-size:var(--font-size-400);font-weight:600;letter-spacing:.01em}.brand__subtitle{color:var(--color-fg-secondary)}.app-nav,.brand__subtitle{font-size:var(--font-size-300)}.app-nav{display:flex;gap:var(--space-2)}.app-nav a,.app-nav button{background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-fg-secondary);padding:var(--space-2) var(--space-3);transition:background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.app-nav a:hover,.app-nav button:hover{background:var(--brand-50);color:var(--brand-700)}
/* ! DECISIÓN DE DISEÑO: La variante brand consume tokens invertidos para garantizar contraste en cualquier tema. */.app-header--brand{background:var(--color-bg-brand);border-bottom:1px solid var(--color-border-on-brand);box-shadow:var(--shadow-2);color:var(--color-fg-on-brand)}.app-header--brand .app-header__content{align-items:center;padding:.75rem 0}.app-header__brand{align-items:center;color:inherit;display:inline-flex;gap:.75rem;text-decoration:none}.app-header__brand img{block-size:3rem;display:block;inline-size:3rem;object-fit:contain}.app-header__logo-placeholder{align-items:center;border:1px solid var(--color-border-on-brand-strong);border-radius:12px;display:inline-flex;font-weight:700;height:48px;justify-content:center;letter-spacing:.04em;width:48px}.app-header__brand-text{display:flex;flex-direction:column;gap:.2rem;line-height:1.2}.app-header__brand-title{color:inherit;font-size:1.05rem;font-weight:700}.app-header__brand-subtitle{color:var(--color-fg-on-brand-muted);font-size:.75rem}.app-header--brand .app-nav .nav-link{background:#0000;border-radius:.65rem;color:var(--color-fg-on-brand-muted);padding:.5rem .85rem;text-decoration:none;transition:background-color var(--dur-fast),color var(--dur-fast),transform var(--dur-fast),box-shadow var(--dur-fast)}.app-header--brand .app-nav .nav-link:hover{background:var(--color-bg-on-brand-hover);color:var(--color-fg-on-brand);transform:translateY(-1px)}.app-header--brand .app-nav .nav-link:focus-visible{background:var(--color-bg-on-brand-focus);box-shadow:0 0 0 2px var(--color-bg-on-brand-focus) inset,0 0 0 3px var(--color-outline-on-brand);color:var(--color-fg-on-brand);outline:none}.app-header--brand .app-nav .nav-link.is-active,.app-header--brand .app-nav .nav-link[aria-current=page]{background:var(--color-bg-on-brand-active);color:var(--color-fg-on-brand);font-weight:600}.app-header__actions{align-items:center;display:flex;gap:.5rem}.button--ghost{border:1px solid var(--color-border);color:var(--brand-700)}.app-header--brand .button--ghost{border-color:var(--color-border-on-brand);color:var(--color-fg-on-brand-soft)}.app-header--brand .button--ghost:focus-visible,.app-header--brand .button--ghost:hover{background:var(--color-bg-on-brand-hover);color:var(--color-fg-on-brand)}.app-header__admin-link.is-active{background:var(--color-bg-on-brand-active);border-color:var(--color-border-on-brand-strong);color:var(--color-fg-on-brand)}.app-header--brand .button--icon{background:#0000;border:1px solid var(--color-border-on-brand);border-radius:10px;color:var(--color-fg-on-brand);display:inline-grid;height:38px;padding:0;place-items:center;width:38px}.app-header--brand .button--icon:focus-visible,.app-header--brand .button--icon:hover{background:var(--color-bg-on-brand-hover)}.app-header__mobile-layer{align-items:stretch;display:flex;inset:0;justify-content:flex-end;pointer-events:none;
  /* ! DECISIÓN DE DISEÑO: Capa independiente portaleada que evita el clipping del header. */position:fixed;z-index:var(--z-nav)}.app-header__mobile-layer.is-open{pointer-events:auto}.app-header__mobile-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:var(--color-overlay-on-brand);inset:0;opacity:0;pointer-events:none;
  /* ! DECISIÓN DE DISEÑO: Capa superpuesta que captura clics externos y bloquea interacción con el fondo. */position:absolute;transition:opacity var(--dur-base);z-index:0}.app-header__mobile-overlay.is-visible{opacity:1;pointer-events:auto}.app-header__mobile{background:var(--color-bg-brand-elevated);border-radius:0 0 0 var(--radius-lg);box-shadow:var(--shadow-2);display:none;flex-direction:column;gap:.5rem;height:100%;overflow-y:auto;padding:1.2rem 1.25rem;pointer-events:auto;position:relative;width:min(320px,84vw);z-index:1}.app-header__mobile.is-open{display:flex}.app-header__mobile-top{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.4rem}.app-header__mobile-title{color:var(--color-fg-on-brand);font-size:1rem;font-weight:600;margin:0}.app-header__mobile-close{background:#0000;border:1px solid var(--color-border-on-brand-strong);border-radius:999px;color:var(--color-fg-on-brand);cursor:pointer;font-size:.85rem;padding:.4rem .75rem;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.app-header__mobile-close:focus-visible,.app-header__mobile-close:hover{background:var(--color-bg-on-brand-focus);border-color:var(--color-border-on-brand-strong);outline:2px solid var(--color-outline-on-brand);outline-offset:2px}.app-header__mobile-nav{grid-gap:.35rem;display:grid;gap:.35rem;padding:.5rem 0}.app-header__mobile-link{border-radius:.65rem;color:var(--color-fg-on-brand-soft);padding:.65rem .25rem;text-decoration:none;transition:background var(--dur-fast),color var(--dur-fast)}.app-header__mobile-link:focus-visible,.app-header__mobile-link:hover{background:var(--color-bg-on-brand-hover);color:var(--color-fg-on-brand);outline:2px solid var(--color-outline-on-brand);outline-offset:2px}.app-header__mobile-link.is-active,.app-header__mobile-link[aria-current=page]{background:var(--color-bg-on-brand-active);font-weight:600;padding-left:.75rem;padding-right:.75rem}.app-header__burger{display:none}@media (max-width:768px){.app-header__brand-subtitle{display:none}.app-nav{display:none!important}.app-header__burger{display:grid}}@media (min-width:769px){#primary-menu{display:none!important}}.section-gap{padding-block:var(--space-6)}.section-gap--compact{padding-block:var(--space-5)}.section-header{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.section-title{color:var(--color-fg-primary);font-size:clamp(1.25rem,1.5vw + 1rem,1.875rem);font-weight:700;line-height:var(--line-height-tight)}.section-title--sm{font-size:clamp(1.1rem,1.2vw + .9rem,1.5rem)}.section-subtitle{color:var(--color-fg-secondary);font-size:var(--font-size-400);line-height:var(--line-height-base)}.public-toolbar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.public-toolbar__actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.public-toolbar__segments{align-items:center;background:var(--color-segmented-surface);border:1px solid var(--color-segmented-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-segmented-inset);display:inline-flex;gap:.25rem;padding:.25rem}.segmented-button{align-items:center;background:#0000;border:0;border-radius:calc(var(--radius-lg) - .25rem);color:var(--color-fg-secondary);cursor:pointer;display:inline-flex;font-weight:600;gap:.35rem;justify-content:center;min-width:6.5rem;padding:.45rem 1.1rem;position:relative;transition:background var(--dur-fast),color var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast)}.segmented-button:hover{background:var(--color-segmented-item-hover);color:var(--color-fg-primary)}.segmented-button:focus-visible{outline:3px solid var(--color-outline-interactive);outline-offset:2px}.segmented-button--active,.segmented-button[aria-pressed=true]{background:var(--color-segmented-item-active);box-shadow:var(--shadow-segmented-active);color:var(--color-fg-accent)}.segmented-button--active:hover,.segmented-button[aria-pressed=true]:hover{background:var(--color-segmented-item-active-hover);color:var(--color-fg-accent)}.segmented-button:disabled{cursor:not-allowed;opacity:.7}@media (max-width:768px){.public-toolbar,.public-toolbar__actions{align-items:stretch;flex-direction:column}.public-toolbar__segments{justify-content:space-between;width:100%}.segmented-button{flex:1 1;min-width:0}}.participation-guide__toggle-wrapper{display:flex;justify-content:flex-start;margin:1.5rem 0 .75rem}.participation-guide__toggle{align-self:flex-start;font-weight:600;gap:.4rem}.participation-guide__toggle[aria-expanded=true]{background:color-mix(in srgb,var(--brand-600) 12%,#0000);border-color:color-mix(in srgb,var(--brand-600) 30%,#0000);color:var(--brand-700)}.participation-guide__toggle:focus-visible{box-shadow:0 0 0 3px #2d7ed159;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-500) 35%,#0000)}.participation-guide[data-state=collapsed]{display:none!important;visibility:hidden}.participation-guide{grid-gap:1.5rem;background:var(--color-bg-muted);background:color-mix(in srgb,var(--color-bg-surface) 80%,var(--brand-50) 20%);border:1px solid #0f28691f;border-radius:var(--radius-xl);box-shadow:0 12px 30px #020c1b0f;display:grid;gap:1.5rem;margin-bottom:2.25rem;padding:clamp(1.25rem,1vw + 1rem,2rem)}.participation-guide__header{grid-gap:.65rem;display:grid;gap:.65rem;max-width:48rem}.participation-guide__title{font-size:clamp(1.35rem,1.1vw + 1.1rem,1.8rem);margin:0}.participation-guide__intro{color:var(--color-fg-secondary);font-size:1rem;margin:0}.participation-guide__steps{grid-gap:1rem;counter-reset:step;display:grid;gap:1rem;list-style-position:inside;margin:0;padding:0}.participation-guide__step{background:var(--color-bg-muted);background:color-mix(in srgb,var(--color-bg-surface) 80%,var(--brand-50) 20%);border:1px solid #0f28691a;border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 #fff6;display:flex;flex-direction:column;gap:.65rem;padding:1.2rem 1.4rem 1.35rem}.participation-guide__step-title{font-size:1.05rem;margin:0}.participation-guide__step-copy{color:var(--color-fg-secondary);font-size:.98rem;margin:0}.participation-guide__action{align-self:flex-start;margin-top:.25rem}@media (min-width:768px){.participation-guide__steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.participation-guide__toggle-wrapper{margin:1.25rem 0 .5rem}.participation-guide{margin-bottom:1.75rem;padding:1.1rem 1.2rem 1.4rem}.participation-guide__step{padding:1rem 1.1rem 1.2rem}.participation-guide__step-title{font-size:1rem}}.grid-raffles{grid-gap:var(--space-5);display:grid;gap:var(--space-5)}@media (min-width:640px){.grid-raffles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.grid-raffles{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);position:relative;transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),background var(--dur-base) var(--ease-standard)}.card:before{background:radial-gradient(120% 60% at 50% -20%,#ffffffb3 0,#fff0 55%);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}.card:hover{box-shadow:var(--shadow-2);transform:translateY(-4px)}.button{align-items:center;border:1px solid #0000;border-radius:var(--radius-lg);display:inline-flex;font-weight:600;gap:var(--space-2);justify-content:center;min-height:2.75rem;padding:var(--space-2) var(--space-4);position:relative;text-decoration:none;transition:transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard)}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:focus-visible{outline:3px solid #2d7ed159;outline-offset:2px}@supports (outline:3px solid color-mix(in srgb,red 30%,transparent)){.button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-btn-primary) 35%,#0000)}}.button:is([disabled],[aria-disabled=true]){background:var(--button-disabled-bg);border-color:var(--button-disabled-border);box-shadow:none;color:var(--button-disabled-text);cursor:not-allowed;opacity:1;pointer-events:none;transform:none}.button:is([disabled],[aria-disabled=true]):focus-visible{outline:2px solid var(--color-border-strong);outline-offset:3px}.button--primary{background:var(--color-btn-primary);border-color:#0f4d9e59;box-shadow:var(--shadow-1);color:var(--color-btn-primary-contrast)}.button--primary:hover{background:var(--color-btn-primary-hover);filter:brightness(1.02)}.button--primary:focus-visible{outline-offset:3px}.button--primary:is([disabled],[aria-disabled=true]){background:var(--button-primary-disabled-bg);border-color:#0000;color:var(--button-primary-disabled-text)}.button--ghost{background:#0000;border-color:var(--color-border);color:var(--color-fg-primary)}.button--ghost:hover{background:#2d7ed11f}@supports (background:color-mix(in srgb,red 10%,transparent)){.button--ghost:hover{background:color-mix(in srgb,var(--color-btn-primary) 12%,#0000)}}.button--ghost:is([disabled],[aria-disabled=true]){background:var(--button-ghost-disabled-bg);border-color:var(--button-ghost-disabled-border);color:var(--button-disabled-text)}.button--subtle{border-color:#0000;color:var(--color-fg-primary)}.button--subtle,.button--subtle:hover{background:var(--color-bg-muted)}@supports (background:color-mix(in srgb,red 10%,transparent)){.button--subtle:hover{background:color-mix(in srgb,var(--color-btn-primary) 8%,var(--color-bg-muted))}}.button--subtle:is([disabled],[aria-disabled=true]){background:var(--button-subtle-disabled-bg);color:var(--button-disabled-text)}.button--gold{background:var(--gradient-gold);border-color:var(--color-gold-border);box-shadow:0 10px 24px color-mix(in srgb,var(--color-gold-strong) 28%,#0000),var(--shadow-gold-inset);color:var(--color-gold-contrast)}.button--gold:hover{filter:brightness(1.03)}.button--gold:is([disabled],[aria-disabled=true]){background:var(--button-gold-disabled-bg);border-color:var(--button-gold-disabled-border);color:var(--color-gold-contrast)}.button--danger{background:var(--color-danger);border-color:#c0343466;color:var(--color-fg-inverted)}.button--danger:hover{filter:brightness(1.05)}.button--danger:is([disabled],[aria-disabled=true]){background:var(--button-danger-disabled-bg);border-color:var(--button-danger-disabled-border);color:var(--color-fg-inverted)}.card-actions{display:flex;flex-wrap:wrap;gap:.6rem}@media (max-width:768px){.card-actions{align-items:stretch;flex-direction:column;gap:.7rem}.card-actions .button{width:100%}}.form-card{grid-gap:1rem;display:grid;gap:1rem}.form-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4)}@media (min-width:640px){.form-grid.split{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{color:var(--color-fg-secondary);font-size:var(--font-size-300);font-weight:500}.input,.select,.textarea{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-fg-primary);padding:var(--space-2) var(--space-3);transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard);width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-btn-primary);box-shadow:0 0 0 3px #2d7ed140;outline:none}@supports (box-shadow:0 0 0 3px color-mix(in srgb,red 30%,transparent)){.input:focus,.select:focus,.textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-btn-primary) 25%,#0000)}}.textarea{min-height:120px;resize:vertical}
/* ! DECISIÓN DE DISEÑO: Reemplazamos gradientes translúcidos por fondos sólidos alineados al sistema de color para reforzar legibilidad en cualquier fondo. */.toast-layer{grid-gap:.75rem;display:grid;gap:.75rem;inset:auto 1.5rem 1.5rem 1.5rem;justify-items:end;pointer-events:none;position:fixed;z-index:var(--z-toast)}.toast{--toast-bg:var(--color-info-bg);--toast-border:#2d7ed159;--toast-color:var(--color-info);--toast-title-color:var(--brand-700);--toast-body-color:var(--color-info);--toast-icon-bg:var(--brand-100);--toast-accent:var(--brand-500);grid-gap:1rem;align-items:flex-start;background:var(--toast-bg);border:1px solid var(--toast-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);color:var(--toast-color);display:grid;gap:1rem;grid-template-columns:auto 1fr auto;isolation:isolate;max-width:min(440px,100%);overflow:hidden;padding:1rem 1.1rem 1rem 1.15rem;pointer-events:auto;position:relative}@supports (color:color-mix(in srgb,red 50%,white)){.toast{--toast-border:color-mix(in srgb,var(--color-info) 30%,var(--color-bg-surface) 70%);--toast-icon-bg:color-mix(in srgb,var(--color-info-bg) 65%,var(--color-bg-surface) 35%)}}.toast:before{background:var(--toast-accent);border-radius:var(--radius-lg) 0 0 var(--radius-lg);box-shadow:0 0 12px #0000002e;content:"";inset:-1px auto -1px -1px;position:absolute;width:10px}.toast__icon{background:var(--toast-icon-bg);border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff8c;color:var(--toast-color);display:grid;font-size:1.35rem;font-weight:700;height:2.4rem;place-items:center;width:2.4rem}.toast__content{grid-gap:.2rem;display:grid;gap:.2rem;padding-right:.5rem}.toast__title{color:var(--toast-title-color);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.toast__message{color:var(--toast-body-color);font-size:.95rem;line-height:1.5;margin:0}.toast__close{align-self:flex-start;background:#ffffff47;border:1px solid #0000;border-radius:var(--radius-sm);color:inherit;min-height:auto;padding:.35rem .45rem;transition:background var(--dur-base),box-shadow var(--dur-base),transform var(--dur-fast)}.toast__close:hover{background:#ffffff73;transform:translateY(-1px)}.toast__close:focus-visible{box-shadow:0 0 0 2px #fff9;outline:2px solid currentColor;outline-offset:2px}.toast--success{--toast-bg:var(--color-success-bg);--toast-border:#1f9d5a59;--toast-color:var(--color-success);--toast-title-color:var(--color-success);--toast-body-color:var(--color-success);--toast-icon-bg:#1f9d5a1f;--toast-accent:var(--color-success)}@supports (color:color-mix(in srgb,red 50%,white)){.toast--success{--toast-border:color-mix(in srgb,var(--color-success) 30%,var(--color-bg-surface) 70%);--toast-icon-bg:color-mix(in srgb,var(--color-success-bg) 60%,var(--color-bg-surface) 40%)}}.toast--error{--toast-bg:var(--color-danger-bg);--toast-border:#c0343459;--toast-color:var(--color-danger);--toast-title-color:var(--color-danger);--toast-body-color:var(--color-danger);--toast-icon-bg:#c034341f;--toast-accent:var(--color-danger)}@supports (color:color-mix(in srgb,red 50%,white)){.toast--error{--toast-border:color-mix(in srgb,var(--color-danger) 30%,var(--color-bg-surface) 70%);--toast-icon-bg:color-mix(in srgb,var(--color-danger-bg) 60%,var(--color-bg-surface) 40%)}}.toast--warning{--toast-bg:var(--color-warning-bg);--toast-border:#b4530959;--toast-color:var(--color-warning);--toast-title-color:var(--color-warning);--toast-body-color:var(--color-warning);--toast-icon-bg:#b453091f;--toast-accent:var(--color-warning)}@supports (color:color-mix(in srgb,red 50%,white)){.toast--warning{--toast-border:color-mix(in srgb,var(--color-warning) 30%,var(--color-bg-surface) 70%);--toast-icon-bg:color-mix(in srgb,var(--color-warning-bg) 60%,var(--color-bg-surface) 40%)}}.toast--info{--toast-bg:var(--color-info-bg);--toast-border:#1d4ed859;--toast-color:var(--color-info);--toast-title-color:var(--color-info);--toast-body-color:var(--color-info);--toast-icon-bg:#1d4ed81f;--toast-accent:var(--color-info)}@supports (color:color-mix(in srgb,red 50%,white)){.toast--info{--toast-border:color-mix(in srgb,var(--color-info) 30%,var(--color-bg-surface) 70%);--toast-icon-bg:color-mix(in srgb,var(--color-info-bg) 60%,var(--color-bg-surface) 40%)}}@media (max-width:600px){.toast-layer{inset:auto 1rem 1rem 1rem;justify-items:stretch}.toast{align-items:center;grid-template-columns:auto 1fr auto}}.tag-group{display:flex;flex-wrap:wrap;font-size:.8rem;gap:.4rem}.tag{background:var(--brand-50);border-radius:999px;box-shadow:inset 0 1px 0 #ffffffb3;color:var(--brand-700);padding:.25rem .6rem}.tag--neutral{background:var(--color-bg-surface);border:1px solid var(--color-border)}.empty-state,.tag--neutral{color:var(--color-fg-secondary)}.empty-state{border:1px dashed var(--color-border);border-radius:1rem;padding:2.5rem 1.5rem;text-align:center}footer{background:var(--color-bg-surface);border-top:1px solid #0f286914}.footer__content{grid-gap:1.25rem;color:var(--color-fg-secondary);display:grid;font-size:.9rem;gap:1.25rem;padding:2rem 0}@media (min-width:640px){.footer__content{align-items:center;grid-template-columns:repeat(2,minmax(0,1fr))}.footer__content>:last-child{text-align:right}}.admin-layout{grid-gap:1.5rem;display:grid;gap:1.5rem}@media (min-width:960px){.admin-layout{align-items:start;grid-template-columns:.9fr 1.1fr}}.helper-list{grid-gap:.55rem;color:var(--color-fg-secondary);display:grid;font-size:.92rem;gap:.55rem;margin:0;padding-left:1.1rem}
/* ! Garantizamos que el modal supere al drawer utilizando el token de capa dedicado. */.modal{align-items:center;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:var(--z-modal)}
/* ! DECISIÓN DE DISEÑO: Los offsets del drawer combinan áreas seguras y medidas dinámicas para asegurar acciones visibles. */.drawer-overlay{background:#0b193680}.drawer{background:var(--color-bg-surface-elevated);bottom:0;max-width:min(100%,920px);position:absolute;right:0;top:0;transition:width .18s ease}@supports (height:100dvh){.drawer{height:100dvh;max-height:100dvh}}.drawer--resizing{cursor:ew-resize;transition:none}.drawer__resize-handle{bottom:0;cursor:ew-resize;display:none;left:0;position:absolute;top:0;touch-action:none;width:18px;z-index:2}.drawer__resize-handle:after{background:#0f286929;border-radius:999px;content:"";height:48px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:4px}.drawer__resize-handle:focus-visible:after,.drawer__resize-handle:hover:after{background:#0f286952}.drawer__resize-handle:focus-visible{box-shadow:inset 0 0 0 2px var(--brand-500);outline:none}@media (min-width:768px){.drawer__resize-handle{display:block}}.drawer__header{align-items:flex-start;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);display:flex;gap:1rem;justify-content:space-between;padding-bottom:1rem;padding-left:calc(1.25rem + var(--safe-area-left));padding-right:calc(1.25rem + var(--safe-area-right));padding-top:calc(1rem + var(--safe-area-top))}.drawer__title{color:var(--brand-700);font-size:1.1rem;font-weight:700;margin:0}.drawer__desc{color:var(--color-fg-secondary);margin:.25rem 0 0}.drawer__content{padding-bottom:1rem;padding-top:1rem}.drawer__content,.drawer__footer{padding-left:1.25rem;padding-left:calc(1.25rem + var(--safe-area-left, 0px));padding-right:1.25rem;padding-right:calc(1.25rem + var(--safe-area-right, 0px))}.drawer__footer{background:var(--color-bg-surface);display:flex;gap:.6rem;justify-content:flex-end;padding-bottom:.9rem;padding-bottom:calc(.9rem + var(--safe-area-bottom, 0px));padding-top:.9rem}.drawer__footer .button{min-width:120px}@media (max-width:520px){.drawer__footer{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.drawer__footer .button{width:100%}}.drawer .manage-edit{background:#0000;border:0;box-shadow:none;gap:.85rem;padding:0}.drawer .manage-edit .form-group{gap:.45rem}.drawer .manage-edit .textarea,.drawer .manage-edit textarea.input{min-height:140px}.drawer .form-row--2{grid-template-columns:1fr 1fr}.drawer .form-row--3{align-items:end;grid-template-columns:1.4fr .8fr auto}@media (max-width:720px){.drawer .form-row--2,.drawer .form-row--3{grid-template-columns:1fr}}.modal__overlay{background:#0b193699;inset:0;position:absolute}.modal__content{background:var(--color-bg-surface-elevated);border:1px solid #0f28691f;border-radius:1.1rem;box-shadow:var(--shadow-3);max-height:90vh;overflow-y:auto;padding:1.75rem;position:relative;width:min(500px,100%)}.modal__header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.modal__title{color:var(--brand-700);font-size:1.2rem;font-weight:600}.modal__desc{color:var(--color-fg-secondary);font-size:.95rem;margin-top:.35rem}.modal__body{grid-gap:.75rem;display:grid;gap:.75rem;margin-top:1rem}.modal__footer{display:flex;justify-content:flex-end;margin-top:1.5rem}.modal__close{border-radius:10px;display:inline-grid;height:36px;padding:0;place-items:center;width:36px}.modal__close span{font-size:1.25rem;line-height:1}.modal__section{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:.85rem;padding:.75rem .9rem}.modal__section h4{color:var(--color-fg-primary);font-size:.96rem;margin:0 0 .4rem}.modal__text{color:var(--color-fg-secondary);font-size:.9rem;margin:0}.modal__text--muted{opacity:.8}.modal__list{grid-gap:.35rem;color:var(--color-fg-primary);display:grid;font-size:.9rem;gap:.35rem;margin:0;padding-left:1.2rem}.confetti{inset:0;overflow:hidden;pointer-events:none;position:absolute}.confetti span{animation:confetti-fall .8s ease-out forwards;font-size:1rem}.link-button{background:#0000;border:none;color:var(--brand-600);cursor:pointer;font-size:.85rem;font-weight:600;padding:0;text-decoration:none;transition:color var(--dur-base)}.link-button:focus-visible,.link-button:hover{color:var(--brand-700);text-decoration:underline}.link-button:disabled{color:var(--color-fg-muted);cursor:not-allowed;opacity:.7;text-decoration:none}.subtitle-small{font-size:.85rem}.legend,.subtitle-small{color:var(--color-fg-secondary)}.legend{font-size:.8rem}.error-text{color:var(--color-danger);font-size:.85rem}.success-text{color:var(--color-success);font-size:.85rem}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.login-card{background:var(--color-bg-surface-elevated);border:1px solid #0f28691a;border-radius:1.1rem;box-shadow:0 20px 48px #020c1b1a;margin:0 auto;max-width:420px;padding:2.5rem 2rem}.demo-notice{background:#2d7ed114;border:1px solid #2d7ed12e;border-radius:var(--radius-md);color:var(--brand-700);display:flex;flex-direction:column;font-size:.9rem;gap:.35rem;line-height:1.45;margin-bottom:1.5rem;padding:.85rem 1rem}.demo-notice__credentials{display:flex;flex-wrap:wrap;gap:.25rem}.demo-notice__credentials strong{font-weight:700}.raffle-card{--raffle-accent:var(--brand-600);background:linear-gradient(180deg,var(--color-bg-surface) 0,var(--color-bg-muted) 100%);border:1px solid #4ea4ea29;border-radius:14px;border-radius:var(--radius-xl,14px);box-shadow:var(--shadow-1);overflow:hidden;padding:1.25rem 1.25rem 1.1rem;position:relative;transition:transform var(--dur-base),box-shadow var(--dur-base),background var(--dur-base)}.raffle-card:before{background:radial-gradient(130% 70% at 50% -20%,#ffffffbf 0,#fff0 58%);border-radius:inherit;inset:0}.raffle-card:after,.raffle-card:before{content:"";pointer-events:none;position:absolute}.raffle-card:after{background:radial-gradient(60% 60% at 60% 40%,#4ea4ea24 0,#4ea4ea00 62%);height:120%;right:-35%;top:-50%;transform:rotate(8deg);width:120%}.raffle-card:hover{background:linear-gradient(180deg,var(--color-bg-surface) 0,color-mix(in srgb,var(--brand-100) 40%,var(--color-bg-surface) 60%) 100%);box-shadow:var(--shadow-2);transform:translateY(-4px)}.raffle-card--soon{--raffle-accent:var(--color-accent-amber);background:linear-gradient(180deg,var(--color-bg-surface) 0,color-mix(in srgb,var(--color-warning) 25%,var(--color-bg-surface) 75%) 100%);border-color:#e59b2f47}.raffle-card__badge{align-items:center;background:#0317350f;border:1px solid #03173529;border-radius:999px;box-shadow:inset 0 1px 0 #ffffffd9;color:var(--brand-900);display:inline-flex;font-size:.78rem;gap:.45rem;line-height:1.2;margin-bottom:.35rem;padding:.38rem .7rem}.raffle-card__title{color:var(--brand-700);font-size:1.18rem;font-weight:700;letter-spacing:.01em;margin:.2rem 0}.countdown{grid-gap:.8rem;align-items:stretch;display:grid;gap:.8rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:.25rem;text-align:center}.countdown__item{background:var(--color-bg-surface);border:1px solid #0f286917;border-radius:12px;border-radius:var(--radius-md,12px);box-shadow:0 6px 16px #020c1b0f,inset 0 1px 0 #ffffffd9;display:grid;min-width:3.6rem;padding:.6rem .35rem .5rem;place-items:center}.countdown__value{font-feature-settings:"tnum";color:var(--brand-700);font-size:clamp(1.6rem,3.1vw + .5rem,2.35rem);font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1;margin-bottom:.1rem}.countdown__label{color:var(--color-fg-secondary);font-size:.72rem;letter-spacing:.04em}@media (max-width:480px){.countdown{gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr))}}.app-footer{border-top:1px solid var(--color-border);margin-top:auto}.app-footer--brand{background:var(--brand-900);box-shadow:0 -6px 24px #0003;color:var(--color-fg-inverted)}.app-footer__content{grid-gap:var(--space-3);align-items:center;display:grid;gap:var(--space-3);padding-block:var(--space-4);place-items:center}@media (min-width:640px){.app-footer__content{grid-template-columns:1fr auto}}.app-footer__brand{align-items:center;display:inline-flex;gap:var(--space-3)}.app-footer__logo-placeholder{align-items:center;block-size:2.625rem;border:1px solid #ffffff47;border-radius:12px;color:var(--color-fg-inverted);display:inline-flex;font-weight:700;inline-size:2.625rem;justify-content:center;letter-spacing:.02em}.app-footer__brand-text{display:flex;flex-direction:column;gap:.2rem;line-height:1.2}.app-footer__brand-title{color:var(--color-fg-inverted);font-size:1rem;font-weight:700}.app-footer__brand-subtitle{color:#eaf4ffbf;font-size:.8rem}.app-footer__meta{grid-gap:.35rem;display:grid;gap:.35rem;text-align:center}.app-footer__copyright{color:#eaf4ffd9;font-size:.9rem}.app-footer__links{display:inline-flex;font-size:.9rem;gap:.9rem}.app-footer__links a{border-radius:8px;color:#eaf4ffbf;padding:.25rem .35rem;text-decoration:none;transition:background-color var(--dur-fast),color var(--dur-fast),transform var(--dur-fast)}.app-footer__links a:focus-visible,.app-footer__links a:hover{background:#ffffff1a;color:var(--color-fg-inverted);outline:none}@media (prefers-reduced-motion:no-preference){.anim-fade-in{animation:fade-in .45s ease both}.anim-up{animation:fade-up .55s cubic-bezier(.22,.7,.26,1) both}.anim-scale-in{animation:scale-in .45s ease-out both}.anim-pop{animation:pop .38s cubic-bezier(.2,.9,.2,1) both}.anim-blur-in{animation:blur-in .5s ease both}.stagger>*{opacity:0;transform:translateY(8px)}.stagger.is-on>*{animation:fade-up .55s cubic-bezier(.22,.7,.26,1) both}.stagger.is-on>:first-child{animation-delay:.03s}.stagger.is-on>:nth-child(2){animation-delay:.09s}.stagger.is-on>:nth-child(3){animation-delay:.15s}.stagger.is-on>:nth-child(4){animation-delay:.21s}.stagger.is-on>:nth-child(5){animation-delay:.27s}.button:hover{transform:translateY(-1px)}.card:hover{transform:translateY(-3px)}.modal{animation:fade-in .25s ease both}.modal__content{animation:scale-in .28s ease-out both}.modal__overlay{animation:overlay-fade .25s ease both}.drawer{animation:drawer-in .28s cubic-bezier(.22,.7,.26,1) both}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes pop{0%{opacity:0;transform:scale(.9) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes blur-in{0%{filter:blur(6px);opacity:0;transform:translateY(6px)}to{filter:blur(0);opacity:1;transform:translateY(0)}}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{opacity:.01;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}.live-stage{background:linear-gradient(180deg,var(--color-fg-inverted) 0,var(--color-bg-surface) 100%);border:1px solid #4ea4ea47;border-radius:.8rem;box-shadow:inset 0 1px 0 #fffc;color:var(--brand-700);font-weight:600;margin:.75rem 0 .5rem;padding:.6rem .85rem}.live-winners{grid-gap:.6rem;display:grid;gap:.6rem;list-style:none;margin:.75rem 0 0;padding:0}.live-winners li{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 6px 16px #020c1b0f,inset 0 1px 0 #ffffffd9;display:flex;gap:.6rem;justify-content:space-between;padding:.6rem .75rem}.winner-prize{align-items:center;background:#0d47a10f;border:1px solid #0d47a129;border-radius:999px;color:var(--brand-700);display:inline-flex;font-size:.8rem;gap:.4rem;padding:.22rem .55rem;white-space:nowrap}.app-footer,.app-header{will-change:transform,opacity}.raffle-card--finished{background:#0000;border:none;box-shadow:none;overflow:visible;padding:0}.raffle-card--finished:after,.raffle-card--finished:before{content:none}.raffle-card__badge--finished{background:#ffd70024;border-color:#daa52073;color:var(--color-gold-strong)}.raffle-card--vanish{animation:raffle-vanish 1s ease forwards}@keyframes raffle-vanish{0%{filter:saturate(1);opacity:1;transform:translateY(0) scale(1)}60%{filter:saturate(.9);opacity:.5;transform:translateY(6px) scale(.98)}to{filter:saturate(.8);opacity:0;transform:translateY(12px) scale(.96)}}.confetti span{animation:confetti-fall 1s ease-out forwards;font-size:1.1rem;position:absolute;top:-10px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-12px) rotate(0deg)}to{opacity:0;transform:translateY(56px) rotate(14deg)}}.winner-row{grid-gap:.6rem;align-items:center;display:grid;gap:.6rem;grid-template-columns:auto 1fr auto}.winner-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cards-grid,.raffle-grid,.raffles-grid{align-items:start;grid-auto-rows:auto}.cards-grid,.raffle-grid{align-items:flex-start}.card,.raffle-card{box-sizing:border-box;height:auto!important}.raffle-card .card__body,.raffle-card .raffle-card__content{max-height:none!important;overflow:visible}.raffle-card--finished ol{list-style:none;margin:.6rem 0 .4rem;padding:0}.raffle-card--finished ol>li{align-items:center;display:flex;gap:.6rem}.raffle-card--finished ol>li>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raffle-card--finished ol>li .legend,.raffle-card--finished ol>li [data-prize-pill]{white-space:nowrap}.raffle-card--finished .card-actions{grid-template-columns:1fr}.raffle-card--finished[role=button]{cursor:pointer}.raffle-card--finished[role=button]:focus-visible{outline:3px solid var(--color-gold-border-focus);outline-offset:4px}.raffle-card__shell{box-sizing:border-box;display:flex;flex-direction:column;gap:1rem;height:100%;width:100%}.raffle-card__shell--finished{--raffle-finished-shell-padding-block:clamp(1rem,2vw,1.25rem);--raffle-finished-shell-padding-inline:clamp(1rem,2vw,1.2rem);--raffle-finished-shell-padding-bottom:clamp(1.65rem,3vw,2.35rem);background:var(--gradient-gold-horizontal);border:1px solid var(--color-gold-border-subtle);border-radius:1rem;box-shadow:var(--shadow-gold-shell);min-height:100%;padding:var(--raffle-finished-shell-padding-block) var(--raffle-finished-shell-padding-inline);padding-bottom:var(--raffle-finished-shell-padding-bottom)}

/* ! DECISIÓN DE DISEÑO: Las listas de ganadores/premios usan tokens dorados para mantener consistencia temática. */.raffle-card__highlight-placeholder{background:var(--gradient-gold-muted);border:1px dashed var(--color-gold-border-dashed);border-radius:var(--radius-lg);color:var(--color-fg-secondary);font-size:.95rem;margin-top:.5rem;padding:.75rem;text-align:center}.raffle-card__highlight-list{grid-gap:.6rem;display:grid;gap:.6rem;list-style:none;margin:.6rem 0 0;padding:0}.raffle-card__highlight-item{align-items:center;background:var(--gradient-gold-subtle);border:1px solid var(--color-gold-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-gold-item),var(--shadow-gold-inset);display:flex;flex-wrap:wrap;gap:.6rem;padding:.58rem .75rem}.raffle-card__highlight-leading{align-items:center;color:var(--brand-700);display:inline-flex;font-weight:700;gap:.5rem;min-width:0}.raffle-card__highlight-leading-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raffle-card__prize-name{color:var(--color-fg-primary);font-weight:600;word-break:break-word}.raffle-card__position-pill{background:var(--gradient-gold);border:1px solid var(--color-gold-border);border-radius:999px;color:var(--color-gold-contrast);display:inline-grid;font-size:.9rem;font-weight:800;height:28px;place-items:center;width:28px}.raffle-card__position-pill--regular{background:var(--gradient-gold-muted);border-color:var(--color-gold-border-subtle)}.raffle-card__position-pill--top{background:var(--gradient-gold);border-color:var(--color-gold-border)}.raffle-card--finished .raffle-card__flip{min-height:100%;overflow:visible;perspective:1200px;position:relative;transition:height .28s ease;transition:height var(--transition-slow,.28s ease)}.raffle-card--finished .raffle-card__flip-inner{min-height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.22,.61,.36,1)}.raffle-card--finished.raffle-card--show-prizes .raffle-card__flip-inner{transform:rotateY(180deg)}.raffle-card--finished .raffle-card__side{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;position:relative}.raffle-card--finished .raffle-card__side--back{inset:0;position:absolute;transform:rotateY(180deg)}.raffle-card--finished .raffle-card__side-content{align-items:stretch;display:flex;flex-wrap:wrap;gap:1rem}.raffle-card--finished .raffle-card__info{flex:1 1 260px;min-width:220px}.raffle-card--finished .raffle-card__cta{align-items:stretch;display:flex;flex:0 0 180px;flex-direction:column;gap:.6rem;justify-content:center;margin-inline:auto;min-width:180px;width:min(100%,18rem)}.raffle-card--finished .raffle-card__cta .button{margin-inline:auto;max-width:16rem;width:100%}.admin-manage{grid-gap:clamp(1.5rem,3vw,2.75rem);display:grid;gap:clamp(1.5rem,3vw,2.75rem);padding:clamp(1.75rem,4vw,3rem) 0 clamp(2.5rem,5vw,4rem)}.admin-manage>*{min-width:0}.manage-toolbar{grid-gap:clamp(.9rem,1.8vw,1.4rem);align-items:flex-start;background:linear-gradient(180deg,var(--color-bg-surface) 0,var(--brand-25) 100%);border-bottom:1px solid #0f286914;border-radius:clamp(1rem,2vw,1.35rem);box-shadow:0 16px 40px #020c1b14;box-sizing:border-box;display:grid;gap:clamp(.9rem,1.8vw,1.4rem);padding:clamp(1rem,1.6vw,1.5rem) clamp(1rem,2.2vw,1.75rem) clamp(1.1rem,1.8vw,1.75rem);width:100%}@media (min-width:720px){.manage-toolbar{align-items:center;grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}}@media (min-width:1080px){.manage-toolbar{grid-template-columns:minmax(0,.7fr) minmax(0,1fr)}}.manage-toolbar__left,.manage-toolbar__right{min-width:0}.manage-toolbar__left{grid-gap:clamp(.55rem,1.2vw,.8rem);display:grid;gap:clamp(.55rem,1.2vw,.8rem)}.manage-toolbar__headline{grid-gap:.3rem;display:grid;gap:.3rem}.manage-toolbar .section-title{margin:0}.manage-toolbar__subtitle{color:var(--color-fg-secondary);margin:0;max-width:38ch}.manage-stats{display:inline-flex;flex-wrap:wrap;gap:.45rem;row-gap:.35rem}.manage-toolbar__stats{align-items:center;justify-content:flex-start;width:100%}.manage-toolbar__stats .pill{min-width:min(100%,200px)}.pill{align-items:center;background:#0d47a10f;border:1px solid #0d47a124;border-radius:999px;color:var(--brand-700);display:inline-flex;font-size:.82rem;gap:.45rem;min-width:0;padding:.25rem .6rem}.pill--ok{background:#21965314;border-color:#21965333;color:var(--color-success)}.pill--muted{opacity:.85}.manage-toolbar__right{align-items:stretch;display:flex;flex-direction:column;gap:clamp(.65rem,1.5vw,.95rem)}@media (min-width:720px){.manage-toolbar__right{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.75rem 1rem;justify-content:flex-end}}.tabs{align-items:stretch;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:999px;box-shadow:0 6px 16px #020c1b0f;display:inline-flex;flex-wrap:wrap;gap:.35rem;justify-content:center;padding:.25rem;width:100%}.manage-toolbar__tabs{max-width:100%;width:100%}@media (min-width:520px){.manage-toolbar__tabs{width:auto}}.tab{background:#0000;border:0;border-radius:999px;color:var(--color-fg-secondary);cursor:pointer;flex:1 1 140px;font-weight:600;min-width:0;padding:.45rem .95rem;text-align:center;transition:background var(--dur-fast),color var(--dur-fast),transform var(--dur-fast);white-space:nowrap}.tab:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}.tab.is-active{background:linear-gradient(180deg,var(--brand-50) 0,var(--color-bg-surface) 100%);border:1px solid #0d47a129;box-shadow:inset 0 1px 0 #fffc;color:var(--brand-700)}@media (min-width:720px){.tab{flex:0 1 auto}}.filters{grid-gap:.5rem;display:grid;gap:.5rem}@media (min-width:520px){.filters{align-items:center;grid-template-columns:minmax(0,1fr) minmax(140px,200px)}}@media (min-width:920px){.filters{grid-template-columns:minmax(0,320px) minmax(160px,220px)}}.manage-toolbar__filters{max-width:100%;width:100%}@media (min-width:720px){.manage-toolbar__filters{width:min(100%,560px)}}.manage-toolbar__field{grid-gap:.3rem;display:grid;gap:.3rem;min-width:0}.manage-toolbar__control{width:100%}.input--sm{font-size:.92rem;height:36px;padding:.4rem .6rem}.manage-grid{grid-gap:clamp(1rem,2vw,1.4rem);align-items:stretch;display:grid;gap:clamp(1rem,2vw,1.4rem);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:clamp(1rem,2vw,1.5rem)}@media (max-width:360px){.manage-grid{grid-template-columns:1fr}}

/* ! DECISIÓN DE DISEÑO: La tarjeta adopta una superficie uniforme para eliminar biseles blancos y respetar el contenedor. */.manage-card{--manage-card-surface:var(--color-bg-surface-elevated,var(--color-bg-surface));--manage-card-border:color-mix(in srgb,var(--brand-800) 18%,#0000);--manage-card-shadow:var(--shadow-1);grid-gap:clamp(.75rem,2vw,1rem);background:var(--manage-card-surface);border:1px solid var(--manage-card-border);border-radius:1rem;box-shadow:var(--manage-card-shadow);display:grid;gap:clamp(.75rem,2vw,1rem);grid-template-rows:auto 1fr auto;height:100%;isolation:isolate;min-height:100%;overflow:hidden;padding:clamp(1rem,2vw,1.25rem);position:relative;transition:transform var(--dur-base),box-shadow var(--dur-base),border-color var(--dur-base)}.manage-card[data-state=active]{--manage-card-border:color-mix(in srgb,var(--brand-600) 24%,#0000)}.manage-card[data-state=finished]{--manage-card-border:var(--color-gold-border-subtle)}.manage-card:focus-within,.manage-card:hover{border-color:color-mix(in srgb,var(--brand-600) 28%,#0000);box-shadow:var(--shadow-2);transform:translateY(-2px)}.manage-card[data-state=finished]:focus-within,.manage-card[data-state=finished]:hover{border-color:var(--color-gold-border);box-shadow:var(--shadow-2)}.manage-card:focus-within{outline:2px solid color-mix(in srgb,var(--brand-600) 32%,#0000);outline-offset:2px}.manage-card[data-state=finished]:focus-within{outline-color:var(--color-gold-border-focus)}.manage-card:focus{outline:none}@media (prefers-reduced-motion:reduce){.manage-card{transition:box-shadow var(--dur-base),border-color var(--dur-base)}.manage-card:focus-within,.manage-card:hover{transform:none}}.manage-card__header{grid-gap:.35rem;display:grid;gap:.35rem}.manage-card__badges{display:flex;flex-wrap:wrap;gap:.35rem}.admin-tag{align-items:center;background:color-mix(in srgb,var(--brand-100) 18%,var(--color-bg-surface) 82%);border:1px solid color-mix(in srgb,var(--brand-700) 18%,#0000);border-radius:999px;color:var(--color-fg-secondary);display:inline-flex;font-size:.78rem;gap:.4rem;padding:.22rem .55rem}.admin-tag--active{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.admin-tag--finished{background:var(--color-gold-surface-soft);border-color:var(--color-gold-border-subtle);color:var(--color-gold-muted)}.admin-tag--date{background:color-mix(in srgb,var(--brand-200) 20%,var(--color-bg-surface) 80%);border-color:color-mix(in srgb,var(--brand-600) 24%,#0000);color:var(--brand-700)}.manage-card__title{color:var(--brand-700);font-size:1.06rem;line-height:1.25}.manage-card__desc{color:var(--color-fg-secondary);font-size:.92rem;margin:0}.manage-card__meta{grid-gap:.35rem;display:grid;gap:.35rem;grid-auto-rows:minmax(0,auto)}.meta-row{display:flex;font-size:.92rem;justify-content:space-between}.meta-row dt{color:var(--color-fg-secondary)}.meta-row dd{color:var(--color-fg-primary);font-weight:600;margin:0}.manage-card__actions{background:#0000;border-top:1px solid color-mix(in srgb,var(--brand-600) 20%,#0000);display:flex;flex-wrap:wrap;gap:clamp(.45rem,1.6vw,.6rem);justify-content:flex-end;margin-top:auto;padding-top:clamp(.6rem,1.5vw,.8rem);width:100%}.manage-card__actions .button{flex:1 1 150px;min-width:0}.manage-card[data-state=finished] .manage-card__actions{border-top-color:var(--color-gold-border-dashed)}@media (min-width:720px){.manage-card__actions{flex-wrap:nowrap;justify-content:flex-end}.manage-card__actions .button{flex:0 0 auto;min-width:110px}}@media (max-width:520px){.manage-card__actions{gap:.6rem;justify-content:stretch}.manage-card__actions .button{flex:1 1 100%}}.manage-edit{grid-gap:.7rem;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:.9rem;box-shadow:0 4px 16px #0000000d;display:grid;gap:.7rem;padding:1rem}.manage-edit__header{font-weight:700;margin-bottom:.2rem}.form-row{grid-gap:.6rem;display:grid;gap:.6rem}.form-row--2{grid-template-columns:1fr 1fr}.form-row--3{grid-template-columns:1fr 160px 160px}@media (max-width:720px){.form-row--2,.form-row--3{grid-template-columns:1fr}}.form-group--checkbox{align-items:end;display:flex}.manage-edit__actions{display:flex;gap:.5rem;justify-content:flex-end}.empty-hint{background:#0d47a108;border:1px dashed var(--color-border);border-radius:.9rem;color:var(--color-fg-secondary);padding:1rem}.drawer-layer{align-items:stretch;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:var(--z-overlay)}.drawer-overlay{background:#00000059;inset:0;position:absolute}.drawer{background:var(--color-bg-surface);border-left:1px solid #0f28691f;box-shadow:-20px 0 60px #020c1b2e;display:flex;flex-direction:column;height:100dvh;margin-left:auto;max-height:100dvh;overflow:hidden;position:relative;width:min(680px,100%)}.drawer__footer,.drawer__header{background:var(--color-bg-surface);flex:0 0 auto;padding:1rem 1.25rem}.drawer__footer{border-top:1px solid var(--color-border)}.drawer__content{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow:auto;padding:1rem 1.25rem;padding:1rem calc(1.25rem + var(--safe-area-right, 0px)) 1rem calc(1.25rem + var(--safe-area-left, 0px))}.admin-manage{overflow:visible}
/*# sourceMappingURL=main.1427d62e.css.map*/