:root{--paper:#efe3c4;--paper2:#dcc99c;--ink:#27241f;--accent:#7a2f24;--accent2:#4f1d18;--gold:#b59758;--dark:#292720;--muted:#625744}*{box-sizing:border-box}body{margin:0;background:var(--dark);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}header{background:linear-gradient(135deg,#3b1713,#8b3c2f);color:#fff;border-bottom:4px solid var(--gold);padding:14px max(16px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 3px 14px #0008}.brand{display:flex;align-items:center;gap:13px}.badge{width:58px;height:50px;border:2px solid #dbc38a;border-radius:11px;display:grid;place-items:center;font-weight:900;background:#181713;box-shadow:inset 0 0 0 3px #5b241c}.brand h1{font-size:clamp(1.15rem,3vw,1.7rem);margin:0;text-transform:uppercase;letter-spacing:.04em}.brand p{margin:2px 0 0;opacity:.85}.home-link,.button-link{color:#fff;text-decoration:none;font-weight:850;border:1px solid #d4bc83;border-radius:9px;padding:9px 12px;background:#38332b;white-space:nowrap}main{max-width:1100px;margin:20px auto 50px;padding:0 12px}.panel{background:linear-gradient(145deg,var(--paper),var(--paper2));border:1px solid #a58b56;border-radius:14px;box-shadow:0 8px 24px rgba(25,18,10,.25);padding:18px;margin-bottom:16px}.state-panel{max-width:520px;margin:50px auto;text-align:center}.state-panel h2{color:var(--accent2)}.spinner{width:38px;height:38px;margin:0 auto 14px;border:4px solid #c4ae7d;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hidden{display:none!important}.form-stack{display:grid;gap:12px;text-align:left;margin-top:18px}label{font-weight:800;font-size:.88rem;text-transform:uppercase;letter-spacing:.04em}input,select,button{width:100%;font:inherit;border-radius:9px;border:1px solid #796744;padding:11px;background:#fffaf0;color:#211f1a}button{cursor:pointer;font-weight:900;text-transform:uppercase;letter-spacing:.045em;background:linear-gradient(#9a4939,#68271f);color:#fff;border-color:var(--accent2);box-shadow:0 3px 0 var(--accent2)}button:disabled{opacity:.65;cursor:wait}.secondary{background:#403b32;border-color:#24211c;box-shadow:0 3px 0 #1e1b17}.compact{width:auto;padding:8px 12px;box-shadow:none}.button-row{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}.button-row button{width:auto}.status{display:none;border-radius:8px;padding:9px 11px;margin:12px 0;font-weight:700}.status.show{display:block}.status.ok{background:#dce8cf;color:#304221;border:1px solid #879d6c}.status.err{background:#efd3cc;color:#6a231b;border:1px solid #b26c60}.welcome{display:flex;justify-content:space-between;align-items:center;gap:12px}.welcome h2,.section-head h2,.next-step h2{margin:2px 0;color:var(--accent2)}.eyebrow{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.muted{color:var(--muted)}.notice{background:#e6d39f;color:#493d28;border:1px solid #ad9258;border-left:6px solid var(--accent);border-radius:10px;padding:12px 14px;margin-bottom:16px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.metric{background:linear-gradient(145deg,#fff6df,#d9c391);border:1px solid #a58b56;border-radius:12px;padding:15px;box-shadow:0 6px 18px #0004}.metric span{display:block;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--accent2)}.metric strong{display:block;font-size:clamp(1.5rem,4vw,2.25rem);margin:8px 0 3px;color:#2f2a22}.metric small{color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.table-wrap{overflow:auto;border-radius:9px;border:1px solid #9c8961}table{border-collapse:collapse;width:100%;background:#fff8e9;font-size:.9rem}th,td{padding:10px;border-bottom:1px solid #c3b083;text-align:left;white-space:nowrap}th{background:var(--accent);color:#fff;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}tbody tr:last-child td{border-bottom:0}footer{text-align:center;color:#d7cab0;padding:20px;font-size:.8rem}code{background:#fff4d9;padding:2px 5px;border-radius:4px}@media(max-width:800px){.cards{grid-template-columns:1fr 1fr}}@media(max-width:560px){header{align-items:flex-start}.home-link{font-size:.78rem;padding:8px}.cards{grid-template-columns:1fr}.welcome,.section-head{align-items:flex-start;flex-direction:column}.welcome button,.section-head button{width:100%}}

.event-admin-actions{display:flex;gap:7px}
.event-admin-actions button{white-space:nowrap}
.danger{background:linear-gradient(#a52828,#671515);border-color:#4b0e0e;box-shadow:none}
.admin-event-state{display:inline-block;padding:4px 8px;border-radius:999px;background:#ded0ad;color:#41392c;font-size:.74rem;font-weight:900;text-transform:uppercase}
.admin-event-state.cancelled{background:#ead1d1;color:#721d1d}
.admin-event-state.completed{background:#d5e3cf;color:#31572c}
.diagnostics-launch{display:flex;align-items:center;justify-content:space-between;gap:18px}
.diagnostics-launch h2{margin:2px 0;color:var(--accent2)}
.diagnostics-launch p{margin-bottom:0}
.diagnostics-link{background:linear-gradient(#9a4939,#68271f);border-color:var(--accent2);text-transform:uppercase;letter-spacing:.045em;text-align:center}
.diagnostic-tool-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.diagnostic-tool-links .diagnostics-launch{margin-bottom:16px}
.health-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}
.health-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.health-overall{display:inline-flex;align-items:center;justify-content:center;min-width:70px;min-height:34px;border-radius:999px;padding:6px 11px;font-size:.76rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}
.health-overall.not-run,.health-overall.checking{background:#e5dcc8;color:#625744;border:1px solid #9b8b6b}
.health-overall.pass{background:#dce8cf;color:#304221;border:1px solid #7d9c68}
.health-overall.warn{background:#f1dfac;color:#654b13;border:1px solid #b99445}
.health-overall.fail{background:#efd3cc;color:#6a231b;border:1px solid #b26c60}
.health-report{margin-top:12px}
.health-total{display:inline-flex;gap:5px;align-items:center;border:1px solid #7d9c68;background:#dce8cf;color:#304221;border-radius:999px;padding:6px 10px;font-weight:800}
.health-total.warning{border-color:#b99445;background:#f1dfac;color:#654b13}
.health-total.failure{border-color:#b26c60;background:#efd3cc;color:#6a231b}
.health-summary small{margin-left:auto;color:var(--muted)}
.performance-privacy-note{max-width:900px;line-height:1.5}.vital-status{display:inline-block;border-radius:999px;padding:3px 7px;font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}.vital-status.good{background:#dce8cf;color:#304221;border:1px solid #7d9c68}.vital-status.needs-improvement{background:#f1dfac;color:#654b13;border:1px solid #b99445}.vital-status.poor{background:#efd3cc;color:#6a231b;border:1px solid #b26c60}.vital-status.unavailable{background:#e5dcc8;color:#625744;border:1px solid #9b8b6b}.vital-reading{font-weight:800}.vital-result{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;max-width:100%}
.health-badge{display:inline-block;min-width:58px;text-align:center;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900;letter-spacing:.05em}
.health-badge.pass{background:#dce8cf;color:#304221;border:1px solid #7d9c68}
.health-badge.warn{background:#f1dfac;color:#654b13;border:1px solid #b99445}
.health-badge.fail{background:#efd3cc;color:#6a231b;border:1px solid #b26c60}
.database-health-table .health-details{white-space:normal;min-width:280px}
@media(max-width:560px){.health-summary small{width:100%;margin-left:0}.health-actions{width:100%;justify-content:flex-start}.health-actions button{width:auto}.health-actions #toggleDatabaseHealthReport{flex:1}}
@media(max-width:700px){.performance-results-wrap{overflow:visible;border:0;background:transparent}.performance-results-table{display:block;background:transparent}.performance-results-table thead{display:none}.performance-results-table tbody{display:grid;gap:10px}.performance-results-table tr{display:block;border:1px solid #9c8961;border-radius:10px;background:#fff8e9;overflow:hidden}.performance-results-table td{display:grid;grid-template-columns:minmax(112px,42%) minmax(0,1fr);align-items:center;gap:12px;width:100%;padding:10px 12px;border-bottom:1px solid #d8c8a5;white-space:normal;text-align:right}.performance-results-table td::before{content:attr(data-label);min-width:0;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.04em;text-align:left;text-transform:uppercase}.performance-results-table td>strong,.performance-results-table td>.vital-result{justify-self:end;min-width:0;max-width:100%;overflow-wrap:anywhere}.performance-results-table td:last-child{border-bottom:0}.performance-results-table .performance-empty{display:block;text-align:center}.performance-results-table .performance-empty::before{content:none}.performance-results-table .vital-result{flex-wrap:wrap}.performance-results-table .vital-status{margin-left:0}}
@media(max-width:430px){.performance-results-table td{grid-template-columns:minmax(96px,38%) minmax(0,1fr)}.performance-results-table .vital-result{display:grid;justify-items:end;gap:4px}.performance-results-table .vital-reading{line-height:1.15}}
.performance-mobile-cards{display:none}.performance-inp-diagnosis{margin-top:18px;padding-top:14px;border-top:1px solid #a99568}.performance-inp-diagnosis h3{margin:0 0 4px}.performance-inp-list{display:grid;gap:8px}.performance-inp-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #b5a275;border-radius:9px;background:#fff8e9}.performance-inp-item>div{display:grid;gap:3px}.performance-inp-item>div:last-child{justify-items:end}.performance-inp-item span,.performance-inp-item small{color:var(--muted);font-size:.76rem;text-transform:capitalize}
@media(max-width:700px){.performance-results-wrap{display:none}.performance-mobile-cards{display:grid;gap:10px}.performance-page-card{padding:12px;border:1px solid #9c8961;border-radius:10px;background:#fff8e9}.performance-page-card h3{margin:0 0 7px;padding-bottom:7px;border-bottom:1px solid #d8c8a5;font-size:1rem}.performance-page-card dl{display:grid;gap:0;margin:0}.performance-page-card dl>div{display:grid;grid-template-columns:minmax(92px,38%) minmax(0,1fr);align-items:center;gap:8px;min-height:38px;padding:6px 0;border-bottom:1px solid #e2d6bc}.performance-page-card dl>div:last-child{border-bottom:0}.performance-page-card dt{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.performance-page-card dd{display:flex;justify-content:flex-end;align-items:center;min-width:0;margin:0;text-align:right}.performance-page-card .secondary-metric{color:var(--muted)}.performance-page-card .vital-result{gap:6px}.performance-inp-item{grid-template-columns:1fr}.performance-inp-item>div:last-child{grid-template-columns:1fr auto;align-items:center;justify-items:start}.performance-inp-item>div:last-child small{justify-self:end}.health-summary .health-total{max-width:100%;font-size:.84rem}.health-summary .health-total .vital-status{font-size:.58rem}}
.error-log-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:14px 0}
.error-log-toolbar label{min-width:170px}
.error-log-count{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:8px 12px;background:#efd3cc;color:#6a231b;border:1px solid #b26c60;font-weight:850}
.error-log-list{display:grid;gap:10px}
.error-log-card{background:#fff8e9;border:1px solid #9c8961;border-left:6px solid #a52828;border-radius:10px;padding:12px}
.error-log-card.resolved{border-left-color:#668651;opacity:.86}
.error-log-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.error-severity,.error-source,.error-state{display:inline-block;border-radius:999px;padding:4px 7px;font-size:.7rem;font-weight:900;text-transform:uppercase}
.error-severity.warning{background:#f1dfac;color:#654b13}.error-severity.error{background:#efd3cc;color:#6a231b}.error-severity.critical{background:#671515;color:#fff}
.error-source{background:#e5dcc8;color:#544a39;margin-left:5px}.error-state.open{background:#efd3cc;color:#6a231b}.error-state.resolved{background:#dce8cf;color:#304221}
.error-message{font-weight:750;margin:10px 0;overflow-wrap:anywhere}
.error-meta{display:flex;gap:7px 16px;flex-wrap:wrap;color:var(--muted);font-size:.8rem}
.error-details{margin-top:10px;border-top:1px solid #c3b083;padding-top:8px}.error-details summary{cursor:pointer;font-weight:850}
.error-details dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 12px;font-size:.82rem}.error-details dt{font-weight:900}.error-details dd{margin:0;overflow-wrap:anywhere}
.error-details pre{white-space:pre-wrap;word-break:break-word;margin:0;background:#ede2c9;padding:8px;border-radius:7px}
.error-copy-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0}.error-copy-row small{color:var(--muted)}
.error-log-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.error-log-empty{text-align:center;padding:24px;font-weight:800;color:#655947}
@media(max-width:560px){.error-log-toolbar label{width:100%}.error-details dl{grid-template-columns:1fr}.error-details dd{margin-bottom:5px}.error-copy-row button{width:100%}}
@media(max-width:560px){.diagnostics-launch{align-items:stretch;flex-direction:column}.diagnostics-link{width:100%}}
@media(max-width:760px){.diagnostic-tool-links{grid-template-columns:1fr;gap:0}}
.admin-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin-management-grid .diagnostics-launch{min-height:220px;margin-bottom:0;align-items:stretch;flex-direction:column}
.admin-management-grid .diagnostics-launch>div{align-self:stretch;display:flex;flex-direction:column;width:100%}
.admin-management-grid .diagnostics-launch p{margin:12px 0 18px}
.admin-management-grid .diagnostics-link{flex:0 0 auto;width:100%;margin-top:auto}
#openAdminInviteButton{width:100%;max-width:none;align-self:stretch;white-space:normal}
.admin-invitation-dialog{width:min(660px,calc(100% - 24px));max-height:88vh;padding:0;border:1px solid #8b7956;border-radius:14px;background:#fff8e8;color:#241d13}
.admin-invitation-dialog::backdrop{background:#130d16c7}.admin-invitation-dialog form{display:grid;gap:12px;padding:20px}.admin-invitation-dialog label{display:grid;gap:5px}
.admin-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:2px solid #c1ab75;padding-bottom:11px}.admin-dialog-heading h2{margin:2px 0 0}
.admin-invitation-history{border-top:1px solid #c8b481;padding-top:12px}.admin-invitation-history h3{margin:0 0 9px}.admin-invitation-list{display:grid;gap:8px}
.admin-invitation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;border:1px solid #d1c197;border-radius:8px;background:#fbf3df}.admin-invitation-row small{display:block;margin-top:3px;color:#665a42}
.admin-invitation-recipient{min-width:0;overflow-wrap:anywhere}.admin-invitation-meta{display:grid;justify-items:end;gap:5px;text-align:right}.admin-invitation-meta time{white-space:nowrap}.admin-invitation-error{color:#7a261d!important;font-weight:700}
.admin-invitation-state{align-self:start;border-radius:999px;padding:4px 8px;background:#ded0ad;font-size:.7rem;font-weight:900;text-transform:uppercase}.admin-invitation-state.accepted{background:#dce8cf;color:#304221}.admin-invitation-state.failed{background:#efd3cc;color:#6a231b}
.cards.site-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.site-metrics .metric{min-height:54px;padding:6px 10px}
.site-metrics .metric span{font-size:.68rem}
.site-metrics .metric strong{font-size:1.25rem;line-height:1;margin:3px 0 1px}
.site-metrics .metric small{font-size:.68rem}
@media(max-width:760px){
  .admin-management-grid{grid-template-columns:1fr}
  .admin-management-grid .diagnostics-launch{min-height:0}
}
@media(max-width:560px){.cards.site-metrics{grid-template-columns:1fr}}
.admin-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 16px}.admin-quick-actions a,.admin-quick-actions button{display:grid;place-items:center;min-height:48px;width:100%;margin:0;border:1px solid #6a251e;border-radius:9px;padding:10px;background:linear-gradient(#9a4939,#68271f);box-shadow:0 3px 0 #4f1d18;color:#fff;font:inherit;font-weight:900;letter-spacing:.035em;text-align:center;text-decoration:none;text-transform:uppercase}.admin-workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-workspace-card{display:flex;min-width:0;min-height:310px;margin:0;flex-direction:column}.admin-workspace-card h2{margin:3px 0;color:var(--accent2)}.admin-workspace-card p{margin:9px 0 15px}.admin-workspace-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-workspace-links a{display:flex;align-items:center;min-height:46px;border:1px solid #a38d62;border-radius:8px;padding:9px 10px;background:#fff8e9;color:#2b261e;font-weight:850;text-decoration:none}.admin-workspace-links a.primary{border-color:#63231d;background:linear-gradient(#954536,#6d2922);color:#fff}.admin-workspace-dynamic{display:grid;gap:8px;margin-top:8px}.admin-workspace-dynamic:empty{display:none}.admin-workspace-dynamic .panel{min-height:0;margin:0;padding:10px;border-radius:9px;box-shadow:none}.admin-workspace-dynamic .diagnostics-launch{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.admin-workspace-dynamic .diagnostics-launch p,.admin-workspace-dynamic .diagnostics-launch .eyebrow{display:none}.admin-workspace-dynamic .diagnostics-launch h2{font-size:1rem;margin:0}.admin-workspace-dynamic .diagnostics-link{width:auto;margin:0}.admin-management-legacy{display:none!important}#adminOverviewMetrics .site-metrics{margin-top:0;margin-bottom:16px}
@media(max-width:760px){.admin-workspace-grid{grid-template-columns:1fr}.admin-workspace-card{min-height:0}.admin-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.admin-workspace-links{grid-template-columns:1fr}.admin-quick-actions{grid-template-columns:1fr}.admin-workspace-dynamic .diagnostics-launch{grid-template-columns:1fr}.admin-workspace-dynamic .diagnostics-link{width:100%;margin-top:8px}}
@media(max-width:560px){#openAdminInviteButton{width:100%;align-self:stretch}}
@media(max-width:560px){.admin-invitation-row{grid-template-columns:1fr}.admin-invitation-meta{grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:start;text-align:left}.admin-invitation-meta time{justify-self:end;white-space:normal;text-align:right}}
.upload-admin-toolbar{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(170px,.7fr) auto auto;gap:10px;align-items:end;margin-bottom:14px}
.upload-admin-toolbar button{width:auto;white-space:nowrap}
.admin-upload-protected{display:inline-block;margin-top:4px;padding:3px 7px;border-radius:999px;background:#eee0ad;color:#5c4610;font-size:.7rem;font-weight:900}
.admin-delete-dialog{width:min(620px,calc(100% - 24px));border:2px solid #8b3c2f;border-radius:14px;background:#f6ead0;color:var(--ink);box-shadow:0 18px 55px #0009;padding:20px}
.admin-delete-dialog::backdrop{background:#171411cc}
.admin-delete-dialog h2{color:var(--accent2)}
.admin-delete-dialog textarea{width:100%;min-height:150px;margin:8px 0 0;padding:11px;border:1px solid #796744;border-radius:9px;background:#fffaf0;color:#211f1a;font:inherit;resize:vertical}
.admin-delete-dialog .button-row{justify-content:flex-start;margin-top:14px}
.admin-delete-dialog .button-row button{width:auto}
@media(max-width:760px){.upload-admin-toolbar{grid-template-columns:1fr}.upload-admin-toolbar button{width:100%}}
.audit-filter-grid{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr auto;gap:10px;align-items:end;margin:16px 0}
.audit-filter-grid button{margin-bottom:1px}
.audit-count{color:var(--muted)}
.audit-log-list{display:grid;gap:10px}
.audit-log-card{background:#fff8e9;border:1px solid #9c8961;border-left:6px solid var(--accent);border-radius:10px;padding:12px}
.audit-log-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.audit-log-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.audit-log-head time{font-size:.78rem;color:var(--muted);white-space:nowrap}
.audit-action{display:inline-block;border-radius:999px;padding:5px 8px;background:#ead7aa;color:#5b241c;border:1px solid #b59758;font-size:.7rem;font-weight:900;text-transform:uppercase}
.audit-meta{display:flex;gap:7px 16px;flex-wrap:wrap;color:var(--muted);font-size:.8rem;margin-top:10px}
@media(max-width:850px){.audit-filter-grid{grid-template-columns:1fr 1fr}.audit-filter-grid button{width:100%}}
@media(max-width:560px){.audit-filter-grid{grid-template-columns:1fr}.audit-log-head{flex-direction:column}.audit-log-head time{white-space:normal}}
.backup-primary{display:flex;align-items:center;justify-content:space-between;gap:18px}
.backup-primary h2{margin:2px 0;color:var(--accent2)}
.backup-primary p{margin-bottom:0;max-width:720px}
.backup-primary button{width:auto;white-space:nowrap}
.backup-action-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end}
.backup-action-row button{width:auto;white-space:nowrap}
.backup-dataset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.backup-dataset-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff8e9;border:1px solid #9c8961;border-radius:10px;padding:12px}
.backup-dataset-card strong,.backup-dataset-card span{display:block}
.backup-dataset-card span{color:var(--muted);font-size:.8rem;margin-top:3px}
.backup-dataset-card button{width:auto;white-space:nowrap}
.backup-checklist{line-height:1.5}.backup-checklist li+li{margin-top:8px}
.backup-doc-links{justify-content:flex-start;margin-top:16px}
@media(max-width:720px){.backup-dataset-grid{grid-template-columns:1fr}.backup-primary{align-items:stretch;flex-direction:column}.backup-primary button{width:100%}.backup-action-row{grid-template-columns:1fr}.backup-action-row button{width:100%}}
.hobby-admin-theme{--paper:#f1e4c4;--paper2:#d8bf8e;--accent:#9a542c;--accent2:#5b2d18;--gold:#c18a4f;--dark:#2c211b;--muted:#67503b}
.hobby-admin-theme header{background:linear-gradient(135deg,#4a2515,#a45d32)}
.hobby-admin-theme .badge{box-shadow:inset 0 0 0 3px #713819}
.hobby-admin-form{margin:14px 0;padding:14px;border:1px dashed #9a542c;border-radius:11px;background:#fff8e8}
.hobby-admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.hobby-admin-form-grid label{display:grid;gap:5px}
.hobby-admin-form-grid textarea{min-height:100px}
.hobby-admin-form-grid .wide{grid-column:1/-1}
.hobby-admin-checks{display:flex;gap:14px;flex-wrap:wrap}
.hobby-admin-checks label{display:flex;align-items:center;gap:7px;text-transform:none}
.hobby-admin-checks input{width:auto}
.hobby-admin-list{display:grid;gap:10px;margin-top:14px}
.hobby-admin-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px;border:1px solid #9b7045;border-left:6px solid #9a542c;border-radius:10px;background:#fff8e8}
.hobby-admin-row p{margin:7px 0;overflow-wrap:anywhere}
.hobby-admin-row small{color:var(--muted);overflow-wrap:anywhere}
.hobby-admin-row a{color:#6a341c;overflow-wrap:anywhere}
.admin-pill{display:inline-block;margin-left:5px;border-radius:999px;padding:3px 6px;background:#e2c99b;color:#56311c;font-size:.65rem;font-weight:900;text-transform:uppercase}
.admin-pill.featured{background:#c98749;color:#351a0e}.admin-pill.active{background:#dce8cf;color:#304221}.admin-pill.inactive{background:#e2ddd1;color:#615b50}
@media(max-width:650px){.hobby-admin-form-grid{grid-template-columns:1fr}.hobby-admin-form-grid .wide{grid-column:auto}.hobby-admin-row{flex-direction:column}.hobby-admin-row .event-admin-actions{width:100%}.hobby-admin-row .event-admin-actions button{flex:1}}
.feed-health-summary{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.feed-health-total,.feed-health-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.feed-health-total.healthy,.feed-health-badge.healthy{background:#dce8cf;color:#304221;border:1px solid #7d9c68}
.feed-health-total.warning,.feed-health-badge.warning{background:#f1dfac;color:#654b13;border:1px solid #b99445}
.feed-health-total.failed,.feed-health-badge.failed{background:#efd3cc;color:#6a231b;border:1px solid #b26c60}
.feed-health-total.not_checked,.feed-health-badge.not_checked{background:#e5dcc8;color:#625744;border:1px solid #9b8b6b}
.feed-health-line{display:flex;gap:7px 12px;align-items:center;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:.75rem}
.feed-health-error{color:#7b2018;font-weight:750;font-size:.8rem}
.recommendation-assistant-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto}
.recommendation-site-image{width:72px;height:72px;object-fit:contain;border:1px solid #b18a5d;border-radius:10px;background:#fff;padding:5px}
.recommendation-prepared-details{min-width:0}
.recommendation-status{display:inline-block;margin-left:7px;border-radius:999px;padding:4px 7px;font-size:.65rem;font-weight:900;text-transform:uppercase}
.recommendation-status.complete{background:#dce8cf;color:#304221}.recommendation-status.partial{background:#f1dfac;color:#654b13}.recommendation-status.failed{background:#efd3cc;color:#6a231b}.recommendation-status.not_checked{background:#e5dcc8;color:#625744}
.recommendation-facts{display:flex;gap:7px 14px;flex-wrap:wrap;margin:8px 0;color:var(--muted);font-size:.78rem}
.recommendation-error{color:#7b2018;font-weight:800}
.recommendation-player-input{margin:10px 0;padding:8px 10px;border:1px solid #c6a97d;border-radius:8px;background:#f5e8cf}
.recommendation-player-input summary{cursor:pointer;font-weight:850}
@media(max-width:720px){.recommendation-assistant-card{grid-template-columns:1fr}.recommendation-site-image{width:60px;height:60px}}

.rally-admin-theme{--paper:#f2e7c9;--paper2:#dac59a;--accent:#724180;--accent2:#3d1748;--gold:#b99b61;--dark:#24102c;--muted:#665570;background:#211625}
.rally-admin-theme header{background:linear-gradient(135deg,#24102c,#5b2a68)}
.rally-admin-theme .badge{box-shadow:inset 0 0 0 3px #63306f}
.rally-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.rally-admin-tabs button{width:auto;box-shadow:none}
.rally-admin-tabs button.active{background:#f2e7c9;color:#3d1748}
.rally-admin-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) repeat(2,minmax(160px,.45fr));gap:12px;margin:14px 0}
.rally-admin-toolbar label{display:grid;gap:5px}
.rally-admin-list{display:grid;gap:11px;margin-top:12px}
.rally-admin-card{padding:13px;border:1px solid #9d7950;border-left:6px solid #724180;border-radius:10px;background:#fff9e9}
.rally-admin-card.moderated{border-left-color:#a52828;background:#fff1e8}
.rally-admin-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.rally-admin-card-head h3{margin:0;color:#3d1748}
.rally-admin-card-head p{margin:5px 0 0;color:var(--muted)}
.rally-admin-meta{display:flex;gap:8px 18px;flex-wrap:wrap;margin:10px 0;color:var(--muted);font-size:.8rem}
.rally-moderation-reason{padding:9px 11px;border:1px solid #c68172;border-radius:8px;background:#f7d9d1;color:#6a231b}
@media(max-width:650px){.rally-admin-toolbar{grid-template-columns:1fr}.rally-admin-card-head{flex-direction:column}.rally-admin-card .event-admin-actions{width:100%}.rally-admin-card .event-admin-actions button{flex:1}}

.beta-admin-toolbar{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(140px,.55fr));gap:10px;align-items:end;margin:15px 0}
.beta-admin-toolbar label{display:grid;gap:5px}
.beta-admin-summary{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0}
.beta-admin-summary span{border:1px solid #9c8961;border-radius:999px;background:#fff8e9;padding:6px 10px;font-weight:800}
.beta-feedback-admin-list{display:grid;gap:12px;margin-top:12px}
.beta-feedback-admin-card{border:1px solid #9c8961;border-left:6px solid #74507f;border-radius:11px;background:#fff8e9;padding:14px}
.beta-feedback-admin-card.priority-high{border-left-color:#b77b1e}.beta-feedback-admin-card.priority-urgent{border-left-color:#a52828}
.beta-feedback-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.beta-feedback-admin-head h3{margin:7px 0 3px;color:var(--accent2)}
.beta-feedback-admin-head p{margin:0;font-size:.8rem}
.beta-feedback-admin-badges{display:flex;gap:6px;flex-wrap:wrap}
.beta-feedback-category,.beta-feedback-state,.beta-feedback-priority{display:inline-block;border-radius:999px;padding:4px 7px;font-size:.68rem;font-weight:900;text-transform:uppercase}
.beta-feedback-category{background:#ddd1b5;color:#4e4332}.beta-feedback-state{background:#e5dcc8;color:#625744}.beta-feedback-state.new{background:#efd3cc;color:#6a231b}.beta-feedback-state.reviewing{background:#f1dfac;color:#654b13}.beta-feedback-state.planned{background:#d7d9ec;color:#33386e}.beta-feedback-state.resolved,.beta-feedback-state.closed{background:#dce8cf;color:#304221}
.beta-feedback-priority{background:#e5dcc8;color:#625744}.beta-feedback-priority.high{background:#f1dfac;color:#654b13}.beta-feedback-priority.urgent{background:#efd3cc;color:#6a231b}
.beta-feedback-report-text{white-space:pre-wrap;line-height:1.45}
.beta-feedback-admin-card details{margin-top:8px}.beta-feedback-admin-card summary{cursor:pointer;font-weight:850}
.beta-feedback-admin-card details p{white-space:pre-wrap;margin:7px 0;padding:9px;border-radius:7px;background:#eee3c8}
.beta-feedback-technical{display:flex;gap:7px 15px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #c3b083;color:var(--muted);font-size:.78rem}
.beta-feedback-technical details{width:100%;margin:0}

.error-copy-dialog{max-width:min(92vw,760px);border:0;border-radius:14px;padding:0;box-shadow:0 18px 60px rgba(0,0,0,.35)}
.error-copy-dialog::backdrop{background:rgba(18,15,10,.72)}
.error-copy-dialog-card{padding:1.25rem;background:#fff8e8;color:#241d13}
.error-copy-dialog-card h2{margin-top:0}
.error-copy-dialog-card textarea{box-sizing:border-box;width:100%;min-height:45vh;max-height:65vh;padding:.8rem;font:13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}
.error-copy-dialog-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:.8rem}
.beta-feedback-admin-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:13px;padding:12px;border:1px solid #c3b083;border-radius:9px;background:#f0e3c5}
.beta-feedback-admin-controls label{display:grid;gap:5px}.beta-feedback-admin-controls .wide{grid-column:1/-1}.beta-feedback-admin-controls textarea{min-height:74px;resize:vertical}.beta-feedback-admin-controls button{width:auto}
@media(max-width:850px){.beta-admin-toolbar{grid-template-columns:1fr 1fr}.beta-feedback-admin-controls{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.beta-admin-toolbar,.beta-feedback-admin-controls{grid-template-columns:1fr}.beta-feedback-admin-controls .wide{grid-column:auto}.beta-feedback-admin-head{flex-direction:column}.beta-feedback-admin-controls button{width:100%}}

.campaign-admin-theme{--paper:#eee2c3;--paper2:#d5c397;--accent:#677548;--accent2:#384326;--gold:#b69b5b;--dark:#25271f;--muted:#5f604e}
.campaign-admin-theme header{background:linear-gradient(135deg,#303824,#69784b)}.campaign-admin-theme .badge{box-shadow:inset 0 0 0 3px #53613a}
.campaign-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.campaign-layout>.panel{margin-bottom:16px}.campaign-create{margin-top:15px}.campaign-create summary{cursor:pointer;font-weight:900;color:var(--accent2)}
.campaign-overview-stack{display:block}.campaign-overview-stack>#campaignSummary{width:100%;margin-bottom:16px}
.campaign-selection-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:16px;align-items:start}.campaign-selection-grid>.panel{margin-bottom:16px}.campaign-new-card h2,.campaign-existing-card h2{margin:2px 0;color:var(--accent2)}.campaign-selection-list{display:grid;gap:12px}.campaign-selection-card{padding:14px;border:1px solid #a88c57;border-radius:12px;background:#fff8e9}.campaign-selection-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.campaign-selection-card h3{margin:3px 0;color:var(--accent2);font-size:1.25rem}.campaign-selection-card p{margin:10px 0;line-height:1.45}.campaign-selection-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.campaign-selection-meta span{padding:8px;border:1px solid #c4ae80;border-radius:8px;background:#f4e8c9}.campaign-selection-meta b{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.campaign-selection-card button{margin-top:2px}
.campaign-create-launch{margin-bottom:16px}.campaign-create-workspace{width:100%;max-width:none;margin:0 0 16px}.campaign-create-workspace h2{margin:2px 0 14px;color:var(--accent2)}
.campaign-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:13px}.campaign-form label,.battle-form label{display:grid;gap:5px}.campaign-form textarea{width:100%;padding:11px;border:1px solid #796744;border-radius:9px;background:#fffaf0;font:inherit}.campaign-form .wide{grid-column:1/-1}.campaign-format-field select{width:100%;min-width:0;text-overflow:clip}.compact-form{padding-top:12px;border-top:1px solid #a9976e}
.campaign-state{display:inline-block;border-radius:999px;padding:5px 9px;background:#e5dcc8;color:#625744;font-size:.7rem;font-weight:900;text-transform:uppercase}.campaign-state.active,.campaign-state.confirmed{background:#dce8cf;color:#304221}.campaign-state.registration,.campaign-state.pending{background:#f1dfac;color:#654b13}.campaign-state.completed{background:#d7d9ec;color:#33386e}.campaign-state.rejected,.campaign-state.archived{background:#efd3cc;color:#6a231b}
.campaign-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.campaign-metrics div{background:#fff8e9;border:1px solid #a9976e;border-radius:9px;padding:10px}.campaign-metrics strong,.campaign-metrics span{display:block}.campaign-metrics strong{font-size:1.45rem;color:var(--accent2)}.campaign-metrics span{font-size:.72rem;color:var(--muted);text-transform:uppercase;font-weight:850}
.campaign-control-row{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:end}.campaign-control-row label{display:grid;gap:5px}.campaign-control-row button{width:auto}.phase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.phase-card{background:#fff8e9;border:1px solid #a9976e;border-radius:10px;padding:12px}.phase-card.current{border:3px solid var(--accent)}.phase-card strong,.phase-card span,.phase-card small{display:block}.phase-card h3{margin:5px 0;color:var(--accent2)}.phase-card span,.phase-card small{font-size:.76rem;color:var(--muted)}
.objective-list,.campaign-player-list,.battle-list{display:grid;gap:9px;margin:12px 0}.objective-card,.campaign-player,.battle-card{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff8e9;border:1px solid #a9976e;border-radius:9px;padding:11px}.objective-card small,.campaign-player small{display:block;color:var(--muted);margin-top:4px}.objective-score{display:flex;gap:6px}.objective-score span{padding:5px 7px;border-radius:999px;background:#ded0ad;font-size:.7rem;font-weight:850}.campaign-player>span{font-weight:900;color:var(--accent2)}
.battle-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.battle-card>div:last-child{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.battle-card p{margin:5px 0}.battle-card small{color:var(--muted)}
@media(max-width:800px){.campaign-layout{grid-template-columns:1fr}.phase-grid{grid-template-columns:1fr 1fr}.battle-form{grid-template-columns:1fr 1fr}.campaign-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.campaign-selection-grid{grid-template-columns:1fr}.campaign-selection-meta{grid-template-columns:1fr}}
@media(max-width:560px){.campaign-form,.battle-form,.campaign-control-row{grid-template-columns:1fr}.campaign-form .wide{grid-column:auto}.phase-grid{grid-template-columns:1fr}.objective-card,.campaign-player,.battle-card{align-items:flex-start;flex-direction:column}}

/* Keep the Diagnostics identity and return action in separate mobile rows. */
@media(max-width:640px){
  .diagnostics-admin-page>header{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;padding-top:14px;padding-bottom:14px}
  .diagnostics-admin-page>header .brand{width:100%;min-width:0;align-items:center}
  .diagnostics-admin-page>header .brand>div:last-child{min-width:0}
  .diagnostics-admin-page>header .brand h1{font-size:clamp(1.08rem,6vw,1.4rem);line-height:1.08}
  .diagnostics-admin-page>header .brand p{font-size:.92rem;line-height:1.25}
  .diagnostics-admin-page>header .home-link{display:block;width:100%;max-width:100%;padding:10px 12px;text-align:center;white-space:normal;overflow-wrap:anywhere}
}

.campaign-map{position:relative;min-height:430px;overflow:hidden;border:3px solid #66563b;border-radius:14px;cursor:crosshair;background:#d8c99e;background-position:center;background-repeat:no-repeat;background-size:contain;box-shadow:inset 0 0 55px #5c492c66}
.campaign-map.has-map{min-height:0;max-width:100%;margin-inline:auto}
.campaign-map-custom:not(.has-map){background:repeating-linear-gradient(135deg,#e6ddc3 0 18px,#ddd0ad 18px 36px)}.campaign-map-empty{position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:#63563f;font-weight:900;text-align:center}.map-objective-picker{width:min(260px,100%);display:grid;gap:5px}.campaign-map-upload-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto auto minmax(150px,auto);gap:9px;align-items:end;margin:12px 0}.campaign-map-upload-controls label{display:grid;gap:5px}.campaign-map-upload-controls button{width:auto}.campaign-map-upload-controls span{align-self:center}.objective-management-list{grid-template-columns:repeat(2,minmax(0,1fr))}.objective-editor-with-map{min-width:0}.objective-map-preview,.objective-map-placeholder{width:100%;height:210px;border:1px solid #a9976e;border-radius:9px;background:#e9dfc6;object-fit:contain}.objective-map-placeholder{display:grid;place-items:center;color:var(--muted);font-size:.8rem;font-weight:850}.objective-map-controls{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;gap:8px;align-items:end;padding:9px;border:1px solid #c5b184;border-radius:9px;background:#f4ead1}.objective-map-controls label{min-width:0}.objective-map-controls input{min-width:0;width:100%}.objective-map-controls button{width:auto}
.map-marker{position:absolute;width:24px;height:24px;min-width:0;padding:0;border:4px solid var(--marker-color,#7b6a4c);border-radius:50%;background:transparent;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #fff6d5,0 2px 7px #0009;z-index:3}.map-marker.axis{--marker-color:#842d25}.map-marker.allies{--marker-color:#315f83}.map-marker.contested,.map-marker.neutral{--marker-color:#7b6a4c}.map-marker.locked{opacity:.55}.map-marker span{position:absolute;left:16px;top:-6px;width:max-content;max-width:150px;padding:3px 5px;border-radius:4px;background:#2c291fe8;color:#fff;font-size:.68rem;text-transform:none;letter-spacing:0;pointer-events:none}
.phase-editor,.objective-editor{display:grid;gap:8px;background:#fff8e9;border:1px solid #a9976e;border-radius:10px;padding:11px}.phase-editor.current{border:3px solid var(--accent)}.phase-editor label,.objective-editor label{display:grid;gap:4px;font-size:.7rem}.phase-editor textarea{width:100%;padding:8px;border:1px solid #796744;border-radius:8px;background:#fffaf0;font:inherit;resize:vertical}.phase-date-row,.objective-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.objective-editor-head{display:flex;justify-content:space-between;gap:8px}.objective-editor-head span{font-size:.75rem;font-weight:850}.player-editor{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(120px,.75fr) minmax(130px,.8fr) minmax(150px,.85fr) auto;gap:12px;align-items:end}.player-editor label{display:grid;gap:5px;min-width:0;font-size:.7rem}.player-editor select,.player-editor input{width:100%;min-width:0}.player-editor button{min-width:78px}.announcement-list{display:grid;gap:9px;margin-top:14px}.announcement-card{background:#fff8e9;border:1px solid #a9976e;border-left:6px solid var(--accent);border-radius:9px;padding:11px}.announcement-card span{float:right;font-size:.7rem;font-weight:900;text-transform:uppercase}.announcement-card p{white-space:pre-wrap}.announcement-card small{color:var(--muted)}
@media(max-width:1050px){.player-editor{grid-template-columns:1fr 1fr 1fr}.player-editor>div{grid-column:1/-1}.player-editor button{width:100%}}
@media(max-width:760px){.campaign-map{min-height:350px}.player-editor{grid-template-columns:1fr 1fr}.player-editor>div{grid-column:1/-1}}
@media(max-width:760px){.campaign-map-upload-controls,.objective-management-list{grid-template-columns:1fr}.campaign-map-upload-controls button{width:100%}.objective-map-controls{grid-template-columns:1fr 1fr}.objective-map-controls label{grid-column:1/-1}}
@media(max-width:480px){.campaign-map{min-height:300px}.map-marker span{max-width:90px}.phase-date-row,.objective-editor-grid,.player-editor,.objective-map-controls{grid-template-columns:1fr}.player-editor>div,.objective-map-controls label{grid-column:auto}.objective-map-controls button{width:100%}}
.official-reference-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.official-reference-controls label{display:grid;gap:6px}.official-reference-controls input[type=color]{width:100%;min-height:52px;padding:6px}.official-reference-map{position:relative;width:100%;overflow:hidden;border:3px solid #66563b;border-radius:14px;background:#d8c99e}.official-reference-map>img{display:block;width:100%;height:auto}.official-reference-map>div{position:absolute;inset:0}.official-reference-marker{position:absolute;width:26px;height:26px;min-width:0;padding:0;border:4px solid var(--marker-color,#7b6a4c);border-radius:50%;background:transparent;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #fff6d5,0 2px 7px #0009;touch-action:none;z-index:2}.official-reference-marker.axis{--marker-color:#842d25}.official-reference-marker.allies{--marker-color:#315f83}.official-reference-marker.neutral{--marker-color:#7b6a4c}.official-reference-marker span{position:absolute;left:18px;top:-7px;width:max-content;max-width:155px;padding:3px 5px;border-radius:4px;background:#2c291fe8;color:#fff;font-size:.68rem;line-height:1.1;text-transform:none;letter-spacing:0;pointer-events:none}.official-reference-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}@media(max-width:600px){.official-reference-controls,.official-reference-actions{grid-template-columns:1fr}.official-reference-marker span{max-width:90px;font-size:.58rem}}
.official-template-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin:16px 0}.official-template-heading label{display:grid;gap:6px}.official-template-heading button{width:auto}.official-template-form{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.official-template-form label,.official-template-assets label{display:grid;gap:6px}.official-template-form .wide{grid-column:1/-1}.official-template-form textarea{min-height:100px}.official-template-form button{grid-column:1/-1}.official-template-assets{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:10px;align-items:end;margin:16px 0}.official-template-assets button{width:auto}.official-template-publish{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.official-reference-map.no-map{min-height:280px}.official-reference-map.no-map:after{content:'Save the draft and upload its official map to begin placing objectives.';position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;font-weight:850}@media(max-width:760px){.official-template-form{grid-template-columns:1fr}.official-template-form .wide,.official-template-form button{grid-column:auto}.official-template-assets{grid-template-columns:1fr}.official-template-assets button{width:100%}}@media(max-width:600px){.official-template-heading,.official-template-publish{grid-template-columns:1fr}.official-template-heading button{width:100%}}
.campaign-manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.campaign-manager-grid .panel{margin-bottom:16px;min-height:145px}.campaign-manager-grid .diagnostics-launch>div{display:flex;align-self:stretch;flex-direction:column}.campaign-manager-grid .diagnostics-launch p{margin-top:auto}.campaign-manager-grid .diagnostics-link{flex:0 0 auto}
.compact-filter{width:min(220px,100%)}
@media(max-width:760px){.campaign-manager-grid{grid-template-columns:1fr}.campaign-manager-grid .panel{min-height:0}}

/* Dedicated phase workspace needs wider cards than the compact HQ summary. */
body[data-campaign-manager="phases"] .phase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body[data-campaign-manager="phases"] .phase-editor{min-width:0;overflow:hidden}
body[data-campaign-manager="phases"] .phase-editor input,
body[data-campaign-manager="phases"] .phase-editor select,
body[data-campaign-manager="phases"] .phase-editor textarea{min-width:0;max-width:100%;width:100%}
body[data-campaign-manager="phases"] .phase-date-row{min-width:0}
body[data-campaign-manager="phases"] .phase-date-row label{min-width:0}
@media(max-width:680px){body[data-campaign-manager="phases"] .phase-grid{grid-template-columns:1fr}}
@media(max-width:420px){body[data-campaign-manager="phases"] .phase-date-row{grid-template-columns:1fr}}
@media(max-width:680px){
  body[data-campaign-manager="phases"] .section-head{align-items:stretch}
  body[data-campaign-manager="phases"] .section-head .event-admin-actions{width:100%;flex-direction:column;gap:9px}
  body[data-campaign-manager="phases"] .section-head .event-admin-actions button{width:100%;max-width:100%;padding:10px 12px;font-size:.82rem;white-space:normal;line-height:1.15}
}
.campaign-faction-totals{display:flex;gap:7px;flex-wrap:wrap}.campaign-faction-totals span{border:1px solid #a9976e;border-radius:999px;background:#fff8e9;padding:6px 9px;font-size:.72rem;font-weight:850}.campaign-request-list{display:grid;gap:9px;margin-top:13px}.campaign-request-card{display:grid;grid-template-columns:1.2fr .7fr 1fr auto;gap:10px;align-items:end;padding:11px;border:1px solid #a9976e;border-left:6px solid #b99445;border-radius:9px;background:#fff8e9}.campaign-request-card strong,.campaign-request-card small{display:block}.campaign-request-card small{color:var(--muted)}.campaign-request-card p{margin:5px 0 0}.campaign-request-card label{display:grid;gap:4px;font-size:.68rem}@media(max-width:850px){.campaign-request-card{grid-template-columns:1fr 1fr}.campaign-request-card>div:first-child{grid-column:1/-1}}@media(max-width:520px){.campaign-request-card{grid-template-columns:1fr}.campaign-request-card>div:first-child{grid-column:auto}}
.campaign-launch-button{background:linear-gradient(#5f803c,#385827)}.campaign-application-list{display:grid;gap:7px;margin-top:9px}.campaign-applicant-heading{margin:18px 0 7px;color:var(--accent2)}.campaign-application-row{display:grid;grid-template-columns:minmax(160px,1.3fr) 1fr 1fr auto;gap:10px;align-items:center;padding:9px;border:1px solid #c5b484;border-radius:8px;background:#fffaf2}.campaign-application-row strong,.campaign-application-row small,.campaign-application-row span b{display:block}.campaign-application-row small{color:var(--muted)}.campaign-application-row span b{font-size:.62rem;text-transform:uppercase;color:var(--accent2)}.campaign-dossier-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:end}.campaign-dossier-controls label{display:grid;gap:5px}.campaign-dossier-controls button{width:auto}@media(max-width:760px){.campaign-application-row{grid-template-columns:1fr 1fr}.campaign-application-row>div:first-child{grid-column:1/-1}.campaign-dossier-controls{grid-template-columns:1fr}.campaign-dossier-controls button{width:100%}}@media(max-width:480px){.campaign-application-row{grid-template-columns:1fr}.campaign-application-row>div:first-child{grid-column:auto}}
.campaign-registration-state{display:inline-block;width:max-content;border-radius:999px;padding:5px 8px;background:#e4dac1;color:#5c5343;font-size:.66rem;font-weight:900;text-transform:uppercase}.campaign-registration-state.pending{background:#f1dfac;color:#654b13}.campaign-registration-state.active{background:#dce8cf;color:#304221}.campaign-registration-state.declined{background:#efd3cc;color:#6a231b}

/* Keep administrator action rows inside narrow mobile cards. */
.section-head{min-width:0}
.event-admin-actions{max-width:100%;flex-wrap:wrap}
.event-admin-actions button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:560px){
  .section-head .event-admin-actions{display:grid;width:100%;grid-template-columns:minmax(0,1fr);gap:9px}
  .section-head .event-admin-actions button{width:100%;min-width:0}
}
.campaign-admin-view-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;align-items:center;margin:1rem 0}.campaign-admin-view-actions .button-link{display:flex;align-items:center;justify-content:center;text-align:center;min-height:3rem}.campaign-admin-view-actions .campaign-state{grid-column:1/-1;justify-self:start}@media(max-width:720px){.campaign-admin-view-actions{grid-template-columns:1fr}.campaign-admin-view-actions .campaign-state{grid-column:auto}.campaign-admin-view-actions .button-link{width:100%;box-sizing:border-box}}
.phase-editor-actions{display:flex;gap:.55rem;flex-wrap:wrap}.phase-editor-actions button{flex:1 1 11rem}@media(max-width:600px){.phase-editor-actions{display:grid;grid-template-columns:1fr}.phase-editor-actions button{width:100%}}
.admin-header-actions{display:flex;align-items:center;gap:10px}.admin-notification-button{position:relative;width:44px;min-width:44px;height:44px;padding:0;border-radius:50%;font-size:1.25rem;background:#3b3428}.admin-notification-button.has-unread{background:#d49a2f;color:#251b0e;box-shadow:0 0 0 3px rgba(255,217,116,.35)}.admin-notification-badge{position:absolute;right:-7px;top:-7px;min-width:23px;height:23px;padding:2px 6px;border-radius:999px;background:#b92f27;color:#fff;font:900 .72rem/19px system-ui;border:2px solid #f3e3bd}.admin-notification-dialog{width:min(680px,calc(100vw - 24px));max-height:85vh;border:2px solid #9b7b3f;border-radius:16px;background:#f7edcf;color:#2b261d;padding:18px}.admin-notification-tools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.admin-notification-list{display:grid;gap:10px;max-height:58vh;overflow:auto;padding-right:3px}.admin-notification-item{display:block;text-decoration:none;color:inherit;background:#fff9e9;border:1px solid #bda46c;border-left:7px solid #7c3128;border-radius:10px;padding:12px}.admin-notification-item.unread{background:#fff2c7;border-left-color:#d49a2f}.admin-notification-item strong,.admin-notification-item span,.admin-notification-item small{display:block}.admin-notification-item span{margin:5px 0}.admin-notification-item small{color:#6a604d}.admin-notification-type{text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:.7rem;color:#7c3128}@media(max-width:600px){.admin-header-actions{width:100%;justify-content:space-between}.admin-notification-dialog{padding:14px}.admin-notification-list{max-height:65vh}}
@media(min-width:1000px) and (pointer:fine){html{zoom:.9}}

@media(max-width:600px){.admin-dashboard-header{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.admin-dashboard-header .brand{width:100%;min-width:0}.admin-dashboard-header .brand>div:last-child{min-width:0}.admin-dashboard-header .brand h1{font-size:clamp(1.08rem,6vw,1.4rem);line-height:1.08}.admin-dashboard-header .admin-header-actions{width:100%;min-width:0;justify-content:flex-end}.admin-dashboard-header .admin-header-actions .home-link{min-width:0;max-width:calc(100% - 54px);text-align:center;white-space:normal}}

html[data-admin-access="moderator"] button[id*="delete" i],
html[data-admin-access="moderator"] [data-delete],
html[data-admin-access="moderator"] [data-action="delete"],
html[data-admin-access="moderator"] [data-action="delete_store"],
html[data-admin-access="moderator"] [data-action="delete_source"],
html[data-admin-access="moderator"] [data-action="delete_resource"],
html[data-admin-access="moderator"] [data-action="delete_campaign"],
html[data-admin-access="moderator"] [data-action="delete_phase"],
html[data-admin-access="moderator"] [data-action="club_delete"],
html[data-admin-access="moderator"] [data-error-action="delete"],
html[data-admin-access="moderator"] [data-club-action="delete"],
html[data-admin-access="moderator"] [data-photo-action="delete"],
html[data-admin-access="moderator"] [data-delete-event],
html[data-admin-access="moderator"] [data-delete-upload],
html[data-admin-access="moderator"] [data-delete-source],
html[data-admin-access="moderator"] [data-delete-resource],
html[data-admin-access="moderator"] [data-delete-campaign-phase],
html[data-admin-access="moderator"] [data-delete-arrow],
html[data-admin-access="moderator"] #managePlayerTags,
html[data-admin-access="moderator"] #saveManagePlayerTags,
html[data-admin-access="moderator"] #managePlayerTemporaryPassword,
html[data-admin-access="moderator"] #setTemporaryPassword {display:none!important}
html[data-admin-access="moderator"] [data-full-admin-only]{display:none!important}
.limited-admin-notice{border-left-color:#5d6f3e!important}
.announcement-message.structured,.announcement-edit-form.structured textarea,#announcementMessage.structured{font:400 1rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4;white-space:pre;overflow-wrap:normal;overflow-x:auto}.announcement-edit-form.structured textarea,#announcementMessage.structured{resize:vertical}
.announcement-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.announcement-card-head span{float:none}.announcement-card p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.announcement-card p.structured{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4}.announcement-card small{display:block}.announcement-card-actions{display:flex;gap:8px;margin-top:8px}.announcement-card-actions button,.announcement-edit-button{width:auto}.announcement-edit-button{margin-top:0}.announcement-edit-form{margin-top:10px;padding-top:10px;border-top:1px solid #c5b484}.announcement-edit-actions{display:flex;gap:8px}.announcement-edit-actions button{width:auto;flex:1}.objective-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.objective-editor-actions button{width:100%}
html[data-admin-access="moderator"] [data-delete-objective]{display:none!important}
@media(max-width:560px){.announcement-card-head,.announcement-edit-actions,.announcement-card-actions{flex-direction:column}.announcement-card-head span,.announcement-edit-actions button,.announcement-card-actions button{width:100%}.objective-editor-actions{grid-template-columns:1fr}}
@media(min-width:721px){footer .app-version-id{font-size:1.25em;font-weight:900;letter-spacing:.025em}}
.campaign-selection-actions{display:grid;grid-template-columns:1fr;gap:9px}.campaign-selection-actions button{width:100%;min-width:0;margin-top:2px}.campaign-selection-actions .danger{background:linear-gradient(#8c312a,#61211c);border-color:#461512}

/* v1.74.31: keep campaign communication cards inside narrow/mobile columns. */
.campaign-layout,.campaign-layout>.panel,.announcement-list,.announcement-card{min-width:0;max-width:100%}
.announcement-card{width:100%;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}
.announcement-card p,.announcement-card strong,.announcement-card small{max-width:100%;overflow-wrap:anywhere}
.announcement-card button{max-width:100%}
.campaign-battle-route{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:6px 0}
.campaign-battle-route small{display:block;padding:6px 8px;border:1px solid #c5b184;border-radius:7px;background:#f4ead1;overflow-wrap:anywhere}
@media(max-width:560px){.campaign-battle-route{grid-template-columns:1fr}}

/* Campaign schedule and after-action report layout */
.campaign-tbd-toggle{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #a58b56;border-radius:9px;background:#f5ead0}.campaign-tbd-toggle input{width:auto;accent-color:var(--accent)}
.battle-card{display:grid!important;grid-template-columns:minmax(0,1fr) 154px;align-items:start!important;gap:14px}.campaign-battle-report-copy{min-width:0;overflow-wrap:anywhere}.campaign-battle-phase{display:block;margin-top:6px!important;color:var(--accent2)!important;font-weight:900}.campaign-battle-actions{display:flex!important;flex-direction:column;align-items:stretch!important;gap:7px!important;width:154px}.campaign-battle-actions>*{width:100%;margin:0;text-align:center}.campaign-battle-actions button{white-space:normal}
@media(max-width:560px){.battle-card{grid-template-columns:minmax(0,1fr) 126px!important;flex-direction:initial!important}.campaign-battle-actions{width:126px}.campaign-battle-actions button{padding:8px 6px}}
.campaign-bulk-results{display:grid;gap:12px}.campaign-bulk-table-wrap{overflow-x:auto}.campaign-bulk-table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0 8px}.campaign-bulk-table th{text-align:left;font-size:.72rem;text-transform:uppercase;color:var(--muted)}.campaign-bulk-table td{padding-right:8px}.campaign-bulk-table input,.campaign-bulk-table select{width:100%;min-width:0}.campaign-bulk-table .bulk-remove{width:auto;white-space:nowrap}.campaign-bulk-table tr[data-bulk-row]{background:#f7efd9}.campaign-bulk-table tr[data-bulk-row] td{padding-top:8px;padding-bottom:8px}.campaign-bulk-table tr[data-bulk-row] td:first-child{padding-left:8px;border-radius:9px 0 0 9px}.campaign-bulk-table tr[data-bulk-row] td:last-child{border-radius:0 9px 9px 0}

.campaign-admin-theme header{flex-wrap:wrap}
.campaign-standard-nav{display:flex;flex:1 0 100%;gap:7px;overflow-x:auto;padding:2px 0 0;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.campaign-standard-nav a{flex:0 0 auto;color:#fff;text-decoration:none;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em;border:1px solid #b69b5b;border-radius:8px;padding:8px 11px;background:#33312c;white-space:nowrap}
.campaign-standard-nav a:hover,.campaign-standard-nav a:focus-visible{background:var(--paper);color:var(--accent2);outline:none}
@media(max-width:620px){.campaign-admin-theme header{align-items:flex-start}.campaign-standard-nav{margin-top:2px}.campaign-standard-nav a{padding:8px 10px;font-size:.72rem}}
@media(max-width:720px){.campaign-headquarters-actions{display:grid;width:100%;grid-template-columns:1fr;gap:9px}.campaign-headquarters-actions button,.campaign-headquarters-actions .button-link{display:flex;width:100%;min-width:0;box-sizing:border-box;align-items:center;justify-content:center;text-align:center}}
.map-marker{width:var(--marker-size,24px);height:var(--marker-size,24px);border-width:var(--marker-stroke,2px);box-shadow:0 0 0 var(--marker-halo,1px) #fff6d5,0 2px 7px #0009}
.official-reference-controls{grid-template-columns:repeat(3,1fr)}
.official-reference-map{touch-action:pan-x pan-y}
.official-reference-marker{width:var(--marker-size,26px);height:var(--marker-size,26px);border-width:var(--marker-stroke,2px);box-shadow:0 0 0 var(--marker-halo,1px) #fff6d5,0 2px 7px #0009}
.official-reference-marker.selected{z-index:4}
.official-reference-resize{position:absolute;right:-9px;bottom:-9px;width:14px;height:14px;border:2px solid #fff6d5;border-radius:3px;background:var(--marker-color,#7b6a4c);box-shadow:0 1px 4px #0009;cursor:nwse-resize;touch-action:none}
@media(max-width:600px){.official-reference-controls{grid-template-columns:1fr}}
.official-template-heading,.official-template-form,.official-template-assets,.official-reference-controls{min-width:0;max-width:100%}
.official-template-heading>*,.official-template-form>*,.official-template-assets>*,.official-reference-controls>*{min-width:0;max-width:100%}
.official-template-form input,.official-template-form select,.official-template-form textarea,.official-template-assets input,.official-reference-controls input,.official-reference-controls select{display:block;width:100%;min-width:0;max-width:100%}
.official-template-form textarea{resize:vertical;overflow-wrap:anywhere}
.official-reference-zoom{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0}.official-reference-zoom strong{margin-right:auto}.official-reference-zoom button{width:auto;min-width:44px}.official-reference-zoom output{min-width:52px;text-align:center;font-weight:850}
.official-reference-viewport{width:100%;max-width:100%;max-height:min(72vh,720px);overflow:auto;border:3px solid #66563b;border-radius:14px;background:#d8c99e;overscroll-behavior:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
.official-reference-viewport .official-reference-map{width:100%;min-width:100%;max-width:none;border:0;border-radius:0}
@media(max-width:600px){.official-reference-zoom{display:grid;grid-template-columns:1fr auto auto auto auto}.official-reference-zoom strong{margin:0}.official-reference-viewport{max-height:64vh}}
