.account-shell{max-width:660px;margin:8vh auto;padding:32px;background:#fff;border:1px solid #b5d9e6}.account-shell h1{font-size:clamp(30px,5vw,48px);line-height:1.1;margin:24px 0}.account-shell p{line-height:1.6;margin:20px 0}.account-actions{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0}.account-actions button{background:none;border:0;text-decoration:underline;color:#17607a;cursor:pointer}.account-shell input{width:100%}#authMessage,#clubFeedback{white-space:pre-line}button:disabled{opacity:.55;cursor:wait}.account-bar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:20px 0}.account-bar button{padding:10px 18px}.club-record .club-controls{flex-wrap:wrap}.club-record small{display:block;margin:8px 0}[hidden]{display:none!important}.moderation-list{display:grid;gap:16px}.moderation-list article{border:1px solid #aacbd8;padding:20px}.moderation-list h3{font-size:24px}#adminGate{padding:40px;line-height:1.6}

/* Account identity stays readable on desktop and narrow screens. */
.session-identity{font-size:14px;line-height:1.5;color:#174653;overflow-wrap:anywhere;margin:0;padding:8px 0}
.topbar{height:auto;min-height:84px;flex-wrap:wrap;column-gap:16px;padding-top:12px;padding-bottom:12px}
.topbar .session-identity{flex-basis:100%;text-align:right;padding-bottom:0}
@media(max-width:650px){.topbar{min-height:72px;gap:8px}.topbar nav{flex-wrap:wrap;justify-content:flex-end}.topbar .session-identity{text-align:left}}

.topbar .header-sign-out{font:inherit;font-size:14px;color:#174653;background:transparent;border:1px solid #aacbd8;border-radius:4px;padding:10px 12px;cursor:pointer}.topbar .header-sign-out:hover{background:#e2f4fb}.topbar .header-sign-out:focus-visible{outline:2px solid #17607a;outline-offset:3px}

/* Status is expressed with color, a symbol and explicit text. */
.competition-status{display:inline-flex;align-items:center;gap:8px;max-width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid;border-radius:6px;font:700 14px/1.4 system-ui,sans-serif;vertical-align:middle}
.status-draft{background:#fff0d5;color:#7a4000;border-color:#d59131}
.status-submitted{background:#dceefa;color:#124e76;border-color:#679bc0}
.status-published{background:#d8f3df;color:#165c2b;border-color:#55a96a}
.status-needs_changes,.status-unknown{background:#fde0dd;color:#92251f;border-color:#cc6b64}
.club-record .status-guidance{font-size:14px;line-height:1.5;color:#274955;margin:10px 0 16px;max-width:540px}
#clubFeedback.feedback-error,#clubError:not(:empty){background:#fde0dd;color:#92251f;border:1px solid #cc6b64;border-radius:6px;padding:12px 16px;font-size:16px;line-height:1.5}

.status-cancelled{background:#e9ecef;color:#414b53;border-color:#9ca5ad}
.moderation-note{padding:14px 16px;margin:16px 0;border:1px solid #aacbd8;border-radius:6px;overflow-wrap:anywhere}.moderation-note p{white-space:pre-wrap;margin:8px 0 0}.moderation-note.changes-required{background:#fde0dd;color:#92251f;border-color:#cc6b64}
.review-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;font-size:16px}.review-details dt{font-weight:700}.review-details dd{margin:6px 0 0;overflow-wrap:anywhere}.review-wide{grid-column:1/-1}.club-verification{margin-top:24px}.club-verification summary{cursor:pointer;padding:16px 0}.review-empty{padding:24px 0}
#reviewDialog{width:min(600px,calc(100% - 32px));max-height:90vh;overflow:auto;box-sizing:border-box;border:1px solid #aacbd8;border-radius:8px;padding:28px;color:#143b4f;background:white}#reviewDialog::backdrop{background:#09273599}#reviewDialog textarea{display:block;width:100%;box-sizing:border-box;font:inherit;margin:12px 0;padding:12px;border:1px solid #aacbd8}#reviewName{font-weight:700;overflow-wrap:anywhere}.review-buttons{display:flex;gap:12px;flex-wrap:wrap}#reviewError,#adminMessage.feedback-error{color:#92251f}#reviewExplanation{line-height:1.5}
@media(max-width:650px){.review-details{grid-template-columns:1fr}#reviewDialog{padding:20px}.review-buttons button{width:100%}}
.workflow-dialog{width:min(640px,calc(100% - 24px));max-height:90vh;overflow:auto;box-sizing:border-box;padding:24px;border:1px solid #aacbd8;border-radius:8px;color:#143b4f;background:white}.workflow-dialog::backdrop{background:#09273599}.workflow-dialog textarea{width:100%;box-sizing:border-box;font:inherit}.workflow-dialog article{padding:12px 0;border-bottom:1px solid #aacbd8;overflow-wrap:anywhere}.workflow-dialog button{white-space:normal;margin:8px 4px;padding:10px}.workflow-dialog h2{font-size:26px}.workflow-dialog a{color:#17607a;text-decoration:underline}@media(max-width:650px){.workflow-dialog{padding:16px}.workflow-dialog button{max-width:100%}}

#clubFeedback.feedback-success{background:#d8f3df;color:#165c2b;border:1px solid #55a96a;border-radius:6px;padding:12px 16px;font-size:16px;line-height:1.5}
/* V31: phone layout, including visitor, club and administrator account controls. */
@media(max-width:650px){
 #eventGrid{grid-template-columns:minmax(0,1fr)}
 .event-card{min-width:0;overflow-wrap:anywhere}
 .topbar{position:relative;align-items:flex-start;flex-direction:column;gap:12px}
 .topbar nav{width:100%;min-width:0;justify-content:flex-start;gap:8px 12px}
 .topbar nav a{display:block;font-size:14px;min-height:44px;padding:10px 8px}
 .topbar .brand strong{font-size:14px}.topbar .session-identity{width:100%}
 .language-picker{padding-left:8px}.shortlist-button{min-height:44px}
 .section-nav{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:8px;max-width:100%;padding:8px 14px}
 .section-nav a{flex:0 0 auto;white-space:nowrap;min-height:44px}
 .event-card button{min-height:44px;white-space:normal}
 .card-footer{gap:12px;flex-wrap:wrap}
 .filters>*{min-width:0}.quick-actions{gap:12px;flex-wrap:wrap}
}

/* Launch presentation only: the generic public renderer keeps its own nav/model. */
.topbar .header-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 20px;min-width:0;max-width:100%}
.topbar .header-controls>nav{width:auto;min-width:0;max-width:100%}
.topbar .section-nav{padding:0;background:transparent;border:0;position:static;justify-content:flex-start;flex-wrap:nowrap}
@media(max-width:650px){.topbar .header-controls{width:100%;justify-content:flex-start;gap:8px 12px}}
