/* Website dashboard (Dashboard_AR_desktop / Dashboard_AR_phone boards). Loads after site.css. */
body.adm { background: var(--bg); }
.adm-hd { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 80px; padding: 0 48px; border-bottom: 1px solid var(--ln); }
.adm-brand { display: flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 700; }
.adm-brand img { height: 44px; width: auto; margin-inline: -6px; }
.adm-div { width: 1px; height: 24px; background: var(--ln); }
.adm-nav { display: flex; align-self: stretch; gap: 4px; margin-inline-end: auto; margin-inline-start: 16px; }
.adm-nav a { display: inline-flex; align-items: center; padding: 0 14px; font-size: 14px; font-weight: 600; color: var(--mut); border-bottom: 3px solid transparent; border-top: 3px solid transparent; }
.adm-nav a:hover { color: var(--ink); }
.adm-nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--y); }
.adm-nav a:focus-visible, .adm-out:focus-visible, .adm-link:focus-visible { outline: 2px solid var(--y); outline-offset: -3px; }
.adm-tools { display: flex; align-items: center; gap: 12px; }
.adm-out { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; min-height: 40px; padding: 0 12px; border: 1px solid var(--ln); font-size: 13px; font-weight: 600; cursor: pointer; }
.adm-out:hover { border-color: var(--y); }
.adm-hd .lang { display: inline-flex; border: 1px solid var(--ln); font-size: 13px; }
.adm-hd .lang button { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 40px; padding: 0 12px; font-size: 13px; font-weight: 600; cursor: pointer; }
.adm-hd .lang button[aria-pressed="true"] { background: var(--y); color: var(--yi); }
.adm-hd .lang button:focus-visible { outline: 2px solid var(--y); outline-offset: -3px; }
.adm-main { max-width: 860px; margin: 0 auto; padding: 48px 0 64px; display: flex; flex-direction: column; gap: 28px; }
.adm-main h1 { font-size: 40px; line-height: 1.15; font-weight: 700; }
#f { display: flex; flex-direction: column; gap: 28px; }
.fld { display: flex; flex-direction: column; gap: 8px; min-width: 0; border: 0; margin: 0; padding: 0; }
.lbl { font-size: 15px; font-weight: 700; padding: 0; }
.opt { font-weight: 500; color: var(--mut); }
.hint { font-size: 13px; color: var(--mut); line-height: 1.6; }
.err { font-size: 13px; font-weight: 600; color: #FF9A8A; }
.err[hidden] { display: none; }
.inp { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px; padding: 0 16px; border-radius: 0; background: #0D1219; border: 1.5px solid var(--ln); font: inherit; font-size: 15px; color: var(--ink); }
.inp:focus, .inp:focus-within { outline: none; border-color: var(--y); }
.inp[aria-invalid="true"] { border-color: #FF9A8A; }
.inp.url { font-family: var(--f-m); font-size: 13px; }
.inp::placeholder, .inp input::placeholder { color: var(--mut); opacity: .8; }
input[type="date"].inp, #rt { font-size: 15px; color-scheme: dark; font-variant-numeric: tabular-nums; }
input::-webkit-calendar-picker-indicator { filter: invert(.75); cursor: pointer; }
.ann-in input { all: unset; flex: 1; min-width: 0; min-height: 48px; font-size: 15px; }
.ann-in .tag { flex: none; }
.seg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 4px; background: #0D1219; border: 1.5px solid var(--ln); }
.seg label { position: relative; display: flex; }
.seg input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.seg span { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 46px; font-size: 15px; font-weight: 600; color: var(--mut); text-align: center; padding: 0 6px; cursor: pointer; transition: background-color .2s, color .2s; }
.seg input:checked + span { background: var(--y); color: var(--yi); font-weight: 700; }
.seg input:focus-visible + span { outline: 2px solid var(--y); outline-offset: 2px; }
.seg label:hover input:not(:checked) + span { color: var(--ink); }
.dt-row { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 12px; align-items: center; }
.two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.two.tight { gap: 12px; }
.adm-sep { height: 1px; background: var(--ln); }
.adm-btns { display: flex; gap: 12px; }
.adm-btns .btn { min-height: 52px; font-size: 16px; cursor: pointer; border: 0; }
.adm-btns .btn-o { background: none; border: 1.5px solid var(--ln); }
.adm-btns .btn:disabled { opacity: .6; cursor: progress; }
.toast { min-height: 1.6em; font-size: 14px; font-weight: 600; color: var(--y); }
.toast.bad { color: #FF9A8A; }
/* Game images */
.media { gap: 14px; }
.lbl-h { font-size: 22px; line-height: 1.3; font-weight: 700; }
.m-icon { display: flex; align-items: center; gap: 20px; padding: 16px; border: 1.5px solid var(--ln); background: #0D1219; }
.m-icon-box { flex: none; width: 96px; height: 96px; border-radius: 22px; overflow: hidden; background: var(--s1); }
.m-icon-box img { width: 100%; height: 100%; object-fit: cover; }
.m-icon-txt { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.m-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.m-head { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; }
.adm .m-sm { min-height: 40px; padding: 0 14px; font-size: 14px; gap: 6px; cursor: pointer; background: none; }
.adm .m-sm:disabled { opacity: .35; cursor: default; }
.adm .btn-y.m-sm { background: var(--y); color: var(--yi); border: 0; }
.adm .btn-y.m-sm:hover { background: var(--y-hi); }
.m-file { position: relative; cursor: pointer; }
.m-file input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.m-file:focus-within { outline: 2px solid var(--y); outline-offset: 2px; }
.m-add { align-self: flex-start; min-height: 48px; font-size: 15px; }
.m-add[hidden] { display: none; }
.m-shots { display: flex; flex-direction: column; gap: 10px; }
.m-shot { display: grid; grid-template-columns: auto 200px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px; border: 1.5px solid var(--ln); background: #0D1219; }
.m-n { font-family: var(--f-m); font-size: 13px; color: var(--mut); }
.m-shot img { width: 200px; height: auto; aspect-ratio: 20 / 9; object-fit: cover; background: var(--s1); }
.m-caps { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.m-caps .inp { min-height: 44px; }
.m-caps .ann-in input { min-height: 40px; font-size: 14px; }
.m-ctl { display: flex; gap: 6px; }
/* Login */
.adm-login { max-width: 420px; }
#lf { display: flex; flex-direction: column; gap: 20px; }
#lf .btn { min-height: 52px; font-size: 16px; cursor: pointer; border: 0; }
#lf .btn:disabled { opacity: .6; cursor: progress; }
/* Player messages */
.adm-wide { max-width: 1048px; padding-inline: 24px; }
.ms-bar { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.ms-tabs { flex: 1 1 360px; min-width: 0; }
.seg.ms-tabs label > span { gap: 6px; }
.seg.ms-tabs span span { flex: none; display: inline; min-height: 0; padding: 0; color: inherit; font-weight: inherit; }
.ms-tabs .n { font-family: var(--f-m); font-weight: 600; font-size: 13px; }
.ms-cat { width: auto; flex: 0 1 180px; color-scheme: dark; }
.adm .ms-bar .m-sm { min-height: 58px; padding: 0 18px; }
.ms-who { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ms-who[hidden] { display: none; }
.ms-who code, .ms-player { font-family: var(--f-m); font-size: 12px; }
.adm-link { all: unset; cursor: pointer; font-weight: 600; color: var(--y); text-decoration: underline; }
.adm-link[hidden] { display: none; }
.ms-find { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ms-find .inp { flex: 1 1 240px; width: auto; min-width: 0; max-width: 420px; min-height: 44px; font-family: var(--f-m); font-size: 13px; }
.ms-list { display: flex; flex-direction: column; gap: 12px; }
.ms-item { display: flex; flex-direction: column; gap: 12px; padding: 16px; border: 1.5px solid var(--ln); background: #0D1219; }
.ms-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 13px; color: var(--mut); }
.ms-tag { padding: 3px 10px; font-size: 13px; font-weight: 700; background: var(--s1); color: var(--ink); }
.ms-tag.bug { background: var(--y); color: var(--yi); }
.ms-player { all: unset; cursor: pointer; font-family: var(--f-m); font-size: 12px; text-decoration: underline; }
.ms-player:focus-visible { outline: 2px solid var(--y); outline-offset: 2px; }
.ms-text { font-size: 16px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; unicode-bidi: plaintext; }
.ms-phone { font-size: 13px; line-height: 1.6; color: var(--mut); overflow-wrap: anywhere; text-align: start; }
.ms-ctl { display: flex; flex-wrap: wrap; gap: 8px; }
.ms-more { align-self: center; min-height: 48px; font-size: 15px; cursor: pointer; background: none; }
.ms-more[hidden], .adm-main .hint[hidden] { display: none; }
@media (max-width: 900px) {
  .adm-main { padding: 48px 24px 64px; }
  .adm-hd { height: auto; flex-wrap: wrap; padding-block: 12px; }
  .adm-nav { order: 3; flex-basis: 100%; margin: 0; }
  .adm-nav a { min-height: 44px; }
}
@media (max-width: 600px) {
  .adm-hd { min-height: 64px; padding: 10px 20px; }
  .adm-brand { font-size: 15px; }
  .adm-brand img { height: 36px; }
  .adm-main { padding: 24px 20px 40px; gap: 24px; }
  .adm-main h1 { font-size: 30px; }
  #f { gap: 24px; }
  .dt-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .dt-row .hint { grid-column: 1 / -1; }
  .two { grid-template-columns: minmax(0, 1fr); }
  .two.tight { gap: 12px; }
  .adm-btns { flex-direction: column; }
  .m-shot { grid-template-columns: auto minmax(0, 1fr); }
  .m-shot img { width: 100%; }
  .m-caps, .m-ctl { grid-column: 1 / -1; }
}
/* Player inbox and polls (INBOX_POLLS_PLAN.md) */
.adm-main [hidden] { display: none !important; }
.ib-form { display: flex; flex-direction: column; gap: 22px; }
.ib-form fieldset:disabled .seg { opacity: .55; }
.seg.seg2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.seg.seg4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ta-in { align-items: flex-start; padding-block: 12px; }
.ta-in .tag { flex: none; padding-top: 2px; }
.ta-in textarea { all: unset; flex: 1; min-width: 0; min-height: 110px; font-size: 15px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; resize: vertical; }
.tg { gap: 18px; padding: 20px; border: 1.5px solid var(--ln); background: var(--s1); }
.tg[hidden] { display: none; }
.tg legend { float: inline-start; width: 100%; margin-bottom: 4px; }
.chks { display: flex; flex-wrap: wrap; gap: 8px; }
.chk { position: relative; display: inline-flex; }
.chk input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.chk span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1.5px solid var(--ln); background: #0D1219; font-size: 14px; font-weight: 600; color: var(--mut); cursor: pointer; }
.chk input:checked + span { background: var(--y); border-color: var(--y); color: var(--yi); }
.chk input:focus-visible + span { outline: 2px solid var(--y); outline-offset: 2px; }
.days { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.days[hidden], .days label[hidden] { display: none; }
.days input { font-variant-numeric: tabular-nums; }
.aud-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.aud-row .hint:empty { display: none; }
input[type="datetime-local"] { color-scheme: dark; font-variant-numeric: tabular-nums; }
.ib-title { font-size: 18px; font-weight: 700; line-height: 1.5; unicode-bidi: plaintext; overflow-wrap: anywhere; }
.ib-n { font-size: 13px; font-variant-numeric: tabular-nums; }
.ms-tag.broadcast, .ms-tag.live { background: var(--y); color: var(--yi); }
.ms-tag.sched { background: #2B3A52; }
.ms-tag.gone { background: none; border: 1px solid var(--ln); color: var(--mut); }
.ms-item.is-gone { opacity: .7; }
.ms-player-id { font-family: var(--f-m); font-size: 12px; overflow-wrap: anywhere; }
/* replies under a player's message */
.rp-list { display: flex; flex-direction: column; gap: 10px; padding-inline-start: 14px; border-inline-start: 3px solid var(--y); }
.rp-h { font-weight: 700; }
.rp-item { display: flex; flex-direction: column; gap: 4px; }
.rp-item .ms-text { font-size: 15px; }
.rp-unread { color: var(--mut); }
.rp-read { color: #9BD7A6; }
.rp-box { display: flex; flex-direction: column; gap: 10px; padding: 14px; border: 1.5px solid var(--y); background: var(--s1); }
/* polls */
.pl-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.adm .pl-head .m-sm { min-height: 48px; padding: 0 20px; font-size: 15px; border: 0; }
.pl-view { display: flex; flex-direction: column; gap: 24px; align-items: stretch; }
.pl-view[hidden], #listView[hidden], .pl-head .m-sm[hidden] { display: none; }
.pl-view > .adm-link { align-self: flex-start; }
.pl-res { display: flex; flex-direction: column; gap: 14px; padding: 20px; border: 1.5px solid var(--ln); background: #0D1219; }
.pl-res[hidden] { display: none; }
.pl-res-h { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.pl-res-h .m-sm { margin-inline-start: auto; }
.pl-bars { display: flex; flex-direction: column; gap: 12px; }
.pl-bar { display: grid; grid-template-columns: minmax(120px, 1.2fr) minmax(0, 2fr) auto; gap: 14px; align-items: center; }
.pl-label { font-size: 15px; font-weight: 600; unicode-bidi: plaintext; overflow-wrap: anywhere; }
.pl-track { position: relative; height: 14px; background: var(--s1); }
.pl-fill { position: absolute; inset-block: 0; inset-inline-start: 0; background: var(--y); }
.pl-num { font-family: var(--f-m); font-size: 13px; min-width: 88px; text-align: end; font-variant-numeric: tabular-nums; }
.mode-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.mode-row .seg { flex: 1 1 320px; }
.mc { width: auto; flex: 0 1 220px; }
.mc[hidden] { display: none; }
.mc select { all: unset; flex: 1; min-height: 48px; font-size: 15px; color-scheme: dark; cursor: pointer; }
.mc select option { background: #0D1219; color: var(--ink); }
.pl-opts { display: flex; flex-direction: column; gap: 10px; }
.pl-opt { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.pl-opt .m-n { min-width: 56px; font-family: inherit; font-size: 13px; }
.pl-opt .inp { min-height: 48px; }
.pl-opt input:disabled { opacity: .6; }
@media (max-width: 600px) {
  .seg.seg4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .days { grid-template-columns: minmax(0, 1fr); }
  .pl-bar { grid-template-columns: minmax(0, 1fr) auto; }
  .pl-track { grid-column: 1 / -1; grid-row: 2; }
  .pl-opt { grid-template-columns: minmax(0, 1fr) auto; }
  .pl-opt .m-n { grid-column: 1 / -1; }
  .pl-opt .inp { grid-column: 1 / -1; }
  .tg { padding: 14px; }
}
