:root {
  --ink: #151611;
  --muted: #6e7166;
  --paper: #f5f4ed;
  --panel: #fffefa;
  --cream: #f4edd5;
  --olive: #638829;
  --olive-dark: #456718;
  --lime: #b6d72e;
  --pink: #d84680;
  --orange: #c76e1a;
  --line: #d7d9ce;
  --sidebar: #11140c;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--paper); }
body { min-height: 100vh; margin: 0; color: var(--ink); background: var(--paper); font-family: Consolas, "Courier New", monospace; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
[hidden] { display: none !important; }

.admin-layout { min-height: 100vh; display: grid; grid-template-columns: 254px minmax(0, 1fr); }
.admin-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 30px 20px 22px; color: #fff; background: var(--sidebar); border-right: 4px solid var(--lime); }
.admin-brand { width: max-content; font: 700 38px/1 Arial, Helvetica, sans-serif; letter-spacing: -3px; }
.admin-sidebar > p { margin: 18px 4px 28px; color: #9aa18c; font-size: 12px; line-height: 1.5; letter-spacing: 1px; }
.admin-sidebar > p strong { color: var(--lime); }
.admin-sidebar nav { display: grid; gap: 5px; }
.advanced-navigation { display:grid; gap:5px; padding-left:10px; border-left:2px solid #6e267b; }
.advanced-navigation[hidden] { display:none; }
.nav-tools-toggle { margin-top:4px; border-color:#54245c; }
.nav-tools-toggle .nav-toggle-icon { color:#d9ff22; font-size:18px; line-height:1; transition:transform .16s ease; }
.nav-tools-toggle .nav-toggle-label { color:inherit; font-size:13px; }
.nav-tools-toggle[aria-expanded="true"] .nav-toggle-icon { transform:rotate(45deg); }
.nav-item { width: 100%; min-height: 46px; display: grid; grid-template-columns: 30px 1fr auto; align-items: center; padding: 0 12px; border: 1px solid transparent; border-radius: 5px; color: #bfc4b5; background: transparent; font-size: 13px; font-weight: 900; text-align: left; cursor: pointer; }
.nav-item span { color: #737b68; font-size: 11px; }
.nav-item b { min-width: 24px; padding: 3px 6px; border-radius: 999px; color: #111; background: var(--lime); font-size: 11px; text-align: center; }
.nav-item:hover, .nav-item:focus-visible { color: #fff; border-color: #424837; background: #1c2115; }
.nav-item.active { color: #111; background: var(--lime); }
.nav-item.active span { color: #40520e; }
.sidebar-footer { margin-top: auto; padding: 16px 12px 0; border-top: 1px solid #3d4334; }
.sidebar-footer span, .sidebar-footer strong { display: block; }
.sidebar-footer span { color: var(--lime); font-size: 10px; }
.sidebar-footer strong { margin: 5px 0 13px; font-size: 14px; }
.sidebar-footer button { padding: 0; border: 0; color: #aeb4a4; background: transparent; font-size: 12px; font-weight: 900; cursor: pointer; }

.admin-main { min-width: 0; padding: 34px 38px 70px; }
.admin-topbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 28px; padding-bottom: 23px; border-bottom: 2px solid #d2d4c9; }
.admin-topbar p { margin: 0 0 5px; color: var(--olive-dark); font-size: 12px; font-weight: 900; letter-spacing: 1px; }
.admin-topbar h1 { margin: 0; font-family: Impact, "Arial Black", sans-serif; font-size: 45px; line-height: 1; letter-spacing: 2px; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.admin-search { height: 43px; display: grid; grid-template-columns: 36px 230px; align-items: center; border: 2px solid #a8ad9c; border-radius: 5px; background: #fff; }
.admin-search span { text-align: center; font-size: 20px; }
.admin-search input { min-width: 0; border: 0; outline: 0; font-size: 12px; font-weight: 800; }
.topbar-actions > a { height: 43px; display: grid; place-items: center; padding: 0 15px; border: 2px solid var(--ink); border-radius: 5px; background: #fff; font-size: 12px; font-weight: 900; }
.topbar-actions > .creator-site-button { grid-auto-flow: column; gap: 9px; color: #fff; border-color: var(--olive-dark); background: var(--olive-dark); box-shadow: 0 4px 0 #2c470b; transition: transform .15s ease, box-shadow .15s ease; }
.topbar-actions > .creator-site-button:hover, .topbar-actions > .creator-site-button:focus-visible { transform: translateY(-2px); box-shadow: 0 6px 0 #2c470b; }
.creator-site-button span { font: 700 18px/1 Arial, sans-serif; }

.admin-view { display: none; }
.admin-view.active { display: block; animation: view-in .18s ease-out; }
@keyframes view-in { from { opacity: 0; transform: translateY(5px); } }

.overview-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.stat-card { position: relative; min-height: 135px; padding: 20px; overflow: hidden; border: 2px solid #bdc6a9; border-radius: 7px; background: var(--panel); box-shadow: 0 5px 0 rgba(72,92,40,.09); }
.stat-card::after { content: ""; position: absolute; right: -24px; bottom: -38px; width: 80px; height: 80px; border: 15px solid rgba(182,215,46,.19); transform: rotate(45deg); }
.stat-card span { color: var(--muted); font-size: 11px; font-weight: 900; letter-spacing: .8px; }
.stat-card strong { display: block; margin: 16px 0 7px; color: var(--olive-dark); font-size: 33px; }
.stat-card small { color: var(--muted); font-size: 11px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); gap: 18px; }
.activity-panel { grid-column: 1 / -1; }
.account-policy-panel { grid-column: 1 / -1; }
.policy-status { min-width:52px; padding:7px 10px; border:2px solid currentColor; border-radius:999px; text-align:center; font-size:11px; }
.policy-status.is-off { color:#fff; background:#4f5260; }
.policy-status.is-on { color:#263600; background:var(--lime); }
.account-policy-body { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px; }
.account-policy-body p { margin:0; color:var(--muted); font-size:12px; font-weight:900; line-height:1.5; }
.account-policy-body button { flex:0 0 auto; }

.admin-panel { border: 2px solid #c7cbbd; border-radius: 7px; background: var(--panel); box-shadow: 0 5px 0 rgba(55,65,39,.07); }
.admin-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.admin-panel > header span { color: var(--olive-dark); font-size: 10px; font-weight: 900; letter-spacing: 1px; }
.admin-panel > header h2 { margin: 4px 0 0; font-size: 17px; }
.text-action { padding: 0; border: 0; color: var(--olive-dark); background: transparent; font-size: 11px; font-weight: 900; cursor: pointer; }
.compact-list { padding: 4px 20px 12px; }
.compact-row { min-height: 61px; display: grid; grid-template-columns: minmax(90px, 1fr) minmax(110px, 1.3fr) auto; align-items: center; gap: 14px; border-bottom: 1px dashed var(--line); font-size: 12px; }
.compact-row:last-child { border-bottom: 0; }
.compact-row strong { font-size: 13px; }
.compact-row span { color: var(--muted); }
.compact-row button { border: 0; color: var(--olive-dark); background: transparent; font-size: 11px; font-weight: 900; cursor: pointer; }
.season-progress-card { padding: 22px; }
.season-progress-card strong { display: block; font-size: 27px; }
.season-progress-card p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.progress-track { height: 13px; margin: 22px 0 10px; overflow: hidden; border: 1px solid #77805f; background: #e2e4d9; }
.progress-track i { display: block; height: 100%; background: var(--lime); }
.season-meta { display: flex; justify-content: space-between; color: var(--muted); font-size: 11px; font-weight: 900; }

.view-toolbar { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.view-toolbar p { margin: 0; color: var(--muted); font-size: 13px; }
.filter-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.filter-tabs button { min-height: 35px; padding: 0 12px; border: 1px solid #9da28f; border-radius: 4px; color: #575d4f; background: #fff; font-size: 11px; font-weight: 900; cursor: pointer; }
.filter-tabs button.active { color: #fff; border-color: var(--olive-dark); background: var(--olive-dark); }
.primary-action, .secondary-action, .row-action { min-height: 38px; padding: 0 14px; border: 2px solid var(--olive-dark); border-radius: 4px; color: #fff; background: var(--olive-dark); font-size: 11px; font-weight: 900; cursor: pointer; }
.secondary-action, .row-action { color: var(--olive-dark); background: #fff; }
.row-action.danger { color: #a32b57; border-color: #a32b57; }
.creator-account-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.creator-account-actions .row-action { flex:1 1 190px; }
.row-action.reset-password { color:#050700; border-color:#d9ff22; background:#d9ff22; }
.row-action.reset-password:hover,.row-action.reset-password:focus-visible { color:#f8f5ff; border-color:#d348e7; background:#6e267b; outline:2px solid #d9ff22; outline-offset:2px; }
.password-reset-status { display:grid; gap:6px; margin-top:18px; padding:14px; color:#ffb323; border:1px solid #a96e18; background:#171006; font-size:10px; line-height:1.45; }
.password-reset-status strong { color:#ffcf6c; font-size:12px; }
.password-reset-status.is-clear { color:#aaa1b0; border-color:#54245c; background:#07090d; }
.password-reset-status.is-clear strong { color:#d9ff22; }

.table-panel { overflow: hidden; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 12px; }
th { height: 45px; padding: 0 14px; color: #71766a; background: #f0f1ea; font-size: 10px; letter-spacing: .6px; text-align: left; white-space: nowrap; }
td { height: 60px; padding: 8px 14px; border-top: 1px solid #e2e3dc; vertical-align: middle; }
tbody tr:hover { background: #f4f7ea; }
td strong { font-size: 13px; }
.status-pill { display: inline-block; padding: 5px 8px; border: 1px solid currentColor; border-radius: 999px; font-size: 10px; font-weight: 900; text-transform: uppercase; white-space: nowrap; }
.status-pill.pending, .status-pill.draft { color: var(--orange); background: #fff8e8; }
.status-pill.approved, .status-pill.active, .status-pill.live, .status-pill.open { color: var(--olive-dark); background: #f1f7e2; }
.status-pill.rejected, .status-pill.suspended, .status-pill.closed { color: var(--pink); background: #fff0f5; }
.status-pill.changes_requested, .status-pill.upcoming { color: #7562a3; background: #f4f0ff; }
.status-pill.archived{color:#f8f5ff;background:#54445c}.mission-card.is-archived{opacity:.72}.mission-card button:disabled{opacity:.45;cursor:not-allowed}
.muted { color: var(--muted); }
.positive { color: var(--olive-dark); font-weight: 900; }
.negative { color: var(--pink); font-weight: 900; }
.empty-row td { height: 120px; color: var(--muted); text-align: center; }

.mission-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.mission-card { padding: 22px; border: 2px solid #c2c9af; border-radius: 7px; background: var(--panel); box-shadow: 0 5px 0 rgba(55,65,39,.08); }
.mission-card header { display: flex; justify-content: space-between; gap: 16px; }
.mission-card h2 { margin: 8px 0 18px; font-size: 19px; }
.mission-card p { margin: 8px 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.mission-score-line { display: flex; justify-content: space-between; margin: 20px 0 16px; padding-top: 14px; border-top: 1px dashed var(--line); color: var(--olive-dark); font-weight: 900; }

.admin-dialog { width: min(680px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; overflow: auto; border: 3px solid var(--olive-dark); border-radius: 9px; background: var(--panel); box-shadow: 15px 16px 0 rgba(27,39,13,.22); }
#mission-dialog { width:min(1080px,calc(100vw - 32px)); }
.admin-dialog::backdrop { background: rgba(18,21,13,.55); backdrop-filter: blur(2px); }
.checkbox-line{display:flex!important;align-items:center;gap:10px;align-self:end;min-height:44px}.checkbox-line input{width:20px!important;height:20px!important;accent-color:var(--lime)}.form-note{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.6}
.dialog-shell { padding: 25px; }
.dialog-shell > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 2px solid var(--line); }
.dialog-shell > header span { color: var(--olive-dark); font-size: 10px; font-weight: 900; letter-spacing: 1px; }
.dialog-shell > header h2 { margin: 5px 0 0; font-size: 27px; }
.dialog-close { width: 40px; height: 40px; padding: 0 0 3px; border: 2px solid var(--ink); border-radius: 4px; background: #fff; font: 700 27px/1 Arial, sans-serif; cursor: pointer; }
.review-meta { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; margin: 18px 0; }
.review-meta div, .creator-detail-stat { padding: 13px; border: 1px solid #cdd1c4; background: #f7f7f1; }
.review-meta span, .creator-detail-stat span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 10px; font-weight: 900; }
.review-link { min-height: 46px; display: grid; place-items: center; margin: 0 0 18px; border: 2px solid var(--olive-dark); color: var(--olive-dark); background: #f4f9e8; font-size: 12px; font-weight: 900; }
.score-checklist { display: grid; gap: 8px; margin: 15px 0; }
.score-checklist label { min-width:0; min-height: 46px; display: grid; grid-template-columns: auto minmax(0,1fr) 70px; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid #c9cec0; background: #fff; font-size: 12px; font-weight: 800; overflow-wrap:anywhere; }
.score-checklist input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--olive); }
.score-checklist input[type="number"] { width: 70px; padding: 7px; border: 1px solid #9fa590; text-align: right; }
.score-criterion-copy { min-width:0; display:grid; gap:6px; padding:3px 0; }
.score-criterion-copy strong { color:inherit; font-size:12px; line-height:1.3; }
.score-criterion-copy small { color:var(--olive-dark); font-size:11px; font-weight:700; line-height:1.5; letter-spacing:.1px; overflow-wrap:anywhere; }
.review-total { display: flex; align-items: center; justify-content: space-between; margin: 16px 0; padding: 14px; color: var(--olive-dark); border: 2px solid var(--olive); background: #f2f7e4; font-weight: 900; }
.review-note-field { display: grid; gap: 8px; margin: 16px 0; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .6px; }
.review-note-field textarea { min-height: 112px; resize: vertical; padding: 13px; color: var(--ink); border: 1px solid #9fa590; background: #fff; font: 700 13px/1.55 inherit; }
.review-note-field small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.resubmission-label { color: #d9ff22; font-size: 9px; line-height: 1.8; letter-spacing: .5px; }
.review-note-error { min-height: 16px; margin: -6px 0 10px; color: #ff4d91; font-size: 10px; font-weight: 900; }
.dialog-actions { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; }
.dialog-actions button { min-height: 44px; border: 2px solid var(--ink); border-radius: 4px; background: #fff; font-size: 11px; font-weight: 900; cursor: pointer; }
.dialog-actions .approve { color: #fff; border-color: var(--olive-dark); background: var(--olive-dark); }
.dialog-actions .reject { color: #fff; border-color: #a52f59; background: #a52f59; }
.dialog-actions .pending { border-color: #ffb323; }
.creator-stat-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin: 18px 0; }
.creator-history { margin: 12px 0; padding: 14px; border: 1px solid var(--line); background: #fff; font-size: 12px; }
.creator-history strong { display: block; margin-bottom: 7px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 18px 0; }
.form-grid label { display: grid; gap: 7px; color: var(--muted); font-size: 11px; font-weight: 900; }
.form-grid label.full { grid-column: 1 / -1; }
.form-grid input, .form-grid select, .form-grid textarea { height: 44px; padding: 0 12px; border: 2px solid #a4aa99; background: #fff; color: var(--ink); font:inherit; }
.form-grid textarea { min-height:88px; padding:12px; resize:vertical; }
.full-button { width: 100%; }
.criteria-builder { margin:20px 0; padding:18px; border:2px solid #6e267b; background:#050708; }
.criteria-builder > header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.criteria-builder h3 { margin:5px 0 0; color:#fff; }
.criterion-editor { display:grid; grid-template-columns:minmax(180px,1.1fr) 100px minmax(220px,1.6fr) auto auto; gap:10px; align-items:end; padding:12px 0; border-top:1px solid #54245c; }
.criterion-editor label { display:grid; gap:6px; color:#d7cddd; font-size:10px; font-weight:900; }
.criterion-editor input { width:100%; height:42px; padding:0 10px; color:#fff; border:2px solid #6e267b; background:#090b10; font:inherit; }
.criterion-editor .criterion-copy-text { grid-column:1 / 4; }
.criterion-copy-text input:disabled { opacity:.48; cursor:not-allowed; }
.criterion-copy-toggle { grid-column:4 / 5; }
.criteria-total { display:flex; justify-content:space-between; gap:20px; margin-top:14px; padding:14px; color:#d9ff22; border:1px solid #6e267b; font-weight:900; }
.criteria-total .invalid { color:#ff4d91; }
.admin-toast { position: fixed; right: 24px; bottom: 24px; z-index: 100; max-width: 360px; padding: 15px 18px; color: #fff; background: #151a0e; border-left: 5px solid var(--lime); box-shadow: 7px 7px 0 rgba(0,0,0,.2); font-size: 12px; font-weight: 900; opacity: 0; transform: translateY(15px); pointer-events: none; transition: .2s ease; }
.admin-data-error{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:1fr auto;gap:6px 18px;align-items:center;margin:0 0 18px;padding:15px 18px;color:#fff;border:2px solid #ff4d91;background:#2b0716;box-shadow:6px 6px 0 #5b1735}.admin-data-error[hidden]{display:none}.admin-data-error strong{color:#ff8ab7}.admin-data-error span{grid-column:1}.admin-data-error button{grid-column:2;grid-row:1/3;min-height:40px;padding:0 18px;color:#050700;border:2px solid var(--lime);background:var(--lime);font:900 11px inherit;cursor:pointer}
.admin-pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px;border-top:1px solid #54245c}.admin-pager span{min-width:110px;color:#f8f5ff;font-size:11px;font-weight:900;text-align:center}.admin-pager button{min-height:34px;padding:0 12px;color:#d9ff22;border:1px solid #6e267b;background:#090b10;font:900 10px inherit;cursor:pointer}.admin-pager button:disabled{opacity:.35;cursor:not-allowed}
.admin-toast.visible { opacity: 1; transform: translateY(0); }

.admin-login-page { display: grid; place-items: center; padding: 35px 20px; background: linear-gradient(rgba(182,215,46,.04) 1px,transparent 1px), linear-gradient(90deg,rgba(182,215,46,.04) 1px,transparent 1px), #10130c; background-size: 28px 28px; }
.admin-login-card { width: min(100%, 520px); padding: 44px 48px 50px; border: 2px solid #637243; border-radius: 8px; color: #fff; background: #171b11; box-shadow: 15px 15px 0 #759324; }
.admin-login-brand { font: 700 38px/1 Arial, Helvetica, sans-serif; letter-spacing: -3px; }
.admin-kicker { margin: 28px 0 10px; color: var(--lime); font-size: 11px; font-weight: 900; letter-spacing: 1px; }
.admin-login-card h1 { margin: 0 0 26px; font-family: Impact, "Arial Black", sans-serif; font-size: 66px; line-height: .84; letter-spacing: 2px; }
.admin-login-card h1 span { color: var(--lime); }
.demo-account { padding: 13px 15px; border: 1px dashed #728248; color: #aeb5a2; background: #10130c; font-size: 11px; line-height: 1.55; }
.demo-account strong { color: #fff; }
.admin-login-card form { display: grid; gap: 9px; margin-top: 22px; }
.admin-login-card label { margin-top: 7px; color: #cbd0c2; font-size: 11px; font-weight: 900; }
.admin-login-card input { height: 52px; padding: 0 14px; border: 2px solid #677158; outline: 0; color: #fff; background: #0e110a; }
.admin-login-card input:focus { border-color: var(--lime); }
.admin-login-message { min-height: 21px; margin: 5px 0 0; color: #ff7fab; font-size: 12px; font-weight: 900; }
.admin-login-card form button { min-height: 55px; border: 2px solid var(--lime); color: #111; background: var(--lime); font-size: 13px; font-weight: 900; cursor: pointer; }
.admin-login-card form button:disabled { opacity: .65; cursor: wait; }
.creator-login-link { display: block; margin-top: 22px; color: #b9beaf; font-size: 11px; font-weight: 900; text-align: center; }
.admin-login-back { display: block; margin-top: 22px; color: #b9beaf; font-size: 11px; font-weight: 900; text-align: center; text-decoration: underline; text-underline-offset: 4px; }
.admin-login-back:hover, .admin-login-back:focus-visible { color: var(--lime); }

@media (max-width: 1050px) {
  .criterion-editor { grid-template-columns:1fr 92px; }
  .criterion-editor .criterion-description { grid-column:1 / -1; }
  .criterion-editor .criterion-copy-text { grid-column:1 / -1; }
  .criterion-copy-toggle { grid-column:auto; }
  .overview-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .activity-panel { grid-column: auto; }
  .mission-admin-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .admin-layout { display: block; }
  .admin-sidebar { position: relative; width: 100%; height: auto; padding: 20px; border-right: 0; border-bottom: 4px solid var(--lime); }
  .admin-sidebar nav { display: flex; overflow-x: auto; padding-bottom: 6px; }
  .advanced-navigation { display:flex; gap:5px; padding-left:0; border-left:0; }
  .advanced-navigation[hidden] { display:none; }
  .nav-item { min-width: max-content; grid-template-columns: 25px auto auto; gap: 4px; }
  .sidebar-footer { display: none; }
  .admin-main { padding: 24px 18px 60px; }
  .admin-topbar { align-items: stretch; flex-direction: column; gap: 16px; }
  .topbar-actions { display: flex; width: 100%; }
  .admin-search { display: none; }
  .topbar-actions > .creator-site-button { width: 100%; max-width: none; height: auto; min-height: 43px; padding: 8px 12px; font-size: 11px; text-align: center; }
  table { min-width: 760px; }
  .admin-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  #mission-dialog { width:calc(100vw - 16px); }
  .dialog-shell { padding: 20px 16px; }
  .overview-stats { grid-template-columns: 1fr 1fr; }
  .creator-stat-row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 500px) {
  .overview-stats, .form-grid { grid-template-columns: 1fr; }
  .form-grid label.full { grid-column: auto; }
  .dialog-actions { grid-template-columns: 1fr; }
  .review-meta { grid-template-columns: 1fr; }
  .score-checklist label { grid-template-columns:auto minmax(0,1fr) 62px; gap:8px; padding-inline:9px; }
  .score-checklist input[type="number"] { width:62px; }
  .score-criterion-copy small { font-size:10px; line-height:1.45; }
  .review-total { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
  .admin-login-card { padding: 36px 25px 42px; }
}

/* 2026 neon arcade visual system */
:root { --ink:#f8f5ff; --muted:#aaa1b0; --paper:#020906; --panel:#090b10; --cream:#16101a; --olive:#d9ff22; --olive-dark:#d9ff22; --lime:#d9ff22; --pink:#ff4d91; --orange:#ffb525; --line:#54245c; --sidebar:#050708; }
html,body,.admin-main { background:#020906; }
.admin-main { background:linear-gradient(rgba(52,89,77,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(52,89,77,.12) 1px,transparent 1px),#020906;background-size:30px 30px; }
.admin-sidebar { border-color:#d348e7;background:#050708; }
.nav-item:hover,.nav-item:focus-visible { border-color:#d348e7;background:#140d18; }
.nav-item.active { color:#050700;background:#d9ff22; }
.admin-topbar { border-bottom-color:#d348e7; }
.admin-search,.topbar-actions>a,.filter-tabs button,.secondary-action,.row-action,.dialog-actions button { color:#fff;border-color:#6e267b;background:#090b10; }
.topbar-actions>.creator-site-button,.primary-action,.filter-tabs button.active,.dialog-actions .approve { color:#050700;border-color:#d9ff22;background:#d9ff22;box-shadow:0 4px 0 #6e267b; }
.stat-card,.admin-panel,.mission-card,.admin-dialog { border-color:#6e267b;background:#090b10;box-shadow:0 5px 0 #3f1546; }
.stat-card strong,.admin-panel>header span,.text-action,.positive,.mission-score-line { color:#d9ff22; }
th { color:#f8f5ff;background:#120d16;font-size:11px; } td { border-top-color:#54245c; } tbody tr:hover { background:#151b09; }
.review-meta div,.creator-detail-stat,.creator-history,.score-checklist label { border-color:#54245c;background:#07090d; }
.form-grid input,.form-grid select,.form-grid textarea,.score-checklist input[type=number] { color:#fff;border-color:#6e267b;background:#050708; }
.review-note-field textarea { color:#f8f5ff;border-color:#6e267b;background:#050708; }
.status-pill {
  min-width: 72px;
  padding: 6px 10px;
  font-size: 11px;
  line-height: 1.1;
  letter-spacing: .35px;
  text-align: center;
  box-shadow: 2px 2px 0 #36123d;
}
.status-pill.approved,
.status-pill.active,
.status-pill.live,
.status-pill.open {
  color: #050700;
  border-color: #d9ff22;
  background: #d9ff22;
}
.status-pill.pending,
.status-pill.draft {
  color: #180b00;
  border-color: #ffb525;
  background: #ffb525;
}
.status-pill.rejected,
.status-pill.suspended,
.status-pill.closed {
  color: #19020c;
  border-color: #ff4d91;
  background: #ff4d91;
}
.status-pill.changes_requested,
.status-pill.upcoming {
  min-width: 96px;
  color: #100014;
  border-color: #c978ff;
  background: #c978ff;
}
.status-pill.ghost { color:#050700; border-color:#d348e7; background:#d348e7; }
.ghost-creator-row { background:rgba(211,72,231,.08); }
.muted { color: #c7bdca; }
.admin-login-page { background:linear-gradient(rgba(52,89,77,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(52,89,77,.16) 1px,transparent 1px),#020906;background-size:28px 28px; }
.admin-login-card { border-color:#d348e7;background:#080b0e;box-shadow:15px 15px 0 #51175c; }

/* High-contrast safeguards for the neon admin theme.
   Native dialog and form controls do not consistently inherit the page color. */
.admin-dialog {
  color: #f8f5ff;
  color-scheme: dark;
}
.dialog-shell,
.dialog-shell > header h2,
.review-meta strong,
.creator-detail-stat strong,
.creator-history,
.score-checklist label {
  color: #f8f5ff;
}
.review-meta span,
.creator-detail-stat span,
.creator-runs-heading,
.form-grid label,
.form-note {
  color: #c7bdca;
}
.review-meta div,
.creator-detail-stat,
.creator-history,
.score-checklist label {
  background: #07090d;
}
.score-criterion-copy small { color:#d9ff22; }
.review-link {
  color: #d9ff22;
  border-color: #d9ff22;
  background: #07090d;
}
.review-link:hover,
.review-link:focus-visible {
  color: #050700;
  background: #d9ff22;
  outline: 3px solid #d348e7;
  outline-offset: 3px;
}
.review-total {
  color: #d9ff22;
  border-color: #d9ff22;
  background: #11160a;
}
.dialog-close {
  color: #f8f5ff;
  border-color: #d348e7;
  background: #0b0b11;
}
.dialog-close:hover,
.dialog-close:focus-visible {
  color: #050700;
  border-color: #d9ff22;
  background: #d9ff22;
  outline: 3px solid #d348e7;
  outline-offset: 3px;
}
.admin-search input {
  color: #f8f5ff;
  background: transparent;
}
.admin-search input::placeholder,
.form-grid input::placeholder {
  color: #aaa1b0;
  opacity: 1;
}
.form-grid input,
.form-grid select,
.score-checklist input[type="number"] {
  color: #f8f5ff;
  background: #050708;
}
.form-grid input:focus-visible,
.form-grid select:focus-visible,
.score-checklist input[type="number"]:focus-visible,
.review-note-field textarea:focus-visible,
.admin-search:focus-within {
  border-color: #d9ff22;
  outline: 3px solid rgba(217,255,34,.22);
  outline-offset: 2px;
}
.dialog-actions button:not(.approve):not(.reject) {
  color: #f8f5ff;
  border-color: #a63bb7;
  background: #0b0b11;
}
.dialog-actions button:not(.approve):not(.reject):hover,
.dialog-actions button:not(.approve):not(.reject):focus-visible {
  color: #050700;
  border-color: #d9ff22;
  background: #d9ff22;
}
.row-action.danger {
  color: #ff6aa5;
  border-color: #ff4d91;
  background: #090b10;
}
.row-action.danger:hover,
.row-action.danger:focus-visible {
  color: #19020c;
  background: #ff4d91;
}

.acceptance-list-button { width:100%; margin-top:14px; color:#d9ff22; border-color:#d9ff22; }
.mission-image-upload { padding:14px; border:2px dashed #6e267b; background:#07090d; }
.mission-image-upload input { height:auto; padding:10px; }
.mission-image-upload span,.mission-image-actions span { color:#aaa1b0; font-size:9px; }
.mission-image-preview { display:grid; place-items:center; min-height:150px; overflow:hidden; border:1px solid #54245c; background:#050708; color:#aaa1b0; font-size:10px; }
.mission-image-preview img { display:block; width:100%; max-height:260px; object-fit:contain; }
.mission-image-actions { display:flex; align-items:center; gap:14px; }
.review-bonus-field { display:grid; grid-template-columns:1fr 130px; align-items:center; gap:12px; margin-top:14px; padding:14px; border:1px solid #54245c; color:#d9ff22; background:#07090d; font-size:11px; font-weight:900; }
.review-bonus-field input { width:100%; height:42px; padding:0 10px; color:#fff; border:2px solid #6e267b; background:#050708; font:inherit; }
.review-bonus-field small { grid-column:1/-1; color:#aaa1b0; }
.acceptance-summary { margin-bottom:14px; color:#d9ff22; font-weight:900; }
.acceptance-list { display:grid; gap:8px; max-height:55vh; overflow:auto; }
.acceptance-list>div { display:grid; grid-template-columns:minmax(0,1fr) 100px 170px; gap:12px; align-items:center; padding:13px; border:1px solid #54245c; background:#07090d; }
.acceptance-list span { color:#d9ff22; text-transform:uppercase; }
.acceptance-list time { color:#c7bdca; text-align:right; }
.acceptance-actions { margin-top:18px; }
#acceptance-dialog{width:min(1050px,calc(100vw - 24px));max-width:1050px;color:#f7f5ff}
.invite-toolbar{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:12px;align-items:end;margin:16px 0}
.invite-toolbar label,.invite-note-label{display:grid;gap:7px;min-width:0;color:#c7bdca;font-size:11px}
.invite-toolbar input,.invite-toolbar select,.invite-note-label textarea{width:100%;min-width:0;padding:10px;border:1px solid #6e267b;background:#07090d;color:#f7f5ff;font:inherit}
.invite-toolbar select option{background:#07090d;color:#f7f5ff}
.invite-selection{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}
#invite-selected-count{color:#d9ff22;font-size:12px}
.invite-list{display:grid;gap:12px;max-height:48dvh;overflow-y:auto;padding:2px}
.invite-card{min-width:0;padding:16px;border:1px solid #6e267b;background:#0b0c12;color:#f7f5ff}
.invite-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.invite-person{display:flex!important;align-items:center;gap:10px;min-width:0;margin:0!important;color:#fff!important;font-size:14px!important}
.invite-person strong{min-width:0;overflow-wrap:anywhere}
.invite-person input{width:20px!important;height:20px!important;flex:0 0 20px;padding:0!important;accent-color:#d9ff22}
.invite-badge{flex-shrink:0;padding:7px 9px;font-size:10px;font-weight:900;border:1px solid}
.invite-badge.sent{color:#080b00;background:#d9ff22;border-color:#d9ff22}
.invite-badge.not-sent{color:#080b00;background:#ffb323;border-color:#ffb323}
.invite-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;color:#c7bdca;font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.invite-sent-by{grid-column:1/-1}
.invite-note-label textarea{min-height:60px;resize:vertical;line-height:1.5}
.invite-card>button{margin-top:10px}
.invite-error{min-height:16px;color:#ff8ab9;overflow-wrap:anywhere;font-size:12px}
.acceptance-actions{flex-wrap:wrap;gap:10px}
#acceptance-dialog button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:600px){.invite-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.invite-toolbar>button{grid-column:1/-1}.invite-details{grid-template-columns:1fr}.invite-card{padding:12px}.invite-person{font-size:12px!important}.acceptance-actions>button{flex:1 1 160px}.invite-list{max-height:40dvh}}

@media (max-width:500px) {
  .account-policy-body { align-items:stretch; flex-direction:column; }
  .review-bonus-field { grid-template-columns:1fr; }
  .review-bonus-field small { grid-column:auto; }
  .acceptance-list>div { grid-template-columns:1fr; }
  .acceptance-list time { text-align:left; }
  .mission-image-actions { align-items:flex-start; flex-direction:column; }
}
