:root {
  --ink:#183153;
  --paper:#fffdf5;
  --cream:#fff9e8;
  --yellow:#ffd93d;
  --coral:#ff6b5c;
  --mint:#91e4c3;
  --sky:#61c9f6
}
* {
  box-sizing:border-box
}
[hidden] {
  display:none !important
}
body {
  min-height:100vh;
  margin:0;
  padding:clamp(16px,4vw,48px);
  background:var(--cream);
  color:var(--ink);
  font-family:system-ui,-apple-system,"PingFang SC",sans-serif
}
button,input,select {
  font:inherit
}
.admin-gateway {
  display:grid;
  gap:clamp(20px,3vw,32px);
  width:min(1120px,100%);
  margin:auto
}
.admin-brand {
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:0
}
.admin-brand>img {
  display:block;
  width:clamp(190px,42vw,250px);
  height:auto
}
.admin-brand>span {
  padding-left:14px;
  border-left:2px solid var(--ink);
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
  white-space:nowrap
}
@media (max-width:520px) {
  .admin-brand {
    align-items:flex-end
  }
  .admin-brand>img {
    width:min(62vw,210px)
  }
  .admin-brand>span {
    padding-left:10px;
    font-size:10px;
    white-space:normal
  }
}
.login-card,.admin-home,.team-card {
  border:3px solid var(--ink);
  border-radius:18px;
  background:var(--paper);
  box-shadow:8px 9px 0 rgba(24,49,83,.18);
  padding:clamp(20px,5vw,38px)
}
.login-card {
  width:min(840px,100%);
  justify-self:center
}
.login-card>p,.admin-home p,.team-card p {
  margin:0;
  color:#8e302c;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em
}
.login-card h1,.admin-home h1,.team-card h2 {
  margin:5px 0 24px;
  font-size:clamp(28px,6vw,48px);
  line-height:1
}
.login-card form {
  display:grid;
  gap:14px
}
.setup-card form > small {
  margin-top:-7px;
  color:#52627a;
  font-size:11px;
  font-weight:700
}
.login-card label,.team-card label {
  display:grid;
  gap:6px;
  font-size:12px;
  font-weight:800
}
.login-card input,.team-card input,.team-card select {
  min-height:48px;
  width:100%;
  padding:9px 11px;
  border:2px solid var(--ink);
  border-radius:9px;
  background:var(--paper);
  color:var(--ink)
}
button,.admin-home-actions a {
  min-height:46px;
  border:2px solid var(--ink);
  border-radius:9px;
  background:var(--yellow);
  color:var(--ink);
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
  box-shadow:none
}
.login-card button {
  margin-top:4px
}
.login-card output,.team-card output {
  min-height:20px;
  color:#8e302c;
  font-size:12px
}
.back-link,.local-prototype {
  display:inline-block;
  margin-top:18px;
  color:var(--ink);
  font-size:12px;
  font-weight:800
}
.local-prototype {
  margin-left:14px
}
.admin-home {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:var(--mint)
}
.admin-home h1 {
  margin-bottom:7px
}
.admin-home #sessionIdentity {
  font-size:12px
}
.admin-home-actions {
  display:flex;
  gap:8px
}
.admin-home-actions a,.admin-home-actions button {
  display:grid;
  place-items:center;
  padding:9px 13px
}
.admin-home-actions button {
  background:var(--paper)
}
.team-card {
  margin-top:0
}
.team-card h2 {
  font-size:28px
}
.team-card form {
  display:grid;
  grid-template-columns:minmax(0,1fr) 140px auto;
  align-items:end;
  gap:9px
}
.team-card form button {
  padding:9px 14px
}
.team-list {
  display:grid;
  gap:7px;
  margin-top:12px
}
.team-member {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 12px;
  border:2px solid var(--ink);
  border-radius:9px;
  background:var(--cream);
  font-size:12px
}
.team-member strong,.team-member span {
  display:block
}
.team-member span {
  margin-top:2px;
  color:#344967;
  font-size:10px
}
@media(max-width:600px) {
  body {
    padding:12px
  }
  .admin-home {
    align-items:flex-start;
    flex-direction:column
  }
  .admin-home-actions {
    width:100%
  }
  .admin-home-actions>* {
    flex:1
  }
  .team-card form {
    grid-template-columns:1fr
  }
  .team-card form button {
    width:100%
  }
}
