:root{--bg:#020814;--panel:rgba(3,12,28,.88);--panel2:rgba(7,23,50,.72);--line:rgba(0,170,255,.2);--text:#f4f8ff;--muted:#aebfd5;--blue:#009dff;--blue2:#00c8ff;--danger:#ff5c7a;--good:#51ffb0;--warn:#d5b58c}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:"Segoe UI",Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 15% 20%,rgba(0,180,255,.18),transparent 35%),radial-gradient(circle at 85% 80%,rgba(0,100,255,.18),transparent 40%),linear-gradient(135deg,#020814 0%,#04152d 50%,#071f49 100%)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card,.panel{width:min(460px,100%);background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 0 60px rgba(0,130,255,.12);backdrop-filter:blur(10px)}.wide{width:100%;margin-top:18px}.brand-row{display:flex;gap:14px;align-items:center;margin-bottom:26px}.brand-row img{width:46px;height:46px;object-fit:contain}h1,h2,p{margin-top:0}h1{margin-bottom:4px;font-size:1.8rem}h2{font-size:1.15rem}p{color:var(--muted)}label{display:block;margin:12px 0 6px;color:var(--muted);font-weight:700;font-size:.82rem}input,select{width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.24);color:var(--text);outline:none}option{background:#061b38;color:#fff}button,.header-actions a{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:12px;padding:11px 15px;margin-top:16px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#00111f;font-weight:900;cursor:pointer;text-decoration:none}button.secondary{background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--line)}button.danger{background:rgba(255,92,122,.16);color:var(--danger);border:1px solid rgba(255,92,122,.35)}.message{min-height:20px;margin-top:10px;color:var(--danger);font-weight:700}.portal-shell{width:min(1220px,calc(100% - 32px));margin:0 auto;padding:32px 0}.portal-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.eyebrow{color:var(--blue2);text-transform:uppercase;letter-spacing:4px;font-weight:900;font-size:.75rem;margin-bottom:6px}.header-actions{display:flex;gap:10px;flex-wrap:wrap}.header-actions button,.header-actions a{margin-top:0}.grid{display:grid;grid-template-columns:360px 1fr;gap:18px;align-items:start}.grid.two{grid-template-columns:1fr 1fr}.users-panel{width:100%}.users-list{display:grid;gap:12px}.user-card,.org-card{background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:16px}.user-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:rgba(0,157,255,.15);color:var(--blue2);font-weight:900;font-size:.72rem;text-transform:uppercase;white-space:nowrap}.badge.warn{background:rgba(213,181,140,.16);color:var(--warn)}.user-form,.org-form{display:grid;grid-template-columns:1.1fr 1.2fr 150px 130px 92px;gap:8px;align-items:end}.org-form{grid-template-columns:1.4fr 140px 92px auto}.user-form label,.org-form label{margin-top:0}.card-actions{display:flex;flex-wrap:wrap;gap:8px}.password-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.small-muted{font-size:.82rem;color:var(--muted);margin-bottom:0}@media(max-width:950px){.portal-header,.grid,.grid.two{grid-template-columns:1fr;display:grid}.user-form,.org-form{grid-template-columns:1fr}.password-row{grid-template-columns:1fr}}


.login-help {
  margin-top: 22px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(0, 170, 255, .18);
  background: rgba(0, 0, 0, .18);
}

.login-help h3 {
  margin: 0 0 8px;
  font-size: 1rem;
  color: var(--text);
}

.login-help p {
  margin: 0 0 10px;
  font-size: .88rem;
  line-height: 1.45;
}

.contact-lines {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: .88rem;
}

.contact-lines strong {
  color: var(--blue2);
}

/* Portal top navigation layout */
.portal-topbar {
  position: sticky;
  top: 0;
  z-index: 9999;
  width: 100%;
  border-bottom: 1px solid rgba(0, 170, 255, .18);
  background: rgba(3, 12, 28, .9);
  box-shadow: 0 10px 36px rgba(0, 0, 0, .22);
  backdrop-filter: blur(14px);
}

.portal-topbar__inner {
  width: min(1680px, calc(100% - 64px));
  min-height: 92px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
}

.portal-brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--text);
  text-decoration: none;
  min-width: 230px;
}

.portal-brand img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  filter: drop-shadow(0 0 14px rgba(0, 157, 255, .28));
}

.portal-brand__title {
  display: block;
  font-size: 1.35rem;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .5px;
}

.portal-brand__sub {
  display: block;
  margin-top: 6px;
  color: var(--blue2);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .8px;
  text-transform: uppercase;
}

.portal-nav {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.portal-nav a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 50px;
  padding: 0 18px;
  border-radius: 12px;
  color: var(--text);
  text-decoration: none;
  font-weight: 900;
  border: 1px solid transparent;
}

.portal-nav a.active,
.portal-nav a:hover {
  border-color: rgba(0, 157, 255, .38);
  background: linear-gradient(135deg, rgba(0, 157, 255, .28), rgba(21, 93, 255, .24));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 0 24px rgba(0, 130, 255, .12);
}

.portal-topbar__user {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 360px;
}

.portal-shell {
  width: min(1680px, calc(100% - 64px));
  padding: 46px 0 64px;
}

.portal-header {
  align-items: flex-start;
  margin-bottom: 28px;
}

.portal-header h1 {
  font-size: clamp(2.1rem, 3vw, 3.1rem);
  letter-spacing: -1px;
}

.portal-header p:not(.eyebrow) {
  max-width: 560px;
  font-size: 1.05rem;
  line-height: 1.5;
}

.header-actions {
  padding-top: 12px;
}

.header-actions a,
.header-actions button {
  min-height: 54px;
  padding-inline: 24px;
  color: #f4f8ff;
  background: linear-gradient(135deg, rgba(0, 157, 255, .9), rgba(31, 102, 255, .9));
  border: 1px solid rgba(91, 185, 255, .35);
  box-shadow: 0 0 24px rgba(0, 130, 255, .16);
}

.header-actions button.secondary,
.header-actions .secondary-link {
  background: rgba(0,0,0,.16);
  border: 1px solid rgba(143, 196, 255, .26);
  color: var(--text);
}

.panel {
  width: 100%;
  border-radius: 18px;
  padding: 28px;
}

.grid.two {
  grid-template-columns: minmax(420px, .85fr) minmax(560px, 1.15fr);
  gap: 18px;
}

.grid {
  grid-template-columns: minmax(380px, 520px) 1fr;
  gap: 18px;
}

@media(max-width:1100px){
  .portal-topbar__inner {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px 0;
  }
  .portal-topbar__user,
  .portal-brand {
    min-width: 0;
  }
  .portal-nav {
    order: 3;
  }
}

@media(max-width:950px){
  .portal-topbar__inner,
  .portal-shell {
    width: min(100% - 28px, 760px);
  }
  .portal-header,
  .grid,
  .grid.two {
    grid-template-columns: 1fr;
    display: grid;
  }
  .header-actions {
    padding-top: 0;
  }
}

@media(max-width:620px){
  .portal-nav a,
  .header-actions a,
  .header-actions button {
    width: 100%;
  }
  .portal-nav,
  .header-actions {
    width: 100%;
  }
}


/* Portal header sizing fix v2 - hard override */
.portal-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
  min-height: 0 !important;
  overflow: visible !important;
  border-bottom: 1px solid rgba(0, 170, 255, .18) !important;
  background: rgba(3, 12, 28, .94) !important;
  box-shadow: 0 10px 36px rgba(0, 0, 0, .22) !important;
  backdrop-filter: blur(14px) !important;
}

.portal-topbar__inner {
  width: min(1680px, calc(100% - 64px)) !important;
  height: 96px !important;
  min-height: 96px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 270px minmax(420px, 1fr) auto !important;
  align-items: center !important;
  gap: 28px !important;
}

.portal-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
  height: 64px !important;
  color: var(--text) !important;
  text-decoration: none !important;
  overflow: hidden !important;
}

.portal-brand img,
.portal-brand__logo {
  width: 54px !important;
  height: 54px !important;
  max-width: 54px !important;
  max-height: 54px !important;
  min-width: 54px !important;
  object-fit: contain !important;
  display: block !important;
  flex: 0 0 54px !important;
  filter: drop-shadow(0 0 14px rgba(0, 157, 255, .28)) !important;
}

.portal-brand__title {
  display: block !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: .5px !important;
}

.portal-brand__sub {
  display: block !important;
  margin-top: 6px !important;
  color: var(--blue2) !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  letter-spacing: .8px !important;
  text-transform: uppercase !important;
}

.portal-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
  min-width: 0 !important;
}

.portal-nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border-radius: 12px !important;
  color: var(--text) !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  border: 1px solid transparent !important;
  white-space: nowrap !important;
}

.portal-topbar__user {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-width: 340px !important;
  max-width: 560px !important;
  overflow: visible !important;
}

.portal-shell {
  width: min(1680px, calc(100% - 64px)) !important;
  margin: 0 auto !important;
  padding: 46px 0 64px !important;
}

.portal-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 18px !important;
  margin-bottom: 28px !important;
}

@media(max-width:1100px){
  .portal-topbar__inner {
    height: auto !important;
    min-height: 92px !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 14px 0 !important;
  }
  .portal-nav {
    flex-wrap: wrap !important;
  }
  .portal-topbar__user {
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    justify-content: flex-start !important;
  }
}

@media(max-width:700px){
  .portal-topbar__inner,
  .portal-shell {
    width: min(100% - 28px, 760px) !important;
  }
  .portal-brand {
    height: 56px !important;
  }
  .portal-brand img,
  .portal-brand__logo {
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    min-width: 46px !important;
    flex-basis: 46px !important;
  }
  .portal-nav a {
    width: 100% !important;
  }
}


.bug-admin-heading,
.bug-log-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.bug-admin-heading p,
.bug-log-heading p {
  margin-bottom: 0;
}

.bug-admin-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.bug-admin-controls select {
  min-width: 180px;
}

.bug-report-list {
  display: grid;
  gap: 14px;
}

.bug-report-card {
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(0, 170, 255, .18);
  background: rgba(7, 23, 50, .72);
}

.bug-report-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.bug-report-card h3 {
  margin: 8px 0 4px;
  font-size: 1.05rem;
}

.bug-thumb {
  display: block;
  flex: 0 0 170px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(0, 170, 255, .24);
  background: rgba(0,0,0,.22);
}

.bug-thumb img {
  width: 100%;
  height: 110px;
  object-fit: cover;
  display: block;
}

.bug-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.bug-meta div {
  min-width: 0;
  padding: 10px;
  border-radius: 13px;
  background: rgba(0, 0, 0, .18);
  border: 1px solid rgba(0, 170, 255, .12);
}

.bug-meta dt {
  color: var(--blue2);
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.bug-meta dd {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: .84rem;
  word-break: break-word;
}

.bug-meta a {
  color: var(--blue2);
}

.bug-details {
  margin-top: 12px;
  padding: 13px;
  border-radius: 14px;
  background: rgba(0, 0, 0, .2);
  border: 1px solid rgba(0, 170, 255, .12);
}

.bug-details strong {
  display: block;
  margin-bottom: 7px;
  color: var(--text);
}

.bug-details p {
  margin: 0;
  white-space: pre-wrap;
  line-height: 1.5;
}

.bug-details--note {
  border-color: rgba(81, 255, 176, .22);
}

.bug-admin-update {
  display: grid;
  grid-template-columns: 160px 1fr auto;
  gap: 10px;
  align-items: end;
  margin-top: 14px;
}

.bug-admin-update label {
  margin: 0 0 6px;
}

.bug-admin-update .message {
  grid-column: 1 / -1;
}

.badge.status-pending {
  background: rgba(213,181,140,.16);
  color: var(--warn);
}

.badge.status-acknowledged {
  background: rgba(0,157,255,.16);
  color: var(--blue2);
}

.badge.status-fixed {
  background: rgba(81,255,176,.14);
  color: var(--good);
}

@media (max-width: 800px) {
  .bug-admin-heading,
  .bug-log-heading,
  .bug-report-card__top {
    display: grid;
  }

  .bug-thumb {
    width: 100%;
    flex-basis: auto;
  }

  .bug-meta,
  .bug-admin-update {
    grid-template-columns: 1fr;
  }
}


.auth-link-button {
  margin-top: 10px;
  border: 1px solid rgba(38, 198, 255, 0.35);
  background: rgba(8, 31, 58, 0.65);
  color: #7ddcff;
  cursor: pointer;
}

.auth-secondary-form {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(38, 198, 255, 0.18);
}

.auth-secondary-form h2 {
  margin: 0 0 8px;
}

.auth-secondary-form p {
  color: #a9c4df;
}

.auth-actions-row {
  display: grid;
  gap: 10px;
}


/* Unified sign in */
body.auth-login-page {
  min-height: 100vh;
  overflow-x: hidden;
  background:
    linear-gradient(90deg, rgba(1, 8, 20, .7) 0%, rgba(3, 12, 28, .62) 42%, rgba(1, 8, 20, .35) 100%),
    linear-gradient(180deg, rgba(1, 7, 18, .16), rgba(1, 7, 18, .52)),
    var(--signin-backdrop-image, url("/assets/images/signin-backdrop-arena-wide.webp")) center center / cover no-repeat,
    #020817;
}

.auth-login-page::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 78% 44%, rgba(0, 132, 255, .18), transparent 33%),
    linear-gradient(90deg, rgba(1, 7, 17, .82), transparent 46%, rgba(1, 7, 17, .22));
}

.auth-login-page::after {
  content: "";
  position: fixed;
  inset: auto 0 0;
  height: 42vh;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(0, 5, 14, .86));
}

.auth-login-page .auth-login-shell {
  position: relative;
  z-index: 1;
  width: min(1440px, calc(100% - 56px));
  min-height: 100vh;
  margin: 0 auto;
  padding: 64px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 500px);
  gap: clamp(48px, 8vw, 118px);
  align-items: center;
}

.auth-login-page .auth-login-hero,
.auth-login-page .auth-login-card {
  position: relative;
  z-index: 2;
}

.auth-login-page .public-language-selector {
  position: absolute;
  top: 16px;
  right: 16px;
  margin: 0;
}

.auth-login-page .auth-card-heading {
  padding-top: 38px;
}

.auth-login-page .public-language-selector select {
  min-height: 36px;
  padding: 0 30px 0 10px;
  border: 1px solid rgba(90, 130, 177, .55);
  border-radius: 8px;
  background: rgba(8, 17, 30, .82);
  color: #f4f8ff;
  font: inherit;
  font-size: .78rem;
  font-weight: 700;
}

html.bracketr-theme-light .auth-login-page .public-language-selector select {
  background: #edf3f9;
  border-color: rgba(30, 64, 105, .2);
  color: #17304d;
}

.auth-login-page .sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

.auth-login-page .auth-bracket-showcase {
  position: absolute;
  z-index: 1;
  width: min(660px, 48vw);
  height: min(420px, 42vw);
  right: clamp(130px, 12vw, 230px);
  top: 50%;
  transform: translate(34%, -46%);
  opacity: .58;
  pointer-events: none;
  filter: drop-shadow(0 0 28px rgba(0, 150, 255, .16));
  overflow: hidden;
}

.auth-login-page .auth-bracket-showcase::before {
  content: "";
  position: absolute;
  inset: -22% -16%;
  background: radial-gradient(circle at 58% 50%, rgba(0, 141, 255, .2), transparent 48%);
}

.auth-login-page .auth-bracket-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.auth-login-page .auth-bracket-lines path {
  fill: none;
  stroke: rgba(104, 219, 255, .72);
  stroke-width: 3;
  filter: drop-shadow(0 0 8px rgba(0, 200, 255, .5));
}

.auth-login-page .auth-round-label {
  position: absolute;
  margin: 0;
  color: #7defff;
  letter-spacing: 4px;
  font-size: .68rem;
  font-weight: 900;
  opacity: .7;
}

.auth-login-page .auth-round-label.qf { left: 6%; top: 0; }
.auth-login-page .auth-round-label.sf { left: 43%; top: 34px; }
.auth-login-page .auth-round-label.gf { right: 4%; top: 112px; }

.auth-login-page .auth-bracket-match {
  position: absolute;
  width: clamp(130px, 30vw, 205px);
  padding: 10px;
  border: 1px solid rgba(0, 207, 255, .3);
  border-radius: 10px;
  background: rgba(3, 14, 33, .74);
  box-shadow: inset 0 0 34px rgba(0, 160, 255, .05), 0 0 25px rgba(0, 160, 255, .09);
}

.auth-login-page .auth-bracket-match div {
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #b9cbe5;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.auth-login-page .auth-bracket-match div:last-child {
  border-bottom: 0;
}

.auth-login-page .auth-bracket-match span {
  font-size: .8rem;
  opacity: .82;
}

.auth-login-page .auth-bracket-match strong {
  color: #fff;
  font-size: .95rem;
}

.auth-login-page .auth-bracket-match.match-a { left: 2%; top: 38px; }
.auth-login-page .auth-bracket-match.match-b { left: 2%; top: 130px; }
.auth-login-page .auth-bracket-match.match-c { left: 2%; top: 206px; }
.auth-login-page .auth-bracket-match.match-d { left: 2%; top: 298px; }
.auth-login-page .auth-bracket-match.match-e { left: 40%; top: 72px; }
.auth-login-page .auth-bracket-match.match-f { left: 40%; top: 236px; }
.auth-login-page .auth-bracket-match.match-g { right: 5%; top: 150px; }

.auth-login-page .auth-login-hero {
  display: grid;
  gap: 34px;
  align-content: center;
}

.auth-login-page .auth-logo-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
}

.auth-login-page .auth-logo-link img {
  display: block;
  width: clamp(210px, 19vw, 292px);
  max-width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 18px 36px rgba(0, 0, 0, .48));
}

.auth-login-page .auth-hero-copy {
  max-width: 640px;
}

.auth-login-page .auth-eyebrow {
  margin: 0 0 20px;
  color: rgba(215, 226, 248, .78);
  font-size: clamp(.78rem, 1vw, .94rem);
  font-weight: 950;
  letter-spacing: .34em;
  text-transform: uppercase;
}

.auth-login-page .auth-hero-copy h1 {
  margin: 0 0 28px;
  color: #fff;
  font-size: clamp(3.1rem, 5.4vw, 5.65rem);
  line-height: .94;
  font-weight: 950;
  text-shadow: 0 16px 45px rgba(0, 0, 0, .58);
}

.auth-login-page .auth-hero-copy p:not(.auth-eyebrow) {
  max-width: 520px;
  margin: 0;
  color: rgba(226, 235, 251, .76);
  font-size: clamp(1.2rem, 1.55vw, 1.45rem);
  line-height: 1.46;
}

.auth-login-page .auth-login-card {
  width: 100%;
  max-width: 500px;
  justify-self: center;
  border-radius: 18px;
  padding: clamp(28px, 3.5vw, 46px);
  background:
    linear-gradient(180deg, rgba(9, 22, 44, .86), rgba(4, 12, 29, .88)),
    rgba(4, 12, 29, .82);
  border: 1px solid rgba(139, 176, 232, .28);
  box-shadow: 0 34px 100px rgba(0, 0, 0, .44);
  backdrop-filter: blur(22px);
}

.auth-login-page .auth-card-heading {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 12px;
  margin-bottom: 34px;
}

.auth-login-page .auth-card-heading img {
  width: min(230px, 82%);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 16px 32px rgba(0, 0, 0, .36));
}

.auth-login-page .auth-card-heading h2 {
  margin: 20px 0 0;
  color: #fff;
  font-size: clamp(1.65rem, 2vw, 2rem);
  line-height: 1;
}

.auth-login-page .auth-card-heading p {
  margin: 0;
  color: rgba(219, 228, 245, .78);
  font-size: 1rem;
}

.auth-login-page[data-auth-mode="signup"] .auth-login-card,
.auth-login-page[data-auth-mode="verify"] .auth-login-card {
  padding-top: clamp(24px, 2.5vw, 34px);
  padding-bottom: clamp(24px, 2.5vw, 34px);
}

.auth-login-page[data-auth-mode="signup"] .auth-card-heading,
.auth-login-page[data-auth-mode="verify"] .auth-card-heading {
  gap: 8px;
  margin-bottom: 24px;
}

.auth-login-page[data-auth-mode="signup"] .auth-card-heading img,
.auth-login-page[data-auth-mode="verify"] .auth-card-heading img {
  width: min(190px, 72%);
}

.auth-login-page[data-auth-mode="signup"] .auth-card-heading h2,
.auth-login-page[data-auth-mode="verify"] .auth-card-heading h2 {
  margin-top: 12px;
}

.auth-login-page .auth-primary-form,
.auth-login-page .auth-secondary-form,
.auth-login-page .auth-social-actions {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.auth-login-page .message {
  min-width: 0;
  overflow-wrap: anywhere;
}

.auth-login-page [hidden] {
  display: none !important;
}

.auth-login-page label {
  position: relative;
  display: grid;
  margin: 0;
  color: rgba(215, 227, 243, .74);
  font-size: .82rem;
}

.auth-login-page label span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.auth-login-page input {
  min-height: 58px;
  margin: 0;
  padding: 0 18px;
  border-radius: 10px;
  border: 1px solid rgba(137, 176, 236, .32);
  background: rgba(18, 38, 72, .54);
  color: #fff;
  font-size: 1rem;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.auth-login-page input::placeholder {
  color: rgba(220, 230, 248, .58);
}

.auth-login-page input:focus {
  border-color: rgba(67, 169, 255, .82);
  background: rgba(20, 45, 85, .76);
  box-shadow: 0 0 0 4px rgba(0, 117, 255, .14);
}

.auth-login-page .auth-code-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.auth-login-page .auth-code-inputs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.auth-login-page .auth-code-inputs .auth-code-digit {
  width: 100%;
  min-width: 0;
  padding: 0;
  text-align: center;
  font-size: 1.35rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.auth-login-page .auth-code-inputs .auth-mfa-code-digit {
  width: 100%;
  min-width: 0;
  padding: 0;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
  caret-color: #61b5ff;
}

.auth-login-page .auth-mfa-code-inputs {
  gap: clamp(6px, 1vw, 10px);
}

.auth-login-page .auth-code-mode-toggle {
  justify-self: center;
  margin: -2px 0 2px;
  font-weight: 800;
}

.auth-login-page .auth-recovery-field input {
  text-align: center;
  letter-spacing: .08em;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 480px) {
  .auth-login-page .auth-code-inputs {
    gap: 6px;
  }
}

.auth-login-page .auth-password-field {
  position: relative;
  display: block;
}

.auth-login-page .auth-form-field {
  display: grid;
  gap: 10px;
}

.auth-login-page .auth-form-field > label {
  color: rgba(226, 235, 251, .92);
  font-size: .88rem;
  font-weight: 800;
}

.auth-login-page .auth-password-field input {
  width: 100%;
  padding-inline-end: 58px;
}

.auth-login-page .auth-password-toggle {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 7px;
  display: grid;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  margin-top: 0;
  padding: 0;
  place-items: center;
  transform: translateY(-50%);
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: rgba(220, 230, 248, .72);
  cursor: pointer;
}

.auth-login-page .auth-password-toggle:hover {
  background: rgba(115, 168, 232, .12);
  color: #fff;
}

.auth-login-page .auth-password-toggle:focus-visible {
  outline: 2px solid #61b5ff;
  outline-offset: 1px;
}

.auth-login-page .auth-password-eye {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.auth-login-page .auth-password-toggle[aria-pressed="false"] .auth-password-eye-hide,
.auth-login-page .auth-password-toggle[aria-pressed="true"] .auth-password-eye-show {
  display: none;
}

.auth-login-page .auth-password-toggle-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

html.bracketr-theme-light .auth-login-page .auth-password-toggle {
  color: rgba(23, 48, 77, .68);
}

html.bracketr-theme-light .auth-login-page .auth-password-toggle:hover {
  background: rgba(30, 64, 105, .1);
  color: #17304d;
}

.auth-login-page input:-webkit-autofill,
.auth-login-page input:-webkit-autofill:hover,
.auth-login-page input:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff;
  caret-color: #fff;
  box-shadow: 0 0 0 1000px #142d55 inset, 0 0 0 4px rgba(0, 117, 255, .1);
  border-color: rgba(137, 176, 236, .42);
  transition: background-color 9999s ease-in-out 0s;
}

.auth-login-page .auth-button-row,
.auth-login-page .auth-actions-row {
  display: grid;
  gap: 10px;
}

.auth-login-page button,
.auth-login-page .auth-link-button,
.auth-login-page .auth-provider-button {
  min-height: 56px;
  border-radius: 10px;
  font-weight: 900;
}

.auth-login-page button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: linear-gradient(135deg, #11baff, #0b48ff);
  border: 1px solid rgba(90, 193, 255, .62);
  color: #fff;
  box-shadow: 0 18px 42px rgba(0, 102, 255, .32);
}

.auth-login-page .auth-inline-links {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.auth-login-page .auth-link-button {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #7dccff;
  text-decoration: none;
  font-size: .9rem;
}

.auth-login-page .auth-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  margin: 24px 0;
  color: rgba(219, 228, 245, .72);
  font-size: .78rem;
  font-weight: 850;
}

.auth-login-page .auth-divider::before,
.auth-login-page .auth-divider::after {
  content: "";
  height: 1px;
  background: rgba(137, 176, 236, .28);
}

.auth-login-page .auth-social-actions {
  margin: 0;
}

.auth-login-page .auth-provider-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid rgba(137, 176, 236, .32);
  background: rgba(18, 38, 72, .54);
  color: #fff;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.auth-login-page .auth-provider-button:hover {
  transform: translateY(-1px);
  border-color: rgba(67, 169, 255, .74);
  box-shadow: 0 14px 30px rgba(0, 117, 255, .18);
}

.auth-login-page .auth-provider-button.is-unavailable {
  flex-wrap: wrap;
  border-style: dashed;
  color: rgba(229, 237, 250, .72);
  background: rgba(18, 38, 72, .3);
  box-shadow: none;
}

.auth-login-page .auth-provider-button.is-unavailable:hover {
  transform: none;
  border-color: rgba(137, 176, 236, .42);
}

.auth-login-page .auth-provider-button[data-provider-status]:not([data-provider-status=""])::after {
  content: attr(data-provider-status);
  margin-left: auto;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(255, 184, 77, .12);
  color: #ffc66d;
  font-size: .62rem;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.auth-login-page .auth-provider-button span {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #1a73e8;
  font-weight: 950;
}

.auth-login-page .auth-provider-button .auth-provider-label {
  width: auto;
  height: auto;
  display: inline;
  border-radius: 0;
  background: transparent;
  color: inherit;
  line-height: 1.25;
}

.auth-login-page .auth-provider-logo {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: block;
  object-fit: contain;
  border-radius: 5px;
}

.auth-login-page .auth-provider-logo.discord {
  padding: 4px;
  background: #5865f2;
}

.auth-login-page .auth-provider-logo.microsoft,
.auth-login-page .auth-provider-logo.twitch {
  padding: 2px;
  background: #fff;
}

.auth-provider-primary,
.auth-more-providers>div {
  display: grid;
  gap: 10px;
}

.auth-more-providers {
  color: rgba(219, 228, 245, .76);
}

.auth-more-providers summary {
  cursor: pointer;
  text-align: center;
  font-size: .85rem;
  font-weight: 800;
}

.auth-more-providers>div {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 12px;
}

.auth-login-page .auth-provider-button.compact {
  min-height: 48px;
  font-size: .88rem;
}

.auth-login-page .auth-provider-button span.discord { background: #5865f2; color: #fff; }
.auth-login-page .auth-provider-button span.microsoft { background: #00a4ef; color: #fff; }
.auth-login-page .auth-provider-button span.twitch { background: #9146ff; color: #fff; }

.auth-login-page .auth-social-actions p,
.auth-login-page .auth-legal,
.auth-login-page .auth-form-copy {
  margin: 0;
  color: rgba(219, 228, 245, .68);
  font-size: .82rem;
  line-height: 1.5;
  text-align: center;
}

.auth-login-page .auth-form-copy strong {
  color: #fff;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.auth-login-page .auth-legal {
  margin-top: 22px;
}

.auth-login-page .message {
  min-height: 20px;
  margin: 0;
  color: #ffcf66;
  font-size: .9rem;
}

.auth-login-page .auth-secondary-form h2 {
  margin: 0;
  color: #fff;
  text-align: center;
}

.auth-login-page .auth-secondary-form p {
  margin: 0;
  color: rgba(219, 228, 245, .72);
  text-align: center;
  line-height: 1.5;
}

@media(max-width: 980px) {
  .auth-login-page .auth-login-shell {
    width: min(760px, calc(100% - 28px));
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 34px 0;
  }

  .auth-login-page .auth-login-hero {
    gap: 24px;
    text-align: center;
    justify-items: center;
  }

  .auth-login-page .auth-hero-copy h1 {
    font-size: clamp(2.85rem, 11vw, 4.6rem);
  }

  .auth-login-page .auth-bracket-showcase {
    width: min(680px, 92vw);
    height: 360px;
    right: auto;
    left: 50%;
    top: 43%;
    transform: translate(-50%, -50%);
    opacity: .24;
  }
}

@media(max-width: 560px) {
  .auth-login-page .auth-login-shell {
    width: min(100% - 20px, 480px);
    padding: 22px 0;
  }

  .auth-login-page .auth-login-hero {
    gap: 20px;
  }

  .auth-login-page .auth-login-card {
    padding: 22px;
  }

  .auth-login-page .auth-bracket-showcase {
    width: calc(100vw - 20px);
    height: 300px;
    top: 36%;
    opacity: .16;
  }

  .auth-login-page .auth-inline-links {
    display: grid;
    justify-content: stretch;
    text-align: center;
  }
}


textarea{width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.24);color:var(--text);outline:none;resize:vertical;font-family:inherit}.hidden{display:none!important}.portal-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:-8px 0 18px}.portal-tabs button{margin-top:0}.portal-tabs button.active{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#00111f}.org-settings-panel{width:100%}.logo-preview-row{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center}.org-logo-preview{width:82px;height:82px;object-fit:contain;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.05);padding:8px}.sponsor-editor{display:grid;gap:12px}.sponsor-editor-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:rgba(0,0,0,.16)}.sponsor-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sponsor-editor-head button{margin-top:0}@media(max-width:700px){.logo-preview-row{grid-template-columns:1fr}.org-logo-preview{width:110px;height:110px}}

.sponsor-logo-preview-wrap{margin:8px 0;}
.sponsor-logo-preview{max-width:140px;max-height:70px;object-fit:contain;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.04);padding:8px;}

/* Organisation portal dashboard shell */
.org-portal-admin-shell{width:100%;align-items:stretch}
.org-portal-admin-shell .admin-content{min-width:0}
.org-portal-shell{width:100%;max-width:none;margin:0;padding:24px}
.org-portal-shell .grid{grid-template-columns:minmax(300px,420px) minmax(360px,1fr)}
@media (max-width:1100px){.org-portal-shell .grid{grid-template-columns:1fr}.org-portal-admin-shell{display:block}.org-portal-admin-shell .admin-sidebar{position:relative;width:auto;margin:12px 16px}.org-portal-shell{padding:16px}}


/* ORG portal settings layout refinement */
.org-settings-stack{
  display:grid;
  grid-template-columns:minmax(420px, 760px) minmax(320px, 1fr);
  gap:18px;
  align-items:start;
}
.org-settings-stack .org-settings-panel{
  width:100%;
}
.org-settings-stack #orgSettingsForm{
  grid-column:1 / 2;
}
.org-settings-stack .sponsor-settings-panel{
  grid-column:2 / 3;
}
.org-settings-stack #orgSettingsForm h3{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.org-settings-stack #orgSettingsForm input[name^="social"]{
  max-width:100%;
}
.sponsor-settings-panel{
  position:sticky;
  top:96px;
}
.sponsor-settings-panel .section-heading-row{
  align-items:flex-start;
}
.sponsor-settings-panel #saveSponsorCardsBtn{
  white-space:nowrap;
}
.sponsor-settings-panel .sponsor-editor-card{
  background:rgba(0,0,0,.18);
}
.sponsor-settings-panel .sponsor-editor-card img,
.sponsor-logo-preview{
  max-width:92px;
  max-height:72px;
  object-fit:contain;
}

.auth-qr-code {
  margin: 16px 0;
  text-align: center;
}

.auth-qr-code canvas {
  display: block;
  width: 220px;
  height: 220px;
  max-width: 100%;
  margin: 0 auto 10px;
  border-radius: 12px;
  background: #fff;
}

.auth-qr-code figcaption {
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.45;
}
@media (max-width:1100px){
  .org-settings-stack{
    grid-template-columns:1fr;
  }
  .org-settings-stack #orgSettingsForm,
  .org-settings-stack .sponsor-settings-panel{
    grid-column:auto;
  }
  .sponsor-settings-panel{
    position:static;
  }
}

.empty-state {
  border: 1px solid rgba(0, 194, 255, 0.22);
  border-radius: 18px;
  padding: 28px;
  background: rgba(5, 18, 36, 0.72);
  color: rgba(235, 247, 255, 0.86);
}
.empty-state h3 {
  margin: 0 0 8px;
  color: #fff;
}
.empty-state p {
  margin: 0;
  color: rgba(210, 228, 255, 0.72);
}


.bug-admin-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.bug-admin-update textarea {
  min-height: 72px;
}

.bug-admin-update select,
.bug-admin-update textarea {
  width: 100%;
}

.bug-admin-update button {
  margin-top: 0;
  white-space: nowrap;
}

.bug-report-card {
  position: relative;
}



/* Master portal organisation/member management */
.auth-invite-summary {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border: 1px solid rgba(38, 137, 255, .28);
  border-radius: 10px;
  background: rgba(21, 119, 255, .08);
}
.auth-invite-summary span {
  color: #70b9ff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.auth-invite-summary strong { color: #fff; font-size: 16px; }
.auth-invite-summary small { color: #aebfd3; line-height: 1.4; }

.master-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.master-filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.master-filters input,
.master-filters select {
  min-width: 190px;
}

.org-management-list {
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
}

.org-card.selected {
  border-color: rgba(107, 83, 255, .95);
  box-shadow: 0 0 0 1px rgba(107, 83, 255, .45), 0 18px 42px rgba(0, 0, 0, .22);
}

.org-select {
  display: grid;
  gap: 4px;
  width: 100%;
  text-align: left;
  border: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.org-select strong {
  font-size: 1.05rem;
}

.master-user-form {
  grid-template-columns: 1.2fr 1.4fr 190px 100px;
}

@media(max-width:950px) {
  .master-heading {
    display: grid;
  }

  .master-filters {
    justify-content: stretch;
  }

  .master-filters input,
  .master-filters select,
  .master-filters button {
    width: 100%;
  }

  .org-management-list {
    grid-template-columns: 1fr;
  }

  .master-user-form {
    grid-template-columns: 1fr;
  }
}
