/* V181: audit archive dashboard, audience per-account limits, judging 3-minute timer */
.v181-vote-limits{margin-top:14px}.v181-voter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.v181-voter-head h3{margin:0 0 4px}.v181-voter-head p{margin:0;color:#8c9099;font-size:12px}.v181-voters{display:grid;gap:8px;margin-top:10px;max-height:420px;overflow:auto}.v181-voter-row{display:grid;grid-template-columns:minmax(190px,1fr) 80px minmax(135px,170px) auto auto;align-items:center;gap:8px;padding:10px;border:1px solid #272b33;border-radius:14px;background:#0b0e13}.v181-voter-id{min-width:0}.v181-voter-id b,.v181-voter-id small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v181-voter-id small,.v181-voter-used small,.v181-voter-limit label{color:#8c9099;font-size:10px}.v181-voter-used{text-align:center}.v181-voter-limit input{width:100%;margin-top:4px;background:#12161d;border:1px solid #303641;color:#fff;border-radius:9px;padding:8px}
.v181-run-timer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px 14px;border:1px solid #29303a;border-radius:14px;background:linear-gradient(135deg,#10151d,#0a0d12)}.v181-run-timer>div:first-child{display:grid;gap:2px}.v181-run-timer span,.v181-run-timer small{color:#9ca3af;font-size:11px}.v181-run-timer strong{font-size:30px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:1px}.v181-run-timer.expired{border-color:#ef313b;background:#2a0c10}.v181-run-timer.expired strong{color:#ff4b55}.v181-timer-actions{display:flex;gap:7px;flex-wrap:wrap}
.v181-audit-batch-view{border:1px solid #353b45;border-radius:20px;background:#0b0e13;padding:16px;margin-block:14px;overflow:hidden}.v181-audit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.v181-audit-head span{font-size:10px;letter-spacing:.16em;color:#ff3a44;font-weight:800}.v181-audit-head h2{margin:4px 0 4px;font-size:20px}.v181-audit-head p{margin:0;color:#9aa0aa;font-size:12px}.v181-audit-actions{display:flex;gap:8px;flex-wrap:wrap}.v181-audit-actions button,.v181-audit-error button{border:0;border-radius:10px;padding:9px 13px;background:#ef1e2f;color:#fff;font-weight:800;cursor:pointer}.v181-audit-actions button.ghost{background:#151a22;border:1px solid #333945}.v181-audit-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.v181-audit-stats>div{border:1px solid #272d36;border-radius:13px;padding:12px;background:#10141a}.v181-audit-stats b,.v181-audit-stats small{display:block}.v181-audit-stats b{font-size:22px}.v181-audit-stats small{color:#9399a3;font-size:10px}.v181-audit-tools{display:grid;grid-template-columns:minmax(220px,1fr) 170px auto;gap:8px;align-items:center;margin-bottom:10px}.v181-audit-tools input,.v181-audit-tools select{background:#0e1218;border:1px solid #313741;color:#fff;border-radius:10px;padding:10px}.v181-audit-tools span{color:#9ca3af;font-size:11px}.v181-audit-table-wrap{overflow:auto;max-height:58vh;border:1px solid #242a32;border-radius:14px}.v181-audit-table-wrap table{width:100%;border-collapse:collapse;min-width:1050px}.v181-audit-table-wrap th,.v181-audit-table-wrap td{padding:10px;border-bottom:1px solid #222831;text-align:right;vertical-align:top;font-size:11px}.v181-audit-table-wrap th{position:sticky;top:0;background:#12161d;z-index:2}.v181-audit-detail{max-width:480px;white-space:normal;line-height:1.7;color:#aeb4bd}.v181-audit-detail.bad{color:#ff8a90;background:#2a0c10;border:1px solid #5c1d24;padding:7px;border-radius:8px}.v181-audit-status{display:inline-block;border-radius:999px;padding:4px 8px;font-weight:800}.v181-audit-status.ok{background:#0f3526;color:#60daa8}.v181-audit-status.bad{background:#3b0d12;color:#ff737b}.v181-audit-empty{text-align:center;color:#8f96a0;padding:26px!important}.v181-audit-loading,.v181-audit-error{min-height:130px;display:grid;place-items:center;gap:9px;color:#adb3bc}.v181-audit-loading i{width:30px;height:30px;border:3px solid #333;border-top-color:#ef313b;border-radius:50%;animation:v181spin .8s linear infinite}@keyframes v181spin{to{transform:rotate(360deg)}}
@media(max-width:820px){.v181-voter-row{grid-template-columns:1fr 70px}.v181-voter-limit{grid-column:1/-1}.v181-audit-head{display:grid}.v181-audit-stats{grid-template-columns:repeat(2,1fr)}.v181-audit-tools{grid-template-columns:1fr}.v181-run-timer{align-items:flex-start;flex-direction:column}}

/* V182 — stable routing + unified auth */
.v182-join-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:34px}.v182-login-main{width:100%;min-height:98px;border-radius:22px;border:1px solid rgba(239,49,59,.42);background:linear-gradient(135deg,rgba(239,49,59,.18),#101217 58%,#0c0e12);color:#fff;padding:18px 22px;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:15px;text-align:right;cursor:pointer;box-shadow:0 18px 60px rgba(239,49,59,.08)}.v182-login-main>i{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#ef313b;font-size:20px}.v182-login-main div{display:grid;gap:4px}.v182-login-main b{font-size:20px}.v182-login-main small{color:#969ca6;font-size:11px}.v182-login-main strong{display:flex;align-items:center;gap:8px;color:#fff}.v182-login-main strong i{font-size:11px;color:#ef313b}.v182-create-title{display:flex;align-items:center;gap:12px;margin-top:26px;color:#8f959f;font-size:11px}.v182-create-title:before,.v182-create-title:after{content:"";height:1px;background:#242830;flex:1}.v182-register-chooser{width:min(980px,100%);margin:auto;padding:44px 24px}.v182-register-chooser>h1{font-size:clamp(32px,5vw,56px);margin:8px 0 8px}.v182-register-chooser>p{color:#9298a2;margin:0;line-height:1.8}.v182-register-chooser .v173-role-grid{margin-top:26px}.v182-account-type{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px;padding:5px;border:1px solid #242931;border-radius:14px;background:#090b0e}.v182-account-type button{border:0;border-radius:10px;padding:10px;background:transparent;color:#8e949e;font-weight:800;cursor:pointer}.v182-account-type button.active{background:#1a1f27;color:#fff;box-shadow:inset 0 0 0 1px #353b46}.v182-account-type i{margin-left:6px;color:#ef313b}
/* Prevent route hosts from visually blinking while a duplicate event is ignored. */
[data-v171-judging-react-host="1"],[data-v171-audience-react-host="1"],[data-v179-audience-members-react-host="1"]{contain:layout paint}
@media(max-width:600px){.v182-login-main{grid-template-columns:46px 1fr;min-height:86px;padding:15px}.v182-login-main>i{width:46px;height:46px}.v182-login-main strong{grid-column:2}.v182-register-chooser{padding:30px 16px}.v182-account-type{margin-inline:0}}

/* V183 — unified auth scroll ownership.
   The auth card can be taller than the viewport. Older fan styles used a fixed
   full-screen app + centered grid which could leave the submit button below the
   viewport while wheel/touch scrolling had no reliable owner. On auth routes the
   fixed app itself is now the one and only vertical scroll container. */
html.v183-auth-scroll,
html.v183-auth-scroll body{
  height:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
}
html.v183-auth-scroll #v173-app{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y pinch-zoom!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-gutter:stable;
}
html.v183-auth-scroll #v173-app .v173-shell{
  height:auto!important;
  min-height:100%!important;
  overflow:visible!important;
  display:block!important;
}
html.v183-auth-scroll #v173-app .v173-top{
  position:sticky!important;
  top:0!important;
  width:100%!important;
  z-index:100!important;
}
html.v183-auth-scroll #v173-app .v173-main{
  height:auto!important;
  min-height:calc(100dvh - 66px)!important;
  max-height:none!important;
  overflow:visible!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y pinch-zoom!important;
}
html.v183-auth-scroll #v173-app .v177-auth-shell{
  height:auto!important;
  min-height:calc(100dvh - 66px)!important;
  max-height:none!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:24px 24px 64px!important;
  overflow:visible!important;
}
html.v183-auth-scroll #v173-app .v177-auth-card{
  flex:0 0 auto!important;
  margin:0 auto!important;
  max-height:none!important;
  overflow:visible!important;
}
html.v183-auth-scroll #v173-app .v182-register-chooser{
  min-height:calc(100dvh - 66px)!important;
  padding-bottom:64px!important;
}
@media(max-width:600px){
  html.v183-auth-scroll #v173-app .v173-main{min-height:calc(100dvh - 60px)!important}
  html.v183-auth-scroll #v173-app .v177-auth-shell{
    min-height:calc(100dvh - 60px)!important;
    padding:0 0 calc(48px + env(safe-area-inset-bottom,0px))!important;
    display:block!important;
  }
  html.v183-auth-scroll #v173-app .v177-auth-card{
    min-height:auto!important;
    padding-bottom:calc(34px + env(safe-area-inset-bottom,0px))!important;
  }
}
