:root{color-scheme:dark;font-family:Inter,Segoe UI,Arial,sans-serif;background:#0d0d12;color:#f1eef8}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:250px;min-height:100vh;background:#14131c;border-right:1px solid #302a3e;padding:30px 20px;position:fixed;height:100vh}aside img{width:205px;margin:10px 0 18px}h2{font-size:25px}h2 span{display:block;font-size:10px;letter-spacing:3px;color:#aba3bb;margin-top:8px}nav{display:grid;gap:8px;margin-top:35px}button{cursor:pointer;border:1px solid #42344f;background:#252030;color:#f7f3ff;padding:12px 17px;border-radius:8px;font:inherit}button:hover,button.active{background:#793ce0;border-color:#a77aff}nav button{text-align:left}aside small{display:block;margin-top:48px;line-height:1.8;color:#aaa2b8}main{margin-left:250px;padding:24px 40px;width:calc(100% - 250px);max-width:1700px}header{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px;color:#aaa2b8;padding-bottom:28px;border-bottom:1px solid #2e2839}header b{color:#c5a4ff}h1{font-size:34px;margin-bottom:8px;letter-spacing:-1px}p,.muted{color:#afa6be;line-height:1.7}.hero{padding:20px 0 28px}.eyebrow{color:#b78aff;letter-spacing:3px;font-size:11px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:#18161f;border:1px solid #342b43;border-radius:14px;padding:24px;margin-bottom:20px}.stat{font-size:38px;margin-top:14px}.stat small{font-size:13px;color:#b794ef}.row{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.row>*{flex:1}label{display:block;color:#bdb2ce;font-size:12px;line-height:1.7}input,select{width:100%;border:1px solid #4c3e60;background:#100f17;color:white;padding:12px;border-radius:7px;font:inherit;margin-top:6px}input[type=file]{max-width:480px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#a99abf;font-size:11px;text-transform:uppercase;letter-spacing:1px}td,th{padding:16px 12px;border-bottom:1px solid #30283d}td small{display:block;color:#a99abf;margin-top:5px}.scroll{overflow:auto}.badge{color:#c7a2ff;background:#352347;border:1px solid #633d86;padding:5px 9px;border-radius:20px;font-size:11px;white-space:nowrap}.lanes{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.lanes button{min-width:55px}.reserved{background:#6a354b;border-color:#c36a8d}.occupied{background:#245548}.primary{background:#8244df}#notice:not(:empty){padding:14px;background:#322440;border:1px solid #996bc4;margin-top:15px;border-radius:8px}.portal{max-width:650px;margin:30px auto}.portal h1{font-size:30px}.step{font-size:11px;letter-spacing:2px;color:#bb91ff;margin-bottom:25px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.actions button{flex:none}.empty{text-align:center;padding:36px;color:#a99abf}a{color:#cba5ff}button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:900px){aside{position:static;width:100%;height:auto;min-height:0}aside img{width:130px}aside h2,aside small{display:none}nav{display:flex;overflow:auto;margin-top:8px}nav button{white-space:nowrap}body{display:block}main{margin:0;width:100%;padding:20px}.grid{grid-template-columns:repeat(2,1fr)}header{font-size:9px}h1{font-size:28px}}

.relay-choice{padding:16px 0;border-bottom:1px solid #382d47}.relay-choice p{margin-bottom:0}.relay-choice button{flex:0 0 auto}.busy button{pointer-events:none;opacity:.65}details{margin-top:20px}summary{cursor:pointer;color:#c5a4ff}hr{border:0;border-top:1px solid #382d47;margin:24px 0}ol{line-height:2;color:#bbb0ca}input[type=checkbox]{accent-color:#9252eb}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ccacff;outline-offset:3px}

/* Keep progress and errors visible even while editing the lower range cards. */
#notice:not(:empty){position:fixed;bottom:24px;right:24px;z-index:1000;max-width:min(620px,calc(100vw - 48px));margin:0;padding:18px 22px;box-shadow:0 8px 40px #0009;line-height:1.5;white-space:pre-wrap;pointer-events:none}

.official-notice{background:#251d37;border:1px solid #976bd9;border-radius:10px;padding:16px;margin-top:18px;font-size:14px;line-height:1.6}

.athlete-booking{padding:14px 0;border-bottom:1px solid #3c334e}.athlete-booking small{display:block;margin-top:5px}.athlete-booking select{max-width:100%}td{vertical-align:top}
