/* ============================================================
   Registration
   ============================================================ */

.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:860px}

.auth-card{
  display:flex;flex-direction:column;gap:14px;
  border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3vw,28px);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.008));
  position:relative;overflow:hidden;
}
.auth-card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.5),transparent 70%)}
.auth-card .mono{font-size:8.5px;letter-spacing:.22em}
.auth-card .btn{margin-top:4px;justify-content:center}
.auth-msg{font-size:9px;letter-spacing:.14em;color:var(--white);min-height:14px;text-transform:uppercase}
.auth-msg:empty{min-height:0}

.reg-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.reg-head .mono{font-size:8.5px;letter-spacing:.18em}
.reg-head b{color:var(--white);font-weight:500}

.reg-card{
  border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3vw,30px);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.006));
  display:flex;flex-direction:column;gap:26px;
}
.reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.reg-members{border-top:1px solid var(--line-soft);padding-top:20px}
.reg-members-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.reg-members-head .mono{font-size:8px;letter-spacing:.2em}
.reg-members-head .mono:last-child{color:var(--muted-2)}

.member-row{
  display:grid;grid-template-columns:34px 1fr 1fr 1fr 34px;gap:8px;align-items:center;
  padding:8px 0;border-bottom:1px solid var(--line-soft);
}
.member-row:last-child{border-bottom:0}
.member-num{font-size:8.5px;letter-spacing:.14em;color:var(--muted-2)}
.member-row input{
  font-family:var(--sans);font-size:13px;color:var(--white);width:100%;
  background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:8px;
  padding:11px 12px;outline:none;transition:border-color .2s,background .2s;
}
.member-row input::placeholder{color:var(--muted-2)}
.member-row input:focus{border-color:var(--white);background:rgba(255,255,255,.08)}
.member-row input:invalid:not(:placeholder-shown){border-color:rgba(255,255,255,.5)}

.reg-members-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;flex-wrap:wrap}
.reg-members-actions .mono{font-size:7.5px;letter-spacing:.16em;color:var(--muted-2)}

.reg-coach{border-top:1px solid var(--line-soft);padding-top:20px}
.reg-coach .opt{
  margin-left:8px;font-size:7px;letter-spacing:.16em;padding:2px 6px;border:1px solid var(--line);
  border-radius:100px;color:var(--muted-2);vertical-align:middle;
}
.coach-row,.sub-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:center}
.coach-row input,.sub-row input{
  font-family:var(--sans);font-size:13px;color:var(--white);width:100%;
  background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:8px;
  padding:11px 12px;outline:none;transition:border-color .2s,background .2s;
}
.coach-row input::placeholder,.sub-row input::placeholder{color:var(--muted-2)}
.coach-row input:focus,.sub-row input:focus{border-color:var(--white);background:rgba(255,255,255,.08)}
.coach-hint{margin-top:10px;font-size:7.5px;letter-spacing:.16em;color:var(--muted-2)}

.reg-submit{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line-soft);padding-top:20px}
.reg-submit .mono{font-size:7.5px;letter-spacing:.16em;color:var(--muted-2)}

.reg-done{
  border:1px solid var(--line);border-radius:18px;padding:clamp(26px,4vw,44px);
  max-width:640px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.006));
}
.reg-done .mono{font-size:8.5px;letter-spacing:.2em}
.reg-done-title{font-size:clamp(1.9rem,4vw,2.9rem);margin:14px 0 16px}
.reg-done-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}

@media (max-width:820px){
  .auth-grid,.reg-grid,.coach-row,.sub-row{grid-template-columns:1fr}
  .member-row{grid-template-columns:26px 1fr 34px;row-gap:6px}
  .member-row input[data-member="username"],
  .member-row input[data-member="riot"]{grid-column:2/3}
  .member-row .icon-btn{grid-row:1/4;grid-column:3/4;align-self:center}
}
