/* DREAMCARS contest user page — ?page=contest (scoped to body.contest-user-open) */

body.contest-user-open{
  --cp-topbar-height:52px;
  --cp-topbar-sticky-top:calc(var(--admin-header-height,68px) + env(safe-area-inset-top,0px));
}

body.contest-user-open .wrap{
  padding-top:calc(var(--admin-header-height,68px) + env(safe-area-inset-top,0px))!important;
}

body.contest-user-open:not(.dc-shell-open) .wrap{
  padding-bottom:var(--dc-mobile-content-bottom-reserve, var(--dc-bottom-nav-mobile-reserve, 88px))!important;
}

body.contest-user-open h1,
body.contest-user-open h2{
  margin:0!important;
  padding:0!important;
}

body.contest-user-open .cu-page{
  display:flex;
  flex-direction:column;
  gap:2px;
  max-width:767px;
  margin:0 auto;
}

body.contest-user-open .cp-topbar-shell{
  position:sticky;
  top:var(--cp-topbar-sticky-top);
  z-index:4990;
  margin:0;
  padding:0;
  background:transparent;
}

body.contest-user-open .cp-topbar{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  align-items:center;
  gap:10px;
  min-height:var(--cp-topbar-height);
  margin:0;
  padding:6px 10px 6px 6px;
  border-radius:999px;
  border:1px solid rgba(255,138,0,.16);
  background:
    radial-gradient(circle at 8% 50%,rgba(255,138,0,.07),transparent 42%),
    linear-gradient(180deg,rgba(22,22,22,.98),rgba(10,10,10,.96));
  box-shadow:
    0 10px 28px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

body.contest-user-open .cp-topbar__back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:rgba(255,211,145,.92);
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
  -webkit-tap-highlight-color:transparent;
}
body.contest-user-open .cp-topbar__back:active{
  background:rgba(255,138,0,.10);
  border-color:rgba(255,138,0,.28);
  color:#ffd391;
}
body.contest-user-open .cp-topbar__back svg{
  width:20px;
  height:20px;
  display:block;
}
body.contest-user-open .cp-topbar__title{
  margin:0!important;
  padding:0!important;
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:400!important;
  letter-spacing:.01em;
  color:#fff!important;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.contest-user-open .cp-topbar__spacer{
  display:block;
  width:36px;
  height:36px;
  justify-self:end;
}

body.contest-user-open .cu-section-title{
  font-size:16px;
  font-weight:850;
  color:#fff;
  line-height:1.2;
}

/* —— Request banner —— */
body.contest-user-open .cu-request-banner{
  padding:12px 14px!important;
  border-radius:18px!important;
  border-color:rgba(255,179,71,.28)!important;
}
body.contest-user-open .cu-request-banner__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
body.contest-user-open .cu-request-banner__date{
  font-size:11px;
  color:rgba(255,255,255,.48);
}
body.contest-user-open .cu-request-banner__numbers{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  font-size:13px;
  color:rgba(255,255,255,.82);
}
body.contest-user-open .cu-request-banner__numbers b{
  color:#ffd391;
}
body.contest-user-open .cu-request-banner__hint{
  margin:8px 0 0;
  font-size:12px;
  line-height:1.4;
  color:rgba(255,255,255,.55);
}

/* —— Hero —— */
body.contest-user-open .cu-hero{
  padding:0!important;
  overflow:hidden!important;
  border-radius:22px!important;
  border:1px solid rgba(255,138,0,.22)!important;
  background:linear-gradient(180deg,rgba(20,20,20,.98),rgba(10,10,10,.96))!important;
}
body.contest-user-open .cu-hero__shell{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
body.contest-user-open .cu-hero__media{
  position:relative;
  min-width:0;
}
body.contest-user-open .cu-hero__media .contest-image{
  width:100%!important;
  max-width:100%!important;
  max-height:220px!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  display:block!important;
  background:#0b0b0b!important;
}
body.contest-user-open .cu-hero__badges{
  position:absolute;
  left:10px;
  top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  z-index:1;
}
body.contest-user-open .cu-hero__body{
  padding:14px!important;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
body.contest-user-open .cu-hero__title{
  font-size:clamp(20px,5vw,26px)!important;
  line-height:1.14!important;
  font-weight:900!important;
  color:#fff!important;
  margin:0!important;
  word-break:break-word;
}
body.contest-user-open .cu-hero__metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
body.contest-user-open .cu-metric{
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  min-width:0;
}
body.contest-user-open .cu-metric__label{
  display:block;
  font-size:10px;
  color:rgba(255,255,255,.48);
  margin-bottom:2px;
}
body.contest-user-open .cu-metric strong{
  display:block;
  font-size:13px;
  color:#fff;
  font-weight:750;
  line-height:1.25;
  word-break:break-word;
}
body.contest-user-open .cu-metric__date{
  font-size:11px!important;
  font-weight:700!important;
}
body.contest-user-open .cu-progress-wrap{
  display:flex;
  flex-direction:column;
  gap:6px;
}
body.contest-user-open .cu-progress{
  width:100%;
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}
body.contest-user-open .cu-progress > span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#ff8a00,#ffb347);
}
body.contest-user-open .cu-progress-label{
  margin:0;
  font-size:12px;
  color:rgba(255,255,255,.58);
}
body.contest-user-open .cu-promos{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}
body.contest-user-open .cu-promos__label{
  font-size:11px;
  font-weight:700;
  color:rgba(255,255,255,.48);
  margin-right:2px;
}
body.contest-user-open .cu-promo-chip{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(255,138,0,.32);
  background:rgba(255,138,0,.1);
  color:#ffd391;
  font-size:11px;
  font-weight:700;
}
body.contest-user-open .cu-share-btn{
  width:100%;
  justify-content:center;
}

/* —— Conditions —— */
body.contest-user-open .cu-conditions{
  padding:14px!important;
  border-radius:18px!important;
  border-color:rgba(255,138,0,.18)!important;
}
body.contest-user-open .cu-conditions__head{
  margin-bottom:10px;
}
body.contest-user-open .cu-conditions__empty{
  margin:0 0 10px;
  font-size:13px;
  line-height:1.45;
  color:rgba(255,255,255,.62);
}
body.contest-user-open .cu-conditions__text{
  margin:0 0 10px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  font-size:14px;
  line-height:1.55;
  color:rgba(255,255,255,.86);
  word-break:break-word;
}
body.contest-user-open .cu-conditions__text--compact{
  padding:10px 12px;
  margin-bottom:10px;
  font-size:14px;
  line-height:1.5;
}
body.contest-user-open .cu-conditions__details,
body.contest-user-open .cu-conditions__howto{
  margin:0 0 10px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  overflow:hidden;
}
body.contest-user-open .cu-conditions__howto{
  margin-bottom:0;
}
body.contest-user-open .cu-conditions__summary,
body.contest-user-open .cu-conditions__howto-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 14px;
  cursor:pointer;
  list-style:none;
  font-size:13px;
  font-weight:700;
  color:rgba(255,179,71,.9);
}
body.contest-user-open .cu-conditions__summary::-webkit-details-marker,
body.contest-user-open .cu-conditions__howto-summary::-webkit-details-marker{
  display:none;
}
body.contest-user-open .cu-conditions__summary b,
body.contest-user-open .cu-conditions__howto-summary b{
  font-size:14px;
  transition:transform .18s ease;
}
body.contest-user-open .cu-conditions__details[open] .cu-conditions__summary b,
body.contest-user-open .cu-conditions__howto[open] .cu-conditions__howto-summary b{
  transform:rotate(180deg);
}
body.contest-user-open .cu-conditions__details .cu-conditions__text{
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  padding:0 14px 12px;
}
body.contest-user-open .cu-conditions__promos{
  margin-bottom:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,138,0,.22);
  background:rgba(255,138,0,.06);
}
body.contest-user-open .cu-conditions__promos-label{
  display:block;
  margin-bottom:8px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(255,179,71,.72);
}
body.contest-user-open .cu-conditions__promos-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
body.contest-user-open .cu-conditions__promos-list li{
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:13px;
  line-height:1.4;
  color:rgba(255,255,255,.88);
}
body.contest-user-open .cu-conditions__promo-mark{
  flex:0 0 auto;
  color:#ffd391;
  font-weight:800;
}
body.contest-user-open .cu-conditions__promos-note{
  margin:8px 0 0;
  font-size:12px;
  line-height:1.4;
  color:rgba(255,255,255,.58);
}
body.contest-user-open .cu-conditions__howto .cu-conditions__steps{
  border-top:1px solid rgba(255,255,255,.08);
  padding:10px 14px 12px;
}
body.contest-user-open .cu-conditions__steps{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
body.contest-user-open .cu-conditions__steps li{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:10px;
  align-items:start;
}
body.contest-user-open .cu-conditions__steps li > span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:rgba(255,138,0,.14);
  border:1px solid rgba(255,138,0,.32);
  color:#ffd391;
  font-size:12px;
  font-weight:800;
}
body.contest-user-open .cu-conditions__steps strong{
  display:block;
  font-size:13px;
  color:#fff;
  margin-bottom:2px;
}
body.contest-user-open .cu-conditions__steps p{
  margin:0;
  font-size:12px;
  line-height:1.45;
  color:rgba(255,255,255,.68);
}

/* —— Selection bar —— */
body.contest-user-open .cu-selection{
  padding:12px 14px!important;
  border-radius:18px!important;
  position:sticky;
  top:8px;
  z-index:5;
  border-color:rgba(255,255,255,.12)!important;
}
body.contest-user-open .cu-selection--active{
  border-color:rgba(255,138,0,.42)!important;
  box-shadow:0 8px 28px rgba(255,138,0,.12)!important;
}
body.contest-user-open .cu-selection__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:32px;
  margin-bottom:10px;
}
body.contest-user-open .cu-selection__head .cu-section-title{
  flex:1 1 auto;
  min-width:0;
}
body.contest-user-open .cu-clear-btn{
  min-height:32px!important;
  height:32px!important;
  padding:0 12px!important;
  font-size:12px!important;
  flex:0 0 auto;
  align-self:center!important;
}
body.contest-user-open .cu-selection__stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
body.contest-user-open .cu-selection-stat{
  padding:8px 6px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  text-align:center;
  min-width:0;
}
body.contest-user-open .cu-selection-stat span{
  display:block;
  font-size:10px;
  color:rgba(255,255,255,.48);
}
body.contest-user-open .cu-selection-stat strong{
  display:block;
  margin-top:2px;
  font-size:15px;
  color:#ffd391;
  line-height:1.15;
  word-break:break-word;
}
body.contest-user-open .cu-selection__chips{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
body.contest-user-open .cu-selection__chip-group{
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
  min-width:0;
}
body.contest-user-open .cu-selection__chip-label{
  display:block;
  margin-bottom:6px;
  font-size:10px;
  font-weight:700;
  color:rgba(255,255,255,.48);
  text-transform:uppercase;
  letter-spacing:.04em;
}
body.contest-user-open .cu-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
body.contest-user-open .cu-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  min-height:26px;
  padding:0 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  line-height:1;
}
body.contest-user-open .cu-chip--selected{
  background:rgba(250,204,21,.16);
  border:1px solid rgba(253,224,71,.42);
  color:#fde047;
}
body.contest-user-open .cu-chip--bonus{
  background:rgba(255,138,0,.16);
  border:1px solid rgba(255,179,71,.45);
  color:#ffb347;
}
body.contest-user-open .cu-chip--empty{
  color:rgba(255,255,255,.42);
  font-weight:650;
  font-size:13px;
}
body.contest-user-open .cu-selection__hint{
  margin:10px 0 0;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,138,0,.08);
  border:1px solid rgba(255,138,0,.22);
  font-size:12px;
  color:#ffd391;
}
body.contest-user-open .cu-selection__actions{
  margin-top:14px;
  display:grid;
  gap:8px;
}
body.contest-user-open .cu-buy-sticker-btn{
  width:100%;
  justify-content:center;
  font-weight:750!important;
}
body.contest-user-open .cu-selection__pay-note{
  margin:0!important;
  font-size:12px;
  line-height:1.4;
}
body.contest-user-open .cu-selection__stickers-hint{
  margin:0 0 10px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,138,0,.1);
  border:1px solid rgba(255,138,0,.24);
  font-size:13px;
  color:rgba(255,255,255,.88);
}
body.contest-user-open .cu-selection__stickers-hint strong{
  color:#ffd391;
}
body.contest-user-open .cu-pay-stickers-btn{
  width:100%;
  min-height:46px!important;
  font-weight:800!important;
}

/* —— Numbers grid —— */
body.contest-user-open .cu-numbers{
  padding:14px!important;
  border-radius:18px!important;
}
body.contest-user-open .cu-numbers__head{
  margin-bottom:10px;
}
body.contest-user-open .cu-legend{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 10px;
  margin-bottom:10px;
}
body.contest-user-open .cu-legend__item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  color:rgba(255,255,255,.62);
}
body.contest-user-open .cu-legend__item::before{
  content:"";
  flex:0 0 14px;
  width:14px;
  height:14px;
  border-radius:5px;
  border:1px solid transparent;
}
body.contest-user-open .cu-legend__item--free::before{
  background:#22c55e;
  border-color:#86efac;
}
body.contest-user-open .cu-legend__item--selected::before{
  background:#facc15;
  border-color:#fde047;
}
body.contest-user-open .cu-legend__item--bonus::before{
  background:#ff8a00;
  border-color:#ffb347;
}
body.contest-user-open .cu-legend__item--busy::before{
  background:#ef4444;
  border-color:#f87171;
}
body.contest-user-open .cu-hide-busy{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  font-size:12px;
  color:rgba(255,255,255,.72);
  cursor:pointer;
}
body.contest-user-open .cu-hide-busy input{
  width:16px;
  height:16px;
  accent-color:#ff8a00;
}
body.contest-user-open .cu-ticket-grid{
  margin-top:0!important;
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:7px!important;
}
body.contest-user-open .cu-legend{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px 10px;
  margin-bottom:10px;
}
body.contest-user-open .cu-legend__item--reserved::before{
  background:#facc15;
  border-color:#fde047;
}
body.contest-user-open .cu-legend__item--paid::before{
  background:#ef4444;
  border-color:#f87171;
}
body.contest-user-open .cu-legend__item--my-paid::before{
  background:#a855f7;
  border-color:#c084fc;
}
body.contest-user-open .cu-legend__item--blocked::before{
  background:#6b7280;
  border-color:#9ca3af;
}
body.contest-user-open .cu-ticket-grid .num{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  border-radius:9px!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
}
body.contest-user-open .cu-ticket-grid .num.view-free-green{
  border:1px solid rgba(74,222,128,.95)!important;
  background:#22c55e!important;
  color:#07160d!important;
  box-shadow:0 0 0 1px rgba(134,239,172,.28) inset,0 4px 10px rgba(34,197,94,.16)!important;
}
body.contest-user-open .cu-ticket-grid .num.view-free-green:hover:not(:disabled){
  border-color:#86efac!important;
  filter:brightness(1.05)!important;
}
body.contest-user-open .cu-ticket-grid .num.view-reserved-yellow{
  background:#facc15!important;
  border:1px solid #fde047!important;
  color:#211700!important;
  box-shadow:0 0 0 1px rgba(254,240,138,.28) inset,0 4px 10px rgba(250,204,21,.18)!important;
}
body.contest-user-open .cu-ticket-grid .num.view-reserved-yellow:not([disabled]){
  cursor:pointer!important;
}
body.contest-user-open .cu-ticket-grid .num.view-reserved-yellow:not([disabled]):hover{
  filter:brightness(1.04)!important;
}
body.contest-user-open .cu-ticket-grid .num.view-bonus-orange{
  background:#ff8a00!important;
  border:1px solid #ffb347!important;
  color:#1a0f00!important;
  box-shadow:0 0 0 3px rgba(255,138,0,.22),0 0 0 1px rgba(255,179,71,.35) inset!important;
}
body.contest-user-open .cu-ticket-grid .num.view-paid-red{
  background:#ef4444!important;
  border:1px solid #f87171!important;
  color:#fff5f5!important;
  box-shadow:0 0 0 1px rgba(254,202,202,.18) inset,0 4px 10px rgba(239,68,68,.18)!important;
}
body.contest-user-open .cu-ticket-grid .num.view-my-paid-purple{
  background:#a855f7!important;
  border:1px solid #c084fc!important;
  color:#faf5ff!important;
  box-shadow:0 0 0 3px rgba(168,85,247,.24),0 0 0 1px rgba(216,180,254,.32) inset!important;
}
body.contest-user-open .cu-ticket-grid .num.view-blocked-gray{
  background:#4b5563!important;
  border:1px solid #6b7280!important;
  color:#e5e7eb!important;
  opacity:.72!important;
}
body.contest-user-open .cu-ticket-grid .num[disabled]{
  cursor:not-allowed!important;
  opacity:.88!important;
}

/* —— Payment —— */
body.contest-user-open .cu-payment{
  padding:14px!important;
  border-radius:18px!important;
}
body.contest-user-open .cu-payment .cu-section-title{
  margin-bottom:12px!important;
}
body.contest-user-open .cu-payment-participant{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
}
body.contest-user-open .cu-payment-row{
  display:grid;
  grid-template-columns:minmax(0,38%) minmax(0,1fr);
  gap:8px;
  align-items:baseline;
  font-size:13px;
}
body.contest-user-open .cu-payment-row span{
  color:rgba(255,255,255,.52);
}
body.contest-user-open .cu-payment-row strong{
  color:#fff;
  text-align:right;
  word-break:break-word;
}
body.contest-user-open .cu-payment-note{
  margin:0 0 10px;
  font-size:12px;
  line-height:1.45;
}
body.contest-user-open .cu-payment-empty{
  margin:0 0 10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px dashed rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
  font-size:12px;
  color:rgba(255,255,255,.62);
}
body.contest-user-open .cu-payment-preview{
  margin:0;
  font-size:13px;
  color:rgba(255,255,255,.62);
}
body.contest-user-open .cu-payment-preview strong{
  color:#ffd391;
}
body.contest-user-open .cu-pay-method__meta a{
  color:#ffb347;
  text-decoration:underline;
}
body.contest-user-open .cu-payment-form{
  display:flex;
  flex-direction:column;
  gap:10px;
}
body.contest-user-open .cu-file-upload{
  display:flex;
  flex-direction:column;
  gap:8px;
  cursor:pointer;
  position:relative;
}
body.contest-user-open .cu-receipt-label{
  font-size:13px;
  font-weight:650;
  color:rgba(255,255,255,.82);
}
body.contest-user-open .cu-file-upload__control{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:6px 8px 6px 6px;
  border-radius:14px;
  border:1px solid rgba(255,138,0,.28);
  background:rgba(255,255,255,.04);
}
body.contest-user-open .cu-file-upload__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:32px;
  padding:0 12px;
  border-radius:10px;
  background:rgba(255,138,0,.18);
  border:1px solid rgba(255,138,0,.38);
  color:#ffd391;
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
}
body.contest-user-open .cu-file-upload__name{
  flex:1 1 auto;
  min-width:0;
  font-size:12px;
  color:rgba(255,255,255,.55);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.contest-user-open .cu-file-upload__name.is-filled{
  color:rgba(255,255,255,.88);
}
body.contest-user-open .cu-file-upload__input{
  display:none;
}
body.contest-user-open .cu-submit-btn{
  width:100%;
  min-height:46px!important;
  font-size:15px!important;
  font-weight:800!important;
}
body.contest-user-open .cu-submit-btn[disabled]{
  opacity:.45!important;
  cursor:not-allowed!important;
}
body.contest-user-open .cu-payment--ready{
  border-color:rgba(255,138,0,.45)!important;
}

body.contest-user-open .cu-payment-due{
  margin:0 0 12px;
  font-size:15px;
}
body.contest-user-open .cu-payment-due strong{
  color:#ffd391;
}
body.contest-user-open .cu-payment-methods{
  margin:0 0 14px;
}
body.contest-user-open .cu-payment-methods__label{
  margin:0 0 8px;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
body.contest-user-open .cu-payment-methods__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
body.contest-user-open .cu-pay-method{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  min-height:72px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.22);
  color:#fff;
  text-align:left;
  cursor:pointer;
}
body.contest-user-open .cu-pay-method.is-active{
  border-color:rgba(255,138,0,.65);
  box-shadow:0 0 0 1px rgba(255,138,0,.25);
}
body.contest-user-open .cu-pay-method.is-disabled,
body.contest-user-open .cu-pay-method:disabled{
  opacity:.45;
  cursor:not-allowed;
}
body.contest-user-open .cu-pay-method--link{
  text-decoration:none;
}
body.contest-user-open .cu-pay-method__title{
  font-size:14px;
  font-weight:700;
}
body.contest-user-open .cu-pay-method__meta{
  font-size:12px;
  color:rgba(255,255,255,.62);
}
body.contest-user-open .cu-payment-panel{
  margin:0 0 14px;
  padding:12px;
  border-radius:14px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.08);
}
body.contest-user-open .cu-payment-panel[hidden]{
  display:none!important;
}
body.contest-user-open .cu-payment-action,
body.contest-user-open .cu-sbp-link{
  width:100%;
  margin-top:10px;
}
body.contest-user-open .cu-inventory-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:10px 0;
}
body.contest-user-open .cu-inventory-item{
  display:grid;
  grid-template-columns:auto 1fr 64px;
  gap:10px;
  align-items:center;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.04);
}
body.contest-user-open .cu-inventory-item img{
  width:40px;
  height:40px;
  object-fit:contain;
}
body.contest-user-open .cu-inventory-item__meta{
  display:flex;
  flex-direction:column;
  gap:2px;
  font-size:12px;
}
body.contest-user-open .cu-inventory-item__qty{
  width:100%;
  min-height:36px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.25);
  color:#fff;
  text-align:center;
}
body.contest-user-open .cu-inventory-sum.is-ok{
  color:#bbf7d0;
}
body.contest-user-open .cu-inventory-sum.is-warn{
  color:#ffd391;
}
body.contest-user-open .cu-inventory-sum.is-overpay{
  color:#ffb4a2;
}
body.contest-user-open .cu-inventory-short{
  margin-bottom:10px;
}
body.contest-user-open .cu-payment-autopick{
  width:100%;
  margin:0 0 8px;
}
body.contest-user-open .cu-payment-status.is-error{
  color:#ff8a80;
}
body.contest-user-open .cu-payment-open-btn{
  width:100%;
  margin-top:4px;
  min-height:46px;
  font-size:15px;
  font-weight:700;
}
body.contest-user-open .cu-pay-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0 0 calc(var(--dc-bottom-nav-mobile-reserve, 72px) + env(safe-area-inset-bottom, 0px));
}
body.contest-user-open .cu-pay-modal[hidden]{
  display:none!important;
}
body.contest-user-open .cu-pay-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.62);
}
body.contest-user-open .cu-pay-modal__panel{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  width:min(100%,480px);
  max-height:min(78dvh,620px);
  margin:0;
  padding:0;
  border-radius:16px 16px 0 0;
  border:1px solid rgba(255,138,0,.28);
  border-bottom:none;
  background:#121212;
  box-shadow:0 -8px 32px rgba(0,0,0,.45);
  overflow:hidden;
}
body.contest-user-open .cu-pay-modal__close{
  position:absolute;
  top:8px;
  right:8px;
  width:32px;
  height:32px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  z-index:2;
}
body.contest-user-open .cu-pay-modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 44px 8px 12px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
body.contest-user-open .cu-pay-modal__title{
  margin:0;
  font-size:16px;
  font-weight:800;
  line-height:1.2;
}
body.contest-user-open .cu-pay-modal__timer{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,138,0,.32);
  background:rgba(255,138,0,.08);
  flex:0 0 auto;
}
body.contest-user-open .cu-pay-modal__timer-label{
  font-size:11px;
  color:rgba(255,255,255,.62);
  white-space:nowrap;
}
body.contest-user-open .cu-pay-modal__timer-value{
  font-size:18px;
  line-height:1;
  color:#ffb347;
  font-variant-numeric:tabular-nums;
  font-weight:800;
}
body.contest-user-open .cu-pay-modal__due{
  margin:0;
  padding:8px 12px 0;
  font-size:13px;
  color:rgba(255,255,255,.72);
}
body.contest-user-open .cu-pay-modal__due strong{
  color:#ffd391;
  font-size:15px;
}
body.contest-user-open .cu-pay-modal__scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:8px 12px 4px;
  -webkit-overflow-scrolling:touch;
}
body.contest-user-open .cu-pay-modal__methods{
  margin-bottom:8px;
}
body.contest-user-open .cu-pay-modal__methods .cu-payment-methods__label{
  display:none;
}
body.contest-user-open .cu-pay-modal .cu-pay-method{
  min-height:58px;
  padding:8px 10px;
  border-radius:12px;
}
body.contest-user-open .cu-pay-modal .cu-pay-method__title{
  font-size:13px;
}
body.contest-user-open .cu-pay-modal .cu-pay-method__meta{
  font-size:11px;
  line-height:1.25;
}
body.contest-user-open .cu-pay-modal__panel-body{
  margin:0 0 6px;
  padding:8px 10px;
  border-radius:12px;
}
body.contest-user-open .cu-pay-modal__hint{
  margin:0 0 8px!important;
  font-size:12px;
  line-height:1.35;
}
body.contest-user-open .cu-pay-modal .cu-inventory-block{
  margin:0;
}
body.contest-user-open .cu-pay-modal .cu-inventory-block--compact .cu-inventory-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:0 0 6px;
  padding:6px 8px;
  border-radius:10px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
body.contest-user-open .cu-pay-modal .cu-inventory-block--compact .cu-inventory-sum{
  margin:0;
  font-size:12px;
  font-weight:650;
  font-variant-numeric:tabular-nums;
}
body.contest-user-open .cu-pay-modal .cu-inventory-block--compact .cu-payment-autopick{
  width:auto;
  min-height:30px;
  margin:0;
  padding:0 10px;
  font-size:11px;
  border-radius:999px;
  flex:0 0 auto;
}
body.contest-user-open .cu-pay-modal .cu-inventory-list{
  display:flex;
  flex-direction:column;
  gap:4px;
  max-height:min(168px, 26dvh);
  overflow-y:auto;
  overscroll-behavior:contain;
  margin:0;
  padding-right:2px;
  -webkit-overflow-scrolling:touch;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item{
  display:grid;
  grid-template-columns:18px 30px minmax(0,1fr) auto;
  grid-template-areas:"mark thumb info price";
  gap:0 8px;
  align-items:center;
  padding:5px 8px;
  min-height:40px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item.is-selected,
body.contest-user-open .cu-pay-modal .cu-inventory-item:has(.cu-inventory-item__check:checked){
  grid-template-columns:18px 30px minmax(0,1fr) auto auto;
  grid-template-areas:"mark thumb info price qty";
  border-color:rgba(255,138,0,.55);
  background:rgba(255,138,0,.08);
  box-shadow:0 0 0 1px rgba(255,138,0,.18);
}
body.contest-user-open .cu-pay-modal .cu-inventory-item__check{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item__mark{
  grid-area:mark;
  width:16px;
  height:16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(0,0,0,.2);
  flex:0 0 auto;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item.is-selected .cu-inventory-item__mark,
body.contest-user-open .cu-pay-modal .cu-inventory-item:has(.cu-inventory-item__check:checked) .cu-inventory-item__mark{
  border-color:#ff8a00;
  background:#ff8a00;
  box-shadow:inset 0 0 0 3px #121212;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item__thumb{
  grid-area:thumb;
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:rgba(0,0,0,.22);
  overflow:hidden;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item__thumb img{
  width:26px;
  height:26px;
  object-fit:contain;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item__thumb-fallback{
  font-size:14px;
  line-height:1;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item__info{
  grid-area:info;
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:6px;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item__title{
  font-size:12px;
  font-weight:700;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item__avail{
  font-size:10px;
  color:rgba(255,255,255,.45);
  flex:0 0 auto;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item__price{
  grid-area:price;
  font-size:11px;
  font-weight:700;
  color:#ffd391;
  white-space:nowrap;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item__qtybox{
  grid-area:qty;
  display:none;
  align-items:center;
  justify-content:flex-end;
  gap:3px;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item.is-selected .cu-inventory-item__qtybox,
body.contest-user-open .cu-pay-modal .cu-inventory-item:has(.cu-inventory-item__check:checked) .cu-inventory-item__qtybox{
  display:flex;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item__step{
  width:24px;
  height:24px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  background:rgba(0,0,0,.28);
  color:#fff;
  font-size:14px;
  line-height:1;
  cursor:pointer;
  padding:0;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item__qty{
  width:30px;
  min-height:24px;
  padding:2px 4px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.25);
  color:#fff;
  text-align:center;
  font-size:12px;
  -moz-appearance:textfield;
}
body.contest-user-open .cu-pay-modal .cu-inventory-item__qty::-webkit-outer-spin-button,
body.contest-user-open .cu-pay-modal .cu-inventory-item__qty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
body.contest-user-open .cu-pay-modal .cu-inventory-short{
  margin:6px 0 0;
  font-size:11px;
  line-height:1.35;
}
body.contest-user-open .cu-pay-modal .cu-inventory-hint{
  margin:8px 0 0;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,122,0,.1);
  border:1px solid rgba(255,122,0,.22);
  font-size:11px;
  line-height:1.4;
  color:rgba(255,255,255,.82);
}
body.contest-user-open .cu-pay-modal .cu-inventory-hint a{
  color:#ffb347;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}
body.contest-user-open .cu-pay-modal__footer{
  flex:0 0 auto;
  padding:8px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  border-top:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(18,18,18,.92), #121212);
}
body.contest-user-open .cu-pay-modal__footer .cu-payment-legal{
  margin:0 0 8px;
  font-size:10px;
  line-height:1.35;
  color:rgba(255,255,255,.48);
}
body.contest-user-open .cu-pay-modal__status{
  margin:0 0 6px!important;
  font-size:12px;
}
body.contest-user-open .cu-pay-modal__submit{
  width:100%;
  min-height:44px;
  margin:0;
  font-size:15px;
  font-weight:700;
}
body.contest-user-open .cu-pay-modal__submit[hidden]{
  display:none!important;
}
body.contest-user-open.cu-pay-modal-open{
  overflow:hidden;
}
body.contest-user-open .cu-sbp-info{
  margin-bottom:10px;
  font-size:13px;
  line-height:1.45;
}

body.contest-user-open .pill{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
}
body.contest-user-open .pill.ok{
  background:rgba(34,197,94,.14);
  border:1px solid rgba(74,222,128,.42);
  color:#86efac;
}
body.contest-user-open .pill.warn{
  background:rgba(250,204,21,.12);
  border:1px solid rgba(253,224,71,.38);
  color:#fde047;
}
body.contest-user-open .pill.muted{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.72);
}

@media (min-width:960px){
  body.contest-user-open .cu-hero__shell{
    display:grid;
    grid-template-columns:minmax(220px,34%) minmax(0,1fr);
    align-items:stretch;
  }
  body.contest-user-open .cu-hero__media .contest-image{
    max-height:none!important;
    aspect-ratio:auto!important;
    min-height:100%!important;
    height:100%!important;
  }
  body.contest-user-open .cu-hero__metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.contest-user-open .cu-share-btn{
    width:auto;
  }
  body.contest-user-open .cu-legend{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  body.contest-user-open .cu-ticket-grid{
    grid-template-columns:repeat(auto-fill,minmax(46px,1fr))!important;
    gap:8px!important;
  }
  body.contest-user-open .cu-ticket-grid .num{
    height:46px!important;
    min-height:46px!important;
    border-radius:13px!important;
    font-size:15px!important;
  }
}

@media (min-width:720px){
  body.contest-user-open .cu-hero__metrics{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

body.contest-user-open .cu-guest-auth{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0 0 14px;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,179,71,.12),rgba(255,255,255,.03));
  border:1px solid rgba(255,179,71,.28);
}
body.contest-user-open .cu-guest-auth__text{
  margin:0;
  color:rgba(242,246,249,.82);
  font-size:14px;
  line-height:1.45;
}
body.contest-user-open .cu-guest-auth__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
