@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap";:root{color:#10233d;font-synthesis:none;background:#f3f6f9;font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}.login-page{grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-brand{color:#fff;background:radial-gradient(circle at 80% 20%,#1c4f85 0,#0000 30%),linear-gradient(145deg,#06182d,#0b3157 70%,#0e4873);flex-direction:column;justify-content:center;padding:7vw;display:flex;position:relative;overflow:hidden}.login-brand:after{content:"23";color:#fff;opacity:.025;font:800 32vw/1 Barlow Condensed;position:absolute;bottom:-11vw;right:-3vw}.crest{clip-path:polygon(50% 0,95% 17%,88% 78%,50% 100%,12% 78%,5% 17%);color:#0a2440;letter-spacing:-4px;background:#f6bd16;justify-content:center;align-items:center;width:90px;height:108px;font:800 48px Barlow Condensed;display:flex}.crest span{letter-spacing:-1px;margin-top:29px;font-size:20px}.crest.small{letter-spacing:-2px;flex:none;width:48px;height:57px;font-size:27px}.crest.small span{margin-top:16px;font-size:11px}.login-brand>p:first-of-type{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:700}.login-brand h1{text-transform:uppercase;margin:45px 0 25px;font:800 clamp(52px,6vw,90px)/.93 Barlow Condensed}.login-brand h1 em{color:#f6bd16;font-style:normal}.lead{color:#c8d7e7;max-width:520px;font-size:18px;line-height:1.7}.brand-stat{color:#9db5ca;align-items:center;gap:12px;margin-top:60px;font-size:13px;display:flex}.brand-stat svg{color:#f6bd16;font-size:20px}.login-panel{background:#fff;justify-content:center;align-items:center;padding:40px;display:flex}.login-panel form{width:min(400px,100%)}.mobile-logo{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#1770a8;font-size:11px;font-weight:800}.login-panel h2,.modal h2{text-transform:uppercase;margin:8px 0;font:800 44px Barlow Condensed}.muted{color:#708096;line-height:1.6}.login-panel label,.modal label{gap:8px;margin:24px 0 0;font-size:13px;font-weight:700;display:grid}.login-panel input,.modal input,.modal textarea{border:1px solid #d7e0e8;border-radius:7px;outline:none;padding:14px 15px}.login-panel input:focus,.modal input:focus{border-color:#1474ad;box-shadow:0 0 0 3px #1474ad18}.primary{color:#10233d;cursor:pointer;background:#f3b915;border:0;border-radius:7px;padding:15px 22px;font-weight:800;box-shadow:0 8px 20px #f3b91535}.login-panel .primary{width:100%;margin-top:28px}.demo{color:#1770a8;cursor:pointer;background:0 0;border:0;width:100%;padding:17px;font-weight:700}.login-panel a{text-align:center;color:#708096;margin-top:18px;font-size:12px;text-decoration:none;display:block}.error{color:#b63030;background:#fff0f0;border-radius:6px;padding:10px;font-size:13px}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}aside{color:#fff;background:#071d35;flex-direction:column;width:250px;padding:28px 18px;display:flex;position:fixed;inset:0 auto 0 0}.side-brand{align-items:center;gap:13px;padding:0 8px;display:flex}.side-brand strong{text-transform:uppercase;font:700 21px Barlow Condensed}.side-brand small,.profile small{color:#8da4ba;margin-top:4px;font-size:11px;display:block}nav{gap:7px;margin-top:55px;display:grid}nav button{color:#aab9c8;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:13px;padding:13px 15px;display:flex}nav button.active{color:#f6bd16;background:#ffffff10;border-left:3px solid #f6bd16;font-weight:700}.profile{border-top:1px solid #ffffff18;grid-template-columns:38px 1fr 30px;align-items:center;gap:10px;margin-top:auto;padding:22px 4px 0;display:grid}.avatar{color:#f6bd16;background:#164970;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.profile strong{font-size:12px}.profile button{color:#8da4ba;cursor:pointer;background:0 0;border:0}.dashboard{grid-column:2;width:100%;max-width:1450px;margin:auto;padding:48px clamp(25px,5vw,75px)}.dashboard header{justify-content:space-between;align-items:center;display:flex}.dashboard h1{text-transform:uppercase;margin:4px 0;font:800 clamp(36px,5vw,56px) Barlow Condensed}.compact{align-self:center}.player-switch{color:#718196;flex-wrap:wrap;align-items:center;gap:9px;margin:30px 0;font-size:12px;display:flex}.player-switch button{cursor:pointer;background:#fff;border:1px solid #d7e0e8;border-radius:30px;padding:9px 14px}.player-switch button.active{color:#fff;background:#0b3157;border-color:#0b3157}.summary{grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0;display:grid}.summary>div{color:#607086;background:#fff;border:1px solid #e3e9ee;border-radius:9px;align-items:center;gap:16px;padding:20px;display:flex}.summary svg{color:#1770a8;font-size:25px}.summary strong{color:#122a43;font:800 27px Barlow Condensed;display:block}.calendar-head{justify-content:space-between;align-items:end;margin-top:44px;display:flex}.calendar-head h2{text-transform:uppercase;margin:0;font:700 30px Barlow Condensed}.calendar-head p{color:#718196;margin:4px 0;font-size:13px}.month-nav{background:#fff;border:1px solid #e1e7ec;border-radius:7px;align-items:center;gap:13px;padding:7px;font-size:12px;display:flex}.month-nav button{cursor:pointer;background:#f0f4f7;border:0;padding:7px;display:grid}.training-list{gap:13px;margin-top:18px;display:grid}.training-card{background:#fff;border:1px solid #e1e7ec;border-radius:9px;grid-template-columns:72px 1fr auto;gap:20px;padding:20px;display:grid;box-shadow:0 4px 16px #19375008}.date-tile{color:#fff;text-align:center;background:#082744;border-radius:7px;place-content:center;height:72px;display:grid}.date-tile strong{font:800 31px/1 Barlow Condensed}.date-tile span{text-transform:uppercase;color:#f6bd16;font-size:10px;font-weight:700}.tag{color:#116792;text-transform:uppercase;letter-spacing:.08em;background:#e8f3fa;border-radius:3px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-block}.training-main h3{text-transform:uppercase;margin:8px 0;font:700 23px Barlow Condensed}.meta{color:#63758a;gap:22px;font-size:12px;display:flex}.meta span{align-items:center;gap:6px;display:flex}.coach{color:#76869a;font-size:11px}.counts{color:#6a7b8e;flex-direction:column;justify-content:center;gap:9px;font-size:10px;display:flex}.counts span:before{content:"";border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.yes-dot:before{background:#25a46b}.no-dot:before{background:#dc5961}.attendance{color:#617388;border-top:1px solid #edf0f3;justify-content:space-between;align-items:center;margin-top:13px;padding-top:12px;font-size:11px;display:flex}.attendance div{gap:6px;display:flex}.attendance button{cursor:pointer;background:#fff;border:1px solid #dce4e9;border-radius:5px;align-items:center;gap:5px;padding:6px 10px;display:flex}.attendance .yes:hover,.attendance .yes.active{color:#168354;background:#e9f8f0;border-color:#25a46b}.attendance .no:hover,.attendance .no.active{color:#bb3f48;background:#fff0f1;border-color:#dc5961}.empty{text-align:center;color:#75869a;background:#fff;border:1px dashed #cad4dc;border-radius:9px;padding:50px}.modal-backdrop{z-index:10;background:#06182dc7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:min(620px,100%);max-height:95vh;padding:35px;position:relative;overflow:auto}.modal .close{cursor:pointer;background:#edf2f5;border:0;border-radius:50%;padding:9px;display:grid;position:absolute;top:20px;right:20px}.modal .row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.modal textarea{resize:vertical;min-height:80px}.modal .primary{margin-top:25px}.splash{background:#071d35;place-items:center;min-height:100vh;display:grid}@media (width<=850px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh}.mobile-logo{text-transform:uppercase;align-items:center;gap:13px;margin-bottom:50px;font:700 20px Barlow Condensed;display:flex}.app-shell{display:block}aside{flex-direction:row;align-items:center;width:auto;height:76px;padding:10px 18px;position:static}.side-brand small,aside nav{display:none}.profile{border:0;margin:0 0 0 auto;padding:0}.profile>div:not(.avatar){display:none}.dashboard{padding:28px 16px}.summary{grid-template-columns:1fr}.training-card{grid-template-columns:55px 1fr;gap:13px;padding:14px}.date-tile{height:58px}.counts{display:none}.meta{flex-direction:column;gap:7px}.attendance{flex-direction:column;align-items:flex-start;gap:10px}.calendar-head{flex-direction:column;align-items:flex-start;gap:15px}.month-nav{justify-content:space-between;width:100%}.modal .row{grid-template-columns:1fr}}.modal select,.admin-box input,.admin-box select{background:#fff;border:1px solid #d7e0e8;border-radius:7px;outline:none;min-width:0;padding:14px 15px}.modal select:focus,.admin-box input:focus,.admin-box select:focus{border-color:#1474ad;box-shadow:0 0 0 3px #1474ad18}.primary:disabled{opacity:.5;cursor:not-allowed}.admin-columns{grid-template-columns:1fr 1fr;gap:22px;margin-top:35px;display:grid}.admin-box{background:#fff;border:1px solid #e0e7ec;border-radius:10px;padding:27px}.admin-box h2{text-transform:uppercase;margin:5px 0;font:700 28px Barlow Condensed}.admin-box label{gap:7px;margin:17px 0;font-size:12px;font-weight:700;display:grid}.admin-box>.primary{margin:5px 0 20px}.form-row{grid-template-columns:1fr 1fr;gap:13px;display:grid}.compact-admin .admin-box{padding-block:22px}.data-section{background:#fff;border:1px solid #e0e7ec;border-radius:10px;margin-top:25px;padding:27px}.data-section h2{text-transform:uppercase;margin:5px 0 20px;font:700 28px Barlow Condensed}.data-grid{grid-template-columns:1fr 1fr;gap:25px;display:grid}.data-list h3{text-transform:uppercase;border-bottom:1px solid #e7edf1;padding-bottom:10px;font:700 19px Barlow Condensed}.data-list>div{border-bottom:1px solid #eef2f5;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:10px 0;display:grid}.data-list small{color:#718196;grid-column:2;margin-top:3px}.role-badge{text-transform:uppercase;color:#116792;background:#e8f3fa;border-radius:3px;padding:4px 6px;font-size:8px;font-weight:800}.role-badge.admin{color:#8a6500;background:#fff1c4}.role-badge.trainer{color:#177848;background:#e7f7ee}.mini-list{border-top:1px solid #e6ebef;margin-top:10px}.mini-list>div{border-bottom:1px solid #eef2f5;justify-content:space-between;padding:12px 2px;font-size:12px;display:flex}.mini-list span{color:#718196}.admin-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:35px;display:grid}.manage-card{background:#fff;border:1px solid #e1e7ec;border-radius:9px;align-items:center;gap:15px;padding:20px;display:flex}.manage-card h3{text-transform:uppercase;margin:0 0 4px;font:700 21px Barlow Condensed}.manage-card p{color:#718196;margin:0;font-size:12px}.manage-icon{color:#116792;background:#e8f3fa;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}@media (width<=850px){.admin-columns,.admin-grid,.data-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:0}aside{flex-wrap:wrap;height:auto;min-height:76px}aside nav{order:3;width:100%;margin:8px 0 0;display:flex;overflow:auto}.side-brand small{display:none}aside nav button{white-space:nowrap;padding:8px}}.mobile-menu-button,.mobile-menu-close,.menu-overlay{display:none}.danger-section{border-left:4px solid #d94d57}.delete-list{border-top:1px solid #e7edf1;margin-top:20px}.delete-list>div{border-bottom:1px solid #edf1f4;justify-content:space-between;align-items:center;gap:18px;padding:13px 0;display:flex}.delete-list strong,.delete-list small{display:block}.delete-list small{color:#718196;margin-top:4px}.delete-list button{color:#b52f39;cursor:pointer;background:#fff5f5;border:1px solid #efc7ca;border-radius:6px;align-items:center;gap:7px;padding:9px 12px;font-size:11px;font-weight:700;display:flex}.delete-list button:hover{color:#fff;background:#b52f39;border-color:#b52f39}.delete-list button:disabled{opacity:.4;cursor:not-allowed}.delete-list button:disabled:hover{color:#b52f39;background:#fff5f5;border-color:#efc7ca}@media (width<=850px){.app-shell{padding-top:66px;display:block}.mobile-menu-button{z-index:8;color:#f6bd16;cursor:pointer;background:#0b3157;border:0;border-radius:8px;place-items:center;width:42px;height:42px;font-size:22px;display:grid;position:fixed;top:14px;left:16px;box-shadow:0 5px 18px #071d3540}.menu-overlay{z-index:18;cursor:pointer;background:#06182db8;border:0;display:block;position:fixed;inset:0}aside,aside.menu-open{z-index:20;flex-flow:column;align-items:stretch;width:min(290px,84vw);height:100vh;min-height:100vh;padding:26px 18px;transition:transform .25s;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:12px 0 35px #04101f66}aside.menu-open{transform:translate(0)}.mobile-menu-close{color:#fff;cursor:pointer;background:#ffffff12;border:0;border-radius:50%;place-items:center;width:36px;height:36px;font-size:20px;display:grid;position:absolute;top:13px;right:13px}.side-brand{padding-right:38px}.side-brand small{display:block}aside nav{order:initial;width:auto;margin-top:48px;display:grid;overflow:visible}aside nav button{white-space:normal;padding:13px 15px}.profile{border-top:1px solid #ffffff18;grid-template-columns:38px 1fr 30px;margin-top:auto;padding-top:20px;display:grid}.profile>div:not(.avatar){display:block}.dashboard{padding-top:22px}.training-card{grid-template-columns:55px 1fr}.counts{flex-direction:row;grid-column:2;justify-content:flex-start;gap:16px;padding-top:3px;display:flex}.delete-list>div{align-items:flex-start}.delete-list button{flex:none;font-size:0}.delete-list button svg{font-size:16px}}html,body,#root{max-width:100%;overflow-x:hidden}.club-logo{object-fit:contain;width:92px;height:118px;display:block}.club-logo.small{width:48px;height:58px}.crest.small{clip-path:none;color:#0000;background:url(/herb.png) 50%/contain no-repeat}.crest.small span{display:none}.staff-actions{gap:7px;margin-top:11px;display:flex}.staff-actions button{color:#24506f;cursor:pointer;background:#f7f9fb;border:1px solid #d8e1e8;border-radius:5px;padding:7px 10px;font-size:10px;font-weight:700}.cancelled{opacity:.7;background:#f4f4f4}.cancelled-label{color:#b52f39;text-transform:uppercase;background:#ffe5e7;border-radius:3px;margin-left:7px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-block}.check-line{flex-direction:row;align-items:center;grid-template-columns:none!important;gap:9px!important;display:flex!important}.check-line input{width:17px;height:17px}.repeat-box{background:#f4f7f9;border-radius:8px;margin-top:13px;padding:16px}.repeat-box>span{font-size:11px;font-weight:700}.weekday-picker{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.weekday-picker button{cursor:pointer;background:#fff;border:1px solid #d6e0e7;border-radius:5px;width:38px;height:34px;font-size:10px;font-weight:700}.weekday-picker button.active{color:#f6bd16;background:#0b3157;border-color:#0b3157}.modal-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.modal-actions .primary{margin:0}.danger-button{color:#b52f39;cursor:pointer;background:#fff1f2;border:1px solid #e5aeb2;border-radius:7px;padding:14px 18px;font-weight:700}.text-danger{color:#b52f39;cursor:pointer;background:0 0;border:0;font-size:11px;text-decoration:underline}.roster-modal{width:min(760px,100%)}.roster-summary{flex-wrap:wrap;gap:9px;margin:20px 0;display:flex}.roster-summary span{background:#eef2f5;border-radius:20px;padding:7px 11px;font-size:10px;font-weight:700}.roster-summary .present{color:#177848;background:#e7f7ee}.roster-summary .absent{color:#b52f39;background:#fff0f1}.roster-list{display:grid}.roster-list>div{border-bottom:1px solid #e8edf1;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;display:flex}.roster-list strong,.roster-list small{display:block}.roster-list small{color:#b52f39;margin-top:4px}.roster-list>div>div:last-child{gap:5px;display:flex}.roster-list button{cursor:pointer;background:#fff;border:1px solid #d9e2e8;border-radius:5px;padding:7px 9px;font-size:10px}.roster-list button.active.present{color:#177848;background:#e7f7ee;border-color:#8dceb0}.roster-list button.active.absent{color:#b52f39;background:#fff0f1;border-color:#e5aeb2}@media (width<=850px){body{width:100%;position:relative}.dashboard,.training-card,.training-main,.app-shell{min-width:0;max-width:100%}.dashboard header{flex-direction:column;align-items:flex-start;gap:12px}.dashboard h1{overflow-wrap:anywhere}.summary>div{min-width:0}.training-card,.training-main{overflow:hidden}.meta span{overflow-wrap:anywhere}.staff-actions{flex-wrap:wrap}.modal-backdrop{padding:10px}.modal{width:100%;padding:28px 18px}.roster-list>div{flex-direction:column;align-items:flex-start}.roster-list>div>div:last-child{flex-wrap:wrap;width:100%}.roster-list button{flex:1}.weekday-picker{gap:4px}.weekday-picker button{width:35px}.club-logo.small{width:43px;height:52px}}
