:root{font-family:Segoe UI,Arial,sans-serif;color:#17252d;background:#edf1f2;--teal:#075d58;--green:#176940}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;background:#112d39;color:white;padding:22px 5%;gap:16px}header strong{letter-spacing:2px}header strong span{letter-spacing:0;font-size:14px;margin-left:15px;color:#cae6df}.tag,.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.5px}main{max-width:1050px;margin:auto;padding:30px 24px}h1{font-size:36px;letter-spacing:-1px;margin:9px 0 22px}h2{font-size:21px;margin:0 0 15px}h3{font-size:17px}p{line-height:1.55}.notice{background:#fff3d9;padding:15px 18px;border-left:4px solid #996200;font-size:14px}.context,.panel{background:#fff;border:1px solid #cad7d8;border-radius:12px;padding:22px;margin:20px 0}.context label{font-weight:700;display:block;margin-bottom:8px}select,input,textarea,button{font:inherit;min-height:44px;border-radius:7px;border:1px solid #809895;padding:10px 13px}select{max-width:100%;margin:0 8px 8px 0}button{background:var(--green);color:white;border-color:var(--green);cursor:pointer;font-weight:650}.secondary{background:white;color:var(--teal);border-color:var(--teal)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,h2:focus-visible{outline:3px solid #bf6800;outline-offset:3px}.muted{font-size:14px;color:#4e656e}.pill{display:inline-block;font-size:13px;font-weight:700;background:#e5efed;color:#194840;padding:7px 10px;border-radius:6px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:15px}.cards .panel{margin:0}.field{display:block;margin:15px 0}.field span{display:block;margin-bottom:7px;font-weight:600}textarea{display:block;width:100%;min-height:90px;resize:vertical}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}details{font-size:13px;color:#4e656e;margin-top:16px}details pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}#status{padding:12px 15px;border-left:4px solid var(--teal);background:#e1efeb;min-height:46px}.report-list{padding-left:20px}.report-list li{padding:7px 0;line-height:1.5}@media(max-width:620px){header{align-items:flex-start;flex-direction:column;padding:16px;gap:8px}main{padding:22px 16px}h1{font-size:29px}.context,.panel{padding:17px}.cards{grid-template-columns:1fr}select{display:block;width:100%}.actions button{flex:1}}

/* ---- Shared layout system (2026-10-08, spec §95: even boxes and text at every size) ---- */
[hidden]{display:none!important}
main label{display:block;margin:1rem 0 .35rem;font-weight:650;line-height:1.3}
main label.check,main fieldset label{display:flex;gap:.55rem;align-items:center;font-weight:400;margin:.4rem 0}
main :where(input:not([type=checkbox],[type=radio]),select,textarea){width:100%;max-width:42rem;margin:0;padding:.65rem .75rem;border:1px solid #748a91;border-radius:.45rem;font:inherit;background:#fff;color:inherit}
main :where(input[type=checkbox],input[type=radio]){width:1.15rem;height:1.15rem;min-height:0;margin:0;flex:none}
main select{appearance:auto}
/* Field grids: equal columns; every input sits on the same baseline even when a label wraps. */
main .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:0 1rem;align-items:end}
main .grid>div{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
main .grid label{margin-top:1rem}
main .grid :where(input,select){max-width:none}
/* Tables: text left, consistent padding; wide tables scroll inside their box, never the page. */
.table-wrap{overflow-x:auto;margin:.5rem 0 1rem}
main table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
main th,main td{padding:.5rem .6rem;border-bottom:1px solid #e1e7ea;text-align:left;vertical-align:middle}
main th{font-size:.85rem;color:#3c525b;white-space:nowrap}
main td :where(input:not([type=checkbox])){width:5rem;max-width:none}
main td input.wide{width:13rem}
main td button{margin:0;min-height:38px;padding:.4rem .8rem}
/* Section navigation shared by every organizer/player page. */
.site-nav{margin:0 0 .5rem}
.site-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}
.site-nav a{display:inline-block;padding:.35rem .7rem;border-radius:999px;background:#fff;border:1px solid #cad7d8;color:#0b4f4b;text-decoration:none;font-size:.9rem;font-weight:600}
.site-nav a[aria-current=page]{background:#0b4f4b;color:#fff;border-color:#0b4f4b}
.site-nav a:focus-visible{outline:3px solid #bf6800;outline-offset:2px}
.panel>*:last-child{margin-bottom:0}
.actions button{margin:0}
/* Buttons that sit side by side keep an even gap, also when they wrap onto a new line. */
main button{margin:.25rem .5rem .25rem 0}
/* Short values (numbers, dates) use the same width as a grid column instead of stretching. */
main :where(input[type=number],input[type=date]){max-width:14rem}
main .grid :where(input[type=number],input[type=date]){max-width:none}
@media(max-width:620px){main .grid{grid-template-columns:1fr}.site-nav a{font-size:.85rem}main th,main td{padding:.45rem .4rem}}
@media(min-width:1800px){main{max-width:1180px}}

/* ADR-018: league, session and division picker */
.division-picker{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.division-picker label{margin:0;font-weight:600}
.division-picker select{max-width:100%;min-width:0}
