/* ======================================================================
   POLISH v12 — payment confirmation UI, admin motion, consistency fixes
   Loaded last so it can safely refine earlier redesign passes.
   ====================================================================== */

/* ---------- Registration error / info banner ---------- */
.registration-alert-v12{
  display:flex;align-items:flex-start;gap:14px;
  margin:0 0 22px;padding:16px 18px;
  border:1px solid rgba(255,92,108,.32);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,92,108,.12),rgba(255,92,108,.03));
  animation:polishSlideIn .38s cubic-bezier(.2,.8,.2,1);
}
.registration-alert-icon-v12{
  flex:0 0 auto;display:grid;place-items:center;
  width:30px;height:30px;border-radius:10px;
  background:rgba(255,92,108,.18);color:#ff8c98;
  font:800 15px Unbounded,sans-serif;
}
.registration-alert-v12 b{display:block;font-size:13px;color:#ffb3ba;letter-spacing:-.01em}
.registration-alert-v12 p{margin:5px 0 0;color:#d6b9bc;font-size:12.5px;line-height:1.6}

/* ---------- Payment confirmation box (registration form) ---------- */
.payment-confirm-box-v12{
  margin:2px 0 4px;padding:16px 17px;
  border:1.5px dashed rgba(255,122,26,.4);
  border-radius:16px;
  background:rgba(255,122,26,.06);
  transition:border-color .25s ease,background .25s ease,transform .2s ease;
}
.payment-confirm-box-v12.is-confirmed{
  border-style:solid;
  border-color:rgba(86,227,159,.45);
  background:rgba(86,227,159,.08);
}
.payment-confirm-check-v12{
  display:flex !important;align-items:flex-start;gap:12px;cursor:pointer;
}
.payment-confirm-check-v12 input[type=checkbox]{
  width:20px !important;height:20px;min-height:0 !important;flex:0 0 20px;
  margin-top:2px;accent-color:#ff6b1a;cursor:pointer;
}
.payment-confirm-box-v12.is-confirmed .payment-confirm-check-v12 input[type=checkbox]{accent-color:#2ECC71}
.payment-confirm-check-v12 span{display:block}
.payment-confirm-check-v12 b{display:block;font-size:13px;color:#ffd9b8}
.payment-confirm-box-v12.is-confirmed .payment-confirm-check-v12 b{color:#a9f3cb}
.payment-confirm-check-v12 small{display:block;margin-top:4px;color:var(--uid-muted,#9298a6);font-size:11.5px;line-height:1.55}

/* ---------- Payment steps list (aside) ---------- */
.payment-steps-v12{
  list-style:none;display:grid;gap:10px;margin:16px 0 0;padding:0;
}
.payment-steps-v12 li{
  display:flex;align-items:flex-start;gap:12px;
  padding:12px;border-radius:14px;background:rgba(255,255,255,.03);
}
.payment-steps-v12 li span{
  flex:0 0 auto;display:grid;place-items:center;
  width:24px;height:24px;border-radius:8px;
  background:linear-gradient(135deg,#ff7a1a,#ff4508);
  color:#fff;font:800 11px Unbounded,sans-serif;
}
.payment-steps-v12 li b{display:block;font-size:12.5px}
.payment-steps-v12 li p{margin:3px 0 0;color:var(--uid-muted,#9298a6);font-size:11.5px;line-height:1.55}

/* ---------- Admin: payment-confirmation badge in review lists ---------- */
.control-payment-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 10px;border-radius:999px;font-size:9px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;
}
.control-payment-badge.yes{color:#8df1bc;background:rgba(86,227,159,.1);border:1px solid rgba(86,227,159,.25)}
.control-payment-badge.no{color:#ffb3ba;background:rgba(255,92,108,.09);border:1px solid rgba(255,92,108,.22)}

/* ---------- Admin panel entrance motion (control-surface has no JS reveal) ---------- */
.control-surface .control-panel,
.control-surface .control-kpis > article,
.control-surface .control-team-grid > article,
.control-surface .control-solo-grid > article{
  animation:polishFadeUp .5s cubic-bezier(.2,.7,.2,1) both;
}
.control-surface .control-kpis > article:nth-child(1),.control-surface .control-team-grid > article:nth-child(1),.control-surface .control-solo-grid > article:nth-child(1){animation-delay:.02s}
.control-surface .control-kpis > article:nth-child(2),.control-surface .control-team-grid > article:nth-child(2),.control-surface .control-solo-grid > article:nth-child(2){animation-delay:.08s}
.control-surface .control-kpis > article:nth-child(3),.control-surface .control-team-grid > article:nth-child(3),.control-surface .control-solo-grid > article:nth-child(3){animation-delay:.14s}
.control-surface .control-kpis > article:nth-child(4),.control-surface .control-team-grid > article:nth-child(4),.control-surface .control-solo-grid > article:nth-child(4){animation-delay:.2s}
.control-surface .control-grid > .control-panel:nth-child(1){animation-delay:.05s}
.control-surface .control-grid > .control-panel:nth-child(2){animation-delay:.12s}

/* Subtle lift on hover for admin cards & rows — makes the panel feel alive */
.control-surface .control-panel{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.control-surface .control-panel:hover{transform:translateY(-2px);border-color:rgba(255,122,26,.22)}
.control-surface .control-kpis article,
.control-surface .control-team-grid article,
.control-surface .control-solo-grid article{transition:transform .2s ease,background .2s ease}
.control-surface .control-kpis article:hover{transform:translateY(-2px)}
.control-surface .control-team-grid article:hover,.control-surface .control-solo-grid article:hover{background:rgba(255,255,255,.045)}

.control-surface .control-sidebar nav a{transition:background .2s ease,transform .2s ease,color .2s ease}
.control-surface .btn,.control-surface button{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.control-surface .btn:hover,.control-surface button:hover{transform:translateY(-1px)}
.control-surface .btn:active,.control-surface button:active{transform:translateY(0)}

/* ---------- Tournament page: short rules preview card ---------- */
.tournament-rules-preview-v13{margin:34px auto}
.tournament-rules-preview-card-v13{
  display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
  padding:30px clamp(22px,4vw,42px);border-radius:26px;
  border:1px solid var(--uid-line,rgba(255,255,255,.09));
  background:linear-gradient(120deg,rgba(255,122,26,.09),rgba(255,255,255,.02));
  box-shadow:0 20px 55px rgba(0,0,0,.2);
}
.tournament-rules-preview-card-v13 span{display:block;color:#ff8a45;font:800 11px Unbounded,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.tournament-rules-preview-card-v13 h2{margin:8px 0 6px;font:650 26px Unbounded,sans-serif;letter-spacing:-.03em}
.tournament-rules-preview-card-v13 p{margin:0;max-width:640px;color:var(--uid-muted,#9298a6);line-height:1.65}
.tournament-rules-preview-card-v13 .btn{flex:0 0 auto}

/* ---------- Page transition loader: calmer, clearly a loading state ---------- */
.pto-logo{position:relative}
.pto-logo::after{
  content:"";position:absolute;inset:-14px;border-radius:50%;
  border:2px solid rgba(255,122,26,.18);border-top-color:#ff7a1a;
  animation:polishSpin .9s linear infinite;
}
@media (prefers-reduced-motion:reduce){.pto-logo::after{animation:none}}

@keyframes polishSpin{to{transform:rotate(360deg)}}


.control-team-top{min-width:0}
.control-team-top > div{min-width:0}
.control-team-top h2{overflow-wrap:anywhere}
.control-user-person b{overflow-wrap:anywhere}
.registration-mode-tabs-v9{flex-wrap:wrap}
.payment-card-v9,.payment-card-v10{align-self:start}
.registration-layout-v9{align-items:start}
.control-comment-meta em{white-space:nowrap}
img{max-width:100%}

@keyframes polishFadeUp{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes polishSlideIn{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:translateY(0)}
}

@media (prefers-reduced-motion:reduce){
  .control-surface .control-panel,
  .control-surface .control-kpis > article,
  .control-surface .control-team-grid > article,
  .control-surface .control-solo-grid > article,
  .registration-alert-v12{animation:none}
}

@media (max-width:640px){
  .payment-confirm-box-v12{padding:13px 14px}
  .registration-alert-v12{flex-direction:row;padding:14px}
}

/* ---------- Logo fallback: never show a broken-image icon ---------- */
.logo-broken img{display:none !important}
.logo-broken{position:relative;background:linear-gradient(135deg,#ff7a1a,#d92c17) !important}
.logo-broken::before{
  content:"U";position:absolute;inset:0;display:grid;place-items:center;
  color:#fff;font:800 1em Unbounded,sans-serif;
}

/* ======================================================================
   FUNCTIONAL POLISH V13
   Transition mark, global cursor, custom confirmations, invite manager,
   and clear admin application states.
   ====================================================================== */

/* ---------- Correct transition logo ---------- */
.page-transition-overlay{
  background:
    radial-gradient(circle at 50% 50%,rgba(255,92,24,.14),transparent 31%),
    #060606!important;
  backdrop-filter:none!important;
}
.page-transition-overlay::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:68px 68px;
  mask-image:radial-gradient(circle at center,#000,transparent 68%);
}
.pto-logo-v13{
  position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:190px;min-height:170px;color:#fff;opacity:0;transform:translateY(12px) scale(.94);
  transition:opacity .24s ease,transform .42s cubic-bezier(.2,.8,.2,1);
}
.page-transition-overlay.pto-active .pto-logo-v13{opacity:1;transform:none}
.pto-mark-v13{
  position:relative;width:96px;height:96px;display:grid;place-items:center;
  background:transparent!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;
}
.pto-mark-v13 img{display:block!important;width:96px!important;height:96px!important;object-fit:contain!important;filter:drop-shadow(0 18px 34px rgba(255,76,18,.28))}
.pto-mark-v13::before,.pto-mark-v13::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.pto-mark-v13::before{inset:-16px;border:1px solid rgba(255,126,59,.16);animation:ptoOrbitV13 1.8s ease-in-out infinite}
.pto-mark-v13::after{inset:-6px;border:1px solid transparent;border-top-color:#ff792f;border-right-color:rgba(255,73,24,.42);animation:ptoSpinV13 .95s linear infinite}
.pto-name-v13{margin-top:17px;font:800 18px Montserrat,Manrope,sans-serif;letter-spacing:-.04em}
.pto-status-v13{margin-top:5px;color:#8f8881;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
@keyframes ptoSpinV13{to{transform:rotate(360deg)}}
@keyframes ptoOrbitV13{50%{transform:scale(1.07);border-color:rgba(255,126,59,.3)}}

/* ---------- Global custom cursor ---------- */
@media (pointer:fine){
  body.has-upgrade-cursor-v13,body.has-upgrade-cursor-v13 *{cursor:none!important}
}
.upgrade-cursor-v13{position:fixed;inset:0;z-index:2147483646;pointer-events:none;opacity:0;transition:opacity .18s ease}
.upgrade-cursor-v13.is-visible{opacity:1}
.upgrade-cursor-dot-v13,.upgrade-cursor-ring-v13{position:fixed;left:0;top:0;pointer-events:none;will-change:transform}
.upgrade-cursor-dot-v13{width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:#ff782e;box-shadow:0 0 15px rgba(255,96,28,.72)}
.upgrade-cursor-ring-v13{width:31px;height:31px;margin:-15.5px 0 0 -15.5px;border:1px solid rgba(255,133,70,.55);border-radius:50%;background:rgba(255,103,35,.025);transition:width .2s,height .2s,margin .2s,border-color .2s,background .2s}
.upgrade-cursor-v13.is-interactive .upgrade-cursor-ring-v13{width:48px;height:48px;margin:-24px 0 0 -24px;border-color:rgba(255,126,62,.78);background:rgba(255,102,30,.09)}
.upgrade-cursor-v13.is-text .upgrade-cursor-ring-v13{width:12px;height:34px;margin:-17px 0 0 -6px;border-radius:6px}
.upgrade-cursor-v13.is-down .upgrade-cursor-ring-v13{width:25px;height:25px;margin:-12.5px 0 0 -12.5px;background:rgba(255,102,30,.18)}

/* ---------- Global custom toast ---------- */
.ui-toast-root-v13{position:fixed;right:22px;top:22px;z-index:2147483645;display:grid;gap:10px;width:min(390px,calc(100vw - 28px));pointer-events:none}
.ui-toast-v13{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:14px 16px;border:1px solid rgba(255,255,255,.09);border-radius:19px;background:rgba(10,10,11,.94);box-shadow:0 22px 70px rgba(0,0,0,.38);backdrop-filter:blur(20px);opacity:0;transform:translateY(-12px) scale(.97);transition:.25s ease;pointer-events:auto}
.ui-toast-v13.is-visible{opacity:1;transform:none}
.ui-toast-icon-v13{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:rgba(68,223,145,.1);color:#5ff0a6;font-weight:900}
.ui-toast-v13.is-danger .ui-toast-icon-v13{background:rgba(255,78,78,.11);color:#ff8585}
.ui-toast-v13 b,.ui-toast-v13 p{display:block;margin:0}.ui-toast-v13 b{font-size:13px}.ui-toast-v13 p{margin-top:3px;color:#a9a39c;font-size:11px;line-height:1.45}

/* ---------- Custom confirmation modal ---------- */
body.ui-modal-open-v13{overflow:hidden!important}
.ui-confirm-v13{position:fixed;inset:0;z-index:2147483644;display:grid;place-items:center;padding:18px;opacity:0;visibility:hidden;transition:.22s ease}
.ui-confirm-v13[hidden]{display:none!important}
.ui-confirm-v13.is-open{opacity:1;visibility:visible}
.ui-confirm-backdrop-v13{position:absolute;inset:0;border:0;background:rgba(0,0,0,.75);backdrop-filter:blur(12px)}
.ui-confirm-card-v13{position:relative;width:min(490px,100%);padding:30px;border:1px solid rgba(255,255,255,.1);border-radius:30px;background:radial-gradient(circle at 100% 0%,rgba(255,99,31,.12),transparent 38%),linear-gradient(145deg,#111112,#09090a);box-shadow:0 40px 120px rgba(0,0,0,.55);transform:translateY(20px) scale(.96);transition:.3s cubic-bezier(.2,.8,.2,1)}
.ui-confirm-v13.is-open .ui-confirm-card-v13{transform:none}
.ui-confirm-mark-v13{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(135deg,#ff802f,#df3318);box-shadow:0 14px 32px rgba(223,51,24,.25)}
.ui-confirm-mark-v13 span{font:900 12px Montserrat,sans-serif;color:#fff}
.ui-confirm-kicker-v13{display:block;margin-top:22px;color:#ff8c49;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.ui-confirm-card-v13 h2{margin:8px 0 10px;font:800 28px/1.1 Montserrat,Manrope,sans-serif;letter-spacing:-.045em}
.ui-confirm-card-v13 p{margin:0;color:#aaa39c;font-size:14px;line-height:1.65}
.ui-confirm-actions-v13{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}
.ui-confirm-actions-v13 .btn{min-width:135px}

/* ---------- Invite creation and copy ---------- */
.invite-manager-v13{margin-top:20px;padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:radial-gradient(circle at 100% 0%,rgba(255,111,40,.1),transparent 36%),rgba(255,255,255,.02)}
.invite-manager-head-v13{display:flex;align-items:center;justify-content:space-between;gap:18px}
.invite-manager-head-v13 small{color:#ff8c49;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.invite-manager-head-v13 h3{margin:6px 0;font:750 19px Montserrat,Manrope,sans-serif}
.invite-manager-head-v13 p{margin:0;color:#99928c;font-size:12px;line-height:1.55}
.invite-result-v13{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;margin-top:16px;opacity:0;transform:translateY(8px);transition:.28s ease}
.invite-result-v13.is-visible{opacity:1;transform:none}
.invite-result-v13 input{min-width:0;width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#080809;color:#ffb27e;font:700 11px Manrope,sans-serif;outline:none}
.invite-card-v13{animation:inviteCardInV13 .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes inviteCardInV13{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}

/* ---------- Admin applications: obvious state changes ---------- */
.control-notice-v13{display:flex;align-items:center;gap:13px;margin-bottom:16px;padding:15px 17px;border:1px solid rgba(84,236,159,.16);border-radius:19px;background:rgba(84,236,159,.06)}
.control-notice-v13>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(84,236,159,.12);color:#66eeaa;font-weight:900}
.control-notice-v13 b,.control-notice-v13 small{display:block}.control-notice-v13 b{font-size:13px}.control-notice-v13 small{margin-top:3px;color:#9299a5;font-size:10px}
.control-notice-v13.danger{border-color:rgba(255,92,92,.18);background:rgba(255,92,92,.06)}.control-notice-v13.danger>span{background:rgba(255,92,92,.12);color:#ff8a8a}
.control-queue-v13,.control-processed-v13{margin-bottom:18px}
.control-solo-grid-v13,.control-team-grid-v13{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.control-application-v13,.control-team-card-v13{position:relative;display:flex;align-items:center;gap:13px;padding:16px;border:1px solid rgba(255,255,255,.07);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.015));overflow:hidden}
.control-team-card-v13{display:block}
.control-application-v13::before,.control-team-card-v13::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#ff7b32;opacity:.75}
.control-application-v13.is-approved::before,.control-team-card-v13.is-approved::before,.control-application-v13.is-assigned::before{background:#4ee59e}
.control-application-v13.is-rejected::before,.control-team-card-v13.is-rejected::before{background:#ff626d}
.control-application-main-v13{min-width:0;flex:1}
.control-application-title-v13{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.control-application-title-v13 b{font-size:14px}.control-application-main-v13 p{margin:4px 0;color:#9299a5;font-size:10px}
.control-status-v13{display:inline-flex!important;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;background:rgba(255,125,53,.1);border:1px solid rgba(255,125,53,.16);color:#ff9d63!important;font-size:8px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;white-space:nowrap}
.control-status-v13.approved,.control-status-v13.assigned{background:rgba(76,224,154,.09);border-color:rgba(76,224,154,.16);color:#68eeb0!important}
.control-status-v13.rejected{background:rgba(255,91,105,.09);border-color:rgba(255,91,105,.16);color:#ff8993!important}
.control-application-actions-v13{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.control-application-actions-v13 form{display:flex;gap:6px;align-items:center}
.control-delete-v13{min-height:34px;padding:0 10px;border:1px solid rgba(255,86,99,.18);border-radius:11px;background:rgba(255,86,99,.07);color:#ff8a93;font-size:9px;font-weight:800}
.control-team-card-v13 .control-team-top{align-items:center}.control-team-card-v13 .control-status-v13{margin-left:auto}.control-team-actions-v13{margin-top:15px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}
.control-team-actions-v13 form{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.control-empty-v13{grid-column:1/-1;padding:30px;border:1px dashed rgba(255,255,255,.09);border-radius:20px;text-align:center;color:#848b98}.control-empty-v13 b{display:block;color:#d9dde4;font-size:14px}.control-empty-v13 p{margin:6px 0 0;font-size:11px}
.control-payment-badge{display:inline-flex!important;margin-top:7px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.04);font-size:8px!important}.control-payment-badge.yes{color:#6deeb1!important;background:rgba(75,225,157,.08)}.control-payment-badge.no{color:#ff929a!important;background:rgba(255,91,105,.08)}

/* ---------- Shared reveal/ripple animations ---------- */
.ui-reveal-v13{opacity:0;transform:translateY(22px);transition:opacity .65s cubic-bezier(.2,.8,.2,1) var(--ui-delay-v13,0ms),transform .65s cubic-bezier(.2,.8,.2,1) var(--ui-delay-v13,0ms)}
.ui-reveal-v13.is-visible{opacity:1;transform:none}
.btn,button{position:relative;overflow:hidden}
.ui-ripple-v13{position:absolute;width:10px;height:10px;margin:-5px;border-radius:50%;background:rgba(255,255,255,.35);pointer-events:none;animation:uiRippleV13 .62s ease-out forwards}
@keyframes uiRippleV13{to{transform:scale(18);opacity:0}}

@media(max-width:980px){
  .control-solo-grid-v13,.control-team-grid-v13{grid-template-columns:1fr}
  .invite-manager-head-v13{align-items:flex-start;flex-direction:column}
  .invite-result-v13{grid-template-columns:1fr 1fr}.invite-result-v13 input{grid-column:1/-1}
}
@media(max-width:640px){
  .ui-toast-root-v13{right:14px;top:14px;width:calc(100vw - 28px)}
  .ui-confirm-card-v13{padding:24px;border-radius:25px}.ui-confirm-actions-v13{display:grid;grid-template-columns:1fr}.ui-confirm-actions-v13 .btn{width:100%}
  .control-application-v13{align-items:flex-start;flex-wrap:wrap}.control-application-actions-v13{width:100%;justify-content:flex-start;margin-left:61px}
  .invite-result-v13{grid-template-columns:1fr}.invite-result-v13 input{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
  .pto-mark-v13::before,.pto-mark-v13::after,.invite-card-v13,.ui-ripple-v13{animation:none!important}
  .ui-reveal-v13{opacity:1!important;transform:none!important;transition:none!important}
}
