: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)}
.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}}
.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:138px;margin-bottom:0}
.admin-management-grid .diagnostics-launch>div{align-self:stretch;display:flex;flex-direction:column}
.admin-management-grid .diagnostics-launch p{margin-top:auto}
.admin-management-grid .diagnostics-link{flex:0 0 auto;width:auto}
#openAdminInviteButton{width:max-content;max-width:100%;align-self:center;white-space:nowrap}
.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}}
@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{max-width:820px;margin:0 auto 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}.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}}

.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:22px;height:22px;min-width:0;padding:0;border:3px solid #fff6d5;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 2px 7px #0009;z-index:3}.map-marker.axis{background:#842d25}.map-marker.allies{background:#315f83}.map-marker.contested{background:#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%}}
.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}
