@font-face{font-family:IRANSansWeb;src:url(/assets/fonts/IRANSansWeb.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IRANSansWeb;src:url(/assets/fonts/IRANSansWeb_Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--clay-900:#4b2418;--clay-800:#75371f;--clay-700:#9e4d2b;--clay-600:#bd6336;--clay-100:#fff2e8;--green-700:#1f5f44;--green-600:#2f7c57;--green-100:#e7f5e8;--navy-900:#14213d;--navy-700:#24385f;--ivory:#fffaf0;--paper:#fffcf4f0;--line:#482a1a29;--muted:#776b61;--danger:#b4342d;--shadow:0 20px 48px #2a170c24;--radius:8px;font-family:IRANSansWeb,Vazirmatn,Segoe UI,Tahoma,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--clay-900);background:linear-gradient(#ffffffc7,#fffaf0e6),radial-gradient(circle at 84% 14%,#cbf07a73,#0000 28%),linear-gradient(135deg,#efe2c6 0%,#d5703b 46%,#a84f2c 100%);overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.fit-name{white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom;min-width:0;max-width:100%;display:inline-block;overflow:hidden}.fit-name-button{min-width:0;max-width:100%;padding:0}.linked-name-list{flex-wrap:wrap;gap:6px 10px;min-width:0;display:flex}.linked-name-item{align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex}.compact-select{align-items:center;gap:8px;width:auto;display:inline-flex}.compact-select select{width:auto;min-width:120px}input,select{border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--clay-900);background:#fffdf8;min-height:42px;padding:0 12px}label{color:var(--clay-800);gap:7px;font-size:.9rem;font-weight:800;display:grid}.boot-screen,.activation-page{place-items:center;min-height:100vh;padding:24px;display:grid}.boot-screen{color:var(--ivory);font-weight:950}.app-shell,.admin-shell{width:min(1240px,100%);margin:0 auto;padding:18px clamp(12px,3vw,28px) 96px}.app-header{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#fffaf0eb,#fff2e0d1);border:1px solid #ffffff8c;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:14px;display:flex}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.brand-lockup img{object-fit:contain;flex:none;width:90px;height:60px}.brand-lockup p{color:var(--green-700);margin:0;font-size:.82rem;font-weight:900}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.account-logout-button{color:#a74618;background:#fff3e8;border-color:#ca5b1f4d}.account-logout-button:hover{color:#84320f;background:#ffe4ce;border-color:#ca5b1f80}.account-profile-button{color:var(--navy-900)}.profile-password-action{white-space:nowrap;min-height:38px}.password-setup-callout{border:1px solid #75371f38;border-inline-start:4px solid var(--clay-700);border-radius:var(--radius);background:#fff8ed;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:grid;box-shadow:0 8px 22px #512c1512}.password-setup-callout-icon{background:var(--clay-100);width:38px;height:38px;color:var(--clay-800);border-radius:50%;place-items:center;display:grid}.password-setup-callout strong,.password-setup-callout p{margin:0;display:block}.password-setup-callout strong{color:var(--navy-900)}.password-setup-callout p{color:var(--muted);margin-top:2px;font-size:.86rem}.primary-button,.soft-button,.danger-button,.icon-button{border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:900;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.primary-button{background:linear-gradient(135deg, var(--green-700), #7a9d2f);color:#fff;box-shadow:0 10px 24px #1f5f4433}.soft-button,.icon-button{color:var(--clay-800);border-color:var(--line);background:#ffffffb8}.danger-button,.icon-danger{color:var(--danger);background:#fff0ef;border:1px solid #b4342d33}.icon-danger,.icon-actions button,.sheet-close{border-radius:var(--radius);width:38px;height:38px;min-height:38px;padding:0}.primary-button:active,.soft-button:active,.icon-button:active{transform:translateY(1px)}.sync-pill{background:var(--green-100);min-height:34px;color:var(--green-700);cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:.82rem;font-weight:900;display:inline-flex}.sync-error{color:var(--danger);background:#fff0ef}.sync-conflict{color:#8a4f00;cursor:pointer;background:#fff7d8;border-color:#a86e0952;box-shadow:0 8px 22px #a86e0926}.sync-pill:disabled:not(.sync-conflict){opacity:1}.sync-history-toolbar,.sync-history-actions,.sync-history-safety,.sync-history-event>header,.sync-history-mutation-main,.sync-history-confirm{align-items:center;display:flex}.sync-history-toolbar{justify-content:space-between;gap:14px;margin-bottom:14px}.sync-history-actions,.sync-history-safety,.sync-history-confirm{gap:8px}.sync-history-safety{color:var(--muted);font-size:.84rem;line-height:1.65}.sync-history-safety svg{color:var(--green-700);flex:none}.sync-history-notice{border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:11px 12px;font-size:.84rem;display:flex}.sync-history-notice svg{flex:none;margin-top:2px}.sync-history-notice strong,.sync-history-notice span{display:block}.sync-history-notice.warning{color:#744400;background:#fff8df;border-color:#a86e0940}.sync-history-notice.error{color:var(--danger);background:#fff0ef;border-color:#b4342d33}.sync-history-loading{min-height:120px;color:var(--muted);place-content:center;justify-items:center;gap:8px;display:grid}.sync-history-list,.sync-history-mutations{gap:10px;display:grid}.sync-history-event{border-block-start:1px solid var(--line);padding-block-start:12px}.sync-history-event:first-child{border-block-start:0;padding-block-start:0}.sync-history-event>header{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:9px;font-size:.8rem}.sync-history-event>header>div{align-items:center;gap:7px;display:inline-flex}.sync-history-event>header strong{color:var(--navy-900)}.history-device{text-overflow:ellipsis;white-space:nowrap;max-width:min(48vw,280px);overflow:hidden}.sync-history-mutation{border:1px solid var(--line);background:var(--paper);border-radius:8px;min-width:0;padding:12px}.sync-history-mutation-main{justify-content:space-between;align-items:flex-start;gap:12px}.sync-history-mutation-main>div{min-width:0}.sync-history-mutation-main strong{color:var(--navy-900);margin-block:2px 3px;display:block}.sync-history-mutation-main p{color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.6}.history-entity-label,.history-revision{color:var(--green-700);font-size:.76rem;font-weight:900}.history-revision{background:var(--green-100);border-radius:999px;flex:none;padding:3px 7px}.sync-history-details{color:var(--muted);margin-block:10px;font-size:.82rem}.sync-history-details summary{cursor:pointer;width:fit-content;color:var(--clay-800);font-weight:800}.sync-history-details dl{gap:7px;margin:8px 0 0;display:grid}.sync-history-details dl>div{grid-template-columns:minmax(72px,auto) 1fr;gap:9px;display:grid}.sync-history-details dt{font-weight:900}.sync-history-details dd{overflow-wrap:anywhere;margin:0}.history-revert-button{min-height:38px;color:var(--clay-800);border:1px solid var(--line);background:0 0;padding-inline:11px}.sync-history-confirm{border-block-start:1px solid var(--line);flex-wrap:wrap;padding-block-start:9px}.sync-history-confirm p{color:var(--muted);flex:100%;margin:0 0 3px;font-size:.82rem;line-height:1.65}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.metric{border-radius:var(--radius);background:var(--paper);border:1px solid #ffffffa3;min-width:0;padding:14px;box-shadow:0 10px 24px #2a170c14}.metric strong{color:var(--navy-900);font-size:clamp(1.25rem,4vw,2rem);line-height:1;display:block}.metric span{color:var(--muted);font-size:.78rem;font-weight:800}.nav-button{border-radius:var(--radius);min-height:44px;color:var(--clay-800);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:0 12px;font-weight:950;display:flex}.nav-button.active{background:var(--navy-900);color:#fff;box-shadow:0 12px 26px #14213d2e}.screen,.stack{gap:14px;min-width:0;display:grid}.panel{background:var(--paper);min-width:0;box-shadow:var(--shadow);border:1px solid #ffffff9e;border-radius:14px;padding:clamp(14px,3vw,20px)}.panel-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.panel h2,.panel p{margin:0}.panel h2{color:var(--navy-900);font-size:clamp(1.05rem,3vw,1.35rem)}.panel p,.helper,.empty,.history-card small{color:var(--muted);line-height:1.8}.dashboard-grid,.two-col,.student-grid,.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.two-col{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr)}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-license-form{grid-template-columns:repeat(3,minmax(0,1fr))}.wide-field{grid-column:span 2}.feature-fieldset{border:1px solid var(--line);border-radius:var(--radius);background:#fffdf8b8;padding:12px}.feature-fieldset legend{color:var(--clay-800);padding:0 8px;font-weight:900}.feature-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.license-created-panel{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.license-created-panel p{color:var(--navy-900);word-break:break-all;direction:ltr;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:900}.admin-workspace{grid-template-columns:260px minmax(0,1fr);gap:16px;width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:16px clamp(10px,2vw,22px) 48px;display:grid}.admin-nav-button{border-radius:var(--radius);min-height:42px;color:var(--clay-800);text-align:start;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:0 12px;font-weight:950;display:flex}.admin-nav-button.active{background:var(--navy-900);color:var(--ivory);box-shadow:0 12px 26px #14213d29}.admin-content{align-content:start;gap:12px;min-width:0;display:grid}.admin-topbar{box-shadow:var(--shadow);background:linear-gradient(135deg,#fffaf0f0,#fff2e0d6);border:1px solid #ffffff8c;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.admin-topbar p,.admin-topbar h1{margin:0}.admin-topbar p{color:var(--green-700);font-size:.82rem;font-weight:950}.admin-topbar h1{color:var(--navy-900);letter-spacing:0;font-size:clamp(1.12rem,3vw,1.7rem)}.admin-list-controls{grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(130px,.7fr));gap:10px;margin-bottom:12px;display:grid}.admin-list-controls label,.admin-license-form label{min-width:0}.admin-table-actions{white-space:nowrap;align-items:center;gap:5px;display:flex}.admin-table-actions button{border:1px solid var(--line);width:32px;height:32px;color:var(--clay-800);background:#ffffffb8;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.admin-license-modal{width:min(900px,100vw - 28px);max-height:min(86vh,760px);overflow:auto}.admin-license-modal .admin-license-form{grid-template-columns:repeat(3,minmax(0,1fr))}.command-card,.student-card,.ledger-card,.day-card,.history-card,.device-card,.compact-row{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(#ffffffb8,#fff6e7b8);padding:14px}.command-card{text-align:start;min-height:128px;color:var(--clay-900)}.command-card svg{color:var(--green-700)}.command-card strong,.command-card span{display:block}.command-card strong{color:var(--navy-900);margin-top:12px}.command-card span{color:var(--muted);font-size:.84rem;line-height:1.6}.ledger-list,.compact-list,.day-list,.history-list,.session-mini-list{gap:10px;display:grid}.day-toolbar,.day-month-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.segmented-control{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffad;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:inline-grid}.segmented-control button{min-height:36px;color:var(--clay-800);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:950;display:inline-flex}.segmented-control button.active{background:linear-gradient(135deg, var(--green-700), #7a9d2f);color:#fff;box-shadow:0 8px 18px #1f5f4429}.day-count-pill{background:var(--clay-100);min-height:34px;color:var(--clay-800);border-radius:999px;align-items:center;padding:0 11px;font-size:.82rem;font-weight:950;display:inline-flex}.day-filter-grid{grid-template-columns:minmax(180px,.6fr) minmax(240px,1fr);gap:12px;margin-top:12px;display:grid}.day-calendar{gap:14px;display:grid}.day-month-section{gap:10px;display:grid}.day-month-head{padding:0 4px}.day-month-head strong{color:var(--navy-900);font-size:1.05rem}.day-month-head span{color:var(--muted);font-size:.84rem;font-weight:900}.calendar-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px;display:grid}.calendar-day-card{border-radius:var(--radius);background:linear-gradient(#ffffffd1,#fff6e7c7),linear-gradient(135deg,#d5703b29,#1f5f4414);border:1px solid #482a1a24;grid-template-columns:64px minmax(0,1fr) auto;align-items:start;gap:12px;min-height:150px;padding:12px;display:grid;position:relative;box-shadow:0 12px 28px #2a170c14}.calendar-date-badge{background:var(--navy-900);color:#fff;border-radius:12px;place-items:center;gap:2px;min-height:64px;display:grid}.calendar-date-badge span{color:#ffffffc7;font-size:.7rem;font-weight:900}.calendar-date-badge strong{font-size:1.55rem;line-height:1}.calendar-day-body,.calendar-day-title{gap:6px;min-width:0;display:grid}.calendar-day-title strong{color:var(--navy-900)}.calendar-day-title span{color:var(--muted);font-size:.84rem;font-weight:900}.calendar-day-actions{align-self:start}.form-error{border-radius:var(--radius);color:var(--danger);background:#fff0ef;border:1px solid #b4342d3d;margin-top:10px;padding:10px 12px;font-weight:900;line-height:1.6}.ledger-card,.history-card,.compact-row,.day-card-head,.device-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.compact-row.admin-license{grid-template-columns:.9fr 1.35fr .6fr .9fr auto;align-items:center;display:grid}.ledger-card strong,.student-card strong,.history-card strong,.compact-row strong,.day-card strong{color:var(--navy-900)}.compact-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:.76rem;line-height:1.5;display:block}.status{border-radius:999px;width:fit-content;margin-top:6px;padding:3px 8px;font-size:.74rem;font-weight:950;display:inline-flex}.status.ok{background:var(--green-100);color:var(--green-700)}.status.muted{color:var(--muted);background:#eee7dd}.status.danger{color:var(--danger);background:#fff0ef}.list-controls{grid-template-columns:minmax(220px,1fr) minmax(150px,220px);gap:10px;margin-bottom:12px;display:grid}.excel-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff9e;overflow-x:auto}.excel-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.86rem}.excel-table th,.excel-table td{border-bottom:1px solid var(--line);text-align:start;vertical-align:middle;padding:9px 10px}.excel-table th{z-index:1;color:var(--clay-800);background:#fff6e7;font-size:.78rem;font-weight:950;position:sticky;top:0}.excel-table tr:last-child td{border-bottom:0}.link-button{color:var(--navy-900);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;padding:0;font-weight:950;-webkit-text-decoration:underline #1f5f444d;text-decoration:underline #1f5f444d}.ledger-numbers,.mini-metrics{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;font-weight:850;display:flex}.positive{color:var(--green-700)}.negative{color:var(--danger)}.toolbar,.form-actions,.backup-actions,.icon-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.restore-choice-panel{background:#fffaf1d6;border:1px solid #7a4b2c2e;border-radius:10px;margin-top:16px;padding:14px}.restore-choice-panel p{margin:8px 0 0}.inline-form,.entry-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;min-width:0;display:grid}.ledger-form{grid-template-columns:minmax(260px,320px) minmax(180px,.75fr) minmax(130px,.5fr) minmax(240px,1fr);width:100%}.inline-form{grid-template-columns:minmax(0,1fr) auto}.entry-form .form-actions{justify-content:flex-start;align-self:end;min-width:0}.entry-form .form-actions .primary-button,.entry-form .form-actions .soft-button,.entry-form .form-actions .danger-button{white-space:normal;text-align:center;width:100%;min-width:0;line-height:1.2}.ledger-form .form-actions{grid-column:1/-1;justify-content:flex-end;padding-top:2px}.ledger-form .form-actions .primary-button,.ledger-form .form-actions .soft-button,.ledger-form .form-actions .danger-button{white-space:nowrap;width:auto;min-width:210px;max-width:100%}.date-control{justify-self:start;width:min(100%,342px);max-width:342px}.date-picker{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffd1;grid-template-columns:68px 148px 88px;gap:4px;width:auto;max-width:100%;padding:5px;display:grid;box-shadow:inset 0 1px #ffffffb8}.date-picker select{background:#fffaf3;border:0;min-width:0;min-height:36px;padding:0 7px}.date-control>input[type=date]{width:min(100%,220px)}.session-sheet{gap:10px;display:grid}.session-row{border-radius:var(--radius);border:1px solid var(--line);background:#fffaf0eb;grid-template-columns:280px minmax(180px,1fr) minmax(240px,1.4fr) minmax(200px,.8fr);align-items:start;gap:10px;padding:12px;display:grid}.session-row-head{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr) 38px;align-items:center;gap:8px;display:grid}.player-profile-grid{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}textarea{resize:vertical;border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--navy-900);font:inherit;background:#ffffffd1;padding:10px 12px}.goal-form,.ball-form{grid-template-columns:repeat(3,minmax(0,1fr))}.session-row-head strong{background:var(--navy-900);color:#fff;border-radius:999px;place-items:center;width:34px;height:34px;display:grid}.student-picker{color:var(--clay-800);gap:8px;font-weight:900;display:grid}.student-picker div{flex-wrap:wrap;gap:6px;display:flex}.student-token{border:1px solid var(--line);min-height:34px;color:var(--clay-800);background:#fff;border-radius:999px;padding:0 11px;font-weight:900}.student-token.selected{background:var(--green-700);color:#fff}.quota-box,.quota-details,.row-grid{gap:10px;display:grid}.quota-details{grid-template-columns:repeat(2,minmax(0,1fr))}.checkbox-line{align-items:center;gap:8px;min-height:42px;display:flex}.checkbox-line input{width:18px;min-height:18px;accent-color:var(--green-700)}.sticky-save{z-index:8;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffaf0d6;border:1px solid #ffffffa3;border-radius:14px;justify-content:flex-end;gap:8px;padding:10px;display:flex;position:sticky;bottom:16px}.student-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-card{gap:12px;display:grid}.history-card span,.compact-row span,.device-card span,.session-mini span{color:var(--muted);font-size:.86rem;line-height:1.6}.session-mini{border-radius:var(--radius);background:#ffffff9e;gap:4px;padding:10px;display:grid}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-grid label{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff9e;padding:14px}.password-settings-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.password-settings-setup-note{border-radius:var(--radius);color:var(--clay-800);background:#fff8ed;border:1px solid #75371f33;align-items:center;gap:9px;margin-bottom:12px;padding:10px 12px;font-weight:750;display:flex}.password-verification-switch{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff94;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(100%,520px);margin-bottom:12px;padding:4px;display:inline-grid}.password-verification-switch button{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:7px 10px;font-weight:800;display:inline-flex}.password-verification-switch button.active{background:var(--navy-900);color:#fff;box-shadow:0 4px 12px #12263a2e}.password-settings-field{align-content:start;min-width:0}.password-email-verification{border-radius:var(--radius);background:var(--green-100);border:1px solid #1f5f4433;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px 12px;padding:12px;display:grid}.password-email-destination{min-width:0;color:var(--green-700);grid-column:1/-1;align-items:center;gap:8px;display:flex}.password-email-destination span{flex-wrap:wrap;gap:4px 8px;min-width:0;display:flex}.password-email-destination strong{overflow-wrap:anywhere}.password-email-verification .password-settings-field{margin:0}.password-email-verification>.primary-button{grid-column:1/-1;justify-self:start}.password-settings-otp{letter-spacing:.32em;text-align:center;width:min(100%,230px);font-size:1.1rem;font-weight:850}.password-email-code-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.password-email-code-meta>span{color:var(--muted);align-items:center;gap:5px;font-size:.82rem;font-weight:750;display:inline-flex}.password-email-code-meta>span.is-expired{color:var(--danger)}.password-email-code-meta button{min-height:36px;color:var(--green-700);background:0 0;border:0;padding:5px 8px;font-weight:850}.password-email-code-meta button:disabled{color:var(--muted)}.password-settings-input{display:block;position:relative}.password-settings-input input{padding-inline-end:48px}.password-settings-input button{width:40px;min-height:38px;color:var(--clay-800);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;inset-block:2px;inset-inline-end:2px}.password-settings-input button:hover{background:#75371f14}.password-settings-input button:focus-visible{outline-offset:1px;outline:3px solid #2f7c5752}.password-settings-caps{color:var(--danger);align-items:center;gap:6px;font-weight:800;display:inline-flex}.password-settings-footer{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding-top:2px;display:flex}.password-settings-footer .helper{margin:0}.password-settings-badge{border-radius:var(--radius);background:var(--green-100);width:38px;height:38px;color:var(--green-700);place-items:center;display:grid}.password-settings-feedback,.password-settings-pending{border:1px solid var(--line);border-radius:var(--radius);grid-column:1/-1;align-items:flex-start;gap:9px;min-width:0;padding:11px 12px;line-height:1.65;display:flex}.password-settings-feedback>div{gap:3px;min-width:0;display:grid}.password-settings-feedback small{overflow-wrap:anywhere;color:var(--muted)}.password-settings-feedback.is-success{background:var(--green-100);color:var(--green-700);border-color:#1f5f443d}.password-settings-feedback.is-info{background:var(--green-100);color:var(--green-700);border-color:#1f5f4433}.password-settings-feedback.is-error{color:var(--danger);background:#fff0ef;border-color:#b4342d3d}.password-settings-pending{color:var(--muted);align-items:center}.hidden-input{display:none}.modal-backdrop{z-index:20;background:#14213d6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{background:var(--ivory);width:min(420px,100%);box-shadow:var(--shadow);border-radius:14px;padding:18px}.conflict-card{gap:14px;width:min(920px,100%);max-height:min(86vh,860px);display:grid;overflow:hidden}.conflict-head,.conflict-toolbar,.conflict-bulk-actions,.conflict-item-head,.conflict-meta,.conflict-actions{align-items:center;gap:10px;display:flex}.conflict-head{justify-content:space-between;align-items:flex-start}.conflict-head h2,.conflict-head p{margin:0}.conflict-head p:not(.eyebrow){color:var(--muted);margin-top:6px;line-height:1.7}.conflict-toolbar,.conflict-bulk-actions{flex-wrap:wrap}.status-pill.warning{color:#8a4f00;background:#fff7d8}.conflict-list{gap:12px;max-height:58vh;padding-inline-end:4px;display:grid;overflow:auto}.conflict-item{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffa8;gap:12px;padding:14px;display:grid}.conflict-item-head{justify-content:space-between;align-items:flex-start}.conflict-item-head div{gap:3px;min-width:0;display:grid}.conflict-item-head span,.conflict-meta{color:var(--muted);font-size:.82rem}.conflict-item-head code{text-overflow:ellipsis;max-width:220px;color:var(--muted);direction:ltr;font-size:.72rem;overflow:hidden}.conflict-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.conflict-summary-grid div{border-radius:var(--radius);background:#fffbf2d1;border:1px solid #634b361f;min-width:0;padding:10px}.conflict-summary-grid small{color:var(--muted);margin-bottom:6px;font-weight:900;display:block}.conflict-summary-grid p{overflow-wrap:anywhere;margin:0;line-height:1.7}.conflict-meta{flex-wrap:wrap;justify-content:space-between}.conflict-actions{flex-wrap:wrap;justify-content:flex-end}.toast{inset-inline:16px;z-index:30;background:var(--navy-900);color:#fff;border:0;border-radius:999px;width:fit-content;margin-inline:auto;padding:12px 18px;font-weight:900;position:fixed;bottom:88px}.activation-card{background:var(--paper);width:min(460px,100%);box-shadow:var(--shadow);border-radius:18px;gap:14px;padding:22px;display:grid}.activation-card img{object-fit:contain;width:150px;height:100px}.activation-card h1,.activation-card p{margin:0}.activation-card .entry-form{grid-template-columns:1fr}.auth-language{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff9e;grid-template-columns:repeat(2,minmax(74px,1fr));justify-self:start;gap:4px;width:fit-content;padding:4px;display:inline-grid}.auth-language button{min-height:34px;color:var(--clay-800);background:0 0;border:0;border-radius:6px;font-weight:900}.auth-language button.active{background:var(--navy-900);color:#fff}.admin-shell{max-width:1180px}[dir=ltr] .brand-lockup,[dir=ltr] .ledger-card,[dir=ltr] .history-card,[dir=ltr] .compact-row,[dir=ltr] .day-card-head{text-align:left}@media (width<=980px){.app-shell,.admin-shell{padding-bottom:96px}.admin-workspace{grid-template-columns:1fr;padding:10px 10px 36px}.admin-topbar{flex-direction:column;align-items:stretch}.admin-topbar .header-actions{justify-content:stretch}.admin-topbar .header-actions .primary-button,.admin-topbar .header-actions .soft-button{flex:140px}.admin-list-controls,.admin-license-modal .admin-license-form,.two-col,.dashboard-grid,.student-grid,.admin-grid,.inline-form,.entry-form,.list-controls,.player-profile-grid,.goal-form,.ball-form{grid-template-columns:1fr}.wide-field{grid-column:auto}.feature-toggle-grid{grid-template-columns:1fr}.license-created-panel{flex-direction:column;align-items:stretch}.day-filter-grid{grid-template-columns:1fr}.ledger-form .form-actions{grid-column:auto;justify-content:stretch}.ledger-form .form-actions .primary-button,.ledger-form .form-actions .soft-button,.ledger-form .form-actions .danger-button{white-space:normal;width:100%;min-width:0}.session-row{grid-template-columns:1fr 1fr}.session-row-head{grid-column:1/-1}.compact-row.admin-license{grid-template-columns:1fr;align-items:stretch}}.auth-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:14px 0;display:grid}.auth-tabs button{min-height:38px;color:var(--clay-900);background:#ffffffb3;border:1px solid #5c372229;font-weight:800}.auth-tabs button.active{background:var(--green-700);color:#fff;border-color:#0000}.check-row{align-items:center;gap:8px;flex-direction:row!important;display:flex!important}.check-row input{width:auto}.inline-edit{grid-template-columns:minmax(120px,1fr) auto 34px;align-items:center;gap:6px;display:grid}.inline-edit input{min-height:34px;padding:0 10px}.inline-edit button{min-height:34px;color:var(--ink);background:#fffaf2;border:1px solid #5c372229}.inline-edit .inline-edit-save{width:auto;color:var(--green-800);white-space:nowrap;background:#edf8f2;border-color:#1470533d;justify-content:center;align-items:center;gap:5px;padding:0 10px;display:inline-flex}@media (width>=981px) and (width<=1240px){.ledger-form{grid-template-columns:minmax(260px,320px) minmax(170px,.8fr) minmax(130px,.55fr) minmax(220px,1fr)}.ledger-form .form-actions{grid-column:1/-1;justify-content:flex-end}.ledger-form .form-actions .primary-button,.ledger-form .form-actions .soft-button,.ledger-form .form-actions .danger-button{width:auto;min-width:210px}}@media (width<=720px){.app-shell,.admin-shell{padding:10px 10px 92px}.password-settings-form{grid-template-columns:1fr}.password-setup-callout{grid-template-columns:auto minmax(0,1fr)}.password-setup-callout .primary-button{grid-column:1/-1;width:100%}.password-verification-switch{width:100%}.password-email-verification{grid-template-columns:1fr;align-items:stretch}.password-email-verification .soft-button,.password-email-verification>.primary-button,.password-settings-otp{width:100%}.password-settings-footer{flex-direction:column;align-items:stretch}.password-settings-footer .primary-button{width:100%}.app-header{align-items:flex-start;padding:12px}.brand-lockup img{width:72px;height:48px}.header-actions .icon-button span{display:none}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.metric{padding:10px 8px}.metric strong{font-size:1.15rem}.metric span{font-size:.68rem;line-height:1.35}.panel{border-radius:12px;padding:12px}.panel-head{display:grid}.toolbar{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.day-toolbar{gap:8px;display:grid}.segmented-control{width:100%}.day-count-pill{justify-content:center;width:100%}.calendar-grid{grid-template-columns:1fr}.calendar-day-card{grid-template-columns:54px minmax(0,1fr)}.calendar-day-actions{grid-column:1/-1;justify-content:flex-end}.calendar-date-badge{min-height:58px}.toolbar .soft-button{min-width:0;padding:0 8px;font-size:.76rem}.date-control{width:100%;max-width:none}.date-picker{grid-template-columns:64px minmax(96px,1fr) 86px;width:100%}.auth-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.session-row{grid-template-columns:1fr;gap:12px;padding:12px}.row-grid,.quota-details{grid-template-columns:1fr}.sticky-save{justify-content:stretch;bottom:0}.sticky-save .primary-button{flex:1}.history-card,.ledger-card,.compact-row,.day-card-head{align-items:flex-start}.conflict-backdrop{place-items:end center;padding:10px}.conflict-card{border-radius:16px 16px 0 0;width:100%;max-height:92vh;padding:14px}.conflict-head,.conflict-toolbar,.conflict-bulk-actions,.conflict-actions{align-items:stretch}.conflict-toolbar .soft-button,.conflict-bulk-actions .soft-button,.conflict-bulk-actions .primary-button,.conflict-actions .soft-button,.conflict-actions .primary-button{flex:100%;justify-content:center}.conflict-summary-grid{grid-template-columns:1fr}.conflict-item-head{display:grid}.conflict-item-head code{max-width:100%}.sync-history-toolbar,.sync-history-event>header,.sync-history-mutation-main{flex-direction:column;align-items:stretch}.sync-history-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.sync-history-actions button,.history-revert-button{justify-content:center;width:100%}.history-device{max-width:100%}.history-revision{align-self:flex-start}.sync-history-confirm .danger-button,.sync-history-confirm .soft-button{flex:100%;justify-content:center}}@media (width<=390px){.brand-lockup p{font-size:.72rem}.metric span{font-size:.62rem}.date-picker{grid-template-columns:56px minmax(86px,1fr) 76px}}:root{--content-max:1560px;--content-gutter:clamp(18px, 2.4vw, 40px);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--control-height:40px;--surface-canvas:#eef2ef;--surface-base:#fff;--surface-subtle:var(--folio-paper-cool);--surface-strong:#e7ede9;--text-strong:#142f2b;--text-body:#344d48;--text-secondary:var(--folio-ink-soft);--border-subtle:#d7e0da;--border-strong:var(--folio-rule-strong);--accent:#08704f;--accent-hover:#075e44;--accent-soft:#e3f1ea;--focus-state:0 0 0 3px #08704f38;--folio-canvas:var(--surface-canvas);--folio-paper:var(--surface-base);--folio-paper-cool:var(--surface-subtle);--folio-paper-deep:var(--surface-strong);--folio-ink:var(--text-strong);--folio-ink-soft:var(--text-body);--folio-muted:var(--text-secondary);--folio-rule:var(--border-subtle);--folio-rule-strong:var(--border-strong);--folio-clay:#c7572a;--folio-clay-dark:#923817;--folio-clay-wash:#fff0e6;--folio-court:#08704f;--folio-court-dark:#0d3a34;--folio-court-wash:#e3f1ea;--folio-tennis:#d9ed43;--folio-tennis-wash:#f4f8d4;--folio-navy:#173847;--folio-info:#256882;--folio-warning:#8c5900;--folio-warning-wash:#fff2cf;--folio-danger:#b63c33;--folio-danger-wash:#fff0ec;--folio-space-1:4px;--folio-space-2:8px;--folio-space-3:12px;--folio-space-4:var(--space-4);--folio-space-5:var(--space-5);--folio-space-6:var(--space-6);--folio-radius-mark:var(--radius-sm);--folio-radius-control:var(--radius-md);--folio-radius-overlay:var(--radius-lg);--folio-control-height:var(--control-height);--folio-focus:var(--focus-state);--folio-overlay-shadow:0 24px 70px #12332f42;--folio-motion-fast:.11s;--folio-motion-page:.18s;--app-bg:var(--folio-canvas);--surface:var(--folio-paper);--surface-raised:var(--folio-paper);--border:var(--folio-rule);--text:var(--folio-ink);--text-muted:var(--folio-muted);--brand-clay:var(--folio-clay);--brand-clay-dark:var(--folio-clay-dark);--brand-clay-soft:var(--folio-clay-wash);--action:var(--folio-court);--action-hover:#075e44;--action-soft:var(--folio-court-wash);--tennis:var(--folio-tennis);--tennis-soft:var(--folio-tennis-wash);--ink:var(--folio-navy);--info:var(--folio-info);--info-soft:#e8f2f5;--warning:var(--folio-warning);--warning-soft:var(--folio-warning-wash);--danger:var(--folio-danger);--danger-soft:var(--folio-danger-wash);--radius:var(--folio-radius-mark);--radius-panel:0;--shadow:none;--shadow-small:none;--focus-ring:var(--folio-focus)}body{background:var(--folio-canvas);color:var(--folio-ink);text-rendering:optimizelegibility;font-size:15px;line-height:1.6}h1,h2,h3,p{text-wrap:pretty}button,input,select,textarea{font-size:.875rem}::selection{background:var(--folio-tennis-wash);color:var(--folio-ink)}html[lang=en]{font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif}button,input,select,textarea{letter-spacing:0}button,input,select,textarea,a{transition:color var(--folio-motion-fast) ease, background-color var(--folio-motion-fast) ease, border-color var(--folio-motion-fast) ease, box-shadow var(--folio-motion-fast) ease}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--folio-court);outline-offset:3px}input,select,textarea{min-height:var(--folio-control-height);border:1px solid var(--folio-rule-strong);border-radius:var(--folio-radius-mark);color:var(--folio-ink);background:#fffdf6db}input:hover,select:hover,textarea:hover{border-color:var(--folio-ink-soft)}input:focus,select:focus,textarea:focus{border-color:var(--folio-court);box-shadow:inset 0 -3px 0 var(--folio-court);outline:0}textarea{min-height:92px}label{color:var(--folio-ink-soft);font-size:.78rem;font-weight:800}label>svg:not(.check-row svg){display:none}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.56}.app-shell.matchbook-shell{--desktop-navigation-width:212px;grid-template-columns:var(--desktop-navigation-width) minmax(0, 1fr);width:100%;height:100dvh;min-height:100vh;transition:grid-template-columns var(--folio-motion-page) ease;grid-template-rows:auto minmax(0,1fr);align-items:stretch;margin:0;padding:0;display:grid;overflow:hidden}.app-shell.matchbook-shell.desktop-nav-collapsed{--desktop-navigation-width:68px}.matchbook-main{min-width:0;min-height:0;padding:20px var(--content-gutter) 42px;overscroll-behavior:contain;scrollbar-gutter:stable;overflow-y:auto}.desktop-navigation-panel{background:var(--folio-court-dark);min-width:0;min-height:0;color:var(--folio-paper);border-inline-end:1px solid #245049;border-radius:0;flex-direction:column;gap:12px;padding:14px 10px;display:flex;position:relative;overflow:hidden}.desktop-navigation-head{border-block-end:1px solid #ffffff2e;justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding-block-end:8px;display:flex}.desktop-navigation-head strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;overflow:hidden}.desktop-navigation-toggle{border-radius:var(--folio-radius-mark);width:34px;min-width:34px;min-height:34px;color:var(--folio-paper);background:0 0;border:1px solid #ffffff42;place-items:center;padding:0;display:grid}.desktop-navigation-toggle:hover{border-color:var(--folio-tennis);color:var(--folio-tennis)}.desktop-side-nav{overscroll-behavior:contain;scrollbar-color:#ffffff5c transparent;scrollbar-gutter:stable;scrollbar-width:thin;flex:auto;align-content:start;gap:3px;min-height:0;padding-inline-end:2px;display:grid;overflow-y:auto}.desktop-account-nav{border-block-start:1px solid #ffffff2e;gap:3px;padding-block-start:10px;display:grid}.desktop-side-nav .nav-button,.desktop-account-nav .nav-button{border-radius:var(--folio-radius-control);color:#ffffffad;text-align:start;background:0 0;border:0;border-inline-start:3px solid #0000;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-width:0;min-height:42px;padding:7px 10px;display:grid;position:relative}.desktop-side-nav .nav-button:hover{color:#fff;background:#ffffff14}.desktop-side-nav .nav-button.active{border-inline-start-color:var(--folio-tennis);color:#fff;background:#ffffff1f}.desktop-side-nav .nav-button.active .nav-icon{color:var(--folio-tennis)}.desktop-account-nav .nav-button{border-radius:var(--folio-radius-control);color:#ffffffad;text-align:start;background:0 0;border:0;border-inline-start:3px solid #0000;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-width:0;min-height:42px;padding:7px 10px;display:grid}.desktop-account-nav .nav-button:hover{color:#fff;background:#ffffff14}.desktop-account-nav .nav-button.active{border-inline-start-color:var(--folio-tennis);color:#fff;background:#ffffff1f}.desktop-account-nav .nav-button.active .nav-icon{color:var(--folio-tennis)}.desktop-account-nav .desktop-account-logout{color:#ffb28a}.desktop-side-nav .nav-button>span:last-child,.desktop-account-nav .nav-button>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8rem;font-weight:800;overflow:hidden}.desktop-nav-collapsed .desktop-navigation-head{justify-content:center}.desktop-nav-collapsed .desktop-navigation-head strong,.desktop-nav-collapsed .desktop-side-nav .nav-button>span:last-child,.desktop-nav-collapsed .desktop-account-nav .nav-button>span:last-child{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.desktop-nav-collapsed .desktop-side-nav .nav-button,.desktop-nav-collapsed .desktop-account-nav .nav-button{grid-template-columns:1fr;justify-items:center;padding-inline:6px}.matchbook-masthead-compact{min-height:50px;padding-block:3px}.matchbook-masthead-compact .matchbook-brand img{width:62px;height:38px}.matchbook-masthead{z-index:20;justify-content:space-between;align-items:center;gap:var(--folio-space-4);min-height:62px;padding:7px var(--content-gutter);border:0;border-block-end:1px solid var(--folio-rule-strong);background:var(--folio-paper);box-shadow:none;border-radius:0;grid-column:1/-1;margin:0;display:flex;position:relative}.matchbook-masthead:after{display:none}.matchbook-brand{align-items:center;gap:var(--folio-space-3);min-width:0;display:flex}.matchbook-brand img{object-fit:contain;flex:none;width:78px;height:48px}.masthead-copy{align-items:center;gap:var(--folio-space-3);min-width:0;display:flex}.brand-context{min-width:0;color:var(--folio-muted);margin:0;font-size:.72rem;line-height:1.35;display:grid}.brand-context strong{color:var(--folio-ink);font-size:.96rem;font-weight:900}.brand-context span{text-overflow:ellipsis;white-space:nowrap;max-width:32ch;overflow:hidden}.masthead-actions{flex-wrap:nowrap;align-items:stretch;gap:6px;display:flex}.sync-action-group{border:1px solid var(--folio-rule-strong);align-items:stretch;gap:0;display:flex}.sync-action-group>*{border:0!important;border-radius:0!important}.sync-action-group>*+*{border-inline-start:1px solid var(--folio-rule-strong)!important}.icon-button,.sync-pill,.primary-button,.soft-button,.danger-button{min-height:var(--folio-control-height);border-radius:var(--folio-radius-mark);box-shadow:none;font-weight:800}.icon-button{border:1px solid var(--folio-rule-strong);color:var(--folio-navy);background:0 0}.icon-button:hover{border-color:var(--folio-court);background:var(--folio-court-wash)}.sync-pill{border:1px solid var(--folio-rule-strong);background:var(--folio-court-wash);max-width:235px;color:var(--folio-court-dark)}.sync-pill.sync-conflict{background:var(--folio-warning-wash);color:var(--folio-warning)}.sync-pill.sync-error{background:var(--folio-danger-wash);color:var(--folio-danger)}.account-logout-button{background:var(--folio-clay-wash);color:var(--folio-clay-dark);border-color:#e4a07a}.account-logout-button:hover{border-color:var(--folio-clay);background:#ffe3d2}.mobile-task-index .nav-button{border:0;border-inline-end:1px solid var(--folio-rule);min-width:0;min-height:52px;color:var(--folio-ink-soft);text-align:start;background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr);justify-content:start;align-items:center;padding:7px 9px;display:grid;position:relative}.mobile-task-index .nav-button:after{content:"";background:0 0;height:4px;position:absolute;inset-block-end:-2px;inset-inline:8px}.mobile-task-index .nav-button:hover{background:var(--folio-paper-cool);color:var(--folio-court-dark)}.mobile-task-index .nav-button.active{background:var(--folio-tennis-wash);color:var(--folio-ink)}.mobile-task-index .nav-button.active:after{background:var(--folio-clay)}.nav-icon{place-items:center;display:grid}.desktop-side-nav .domain-icon-players,.score-line .domain-icon-players{width:22px;height:22px}.route-entry-icon .domain-icon-players{width:24px;height:24px}.mobile-task-index .nav-button>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;font-weight:800;overflow:hidden}.mobile-task-index{display:none}.route-index-backdrop{z-index:100;background:#0d2a26b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.route-directory{border:2px solid var(--folio-ink);border-block-start:8px solid var(--folio-clay);border-radius:var(--folio-radius-overlay);background:var(--folio-paper);width:min(900px,100%);max-height:min(820px,100vh - 48px);box-shadow:var(--folio-overlay-shadow);overflow:auto}.route-directory-head{border-block-end:2px solid var(--folio-ink);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.route-directory h2{margin:0;font-size:1.35rem}.route-directory-close{border:1px solid var(--folio-rule-strong);border-radius:var(--folio-radius-mark);width:42px;height:42px;color:var(--folio-ink);background:0 0;place-items:center;display:grid}.route-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 24px 24px;display:grid}.route-directory-entry{border:0;border-block-end:1px solid var(--folio-rule);border-inline-end:1px solid var(--folio-rule);min-height:66px;color:var(--folio-ink-soft);text-align:start;background:0 0;border-radius:0;grid-template-columns:42px minmax(0,1fr);align-items:center;padding:8px 12px;display:grid}[dir=rtl] .route-directory-entry:nth-child(odd),[dir=ltr] .route-directory-entry:nth-child(2n){border-inline-end:0}.route-directory-entry:hover{background:var(--folio-paper-cool)}.route-directory-entry.active{background:var(--folio-tennis-wash);color:var(--folio-ink);box-shadow:inset 4px 0 0 var(--folio-clay)}[dir=rtl] .route-directory-entry.active{box-shadow:inset -4px 0 0 var(--folio-clay)}.route-entry-icon{color:var(--folio-court);place-items:center;display:grid}.route-directory-entry strong{font-size:.94rem}.route-directory-footer{border-block-start:2px solid var(--folio-ink);justify-content:flex-end;padding:14px 24px 22px;display:flex}.route-directory-logout{align-items:center;gap:var(--folio-space-2);border-radius:var(--folio-radius-mark);background:var(--folio-clay-wash);min-height:44px;color:var(--folio-clay-dark);border:1px solid #e4a07a;padding-inline:18px;font-weight:900;display:inline-flex}.matchbook-page{width:min(100%, var(--content-max));border:1px solid var(--folio-rule);border-radius:var(--folio-radius-control);background:var(--folio-paper);margin-inline:auto;position:relative;overflow:hidden}.matchbook-page.matchbook-page-day{overflow:visible}.matchbook-page:before{display:none}.page-score-margin{z-index:1;border-block-end:1px solid var(--folio-rule);background:var(--folio-paper-cool);grid-template-columns:minmax(260px,.82fr) minmax(560px,1.7fr);align-items:stretch;display:grid;position:relative}.page-folio-heading{align-items:center;gap:var(--folio-space-3);border-inline-end:1px solid var(--folio-rule);padding:16px 20px 16px 24px;display:flex;position:relative}.page-folio-heading:before{background:var(--folio-court);content:"";width:4px;position:absolute;inset-block:16px;inset-inline-start:0}.page-folio-heading p{color:var(--folio-muted);margin:0;font-size:.68rem;font-weight:800}.page-folio-heading h1{color:var(--folio-ink);letter-spacing:-.025em;margin:2px 0 0;font-size:clamp(1.45rem,2vw,1.85rem);font-weight:900;line-height:1.2}[dir=rtl] .page-folio-heading h1,[dir=rtl] .day-workflow-title h1{letter-spacing:0}.score-line{background:0 0;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;display:grid}.score-line .metric{border-inline-end:1px solid var(--folio-rule);background:0 0;border-radius:0;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:60px;padding:10px 14px;display:grid}.score-line .metric:last-child{border-inline-end:0}.score-line .metric-icon{border-radius:var(--folio-radius-control);background:var(--folio-court-wash);width:32px;height:32px;color:var(--folio-court);border:0;place-items:center;display:grid}.score-line .metric-warning .metric-icon{border-color:var(--folio-warning);color:var(--folio-warning)}.metric-reading{gap:1px;min-width:0;display:grid}.score-line .metric strong{color:var(--folio-ink);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:900;line-height:1}.score-line .metric span:not(.metric-icon){color:var(--folio-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:800;overflow:hidden}.scorebook-workspace{z-index:1;min-width:0;padding:22px 24px 26px;position:relative}.matchbook-page-day>.scorebook-workspace{z-index:auto}.scorebook-page{gap:var(--folio-space-4);min-width:0}.panel{border:0;border-block-end:1px solid var(--folio-rule);box-shadow:none;background:0 0;border-radius:0;padding:0 0 14px;position:relative}.panel:before{display:none}.panel-head{border-block-end:1px solid var(--folio-rule);min-height:50px;margin:0;padding:10px 4px}.panel-head h2{color:var(--folio-ink);margin:0;font-size:1.08rem;font-weight:900;line-height:1.4}.panel-head p{max-width:72ch;color:var(--folio-muted);margin:3px 0 0;font-size:.76rem;line-height:1.65}.primary-button{border:1px solid var(--folio-court);background:var(--folio-court);color:#fff;border-block-end-width:4px}.primary-button:hover{border-color:var(--folio-court-dark);background:var(--folio-court-dark)}.soft-button{border:1px solid var(--folio-rule-strong);color:var(--folio-navy);background:0 0}.soft-button:hover{border-color:var(--folio-court);background:var(--folio-court-wash)}.danger-button{border:1px solid var(--folio-danger);background:var(--folio-danger);color:#fff;border-block-end-width:4px}.form-actions{align-items:center;gap:var(--folio-space-2)}.entry-form,.inline-form,.settings-grid,.player-form-grid{border:1px solid var(--folio-rule);border-radius:var(--folio-radius-control);background:var(--folio-paper-cool);padding:14px}.entry-form label,.inline-form label,.settings-grid label,.player-form-grid label{gap:5px}.check-row{border:0;border-block-end:1px solid var(--folio-rule);background:0 0;border-radius:0;min-height:42px}.segmented-control{border:1px solid var(--folio-rule-strong);background:0 0;border-radius:0}.segmented-control button{border-radius:0}.segmented-control button.active{background:var(--folio-court-dark);color:var(--folio-tennis)}.status,.status-pill{background:var(--folio-paper-deep);border:0;border-inline-start:3px solid;border-radius:0;align-items:center;gap:5px;min-height:24px;padding:2px 7px;font-size:.68rem;font-weight:900;display:inline-flex}.status.ok{color:var(--folio-court)}.status.muted{color:var(--folio-muted)}.status.danger{color:var(--folio-danger)}.status-pill.warning{color:var(--folio-warning)}.empty-state{align-content:center;justify-items:start;gap:var(--folio-space-2);border:0;border-block:1px solid var(--folio-rule);background:var(--folio-paper-cool);min-height:124px;color:var(--folio-ink-soft);text-align:start;border-radius:0;padding:22px 24px 22px 68px;display:grid;position:relative}[dir=rtl] .empty-state{padding:22px 68px 22px 24px}.empty-state:before{background:var(--folio-clay);content:"";width:1px;position:absolute;inset-block:0;inset-inline-start:46px}.empty-state-icon{width:28px;height:28px;color:var(--folio-clay);background:0 0;border:0;border-radius:0;place-items:center;display:grid;position:absolute;inset-block-start:22px;inset-inline-start:12px}.empty-state strong{font-size:.92rem}.data-table-wrap{background:0 0;border:0;border-radius:0;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:.78rem}.data-table th{border:0;border-block:1px solid var(--folio-rule-strong);background:var(--folio-paper-deep);height:38px;color:var(--folio-ink);text-align:start;padding:7px 10px;font-size:.69rem;font-weight:900}.data-table td{border:0;border-block-end:1px solid var(--folio-rule);color:var(--folio-ink-soft);vertical-align:middle;background:0 0;padding:9px 10px}.data-table tbody tr:nth-child(2n) td{background:#edf3ef5c}.data-table tbody tr:hover td{background:var(--folio-tennis-wash)}.data-table td strong,.data-table td:first-child{color:var(--folio-ink)}.data-table td:nth-child(n+2){font-variant-numeric:tabular-nums}.table-actions,.admin-table-actions{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.table-actions .icon-button,.admin-table-actions button{width:36px;min-width:36px;min-height:36px;padding:0}.dashboard-page{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:22px 30px;display:grid}.dashboard-briefing{grid-column:1/-1;padding-block-end:18px}.dashboard-briefing .panel-head{min-height:62px}.dashboard-briefing .panel-head h2{font-size:1.25rem}.dashboard-briefing .dashboard-grid{border:0;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:12px;display:grid}.dashboard-briefing .command-card{border:1px solid var(--folio-rule);border-radius:var(--folio-radius-control);background:var(--folio-paper-cool);min-height:74px;color:var(--folio-ink);text-align:start;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;padding:12px 16px;display:grid;position:relative}.dashboard-briefing .command-card:after{color:var(--folio-muted);content:"→";font-size:1.05rem}[dir=rtl] .dashboard-briefing .command-card:after{content:"←"}.dashboard-briefing .command-card:first-child{border-color:var(--folio-court);background:var(--folio-court-wash)}.dashboard-briefing .command-card:hover{border-color:var(--folio-court);background:var(--folio-tennis-wash)}.dashboard-briefing .command-card>svg:first-child{color:var(--folio-court);background:var(--folio-paper);box-sizing:content-box;padding:9px;display:grid;overflow:visible}.command-card-copy{gap:2px;min-width:0;display:grid}.dashboard-briefing .command-card .command-card-copy strong{color:var(--folio-ink);margin:0;font-size:.96rem}.dashboard-briefing .command-card .command-card-copy>span{color:var(--folio-ink-soft);font-size:.76rem;line-height:1.5}.dashboard-secondary-grid{display:contents}.attention-panel{grid-area:2/1}.timeline-panel{grid-area:2/2}.attention-panel .compact-list,.timeline-panel .compact-list{gap:0;display:grid}.attention-panel .compact-row,.timeline-entry{border:0;border-block-end:1px solid var(--folio-rule);background:0 0;border-radius:0;min-height:46px;padding:10px 4px}.attention-panel .compact-row:last-child,.timeline-entry:last-child{border-block-end:0}.scorebook-timeline{padding-inline-start:22px;position:relative}.scorebook-timeline:before{background:var(--folio-rule-strong);content:"";width:1px;position:absolute;inset-block:13px;inset-inline-start:7px}.timeline-entry{justify-content:space-between;display:flex;position:relative}.timeline-entry:before{border:2px solid var(--folio-paper);background:var(--folio-court);width:7px;height:7px;box-shadow:0 0 0 1px var(--folio-court);content:"";border-radius:50%;position:absolute;inset-block-start:18px;inset-inline-start:-19px}.roster-ledger .ledger-card{border:0;border-block-end:1px solid var(--folio-rule);background:0 0;border-radius:0;grid-template-columns:minmax(140px,1fr) minmax(220px,1.4fr);align-items:center;padding:10px 0;display:grid}.ledger-card{border:0;border-inline-start:4px solid var(--folio-court);box-shadow:none;background:0 0;border-radius:0}.ledger-numbers{font-variant-numeric:tabular-nums}.court-visual{background:var(--folio-court);border:0;border-radius:0}.day-input-workspace{gap:0;min-width:0;display:grid}.day-workflow-header{border-block-end:1px solid var(--folio-rule-strong);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:4px 4px 20px;display:grid}.day-workflow-title{gap:3px;min-width:0;display:grid}.day-workflow-title p,.day-workflow-title h1,.day-workflow-title>span{margin:0}.day-workflow-title p{color:var(--folio-court);letter-spacing:.07em;text-transform:uppercase;font-size:.7rem;font-weight:900}.day-workflow-title h1{color:var(--folio-ink);letter-spacing:-.03em;font-size:clamp(1.65rem,2.3vw,2.15rem);font-weight:900;line-height:1.2}.day-workflow-title>span{max-width:70ch;color:var(--folio-muted);font-size:.8rem}.day-summary-strip{border-block:1px solid var(--folio-rule);grid-template-columns:repeat(3,minmax(88px,1fr));min-width:330px;display:grid}.day-summary-strip>span{border-inline-end:1px solid var(--folio-rule);color:var(--folio-muted);gap:1px;padding:8px 12px;font-size:.68rem;font-weight:800;display:grid}.day-summary-strip>span:last-child{border-inline-end:0}.day-summary-strip strong{color:var(--folio-ink);font-variant-numeric:tabular-nums;font-size:1.15rem;line-height:1.2}.day-date-section{gap:10px;display:grid}.day-date-anchor{border:1px solid var(--folio-rule);border-radius:var(--folio-radius-control);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:10px 12px;display:grid}.day-date-control-wrap{grid-template-columns:28px minmax(290px,390px) minmax(150px,auto);align-items:center;gap:12px;min-width:0;display:grid}.day-step-mark{background:var(--folio-court-dark);width:24px;height:24px;color:var(--folio-tennis);border-radius:50%;place-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.7rem;font-weight:900;display:grid}.day-date-section .date-control{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;width:100%;max-width:none;display:grid}.day-date-section .date-picker{grid-template-columns:68px minmax(130px,1fr) 88px}.day-selected-date{min-width:0;color:var(--folio-ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.day-date-error{color:var(--folio-danger);grid-column:2/-1;font-size:.75rem;font-weight:800}.day-save-state{min-height:30px;color:var(--folio-muted);white-space:nowrap;align-items:center;gap:7px;font-size:.72rem;font-weight:850;display:inline-flex}.day-save-state-dot{background:var(--folio-rule-strong);border-radius:50%;width:7px;height:7px}.day-save-state.is-dirty{color:var(--folio-warning)}.day-save-state.is-dirty .day-save-state-dot{background:var(--folio-warning)}.day-save-state.is-saved{color:var(--folio-court)}.day-save-state.is-error{color:var(--folio-danger)}.day-header-save{min-width:126px}.day-session-toolbar{justify-content:space-between;align-items:center;gap:20px;padding:16px 4px 10px;display:flex}.day-session-toolbar>div:first-child{align-items:center;gap:10px;display:flex}.day-session-toolbar h2,.day-session-toolbar p{margin:0}.day-session-toolbar h2{color:var(--folio-ink);font-size:1.08rem}.day-session-toolbar p{color:var(--folio-muted);font-size:.74rem}.add-session-control{grid-template-columns:minmax(150px,190px) auto;align-items:end;gap:8px;display:grid}.day-validation-summary{border-inline-start:4px solid var(--folio-danger);background:var(--folio-danger-wash);color:var(--folio-danger);align-items:center;gap:9px;padding:10px 12px;font-size:.8rem;font-weight:800;display:flex}.day-session-list{border-block-start:1px solid var(--folio-rule-strong);display:grid}.day-session-entry{border-block-end:1px solid var(--folio-rule);background:var(--folio-paper);min-width:0;position:relative}.day-session-entry:hover:not(.is-expanded){background:var(--folio-paper-cool)}.day-session-entry.is-expanded{border:1px solid var(--folio-court);border-radius:var(--folio-radius-control);background:var(--folio-paper-cool);border-inline-start-width:5px;margin-block:8px}.day-session-entry.is-invalid{border-color:var(--folio-danger)}.session-mobile-summary{width:100%;min-width:0;min-height:64px;color:var(--folio-ink);text-align:start;background:0 0;border:0;grid-template-columns:36px minmax(180px,1.45fr) minmax(130px,.75fr) minmax(190px,1fr) minmax(130px,.8fr) 72px;align-items:center;gap:12px;padding:8px 10px;display:grid}.session-number-mark{background:var(--folio-paper-deep);width:26px;height:26px;color:var(--folio-ink-soft);border-radius:50%;place-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;font-weight:900;display:grid}.is-expanded .session-number-mark{background:var(--folio-court-dark);color:var(--folio-tennis)}.session-summary-player,.session-summary-cell{gap:1px;min-width:0;display:grid}.session-summary-player>span,.session-summary-cell>span:first-child{color:var(--folio-muted);font-size:.64rem;font-weight:800}.session-summary-player strong,.session-summary-cell strong{min-width:0;color:var(--folio-ink);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:850;line-height:1.4;overflow:hidden}.session-summary-player strong{font-size:.92rem;font-weight:900}.session-summary-cell small{color:var(--folio-muted);font-size:.67rem}.session-summary-time strong{font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:flex}.session-summary-court .is-paid{color:var(--folio-court)}.session-summary-court .is-unpaid,.session-summary-player .is-placeholder{color:var(--folio-warning)}.session-invalid-mark{color:var(--folio-danger)}.session-expand-action{min-height:32px;color:var(--folio-court);white-space:nowrap;justify-content:flex-end;align-items:center;gap:3px;font-size:.69rem;font-weight:850;display:inline-flex}.session-desktop-index,.session-editor-body{display:none}.day-session-entry.is-expanded .session-editor-body{border-block-start:1px solid var(--folio-rule);grid-template-columns:minmax(210px,1.35fr) minmax(150px,.9fr) minmax(120px,.65fr) minmax(150px,.8fr) minmax(140px,.8fr) minmax(180px,1fr) 40px;align-items:end;gap:12px;padding:14px 14px 16px;display:grid}.session-field{gap:5px;min-width:0;display:grid}.session-field-label,.session-field>span:first-child{color:var(--folio-ink-soft);font-size:.7rem;font-weight:850}.session-field-error{color:var(--folio-danger);font-size:.68rem;font-weight:800}.session-personal-note,.group-player-trigger{min-height:var(--folio-control-height);border:1px solid var(--folio-rule-strong);border-radius:var(--folio-radius-mark);background:var(--folio-paper);color:var(--folio-ink-soft);align-items:center;padding-inline:11px;font-size:.8rem;display:flex}.group-player-trigger{text-align:start;justify-content:space-between;width:100%}.group-player-trigger.is-placeholder{color:var(--folio-muted)}.session-group-player-field,.session-actions-menu{position:relative}.session-player-options,.session-actions-popover{z-index:30;border:1px solid var(--folio-rule-strong);border-radius:var(--folio-radius-control);background:var(--folio-paper);max-height:240px;padding:6px;display:grid;position:absolute;inset-block-start:calc(100% + 5px);inset-inline:0;overflow:auto;box-shadow:0 12px 30px #12332f24}.session-player-option{min-height:36px;color:var(--folio-ink-soft);text-align:start;background:0 0;border:0;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;display:grid}.session-player-option:hover,.session-player-option.selected{background:var(--folio-court-wash);color:var(--folio-court-dark)}.session-player-option-check{border:1px solid var(--folio-rule-strong);place-items:center;width:18px;height:18px;display:grid}.session-player-option.selected .session-player-option-check{border-color:var(--folio-court);background:var(--folio-court);color:#fff}.session-no-players{color:var(--folio-muted);margin:8px;font-size:.75rem}.court-hours-stepper{border:1px solid var(--folio-rule-strong);background:var(--folio-paper);grid-template-columns:34px minmax(52px,1fr) 34px;display:grid}.court-hours-stepper button,.court-hours-stepper input{min-height:calc(var(--folio-control-height) - 2px);text-align:center;background:0 0;border:0;border-radius:0}.court-hours-stepper button{color:var(--folio-court);padding:0;font-size:1.1rem;font-weight:900}.court-hours-stepper input{border-inline:1px solid var(--folio-rule);font-variant-numeric:tabular-nums;padding:0 4px}.court-paid-control{min-height:var(--folio-control-height);align-items:center;gap:8px;display:flex}.court-paid-control input{opacity:0;width:1px;height:1px;min-height:0;position:absolute}.court-paid-switch{background:var(--folio-rule-strong);border-radius:999px;width:34px;height:20px;position:relative}.court-paid-switch:after{content:"";width:14px;height:14px;transition:transform var(--folio-motion-fast) ease;background:#fff;border-radius:50%;position:absolute;inset-block-start:3px;inset-inline-start:3px}.court-paid-control input:checked+.court-paid-switch{background:var(--folio-court)}.court-paid-control input:checked+.court-paid-switch:after{transform:translate(14px)}[dir=rtl] .court-paid-control input:checked+.court-paid-switch:after{transform:translate(-14px)}.court-paid-control input:focus-visible+.court-paid-switch{box-shadow:var(--folio-focus)}.session-row-actions{align-self:end}.session-actions-trigger{width:40px;min-height:var(--folio-control-height);border:1px solid var(--folio-rule-strong);border-radius:var(--folio-radius-mark);color:var(--folio-muted);background:0 0;place-items:center;padding:0;display:grid}.session-actions-trigger:hover{border-color:var(--folio-danger);color:var(--folio-danger)}.session-actions-popover{min-width:150px;inset-inline:auto 0}.session-actions-popover button{min-height:38px;color:var(--folio-danger);text-align:start;background:0 0;border:0;align-items:center;gap:7px;padding:7px 9px;display:flex}.session-quota-fields{border-block-start:1px dashed var(--folio-rule-strong);grid-column:1/-1;grid-template-columns:minmax(120px,180px) minmax(180px,auto) minmax(0,1fr);align-items:end;gap:12px;padding-block-start:12px;display:grid}.session-quota-details{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.day-empty-state{background:var(--folio-paper-cool);min-height:118px;color:var(--folio-court);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:20px;display:grid}.day-empty-state strong,.day-empty-state p{margin:0}.day-empty-state strong{color:var(--folio-ink)}.day-empty-state p{color:var(--folio-muted);font-size:.78rem}.day-save-dock{justify-content:space-between;align-items:center;gap:16px;padding:12px 4px 0;display:flex}.day-save-dock>div:last-child{align-items:center;gap:8px;display:flex}@media (width>=821px){.day-session-entry:not(.is-expanded) .session-summary-player>span,.day-session-entry:not(.is-expanded) .session-summary-cell>span:first-child{visibility:hidden;height:0}.day-session-entry:first-child:not(.is-expanded) .session-summary-player>span,.day-session-entry:first-child:not(.is-expanded) .session-summary-cell>span:first-child,.day-session-entry.is-expanded .session-summary-player>span,.day-session-entry.is-expanded .session-summary-cell>span:first-child{visibility:visible;height:auto}}@media (width>=821px) and (width<=1360px){.day-session-entry.is-expanded .session-editor-body{grid-template-columns:repeat(3,minmax(0,1fr))}.session-row-actions{position:absolute;inset-block-end:16px;inset-inline-end:14px}.session-quota-fields{grid-column:1/-1}}.roster-entry-panel .inline-form,.ledger-entry-panel .entry-form,.worksheet-panel>.entry-form{align-items:end;gap:var(--folio-space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.roster-directory-panel .list-controls,.list-controls,.admin-list-controls{gap:var(--folio-space-2);grid-template-columns:minmax(220px,1fr) minmax(160px,.35fr);padding:12px 0;display:grid}.roster-page,.court-page{gap:18px}.roster-entry-panel .inline-form{border:0;border-block-end:1px solid var(--folio-rule);background:0 0;grid-template-columns:minmax(280px,520px) auto;justify-content:start;padding:12px 0}.roster-directory-panel .list-controls{grid-template-columns:minmax(280px,1fr) minmax(150px,210px);max-width:760px}.roster-table .data-table{table-layout:fixed}.roster-table .data-table th:first-child,.roster-table .data-table td:first-child{width:28%}.roster-table .data-table th:nth-child(2),.roster-table .data-table td:nth-child(2){width:12%}.roster-table .data-table th:last-child,.roster-table .data-table td:last-child{width:164px}.roster-table .data-table td{height:52px}.roster-actions{flex-wrap:nowrap;justify-content:flex-end}.roster-actions .roster-primary-action,.roster-actions .roster-edit-action{color:var(--folio-court-dark)}.roster-actions .roster-delete-action{color:var(--folio-muted);background:0 0;border-color:#0000}.roster-actions .roster-delete-action:hover{color:var(--folio-danger)}.court-entry-panel .ledger-form{border:0;border-block-end:1px solid var(--folio-rule);background:0 0;grid-template-columns:minmax(260px,1.15fr) minmax(120px,.45fr) minmax(150px,.55fr) minmax(220px,1fr) auto;padding:12px 0}.court-entry-panel .ledger-form .form-actions{grid-column:auto;align-self:end;padding:0}.court-entry-panel .ledger-form .form-actions .primary-button,.court-entry-panel .ledger-form .form-actions .soft-button{width:auto;min-width:124px}.court-ledger-table .data-table{table-layout:fixed}.court-ledger-table .data-table th:nth-child(2),.court-ledger-table .data-table th:nth-child(3),.court-ledger-table .data-table td:nth-child(2),.court-ledger-table .data-table td:nth-child(3){text-align:end}.court-ledger-table .data-table th:first-child,.court-ledger-table .data-table td:first-child{font-variant-numeric:tabular-nums;width:18%}.court-ledger-table .data-table th:nth-child(2),.court-ledger-table .data-table td:nth-child(2){width:11%}.court-ledger-table .data-table th:nth-child(3),.court-ledger-table .data-table td:nth-child(3){width:18%}.court-ledger-table .data-table th:nth-child(4),.court-ledger-table .data-table td:nth-child(4){width:14%}.court-ledger-table .data-table th:last-child,.court-ledger-table .data-table td:last-child{width:92px}.court-ledger-table .record-actions{flex-wrap:nowrap;justify-content:flex-end}.roster-table tbody{counter-reset:roster-row}.roster-table tbody tr{counter-increment:roster-row}.roster-table tbody td:first-child{padding-inline-start:34px;position:relative}.roster-table tbody td:first-child:before{color:var(--folio-clay);content:counter(roster-row, decimal-leading-zero);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.64rem;font-weight:900;position:absolute;inset-inline-start:4px}.mobile-action-label,.mobile-entry-toggle{display:none}.student-picker>div{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin-block-start:7px;display:grid}.student-token{border:1px solid var(--folio-rule);background:var(--folio-paper);min-height:42px;color:var(--folio-ink-soft);text-align:start;border-radius:0;grid-template-columns:24px minmax(0,1fr);justify-content:stretch;align-items:center;padding:5px 8px;display:grid}.student-token:hover{border-color:var(--folio-court);background:var(--folio-court-wash)}.student-token.selected{border-color:var(--folio-court);background:var(--folio-court-wash);color:var(--folio-court-dark);border-inline-start-width:4px}.student-token-check{border:1px solid var(--folio-rule-strong);background:var(--folio-paper);place-items:center;width:20px;height:20px;display:grid}.student-token.selected .student-token-check{border-color:var(--folio-court);background:var(--folio-court);color:#fff}.schedule-control-panel .date-control{border-block:1px solid var(--folio-rule);background:var(--folio-paper-cool);max-width:520px;margin-inline-start:auto;padding:12px 14px}.day-screen{gap:10px}.day-row{border:0;border-inline-start:4px solid var(--folio-court);border-block:1px solid var(--folio-rule);background:var(--folio-paper-cool);border-radius:0;position:relative}.day-row:before{background:var(--folio-court-dark);color:var(--folio-tennis);border-radius:0}.day-row-grid{gap:10px}.sticky-save{z-index:12;border:1px solid var(--folio-rule-strong);border-radius:var(--folio-radius-control);background:#fffffff5;justify-content:flex-end;padding:10px;display:flex;position:sticky;inset-block-end:0;box-shadow:0 8px 24px #12332f14}.session-day-card{border:0;border-block-start:1px solid var(--folio-rule-strong);box-shadow:none;background:0 0;border-radius:0}.session-row{border-block-end:1px solid var(--folio-rule);background:0 0;border-radius:0}.financial-ledger-panel,.worksheet-panel,.ledger-entry-panel{min-width:0}.ledger-table .data-table th{background:var(--folio-paper-deep);color:var(--folio-ink)}.payment-ledger-table .data-table td:nth-child(3),.payment-ledger-table .data-table td:nth-child(4),.ball-balance-table .data-table td:nth-child(n+2),.court-ledger-table .data-table td:nth-child(2),.court-ledger-table .data-table td:nth-child(3){font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.profile-document-panel,.settings-document-panel,.security-document-panel,.sync-audit-panel{width:100%;max-width:1040px;margin-inline:auto}.account-device-summary{grid-template-columns:74px minmax(0,1fr);align-items:start;padding:16px;display:grid}.account-device-mark{border:2px solid var(--folio-court);border-radius:var(--folio-radius-mark);background:var(--folio-court-wash);width:52px;height:52px;color:var(--folio-court);place-items:center;display:grid}.account-detail-grid{border-block-start:1px solid var(--folio-rule);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin:0;display:grid}.account-device-summary,.settings-grid,.password-settings-form{border-block:1px solid var(--folio-rule);background:var(--folio-paper-cool)}.account-detail-grid>div{border-block-end:1px solid var(--folio-rule);min-width:0;padding:11px 12px}.account-detail-grid>div:nth-child(odd){border-inline-end:1px solid var(--folio-rule)}.account-detail-grid dt{color:var(--folio-muted);font-size:.75rem;font-weight:900}.account-detail-grid dd{color:var(--folio-ink);overflow-wrap:anywhere;margin:3px 0 0;font-weight:800}.account-detail-grid .account-features{border-inline-end:0;grid-column:1/-1}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.settings-grid label{border:0;border-inline-start:4px solid var(--folio-court);border-block:1px solid var(--folio-rule);background:var(--folio-paper);border-radius:0;padding:14px}.sync-history-list{border-block:1px solid var(--folio-rule)}.sync-history-entry{background:0 0;border-radius:0}.modal-backdrop{background:#0d2a26b8;padding:24px}.modal-card{border:2px solid var(--folio-ink);border-block-start:8px solid var(--folio-clay);border-radius:var(--folio-radius-overlay);background:var(--folio-paper);width:min(620px,100%);max-height:calc(100vh - 48px);box-shadow:var(--folio-overlay-shadow);padding:24px;overflow:auto}.confirm-dialog{text-align:start}.dialog-icon{border-radius:var(--folio-radius-mark);border:1px solid;place-items:center;width:42px;height:42px;display:grid}.scorebook-conflict-sheet{width:min(980px,100%)}.conflict-backdrop{z-index:120}.conflict-item{border:0;border-block:1px solid var(--folio-rule);background:0 0;border-radius:0}.conflict-summary-grid{border:1px solid var(--folio-rule);gap:0}.conflict-version{border:0;border-inline-end:1px solid var(--folio-rule);background:var(--folio-paper-cool);border-radius:0}.conflict-version:last-child{border-inline-end:0}.conflict-actions{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px;display:grid}.conflict-actions>div{gap:5px;min-width:0;display:grid}.conflict-actions>div>button{justify-content:center;width:100%}.conflict-actions small{color:var(--folio-muted);font-size:.75rem;line-height:1.5}.toast{border:2px solid var(--folio-ink);border-radius:var(--folio-radius-mark);background:var(--folio-tennis);color:var(--folio-ink);box-shadow:var(--folio-overlay-shadow);inset-block-end:24px}.boot-screen{background:var(--folio-canvas);min-height:100dvh;color:var(--folio-ink);padding:20px}.bootstrap-state{border-block:2px solid var(--folio-ink);border-inline-start:5px solid var(--folio-court);background:var(--folio-paper);width:min(520px,100%);box-shadow:var(--folio-overlay-shadow);justify-items:start;gap:10px;padding:26px 28px;display:grid}.bootstrap-state.has-error{border-inline-start-color:var(--folio-danger)}.bootstrap-state-icon{background:var(--folio-tennis-wash);width:44px;height:44px;color:var(--folio-court);place-items:center;display:grid}.bootstrap-state.has-error .bootstrap-state-icon{background:var(--folio-danger-wash);color:var(--folio-danger)}.bootstrap-state strong{color:var(--folio-ink);font-size:1.05rem}.bootstrap-state p{color:var(--folio-muted);margin:0;line-height:1.75}.bootstrap-state-actions{flex-wrap:wrap;gap:8px;margin-block-start:6px;display:flex}.password-setup-callout{border:1px solid var(--folio-warning);background:var(--folio-warning-wash);box-shadow:none;border-inline-start-width:5px;border-radius:0}.scorebook-admin{background:var(--folio-canvas);width:min(1500px,100%);min-height:100vh;margin-inline:auto;padding:14px clamp(12px,2vw,30px) 42px;display:block}.admin-register-masthead{border-block-start:4px solid var(--folio-clay);border-block-end:2px solid var(--folio-ink);justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:8px 0 10px;display:flex}.admin-register-brand{align-items:center;gap:10px;min-width:0;display:flex}.admin-register-brand img{object-fit:contain;width:78px;height:52px}.admin-register-brand small{color:var(--folio-muted);display:block}.admin-register-actions{align-items:center;gap:6px;display:flex}.admin-section-index{border-block:2px solid var(--folio-ink);background:var(--folio-paper);grid-template-columns:repeat(6,minmax(0,1fr));margin-block:10px 14px;display:grid}.admin-nav-button{border:0;border-inline-end:1px solid var(--folio-rule);min-height:60px;color:var(--folio-ink-soft);background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr);justify-content:center;align-items:center;gap:7px;padding:7px 8px;display:grid;position:relative}.admin-nav-button.active{background:var(--folio-tennis-wash);color:var(--folio-ink)}.admin-nav-button.active:after{background:var(--folio-clay);content:"";height:4px;position:absolute;inset-block-end:-2px;inset-inline:8px}.admin-content{margin:0;padding:0}.admin-topbar{border:0;border-block:2px solid var(--folio-ink);background:var(--folio-paper);min-height:64px;box-shadow:none;border-radius:0;align-items:center;margin:12px 0;padding:10px 16px;display:flex}.admin-topbar h1{margin:0;font-size:1.35rem}.admin-topbar p{color:var(--folio-clay);margin:0;font-size:.75rem;font-weight:900}.admin-operations-surface>.helper{max-width:74ch;margin:-3px 16px 12px;font-size:.78rem}.admin-score-strip{border-block:2px solid var(--folio-ink);background:var(--folio-paper);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.admin-score-strip .ledger-card{border-inline-start:0;border-inline-end:1px solid var(--folio-rule);align-content:center;gap:3px;min-height:74px;padding:10px 14px;display:grid}.admin-score-strip .ledger-card:last-child{border-inline-end:0}.admin-score-strip .ledger-card small{color:var(--folio-muted);font-size:.7rem;font-weight:900}.admin-score-strip strong{font-variant-numeric:tabular-nums;font-size:1.35rem;line-height:1}.admin-dashboard-register{gap:14px;display:grid}.admin-dashboard-digests{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.admin-digest-list{display:grid}.admin-digest-row{border-block-end:1px solid var(--folio-rule);justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:10px 12px;display:flex}.admin-digest-row:last-child{border-block-end:0}.admin-digest-row>div{gap:2px;min-width:0;display:grid}.admin-digest-row>div:last-child{justify-items:end}.admin-digest-row strong,.admin-digest-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-digest-row span,.admin-digest-row time{color:var(--folio-muted);font-size:.75rem}.admin-record-panel{background:var(--folio-paper);margin-block-start:12px}.admin-record-panel.panel,.admin-digest-panel.panel{box-shadow:none;border-inline:0}.admin-list-controls{gap:8px 12px;margin-block-end:10px}.admin-list-controls label,.admin-license-form label{gap:5px;font-size:.76rem}.admin-license-modal{width:min(900px,100%)}.admin-license-modal .panel-head{border-block-end:2px solid var(--folio-ink);margin-block-end:10px;padding-block-end:10px}.admin-license-form{gap:10px 14px}.admin-license-form .feature-fieldset{border:0;border-block:1px solid var(--folio-rule);background:var(--folio-paper-cool);border-radius:0;padding:9px 12px 11px}.admin-license-form .feature-toggle-grid{gap:5px 14px}.admin-license-form .check-row{min-height:34px;padding:4px 0}.admin-license-form .form-actions{border-block-start:1px solid var(--folio-rule);grid-column:1/-1;justify-content:flex-end;padding-block-start:10px}.admin-license-form .form-actions .primary-button{min-width:180px}.admin-table-actions .admin-danger-action{color:var(--folio-danger);opacity:.72;background:0 0;border-color:#0000}.admin-table-actions .admin-danger-action:hover,.admin-table-actions .admin-danger-action:focus-visible{background:var(--folio-danger-wash);opacity:1;border-color:#9e362f52}.admin-notice,.license-created-panel{border:0;border-inline-start:5px solid var(--folio-clay);border-block:1px solid var(--folio-rule);background:var(--folio-paper);border-radius:0}@media (width<=1100px){.page-score-margin{grid-template-columns:minmax(190px,.55fr) minmax(450px,1.45fr)}.scorebook-workspace{padding:14px}.schedule-control-panel .panel-head{display:grid}.schedule-control-panel .toolbar{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.schedule-control-panel .toolbar .soft-button{min-width:0;padding-inline:8px}.session-row{grid-template-columns:repeat(2,minmax(0,1fr))}.session-row-head{grid-column:1/-1}.dashboard-page{column-gap:18px}.admin-section-index{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=820px){:root{--folio-control-height:44px}body{background:var(--folio-paper)}.app-shell.matchbook-shell,.scorebook-admin{width:100%;height:auto;min-height:100vh;padding:0;display:block;overflow:visible}.desktop-navigation-panel{display:none}.matchbook-main{width:100%;min-height:auto;padding:0;overflow:visible}.matchbook-masthead{z-index:40;min-height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 10px 0;background:#fffffffa;border-block-start-width:0;position:sticky;inset-block-start:0}.matchbook-brand{gap:6px}.matchbook-brand img{width:56px;height:40px}.masthead-copy{gap:6px}.brand-context strong{text-overflow:ellipsis;white-space:nowrap;max-width:14ch;font-size:.78rem;overflow:hidden}.brand-context span{display:none}.masthead-actions,.sync-action-group{min-width:0}.sync-action-group .icon-button,.sync-action-group .sync-pill{min-height:38px;padding-inline:8px}.sync-action-group .icon-button span{display:none}.sync-action-group .sync-pill{white-space:normal;max-width:132px;font-size:.75rem;line-height:1.2}.account-profile-button,.account-settings-button,.account-logout-button{display:none!important}.mobile-task-index{z-index:55;inset-block-end:0;inset-inline:auto;width:100vw;max-width:100%;border-block-start:3px solid var(--folio-tennis);background:var(--folio-court-dark);grid-template-columns:repeat(5,minmax(0,1fr));padding-block-end:env(safe-area-inset-bottom);display:grid;position:fixed;left:0}.mobile-task-index .nav-button{color:#ffffffb3;text-align:center;background:0 0;border-inline-end:1px solid #ffffff24;grid-template-columns:1fr;justify-items:center;gap:1px;min-height:54px;padding:4px 2px 3px}.mobile-task-index .nav-button:last-child{border-inline-end:0}.mobile-task-index .nav-button:hover{color:#fff;background:#ffffff14}.mobile-task-index .nav-button:focus-visible{outline-color:var(--folio-tennis);outline-offset:-4px}.mobile-task-index .nav-button.active{background:var(--folio-tennis);color:var(--folio-court-dark)}.mobile-task-index .nav-button:after{inset-block:-2px auto}.mobile-task-index .nav-button.active:after{background:var(--folio-tennis)}.mobile-task-index .nav-icon svg{width:18px;height:18px}.mobile-task-index .nav-icon .domain-icon-players{width:22px;height:22px}.mobile-task-index .nav-button>span:last-child{max-width:100%;font-size:.75rem;line-height:1.2}.password-setup-callout{margin:10px 8px}.matchbook-page{border:0}.matchbook-page:before{display:none}.page-score-margin{border-block-end:2px solid var(--folio-ink);display:block}.page-folio-heading{border-inline-end:0;border-block-end:1px solid var(--folio-rule);min-height:58px;padding:10px 12px}.page-folio-heading p{font-size:.72rem}.page-folio-heading h1{font-size:1rem}.score-line .metric{grid-template-columns:26px minmax(0,1fr);gap:5px;min-height:58px;padding:7px 6px}.score-line .metric-icon{width:25px;height:25px}.score-line .metric-icon svg{width:15px;height:15px}.score-line .metric strong{font-size:1rem}.score-line .metric span:not(.metric-icon){white-space:normal;font-size:.75rem;line-height:1.25;overflow:visible}.scorebook-workspace{padding:12px 12px calc(76px + env(safe-area-inset-bottom))}.panel{padding-block-end:14px}.panel-head{min-height:54px;padding:10px 8px 8px}.panel-head h2{font-size:1rem}.panel-head p{font-size:.72rem}.dashboard-page{display:block}.dashboard-page>*+*{margin-block-start:14px}.dashboard-briefing .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-briefing .command-card{border-inline-end:1px solid var(--folio-rule);border-block-end:0;grid-template-columns:34px minmax(0,1fr);gap:6px;width:100%;min-height:62px;padding:8px}.dashboard-briefing .command-card:last-child{border-inline-end:0}.dashboard-briefing .command-card>svg:first-child{width:18px;height:18px;padding:7px}.dashboard-briefing .command-card .command-card-copy>span{display:none}.roster-entry-panel .inline-form,.ledger-entry-panel .entry-form,.worksheet-panel>.entry-form,.roster-directory-panel .list-controls,.list-controls,.admin-list-controls{grid-template-columns:1fr}.mobile-entry-toggle{justify-content:center;min-height:40px;padding-inline:10px;font-size:.75rem;display:inline-flex}.mobile-entry-panel:not(.is-open) .mobile-entry-content{display:none}.mobile-entry-panel:not(.is-open){padding-block-end:0}.mobile-entry-panel:not(.is-open) .panel-head{border-block-end:0}.route-index-backdrop{background:var(--folio-paper);place-items:stretch stretch;padding:0}.route-directory{width:100%;min-height:100vh;max-height:100vh;border:0;border-block-start:7px solid var(--folio-clay);box-shadow:none;border-radius:0;padding-block-end:env(safe-area-inset-bottom)}.route-directory-head{z-index:2;padding:max(14px, env(safe-area-inset-top)) 14px 12px;background:var(--folio-court-dark);color:var(--folio-paper);border-block-end-color:#fff3;position:sticky;inset-block-start:0}.route-directory-head h2{color:#fff}.route-directory-head .route-directory-close{color:#fff;border-color:#ffffff52}.route-directory-head .route-directory-close:hover{border-color:var(--folio-tennis);color:var(--folio-tennis);background:#ffffff14}.route-directory-head .route-directory-close:focus-visible{outline-color:var(--folio-tennis)}.route-directory-grid{grid-template-columns:1fr;padding:6px 14px 18px}.route-directory-entry{grid-template-columns:40px minmax(0,1fr);min-height:60px;border-inline-end:0!important}.route-directory-footer{padding:12px 14px max(12px, env(safe-area-inset-bottom));background:var(--folio-paper);position:sticky;inset-block-end:0}.route-directory-logout{justify-content:center;width:100%}.data-table-wrap{overflow:visible}.data-table,.data-table tbody{display:block}.data-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.data-table tr{border-block:2px solid var(--folio-ink);background:var(--folio-paper-cool);grid-template-columns:repeat(2,minmax(0,1fr));margin-block-end:10px;display:grid}.data-table td,.data-table tbody tr:nth-child(2n) td{border-block-end:1px solid var(--folio-rule);overflow-wrap:anywhere;background:0 0;gap:4px;min-width:0;padding:8px;display:grid}.data-table td:before{color:var(--folio-muted);content:attr(data-label);font-size:.75rem;font-weight:900}.data-table td:last-child{border-block-end:0;grid-column:1/-1}.roster-table .data-table tr{border-block:0;border-block-end:1px solid var(--folio-rule);background:0 0;grid-template-columns:repeat(3,minmax(0,1fr));margin-block-end:0;padding:4px 0}.roster-table .data-table td,.roster-table .data-table tbody tr:nth-child(2n) td{border:0;width:auto;height:auto;padding:4px 6px}.roster-table .data-table td:first-child,.roster-table .data-table td:nth-child(2),.roster-table .data-table td:last-child{width:auto}.roster-table .data-table td:before{font-size:.65rem}.roster-table tbody td:nth-child(2):before,.roster-table tbody td:last-child:before{display:none}.roster-table tbody td:first-child{grid-area:1/1/auto/3;width:auto;padding-inline-start:32px;font-size:.92rem}.roster-table tbody td:first-child>.fit-name-button{align-self:start;min-height:38px}.roster-table tbody td:nth-child(2){grid-area:1/3;justify-items:end;width:auto}.roster-table tbody td:nth-child(3),.roster-table tbody td:nth-child(4),.roster-table tbody td:nth-child(5){grid-row:2;gap:1px;padding-block:2px;font-size:.76rem}.roster-table tbody td:nth-child(3){grid-column:1}.roster-table tbody td:nth-child(4){grid-column:2}.roster-table tbody td:nth-child(5){grid-column:3}.roster-table tbody td:last-child{border-block-start:1px solid var(--folio-rule);grid-area:3/1/auto/-1;width:auto;padding:3px 6px 0}.roster-actions,.record-actions{gap:4px;width:100%;display:flex}.roster-actions{justify-content:flex-end}.roster-actions button,.record-actions button{width:38px;min-height:38px;color:var(--folio-muted);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:0;padding:0;display:inline-flex}.roster-actions .roster-primary-action,.roster-actions .roster-edit-action{border-color:var(--folio-rule);color:var(--folio-court-dark)}.roster-actions .roster-delete-action,.record-actions button:last-child{color:var(--folio-muted);border-color:#0000}.court-entry-panel .ledger-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 0}.court-entry-panel .ledger-form>:first-child,.court-entry-panel .ledger-form>:nth-child(4),.court-entry-panel .ledger-form .form-actions{grid-column:1/-1}.court-entry-panel .ledger-form .form-actions{justify-content:flex-end;display:flex}.court-ledger-table .data-table tr{border-block:0;border-block-end:1px solid var(--folio-rule);background:0 0;grid-template-columns:minmax(0,1fr) auto;margin-block-end:0;padding:5px 0}.court-ledger-table .data-table td,.court-ledger-table .data-table tbody tr:nth-child(2n) td{border:0;width:auto;padding:4px 6px}.court-ledger-table .data-table td:first-child,.court-ledger-table .data-table td:nth-child(2),.court-ledger-table .data-table td:nth-child(3),.court-ledger-table .data-table td:nth-child(4),.court-ledger-table .data-table td:last-child{width:auto}.court-ledger-table .data-table td:first-child{grid-area:1/1;font-size:.84rem;font-weight:900}.court-ledger-table .data-table td:nth-child(2){text-align:start;grid-area:2/1;justify-content:start}.court-ledger-table .data-table td:nth-child(3){grid-area:1/2;justify-items:end;font-size:.92rem;font-weight:900}.court-ledger-table .data-table td:nth-child(4){grid-area:2/2;justify-items:end}.court-ledger-table .data-table td:first-child:before,.court-ledger-table .data-table td:nth-child(3):before,.court-ledger-table .data-table td:nth-child(4):before,.court-ledger-table .data-table td:last-child:before{display:none}.court-ledger-table .data-table td:nth-child(5){color:var(--folio-muted);grid-area:3/1;padding-block:4px}.court-ledger-table .data-table td:last-child{border-block-start:0;grid-area:3/2;align-self:end;justify-items:end;padding-block:4px}.court-ledger-table .record-actions{justify-content:flex-end}.mobile-action-label{display:none}.inline-edit .mobile-action-label{display:inline}.day-row{padding:10px}.day-row-grid,.day-workflow-header{grid-template-columns:1fr}.day-workflow-header{gap:12px;padding:0 0 12px}.day-workflow-title{gap:2px}.day-workflow-title h1{font-size:1.35rem}.day-workflow-title>span{display:none}.day-summary-strip{min-width:0}.day-summary-strip>span{padding:6px 8px}.day-summary-strip strong{font-size:1rem}.day-date-section{gap:8px}.day-date-anchor{gap:8px;padding:8px 10px}.day-date-control-wrap{grid-template-columns:24px minmax(0,1fr);gap:8px}.day-step-mark{width:22px;height:22px}.day-date-section .date-control{grid-template-columns:1fr;gap:5px;min-width:0}.day-date-section .date-picker{grid-template-columns:56px minmax(86px,1fr) 76px}.day-date-error{grid-column:1}.day-header-save,.day-date-anchor>.day-save-state{display:none}.day-session-toolbar{flex-direction:column;align-items:stretch;gap:9px;padding:12px 0 8px}.add-session-control{grid-template-columns:minmax(0,1fr) auto}.add-session-control .primary-button{padding-inline:11px}.session-mobile-summary{grid-template-rows:auto auto auto;grid-template-columns:26px minmax(0,1fr) auto;gap:2px 8px;min-height:88px;padding:8px 4px}.session-number-mark{grid-row:1/4;align-self:center;width:24px;height:24px}.session-summary-player{grid-area:1/2}.session-summary-player>span,.session-summary-cell>span:first-child{display:none}.session-summary-player strong{font-size:.9rem}.session-summary-time{grid-area:2/2;display:grid}.session-summary-time strong{color:var(--folio-ink-soft);font-size:.76rem}.session-summary-coach{min-width:0;color:var(--folio-muted);grid-area:3/2/auto/4;font-size:.68rem;display:block}.session-summary-coach strong{color:var(--folio-muted);font-size:.68rem;font-weight:700;display:inline}.session-summary-coach small{margin-inline-start:5px;display:inline}.session-summary-court{grid-area:2/3;justify-items:end;display:grid}.session-summary-court strong{border-inline-start:3px solid;padding-inline-start:7px;font-size:.7rem}.session-summary-court small{display:none}.session-invalid-mark,.session-expand-action{grid-area:1/3;justify-self:end}.session-expand-action>span{display:none}.day-session-entry.is-expanded{margin-block:7px}.day-session-entry.is-expanded .session-editor-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px;padding:12px 10px 14px}.session-player-field,.session-title-field,.session-quota-fields{grid-column:1/-1}.session-row-actions{position:absolute;inset-block-end:14px;inset-inline-end:10px}.session-title-field{padding-inline-end:48px}.session-quota-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.session-quota-details{grid-column:1/-1}.day-empty-state{grid-template-columns:34px minmax(0,1fr);min-height:104px;padding:14px 10px}.day-empty-state .primary-button{grid-column:1/-1}.day-save-dock{z-index:12;border-block-start:1px solid var(--folio-rule-strong);background:#fffffff7;margin-inline:-12px;padding:8px 12px;position:sticky;inset-block-end:calc(57px + env(safe-area-inset-bottom))}.day-save-dock .primary-button{min-width:132px}.sticky-save{margin-inline:0;padding:8px 12px;inset-block-end:calc(57px + env(safe-area-inset-bottom))}.modal-backdrop{align-items:stretch;padding:0}.modal-card{border:0;border-block-start:7px solid var(--folio-clay);width:100%;min-height:100vh;max-height:100vh;box-shadow:none;border-radius:0}.conflict-summary-grid{display:block}.conflict-version{border-inline-end:0;border-block-end:1px solid var(--folio-rule)}.scorebook-conflict-sheet{flex-direction:column;gap:10px;padding:12px;display:flex;overflow:hidden}.scorebook-conflict-sheet .conflict-head{grid-template-columns:minmax(0,1fr) 42px;align-items:start;display:grid}.scorebook-conflict-sheet .dialog-close{width:42px;min-height:42px;padding:0}.scorebook-conflict-sheet .conflict-head h2{font-size:1.2rem;line-height:1.4}.scorebook-conflict-sheet .conflict-list{min-height:0;max-height:none;padding-inline-end:0}.scorebook-conflict-sheet .conflict-item{gap:10px;padding:10px 0}.scorebook-conflict-sheet .conflict-actions{grid-template-columns:1fr}.scorebook-conflict-sheet .conflict-actions>div{border-block-end:1px solid var(--folio-rule);padding-block-end:7px}.scorebook-conflict-sheet .conflict-actions>div:last-child{border-block-end:0;padding-block-end:0}.scorebook-conflict-sheet .conflict-item-head code{overflow-wrap:anywhere;white-space:normal;max-width:100%;display:block}.account-device-summary{grid-template-columns:1fr;gap:12px;padding:12px 8px}.account-device-mark{width:44px;height:44px}.account-detail-grid{grid-template-columns:1fr}.account-detail-grid>div:nth-child(odd){border-inline-end:0}.account-detail-grid .account-features{grid-column:auto}.settings-grid{grid-template-columns:1fr;padding:10px 8px}.scorebook-admin{padding:0}.admin-register-masthead{min-height:68px;padding:max(6px, env(safe-area-inset-top)) 8px 6px;background:var(--folio-paper)}.admin-register-brand img{width:64px;height:44px}.admin-register-brand small{display:none}.admin-register-actions{gap:4px}.admin-register-actions button{min-height:40px;padding-inline:8px;font-size:.75rem}.admin-section-index{z-index:25;border-block-start:4px solid var(--folio-clay);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;position:sticky;inset-block-start:0}.admin-nav-button{border-block-end:1px solid var(--folio-rule);grid-template-columns:auto minmax(0,1fr);min-height:54px;font-size:.75rem}.admin-content{padding:0 8px 24px}.admin-topbar{margin:10px 0;padding:12px}.admin-score-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-score-strip .ledger-card{border-block-end:1px solid var(--folio-rule);min-height:68px;padding:9px 11px}.admin-score-strip strong{font-size:1.18rem}.admin-license-form{gap:9px}.admin-license-form .form-actions{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);display:grid}.admin-license-form .form-actions button,.admin-license-form .form-actions .primary-button{width:100%;min-width:0}.bootstrap-state{padding:22px 20px}.bootstrap-state-actions{width:100%}.bootstrap-state-actions button{flex:140px}.admin-dashboard-digests{grid-template-columns:1fr;gap:14px}}@media (width<=430px){.matchbook-brand img{width:52px}.brand-context strong{max-width:11ch}.sync-action-group .sync-pill{max-width:104px;padding-inline:6px;font-size:.68rem}.scorebook-workspace{padding-inline:12px}.roster-ledger .ledger-card{grid-template-columns:minmax(0,1fr);gap:4px}.roster-ledger .ledger-numbers{min-width:0}.data-table tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.roster-table .data-table tr{grid-template-columns:repeat(3,minmax(0,1fr))}.court-ledger-table .data-table tr{grid-template-columns:minmax(0,1fr) auto}.panel-head{align-items:start}.panel-head>:last-child:not(:first-child){max-width:100%}.admin-score-strip{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.day-workflow-header{grid-template-columns:1fr;padding-block-end:14px}.day-date-anchor-sentinel{pointer-events:none;width:1px;height:1px;margin-block-end:-1px;display:block}.day-date-anchor{z-index:18;border-color:var(--folio-rule-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;grid-template-columns:minmax(0,1fr) auto auto;min-height:58px;transition:border-color .18s,box-shadow .18s,background-color .18s;position:sticky;top:0;box-shadow:0 4px 14px #143a2d14}.day-date-anchor.is-pinned{border-color:var(--folio-court);background:#eef7f2fc;box-shadow:0 10px 26px #143a2d33}.day-selected-date{min-width:0;color:var(--folio-court-dark);justify-self:start;gap:1px;line-height:1.2;display:grid}.day-selected-date>span{color:var(--folio-muted);font-size:.68rem;font-weight:850}.day-selected-date>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;font-weight:950;overflow:hidden}.day-date-anchor.is-pinned .day-selected-date{background:var(--folio-court-dark);color:#fff;border-radius:10px;min-width:min(230px,100%);padding:7px 14px;box-shadow:inset 0 0 0 1px #ffffff24}.day-date-anchor.is-pinned .day-selected-date>span{color:var(--folio-tennis)}.day-date-control-wrap{grid-template-columns:auto minmax(290px,390px) auto;gap:8px}.day-date-step{border:1px solid var(--folio-rule-strong);border-radius:var(--folio-radius-control);background:var(--folio-paper);min-height:40px;color:var(--folio-court-dark);white-space:nowrap;justify-content:center;align-items:center;gap:5px;padding:7px 10px;font-size:.72rem;font-weight:850;display:inline-flex}.day-date-step:hover{border-color:var(--folio-court);background:var(--folio-court-wash)}.day-date-step:focus-visible{outline:3px solid var(--folio-tennis);outline-offset:2px}.day-date-error{grid-column:1/-1}.day-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.day-view-control{align-items:center;gap:8px;display:inline-flex}.day-view-label{color:var(--folio-muted);white-space:nowrap;font-size:.7rem;font-weight:800}.day-view-switch{background:var(--folio-paper-cool);border-radius:999px;grid-template-columns:repeat(2,minmax(78px,auto));width:fit-content;padding:3px;display:inline-grid}.day-view-switch button{min-height:44px;color:var(--folio-muted);background:0 0;border:0;border-radius:999px;padding:8px 14px;font-size:.76rem;font-weight:850}.day-view-switch button.active{background:var(--folio-court-dark);color:var(--folio-tennis);box-shadow:0 3px 8px #143a2d2e}.day-view-switch button,.court-paid-segmented button{min-height:44px}.day-add-session{min-height:44px;color:var(--folio-court-dark)}.session-mobile-summary{grid-template-columns:minmax(180px,1.5fr) minmax(170px,.8fr) minmax(130px,.7fr) 72px}.day-session-entry.is-expanded .session-editor-body{grid-template-columns:minmax(210px,1.35fr) minmax(135px,.7fr) minmax(150px,.9fr) minmax(120px,.65fr) minmax(150px,.8fr) minmax(190px,1fr) 44px}.session-paid-field{border:0;margin:0;padding:0}.session-paid-field legend{color:var(--folio-ink-soft);padding:0;font-size:.7rem;font-weight:850}.court-paid-segmented{border:1px solid var(--folio-rule-strong);background:var(--folio-paper-cool);border-radius:999px;grid-template-columns:repeat(2,minmax(76px,auto));max-width:210px;padding:3px;display:inline-grid}.court-paid-segmented button{min-height:44px;color:var(--folio-muted);background:0 0;border:0;border-radius:999px;padding-inline:12px;font-size:.76rem;font-weight:850;position:relative}.court-paid-segmented button.active{background:var(--folio-court-dark);color:var(--folio-tennis);padding-inline-start:25px;box-shadow:0 3px 8px #143a2d2e}.court-paid-segmented button.active:before{inset-inline-start:10px;content:"";background:currentColor;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;transform:translateY(-50%)}.court-paid-segmented button:focus-visible{outline:3px solid var(--folio-tennis);outline-offset:2px}.day-timeline-layout{gap:18px;padding:12px 4px 20px;display:grid}.day-schedule-matrix{gap:14px;display:grid}.schedule-period{border:1px solid var(--folio-rule-strong);background:var(--folio-paper);border-radius:12px;min-width:0;overflow:hidden;box-shadow:0 8px 20px #143a2d12}.schedule-period-header{border-block-end:1px solid var(--folio-rule);background:var(--folio-paper-cool);min-height:32px;color:var(--folio-ink-soft);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding-inline:12px;font-size:.72rem;display:grid}.schedule-period-header span{background:var(--folio-rule-strong);height:1px}.schedule-period-grid{isolation:isolate;grid-template-columns:repeat(12,minmax(0,1fr));min-height:106px;display:grid;position:relative}.schedule-slot{grid-column:var(--schedule-column);border:0;border-inline-end:1px dashed var(--folio-rule);min-width:0;min-height:106px;color:var(--folio-muted);background:0 0;grid-row:1;padding:9px 2px;font-size:.66rem;font-weight:800}.schedule-slot.is-hour{border-inline-start:2px solid var(--folio-rule-strong);background:linear-gradient(90deg,var(--folio-paper-cool),transparent 55%);color:var(--folio-ink-soft)}.schedule-slot:first-child{border-inline-start:0}.schedule-slot:not(:disabled):hover{background:var(--folio-tennis-wash);color:var(--folio-court-dark)}.schedule-slot:focus-visible{z-index:5;outline:3px solid var(--folio-tennis);outline-offset:-3px;position:relative}.schedule-slot-time{display:block}.schedule-slot-add{opacity:0;border:1px solid;border-radius:50%;place-items:center;width:22px;height:22px;margin:12px auto 0;font-size:1rem;line-height:1;transition:opacity .16s,transform .16s;display:grid}.schedule-slot:not(:disabled):hover .schedule-slot-add,.schedule-slot:focus-visible .schedule-slot-add{opacity:1;transform:translateY(-2px)}.schedule-session{z-index:2;grid-column:var(--schedule-column) / span var(--schedule-span);border:1px solid var(--folio-court);border-inline-start:5px solid var(--folio-court-dark);background:linear-gradient(135deg,var(--folio-court-wash),#fff);min-width:0;color:var(--folio-ink);text-align:start;border-radius:9px;grid-row:1;align-self:stretch;margin:7px 4px;padding:7px 9px;overflow:hidden;box-shadow:0 5px 14px #143a2d29}.schedule-session>strong,.schedule-session>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.schedule-session>strong{font-size:.7rem}.schedule-session>span{margin-top:3px;font-size:.78rem;font-weight:900}.schedule-session-meta{min-width:0;color:var(--folio-muted);white-space:nowrap;align-items:center;gap:4px;margin-top:4px;font-size:.58rem;font-weight:800;display:flex;overflow:hidden}.schedule-session-meta>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.schedule-session-meta>span+span:before{color:var(--folio-rule-strong);content:"·";margin-inline-end:4px}.schedule-session-meta .is-paid{color:var(--folio-court-dark)}.schedule-session-meta .is-unpaid{color:var(--folio-warning)}.schedule-session.continues-before{border-inline-start-style:dashed;border-start-start-radius:2px;border-end-start-radius:2px}.schedule-session.continues-after{border-inline-end:3px dashed var(--folio-court-dark);border-start-end-radius:2px;border-end-end-radius:2px}.schedule-session.is-selected{outline:3px solid var(--folio-tennis);outline-offset:-3px}.schedule-session:focus-visible{outline:3px solid var(--folio-court-dark);outline-offset:2px}.schedule-session-mobile{display:none}.unscheduled-sessions{border:1px solid var(--folio-rule);background:var(--folio-paper-cool);padding:14px}.unscheduled-sessions h3,.unscheduled-sessions p{margin:0}.unscheduled-sessions p{color:var(--folio-muted);font-size:.75rem}.unscheduled-sessions>div{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.unscheduled-sessions button{border:1px solid var(--folio-rule-strong);background:var(--folio-paper);min-height:44px;color:var(--folio-ink);padding-inline:12px}.day-session-dialog-backdrop{z-index:80;padding:24px}.day-session-confirm-backdrop{z-index:100}.day-session-dialog{border-radius:16px;grid-template-rows:auto minmax(0,auto) auto;width:min(780px,100vw - 48px);min-height:0;max-height:min(720px,100dvh - 48px);padding:0;display:grid;overflow:hidden}.day-session-dialog-header{z-index:6;border-block-end:1px solid var(--folio-rule);background:#fffffffa;justify-content:space-between;align-items:center;min-height:56px;padding:6px 14px;display:flex}.day-session-dialog-header h2{margin:0;font-size:1rem}.day-session-dialog-header button{background:var(--folio-paper-cool);width:44px;min-height:44px;color:var(--folio-ink);border:0;border-radius:50%;place-items:center;display:grid}.day-session-dialog-body{overscroll-behavior:contain;min-height:0;overflow:auto}.day-session-dialog-body>.day-session-entry{border-radius:12px;margin:12px}.day-session-dialog .session-mobile-summary,.day-session-dialog .session-desktop-index{display:none}.day-session-dialog .day-session-entry.is-expanded .session-editor-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.day-session-dialog .session-player-field,.day-session-dialog .session-quota-fields{grid-column:1/-1}.day-session-dialog-actions{z-index:6;min-height:64px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-block-start:1px solid var(--folio-rule);background:#fffffffa;justify-content:space-between;align-items:center;gap:10px;display:flex}.day-session-dialog-actions>div{justify-content:flex-end;align-items:center;gap:8px;margin-inline-start:auto;display:flex}.day-session-dialog-actions button{min-height:44px}.day-session-dialog-delete{border:1px solid var(--folio-danger);border-radius:var(--folio-radius-mark);min-height:44px;color:var(--folio-danger);background:0 0;align-items:center;gap:7px;padding:8px 12px;font-weight:850;display:inline-flex}.session-interval-summary{border:1px solid var(--folio-rule-strong);background:var(--folio-tennis-wash);min-height:64px;color:var(--folio-ink-soft);border-radius:10px;align-content:center;gap:5px;padding:10px 12px;display:grid}.session-interval-summary>span{font-size:.72rem;font-weight:800}.session-interval-summary strong{color:var(--folio-court-dark);align-items:center;gap:7px;font-size:.95rem;display:flex}.session-interval-summary bdi{direction:ltr;unicode-bidi:isolate}.day-session-dialog .session-time-field select,.day-session-dialog .session-hours-field select{min-height:44px}@media (width<=900px){.day-schedule-matrix{gap:12px}.schedule-period-grid{grid-template-rows:repeat(2,104px);grid-template-columns:repeat(6,minmax(0,1fr))}.schedule-slot{grid-column:var(--mobile-column);grid-row:var(--mobile-row);min-height:104px;font-size:.62rem}.schedule-slot.is-second-track{border-block-start:1px solid var(--folio-rule-strong)}.schedule-slot-add{opacity:.65}.schedule-session-desktop{display:none}.schedule-session-mobile{grid-column:var(--mobile-column) / span var(--schedule-span);grid-row:var(--mobile-row);align-content:center;gap:2px;padding:5px 7px;display:grid}.schedule-session-mobile>span{text-overflow:clip;white-space:normal;margin-top:0;line-height:1.15;overflow:visible}.schedule-session-mobile .schedule-session-meta{white-space:normal;flex-wrap:wrap;align-items:center;gap:2px 6px;margin-top:1px;font-size:.54rem;line-height:1.15;display:flex;overflow:visible}.schedule-session-mobile .schedule-session-meta>span{text-overflow:clip;white-space:nowrap;flex:0 auto;max-width:100%;overflow:visible}.schedule-session-mobile .schedule-session-meta>span+span:before{margin-inline-end:5px}}@media (width<=820px){.day-date-anchor{top:calc(52px + env(safe-area-inset-top));grid-template-columns:minmax(0,1fr);min-height:56px;padding-block:6px}.day-date-anchor .day-selected-date{background:var(--folio-court-dark);color:#fff;border-radius:9px;width:100%;min-width:0;max-width:100%;padding:6px 10px}.day-date-anchor .day-selected-date>span{color:var(--folio-tennis)}.day-date-control-wrap{grid-template-columns:44px minmax(0,1fr) 44px}.day-date-step{width:44px;min-height:44px;padding:0}.day-date-step span{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.day-toolbar-actions{flex-direction:row;justify-content:space-between;align-items:center}.day-view-control{flex-wrap:wrap}.day-view-switch{width:fit-content;max-width:100%}.session-mobile-summary{grid-template-columns:minmax(0,1fr) minmax(130px,.6fr) 56px}.session-summary-court{display:none}.day-session-entry.is-expanded .session-editor-body{grid-template-columns:1fr}.day-session-dialog-backdrop{padding:max(12px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom));align-items:center}.day-session-dialog{width:min(520px,100vw - 20px);max-height:min(680px,calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));border-radius:16px}.day-session-dialog-header{min-height:52px;padding:4px 10px}.day-session-dialog-body>.day-session-entry{margin:7px}.day-session-dialog .day-session-entry.is-expanded .session-editor-body{grid-template-columns:1fr;gap:9px;padding:9px}.day-session-dialog .session-field{gap:3px}.day-session-dialog .session-interval-summary{min-height:52px;padding:7px 10px}.day-session-dialog-actions{min-height:60px;padding:7px 9px calc(7px + env(safe-area-inset-bottom))}}@media (width<=430px){.day-toolbar-actions{flex-direction:column;align-items:flex-start}.day-view-control{justify-content:space-between;width:100%}.schedule-session-mobile{margin-inline:2px;padding-inline:5px}.schedule-session-mobile>strong{font-size:.64rem}.schedule-session-mobile>span{font-size:.7rem}.schedule-session-mobile .schedule-session-meta{gap:1px 4px;font-size:.5rem}.schedule-session-mobile .schedule-session-meta>span+span:before{margin-inline-end:3px}.day-session-dialog-actions{align-items:stretch}.day-session-dialog-actions>div,.day-session-dialog-actions>div>button{flex:1}}
