@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('dm-sans.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('manrope.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.club-color-filter{position:absolute}
:root{--ink:#172536;--muted:#758493;--line:#e7e9ec;--paper:#fff;--ground:#f5f8fc;--green:#0759a5;--mint:#e5f0fc;--blue:#417b99;--amber:#bb7b31;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font:14px var(--font)}button,input,select{font:inherit}button{cursor:pointer}.sidebar{width:236px;background:#fff;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:27px 18px 14px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:11px;margin:0 0 34px 4px;color:var(--ink);text-decoration:none}.brand-mark{width:39px;height:39px;border-radius:12px;background:#0759a5;color:white;display:grid;place-items:center;font:800 21px var(--display);box-shadow:0 5px 12px #0759a525}.brand b{display:block;font:800 17px var(--display);letter-spacing:-.7px}.brand small{display:block;font-size:8px;letter-spacing:1.6px;color:#8b97a3;margin-top:2px}.club-switch{border:1px solid var(--line);border-radius:9px;padding:11px 10px;display:flex;align-items:center;gap:9px;font-weight:600;font-size:12px;margin-bottom:30px}.club-dot,.live-dot{width:8px;height:8px;background:#567da5;border-radius:50%}.chevron{margin-left:auto;color:#939fab}.nav-label{font-weight:700;letter-spacing:1.4px;font-size:9px;color:#9ba6b1;margin:0 10px 10px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:8px;text-decoration:none;color:#5e6b78;font-weight:600;font-size:12px;margin:3px 0}.nav-item span{font-size:16px;width:18px;text-align:center}.nav-item.active{background:#e9eef3;color:#0759a5}.sidebar-bottom{margin-top:auto}.help-card{background:#f3f5f7;border:1px solid #ebedf0;border-radius:11px;padding:15px 14px;margin:0 2px 17px}.help-icon{display:grid;place-items:center;background:#dfe6ed;color:#315274;width:25px;height:25px;border-radius:7px;margin-bottom:11px}.help-card b{font:700 13px/1.45 var(--display)}.help-card p{font-size:10px;line-height:1.55;color:var(--muted);margin:6px 0 0}.profile{border-top:1px solid var(--line);padding:14px 2px 0;display:flex;gap:9px;align-items:center}.avatar{background:#dee4eb;color:#325273;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font-size:10px;font-weight:700}.profile b,.profile small{display:block;font-size:10px}.profile small{color:var(--muted);margin-top:3px;font-size:9px}.dots{margin-left:auto;color:#808e9c;font-size:20px}.main{margin-left:236px;max-width:1600px;padding:0 48px 18px}.topbar{height:66px;border-bottom:1px solid #e5e7ea;display:flex;align-items:center;justify-content:space-between}.crumb{color:#8b97a3;font-size:11px}.crumb span{padding:0 8px;color:#bfc6cd}.crumb b{font-weight:600;color:#4f5964}.top-actions{display:flex;align-items:center;gap:18px}.today-label{font-size:11px;color:#6c7a89}.icon-btn{position:relative;border:0;background:none;color:#5c6976;font-size:18px}.icon-btn i{position:absolute;background:#e39b53;width:5px;height:5px;border-radius:50%;right:0;top:2px}.avatar.small{width:29px;height:29px;font-size:9px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:36px 0 24px}.eyebrow{font-weight:700;letter-spacing:1.35px;color:#526981;font-size:9px;display:flex;gap:8px;align-items:center}.live-dot{width:6px;height:6px}h1,h2,p{margin-top:0}h1{font:700 33px var(--display);letter-spacing:-1.2px;margin:10px 0 4px} .page-heading p{margin:0;color:#788695;font-size:12px}.primary{border:0;background:#274a6e;color:#fff;font-weight:600;border-radius:8px;padding:11px 16px;box-shadow:0 3px 7px #203a561a;font-size:11px}.primary:hover{background:#1f3d5d}.page-heading .primary{padding:12px 15px}.page-heading .primary span{font-size:15px;vertical-align:-1px;margin-right:5px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:23px}.stat{height:83px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;grid-template-columns:35px auto 1fr;align-items:center;gap:11px}.stat-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:16px}.green{background:#e7edf3;color:#365575}.blue{background:#e9f1f5;color:#4d7c94}.amber{background:#f8efe1;color:#ad7836}.stat small{color:#788695;font-size:10px;display:block;margin-bottom:4px}.stat b{font:700 15px var(--display);letter-spacing:-.3px}.stat-foot{justify-self:end;align-self:end;padding-bottom:3px;color:#9ba5b0;font-size:8px;font-weight:700;letter-spacing:.8px}.planner,.panel{background:#fff;border:1px solid var(--line);border-radius:11px}.planner{padding:20px 20px 15px}.planner-head,.panel-heading{display:flex;align-items:center;justify-content:space-between}.planner-head h2,.panel-heading h2{font:700 16px var(--display);margin:0 0 3px;letter-spacing:-.3px}.planner-head p,.panel-heading p{color:#8996a3;font-size:10px;margin:0}.week-controls{display:flex;align-items:center;gap:5px}.round{border:1px solid var(--line);background:white;border-radius:6px;width:27px;height:27px;color:#6b7a89;font-size:17px;line-height:1}.week-label{border:0;background:transparent;color:#353d45;font-weight:700;font-size:10px;min-width:170px}.today-btn{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 9px;color:#515c67;font-size:9px;margin-left:5px}.filters{display:flex;justify-content:space-between;align-items:center;margin:17px 0 11px}.filter-group{display:flex;gap:3px}.filter{border:0;background:transparent;border-radius:6px;padding:7px 10px;color:#6e7d8c;font-size:10px}.filter.active{background:#e8edf2;color:#28496c;font-weight:700}.filter span{color:#8d99a5;margin-left:4px}.field-select{border:1px solid var(--line);padding:6px 9px;border-radius:6px;font-size:10px;color:#6e7d8c}.field-select select{border:0;background:none;color:#4e5964;outline:0;font-size:10px}.calendar-wrap{overflow:auto}.calendar{min-width:710px;display:grid;grid-template-columns:55px repeat(7,minmax(88px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.day-head{height:46px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 5px;text-align:center;color:#8b97a4;font-size:9px;line-height:1.45}.day-head b{display:block;font-size:11px;color:#464f59}.day-head.today b{color:#244b73}.time-cell{height:76px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;place-items:start center;padding-top:7px;font-size:9px;color:#99a4af}.day-cell{height:76px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px;position:relative}.day-cell.today{background:#fafcff}.event{width:100%;border-radius:5px;padding:5px 5px 4px;margin:1px 0 3px;font-size:8px;line-height:1.3;cursor:pointer;overflow:hidden}.event b{font-size:9px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event small{display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event.training{background:#eaeff4;color:#395573;border-left:2px solid #6281a2}.event.game{background:#fff1e4;color:#9c6329;border-left:2px solid #e1a75d}.legend{display:flex;align-items:center;gap:18px;padding:12px 1px 0;color:#6e7d8d;font-size:9px}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:#6484a5}.legend-dot.game{background:#dfa15a}.legend-note{margin-left:auto;color:#9ca6b1}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.panel{padding:17px 18px;min-height:190px}.panel-heading{margin-bottom:14px}.text-button{background:none;border:0;color:#345578;font-weight:600;font-size:10px;padding:5px}.field-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.field-card{background:#f6f7f8;border-radius:7px;padding:10px 11px}.field-card strong{font-size:10px;display:block}.field-card small{font-size:9px;color:#8a96a3;display:block;margin-top:4px}.field-status{float:right;color:#576d83;font-size:8px}.source-pill{background:#f3f4f5;border-radius:12px;padding:5px 8px;font-size:8px;letter-spacing:.5px;color:#748392}.source-pill span{color:#355577}.import-box{display:flex;gap:11px;padding:11px;background:#f7f8fa;border:1px dashed #dce0e5;border-radius:8px}.import-icon{width:29px;height:29px;flex:none;border-radius:8px;background:#e7ecf1;color:#436180;display:grid;place-items:center}.import-box b{font-size:10px}.import-box p{margin:4px 0 2px;color:#83909d;font-size:9px;line-height:1.5}.matches{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.match-chip{font-size:9px;color:#91602d;background:#fff4e7;border-radius:5px;padding:6px 8px}footer{margin-top:15px;color:#8996a3;font-size:9px}footer span{padding:0 4px;color:#b5bcc4}.footer-right{float:right}.dialog-copy{font-size:12px;line-height:1.6;color:#6c7b8a;margin:2px 0 16px}dialog{border:0;border-radius:13px;width:min(460px,calc(100% - 28px));padding:22px;box-shadow:0 18px 55px #151f2935;color:var(--ink)}dialog::backdrop{background:#141c25cc;backdrop-filter:blur(2px)}dialog form{display:flex;flex-direction:column;gap:12px}.dialog-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.dialog-top h2{font:700 21px var(--display);margin:7px 0 0}.close{border:0;background:#f1f2f4;border-radius:50%;width:29px;height:29px;font-size:20px;color:#5f6b78}.dialog-top .eyebrow{font-size:8px}dialog label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:600;color:#606d7a}dialog input,dialog select{width:100%;border:1px solid #e0e3e7;border-radius:6px;padding:10px;background:#fff;color:#373f47;font-size:11px;outline-color:#768da5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:7px}.secondary,.link-button{border:1px solid #e1e4e7;border-radius:7px;background:#fff;color:#5e6b78;padding:10px 13px;font-size:10px;text-decoration:none}.link-button{margin-right:auto}.field-row{display:flex;justify-content:space-between;align-items:center;padding:9px;border:1px solid var(--line);border-radius:6px;font-size:10px;margin-bottom:6px}.field-row button{border:0;background:transparent;color:#bc6758}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:#1d2732;color:white;border-radius:8px;padding:11px 16px;font-size:11px;opacity:0;transition:.2s;pointer-events:none;z-index:9}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.main{padding:0 28px 18px}.stat-foot{display:none}.stat{grid-template-columns:35px auto}.bottom-grid{grid-template-columns:1fr}.sidebar{width:210px}.main{margin-left:210px}}@media(max-width:700px){.sidebar{width:56px;padding:17px 7px}.brand{margin:0 auto 28px}.brand>span:last-child,.club-switch span:not(.club-dot),.nav-label,.nav-item:not(.active),.nav-item.active{font-size:0}.club-switch{justify-content:center;padding:11px 0}.club-switch .chevron{display:none}.nav-item{justify-content:center;padding:11px 0}.nav-item.active{font-size:0}.nav-item span{font-size:17px}.help-card,.profile span:not(.avatar){display:none}.profile{justify-content:center}.main{margin-left:56px;padding:0 15px 16px}.topbar{height:55px}.today-label{display:none}.page-heading{margin:26px 0 19px;align-items:flex-start;gap:13px}h1{font-size:25px}.page-heading p{max-width:260px;line-height:1.5}.page-heading .primary{white-space:nowrap;padding:10px;font-size:9px}.summary{gap:7px}.stat{height:auto;min-height:77px;padding:10px 8px;display:flex;flex-wrap:wrap;gap:7px}.stat-icon{width:28px;height:28px;font-size:13px}.stat small{font-size:8px}.stat b{font-size:11px}.planner{padding:14px 12px 12px}.planner-head{align-items:flex-start;gap:8px}.planner-head h2{font-size:14px}.week-controls{gap:1px}.week-label{min-width:105px;font-size:9px}.today-btn{padding:6px}.filters{align-items:flex-start;gap:7px;flex-direction:column}.filter-group{width:100%;justify-content:space-between}.filter{font-size:9px;padding:7px 6px}.field-select{align-self:flex-end}.legend{gap:10px;font-size:8px}.legend-note{display:none}.panel{padding:14px}.panel-heading h2{font-size:14px}.text-button{font-size:9px}.field-cards{grid-template-columns:1fr 1fr}.footer-right{display:none}}
.login-screen{position:fixed;inset:0;background:#f1f3f6;z-index:10;display:grid;place-items:center;padding:20px}.login-screen.hidden{display:none}.login-card{width:min(390px,100%);background:#fff;border:1px solid var(--line);border-radius:15px;padding:31px;box-shadow:0 15px 50px #16283b12;display:flex;flex-direction:column;gap:12px}.login-card>.brand-mark{display:grid;margin-bottom:3px}.login-card h1{font-size:26px;margin:2px 0 0}.login-card p{font-size:12px;color:#7c8a98;margin:0 0 5px}.login-card label{font-size:10px;font-weight:600;color:#5f6c79;display:grid;gap:6px}.login-card input{border:1px solid #e0e3e7;border-radius:7px;padding:11px;font-size:12px}.login-card .primary{margin-top:5px}.login-card #loginError{min-height:14px;color:#a44336;font-size:10px}.heading-actions{display:flex;gap:8px;align-items:center}.heading-actions .secondary{padding:11px 13px;font-weight:600}.profile b{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-pill{text-decoration:none}.hidden{display:none!important}

.teams-panel{margin-top:18px}.team-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.team-card{display:grid;gap:8px;padding:16px;border:1px solid var(--line,#e3e6e9);border-radius:12px;background:#fff}.team-card span{color:#6c7a89;font-size:12px}.team-card strong{font-size:15px}
dialog#fieldsDialog{max-height:92vh;overflow-y:auto}dialog#userDialog{width:min(760px,calc(100% - 28px));max-height:92vh;overflow-y:auto}.users-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.users-toolbar h3,dialog h3{margin:10px 0;font:700 14px var(--display);color:var(--ink)}.users-list{display:grid;gap:7px;max-height:270px;overflow:auto;padding:2px}.user-row{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.user-row-main{display:grid;gap:3px;min-width:0;flex:1}.user-row-main b{font-size:11px}.user-row-main span,.user-row-main small{color:#6c7a89;font-size:10px;overflow-wrap:anywhere}.user-status{border-radius:99px;padding:4px 8px;font-size:9px}.user-status.active{background:#e7edf3;color:#365575}.user-status.inactive{background:#f3e8e6;color:#9d5149}.user-row-actions{display:flex;gap:5px;flex-wrap:wrap}.user-row-actions .secondary{padding:6px 8px;font-size:9px}.empty-users{margin:8px 0;color:var(--muted);font-size:11px}.user-teams{border:1px solid var(--line);border-radius:8px;padding:9px 12px}.user-teams legend{font-size:10px;font-weight:700;padding:0 4px;color:#606d7a}.team-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.team-option{display:flex;align-items:center;gap:7px;padding:6px;border-radius:5px;background:#f6f7f8;font-size:10px;color:#505a65}.team-option input{width:auto;margin:0}.photo-preview{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px}.field-row-copy{flex:1;min-width:0}.field-row .secondary{padding:6px 9px;font-size:9px}dialog hr{width:100%;border:0;border-top:1px solid var(--line);margin:8px 0}dialog button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:600px){.user-row{align-items:flex-start;flex-wrap:wrap}.user-row-actions{width:100%;justify-content:flex-end}.user-status{margin-left:auto}.team-options{grid-template-columns:1fr}}
.day-head{min-height:62px}.day-head small{display:block;margin-top:4px;font-size:9px;line-height:1.2;white-space:normal}.day-head.holiday-day{background:#fff0eb;color:#a9442d}.day-head.vacation-day{box-shadow:inset 0 -3px #e7c45c}.day-head.holiday-day.vacation-day{background:#fff5d9}.calendar-key{font-size:11px;padding:4px 8px;border-radius:6px;background:#fff0eb;color:#a9442d}.vacation-key{background:#fff5d9;color:#755d11}.field-photo{width:100%;height:120px;object-fit:cover;border-radius:9px;margin-bottom:6px}.field-thumb{width:72px;height:54px;object-fit:cover;border-radius:6px}.field-row{display:flex;align-items:center;gap:12px}.repeat-fields{border:1px solid #e3e6e9;border-radius:10px;padding:12px;margin:12px 0}.repeat-fields legend{font-size:13px;font-weight:700;padding:0 5px}.repeat-fields small{color:#6c7a89}@media(max-width:700px){.day-head small{font-size:8px;max-height:2.4em;overflow:hidden}.calendar-key{font-size:10px}}
:root{--team-color:#0759a5;--field-color:#4877b8}
.event.training,.event.game{background:color-mix(in srgb,var(--team-color) 13%,white);color:color-mix(in srgb,var(--team-color) 75%,#172536);border-left:3px solid var(--team-color)}
.team-color-dot,.field-color-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--team-color);margin-right:4px;vertical-align:1px}
.field-color-dot{background:var(--field-color)}
.field-color-label{display:inline-block;padding:1px 3px;border-radius:3px;background:color-mix(in srgb,var(--field-color) 15%,white);color:color-mix(in srgb,var(--field-color) 75%,#172536)}
.event.sunset-warning{outline:1px solid #ce8a28;outline-offset:-1px}
.event.closure-event{background:#fbe8e6;color:#923d38;border-left:3px solid #bd4d43;cursor:default}
.sun-times{display:block!important;font-size:8px!important;color:#83909e!important;white-space:nowrap}
.day-head{height:58px}
.field-actions{display:flex;align-items:center;gap:8px}
.lights-toggle{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important;gap:8px!important}
.lights-toggle input{width:auto}
.request-inbox-button{padding:7px 10px!important;font-size:10px!important}
.conflict-causes{margin:0;padding:0 0 0 18px;color:#7b4838;font-size:12px;line-height:1.6}
.conflict-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.conflict-actions button{font-size:10px}
.conflict-actions button:last-child{grid-column:1/-1}
.closures-list,.booking-requests-list{display:grid;gap:8px;max-height:260px;overflow:auto}
.closure-row,.booking-request{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:11px}
.closure-row small,.booking-request span,.booking-request small{display:block;color:var(--muted);margin-top:4px;font-size:10px}
.booking-request{display:grid;justify-content:stretch}
.booking-request button{margin:7px 5px 0 0}
.empty-users{color:var(--muted);font-size:12px}
@media(max-width:700px){.conflict-actions{grid-template-columns:1fr}.conflict-actions button:last-child{grid-column:auto}.field-actions{gap:0;flex-direction:column;align-items:flex-end}.sun-times{font-size:6px!important}}
.day-cell{height:92px;overflow:hidden}.time-cell{height:92px}.slot-overflow{display:block;width:100%;border:0;border-radius:4px;background:#eef0f2;color:#39536e;padding:4px 3px;font-size:8px;font-weight:700;text-align:center}.slot-overflow:hover{background:#dce2e9}.slot-events-list{display:grid;gap:8px;max-height:55vh;overflow:auto}.slot-event-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);border-left:3px solid var(--team-color,#6c7c8c);border-radius:7px;background:#fff;font-size:11px}.slot-event-row>span{min-width:0}.slot-event-row b{display:block}.slot-event-row small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.slot-event-row .secondary{flex:none;padding:7px 9px;font-size:9px}.slot-event-row.closure-row{border-left-color:#bd4d43;background:#fff8f7}.event.external-venue{border-left-style:dashed;opacity:.83}.event.external-venue .field-color-label{background:#eef0f1;color:#68737a}
dialog#slotEventsDialog{width:min(620px,calc(100% - 28px));max-height:90vh;overflow-y:auto}
@media(max-width:700px){.day-cell,.time-cell{height:92px}.slot-event-row{align-items:flex-start;flex-wrap:wrap}.slot-event-row .secondary{margin-left:auto}}
.club-switch{min-height:44px;cursor:pointer}.club-switch select{appearance:none;min-width:0;flex:1;border:0;background:transparent;color:var(--ink);font-size:12px;font-weight:600;outline:0;cursor:pointer}.club-switch:focus-within{outline:2px solid #768da5;outline-offset:2px}.security-button{padding:7px 10px;font-size:10px}.mfa-secret{display:block;padding:10px;border-radius:6px;background:#f1f3f5;color:#1d3d5e;letter-spacing:1.5px;overflow-wrap:anywhere;font-size:13px;user-select:all}.recovery-codes{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0;padding-left:24px}.recovery-codes code{font-size:12px;font-weight:700;letter-spacing:.5px}.form-error{color:#a94437;font-size:11px;min-height:1em}.login-card label[hidden],section[hidden]{display:none!important}.nav-item{min-height:44px}
@media(max-width:700px){
 .sidebar{inset:auto 0 0;width:100%;height:68px;padding:5px 8px calc(5px + env(safe-area-inset-bottom));flex-direction:row;align-items:stretch;justify-content:center;border-right:0;border-top:1px solid var(--line);box-shadow:0 -4px 18px #161e270c}
 .brand,.club-switch,.nav-label,.sidebar-bottom{display:none}
 .sidebar nav{display:flex;flex:1;max-width:520px;gap:5px;align-items:stretch}
 .nav-item,.nav-item.active{flex:1;min-width:0;margin:0;padding:5px 2px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;line-height:1.15;white-space:nowrap;border-radius:7px}
 .nav-item span{width:auto;font-size:17px;line-height:1.2}
 .main{margin-left:0;padding:0 12px calc(84px + env(safe-area-inset-bottom))}
 .topbar{height:54px;gap:8px}.crumb{font-size:9px}.crumb span{padding:0 3px}.top-actions{gap:7px}.top-actions .avatar{display:none}.request-inbox-button{font-size:9px;padding:7px}.security-button{font-size:9px;padding:7px}.icon-btn{font-size:20px;padding:8px}
 .page-heading{margin:22px 0 17px}.page-heading .heading-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.page-heading .heading-actions button{font-size:9px;padding:9px 8px}
 .calendar-wrap{overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.calendar{min-width:710px}.filter-group{overflow-x:auto;justify-content:flex-start}.filter{min-height:40px;white-space:nowrap}
 button,.secondary,.primary,.text-button,.round,.today-btn{touch-action:manipulation}
 dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:16px;border-radius:12px}dialog#userDialog,dialog#fieldsDialog,dialog#closuresDialog,dialog#slotEventsDialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}dialog label{font-size:12px}dialog input,dialog select{min-height:44px;font-size:16px}.dialog-actions{flex-wrap:wrap}.dialog-actions button{min-height:42px}
 .summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.stat{min-width:0;padding:8px 6px;gap:5px}.stat b{font-size:10px;overflow-wrap:anywhere}.stat small{font-size:7px}
}
@media(max-width:420px){.crumb{display:none}.topbar{justify-content:flex-end}.page-heading{gap:8px}h1{font-size:22px}.page-heading p{font-size:10px}.request-inbox-button{max-width:84px}.recovery-codes{grid-template-columns:1fr}.form-row{gap:7px}}
.calendar-filters{display:flex;flex-wrap:wrap;gap:9px;align-items:flex-end;margin:12px 0}.calendar-search{display:grid;gap:5px;flex:1;min-width:200px;color:#606d7b;font-size:10px}.calendar-search input{width:100%;border:1px solid var(--line);border-radius:7px;padding:10px;font:inherit;font-size:12px}.multi-filter{position:relative;font-size:11px}.multi-filter summary{cursor:pointer;border:1px solid var(--line);padding:11px;border-radius:7px;min-width:145px;color:#43505d}.multi-filter-panel{position:absolute;top:100%;left:0;z-index:5;background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px #171f2720;border-radius:8px;min-width:245px;max-width:310px;max-height:300px;overflow:auto;padding:9px}.multi-filter-panel label{display:flex;gap:8px;align-items:center;padding:8px 5px;min-height:40px;cursor:pointer}.multi-filter-panel input{width:18px;height:18px;accent-color:var(--green);flex:none}.calendar-result{font-size:10px;color:#707f8e;margin:6px 0 10px}.month-calendar{grid-template-columns:repeat(7,minmax(90px,1fr));min-width:700px}.month-weekday{padding:10px;text-align:center;background:#f4f6f8;font-weight:700;color:#5e6a77;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px}.month-day{min-height:140px;padding:6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.month-day.today{background:#f1f5fa}.month-day.outside-month{background:#f3f4f6;color:#83909d}.month-date{display:grid;gap:4px;font-size:11px;padding:2px 2px 6px}.month-date small{font-size:8px;color:#758493}.month-markers{display:block;background:#fff4d6;color:#806a2c;padding:4px;font-size:8px;margin-bottom:4px}.month-event{display:block;width:100%;text-align:left;border:0;border-left:3px solid var(--team-color);border-radius:5px;background:#edf1f5;color:#2f4051;margin:4px 0;padding:7px 5px;font:inherit;font-size:9px;overflow-wrap:anywhere;min-height:44px}.month-event.game{background:#fff2e5}.month-event b,.month-event small{display:block}.month-event small{margin-top:4px;font-size:8px}.month-closure{padding:5px;background:#fff0ee;color:#b24f43;border-radius:4px;font-size:8px;margin:4px 0;overflow-wrap:anywhere}.dots{border:0;background:transparent;cursor:pointer;min-width:36px;min-height:36px}.account-actions{display:grid;gap:10px}.account-actions button{text-align:left;min-height:44px}.mobile-account-button{display:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #365a80;outline-offset:2px}
@media(max-width:700px){.calendar-filters{display:grid;grid-template-columns:1fr 1fr;gap:7px}.calendar-search{grid-column:1/-1;min-width:0}.calendar-search input{font-size:16px;min-height:44px}.multi-filter{min-width:0}.multi-filter summary{min-width:0;min-height:44px;font-size:10px}.multi-filter-panel{min-width:220px;max-width:calc(100vw - 42px)}.multi-filter:nth-of-type(2) .multi-filter-panel{left:auto;right:0}.calendar-filters>.text-button{grid-column:1/-1;min-height:36px;text-align:right}.login-screen{overflow-y:auto}.login-card{padding:22px}.login-card input{font-size:16px;min-height:44px}.top-actions{gap:4px}.security-button{display:none}.mobile-account-button{display:block;padding:9px;font-size:10px;min-height:44px}.month-calendar{min-width:644px}.round,.today-btn{min-width:36px;min-height:36px}.planner-head{flex-wrap:wrap}.week-controls{margin-left:auto}.toast{bottom:82px;width:max-content;max-width:calc(100vw - 24px);white-space:normal}.profile{display:none}}
@media(max-width:700px){.sidebar .nav-item,.sidebar .nav-item:not(.active),.sidebar .nav-item.active{font-size:10px}.day-cell,.time-cell{height:128px}.event{min-height:40px;padding-top:7px}.slot-overflow{min-height:28px;font-size:9px}.slot-event-row .secondary{min-height:44px;display:flex;align-items:center}.stat>div>small{font-size:9px}.stat b{font-size:11px}.stat-icon{display:none}}
.event[data-id]{border-top:0;border-right:0;border-bottom:0;text-align:left;font-family:inherit}
.toast,.toast[popover]{margin:0;inset:auto;top:max(16px,env(safe-area-inset-top));bottom:auto;left:50%;right:auto;border:0;z-index:2147483647;max-width:calc(100vw - 24px);width:max-content;box-shadow:0 8px 24px #151f2930;white-space:normal;line-height:1.5}.toast::backdrop{background:transparent;pointer-events:none}.conflict-option{display:grid;align-content:start;gap:5px}.conflict-option button{width:100%;min-height:44px}.conflict-option .option-reason{font-size:10px;line-height:1.4;color:#677583;overflow-wrap:anywhere}.conflict-option button:disabled{opacity:.55;cursor:not-allowed}.conflict-actions .conflict-option button:last-child{grid-column:auto}.request-status{font-size:12px;font-weight:600;color:#264b71;line-height:1.5}.request-status:empty{display:none}#conflictDialog{width:min(660px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto}.request-updates{display:grid;gap:8px;background:#e8edf3;border:1px solid #b9c7d6;border-radius:8px;margin:14px 0;padding:12px;font-size:12px;line-height:1.5}.request-updates[hidden]{display:none}.request-updates .secondary{justify-self:start}

#calendarFeedsDialog{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto}.calendar-feeds-list{display:grid;gap:12px}.calendar-feed-card{display:grid;gap:5px;padding:13px;border:1px solid var(--line);border-radius:8px;font-size:12px}.calendar-feed-card span,.calendar-feed-card small{color:#647280;font-size:11px}.calendar-feed-card p{font-size:11px;margin:4px 0}.feed-actions{display:flex;flex-wrap:wrap;gap:7px}.feed-actions button{min-height:40px}.feed-sync-issue{display:grid;gap:6px;border-left:3px solid #bb7b31;padding:9px;background:#fff6e8;overflow-wrap:anywhere}.feed-sync-issue button{justify-self:start}.checkbox-line{flex-direction:row;align-items:center;gap:8px!important}.checkbox-line input{width:20px!important;min-height:20px}.calendar-feed-card .secondary:disabled{opacity:.5}#feedIssueDialog{max-height:calc(100dvh - 24px);overflow:auto}

.club-logos{display:flex;gap:12px;margin:0 0 18px;align-items:center}.club-logos img{width:76px;height:76px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}.club-logos{background:#0759a5}.club-logos img{background:white;mix-blend-mode:screen;filter:grayscale(1) invert(1)}
#bookingLightHint{background:#e5f0fc;border-radius:8px;padding:12px}#bookingLightHint.light-warning{background:#fff2d1;color:#714c0d}.appointments-scroll{overflow:auto}#myAppointments{margin:24px 0}#myAppointments table{width:100%;border-collapse:collapse;text-align:left}#myAppointments th,#myAppointments td{padding:12px;border-bottom:1px solid var(--line)}.event-menu{position:fixed;margin:0;padding:8px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 20px #0002}.resize-handle{display:block;font-size:10px;cursor:ns-resize;touch-action:none;color:var(--blue)}.drag-preview{outline:2px dashed #0759a5}.permission-option{display:flex;align-items:center;gap:8px}.permission-option input{width:auto}.dragging-event{opacity:.6}@media(max-width:600px){.club-logos img{width:58px;height:58px}#myAppointments th,#myAppointments td{padding:8px}}

.club-logos{background:transparent}.club-logos img{background:white;mix-blend-mode:normal;filter:url(#club-blue)}
.day-cell,.time-cell{height:156px}.event,.month-event{position:relative;padding-top:14px;padding-bottom:14px}.resize-handle{position:absolute;left:4px;right:4px;font-size:9px;line-height:10px;height:10px}.resize-handle[data-resize="start"]{top:2px}.resize-handle[data-resize="end"]{bottom:2px}.event-menu button{padding:10px;border:0;background:white;color:#a44336}.event-menu button:focus-visible{outline:2px solid #0759a5}

.appointment-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:16px}.appointment-toolbar label{display:grid;gap:6px}.appointment-toolbar label:first-child{flex:1;min-width:220px}.appointment-toolbar input,.appointment-toolbar select,.appointment-column-filters input{border:1px solid var(--line);border-radius:6px;padding:9px;min-width:0;width:100%}.appointment-column-filters input{font-size:11px;min-width:80px}.appointment-selection{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.appointment-selection span{flex:1}.appointment-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:14px 0}#appointmentsTable input[type=checkbox]{width:20px;height:20px;accent-color:#0759a5}#appointmentsTable .text-button{font-size:inherit}.bulk-field{margin:12px 0}.bulk-preview{white-space:pre-line;max-height:160px;overflow:auto;background:#e5f0fc;padding:12px;border-radius:8px}.mfa-qr{display:block;width:240px;height:240px;background:white;max-width:100%;margin:16px auto;image-rendering:auto}.mfa-qr[hidden]{display:none}.user-fields{border:1px solid var(--line);border-radius:8px;margin:16px 0;padding:12px}.club-logos img{image-rendering:auto;filter:none;background:transparent;width:88px;height:88px}.club-logos{align-items:center;justify-content:center}@media(max-width:600px){.appointment-toolbar{display:grid;grid-template-columns:1fr}.appointment-toolbar label:first-child{min-width:0}.appointment-selection button{flex:1}#appointmentsTable{min-width:600px}.club-logos img{width:76px;height:76px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.club-logo{--logo-diameter:80px;display:block;position:relative;width:88px;height:88px;flex:0 0 88px}.club-logo img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);object-fit:contain;max-width:none;filter:url(#club-blue);background:transparent}.club-logo .jsg-logo{width:calc(var(--logo-diameter) * 1.01868400);height:calc(var(--logo-diameter) * 1.01868400)}.club-logo .fsg-logo{width:calc(var(--logo-diameter) * 1.09328684);height:calc(var(--logo-diameter) * 1.09328684)}@media(max-width:600px){.club-logo{--logo-diameter:68px;width:76px;height:76px;flex-basis:76px}}
