/* Référence : admin-web-app/src/styles.css, géométrie compacte ; thèmes ASA clair/sombre et accent rouge. */
@font-face{font-family:Sora;src:url('/src/fonts/SoraRegular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Sora;src:url('/src/fonts/SoraMedium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Sora;src:url('/src/fonts/SoraSemiBold.ttf') format('truetype');font-weight:600 800;font-display:swap}
:root{font-family:Sora,Arial,sans-serif;font-size:13px;line-height:1.5;color:var(--text);background:var(--canvas);color-scheme:dark;
 --canvas:#070707;--surface:#090909;--panel:#0b0b0b;--input:#111;--surface-raised:#101010;--surface-active:#141414;--hover:#1a1a1a;
 --border:#252525;--line:var(--border);--control-border:#333;--text:#ededed;--text-strong:#f4f4f4;--text-secondary:#c9c9c9;--muted:#a0a0a0;--subtle:#888;
 --primary:#c42b40;--primary-hover:#a81f32;--primary-text:#ff8d9c;--primary-border:#6b303a;--primary-soft:#211015;
 --success-soft:#101913;--success-border:#314b3a;--success-text:#8cba9a;--warning-soft:#19150e;--warning-border:#514330;--warning-text:#c6a576;
 --danger-soft:#231218;--danger-border:#703342;--danger-text:#e8a2b0;--category-soft:#15131a;--category-border:#45405a;--category-text:#b2a7cf}
:root[data-theme="light"]{color-scheme:light;
 --canvas:#f6f6f7;--surface:#fff;--panel:#fff;--input:#fff;--surface-raised:#f0f0f2;--surface-active:#ededf0;--hover:#e7e7eb;
 --border:#dedee3;--control-border:#c8c8d0;--text:#27272e;--text-strong:#17171d;--text-secondary:#41414c;--muted:#62626e;--subtle:#71717d;
 --primary:#b9233a;--primary-hover:#991a2e;--primary-text:#a51e33;--primary-border:#e2abb4;--primary-soft:#fcecef;
 --success-soft:#eaf5ee;--success-border:#b8d8c3;--success-text:#2f6845;--warning-soft:#fff6e6;--warning-border:#e7cd9d;--warning-text:#805a1f;
 --danger-soft:#fcebef;--danger-border:#e5b1bd;--danger-text:#a1213b;--category-soft:#f2edf8;--category-border:#d5c6e6;--category-text:#775295}
*{box-sizing:border-box;border-radius:0!important}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;min-height:33px;padding:8px 12px;border:1px solid var(--control-border);background:transparent;color:var(--text-secondary);font-size:11px;font-weight:400;line-height:1.4;transition:background .18s,color .18s,border-color .18s}button:hover{background:var(--hover);border-color:var(--subtle)}button:disabled{cursor:not-allowed;opacity:.4}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.045em}input,textarea,select{min-width:0;max-width:100%;padding:10px 12px;background:var(--input);color:var(--text);border:1px solid var(--control-border);outline:none;font-size:12px}input::placeholder,textarea::placeholder{color:var(--subtle)}input[type=checkbox]{accent-color:var(--primary);width:14px;height:14px;flex-shrink:0;margin:0}textarea{resize:vertical}select{padding:8px 10px}small{font-size:10px}.muted{color:var(--muted);font-size:10px}.eyebrow{font-size:9px;font-weight:500;letter-spacing:1.65px;color:var(--muted)}.sidebar{position:fixed;inset:0 auto 0 0;width:210px;height:100dvh;padding:20px 12px 0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;z-index:30}.brand{display:flex;align-items:center;gap:9px;color:var(--text-strong);text-decoration:none;font-size:24px;font-weight:600;letter-spacing:-1.6px}.sidebar .brand{padding-left:5px;margin-bottom:23px}.brand-sub{display:block;color:var(--muted);font-size:8px;letter-spacing:1.6px;font-weight:400}.brand-period{color:var(--primary)}.crest{display:flex;align-items:center;justify-content:center;width:34px;height:34px;font-size:18px;color:var(--primary);border:1px solid var(--primary);letter-spacing:-1px;background:var(--panel)}.crest span{font-size:10px}.season{display:flex;justify-content:space-between;padding:10px 5px;margin-bottom:22px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:9px;color:var(--text-secondary);letter-spacing:.6px}.nav-caption{font-size:8px;letter-spacing:1.5px;color:var(--subtle);padding:0 10px;margin-bottom:12px}nav{display:flex;flex-direction:column;gap:5px}nav button{display:flex;align-items:center;gap:10px;text-align:left;border:0;border-left:2px solid transparent;padding:8px 10px;min-height:38px;width:100%;color:var(--muted);font-size:10px}nav button>span{display:grid;place-items:center;width:17px;font-size:17px;line-height:20px}nav button.active{border-left-color:var(--primary);background:var(--surface-active);color:var(--text)}nav button.active>span{color:var(--primary)}nav small{margin-left:auto;font-size:9px;color:var(--muted)}nav button.active small{color:var(--primary)}.sidebar-bottom{margin-top:auto;padding:38px 8px 20px;color:var(--success-text);font-size:9px;flex-shrink:0}.sidebar-bottom strong{font-size:9px;font-weight:400}.sidebar-bottom p{font-size:9px;margin:8px 0;color:var(--subtle);line-height:1.8}.local-dot{display:inline-block;width:5px;height:5px;background:var(--primary);margin-right:5px}.backup{padding:5px 0;border:0;font-size:9px;color:var(--text-secondary)}.club-mark{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);font-size:8px;letter-spacing:1.2px;color:var(--text-secondary)}.club-mark span{display:block;margin-top:5px;letter-spacing:0;color:var(--subtle)}.workspace{margin-left:210px;min-width:0;background:var(--canvas)}header{height:53px;padding:0 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted)}.breadcrumb,.header-right{display:flex;align-items:center;gap:13px;min-width:0}.breadcrumb strong{color:var(--text-secondary);font-weight:400;white-space:nowrap}.crumb{color:var(--subtle);margin:0 10px}.header-right{gap:12px}#session-user{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.logout{border:0;padding:5px 0;color:var(--muted);font-size:9px}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;background:var(--surface-active);color:var(--text-secondary);font-size:10px;border:1px solid var(--control-border)}#nav-toggle{display:none;padding:4px;min-height:28px;border:0}main{min-height:calc(100dvh - 95px);padding:0;min-width:0;overflow-x:clip}main>.eyebrow{padding:22px 18px 0}.title-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:7px 18px 20px;border-bottom:1px solid var(--border)}.title-row h1{font-size:28px;line-height:1.3;letter-spacing:-1.3px;color:var(--text-strong)}.title-row p{margin-top:6px;color:var(--muted);font-size:10px;line-height:1.8}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions button{font-size:10px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--border)}.stat{position:relative;padding:19px 18px;border-right:1px solid var(--border)}.stat:last-child{border-right:0}.stat .label{color:var(--muted);font-size:9px}.stat .number{font-size:30px;font-weight:400;letter-spacing:-1.3px;color:var(--text-secondary);margin:12px 0 5px;font-variant-numeric:tabular-nums}.stat .number .muted{font-size:12px}.stat .hint{font-size:8px;color:var(--subtle)}.stat .stat-icon{position:absolute;right:18px;top:17px;color:var(--primary);font-size:17px}.stat.attention .number{color:var(--warning-text)}.progress{margin-top:10px;height:2px;background:var(--border)}.progress span{display:block;height:100%;background:var(--primary)}.notice{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:10px;line-height:1.8}.notice>span{color:var(--primary);font-size:16px}.notice strong{color:var(--text-secondary);font-weight:400}.notice button{margin-left:auto;white-space:nowrap;border:0;padding:4px 0;color:var(--primary);font-size:9px}.panel{min-width:0;background:var(--surface);border-bottom:1px solid var(--border);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;border-bottom:1px solid var(--border)}.panel-head h2{font-size:14px;color:var(--text-secondary);font-weight:400;letter-spacing:-.4px}.panel-head small{margin-left:10px;color:var(--subtle);font-size:9px;letter-spacing:0}.filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface)}.filters label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px}.filters select,.filters input{padding:8px 9px;font-size:10px;min-height:32px}.filters input[type=checkbox]{min-height:14px;padding:0}.filters .search{margin-left:auto;width:190px}.segments{display:flex;gap:0}.segments button{font-size:10px}.segments button.active{background:var(--surface-active);color:var(--primary)}.day-title{display:flex;align-items:center;gap:10px;padding:11px 18px;border-bottom:1px solid var(--border);background:var(--surface-raised);font-size:10px;text-transform:capitalize}.day-title strong{font-weight:400;color:var(--text-secondary)}.day-title span{color:var(--subtle);font-size:9px}.match{display:grid;grid-template-columns:70px minmax(140px,1fr) minmax(200px,1.4fr) 120px 30px;align-items:center;gap:15px;padding:18px;border-bottom:1px solid var(--border);min-width:0}.match:last-child{border-bottom:0}.time{font-size:18px;color:var(--text-secondary);letter-spacing:-.6px;font-variant-numeric:tabular-nums}.time small{display:block;font-size:8px;color:var(--subtle);margin-top:5px;letter-spacing:0}.match-title{display:flex;align-items:center;gap:8px;margin-bottom:7px}.opponent{font-size:11px;color:var(--text-secondary);line-height:1.7;overflow-wrap:anywhere}.location{font-size:9px;color:var(--subtle);margin-top:4px}.pill{display:inline-flex;align-items:center;padding:3px 6px;border:1px solid var(--control-border);background:var(--surface-raised);font-size:9px;font-weight:400;white-space:nowrap}.category{border-color:var(--primary-border);color:var(--primary-text);background:var(--primary-soft)}.category.f{border-color:var(--category-border);color:var(--category-text);background:var(--category-soft)}.good{border-color:var(--success-border);color:var(--success-text);background:var(--success-soft)}.warning{border-color:var(--warning-border);color:var(--warning-text);background:var(--warning-soft)}.danger{border-color:var(--danger-border);color:var(--danger-text);background:var(--danger-soft)}.subtle{border-color:var(--control-border);color:var(--muted);background:var(--input)}.header-right .subtle{color:var(--primary);font-size:8px;letter-spacing:.5px}.referees{display:flex;gap:5px;flex-wrap:wrap}.referee{display:inline-flex;align-items:center;gap:6px;padding:5px 7px;min-height:30px;max-width:100%;font-size:9px;background:var(--panel);border:1px solid var(--control-border);overflow-wrap:anywhere;text-align:left}.referee i{display:grid;place-items:center;width:19px;height:19px;flex-shrink:0;background:var(--surface-active);color:var(--muted);font-style:normal;font-size:8px}.referee.empty{color:var(--subtle);border-style:dashed}.referee.empty i{color:var(--primary)}.mentor{margin-top:7px;font-size:9px;color:var(--success-text);line-height:1.7}.badge-line{margin-top:5px}.dots{border:0;padding:2px 6px;color:var(--muted);font-size:18px}.legend{display:flex;align-items:center;gap:18px;padding:12px 18px;color:var(--subtle);border-top:1px solid var(--border);font-size:8px}.legend b{color:var(--primary);font-weight:400}.legend .right{margin-left:auto}.below{display:grid;grid-template-columns:1.2fr 1fr;border-bottom:1px solid var(--border)}.mini-panel{padding:19px 18px;min-width:0}.mini-panel:first-child{border-right:1px solid var(--border)}.mini-panel h3{font-size:12px;font-weight:400;margin-bottom:12px}.mini-panel p{font-size:10px;color:var(--muted);line-height:1.9}.mini-panel strong{font-weight:400;color:var(--text-secondary)}.milestone{display:flex;align-items:flex-start;gap:13px}.date-box{padding:6px 10px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-size:8px;text-align:center}.date-box strong{display:block;color:var(--primary);font-size:20px}.empty:not(button){padding:45px 18px;text-align:center;color:var(--muted);font-size:12px;line-height:1.9}.empty strong{color:var(--text-secondary);font-size:16px;font-weight:400}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{padding:11px 18px;background:var(--surface-raised);color:var(--subtle);font-size:8px;font-weight:400;letter-spacing:.9px;text-transform:uppercase}td{padding:13px 18px;font-size:10px;color:var(--muted)}td,th{border-bottom:1px solid var(--border)}td strong{font-weight:400;color:var(--text-secondary)}.person-name{display:flex;align-items:center;gap:10px}.level{display:inline-flex;align-items:center;gap:7px;font-size:10px}.level b{display:inline-grid;place-items:center;width:23px;height:23px;background:var(--surface-active);border:1px solid var(--control-border);color:var(--muted);font-weight:400}.level.l3 b,.level.l4 b{color:var(--primary-text);border-color:var(--primary-border);background:var(--primary-soft)}.alert-row{display:flex;align-items:center;gap:15px;padding:14px 18px;border-bottom:1px solid var(--border)}.alert-row>div{flex:1;min-width:0;font-size:11px;line-height:1.8}.alert-row button{font-size:9px}.settings-grid{display:grid;grid-template-columns:1fr 1fr}.settings-card{padding:22px 18px;min-width:0;border-bottom:1px solid var(--border);background:var(--surface)}.settings-grid>.settings-card:first-child{border-right:1px solid var(--border)}.settings-card h2{font-size:15px;margin-bottom:12px}.settings-card p{font-size:10px;line-height:1.8;color:var(--muted)}.field{display:flex;flex-direction:column;gap:7px;margin:14px 0;font-size:10px;color:var(--muted)}.field input,.field select,.field textarea{width:100%}.field.check{flex-direction:row;align-items:center;line-height:1.7}.field.check input{width:14px}.field small{font-size:9px;color:var(--subtle)}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px}.wide{grid-column:1/-1}.path{padding:10px 12px;margin-top:12px;border:1px solid var(--border);font-size:10px;color:var(--muted);overflow-wrap:anywhere}.spacer{height:16px}.text-area{width:100%;min-height:200px;font-size:11px;line-height:1.8;margin-bottom:12px}.communication-grid{display:grid;grid-template-columns:1fr 1fr}.communication-grid>.panel{padding:22px 18px}.communication-grid>.panel:first-child{border-right:1px solid var(--border)}.communication-grid h2{font-size:15px;margin-bottom:10px}.communication-grid p{font-size:10px;color:var(--muted);line-height:1.8;margin-bottom:16px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid var(--border);font-size:11px}.list-row strong{font-weight:400}.list-row small{display:block;font-size:9px;color:var(--subtle);margin-top:4px}footer{display:flex;justify-content:space-between;gap:12px;padding:15px 18px;border-top:1px solid var(--border);font-size:8px;color:var(--subtle);letter-spacing:.5px}
/* Les formulaires s’ouvrent dans un panneau à droite, comme dans l’admin. */
dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(590px,100vw);height:100dvh;max-width:100vw;max-height:100dvh;border:0;border-left:1px solid var(--control-border);padding:0;background:var(--panel);color:var(--text);box-shadow:-16px 0 50px #0005;overflow:auto}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#0008;backdrop-filter:blur(2px)}.modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:17px 18px;background:var(--panel);border-bottom:1px solid var(--border)}.modal-head h2{font-size:18px;font-weight:400}.modal-head button{border:0;font-size:20px;padding:0 5px}.modal-body{padding:4px 18px 20px;flex:1}.modal-body .notice{border:1px solid var(--border);margin-top:12px;padding:12px;font-size:10px}.modal-footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 18px;background:var(--panel);border-top:1px solid var(--border);flex-shrink:0;z-index:2}.modal-footer .left{margin-right:auto}.inline-errors{padding:12px;border:1px solid var(--warning-border);background:var(--warning-soft);color:var(--warning-text);font-size:10px;line-height:1.8}.inline-errors p{margin:3px 0}#toast{position:fixed;right:20px;bottom:20px;z-index:100;max-width:520px;padding:14px 18px;border:1px solid #3b3b3b;background:var(--surface-active);color:var(--text-secondary);box-shadow:0 5px 25px #0006;font-size:11px;line-height:1.8;opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none}#toast.toast-show{opacity:1;transform:translateY(0)}
.signed-out>.sidebar,.signed-out>.workspace{display:none}#login{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.login-story{display:flex;flex-direction:column;position:relative;overflow:hidden;padding:38px;background:var(--surface);border-right:1px solid var(--border)}.login-story .brand{letter-spacing:-1.5px;font-size:30px;gap:0}.login-story .brand-sub{margin-left:12px;letter-spacing:1.5px;font-size:8px}.login-headline{margin-top:95px;z-index:1}.login-headline h1{font-size:65px;line-height:1.14;letter-spacing:-3px;margin:20px 0;color:var(--text);font-weight:400}.login-headline h1 span{color:var(--primary)}.login-headline p{font-size:11px;color:var(--muted);line-height:1.9}.login-footer{display:flex;justify-content:space-between;gap:15px;color:var(--subtle);font-size:8px;letter-spacing:1px;margin-top:auto;padding-top:25px}.login-form{padding:38px;display:flex;align-items:center;flex-direction:column;justify-content:space-between;background:var(--canvas)}.edition{align-self:flex-end;font-size:8px;letter-spacing:1.2px;color:var(--subtle)}.login-box{max-width:360px;width:100%;margin:70px 0}.login-box h2{font-size:38px;font-weight:400;margin-top:13px;letter-spacing:-1.7px}.login-box>p{font-size:11px;color:var(--muted);line-height:1.8;margin:10px 0 27px}.login-box .field{font-size:10px;margin:18px 0}.login-box input{padding:12px 13px}.login-submit{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:20px;min-height:41px;font-size:11px}.login-box>small{display:block;margin-top:20px;color:var(--subtle);font-size:9px;line-height:1.9}#login-error{color:var(--danger-text);font-size:11px;line-height:1.7}.court{position:relative;height:165px;min-height:165px;border:1px solid var(--control-border);margin:40px 15px 30px;transform:perspective(600px) rotateX(35deg) rotateZ(-8deg);background:repeating-linear-gradient(90deg,transparent,transparent 24px,#ffffff03 25px);opacity:.8}.court::before,.court::after{content:'';position:absolute;top:22%;height:56%;width:18%;border:1px solid var(--primary)}.court::before{left:0;border-left:0}.court::after{right:0;border-right:0}.court-circle{position:absolute;width:95px;height:95px;border:1px solid var(--control-border);border-radius:50%!important;top:50%;left:50%;transform:translate(-50%,-50%)}.court-center{position:absolute;height:100%;width:1px;background:var(--control-border);left:50%}
@media(min-width:1280px){body:has(dialog[open]) .workspace{margin-right:590px}}
@media(max-width:1200px){.match{grid-template-columns:58px minmax(125px,1fr) minmax(155px,1.2fr) 110px 24px;gap:9px}.referees{flex-direction:column;align-items:flex-start}.title-row{align-items:flex-start}.title-row>.actions{justify-content:flex-end}.title-row h1{font-size:25px}.stat{padding:17px 14px}.stat .stat-icon{right:14px}.login-headline h1{font-size:55px}}
@media(max-width:1000px){.title-row{flex-direction:column;gap:15px}.title-row>.actions{justify-content:flex-start}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--border)}.match{grid-template-columns:56px minmax(130px,1fr) minmax(150px,1fr)}.match-status{grid-column:2}.dots{grid-column:3;justify-self:end}.settings-grid,.communication-grid{grid-template-columns:1fr}.settings-grid>.settings-card:first-child,.communication-grid>.panel:first-child{border-right:0}.header-right .subtle{display:none}.login-story{padding:30px}.login-form{padding:30px}.login-headline h1{font-size:48px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);width:235px;transition:transform .2s}.nav-open .sidebar{transform:translateX(0);box-shadow:15px 0 60px #0009}.workspace{margin-left:0}.nav-open .workspace{opacity:.55}#nav-toggle{display:block}.breadcrumb>span{display:none}.header-right #session-user{max-width:150px;font-size:8px}header{padding:0 12px}.title-row{padding:9px 12px 17px}main>.eyebrow{padding:20px 12px 0}.title-row h1{font-size:25px}.title-row p{font-size:10px}.filters{padding:10px 12px}.filters .search{width:100%;margin-left:0}.panel-head{align-items:flex-start;flex-wrap:wrap;padding:14px 12px}.panel-head .actions{width:100%}.panel-head small{margin-left:5px}.match{padding:15px 12px;gap:10px;grid-template-columns:50px minmax(0,1fr)}.match>div:nth-child(3){grid-column:2}.match-status{grid-column:2}.match .dots{grid-column:1;grid-row:2;justify-self:start}.referees{flex-direction:row;align-items:center}.time{font-size:16px;align-self:start}.time small{font-size:8px}.opponent{font-size:11px}.notice{padding:12px;align-items:flex-start}.notice button{display:none}.day-title{padding:10px 12px;flex-wrap:wrap;font-size:10px}.legend{padding:12px;font-size:8px;gap:12px;flex-wrap:wrap}.legend .right{margin-left:0;width:100%}.below{grid-template-columns:1fr}.mini-panel{padding:18px 12px}.mini-panel:first-child{border-right:0;border-bottom:1px solid var(--border)}.alert-row{padding:12px;gap:10px;flex-wrap:wrap}.alert-row>div{flex-basis:65%;font-size:10px}.alert-row>button{margin-left:auto}.settings-card,.communication-grid>.panel{padding:18px 12px}.form-grid{gap:0 12px}.modal-head,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}footer{padding:15px 12px;flex-direction:column;font-size:8px}#toast{left:12px;right:12px;bottom:12px;max-width:none}#login{grid-template-columns:1fr}.login-story{display:none}.login-form{min-height:100dvh;padding:28px 24px}.login-form::before{content:'asa.';font-size:29px;color:var(--text);align-self:flex-start;font-weight:600;letter-spacing:-1.8px}.edition{margin-top:-25px;font-size:7px}.login-box{margin:60px 0}.login-box h2{font-size:36px}.login-box input{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{.sidebar,header,.actions,.filters,.dots,footer,.notice,dialog,#toast{display:none!important}.workspace{margin:0!important}main{padding:0}.match,.stats,.day-title{break-inside:avoid}body,.workspace,.panel{background:white!important;color:black!important}*{color:black!important;border-color:var(--text-secondary)!important}.referee,.pill{background:white!important}}

.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;white-space:nowrap;font-size:9px;color:var(--text-secondary);background:var(--surface);border-color:var(--control-border)}
.unavailable-picker{min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px}.unavailable-picker h3{margin:0 0 12px;font-size:13px}.unavailable-controls{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.unavailable-controls .field{flex:1 1 130px;min-width:0;margin:0}.unavailable-controls [hidden]{display:none}.unavailable-controls input,.unavailable-controls select{min-width:0;width:100%;box-sizing:border-box}.unavailable-picker ul{list-style:none;padding:0;margin:12px 0 0}.unavailable-picker li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;font-size:11px}.unavailable-picker li+li{border-top:1px solid var(--border)}.unavailable-picker li button{flex-shrink:0}.unavailable-error{color:var(--warning-text);font-size:11px;margin:8px 0}.unavailable-error:empty{display:none}
.theme-toggle:hover{color:var(--primary-text);border-color:var(--primary-border);background:var(--primary-soft)}
.login-form{position:relative}.login-form>.theme-toggle{position:absolute;top:65px;right:38px}
:root[data-theme="light"] .court{background:repeating-linear-gradient(90deg,transparent,transparent 24px,#00000003 25px)}
@media(max-width:760px){.header-right{gap:8px}.header-right #session-user{display:none}.header-right .theme-toggle{font-size:9px;padding:5px 7px}.login-form>.theme-toggle{top:65px;right:24px}}
@media print{.theme-toggle{display:none!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#nav-close,.nav-backdrop{display:none}
.planning-export{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.planning-export select{font-size:10px;min-height:34px;max-width:180px}
.planning-export small{color:var(--muted);font-size:9px}
@media(max-width:760px){
  body.nav-open{overflow:hidden}
  .sidebar{z-index:100;width:min(285px,85vw);overscroll-behavior:contain;visibility:hidden;transition:transform .2s,visibility .2s}
  .nav-open .sidebar{visibility:visible}
  .nav-open .workspace{opacity:1}
  .sidebar .brand{padding-right:42px}
  #nav-toggle,#nav-close{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:22px}
  #nav-close{position:absolute;top:10px;right:8px;border:0}
  .nav-backdrop{display:block;position:fixed;inset:0;z-index:90;width:100%;height:100dvh;padding:0;border:0;background:#0008;touch-action:none}
  .nav-backdrop[hidden]{display:none}
  .sidebar nav button{min-height:44px}
  .planning-export{width:100%}
  .planning-export select{flex:1;max-width:none;min-height:44px}
  .planning-export button{min-height:44px}
  .planning-export small{flex-basis:100%}
}
@media print{#nav-close,.nav-backdrop,.planning-export{display:none!important}}
.algorithm-help>p,.algorithm-steps{max-width:960px}.algorithm-steps{margin:22px 0 0;padding-left:24px;color:var(--text-secondary);font-size:11px;line-height:1.8}.algorithm-steps>li{padding-left:8px;margin-bottom:24px}.algorithm-steps>li:last-child{margin-bottom:0}.algorithm-steps h3{font-size:13px;letter-spacing:-.2px;margin-bottom:8px;color:var(--text-secondary)}.algorithm-steps p+p{margin-top:8px}.algorithm-steps ol{padding-left:20px;margin:10px 0;color:var(--muted);font-size:10px}.algorithm-steps ol li{padding-left:4px;margin-bottom:6px}.algorithm-help strong{color:var(--text-secondary);font-weight:500}
