@font-face{font-family:Montserrat;src:url('/assets/montserrat.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{font-family:Montserrat,system-ui,sans-serif;color:#14283d;background:#f2f6fa;--navy:#0c223a;--ink:#14283d;--muted:#4c657b;--blue:#18547e;--line:#d5e1e9;--green:#415f3b;--gold:#ead1a0;--radius:15px}
*,*::before,*::after{box-sizing:border-box}
body{margin:0}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit}
button,a,input,select{touch-action:manipulation}
a{color:var(--blue)}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.58}
:focus-visible{outline:3px solid #b67630;outline-offset:3px}
h1,h2,h3,p,ul,ol,figure{margin:0}
img{display:block;max-width:100%;object-fit:contain}
small{line-height:1.4}
.brand-rule{height:4px;background:linear-gradient(90deg,#d5ad59 0 22%,#dd9165 22% 43%,#6c834e 43% 64%,#654782 64% 81%,#4a88ac 81%)}
.brand{display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand img{width:142px;max-height:49px}
.event-logo{max-width:84px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:45px;gap:8px;padding:9px 14px;border:1px solid var(--line);border-radius:9px;color:var(--blue);background:#fff;font-weight:650;text-decoration:none;text-align:center}
.btn:hover{background:#edf5fa}
.primary{border-color:var(--blue);background:var(--blue);color:#fff}
.primary:hover{background:#103d5e}
.danger{color:#a0352c}
.boot{display:grid;gap:12px;place-content:center;min-height:90vh;text-align:center;color:var(--muted)}
.boot strong{color:var(--ink);font-size:30px}
.notice{border:1px solid #c4d9e6;background:#eef6fb;color:#1e4662;border-radius:10px;padding:12px;line-height:1.5}
.notice:empty{display:none}
.notice.is-error{border-color:#e5bcb4;background:#fcf1ee;color:#7e3025}
.eyebrow{color:var(--blue);font-size:.74rem;letter-spacing:.12em;font-weight:750;text-transform:uppercase}
.screen-shell {
  --screen-navy:#142f4c;
  --screen-blue:#146096;
  --screen-muted:#50657b;
  --screen-line:#dfe8f1;
  --screen-pad:clamp(18px,3.15vw,56px);
  min-height:100svh;
  background:#fff;
  color:var(--screen-navy);
  display:flex;
  flex-direction:column;
}
.screen-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:clamp(13px,1.7vw,25px) var(--screen-pad);
  border-bottom:1px solid var(--screen-line);
}
.screen-header .brand { justify-content:flex-start;gap:clamp(10px,1.35vw,24px); }
.screen-header .brand img { width:clamp(106px,12vw,188px);height:auto;max-height:60px; }
.screen-brand-guatemala { display:grid;justify-items:center;gap:4px;width:clamp(125px,17.8vw,244px);flex:none; }
.screen-header .brand .screen-brand-guatemala img { width:100%;max-height:none; }
.screen-brand-guatemala span { color:var(--screen-navy);font-size:clamp(.67rem,1.28vw,1.08rem);font-weight:700;letter-spacing:.17em;text-transform:uppercase; }
.screen-organizers { display:flex;align-items:center;gap:clamp(8px,1.2vw,18px);padding-left:clamp(9px,1.2vw,18px);border-left:1px solid var(--screen-line); }
.screen-header .brand .event-logo { width:clamp(42px,7vw,104px);max-height:none; }
.screen-header .brand .congress-logo { width:clamp(66px,8.5vw,134px);max-height:none; }
.screen-event { display:grid;gap:3px;text-align:right; }
.screen-event strong { font-size:clamp(.78rem,1.24vw,1.3rem);font-weight:730; }
.screen-event small { color:var(--screen-muted);font-size:clamp(.63rem,.88vw,1rem); }
.screen-nav { display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap;font-size:.74rem; }
.screen-nav a,.qr-panel a { color:var(--screen-blue);text-underline-offset:3px; }
.screen-nav .screen-admin-link { display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid var(--screen-line);border-radius:7px;font-weight:680;text-decoration:none;white-space:nowrap; }
.screen-nav .screen-admin-link:hover { background:#f1f7fc; }
.screen-nav select { margin-left:5px;background:#fff;color:var(--screen-navy);border:1px solid var(--screen-line);border-radius:5px;max-width:180px; }
#screen-fullscreen { display:grid;place-items:center;width:33px;height:32px;padding:0;border:1px solid var(--screen-line);border-radius:7px;background:#fff;color:var(--screen-blue); }
#screen-fullscreen:hover { background:#f1f7fc; }
#screen-fullscreen::before { width:15px;height:15px;background:linear-gradient(currentColor,currentColor) left top/5px 1.5px,linear-gradient(currentColor,currentColor) left top/1.5px 5px,linear-gradient(currentColor,currentColor) right top/5px 1.5px,linear-gradient(currentColor,currentColor) right top/1.5px 5px,linear-gradient(currentColor,currentColor) left bottom/5px 1.5px,linear-gradient(currentColor,currentColor) left bottom/1.5px 5px,linear-gradient(currentColor,currentColor) right bottom/5px 1.5px,linear-gradient(currentColor,currentColor) right bottom/1.5px 5px;background-repeat:no-repeat;content:''; }
#screen-fullscreen[data-active="true"]::before { width:11px;height:11px; }
.screen-main {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(285px,.8fr);
  align-items:center;
  gap:clamp(24px,4.1vw,86px);
  width:min(100%,1540px);
  margin:auto;
  padding:clamp(20px,2.2vw,36px) var(--screen-pad);
}
.screen-stage { position:relative;display:grid;justify-items:center;min-width:0;text-align:center; }
.screen-stage .eyebrow,.screen-panel .eyebrow { color:var(--screen-blue);font-size:clamp(.7rem,1.04vw,1rem);letter-spacing:.12em; }
.screen-stage h1 { margin:6px 0 9px;color:var(--screen-navy);font-size:clamp(2.2rem,3.9vw,4.6rem);line-height:1.04;letter-spacing:-.055em;font-weight:820; }
.screen-stage>p { color:var(--screen-muted);font-size:clamp(.92rem,1.29vw,1.4rem);line-height:1.38;min-height:1.38em;max-width:42em; }
.screen-stage>p strong { color:var(--screen-navy);font-weight:780;overflow-wrap:anywhere; }
.wheel {
  position:relative;
  isolation:isolate;
  width:min(100%,51.5vh,650px);
  aspect-ratio:1;
  margin:clamp(18px,2vw,32px) auto 5px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 1px #dbe6ef,0 0 0 clamp(5px,.57vw,12px) #f1f6fb,0 15px 38px #193e6027;
}
.screen-stage .wheel { width:min(100%,46.5vh,580px);margin-top:clamp(29px,3.8vw,44px); }
.wheel-rotor { position:absolute;inset:0;border-radius:50%;transform:rotate(0); }
.wheel-window { position:absolute;inset:0;overflow:hidden;border-radius:50%; }
.wheel canvas { display:block;width:100%;height:100%; }
.wheel-pointer {
  position:absolute;
  z-index:2;
  top:-2.65%;
  left:50%;
  width:8%;
  height:8.6%;
  transform:translateX(-50%);
  background:var(--screen-navy,#142f4c);
  clip-path:polygon(4% 0,96% 0,100% 12%,56% 96%,50% 100%,44% 96%,0 12%);
}
.wheel-hub {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  z-index:1;
  width:23%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle at 42% 35%,#fff 45%,#edf3f8 100%);
  border:clamp(2px,.33vw,5px) solid #fff;
  box-shadow:0 0 0 1px #dbe6ef,0 5px 15px #17375135,inset 0 0 0 1px #e3edf4;
}
.wheel-hub img { width:73%;max-height:49%;height:auto; }
.screen-panels { display:grid;align-content:center;gap:clamp(12px,1.45vw,26px);min-width:0; }
.screen-panel { min-width:0;border:1px solid var(--screen-line);border-radius:clamp(14px,1.25vw,22px);background:#fff;padding:clamp(14px,1.5vw,26px); }
.screen-panel h2 { margin:5px 0 7px;font-size:clamp(1.28rem,2.25vw,2.65rem);line-height:1.06;letter-spacing:-.035em;font-weight:760; }
.screen-panel p { color:var(--screen-muted);font-size:clamp(.82rem,1.05vw,1.16rem);line-height:1.42; }
.qr-panel { display:grid;grid-template-columns:minmax(0,1fr) minmax(85px,55%);gap:clamp(9px,1.3vw,20px);align-items:center;background:#f3f8fd;border-color:#dbe8f5; }
.qr-panel canvas { display:block;width:100%;aspect-ratio:1;background:#fff;border:1px solid #dbe7f2;border-radius:9px;image-rendering:pixelated; }
.qr-panel a { display:inline-block;margin-top:7px;overflow-wrap:anywhere;font-size:clamp(.72rem,.9vw,.98rem);font-weight:650; }
.screen-queue-panel>.eyebrow { display:flex;align-items:center;gap:8px; }
.screen-queue-panel>.eyebrow::before { width:8px;height:8px;border-radius:50%;background:#577d51;content:''; }
.screen-queue { display:grid;gap:6px;list-style:none;padding:0;margin:12px 0 0;max-height:clamp(150px,24vh,265px);overflow-y:auto; }
.screen-queue li { display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;color:var(--screen-navy);font-size:clamp(.91rem,1.7vw,1.28rem); }
.screen-queue .queue-number { color:var(--screen-blue);font-variant-numeric:tabular-nums;min-width:3.35em;padding:4px 7px;border-radius:5px;background:#edf5fc; }
.screen-queue .queue-name { overflow-wrap:anywhere;line-height:1.24;font-weight:590; }
.screen-queue li:first-child .queue-name { font-weight:680; }
.screen-stats { display:flex;flex-wrap:wrap;gap:6px 15px;margin-top:12px;padding-top:10px;border-top:1px solid var(--screen-line);color:var(--screen-muted);font-size:clamp(.73rem,.96vw,1rem); }
.screen-stat strong { color:var(--screen-navy);font-variant-numeric:tabular-nums; }
.screen-winner {
  position:absolute;
  z-index:3;
  bottom:-1%;
  left:50%;
  transform:translateX(-50%);
  width:min(96%,700px);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(10px,2vw,28px);
  padding:clamp(12px,1.55vw,24px);
  border:1px solid #d6b568;
  border-radius:clamp(12px,1.2vw,19px);
  background:#fffdf5;
  box-shadow:0 10px 34px #7d68312e;
  color:var(--screen-navy);
  text-align:left;
}
.screen-winner-copy { min-width:0; }
.screen-winner .eyebrow { margin-top:8px;color:#70521a; }
.screen-congrats { margin-bottom:7px;color:#614315;font-size:clamp(1.15rem,2.45vw,2.45rem);font-weight:800;letter-spacing:-.035em;line-height:1.12; }
.screen-winner-result { font-size:clamp(.98rem,1.65vw,1.8rem);font-weight:680;line-height:1.22;overflow-wrap:anywhere; }
.screen-winner strong { display:block;margin-top:4px;font-size:clamp(1.08rem,2.25vw,2.32rem);line-height:1.16; }
.screen-winner-photo { width:clamp(78px,14vw,174px);aspect-ratio:1;padding:clamp(5px,.7vw,11px); }
.screen-winner-photo img { width:100%;height:100%;filter:drop-shadow(0 3px 6px #233f5c24); }
.screen-winner[data-no-prize] { border-color:#c9dbe8;background:#f7fbff;box-shadow:0 10px 30px #233f5c20; }
.screen-winner[data-no-prize] .screen-congrats,.screen-winner[data-no-prize] .eyebrow { color:#365878; }
.screen-carousel { --carousel-gap:clamp(8px,1.15vw,16px);--carousel-card:clamp(198px,16.8vw,345px);width:min(100%,1540px);margin:0 auto;padding:0 var(--screen-pad) clamp(18px,2.3vh,31px); }
.screen-carousel-heading { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px; }
.screen-carousel-heading h2 { color:var(--screen-navy);font-size:clamp(1.08rem,1.55vw,1.65rem);letter-spacing:-.025em;font-weight:770; }
.screen-carousel-controls { display:flex;align-items:center;gap:6px; }
.screen-carousel-controls button { display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--screen-line);border-radius:9px;background:#fff;color:var(--screen-blue);font-size:1.35rem;font-weight:700;line-height:1; }
.screen-carousel-controls button:hover { border-color:#b8d4ec;background:#f1f7fc; }
.carousel-play::before { width:10px;height:12px;border-inline:3px solid currentColor;content:''; }
.carousel-play[data-paused="true"]::before { width:0;height:0;border:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid currentColor;transform:translateX(1px); }
.screen-carousel-viewport { overflow:hidden;min-width:0; }
.screen-carousel-viewport[data-manual="true"] { overflow-x:auto;scrollbar-width:none; }
.screen-carousel-viewport[data-manual="true"]::-webkit-scrollbar { display:none; }
.screen-carousel-track { display:flex;width:max-content; }
.screen-prizes { display:flex;flex:none;gap:var(--carousel-gap);padding:0;padding-inline-end:var(--carousel-gap);list-style:none; }
.screen-prize { display:flex;flex:0 0 var(--carousel-card);align-items:center;gap:clamp(7px,.95vw,14px);min-width:0;min-height:clamp(66px,7.8vh,94px);padding:8px 10px;border:1px solid var(--screen-line);border-radius:clamp(10px,1vw,16px);background:#fff; }
.screen-prize-photo { flex:none;display:grid;place-items:center;width:clamp(45px,5.1vw,82px);height:clamp(48px,6.5vh,72px);padding:5px;border-radius:7px;background:#f2f6fa; }
.screen-prize-photo img { width:100%;height:100%;min-height:0; }
.screen-prize[data-family="promocionales"] .screen-prize-photo { background:#faf4e5; }
.screen-prize[data-family="amnion"] .screen-prize-photo { background:#edf4e8; }
.screen-prize[data-family="regenerion"] .screen-prize-photo { background:#f4eef8; }
.screen-prize[data-family="celulas"] .screen-prize-photo { background:#eaf4fd; }
.screen-prize-copy { display:grid;gap:3px;min-width:0; }
.screen-prize-copy small { color:var(--screen-muted);font-size:clamp(.58rem,.71vw,.77rem);font-weight:640;line-height:1.16; }
.screen-prize-copy strong { color:var(--screen-navy);font-size:clamp(.74rem,1.02vw,1.12rem);line-height:1.2;font-weight:740;overflow-wrap:anywhere; }
.screen-connection { position:fixed;right:12px;bottom:12px;z-index:5;font-size:.78rem; }
.screen-shell[data-layout="portrait"] .screen-main { grid-template-columns:1fr;width:min(100%,1110px);row-gap:clamp(22px,3.2vh,58px); }
.screen-shell[data-layout="portrait"] .screen-panels { grid-template-columns:repeat(2,minmax(0,1fr)); }
.screen-shell[data-layout="portrait"] .wheel { width:min(82vw,44vh,830px); }
.screen-shell[data-layout="portrait"] .screen-carousel { width:min(100%,1110px); }
@media(max-aspect-ratio:1/1) and (min-width:611px) {
  .screen-shell:not([data-layout="landscape"]) { --screen-pad:clamp(22px,3.1vw,40px); }
  .screen-shell:not([data-layout="landscape"]) .screen-main { flex:1;grid-template-columns:1fr;align-content:space-evenly;width:100%;row-gap:clamp(22px,1.9vh,36px);margin:0 auto;padding-block:clamp(18px,1.48vh,29px); }
  .screen-shell:not([data-layout="landscape"]) .screen-stage h1 { font-size:clamp(2.8rem,6.8vw,5rem); }
  .screen-shell:not([data-layout="landscape"]) .screen-stage>p { font-size:clamp(1rem,1.9vw,1.35rem); }
  .screen-shell:not([data-layout="landscape"]) .screen-panels { grid-template-columns:minmax(0,1.13fr) minmax(0,1fr); }
  .screen-shell:not([data-layout="landscape"]) .qr-panel { grid-template-columns:minmax(0,1fr) minmax(0,68%); }
  .screen-shell:not([data-layout="landscape"]) .screen-panel h2 { font-size:clamp(1.5rem,3.1vw,2.45rem); }
  .screen-shell:not([data-layout="landscape"]) .screen-panel p { font-size:clamp(.86rem,1.55vw,1.22rem); }
  .screen-shell:not([data-layout="landscape"]) .wheel { width:min(82vw,39vh,800px); }
  .screen-shell:not([data-layout="landscape"]) .screen-carousel { --carousel-card:clamp(164px,21.5vw,242px);width:100%; }
  .screen-shell:not([data-layout="landscape"]) .screen-prize { display:grid;grid-template-rows:auto 1fr;align-items:start;gap:9px;padding:9px;text-align:center; }
  .screen-shell:not([data-layout="landscape"]) .screen-prize-photo { width:100%;height:clamp(91px,9.2vh,184px);padding:9px; }
  .screen-shell:not([data-layout="landscape"]) .screen-prize-copy { min-height:3.7em; }
  .screen-shell:not([data-layout="landscape"]) .screen-prize-copy strong { font-size:clamp(.94rem,1.65vw,1.2rem); }
  .screen-shell:not([data-layout="landscape"]) .screen-prize-copy small { font-size:clamp(.66rem,1.2vw,.82rem); }
}
@media(max-width:610px) {
  .screen-shell { --screen-pad:14px; }
  .screen-header { flex-wrap:wrap;gap:9px;padding-block:10px; }
  .screen-header .brand { gap:8px; }
  .screen-header .brand img { width:90px; }
  .screen-brand-guatemala { width:112px; }
  .screen-header .brand .event-logo { width:42px; }
  .screen-header .brand .congress-logo { width:52px; }
  .screen-organizers { gap:6px;padding-left:6px; }
  .screen-event { flex:1 1 120px; }
  .screen-nav .screen-admin-link { min-height:44px; }
  .screen-main,.screen-shell[data-layout="portrait"] .screen-main { grid-template-columns:1fr;row-gap:21px;padding-block:20px; }
  .screen-main .screen-panels,.screen-shell[data-layout="portrait"] .screen-panels { grid-template-columns:1fr; }
  .screen-stage h1 { font-size:clamp(2rem,8.7vw,3.25rem); }
  .screen-stage .eyebrow,.screen-panel .eyebrow { font-size:.72rem; }
  .screen-shell .wheel,.screen-shell[data-layout="portrait"] .wheel { width:min(75vw,395px); }
  .screen-carousel { --carousel-card:clamp(158px,44vw,224px); }
  .screen-carousel-controls button { width:40px;height:40px; }
  .screen-prize-copy strong { hyphens:manual; }
  .qr-panel { grid-template-columns:minmax(0,1fr) minmax(85px,45%); }
}
@media(max-width:430px) {
  .screen-event { flex-basis:100%; }
}
@media(min-aspect-ratio:6/5) and (min-width:920px) {
  .screen-header { padding-block:17px; }
  .screen-main { padding-block:18px; }
  .screen-stage .wheel { margin-top:36px; }
  .screen-panels { row-gap:15px; }
  .screen-panel { padding-block:17px; }
  .screen-queue { gap:4px; }
  .screen-shell[data-layout="portrait"] .screen-main { row-gap:clamp(14px,2.2vh,24px);padding-block:20px; }
  .screen-shell[data-layout="portrait"] .screen-stage h1 { font-size:clamp(2rem,4.8vh,3.25rem); }
  .screen-shell[data-layout="portrait"] .wheel { width:min(40vh,470px); }
}
.site-header{border-bottom:1px solid var(--line);background:#fff}
.site-header .brand{width:min(100% - 30px,1150px);margin:0 auto;min-height:69px}
.site-header .site-brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;font-weight:750}
.site-header .site-brand span{border-left:1px solid var(--line);padding-left:12px}
.site-header .brand .event-logo{max-height:48px;width:auto}
.site-wrap{width:min(100% - 30px,1150px);margin:clamp(22px,5vw,62px) auto}
.site-wrap.narrow{max-width:560px}
.site-title{margin-bottom:20px}
.site-title h1{font-size:clamp(2rem,5.2vw,3.2rem);letter-spacing:-.045em;line-height:1.07;margin:5px 0 8px}
.site-title p{color:var(--muted);line-height:1.5}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(14px,3vw,24px);min-width:0}
.panel h2{font-size:clamp(1.12rem,2.6vw,1.45rem);margin-bottom:8px}
.panel + .panel{margin-top:12px}
.form{display:grid;gap:13px}
.registration-privacy{display:grid;gap:10px;min-width:0;margin:0;padding:12px 13px;border:1px solid var(--line);border-radius:9px;background:#f5f9fc}
.registration-privacy legend{padding:0 5px;font-size:.87rem;font-weight:700}
.registration-privacy p{font-size:.82rem;color:var(--muted);line-height:1.5}
.registration-privacy .check{font-size:.83rem}
.field{display:grid;gap:5px;font-weight:650;font-size:.88rem;min-width:0}
.field input,.field select,.field textarea,.field-input{min-width:0;width:100%;min-height:44px;padding:9px 10px;border:1px solid #b9cbd7;border-radius:8px;background:#fff;color:var(--ink);font-size:16px}
.field textarea{resize:vertical}
.field small{font-weight:500;color:var(--muted)}
.phone-field{display:grid;grid-template-columns:minmax(74px,95px) minmax(0,1fr);gap:6px}
.check{display:flex;align-items:flex-start;gap:9px;font-size:.85rem;line-height:1.5;color:var(--muted)}
.check input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--blue)}
.ticket{text-align:center}
.ticket .number{display:block;font-size:clamp(3rem,14vw,5.6rem);font-weight:790;letter-spacing:-.075em;color:var(--blue);font-variant-numeric:tabular-nums}
.ticket p{line-height:1.5;color:var(--muted)}
.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.event-card{display:grid;gap:7px}
.event-card p{color:var(--muted);line-height:1.4}
.event-card .actions{margin-top:6px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.admin-heading h1{margin-top:5px;font-size:clamp(1.65rem,4vw,2.7rem);line-height:1.08}
.admin-heading p{color:var(--muted);margin-top:5px;line-height:1.5}
.admin-event{display:grid;grid-template-columns:minmax(150px,340px) 1fr;gap:10px;align-items:end;margin-bottom:12px}
.admin-tabs{display:flex;flex-wrap:wrap;gap:5px;padding:5px;margin-bottom:12px;background:#e6eef4;border-radius:10px}
.admin-tabs button{padding:8px 13px;min-height:40px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--muted);font-weight:650}
.admin-tabs button[aria-current=page]{color:var(--blue);background:#fff;border-color:var(--line)}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:12px;align-items:start}
.admin-grid .panel{margin:0}
.admin-grid .form{margin-top:11px}
.counter-row{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.counter{display:grid;gap:2px;min-width:88px;padding:8px 10px;background:#edf4f8;border-radius:8px;color:var(--muted);font-size:.77rem}
.counter strong{color:var(--ink);font-size:1.32rem}
.table-scroll{max-width:100%;overflow:auto}
table{width:100%;border-collapse:collapse;text-align:left;font-size:.84rem}
th,td{padding:9px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
th{color:var(--muted);font-size:.76rem;font-weight:750}
td .btn{min-height:35px;padding:6px 9px}
td .table-name{display:block;font-weight:650}
td small{display:block;color:var(--muted)}
.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.config-grid .wide{grid-column:1/-1}
.config-group{border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0}
.config-group summary{font-weight:700;cursor:pointer}
.config-group[open] summary{margin-bottom:12px}
.no-prize-setting{display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr);align-items:center;gap:8px 14px;margin-bottom:10px;padding:10px 12px;border:1px solid #efccd2;border-radius:9px;background:#fff7f8}
.no-prize-setting .field{color:#872d3e}
@media(max-width:480px){.no-prize-setting{grid-template-columns:minmax(0,1fr)}.no-prize-setting input{max-width:9rem}}
.config-group .config-row{display:grid;grid-template-columns:minmax(145px,1.3fr) minmax(105px,.7fr) repeat(2,minmax(76px,.4fr)) minmax(125px,1fr) auto;gap:6px;align-items:end;border-bottom:1px solid var(--line);padding:7px 0}
.config-group .config-row.group-row{grid-template-columns:minmax(140px,1fr) minmax(110px,.75fr) minmax(75px,.4fr) minmax(85px,.45fr) auto}
.config-group .config-row input,.config-group .config-row select{min-height:38px;font-size:13px;padding:6px}
.config-group .btn{min-height:38px}
.config-group .row-pic{display:flex;align-items:center;gap:4px}
.config-group .row-pic img{width:34px;height:34px;flex:none}
.inventory-editor{--inventory-columns:minmax(0,1.38fr) minmax(0,1fr) minmax(5.25rem,.5fr) minmax(7.5rem,.68fr) minmax(9.5rem,.84fr) 4.4rem;--inventory-gap:clamp(8px,1.1vw,15px);margin:0}
.inventory-editor legend,.initial-inventory h3{color:var(--navy);font-weight:750;font-size:.95rem}
.inventory-editor legend{padding-inline:6px}
.inventory-totals{margin-block:10px 15px}
.inventory-columns,.config-group .inventory-row{display:grid;grid-template-columns:var(--inventory-columns);gap:var(--inventory-gap);padding-inline:10px}
.inventory-columns{background:#eaf2f8;color:var(--muted);border-radius:8px 8px 0 0;padding-block:8px;font-size:.74rem;font-weight:730}
.config-group .inventory-row{align-items:start;padding-block:8px}
.inventory-row:nth-child(even){background:#f8fafc}
.inventory-accessible,.inventory-row .field-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.inventory-stock{display:flex;gap:6px;align-items:center;justify-content:space-between;margin:0;min-height:38px;font-size:.76rem}
.inventory-stock div{min-width:0}
.inventory-stock dt{color:var(--muted);font-size:.64rem;line-height:1.15}
.inventory-stock dd{margin:2px 0 0;color:var(--blue);font-weight:750;font-variant-numeric:tabular-nums}
.inventory-row .btn{width:100%;padding:6px 8px;font-size:.78rem}
.inventory-row .inventory-image{gap:3px}
.inventory-media{display:flex;align-items:center;gap:7px;min-height:38px}
.inventory-thumbnail{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:3px;border:1px solid var(--line);border-radius:7px;background:#fff}
.inventory-thumbnail img{width:100%;height:100%;min-height:0}
.inventory-row .file-select{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:4px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:.71rem;text-decoration:none}
.inventory-row .file-select:hover{background:#edf5fa}
.inventory-row .file-select input{height:100%;padding:0}
.inventory-image-path summary{width:max-content;margin:0 0 0 45px;color:var(--blue);font-size:.67rem;font-weight:570}
.inventory-image-path[open] summary,.config-group[open] .inventory-image-path summary{margin-bottom:0}
.inventory-image-path input{margin-top:5px}
.inventory-actions{margin-top:9px}
.config-group .prize-weight-row{grid-template-columns:minmax(0,1fr) minmax(108px,.22fr);align-items:center}
.prize-weight-row strong,.prize-weight-row small{display:block;overflow-wrap:anywhere}
.prize-weight-row strong{font-size:.83rem}
.prize-weight-row small{color:var(--muted);font-size:.72rem}
.initial-inventory{--inventory-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(100px,.6fr) minmax(9.5rem,.9fr)}
.config-group .initial-inventory .inventory-row,.initial-inventory .inventory-row{border:0}
.initial-inventory .inventory-row .field-label{position:static;width:auto;height:auto;clip-path:none;white-space:normal}
.config-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.empty{color:var(--muted);font-size:.9rem;line-height:1.5}
.audit-list{list-style:none;display:grid;gap:7px;padding:0}
.audit-list li{border-bottom:1px solid var(--line);padding:8px 0}
.audit-list small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:760px){
  .admin-grid,.admin-event{grid-template-columns:1fr}
  .config-group .config-row,.config-group .config-row.group-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .config-group .config-row button{justify-self:start}
  .site-header .brand img{width:112px}
  .site-header .site-brand span{font-size:.82rem;padding-left:8px}
}
@media(max-width:410px){.config-grid{grid-template-columns:1fr}.config-grid .wide{grid-column:auto}}
@media(max-width:840px){
  .inventory-columns{display:none}
  .config-group .inventory-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 7px;padding:10px;border:1px solid var(--line);border-radius:8px}
  .inventory-row .field-label{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;font-size:.73rem;color:var(--muted)}
  .inventory-row .btn{width:auto;justify-self:end;align-self:center}
}
@media(max-width:450px){
  .inventory-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .inventory-totals .counter{padding:7px 5px;font-size:.67rem;overflow-wrap:anywhere}
  .inventory-totals .counter strong{font-size:1.04rem}
  .config-group .prize-weight-row{grid-template-columns:minmax(0,1fr) minmax(90px,.5fr)}
  .inventory-thumbnail{width:30px;height:30px;flex-basis:30px}
  .inventory-image-path summary{margin-left:0}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
.file-select{position:relative;width:max-content;color:var(--blue);font-size:.75rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.file-select input{position:absolute;inset:0;opacity:0;min-height:0;cursor:pointer}
.file-select:focus-within{outline:2px solid #b67630;outline-offset:2px}

.screen-registration-notice {
  position:relative;
  z-index:1;
  display:grid;
  gap:2px;
  margin:9px 0 3px;
  padding:clamp(7px,.75vw,13px) clamp(9px,1vw,15px);
  border:1px solid #cfe3d2;
  border-radius:clamp(8px,.85vw,13px);
  background:#f2faf2;
  color:#234d3e;
  box-shadow:0 5px 16px #244d3d15;
  font-size:clamp(.78rem,1.1vw,1.15rem);
  line-height:1.27;
  overflow-wrap:anywhere;
  animation:screen-registration-enter .22s ease-out both;
}
.screen-registration-notice strong { font-weight:750; }
.screen-registration-notice[data-closing] { animation:screen-registration-leave .22s ease-in both; }
@keyframes screen-registration-enter {
  from { opacity:0;transform:translateY(-5px); }
  to { opacity:1;transform:translateY(0); }
}
@keyframes screen-registration-leave {
  from { opacity:1;transform:translateY(0); }
  to { opacity:0;transform:translateY(-4px); }
}
@media(prefers-reduced-motion:reduce) {
  .screen-registration-notice,.screen-registration-notice[data-closing] { animation:none; }
}
