:root{--ink:#272522;--paper:#f7f4ed;--red:#ba3c30;--line:#ded8cc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 system-ui,'Microsoft YaHei',sans-serif}h1,h2,h3{line-height:1.3}a{color:var(--red)}header{background:var(--ink);border-bottom:3px solid var(--red);color:var(--paper);padding:18px 30px;display:flex;align-items:center;gap:25px}header strong{font-size:18px;margin-right:auto}header a{color:var(--paper)}header form{margin:0}.workspace{display:grid;grid-template-columns:230px 1fr;min-height:90vh}aside{padding:26px 20px;border-right:1px solid var(--line);background:#ede8df}aside nav{display:grid;gap:5px;margin:25px 0}aside nav button{text-align:left;background:transparent;color:var(--ink)}aside nav button.active{background:var(--ink);color:var(--paper)}main{padding:30px;min-width:0;max-width:1550px}.card{background:#fffdf8;border:1px solid var(--line);border-radius:12px;padding:24px;margin:18px 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid .card{margin:0}.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}label{display:block;font-size:13px;font-weight:600;margin:12px 0}input,select,textarea{display:block;width:100%;padding:10px 12px;margin:5px 0;border:1px solid #c8c0b2;border-radius:6px;background:white;font:inherit;color:var(--ink)}textarea{min-height:75px}button{cursor:pointer;border:0;border-radius:6px;background:var(--red);color:white;font:inherit;padding:10px 16px}button:disabled{opacity:.45;cursor:wait}button.secondary{background:#e4ded3;color:var(--ink)}small,.muted{color:#776f64}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;color:#776f64}.tag{padding:3px 9px;border-radius:4px;background:#ece5d7;font-size:12px}.eyebrow{letter-spacing:3px;font-size:12px;color:var(--red)}#message{position:sticky;top:0;z-index:4}#message:not(:empty){background:#fff4d6;border:1px solid #d6b771;padding:14px;border-radius:8px}.login{max-width:460px;margin:10vh auto}dialog{border:1px solid var(--line);border-radius:14px;max-width:500px;width:90%;padding:28px}dialog::backdrop{background:#27252288}.seat{padding:15px;border:1px solid var(--line);border-radius:8px;background:#faf7f0}input[type=checkbox]{width:auto;display:inline;margin-right:7px}.settlement input{max-width:140px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}@media(max-width:850px){.workspace{display:block}aside{padding:12px 18px}aside nav{display:flex;overflow:auto;margin:12px 0}aside nav button{white-space:nowrap}aside>small{display:none}header{padding:14px;gap:10px;flex-wrap:wrap}header strong{font-size:15px}main{padding:18px}.four{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:1fr}}@media(max-width:480px){.four{grid-template-columns:1fr}header>span{display:none}.card{padding:16px}.login{margin:30px 16px}}

.roster-team{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.roster-team small{display:block}.roster-team i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px}.impact{padding:12px;background:#fff1d6;border-radius:8px}.impact p{margin:4px 0}#roster-editor{max-height:90vh;overflow:auto}#roster-edit-error{color:var(--red)}

#score-form fieldset{border:0;margin:0;padding:0;min-width:0}.score-event{border:1px solid var(--line);border-radius:9px;padding:16px;margin:12px 0;background:#faf7f0}#score-dirty{color:var(--red)}

aside > a{display:block;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;text-decoration:none;background:#fffdf8}

#message:not(:empty){background:#eaf4ee;border:1px solid #38704b;color:#205331;box-shadow:0 4px 18px #0002}#message.error:not(:empty){background:#fff0ee;color:#8b1f19;border:2px solid #ba3c30;border-left-width:7px;font-weight:600} [role=alert]:not(:empty){color:#a12620} .positive{color:#ba3c30}.negative{color:#26745a}

.roster-identity{display:inline-flex;align-items:center;gap:10px}.roster-picture{width:40px;height:40px;flex:0 0 40px;border-radius:50%;object-fit:cover}.roster-picture.team-picture{border-radius:8px;object-fit:contain}.roster-placeholder{display:inline-flex;align-items:center;justify-content:center;background:#e9e4db;color:#777064;font-size:13px}.team-picture.roster-placeholder{color:#fff}

/* Shared management controls: primary saves, neutral actions, explicit danger. */
:root{--control-height:42px;--control-radius:8px;--surface:#fffdf8;--muted:#786f62;--focus:#b83c32}
body{font-family:system-ui,-apple-system,'Segoe UI','Microsoft YaHei',sans-serif}h1{font-size:27px;margin:0 0 12px}h2{font-size:19px;margin:0 0 16px}h3{font-size:16px;margin:0 0 12px}p{margin:10px 0;color:#61594e}
body>header{min-height:76px;padding:14px 26px;gap:10px}header strong{display:flex;align-items:center;gap:10px}header>span{font-size:12px;color:#d6cbb9;padding:4px 9px;border:1px solid #625b50;border-radius:20px;white-space:nowrap}
button,a.button,.actions>a,main .card>a[download],main>a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-height);padding:9px 16px;border:1px solid #cfc6b8;border-radius:var(--control-radius);background:var(--surface);color:var(--ink);font-family:inherit;font-size:13px;font-weight:600;line-height:1.45;text-decoration:none;vertical-align:middle;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
button:hover,a.button:hover,.actions>a:hover{background:#eee8dd;border-color:#aaa090}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ba3c3040;outline-offset:2px;border-color:var(--red)}
button.primary,a.button.primary{background:var(--red);border-color:var(--red);color:#fffdf8}button.primary:hover{background:#a63228;border-color:#a63228}
button.secondary,form button.secondary,button[type=button]:not(.primary):not(.danger){background:var(--surface);color:var(--ink);border-color:#cfc6b8}button.secondary:hover,button[type=button]:not(.primary):not(.danger):hover{background:#eee8dd}
button.danger,form button.danger{background:#fff0ed;color:#a12e23;border-color:#d78c80}button.danger:hover{background:#f9ddd7}button.danger.primary,form button.danger.primary{background:#a12e23;color:white;border-color:#a12e23}
body>header>a,body>header form button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border:1px solid #625b50;border-radius:8px;background:transparent;color:#f7f4ed;font-size:13px;text-decoration:none}body>header>a:hover,body>header form button:hover{background:#484138;border-color:#8b7e6b}
.workspace{grid-template-columns:248px minmax(0,1fr)}aside{padding:22px 18px}aside>label{margin-top:0}aside>#new-event{width:100%}aside nav{gap:7px;margin:20px 0}aside nav button{width:100%;justify-content:flex-start;background:transparent;border-color:transparent;font-weight:500;padding:10px 14px}aside nav button:hover{background:#e2dbce;border-color:transparent}aside nav button.active{background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:600}aside>a{min-height:42px;color:var(--ink);font-size:13px;font-weight:600;text-align:center}aside>details{margin-top:14px;padding-top:12px;border-top:1px solid #d8d0c3}summary{cursor:pointer;font-weight:600;padding:8px 0}
main{width:100%;max-width:1600px;padding:28px 32px}.card{padding:22px;margin:20px 0;box-shadow:0 2px 5px #27252204}.grid{gap:18px;align-items:start}.grid label{margin:6px 0 12px}.four{gap:14px}.actions{gap:10px;margin:16px 0}.actions>*{margin:0}#content>button{margin:0 8px 16px 0}form>button{margin:8px 8px 0 0}form>.actions>button{margin:0}label{margin:14px 0 10px;color:#554d42}input,select,textarea{min-height:42px;border-radius:8px;padding:10px 12px;font-size:14px;margin:6px 0 0}input[type=file]{padding:7px;max-width:100%;font-size:12px}input[type=file]::file-selector-button{border:0;background:#e9e2d7;color:#423a30;padding:7px 10px;border-radius:5px;margin-right:10px;font:inherit;cursor:pointer}input[type=checkbox],input[type=radio]{min-height:0;width:auto;accent-color:var(--red)}textarea{min-height:110px;resize:vertical}
form[data-stage-edit]+form[data-stage-edit]{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}th,td{padding:13px 12px}th{background:#f4efe6;font-weight:600}td button,td a.button{min-height:36px;padding:7px 12px;font-size:12px}td button+button{margin-left:6px}.table-scroll{max-width:100%}dialog{padding:26px;width:min(620px,calc(100vw - 32px));max-width:760px;max-height:90dvh;overflow:auto;box-shadow:0 22px 80px #0003}dialog form>button{margin-top:16px}dialog h2{padding-right:8px}#message:not(:empty){margin-bottom:18px}#message:empty{display:none}
.roster-create-panels{margin:20px 0}.fold-panel.card{padding:0;margin:0;overflow:hidden}.fold-panel>summary{padding:15px 18px;font-size:14px;background:#f3eee5}.fold-panel[open]>summary{border-bottom:1px solid var(--line)}.fold-panel>.fold-content{padding:18px}.fold-content p{font-size:12px;color:var(--muted)}form[data-history-image]{padding:16px 0;border-bottom:1px solid var(--line)}form[data-history-image]:last-child{border:0}form[data-history-image]>strong{display:inline-block;max-width:calc(100% - 110px);font-size:14px}form[data-history-image]>button{float:right;margin:0;min-height:34px;padding:6px 10px;font-size:12px}form[data-history-image]>small{display:block;margin-top:5px}.upload-disclosure{clear:both;margin-top:8px}.upload-disclosure>summary{font-size:12px;color:var(--muted)}.upload-disclosure label{margin-top:6px}.upload-disclosure button{margin-top:10px}.roster-team button{flex-shrink:0}
@media(max-width:1000px){.workspace{grid-template-columns:220px minmax(0,1fr)}main{padding:24px 20px}}
@media(max-width:850px){.workspace{display:block}aside{padding:16px}aside>#new-event{width:auto;min-width:130px}aside nav{display:flex;gap:6px;overflow:auto;margin:14px 0 0;padding-bottom:5px}aside nav button{width:auto;flex:0 0 auto;white-space:nowrap}aside>a{display:inline-flex;margin:0 0 0 8px;min-height:42px;vertical-align:middle}aside>details{margin-top:12px}body>header{padding:12px 16px;gap:8px}body>header strong{flex:1 0 100%;font-size:17px;margin-bottom:3px}body>header>a,body>header form button{min-height:36px;padding:7px 10px;font-size:12px}main{padding:22px 16px}.grid{grid-template-columns:1fr}.card{padding:18px}.fold-panel.card{padding:0}.actions{align-items:stretch}.actions>button,.actions>a{flex:1 1 auto}.roster-create-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){h1{font-size:24px}.four,.roster-create-panels{grid-template-columns:1fr}button,a.button,.actions>a{min-height:44px}form>button{margin-right:6px}aside>a{margin:8px 0 0;display:flex}dialog{padding:20px;width:calc(100vw - 20px)}.actions{gap:8px}td button{min-height:40px}}

.roster-row-actions{display:inline-flex;gap:8px;align-items:center;flex-shrink:0}.roster-row-actions button{margin:0;min-height:34px;padding:6px 10px;font-size:12px}form[data-history-image]>.roster-row-actions{float:right;margin:4px 0 8px 8px}form[data-history-image]>strong{max-width:100%}.roster-team .roster-identity{min-width:0}.roster-team .roster-identity>span{overflow-wrap:anywhere}@media(max-width:600px){.roster-team{flex-wrap:wrap}.roster-team>.roster-row-actions{margin-left:auto}.roster-row-actions button{min-height:44px}form[data-history-image]>.roster-row-actions{float:none;display:flex;margin:10px 0}}

.grid.single-column{grid-template-columns:minmax(0,1fr)}

/* One control scale and aligned action groups across all management screens. */
main .ui-button,dialog .ui-button,.roster-row-actions button,td button{min-height:42px;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600;line-height:1.45;margin:0;white-space:nowrap}
main .ui-button.secondary,dialog .ui-button.secondary{background:var(--surface);border-color:#cfc6b8;color:var(--ink)}
main .ui-button.primary,dialog .ui-button.primary{background:var(--red);border-color:var(--red);color:#fffdf8}
main .ui-button.danger,dialog .ui-button.danger{background:var(--surface);border-color:#d49a90;color:#a12e23}
main .ui-button.danger.primary,dialog .ui-button.danger.primary{background:#a12e23;border-color:#a12e23;color:white}
main .ui-button:hover:not(:disabled),dialog .ui-button:hover:not(:disabled){filter:brightness(.96)}
.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;padding-top:16px;margin:18px 0 0;border-top:1px solid var(--line);width:100%}
form>.form-actions>button,dialog .form-actions>button{margin:0;min-width:104px}
.form-actions>.danger:not(.primary){margin-right:auto}
.row-actions,.page-actions,.roster-row-actions{display:flex;align-items:center;gap:8px}
.row-actions{justify-content:flex-end;flex-wrap:nowrap}.row-actions button+button{margin-left:0}
.page-actions{flex-wrap:wrap;margin-bottom:18px}.page-actions button{margin:0}
#content>.actions{justify-content:flex-end;margin:16px 0 22px}.roster-team{gap:16px}.roster-team .roster-row-actions{margin-left:auto}
form[data-stage-edit]{padding:16px;border:1px solid var(--line);border-radius:10px;background:#faf7f1}form[data-stage-edit]+form[data-stage-edit]{margin-top:12px;padding-top:16px}
form[data-stage-edit]>.grid{grid-template-columns:minmax(180px,2fr) minmax(140px,1fr)}
#select-rule-template{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:12px;align-items:center}#select-rule-template>.form-actions{border:0;margin:0;padding:0;width:auto}#select-rule-template>select{margin:0}
.table-scroll td:last-child:has(.row-actions){width:1%;text-align:right}.table-scroll td{vertical-align:middle}
@media(max-width:600px){main .ui-button,dialog .ui-button,.roster-row-actions button,td button{min-height:44px}.form-actions{gap:8px}.form-actions>button{flex:1 1 120px}.form-actions>.danger:not(.primary){margin-right:0}.row-actions>button{flex:0 0 auto}form[data-stage-edit]>.grid,#select-rule-template{grid-template-columns:1fr}.page-actions{gap:8px}.page-actions>button{flex:1 1 auto}}

.event-logo-preview{display:flex;align-items:center;gap:16px;margin:16px 0}.event-logo-preview img{object-fit:contain;border:1px solid var(--line);border-radius:10px;background:white;padding:6px}

/* Reviewed layout: content first, optional editing tools folded. */
body>header .utility-nav{display:flex;align-items:center;gap:8px;min-width:0}
.utility-nav>a,.utility-nav form button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border:1px solid #625b50;border-radius:8px;color:#f7f4ed;text-decoration:none;font-size:13px;white-space:nowrap}
.utility-nav form{flex:0 0 auto}.utility-nav>a:hover{background:#484138}
.workspace{align-items:start}.workspace>aside{position:sticky;top:0;max-height:100dvh;overflow:auto;min-height:calc(100dvh - 76px)}
.workspace>main{max-width:1440px;margin:0 auto}.sidebar-tools{border-top:0;padding-top:0;margin-top:12px}.sidebar-tools>summary{font-size:13px}.sidebar-tools>button,.sidebar-tools>a{display:block;width:100%;margin:8px 0;text-align:center}.sidebar-tools>a{padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);text-decoration:none}.sidebar-tools>details{padding:8px 0}
aside #current-role{font-size:12px;margin:12px 0;color:var(--muted)}aside nav{margin-top:14px}
#content>.grid{align-items:stretch}.layout-fold.card{padding:0;box-shadow:none}.layout-fold>summary{padding:16px 20px}.layout-fold[open]>summary{border-bottom:1px solid var(--line)}.layout-fold .fold-body{padding:18px 20px}.layout-fold .fold-body>form>label:first-child{margin-top:0}
.team-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.team-directory-grid .roster-team{min-width:0}.roster-identity>span{min-width:0}.team-directory-grid .roster-row-actions{gap:6px}
#content[data-layout-page=schedule]>.table-scroll{padding:0}#content[data-layout-page=schedule]>.table-scroll table{min-width:760px}#content[data-layout-page=schedule] td:nth-child(3){white-space:normal;min-width:180px;max-width:360px;line-height:1.7}#content[data-layout-page=schedule]>label{max-width:320px}
.access-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.access-grid .card{margin:0}.coach-account-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.4fr) auto;gap:18px}.coach-account-row>label{margin:0}.coach-account-row>span{overflow-wrap:anywhere}.coach-account-row .roster-row-actions{margin:0;align-self:end;padding-bottom:1px}
#content>h1{margin-bottom:20px}.form-actions{padding-top:14px;margin-top:16px}input,select,textarea{max-width:100%}fieldset{min-width:0}.grid>*{min-width:0}
@media(min-width:1500px){.team-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.team-directory-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:850px){
 body>header{gap:10px;padding:12px 16px}.utility-nav{width:100%;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}.utility-nav>a,.utility-nav form button{min-height:36px;padding:7px 10px;font-size:12px}
 .workspace>aside{position:static;max-height:none;min-height:0;padding:12px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:start}.workspace>aside>label{margin:0;font-size:12px}.sidebar-tools{margin:0;padding:0;border:0;max-width:180px;align-self:end}.sidebar-tools>summary{padding:10px 8px;font-size:12px;white-space:nowrap}.sidebar-tools[open]{grid-column:1/-1;max-width:none}.sidebar-tools[open]>button,.sidebar-tools[open]>a{width:auto;display:inline-flex;margin-right:8px}.workspace>aside #current-role{display:none}.workspace>aside nav{grid-column:1/-1;margin:0;gap:4px;padding:4px 0 0}.workspace>aside nav button{padding:9px 12px;min-height:40px;font-size:12px}
 .workspace>main{padding:20px 16px}.access-grid{grid-template-columns:1fr}.coach-account-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.coach-account-row>span{grid-column:1/-1}.coach-account-row>label{min-width:0}.team-directory-grid{grid-template-columns:1fr}
 .layout-fold>summary{padding:14px 16px}.layout-fold .fold-body{padding:16px}.form-actions{gap:8px}.form-actions>button{flex:1 1 130px}form[data-stage-edit]>.grid{grid-template-columns:1fr}
}

#content>.access-grid{align-items:start}.access-grid>.layout-fold{margin:0}.card:has(#roster-search)>.grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#lineup-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}#lineup-form>.card{margin:0}#lineup-form>.form-actions{grid-column:1/-1}#lineup-form>.card>h2{font-size:18px}
@media(max-width:850px){
 body>header .utility-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;overflow:visible}.utility-nav>a,.utility-nav form button{padding:7px 4px;min-height:40px;font-size:11px;width:100%}.utility-nav form{min-width:0}
 .card:has(#roster-search)>.grid{grid-template-columns:1fr}#lineup-form{grid-template-columns:1fr}
 #content[data-layout-page=schedule]>.table-scroll{background:transparent;border:0;overflow:visible;box-shadow:none}#content[data-layout-page=schedule]>.table-scroll table{min-width:0;display:block}#content[data-layout-page=schedule]>.table-scroll thead{display:none}#content[data-layout-page=schedule]>.table-scroll tbody{display:grid;gap:12px}
 #content[data-layout-page=schedule] tr[data-state]{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:10px}#content[data-layout-page=schedule] tr[data-state][hidden]{display:none}
 #content[data-layout-page=schedule] tr[data-state]>td{padding:0;border:0;white-space:normal;min-width:0;max-width:none;font-size:13px}#content[data-layout-page=schedule] tr[data-state]>td:first-child{grid-column:1/-1;font-weight:650;font-size:14px;order:0}#content[data-layout-page=schedule] tr[data-state]>td:nth-child(2){order:1;color:var(--muted)}#content[data-layout-page=schedule] tr[data-state]>td:nth-child(4){order:2;text-align:right;color:var(--muted)}#content[data-layout-page=schedule] tr[data-state]>td:nth-child(3){order:3;grid-column:1/-1;padding:8px 0;line-height:1.8}#content[data-layout-page=schedule] tr[data-state]>td:last-child{order:4;grid-column:1/-1;padding-top:10px;border-top:1px solid var(--line)}#content[data-layout-page=schedule] .row-actions{justify-content:flex-end}#content[data-layout-page=schedule] .row-actions button{flex:1}
}

@media(max-width:850px){#content[data-layout-page=schedule] tr[data-state]>td:last-child{width:auto;justify-self:stretch}}

@media(max-width:850px){body>header .utility-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.profile-grid>.card{margin:0}.profile-image{width:72px;height:72px;object-fit:contain;border-radius:10px;background:#eee8df}.profile-heading{display:flex;gap:14px;align-items:center;margin-bottom:16px}.profile-heading h2{margin:0}.profile-grid input[type=color]{height:42px;padding:4px}.profile-grid .profile-upload{border-top:1px solid var(--line);padding-top:12px;margin-top:18px}@media(max-width:700px){.profile-grid{grid-template-columns:1fr}}

header .account-identity{display:inline-flex;align-items:center;gap:8px;max-width:260px;min-width:0;text-decoration:none}header .account-identity>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header .account-identity>small{flex-shrink:0;font-size:11px;font-weight:500;padding:2px 6px;border:1px solid currentColor;border-radius:5px;color:inherit;opacity:.85}@media(max-width:850px){header .account-identity{max-width:100%;flex-wrap:wrap;justify-content:center;gap:3px 6px}header .account-identity>small{font-size:10px}}

/* Login has its own layout; management form reflow must not affect it. */
body.login-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:24px 16px}.login-page .login.card{width:100%;max-width:440px;margin:auto;padding:36px;border-top:3px solid var(--red);flex-shrink:0}.login-page .eyebrow{text-align:center;font-size:10px}.login-page h1{text-align:center;font-size:23px;margin:12px 0 8px}.login-subtitle{text-align:center;color:#776f64;margin:0 0 26px}.login-page form{display:grid;gap:16px}.login-page label{margin:0}.login-page input{height:46px;margin:7px 0 0}.login-page button[type=submit]{width:100%;min-height:46px;margin-top:6px}.login-public{display:block;text-align:center;font-size:13px;text-decoration:none;margin-top:22px;color:#776f64}.login-public:hover{color:var(--red)}.login-error{margin:0;padding:10px 12px;background:#fff0ed;border:1px solid #e4aaa0;border-radius:6px;color:#962d24}.login-page input:focus-visible,.login-page button:focus-visible,.login-public:focus-visible{outline:2px solid var(--red);outline-offset:3px}@media(max-width:480px){.login-page .login.card{padding:28px 24px}.login-page h1{font-size:21px}}

body.login-page .login.card button[type=submit]{background:var(--red);border:1px solid var(--red);color:#fff}body.login-page .login.card a.login-public{background:transparent;border:0;box-shadow:none;padding:0;min-height:0}

/* Optional resource examples are hints, never submitted values. */
#resource-form input::placeholder, #resource-form textarea::placeholder, #match-form input[name="commentators"]::placeholder { color: #99938b; opacity: 1; font-weight: 400; }

/* Authorization: account lists on the left, consistent action stack on the right. */
.access-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.access-directory,.access-actions{display:grid;gap:16px;min-width:0}
.access-layout .card{margin:0;min-width:0}
.access-layout h2{margin-top:0;font-size:18px}
.access-actions .layout-fold>summary{min-height:56px;box-sizing:border-box;display:list-item;padding:18px 20px}
.access-actions .form-actions>button{width:100%}
.access-directory .coach-account-row{grid-template-columns:minmax(0,1fr);gap:12px}
.access-directory .coach-account-row .roster-row-actions{justify-content:flex-start}
.access-layout.access-readonly{grid-template-columns:1fr}
@media(max-width:1000px){.access-layout{grid-template-columns:minmax(0,1fr) 280px;gap:16px}}
@media(max-width:760px){.access-layout{grid-template-columns:1fr}.access-actions{grid-row:1;grid-template-columns:1fr}.access-directory .coach-account-row{grid-template-columns:1fr}}

body>header.manage-header{padding:14px 26px;gap:20px;min-height:80px;flex-wrap:wrap;border-bottom-width:2px}
.manage-brand{display:flex;gap:12px;align-items:center;flex-shrink:0}
.manage-brand img{object-fit:contain}
.manage-header .manage-brand strong{margin:0;font-size:20px;gap:12px;line-height:1.35;flex:auto}
.manage-brand strong span{font-size:13px;font-weight:400;color:#d0c6b7;border-left:1px solid #625b50;padding-left:12px}
.manage-brand small{display:block;letter-spacing:2.5px;font-size:9px;color:#a99e8c;margin-top:3px}
.manage-header>.manage-environment{font-size:10px;padding:2px 7px;border-radius:4px;border:1px solid #61574a;color:#c7b99f;display:block}
.manage-shortcuts{display:flex;gap:4px;align-items:center;margin-left:auto}
.manage-shortcuts a{font-size:13px;text-decoration:none;padding:9px 12px;border-radius:6px;white-space:nowrap;color:#ded7cc}
.manage-shortcuts a:hover,.manage-account a:hover{background:#ffffff0d;color:white}
.manage-shortcuts .audience-link{border:1px solid #716453;margin-left:8px;color:#eee2cd}
.manage-account{display:flex;align-items:center;gap:16px;border-left:1px solid #534c43;padding-left:20px}
.manage-header .account-identity{display:flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1.6;max-width:160px}
.manage-header .account-identity>small{border:0;padding:0;font-size:10px;color:#b9aa92}

.manage-header a:focus-visible,.manage-header button:focus-visible{outline:2px solid #d2b789;outline-offset:3px}
@media(max-width:1100px){body>header.manage-header{gap:12px}.manage-header>.manage-environment{margin-right:auto}.manage-shortcuts{order:3;width:100%;margin:0;border-top:1px solid #484239;padding-top:10px}.manage-account{margin-left:auto}}
@media(max-width:600px){body>header.manage-header{padding:12px 16px;gap:10px}.manage-header .manage-brand strong{font-size:18px}.manage-brand strong span{font-size:11px;padding-left:8px}.manage-brand{gap:8px}.manage-brand img{width:28px;height:32px}.manage-header>.manage-environment{display:none}.manage-account{gap:10px;padding-left:10px}.manage-header .account-identity{max-width:95px;align-items:flex-end;font-size:12px}.manage-shortcuts{justify-content:space-between;gap:0}.manage-shortcuts a{padding:8px;font-size:12px}.manage-shortcuts .audience-link{margin:0}.manage-brand small{font-size:8px;letter-spacing:1.5px}}

/* Management visual review: scoped to the full administration workspace. */
.management-page{--line:#e3ddd3;--surface:#fffefa}
.management-page .workspace>aside{background:#eeeae2;border-right-color:#dfd8cc;padding:24px 18px}
.management-page #nav{gap:5px;margin-top:22px}
.management-page #nav button{border-radius:7px;position:relative;padding-left:16px}
.management-page #nav button.active:before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:3px;border-radius:3px;background:#df7766}
.management-page .workspace>main{padding:30px 32px 48px}
.management-page #content>h1{font-size:26px;letter-spacing:-.5px;margin-bottom:24px}
.management-page .card{border-radius:10px;box-shadow:0 3px 12px #32271903;padding:24px;margin:18px 0}
.management-page .grid>.card,.management-page .access-layout .card{margin:0}
.management-page .card h2{font-size:17px;font-weight:650;margin-bottom:18px}
.management-page .layout-fold.card{padding:0}
.management-page .layout-fold>summary{padding:17px 20px;font-size:13px}
.management-page .layout-fold>summary:hover{background:#f6f2eb;border-radius:10px}
.management-page .access-actions{padding:0;background:transparent;border:0}
.management-page label{font-weight:500;font-size:12px;color:#696054}
.management-page input,.management-page select,.management-page textarea{font-weight:400;border-color:#d5cdbf;background:#fff;line-height:1.5}
.management-page input:hover,.management-page select:hover,.management-page textarea:hover{border-color:#afa18e}
.management-page input:focus,.management-page select:focus,.management-page textarea:focus{border-color:#ba3c30}
.management-page input[type=number]{font-variant-numeric:tabular-nums}
.management-page .form-actions{padding-top:18px;margin-top:20px;gap:8px}
.management-page form[data-stage-edit]{padding:18px;background:#faf8f3;border-color:#e8e1d6}
.management-page form[data-stage-edit] .form-actions>.danger{margin-right:0}
.management-page .table-scroll th{background:#f5f1e9;color:#807566;font-weight:500;font-size:12px}
.management-page .table-scroll td{border-bottom-color:#ece6dd;font-size:13px}
.management-page .table-scroll tbody tr:hover{background:#faf7f0}
.management-page .table-scroll tbody tr:last-child td{border-bottom:0}
.management-page .table-scroll td:last-child button{min-height:36px;padding:7px 12px;font-size:12px}
.management-page .roster-team:last-child{border-bottom:0}
.management-page .roster-team small{font-size:11px;color:#877d70;margin-top:4px}
.management-page .roster-picture{width:38px;height:38px;flex-basis:38px}
.management-page .card:has(#roster-search)>.grid{padding:14px 16px;background:#f8f5ee;border-radius:8px;margin-bottom:16px}
.management-page .card:has(#roster-search)>.grid label{margin:0}
.management-page #resource-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.management-page #resource-form>label{margin:0}
.management-page #resource-form>label:first-child,.management-page #resource-form>.form-actions{grid-column:1/-1}
.management-page #resource-form textarea{min-height:170px;font-size:13px;line-height:1.8}
.management-page #resource-form>.form-actions{margin-top:0}
.management-page #coach-accounts .coach-account-row{padding:18px 0}
@media(max-width:850px){
 .management-page .workspace>aside{padding:14px 16px;border-bottom:1px solid var(--line);border-right:0}
 .management-page #nav{margin-top:4px;gap:5px}
 .management-page .workspace>main{padding:24px 16px 36px}
 .management-page #content>h1{font-size:23px;margin-bottom:20px}
 .management-page .card{padding:18px;margin:16px 0}
 .management-page .layout-fold.card{padding:0}
 .management-page #resource-form{grid-template-columns:1fr;gap:18px}
 .management-page #resource-form textarea{min-height:130px}
 .management-page .card:has(#roster-search)>.grid{padding:12px}
 .management-page .access-actions{padding:0}
}
@media(max-width:600px){
 .management-page .table-scroll:has(#roster-rows){overflow:visible}
 .management-page table:has(#roster-rows),.management-page #roster-rows{display:block}
 .management-page table:has(#roster-rows) thead{display:none}
 .management-page #roster-rows tr{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px 10px;padding:16px 0;border-bottom:1px solid var(--line)}
 .management-page #roster-rows td{padding:0;border:0;white-space:normal;min-width:0;width:auto;text-align:left}
 .management-page #roster-rows td:first-child{grid-column:1;grid-row:1;align-self:center;color:#978b7b;font-variant-numeric:tabular-nums}
 .management-page #roster-rows td:nth-child(2){grid-column:2;grid-row:1}
 .management-page #roster-rows td:nth-child(3){grid-column:2;color:#807566;font-size:12px}
 .management-page #roster-rows td:nth-child(4){grid-column:2;font-size:12px;color:#807566}
 .management-page #roster-rows td:last-child{grid-column:2}
 .management-page #roster-rows .row-actions{justify-content:flex-start;margin-top:4px}
 .management-page #roster-rows td button{min-height:44px}
 .management-page #roster-rows .roster-identity>span{overflow-wrap:anywhere}
}

/* Avoid pale intermediate backgrounds while dialog controls are classified. */
.management-page button{transition:border-color .15s,box-shadow .15s}
.management-page dialog button.ui-button.primary{background:#ba3c30;color:#fffdfa;border-color:#ba3c30}

.manage-header .manage-brand img{width:auto;height:54px;max-width:122px;object-fit:contain}@media(max-width:600px){.manage-header .manage-brand img{max-width:72px;height:34px}.manage-brand strong span{display:none}}

/* Match editor: full-width seats and one entry method at a time. */
.management-page #content:has(#score-form) #lineup-form{display:block}
.management-page #content:has(#score-form) #lineup-form>.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.management-page #content:has(#score-form) #lineup-form label{margin:0}
.management-page #content:has(#score-form) #lineup-form select{width:100%}
.management-page #content:has(#score-form) .card[hidden]{display:none!important}
.score-mode-switch{display:flex;gap:8px;margin:22px 0 0;padding-bottom:12px;border-bottom:1px solid var(--line)}
.score-mode-switch button{min-width:120px}
.management-page .manual-score-panel{margin-top:14px}
.management-page #score-form .seat{background:#f8f5ef;padding:18px;border-color:#e5ded2}
.management-page #score-form .seat h3{font-size:15px;overflow-wrap:anywhere;min-height:20px}
.management-page #score-form .seat input{font-size:21px;font-weight:600;font-variant-numeric:tabular-nums}
.score-extra{border-top:1px solid var(--line);margin-top:18px;padding-top:6px}
.score-extra>summary{font-size:13px;color:#786b59;padding:10px 0}
.score-extra>button{margin-top:8px}
.management-page .match-settings{padding:0}
.match-settings>summary{padding:17px 22px;font-size:13px}
.match-settings>div,.match-settings>section{padding:0 22px 22px}
@media(max-width:850px){.management-page #content:has(#score-form) #lineup-form>.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.management-page #score-form .four{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.management-page #score-form .seat{padding:12px}.management-page #score-form .seat input{font-size:18px}.score-mode-switch>button{flex:1;min-width:0}}

header .portal-switch{display:inline-block;width:104px;flex:0 0 104px;min-height:38px;margin:0;padding:7px 10px;border:1px solid #bfb3a0;border-radius:6px;background:#fffdf8;color:#272522;font:500 12px/1.5 system-ui;cursor:pointer}header .portal-switch option{background:#fffdf8;color:#272522}@media(max-width:600px){header .portal-switch{width:88px;flex-basis:88px;padding:7px 6px}.manage-account{flex-wrap:wrap}.public-account-actions{flex-wrap:wrap;justify-content:flex-end}.manage-header .manage-account{gap:10px}}

/* In-portal pages live in workspace navigation, separate from portal selection. */
.workspace-links{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:5px}
.workspace-links>small{font-size:11px;color:#8a7d6b;padding:0 14px 5px}
.workspace-links>a{display:flex;align-items:center;min-height:42px;padding:10px 14px;color:#554d42;text-decoration:none;border-radius:7px;font-size:13px}
.workspace-links>a:hover{background:#e2dbce}.workspace-links>a[aria-current=page]{background:#272522;color:#fffdf8;font-weight:600}
.coach-menu-heading{font-size:15px;font-weight:650;margin:0 14px 18px}.coach-workspace>main{max-width:1280px}.manage-header>.manage-account{margin-left:auto}
@media(max-width:850px){.workspace>aside .workspace-links{grid-column:1/-1;display:flex;flex-wrap:wrap;margin:4px 0 0;padding-top:10px;gap:4px}.workspace-links>small{display:none}.workspace-links>a{padding:9px 12px;min-height:40px;font-size:12px}.coach-menu-heading{grid-column:1/-1;margin:0 0 4px}.coach-workspace>aside .workspace-links{border:0;padding:0}}

/* Today is evaluated in Asia/Shanghai, independent of browser timezone. */
.management-page #content[data-layout-page=schedule] tr.schedule-today{background:#fcf0e9}
.management-page #content[data-layout-page=schedule] tr.schedule-today:hover{background:#fae9df}
.management-page tr.schedule-today>td:first-child{box-shadow:inset 3px 0 #ba3c30}
.schedule-today-badge{display:inline-block;margin-right:8px;padding:2px 7px;border-radius:4px;background:#ba3c30;color:#fff;font-size:11px;font-weight:600;vertical-align:middle}
@media(max-width:850px){.management-page #content[data-layout-page=schedule] tr.schedule-today{border-left:3px solid #ba3c30;background:#fcf0e9}.management-page tr.schedule-today>td:first-child{box-shadow:none}}

.overview-tools[hidden]{display:none!important}.overview-tools h2{margin-top:0}.overview-default-logo{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.overview-default-logo summary{cursor:pointer;font-weight:600}.overview-default-logo form{max-width:520px}

/* Management fixtures share the spectator page's day-and-card hierarchy. */
.manage-matchdays{display:grid;gap:28px;margin-top:22px}.manage-day-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.manage-day-heading h2{font-size:20px;margin:0;display:flex;align-items:center;gap:10px}.manage-day-heading>span{font-size:12px;color:#82786c}.manage-day-heading .schedule-today-badge{margin:0}.manage-day-matches{border:1px solid #ded8cc;border-radius:12px;overflow:hidden;background:#fffdf8}.manage-matchday.is-today .manage-day-matches{border-top:3px solid #ba3c30}.manage-fixture{display:grid;grid-template-columns:135px minmax(0,1fr) 108px;gap:22px;padding:22px;align-items:center;border-bottom:1px solid #e6dfd5}.manage-fixture:last-child{border-bottom:0}.manage-fixture:hover{background:#faf7f0}.manage-fixture-time{display:flex;flex-direction:column;gap:6px}.manage-fixture-time>strong{font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums}.manage-fixture-time>span{color:#82786c;font-size:12px}.fixture-state{font-size:11px;color:#9b7339}.fixture-state.state-published{color:#738071}.fixture-state.state-cancelled{color:#999}.manage-fixture-seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.manage-fixture-seats>div{min-width:0}.manage-fixture-seats strong{display:block;font-size:13px;overflow-wrap:anywhere}.manage-fixture-seats small{display:block;margin-top:5px;font-size:11px;color:#82786c}.manage-wind{display:block;font-size:10px;color:#a49a8b;margin-bottom:6px}.manage-fixture-actions{display:flex;flex-direction:column;gap:6px}.manage-fixture-actions button{width:100%;min-height:34px!important;padding:6px 10px!important;font-size:12px!important}.manage-fixture[hidden],.manage-matchday[hidden]{display:none!important}
@media(max-width:1100px){.manage-fixture{grid-template-columns:115px minmax(0,1fr);gap:16px}.manage-fixture-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-end;border-top:1px solid #eee7dc;padding-top:12px}.manage-fixture-actions button{width:auto}.manage-fixture-seats{gap:12px}}
@media(max-width:600px){.manage-day-heading{align-items:flex-start}.manage-day-heading h2{font-size:18px;flex-wrap:wrap}.manage-day-heading>span{font-size:11px}.manage-fixture{display:flex;flex-direction:column;align-items:stretch;padding:16px}.manage-fixture-time{display:grid;grid-template-columns:1fr auto;align-items:center}.manage-fixture-time>span{grid-row:2}.fixture-state{grid-column:2;grid-row:1/3}.manage-fixture-seats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.manage-fixture-actions button{flex:1;min-height:42px!important}.manage-matchdays{gap:22px}}

#content[data-layout-page=schedule]>details.card{padding:0;margin:10px 0}#content[data-layout-page=schedule]>details.card>summary{padding:15px 20px;cursor:pointer;font-weight:600}#content[data-layout-page=schedule]>details.card>form{padding:0 20px 20px}

.rule-history{margin-top:28px}.rule-history>h2{font-size:18px}.rule-version-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.rule-version-heading>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rule-version-heading small{font-size:11px;color:#9b793e}.rule-version-tag{font-size:11px;color:#8d6e45;background:#eee8df;border-radius:4px;padding:3px 8px}.rule-version-values{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:16px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.rule-version-values small{display:block;font-size:11px;margin-bottom:5px}.rule-version-values strong{font-size:16px;font-variant-numeric:tabular-nums}.rule-version-values em{font-size:10px;font-style:normal;font-weight:400;color:#82786c}@media(max-width:600px){.rule-version-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.rule-version-values>div:first-child{grid-column:1/-1}.rule-version-heading{align-items:flex-start}.rule-version-heading strong{font-size:14px}}

.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.overview-heading-copy{min-width:0}.overview-heading-copy h1{margin:8px 0 10px}.overview-heading-copy p{margin:0;color:#82786c}.overview-heading-actions{flex-shrink:0;margin:0!important}.overview-heading-actions .page-actions{margin:0}@media(max-width:700px){.overview-heading{flex-wrap:wrap;gap:14px}.overview-heading-actions{width:100%}}

/* Mobile forms share readable native controls and compact touch actions. */
@media(max-width:600px){
 .workspace main,.management-page .workspace main{padding:18px 14px;min-width:0}
 main label,dialog label,.grid>*,.four>*{min-width:0}
 main input:not([type=checkbox]):not([type=radio]),main select,main textarea,
 dialog input:not([type=checkbox]):not([type=radio]),dialog select,dialog textarea{font-size:16px;min-width:0;max-width:100%;box-sizing:border-box;min-height:44px;line-height:1.4}
 input[type=date],input[type=datetime-local]{appearance:none;-webkit-appearance:none;min-inline-size:0}
 .coach-workspace .card{padding:16px}
 .coach-workspace textarea{min-height:96px;height:96px;resize:vertical}
 .coach-workspace input[type=file]{width:100%;font-size:14px;padding:6px;overflow:hidden}
 .coach-workspace input[type=file]::file-selector-button{min-height:34px;margin-right:8px}
 .coach-workspace .profile-heading{gap:12px;min-width:0}
 .coach-workspace .profile-heading h2{overflow-wrap:anywhere}
 .form-actions{gap:8px;justify-content:flex-end}
 form>.form-actions>button,dialog .form-actions>button{flex:0 1 auto;min-width:88px;min-height:44px;padding:10px 16px;white-space:normal}
 .form-actions>button.primary{flex:1 1 140px}
 .profile-grid .form-actions>button{flex:1;max-width:none}
}

@media(max-width:600px){.login-page .login input{font-size:16px}}
