:root{--ink:#271d2b;--muted:#716776;--line:#e5dfe8;--canvas:#f2eef4;--surface:#ffffff;--soft:#f8f6f9;--brand-deep:#29172f;--brand-deep-2:#3a2341;--brand:#800080;--brand-soft:#f8edf8;--brand-hover:#650065;--brand-line:#e5c5e5;--green:#1ca779;--green-dark:#137356;--green-soft:#eef9f5;--red:#df5d59;--red-soft:#fff3f3;--yellow:#9a770b;--yellow-soft:#fff8e7;--radius:18px;--shadow:0 14px 40px rgba(41,23,47,0.09)}*{box-sizing:border-box}html{color-scheme:light}body,html{background:var(--canvas)}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a,button{color:inherit}a{text-decoration:none}::selection{background:#ebceee;color:var(--brand-deep)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b776b9;outline-offset:3px}.app-shell{min-height:100svh;display:flex}.workspace{min-width:0;width:100%;min-height:100svh;background:var(--soft)}.desktop-sidebar{display:none}.brand{display:flex;align-items:center;gap:11px}.brand-mark{flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:white;box-shadow:0 0 0 1px rgba(128,0,128,.07)}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand-copy{display:flex;flex-direction:column;min-width:0}.brand-copy small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.15;font-weight:750;letter-spacing:.18em;text-transform:uppercase}.brand-copy strong,.team-display-title{font-family:var(--font-underdogs-display),Impact,"Arial Black",sans-serif;font-weight:400;font-synthesis:none;line-height:1.12;letter-spacing:.035em}.brand-copy strong{font-size:28px;white-space:nowrap}.brand-compact .brand-mark{width:42px;height:42px;flex-basis:42px}.brand-compact .brand-copy strong{font-size:26px}.brand-large{flex-direction:column;gap:15px;text-align:center}.brand-large .brand-mark{width:104px;height:104px;flex-basis:104px;box-shadow:0 0 0 1px var(--brand-line),0 8px 24px rgba(128,0,128,.06)}.brand-large .brand-copy strong{color:var(--brand-deep);font-size:48px;letter-spacing:.045em}.brand-large .brand-copy small{margin-top:7px;letter-spacing:.25em}.mobile-header{height:64px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--line)}.bottom-sheet header button,.icon-button,.reset-button,.roster-actions button{border:1px solid var(--line);background:var(--surface);border-radius:12px;display:grid;place-items:center;cursor:pointer}.icon-button{width:38px;height:38px}.mobile-menu-trigger{color:var(--brand-deep)}.mobile-menu-backdrop{position:fixed;z-index:90;inset:0;display:flex;background:rgba(25,13,30,.48);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:menu-backdrop-in .18s ease-out}.mobile-drawer{width:min(84vw,326px);min-height:100%;display:flex;flex-direction:column;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));background:var(--surface);box-shadow:18px 0 50px rgba(25,13,30,.2);animation:mobile-drawer-in .22s ease-out}.mobile-drawer>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1px 2px 17px;border-bottom:1px solid var(--line)}.mobile-drawer nav{display:flex;flex-direction:column;gap:5px;padding:14px 0}.mobile-drawer nav a{min-height:48px;display:flex;align-items:center;gap:11px;padding:0 12px;border-radius:12px;color:var(--muted);font-size:14px;font-weight:750}.mobile-drawer nav a>svg:first-child{flex:0 0 auto}.mobile-drawer nav a>svg:last-child{margin-left:auto;opacity:.42}.mobile-drawer nav a.active{color:white;background:var(--brand-deep);box-shadow:0 8px 20px rgba(41,23,47,.15)}.mobile-drawer nav a.active>svg:first-child{color:#e8a7eb}.mobile-drawer-account{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding:13px;border:1px solid var(--line);border-radius:13px;background:#faf8fb}.mobile-drawer-account>span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.mobile-drawer-account>strong{font-size:13px}.mobile-drawer-account>button{display:flex;align-items:center;gap:6px;margin-top:7px;padding:0;border:0;background:transparent;color:#a34542;font-size:11px;font-weight:800;cursor:pointer}@keyframes mobile-drawer-in{0%{transform:translateX(-28px);opacity:.7}}@keyframes menu-backdrop-in{0%{opacity:0}}.mobile-nav{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:6px;margin:8px 14px 0;background:#eee9f0;border-radius:13px}.mobile-nav-1{grid-template-columns:1fr}.mobile-nav-2{grid-template-columns:repeat(2,1fr)}.mobile-nav-3{grid-template-columns:repeat(3,1fr)}.mobile-nav-4{grid-template-columns:repeat(4,1fr)}.mobile-nav-5{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-nav-6{grid-template-columns:repeat(6,minmax(0,1fr))}.mobile-nav-5 a,.mobile-nav-6 a{padding:0 2px;font-size:10px}.mobile-nav a{height:34px;display:grid;place-items:center;border-radius:9px;color:var(--muted);font-size:13px;font-weight:750}.mobile-nav a.active{background:var(--surface);color:var(--ink);box-shadow:0 2px 7px rgba(41,23,47,.1)}.attendance-content,.roster-content{width:100%;max-width:1100px;margin:0 auto;padding:10px 14px 96px}.desktop-only{display:none!important}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:14px 0 18px}.page-heading h1{margin:3px 0 0;font-size:30px;letter-spacing:-.045em}.page-heading p{margin:6px 0 0;color:var(--muted);font-size:14px}.login-intro h1.team-display-title,.workspace .page-heading h1.team-display-title{font-size:clamp(36px,3vw,44px);font-weight:400;letter-spacing:.025em;text-transform:uppercase}.eyebrow{color:var(--brand);font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.day-navigation{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:5px;padding-bottom:10px}.day-arrow{width:34px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--muted);cursor:pointer}.event-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:2px 0}.event-strip>button{min-width:0;height:58px;display:flex;align-items:center;gap:7px;padding:6px;border:1px solid var(--line);border-radius:15px;background:var(--surface);text-align:left;cursor:pointer}.event-strip>button.selected{border-color:var(--brand);background:#fdf8fd;box-shadow:0 6px 16px rgba(128,0,128,.1)}.date-box{flex:0 0 39px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:11px;background:#f2eef4;color:#6e6474}.selected .date-box{background:var(--brand);color:white}.date-box small{font-size:8px;font-weight:850;line-height:1}.date-box strong{margin-top:3px;font-size:16px;line-height:1}.event-tab-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.event-tab-copy strong{white-space:nowrap;font-size:11px}.event-tab-copy small{color:var(--muted);font-size:9px}.event-card{margin:2px 0 10px;padding:15px 16px 14px;color:white;background:var(--brand-deep);border-radius:17px;box-shadow:var(--shadow)}.event-card-top{display:flex;align-items:center;justify-content:space-between}.event-card-top>span{display:flex;align-items:center;gap:6px;color:#e8a7eb;font-size:10px;font-weight:850;letter-spacing:.12em}.event-card-top>small{padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.1);color:#e0d6e5;font-size:10px;font-weight:750}.event-card h2{margin:7px 0 11px;font-size:18px;letter-spacing:-.025em}.event-meta{display:flex;gap:18px;color:#d6c8dc;font-size:11px}.event-meta span{display:flex;align-items:center;gap:5px}.event-card-bottom{display:flex;flex-direction:column;gap:12px}.event-type-control{display:flex;align-items:center;gap:7px}.event-type-control>span{color:#c1aec7;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.event-type-control select{min-width:132px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:var(--brand-deep-2);color:white;padding:0 9px;font-size:10px;font-weight:750}.session-actions{display:flex;align-items:center;gap:8px}.edit-session-button{height:34px;display:flex;align-items:center;gap:5px;padding:0 10px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:rgba(255,255,255,.08);color:white;font-size:10px;font-weight:750;cursor:pointer}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:13px}.status-card{min-width:0;height:60px;display:flex;flex-direction:column;justify-content:center;padding:8px 12px;border:1px solid;border-radius:14px}.status-card strong{font-size:18px;line-height:1}.status-card span{margin-top:5px;font-size:10px;font-weight:750;white-space:nowrap}.status-card.present{color:var(--green-dark);border-color:#cfe9df;background:var(--green-soft)}.status-card.greeting{color:#326d91;border-color:#cfe2ed;background:#f0f8fc}.status-card.absent{color:#a34542;border-color:#f0d6d5;background:var(--red-soft)}.status-card.unmarked{color:var(--yellow);border-color:#eee1ba;background:var(--yellow-soft)}.players-heading{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px}.players-heading h2{margin:0;font-size:17px;letter-spacing:-.025em}.players-heading h2 span{color:var(--muted);font-size:12px}.filter-toggle,.roster-tabs{display:flex;padding:4px;border-radius:11px;background:#eee9f0}.filter-toggle button,.roster-tabs button{border:0;background:transparent;cursor:pointer}.filter-toggle button{height:29px;padding:0 10px;border-radius:8px;color:var(--muted);font-size:10px;font-weight:750}.filter-toggle button.active,.roster-tabs button.active{color:var(--ink);background:var(--surface);box-shadow:0 2px 6px rgba(41,23,47,.1)}.attendance-player-filter{min-width:150px;height:38px;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.attendance-player-filter>span{color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.attendance-player-filter select{min-width:0;flex:1 1;height:30px;border:0;outline:0;background:transparent;color:var(--ink);font-size:10px;font-weight:750}.attendance-sort-row{display:flex;width:100%;margin:6px 0 0}.attendance-sort{width:100%;height:42px;min-width:0;display:grid;grid-template-columns:18px auto minmax(0,1fr);align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:#796f7f}.attendance-sort>span{font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.attendance-sort select{width:100%;min-width:0;height:32px;border:0;outline:0;background:transparent;color:var(--ink);text-align:right;font-size:11px;font-weight:750}.attendance-sort:focus-within{border-color:#b17bb4;box-shadow:0 0 0 3px rgba(41,23,47,.06)}.quick-actions,.roster-toolbar{display:flex;align-items:center;gap:7px;margin:7px 0 8px}.search-field{flex:1 1;height:40px;min-width:0;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:#85788a}.search-field:focus-within{border-color:#b17bb4;box-shadow:0 0 0 3px rgba(41,23,47,.06)}.search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px}.search-field input::placeholder{color:#897d8e}.all-present{height:40px;flex:0 0 auto;display:flex;align-items:center;gap:5px;padding:0 10px;border:1px solid #cfe6de;border-radius:12px;background:var(--green-soft);color:var(--green-dark);font-size:11px;cursor:pointer}.reset-button{flex:0 0 40px;height:40px}.player-list,.roster-list{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.attendance-row,.roster-row{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-bottom:1px solid #f2eef4}.attendance-row:last-child,.roster-row:last-child{border-bottom:0}.player-identity{min-width:0;display:flex;align-items:center;gap:10px}.player-identity>span:last-child{min-width:0;display:flex;flex-direction:column;gap:3px}.player-identity strong{font-size:13px;line-height:1.2}.player-identity small{color:var(--muted);font-size:9px}.avatar{flex:0 0 37px;width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:#f2edf5;color:#74687b;font-size:10px;font-weight:850}.avatar.has-photo{overflow:hidden;background:#e6dfea}.avatar img{width:100%;height:100%;display:block;object-fit:cover}.attendance-buttons{flex:0 0 auto;display:flex;gap:7px}.attendance-buttons button{width:39px;height:39px;border:1px solid #d9e2df;border-radius:11px;background:#f5faf8;color:var(--green-dark);font-size:13px;font-weight:850;cursor:pointer;transition:transform .12s ease,background .12s ease,color .12s ease}.attendance-buttons button:nth-child(2){display:grid;place-items:center;border-color:#cfe2ed;background:#f0f8fc;color:#326d91}.attendance-buttons button:nth-child(3){border-color:#ead9d8;background:#fff8f7;color:#b24a47}.attendance-buttons button:active{transform:scale(.94)}.attendance-buttons button.selected.present{color:white;background:var(--green);border-color:var(--green);box-shadow:0 5px 12px rgba(28,167,121,.2)}.attendance-buttons button.selected.absent{color:white;background:var(--red);border-color:var(--red);box-shadow:0 5px 12px rgba(223,93,89,.2)}.attendance-buttons button.selected.greeting{color:white;background:#4c91b9;border-color:#4c91b9;box-shadow:0 5px 12px rgba(76,145,185,.2)}.save-bar{position:fixed;z-index:20;left:0;right:0;bottom:0;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px max(14px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));border-top:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 -8px 25px rgba(41,23,47,.07);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.save-bar>div{min-width:0;display:flex;flex-direction:column;gap:3px}.save-bar small{color:var(--muted);font-size:10px;font-weight:650}.save-bar strong{white-space:nowrap;font-size:12px}.primary-button,.save-bar button{min-height:44px;border:0;border-radius:12px;background:var(--brand);color:white;padding:0 16px;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 7px 16px rgba(128,0,128,.19)}.primary-button:not(:disabled):hover{background:var(--brand-hover)}.save-bar button{min-width:132px}.save-bar button.saved,.save-bar button:disabled{background:#e7e0e9;color:#8a7d91;box-shadow:none;cursor:default}.save-bar button.saved{justify-content:center;gap:6px}.save-bar button.saved,.toast{display:flex;align-items:center}.toast{position:fixed;z-index:70;left:50%;bottom:86px;transform:translateX(-50%);gap:7px;width:max-content;max-width:calc(100vw - 28px);padding:11px 15px;border-radius:12px;background:var(--brand-deep);color:white;box-shadow:0 15px 35px rgba(41,23,47,.24);font-size:12px;font-weight:700;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.roster-content{padding-bottom:32px}.roster-content .page-heading{align-items:center;margin-top:9px}.roster-content .page-heading h1{font-size:26px}.roster-toolbar{margin-top:3px}.mobile-add{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:12px;background:var(--brand);color:white;cursor:pointer}.roster-toolbar .search-field{height:42px}.roster-tabs{margin:10px 0}.roster-tabs button{flex:1 1;min-width:0;min-height:40px;padding:5px;border-radius:9px;color:var(--muted);font-size:11px;line-height:1.3;font-weight:750}.roster-tabs button:last-child{flex:1.55 1}.roster-view-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.roster-view-controls .document-filter{flex:1 1 240px;width:auto;margin:0}.roster-staff-note{color:var(--muted);font-size:11px;line-height:1.5;margin:9px 0 13px}.role-picker.member-role-picker>div{grid-template-columns:repeat(3,minmax(0,1fr))}.role-picker.member-role-picker label{padding:0 8px;gap:4px}.staff-active-field{display:flex;align-items:center;gap:8px;margin:10px 0 16px;font-size:12px}.staff-active-field input{width:17px;height:17px;accent-color:var(--brand)}.member-qualification-badges{display:flex;flex-wrap:wrap;gap:5px;padding-left:47px}.member-qualification-badges>span{padding:4px 7px;border-radius:8px;background:var(--brand-soft);color:var(--brand);font-size:9px;font-weight:750}.member-qualification-badges>.staff-active{background:var(--green-soft);color:var(--green-dark)}.member-qualification-badges>.staff-archived{background:#f0ecf2;color:var(--muted)}.roster-tabs span{display:inline-grid;min-width:20px;height:20px;margin-left:4px;place-items:center;border-radius:999px;background:rgba(41,23,47,.07);font-size:10px}.role-filters{display:flex;gap:6px;overflow-x:auto;margin:0 -14px 10px;padding:0 14px 2px;scrollbar-width:none}.role-filters::-webkit-scrollbar{display:none}.role-filters button{flex:0 0 auto;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:750;cursor:pointer}.role-filters button.active{border-color:var(--brand-deep);background:var(--brand-deep);color:white}.document-filter{width:100%;height:42px;display:grid;grid-template-columns:18px auto minmax(0,1fr);align-items:center;gap:7px;margin-bottom:9px;padding:0 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:#796f7f}.document-filter>span{font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.document-filter select{width:100%;min-width:0;height:32px;border:0;outline:0;background:transparent;color:var(--ink);text-align:right;font-size:11px;font-weight:750}.document-filter:focus-within{border-color:#b17bb4;box-shadow:0 0 0 3px rgba(41,23,47,.06)}.roster-row{min-height:86px;align-items:flex-start;padding:10px}.roster-player-summary{min-width:0;display:flex;flex:1 1;flex-direction:column;gap:8px}.document-badges{display:flex;flex-wrap:wrap;gap:5px;padding-left:47px}.official-roster-badge{min-height:23px;display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid #e7e0ea;border-radius:999px;background:#f7f3f8;color:#7b6e83;font-size:8px;font-weight:800;line-height:1.2;cursor:pointer}.official-roster-badge.official{border-color:#e5c5e5;background:var(--brand-soft);color:#730073}span.official-roster-badge{cursor:default}.document-badge{min-width:0;min-height:23px;display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid;border-radius:999px;font-size:8px;font-weight:750;line-height:1.2}.document-badge.valid{border-color:#cce7dd;background:var(--green-soft);color:var(--green-dark)}.document-badge.date_only_expired,.document-badge.expired{border-color:#efd5d4;background:var(--red-soft);color:#a34542}.document-badge.date_only_valid{border-color:#ead9a9;background:#fff8df;color:#8b6817}.document-badge.missing{border-color:#e7e0ea;background:#f7f3f8;color:#7b6e83}.document-badge.number_mismatch,.document-badge.other_season{border-color:#ead9a9;background:#fff8df;color:#8b6817}.document-filter-group{display:grid;gap:8px;margin-bottom:12px}.document-filter-group .document-filter{width:100%;margin:0}.team-document-status{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px}.team-document-status>span:last-child:not(.document-badge){color:var(--muted);font-size:10px}.team-document-help,.team-document-warning{font-size:11px;line-height:1.5;color:var(--muted)}.team-document-warning{padding:9px;border-radius:8px;background:#fff8df;color:#8b6817}.team-document-grid .document-drop:has(input:disabled){opacity:.5;cursor:default}.privacy-history{margin-top:14px;padding-top:10px;border-top:1px solid var(--line);font-size:11px}.privacy-history summary{color:var(--muted);cursor:pointer}.privacy-history a{display:flex;align-items:center;gap:6px;padding-top:9px;color:var(--brand)}.privacy-history a span{overflow-wrap:anywhere}@media (min-width:700px){.document-filter-group{grid-template-columns:1fr 1fr}}.roster-actions{flex:0 0 auto;display:flex;gap:5px}.roster-actions button{width:36px;height:36px;color:#716278;cursor:pointer}.roster-actions button.restore-player{width:auto;display:flex;grid:none;align-items:center;gap:5px;padding:0 9px;border-color:#cee7de;color:var(--green-dark);background:var(--green-soft);font-size:10px;font-weight:750}.roster-actions .danger-icon{color:var(--red);border-color:#f0d5d4;background:var(--red-soft)}.empty-state{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:25px;color:var(--muted);text-align:center}.empty-state strong{color:var(--ink);font-size:14px}.empty-state span{max-width:280px;font-size:12px;line-height:1.45}.danger-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 15px;border-radius:12px;font-size:12px;font-weight:800;cursor:pointer}.secondary-button{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.danger-button{border:0;background:var(--red);color:white}.danger-button:disabled{opacity:.45;cursor:not-allowed}.modal-backdrop{position:fixed;z-index:50;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:0;background:rgba(25,13,30,.46);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.bottom-sheet{width:100%;max-height:92svh;display:flex;flex-direction:column;border-radius:24px 24px 0 0;background:var(--surface);box-shadow:0 -18px 50px rgba(25,13,30,.2);animation:sheet-in .22s ease-out}@keyframes sheet-in{0%{transform:translateY(30px);opacity:.6}}.sheet-handle{width:40px;height:4px;margin:8px auto 2px;border-radius:99px;background:#dfd6e4}.bottom-sheet header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.bottom-sheet header small{color:var(--brand);font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.bottom-sheet h2{margin:3px 0 0;font-size:20px;letter-spacing:-.03em}.bottom-sheet header button{width:38px;height:38px}.sheet-body{overflow-y:auto;padding:17px 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label{min-width:0;display:flex;flex-direction:column;gap:6px}.form-grid label:nth-child(-n+2){grid-column:1/-1}.confirm-dialog label>span,.form-grid label>span{font-size:11px;font-weight:750}.form-grid label>span em{color:var(--muted);font-size:9px;font-style:normal;font-weight:600}.confirm-dialog input,.form-grid input,.form-grid select{width:100%;height:47px;border:1px solid var(--line);border-radius:12px;outline:0;background:var(--surface);color:var(--ink);padding:0 12px;font-size:14px}.confirm-dialog input:focus,.form-grid input:focus,.form-grid select:focus{border-color:#b17bb4;box-shadow:0 0 0 3px rgba(41,23,47,.07)}.history-note{display:flex;gap:10px;margin-top:17px;padding:12px;border-radius:13px;background:#f6f1f8;color:var(--green-dark)}.history-note span{display:flex;flex-direction:column;gap:3px}.history-note strong{font-size:11px}.history-note small{color:var(--muted);font-size:10px;line-height:1.4}.form-error{color:#b4403c;font-size:11px}.bottom-sheet footer{display:grid;grid-template-columns:.8fr 1.3fr;gap:8px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.bottom-sheet footer button{min-height:46px}.photo-field{display:flex;align-items:center;gap:10px;margin-bottom:17px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#faf7fb}.profile-photo{flex-basis:54px;width:54px;height:54px;color:#807286}.photo-field>span:nth-child(2){min-width:0;display:flex;flex:1 1;flex-direction:column;gap:3px}.photo-field strong{font-size:12px}.photo-field small{color:var(--muted);font-size:9px}.photo-field .secondary-button{min-height:36px;padding:0 11px}.photo-field .secondary-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.photo-remove{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center;border:1px solid #efd5d4;border-radius:10px;background:var(--red-soft);color:var(--red);cursor:pointer}.role-picker{margin:15px 0 0;padding:0;border:0}.role-picker legend{width:100%;margin-bottom:8px;font-size:11px;font-weight:800}.role-picker legend small{color:var(--muted);font-weight:600}.role-picker>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.role-picker label{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:11px;background:white;color:var(--muted);font-size:11px;font-weight:750;cursor:pointer}.role-picker label input{position:absolute;opacity:0;pointer-events:none}.role-picker label svg{opacity:0}.role-picker label.selected{border-color:#b8d9ce;background:var(--green-soft);color:var(--green-dark)}.role-picker label.selected svg{opacity:1}.extra-player-details{overflow:hidden;margin-top:16px;border:1px solid var(--line);border-radius:14px;background:#faf7fb}.extra-player-details>summary{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;list-style:none}.extra-player-details>summary::-webkit-details-marker{display:none}.extra-player-details>summary>span{display:flex;flex-direction:column;gap:3px}.extra-player-details>summary strong{font-size:12px}.extra-player-details>summary small{color:var(--muted);font-size:9px}.extra-player-details>summary svg{color:var(--muted);transition:transform .18s ease}.extra-player-details[open]>summary{border-bottom:1px solid var(--line);background:white}.extra-player-details[open]>summary svg{transform:rotate(180deg)}.extra-player-body{padding:13px}.extra-player-grid label:nth-child(-n+2){grid-column:auto}.document-upload-grid{display:grid;gap:9px;margin-top:14px}.document-upload-card{min-width:0;padding:12px;border:1px solid var(--line);border-radius:13px;background:white}.document-upload-title{display:flex;align-items:center;gap:9px}.document-upload-title>span{flex:0 0 35px;width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#f5eff7;color:var(--brand-deep)}.document-upload-title>div{min-width:0;display:flex;flex-direction:column;gap:2px}.document-upload-title strong{font-size:11px}.document-upload-title small{color:var(--muted);font-size:8px}.document-drop{min-height:74px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;margin-top:11px;border:1px dashed #d9cedf;border-radius:11px;background:#fdfbfd;color:#796b80;cursor:pointer}.document-drop strong{color:var(--ink);font-size:10px}.document-drop small{font-size:8px}.document-drop input,.document-upload-actions input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.document-file-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px;padding:9px;border-radius:10px;background:var(--green-soft)}.document-file-row>span{min-width:0;display:flex;flex-direction:column;gap:2px}.document-file-row strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.document-file-row small{color:var(--green-dark);font-size:8px}.document-file-row a{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;color:var(--green-dark);font-size:9px;font-weight:800}.document-expiry{display:flex;flex-direction:column;gap:5px;margin-top:10px}.document-expiry>span{font-size:9px;font-weight:750}.document-expiry>span em{color:var(--muted);font-size:8px;font-style:normal;font-weight:600}.document-expiry input{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:white;color:var(--ink)}.document-upload-actions{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:8px}.document-upload-actions .secondary-button{min-height:38px;padding:0 9px}.document-upload-actions>button{border:1px solid #efd5d4;border-radius:10px;background:var(--red-soft);color:#a34542;padding:0 10px;font-size:9px;font-weight:800;cursor:pointer}.document-privacy-note{margin:11px 1px 0;color:var(--muted);font-size:9px;line-height:1.45}.single-column label{grid-column:1/-1!important}.password-help{margin:12px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.login-page{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;isolation:isolate;padding:30px 20px;background:radial-gradient(ellipse at 12% 8%,#f0e1f3 0,transparent 48%),radial-gradient(ellipse at 95% 100%,#e9e2ef 0,transparent 45%),#f8f6f9}.login-page:before{content:"";position:absolute;z-index:-1;width:min(74vw,750px);aspect-ratio:1;top:-33%;right:-17%;border:1px solid rgba(128,0,128,.07);border-radius:50%;box-shadow:0 0 0 70px rgba(128,0,128,.025),0 0 0 140px rgba(128,0,128,.018);pointer-events:none}.login-card{width:100%;max-width:430px;padding:34px 30px 24px;border:1px solid var(--line);border-radius:26px;background:var(--surface);box-shadow:0 24px 70px rgba(41,23,47,.09)}.login-brand{display:flex;justify-content:center;padding-bottom:25px;border-bottom:1px solid var(--line)}.login-intro{margin:25px 0 23px}.login-intro h1{margin:5px 0 6px;font-size:32px;letter-spacing:-.045em}.login-intro p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.login-card form{display:flex;flex-direction:column;gap:14px}.login-card form>label{display:flex;flex-direction:column;gap:7px}.login-card form>label>span{font-size:11px;font-weight:800}.login-card form>label>div{height:48px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--line);border-radius:12px;color:#85738d}.login-card form>label>div:focus-within{border-color:#b17bb4;box-shadow:0 0 0 3px rgba(41,23,47,.07)}.login-card input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink)}.login-card .primary-button{width:100%;margin-top:3px}.login-team-note{margin:22px 0 0;color:var(--muted);font-size:10px;text-align:center;letter-spacing:.04em}.local-login-hint{display:block;margin-top:18px;padding:10px;border-radius:10px;background:var(--yellow-soft);color:#7c651a;text-align:center;font-size:9px}.settings-content{max-width:1120px}.permission-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:22px}.permission-grid article{min-height:76px;display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.permission-grid article>svg{flex:0 0 auto;color:var(--brand)}.permission-grid article span{display:flex;flex-direction:column;gap:3px}.permission-grid strong{font-size:12px}.permission-grid small{color:var(--muted);font-size:10px;line-height:1.4}.settings-title{min-height:44px;display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.settings-title h2{margin:0;font-size:17px}.settings-title h2 span{color:var(--muted);font-size:12px}.user-list{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.user-row{min-height:76px;display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:10px;border-bottom:1px solid #f2eef4}.user-row:last-child{border-bottom:0}.user-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--brand-deep);color:white;font-size:10px;font-weight:850}.user-main{min-width:0;display:flex;flex-direction:column;gap:4px}.user-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:12px;white-space:nowrap}.user-main strong em{margin-left:6px;padding:3px 6px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:8px;font-style:normal}.user-main small{color:var(--muted);font-size:9px}.user-row select{grid-column:2/-1;width:100%;height:39px;border:1px solid var(--line);border-radius:10px;background:white;padding:0 9px;color:var(--ink);font-size:11px}.user-key{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:white;color:#716278;cursor:pointer}.user-state{min-width:78px;height:38px;border:1px solid #cfe6de;border-radius:10px;background:var(--green-soft);color:var(--green-dark);font-size:10px;font-weight:800;cursor:pointer}.user-state.active{border-color:#efd5d4;background:var(--red-soft);color:#a34542}.user-row select:disabled,.user-state:disabled{opacity:.5;cursor:not-allowed}.calendar-content{padding-bottom:36px}.calendar-panel{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.calendar-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--line)}.calendar-header h2{margin:0;font-size:17px;letter-spacing:-.02em;text-transform:capitalize}.calendar-header button{width:39px;height:39px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:white;color:#716278;cursor:pointer}.calendar-grid,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{padding:11px 8px 7px;color:var(--muted)}.calendar-weekdays span{text-align:center;font-size:9px;font-weight:800;text-transform:uppercase}.calendar-grid{gap:4px;padding:0 8px 12px;transition:opacity .15s ease}.calendar-grid.loading{opacity:.48}.calendar-day,.calendar-empty{min-width:0;min-height:70px}.calendar-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 6px;border:1px solid #eee9f0;border-radius:11px;background:#fcfafd}.calendar-day:hover{border-color:#cbb5d2}.calendar-day.today{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.calendar-day:after{content:"";position:absolute;top:8px;right:7px;width:6px;height:6px;border-radius:50%;background:#b7a9bd}.calendar-day.type-preparation:after{background:#ad78cf}.calendar-day.type-game:after{background:var(--brand)}.calendar-number{font-size:13px;font-weight:850}.calendar-day small{color:var(--muted);font-size:8px}.calendar-day>strong{margin-top:auto;padding:4px 6px;border-radius:7px;background:var(--green);color:white;font-size:8px}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px 15px;padding:13px 15px;border-top:1px solid var(--line);color:var(--muted);font-size:9px}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:7px;height:7px;border-radius:50%;background:#b7a9bd}.calendar-legend .preparation-dot{background:#ad78cf}.calendar-legend .game-dot{background:var(--brand)}.calendar-legend strong{padding:3px 5px;border-radius:5px;background:var(--green);color:white;font-size:8px}.calendar-view-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.calendar-view-controls .statistics-tabs{margin:0;flex:1 1;max-width:390px}.calendar-view-controls .statistics-tabs button{display:flex;align-items:center;justify-content:center;gap:6px}.fixture-season-select{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.fixture-season-select select{min-height:38px;border:1px solid var(--line);border-radius:10px;padding:0 8px;background:white;color:var(--ink)}.fixture-season-heading h2{margin:0;font-size:23px;letter-spacing:-.035em}.fixture-season-heading h2>span{color:var(--muted);font-weight:500}.fixture-season-heading p{margin:7px 0 19px;color:var(--muted);font-size:12px;line-height:1.5}.fixture-season-heading .eyebrow{display:block;margin-bottom:5px}.fixture-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:17px}.fixture-summary button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:15px;border:1px solid var(--line);border-radius:14px;background:white;text-align:left;cursor:pointer}.fixture-summary button[aria-pressed=true]{border-color:var(--brand-deep);box-shadow:0 0 0 1px var(--brand-deep)}.fixture-summary strong{font-size:27px;letter-spacing:-.04em}.fixture-summary span{color:var(--muted);font-size:10px;line-height:1.4}.fixture-summary .has-conflicts{background:var(--yellow-soft);border-color:#e9d9a5;color:#8c6413}.fixture-warning{display:flex;align-items:flex-start;gap:10px;margin:13px 0;padding:13px 15px;border:1px solid #ecd8a4;border-radius:12px;background:var(--yellow-soft);color:#826019;font-size:12px;line-height:1.5}.fixture-warning>svg{flex-shrink:0;margin-top:1px}.fixture-warning strong{font-size:12px}.fixture-warning p{margin:3px 0 0;font-size:11px}.fixture-warning button{margin-left:auto;padding:0;border:0;background:transparent;color:#826019;font-size:11px;font-weight:800;cursor:pointer}.fixture-actions{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.fixture-actions button{font-size:11px}.fixture-pdf-button{margin-left:auto}.fixture-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:13px;border:1px solid var(--line);border-radius:14px;background:white}.fixture-filters>label{display:flex;flex-direction:column;gap:5px;flex:1 1;min-width:125px}.fixture-filters>label>span{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.fixture-filters .fixture-search{flex:2 1;min-width:190px;flex-direction:row;align-items:center;align-self:stretch;gap:7px;color:var(--muted)}.fixture-search input{width:100%;min-width:0;height:40px;padding:0;border:0;outline-offset:3px;font-size:12px}.fixture-filters select{width:100%;min-height:36px;padding:0 6px;border:1px solid var(--line);border-radius:8px;background:var(--soft);font-size:11px}.fixture-filters>button{min-height:36px;font-size:10px}.fixture-results-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 1px 10px;color:var(--muted)}.fixture-results-heading>span{font-size:11px;font-weight:800}.fixture-results-heading>small{font-size:10px}.fixture-list{display:flex;flex-direction:column;gap:9px}.fixture-card{position:relative;display:flex;align-items:center;gap:17px;padding:17px;border:1px solid var(--line);border-radius:14px;background:white}.fixture-card.fixture-conflict{border-color:#e3cc90}.fixture-cancelled{opacity:.65}.fixture-round{display:flex;flex:0 0 66px;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;border-right:1px solid var(--line)}.fixture-round>strong{color:var(--brand-deep);font-size:28px;line-height:1;letter-spacing:-.04em}.fixture-round>span{color:var(--muted);font-size:7px;font-weight:800;letter-spacing:.07em}.fixture-round>small{color:var(--muted);font-size:10px}.fixture-card-main{min-width:0;flex:1 1}.fixture-card-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:10px}.fixture-side{color:#79577d;font-size:8px;letter-spacing:.05em;font-weight:850}.fixture-side.home{color:var(--green-dark)}.fixture-status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:6px;font-size:9px;font-weight:750;background:#f5f0f6;color:#796b81}.status-confirmed{background:var(--green-soft);color:var(--green-dark)}.status-postponed{background:var(--yellow-soft);color:var(--yellow)}.status-cancelled{background:var(--red-soft);color:#ac4844}.fixture-matchup{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0;margin:9px 0 4px;border:0;background:transparent;font-size:14px;font-weight:800;text-align:left;cursor:pointer;line-height:1.4}.fixture-matchup small{color:var(--muted);font-size:10px;font-weight:500}.fixture-competition{display:block;color:var(--muted);font-size:9px}.fixture-meta{display:flex;flex-wrap:wrap;gap:8px 17px;margin-top:12px}.fixture-meta>span{display:flex;align-items:center;gap:5px;color:#77667e;font-size:11px}.fixture-meta>.fixture-undefined{color:#a17027}.fixture-note{margin:9px 0 0;color:var(--muted);font-size:10px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.fixture-conflict-label{display:flex;align-items:center;gap:5px;margin-top:8px;color:#956822;font-size:10px;font-weight:750}.fixture-edit{flex-shrink:0;align-self:flex-start}.fixture-empty,.fixture-load-error{padding:40px 25px;border:1px dashed #d8cbdc;border-radius:16px;background:white;color:var(--muted);text-align:center}.fixture-empty>svg{color:#9b7ca5}.fixture-empty h3{color:var(--ink);font-size:17px}.fixture-empty p{max-width:470px;margin:12px auto 20px;font-size:12px;line-height:1.7}.fixture-load-error{margin-bottom:15px;color:#a74742}.fixture-dialog{position:fixed;inset:auto 0 0;width:100%;max-width:620px;max-height:94svh;margin:auto auto 0;padding:0;border:0;border-radius:24px 24px 0 0;overflow:hidden;color:var(--ink);background:white;box-shadow:var(--shadow)}.fixture-dialog::backdrop{background:rgba(25,13,30,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.fixture-dialog-wide{max-width:1120px}.fixture-dialog .bottom-sheet{max-height:94svh}.fixture-editor-form{display:flex;flex-direction:column;min-height:0;overflow:hidden}.fixture-editor-form .sheet-body{min-height:0}.fixture-editor-hint{margin:0 0 15px;color:var(--muted);font-size:11px;line-height:1.7}.fixture-editor-fields{margin:0;padding:0;border:0;min-width:0}.fixture-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fixture-fields>label{display:flex;flex-direction:column;gap:5px;min-width:0}.fixture-fields label>span{font-size:10px;font-weight:750}.fixture-fields em{color:var(--muted);font-size:9px;font-weight:400;font-style:normal}.fixture-fields input,.fixture-fields select,.fixture-fields textarea,.fixture-paste textarea{width:100%;min-width:0;min-height:42px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font:inherit;font-size:12px}.fixture-fields textarea,.fixture-paste textarea{resize:vertical;line-height:1.5}.fixture-fields input:focus,.fixture-fields select:focus,.fixture-fields textarea:focus{outline:2px solid #b17bb4;outline-offset:1px}.fixture-fields .fixture-full-field{grid-column:1/-1}.fixture-bulk-rows{display:flex;flex-direction:column;gap:14px}.fixture-bulk-row{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.fixture-bulk-heading{display:flex;align-items:center;gap:10px;min-height:34px;margin-bottom:12px}.fixture-bulk-heading strong{font-size:12px}.fixture-bulk-heading>span{color:var(--muted);font-size:10px}.fixture-bulk-heading>button{margin-left:auto;width:29px;height:29px}.fixture-bulk-matchup{margin:-5px 0 13px;font-size:12px;font-weight:750;line-height:1.5}.fixture-bulk-matchup span{color:var(--muted);font-size:10px;font-weight:500}.fixture-extra-details{margin-top:10px}.fixture-extra-details>summary{color:var(--muted);font-size:10px;cursor:pointer}.fixture-add-row,.fixture-extra-details .fixture-fields{margin-top:14px}.fixture-paste{margin-bottom:15px;padding:12px;border:1px solid var(--line);border-radius:10px}.fixture-paste summary{color:var(--brand-deep);font-size:12px;font-weight:750;cursor:pointer}.fixture-paste p{color:var(--muted);font-size:11px;line-height:1.6}.fixture-paste textarea{display:block;margin:10px 0}.fixture-editor-form>footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 18px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.fixture-editor-form>footer>span{margin-right:auto;color:var(--muted);font-size:11px}.fixture-read-detail{color:var(--muted);font-size:13px;line-height:1.6}.fixture-read-detail h3{color:var(--ink)}.fixture-month-hint{margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.6}.calendar-cell{min-width:0;display:flex;flex-direction:column}.calendar-cell>.calendar-day{flex:1 1}.calendar-cell.has-fixture>.calendar-day{border-bottom-left-radius:0;border-bottom-right-radius:0}.calendar-fixture{min-width:0;width:100%;display:flex;flex-direction:column;gap:4px;padding:6px 4px;border:1px solid #e8cee9;border-radius:0 0 8px 8px;background:var(--brand-soft);color:#730073;text-align:left;cursor:pointer}.calendar-fixture span{font-size:8px}.calendar-fixture strong{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.fixture-dialog button:disabled,.fixture-season-select select:disabled,.official-fixtures button:disabled{cursor:not-allowed;opacity:.5}@media (min-width:760px){.fixture-dialog{inset:0;margin:auto}.fixture-dialog,.fixture-dialog .bottom-sheet{border-radius:20px;max-height:90svh}.fixture-fields-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.fixture-fields-compact label:nth-last-child(-n+2){grid-column:span 2}.fixture-quick-fields{grid-template-columns:155px 100px minmax(170px,1fr) 145px}.calendar-fixture{padding:7px}.calendar-fixture strong{font-size:9px}}@media (max-width:540px){.calendar-view-controls{flex-wrap:wrap;gap:8px}.calendar-view-controls .statistics-tabs{min-width:100%;max-width:none}.fixture-season-select{margin-left:auto}.fixture-summary{gap:6px}.fixture-summary button{padding:10px 7px}.fixture-summary strong{font-size:23px}.fixture-summary span{font-size:8px}.fixture-actions{gap:6px}.fixture-actions button{flex:1 1 auto;padding:0 10px;font-size:10px}.fixture-pdf-button{margin-left:0}.fixture-filters{padding:10px}.fixture-filters .fixture-search{min-width:100%}.fixture-filters>label{min-width:90px}.fixture-results-heading>small{display:none}.fixture-card{gap:10px;padding:13px 10px;align-items:flex-start}.fixture-round{flex-basis:43px;padding:9px 5px 9px 0}.fixture-round strong{font-size:24px}.fixture-round>span{font-size:6px}.fixture-round>small{font-size:9px}.fixture-card-kicker{gap:6px;padding-right:30px}.fixture-matchup{gap:5px;font-size:12px}.fixture-edit{position:absolute;top:10px;right:8px;width:30px;height:30px}.fixture-meta{gap:8px 12px}.fixture-meta>span{font-size:10px}.fixture-competition{font-size:8px}.fixture-fields em{display:none}.fixture-editor-form>footer{padding-left:12px;padding-right:12px}.fixture-editor-form>footer button{font-size:11px;padding:0 11px}.fixture-warning{padding:11px;font-size:11px}.fixture-warning p{font-size:10px}}.confirm-dialog{width:calc(100% - 28px);max-width:430px;margin:auto;padding:22px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.danger-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--red-soft);color:var(--red)}.confirm-dialog h2{margin:13px 0 6px;font-size:21px;letter-spacing:-.03em}.confirm-dialog>p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.confirm-dialog ul{margin:14px 0;padding:12px 12px 12px 29px;border-radius:12px;background:#faf8fb;color:#6e6277;font-size:11px;line-height:1.8}.confirm-dialog label{display:flex;flex-direction:column;gap:7px}.confirm-dialog>div:last-child{display:grid;grid-template-columns:.8fr 1.3fr;gap:8px;margin-top:16px}.confirm-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--green-soft);color:var(--green-dark)}.attendance-confirm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.attendance-confirm-grid span{min-height:65px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:9px;border:1px solid var(--line);border-radius:12px;background:#faf7fb;color:var(--muted);font-size:9px;font-weight:700}.attendance-confirm-grid strong{color:var(--ink);font-size:20px;line-height:1}.confirm-dialog .confirm-note{margin-top:13px;padding:11px;border-radius:11px;background:var(--yellow-soft);color:#76601c;font-size:10px}.session-form label:nth-child(-n+2){grid-column:auto}.session-form .session-location{grid-column:1/-1}.statistics-content{padding-bottom:40px}.statistics-heading{align-items:flex-end}.statistics-period{min-width:0;display:flex;flex-direction:column;gap:5px}.statistics-period>span{color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.statistics-period select{width:100%;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:0 11px;font-size:12px;font-weight:750}.statistics-filters{position:relative;display:grid;gap:12px;margin:-4px 0 14px}.statistics-filter{min-width:0;display:flex;flex-direction:column;gap:7px}.statistics-filter>span{color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.statistics-filter>div{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.statistics-filter>div::-webkit-scrollbar{display:none}.statistics-filter button{flex:0 0 auto;min-height:36px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:750;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.statistics-filter button.active{border-color:var(--brand-deep);background:var(--brand-deep);color:white;box-shadow:0 4px 12px rgba(41,23,47,.12)}.statistics-updating{position:absolute;right:0;top:1px;color:var(--muted);font-size:9px}.statistics-loading{min-height:240px;display:grid;place-items:center;color:var(--muted);font-size:12px}.statistics-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.statistics-summary article{min-width:0;min-height:105px;display:flex;flex-direction:column;justify-content:center;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.statistics-summary small{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.statistics-summary strong{margin:7px 0 4px;font-size:24px;line-height:1;letter-spacing:-.04em}.statistics-summary span{overflow:hidden;color:var(--muted);font-size:9px;line-height:1.4;text-overflow:ellipsis}.statistics-highlight{display:flex;align-items:center;gap:10px;margin-top:9px;padding:13px 14px;border-radius:14px;background:var(--brand-deep);color:white}.statistics-highlight>svg{flex:0 0 auto;color:#e8a7eb}.statistics-highlight>span{min-width:0;display:flex;flex:1 1;flex-direction:column;gap:2px}.statistics-highlight small{color:#cbb9d1;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.statistics-highlight strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.statistics-highlight b{font-size:16px}.statistics-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:24px 0 9px}.statistics-section-title h2{margin:0;font-size:17px}.statistics-section-title p{margin:4px 0 0;color:var(--muted);font-size:10px}.statistics-section-title>span{flex:0 0 auto;color:var(--muted);font-size:10px;font-weight:750}.statistics-player-list{display:grid;gap:8px}.statistics-player{min-width:0;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.statistics-player-head{display:flex;align-items:center;gap:9px}.statistics-player-head .player-identity{min-width:0;flex:1 1}.statistics-total{flex:0 0 auto;display:flex;align-items:flex-end;flex-direction:column}.statistics-total strong{font-size:15px}.statistics-total small{color:var(--green-dark);font-size:9px;font-weight:800}.statistics-progress{height:5px;overflow:hidden;margin:11px 0;border-radius:99px;background:#f0eaf3}.statistics-progress span{display:block;height:100%;border-radius:inherit;background:var(--green)}.statistics-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.statistics-breakdown>span{min-width:0;display:flex;flex-direction:column;gap:3px;padding:7px 8px;border-radius:9px;background:#f9f6fa}.statistics-breakdown small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.statistics-breakdown strong{font-size:11px}.statistics-flags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.statistics-flags span{padding:4px 7px;border-radius:999px;background:var(--red-soft);color:#9e4a47;font-size:8px;font-weight:750}.statistics-flags .injured-attended{background:var(--green-soft);color:var(--green-dark)}.statistics-flags .injured-absent{background:var(--yellow-soft);color:#7f6411}.playbook-content{width:100%;max-width:1180px;margin:0 auto;padding:10px 14px 90px}.playbook-heading{align-items:center}.playbook-heading h1{font-size:30px}.playbook-import-actions{display:grid;gap:12px;margin-bottom:18px}.playbook-import-actions>button{justify-self:start}.underdogs-video-bundle{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid #e2cee5;border-radius:16px;background:var(--brand-soft)}.underdogs-video-bundle>span{display:grid;gap:5px}.underdogs-video-bundle strong{font-size:14px}.underdogs-video-bundle small{color:var(--muted);font-size:11px;line-height:1.5}.video-play-preview{display:grid;align-content:center;justify-items:center;gap:10px;height:100px;border:1px solid #e2cee5;border-radius:11px;background:linear-gradient(135deg,#f6eaf8,#ece6f0);color:var(--brand)}.video-play-preview>span{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:800}.play-card-video .play-card-copy>strong{white-space:normal;line-height:1.3;overflow-wrap:anywhere}.video-court-panel{min-width:0}.video-court-panel video{display:block;width:100%;max-height:70svh;min-height:220px;border:1px solid var(--line);border-radius:16px;background:#161218}.video-study-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.video-study-controls .secondary-button{min-height:38px;padding:0 10px;font-size:11px}.video-study-controls .active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.video-study-controls>label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.video-study-controls select{min-height:38px;border:1px solid var(--line);border-radius:10px;padding:0 8px;background:white;color:var(--ink)}.video-notes{overflow-wrap:anywhere}.video-notes>small{display:block;color:var(--muted);font-size:11px;line-height:1.5}.video-metadata-actions{display:flex;flex-wrap:wrap;gap:8px}.video-import-sheet{max-width:720px}.video-import-sheet .sheet-body>p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.video-file-picker{position:relative;display:flex!important;align-items:center;justify-content:center;gap:12px;min-height:90px;padding:16px;border:1px dashed #b77cbd;border-radius:13px;background:var(--brand-soft);color:var(--brand);cursor:pointer}.video-file-picker:focus-within{outline:3px solid var(--brand);outline-offset:3px}.video-file-picker>input{position:absolute;inset:0;width:100%;height:100%!important;opacity:0;cursor:pointer}.video-import-list{display:grid;gap:12px}.video-import-row{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:13px;background:white}.video-import-file{display:flex;align-items:center;gap:9px;color:var(--brand)}.video-import-file>span{flex:1 1;overflow-wrap:anywhere;font-size:11px}.video-import-file small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.video-import-file>button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:8px;background:var(--brand-soft);cursor:pointer}.video-import-status{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.video-import-row.done .video-import-status,.video-import-row.skipped .video-import-status{color:var(--green-dark)}.video-import-row.error .video-import-status{color:var(--red)}@media (min-width:980px){.video-viewer-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start}}.playbook-side-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px}.playbook-side-switch>button{min-width:0;min-height:74px;display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:16px;background:var(--surface);text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.playbook-side-switch>button.active{border-color:var(--brand-deep);box-shadow:0 8px 22px rgba(41,23,47,.1)}.playbook-side-switch>button:active{transform:scale(.985)}.playbook-side-switch>button>span:last-child{min-width:0;display:flex;flex-direction:column;gap:3px}.playbook-side-switch strong{font-size:15px}.playbook-side-switch small{color:var(--muted);font-size:10px}.side-symbol{flex:0 0 43px;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;font-size:15px;font-weight:900}.side-symbol.offense{color:white;background:var(--brand);box-shadow:0 6px 14px rgba(128,0,128,.22)}.side-symbol.defense{border:2px solid var(--brand-deep);color:var(--brand-deep);background:#f5eff7}.playbook-category-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:9px}.playbook-category-header h2{margin:0;font-size:17px}.playbook-category-header p{margin:3px 0 0;color:var(--muted);font-size:10px}.compact-button{min-height:37px;padding:0 11px}.category-strip{display:flex;gap:7px;overflow-x:auto;margin:0 -14px 15px;padding:0 14px 5px;scrollbar-width:none}.category-strip::-webkit-scrollbar{display:none}.category-pill{flex:0 0 auto;min-height:38px;display:flex;align-items:center;gap:8px;padding:0 8px 0 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:750;cursor:pointer}.category-pill strong{min-width:23px;height:23px;display:grid;place-items:center;border-radius:999px;background:#f2edf5;color:#7a6b81;font-size:9px}.category-pill.active{border-color:var(--brand-deep);background:var(--brand-deep);color:white}.category-pill.active strong{background:rgba(255,255,255,.14);color:white}.play-grid{display:grid;gap:10px}.play-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 8px 24px rgba(17,42,47,.045)}.play-card-main{width:100%;min-height:126px;display:grid;grid-template-columns:112px minmax(0,1fr);gap:13px;align-items:center;padding:12px;border:0;background:transparent;text-align:left;cursor:pointer}.play-card-main:disabled{opacity:.65}.play-card-copy{min-width:0;display:flex;flex-direction:column}.play-card-copy>small{color:var(--brand);font-size:8px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.play-card-copy>strong{overflow:hidden;margin:5px 0 4px;font-size:16px;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}.play-card-copy>span{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:10px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.play-card footer{min-height:42px;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 13px;border-top:1px solid #f2eef4;color:var(--muted);font-size:9px}.play-card footer>span{display:inline-flex;align-items:center;gap:3px;font-weight:750}.play-card footer time{margin-left:auto}.play-card footer button{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:10px;background:#f5f0f7;color:var(--brand-deep);cursor:pointer}.mini-court{position:relative;width:112px;height:98px;overflow:hidden;display:block;border:2px solid rgba(41,23,47,.2);border-radius:11px;background:#ddb077}.mini-court:before{content:"";position:absolute;width:48px;height:37px;left:30px;top:-2px;border:2px solid rgba(41,23,47,.22);border-top:0}.mini-court:after{content:"";width:82px;height:74px;left:13px;top:-37px;border:2px solid rgba(41,23,47,.22)}.mini-court i,.mini-court:after{position:absolute;border-radius:50%}.mini-court i{z-index:1;width:13px;height:13px;background:var(--brand);box-shadow:0 2px 4px rgba(90,45,18,.18)}.mini-court.defense i{border:2px solid var(--brand-deep);background:#f8f3e9}.mini-court i:first-child{left:49px;top:73px}.mini-court i:nth-child(2){left:15px;top:57px}.mini-court i:nth-child(3){right:15px;top:57px}.mini-court i:nth-child(4){left:35px;top:31px}.mini-court i:nth-child(5){right:35px;top:31px}.mini-court b{position:absolute;z-index:2;width:7px;height:7px;left:61px;top:74px;border:1px solid #713419;border-radius:50%;background:#e87932}.playbook-empty,.playbook-loading{min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:28px;border:1px dashed #dccfe0;border-radius:18px;background:rgba(255,255,255,.55);color:var(--muted);text-align:center}.playbook-empty>span{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--brand-soft);color:var(--brand)}.playbook-empty strong{margin-top:4px;color:var(--ink);font-size:15px}.playbook-empty p{max-width:350px;margin:0 0 7px;font-size:11px;line-height:1.5}.playbook-loading{min-height:160px;font-size:12px}.playbook-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px 14px;border:1px solid #efd5d4;border-radius:12px;background:var(--red-soft);color:#9e4a47;font-size:11px}.playbook-error button{border:0;background:transparent;color:inherit;font-weight:800;cursor:pointer}.playbook-floating-add{position:fixed;z-index:25;right:18px;bottom:18px;width:54px;height:54px;display:grid;place-items:center;border:0;border-radius:17px;background:var(--brand);color:white;box-shadow:0 12px 28px rgba(128,0,128,.28);cursor:pointer}.category-sheet{max-width:620px}.category-edit-list{display:grid;gap:8px}.category-edit-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto 38px 38px;align-items:end;gap:7px;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fdfbfd}.category-create label,.category-edit-list label,.play-metadata-form label{min-width:0;display:flex;flex-direction:column;gap:6px}.category-create label>span,.category-edit-list label>span,.play-metadata-form label>span{font-size:10px;font-weight:800}.category-create input,.category-edit-list input,.play-metadata-form input,.play-metadata-form select,.play-metadata-form textarea{width:100%;border:1px solid var(--line);border-radius:11px;outline:0;background:white;color:var(--ink);font-size:13px}.category-create input,.category-edit-list input,.play-metadata-form input,.play-metadata-form select{height:43px;padding:0 11px}.play-metadata-form textarea{min-height:92px;resize:vertical;padding:10px 11px;line-height:1.45}.category-create input:focus,.category-edit-list input:focus,.play-metadata-form input:focus,.play-metadata-form select:focus,.play-metadata-form textarea:focus{border-color:#b17bb4;box-shadow:0 0 0 3px rgba(41,23,47,.07)}.category-edit-list>div>small{align-self:center;color:var(--muted);font-size:9px;white-space:nowrap}.category-delete,.category-save{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:white;color:var(--green-dark);cursor:pointer}.category-delete{border-color:#efd5d4;background:var(--red-soft);color:var(--red)}.category-delete:disabled,.category-save:disabled{opacity:.35;cursor:default}.category-create{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.add-step-sheet,.create-play-sheet{max-width:590px}.play-metadata-form{display:grid;gap:14px}.play-metadata-form label>span em{color:var(--muted);font-size:9px;font-style:normal;font-weight:600}.play-metadata-form label>small{color:var(--muted);font-size:9px;line-height:1.35}.play-surface{min-height:100svh;padding:10px 14px 42px}.play-surface-header{width:100%;max-width:1420px;min-height:64px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 auto 12px}.play-surface-header>button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:white;cursor:pointer}.play-surface-header>div{min-width:0}.play-surface-header small{color:var(--brand);font-size:8px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.play-surface-header h1{overflow:hidden;margin:3px 0 0;font-size:20px;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap}.play-surface-header h1.team-display-title{font-size:clamp(28px,2.4vw,36px);font-weight:400;letter-spacing:.025em;text-transform:uppercase}.play-surface-header>span:empty{display:none}.play-surface-header .primary-button,.play-surface-header .secondary-button{min-height:40px;padding:0 11px}.editor-layout,.viewer-layout{width:100%;max-width:1420px;margin:0 auto}.viewer-layout{display:grid;gap:12px}.court-panel,.step-detail-panel,.step-tree-panel,.viewer-notes{min-width:0}.basketball-court-frame{overflow:hidden;width:100%;border:1px solid rgba(41,23,47,.2);border-radius:18px;background:#d9a86f;box-shadow:0 16px 42px rgba(55,33,16,.11);touch-action:none}.basketball-court{width:100%;height:auto;display:block;-webkit-user-select:none;user-select:none}.court-floor{fill:#e5b879;stroke:rgba(89,48,20,.2);stroke-width:2}.court-line{fill:none;stroke:rgba(60,37,22,.48);stroke-width:3}.court-line.subtle{opacity:.65}.court-rim{fill:none;stroke:#d74e2e;stroke-width:4}.movement-trail{stroke:rgba(41,23,47,.48);stroke-width:3;stroke-dasharray:8 7}.movement-trail.ball{stroke:rgba(190,75,31,.72);stroke-dasharray:4 5}.court-marker{will-change:transform}.court-marker circle{stroke-width:3;filter:drop-shadow(0 3px 3px rgba(25,28,24,.18))}.court-marker text{pointer-events:none;fill:white;font-size:14px;font-weight:900}.court-marker.offense circle{fill:var(--brand);stroke:white}.court-marker.defense circle{fill:white;stroke:var(--brand-deep)}.court-marker.defense text{fill:var(--brand-deep)}.court-marker.ball circle{fill:#e87932;stroke:#74361d;stroke-width:2}.court-marker.ball path{fill:none;stroke:#74361d;stroke-width:1.4;pointer-events:none}.court-marker.draggable{cursor:grab}.court-marker.draggable:active{cursor:grabbing}.court-marker.draggable:focus{outline:none}.court-marker.draggable:focus circle{stroke:#fff2a8;stroke-width:5}.playback-controls{min-height:64px;display:flex;align-items:center;gap:7px;padding:9px;border:1px solid var(--line);border-top:0;border-radius:0 0 16px 16px;background:white}.playback-controls button{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:#faf7fb;color:var(--brand-deep);cursor:pointer}.playback-controls button:disabled{opacity:.35;cursor:default}.playback-controls .play-control{width:44px;flex-basis:44px;height:44px;border:0;border-radius:50%;background:var(--brand);color:white}.playback-controls>span{overflow:hidden;margin-left:auto;color:var(--muted);font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.viewer-notes{padding:18px;border:1px solid var(--line);border-radius:17px;background:white}.step-kicker{color:var(--brand);font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.viewer-notes h2{margin:6px 0 7px;font-size:21px;letter-spacing:-.035em}.viewer-notes>p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.branch-choice-panel{margin-top:18px;padding:13px;border-radius:14px;background:var(--brand-deep);color:white}.branch-choice-panel>strong{display:flex;align-items:center;gap:7px;font-size:12px}.branch-choice-panel>p{margin:4px 0 10px;color:#d1bfd7;font-size:9px}.branch-choice-buttons{display:grid;gap:6px}.branch-choice-buttons>button{width:100%;min-height:41px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 11px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.08);color:white;font-size:11px;font-weight:750;text-align:left;cursor:pointer}.mobile-branch-choice{margin:0;box-shadow:0 10px 25px rgba(41,23,47,.14)}.desktop-branch-choice{display:none}.play-complete{display:flex;align-items:center;gap:9px;margin-top:18px;padding:12px;border-radius:13px;background:var(--green-soft);color:var(--green-dark)}.play-complete>span{display:flex;flex-direction:column;gap:2px}.play-complete strong{font-size:11px}.play-complete small{font-size:9px}.viewer-path{display:grid;gap:5px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.viewer-path button{min-height:36px;display:flex;align-items:center;gap:8px;padding:0 8px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:10px;text-align:left;cursor:pointer}.viewer-path button>span{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#f2edf5;font-size:8px;font-weight:850}.viewer-path button.active{background:var(--brand-soft);color:var(--ink);font-weight:800}.viewer-path button.active>span{background:var(--brand);color:white}.editor-layout{display:grid;gap:10px}.step-detail-panel,.step-tree-panel{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:white}.panel-heading{min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-bottom:1px solid var(--line)}.panel-heading>span{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.panel-heading>small{min-width:25px;height:24px;display:grid;place-items:center;border-radius:999px;background:#f2edf5;color:var(--muted);font-size:8px;font-weight:800}.step-tree{max-height:220px;overflow:auto;padding:6px}.step-tree>button{width:100%;min-height:46px;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:7px;padding-top:5px;padding-right:8px;padding-bottom:5px;border:0;border-radius:10px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.step-tree>button>span:first-child{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#f2edf5;font-size:8px;font-weight:850}.step-tree>button>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.step-tree small,.step-tree strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-tree strong{color:var(--ink);font-size:10px}.step-tree small{color:var(--brand);font-size:8px}.step-tree>button.active{background:var(--brand-soft)}.step-tree>button.active>span:first-child{background:var(--brand);color:white}.add-step-button{width:calc(100% - 12px);min-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;margin:0 6px 6px;border:1px dashed #d7c7df;border-radius:10px;background:#faf7fb;color:var(--brand-deep);font-size:10px;font-weight:800;cursor:pointer}.editor-court-column{min-width:0}.editor-hint{min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:7px;padding:0 10px;border-radius:11px;background:var(--brand-soft);color:#730073;font-size:9px;font-weight:750}.editor-mobile-step-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.editor-mobile-step-actions .secondary-button{min-height:40px;padding:0 8px}.danger-text{color:#ad4743}.step-detail-panel{padding-bottom:12px}.step-detail-panel>label{display:flex;flex-direction:column;gap:6px;margin:12px 12px 0}.step-detail-panel>label>span{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;font-weight:800}.step-detail-panel>label>span b{color:var(--muted);font-size:8px}.step-detail-panel input:not([type=range]),.step-detail-panel select,.step-detail-panel textarea{width:100%;border:1px solid var(--line);border-radius:10px;outline:0;background:white;color:var(--ink);font-size:11px}.step-detail-panel input:not([type=range]),.step-detail-panel select{height:40px;padding:0 10px}.step-detail-panel textarea{min-height:76px;resize:vertical;padding:9px 10px;line-height:1.45}.step-detail-panel input:focus,.step-detail-panel select:focus,.step-detail-panel textarea:focus{border-color:#b17bb4;box-shadow:0 0 0 3px rgba(41,23,47,.07)}.step-detail-panel input[type=range]{width:100%;accent-color:var(--brand)}.play-metadata-divider{height:1px;margin:14px 12px 0;background:var(--line)}.delete-play-link,.delete-step-link{display:flex;align-items:center;gap:6px;margin:13px 12px 0;padding:0;border:0;background:transparent;color:#ad4743;font-size:9px;font-weight:800;cursor:pointer}.delete-play-link{color:var(--muted)}.step-detail-panel .form-error{margin:12px}.games-content{max-width:1180px}.games-back{display:inline-flex;align-items:center;gap:6px;margin:4px 0 14px;padding:0;border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:800;cursor:pointer}.game-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.game-detail-toolbar .games-back{margin:0}.delete-game-button{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:0;border-radius:9px;background:var(--red-soft);color:#a74441;font-size:9px;font-weight:850;cursor:pointer}.game-list{display:grid;gap:9px}.game-list>button{width:100%;min-height:94px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:17px;background:var(--surface);text-align:left;cursor:pointer;box-shadow:0 5px 18px rgba(41,23,47,.04)}.game-list-main{min-width:0;display:flex;flex-direction:column;gap:4px}.game-list-main small{color:var(--muted);font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.game-list-main strong{font-size:15px}.game-list-main>span{overflow:hidden;color:var(--muted);font-size:11px;white-space:nowrap;text-overflow:ellipsis}.game-list-main b{color:var(--ink);font-size:14px}.game-status{padding:6px 8px;border-radius:9px;background:#f2edf5;color:var(--muted);font-size:8px;font-weight:850;text-transform:uppercase}.game-status.live{color:#730073;background:var(--brand-soft)}.game-status.completed{color:var(--green-dark);background:var(--green-soft)}.game-status.paused{color:var(--yellow);background:var(--yellow-soft)}.games-empty{padding:48px 20px;border:1px dashed #dbcedf;border-radius:18px;color:var(--muted);text-align:center}.games-empty h2{margin:10px 0 5px;color:var(--ink);font-size:18px}.games-empty p{margin:0;font-size:12px}.game-creator{display:grid;gap:12px}.box-score,.game-setup-card{padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 7px 24px rgba(41,23,47,.04)}.box-score h2,.game-setup-card h2{margin:0;font-size:16px}.box-score p,.game-setup-card p{margin:4px 0 0;color:var(--muted);font-size:10px}.game-type-picker,.statistics-tabs{display:flex;gap:6px;margin:13px 0;padding:5px;border-radius:12px;background:#f2eef4;overflow-x:auto}.game-type-picker button,.statistics-tabs button{flex:1 1;min-height:38px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap;cursor:pointer}.game-type-picker button.active,.statistics-tabs button.active{color:white;background:var(--brand-deep);box-shadow:0 5px 14px rgba(41,23,47,.14)}.statistics-tabs{max-width:370px;margin-top:0}.statistics-content>.statistics-heading{margin-bottom:10px}.statistics-content .statistics-tabs+.page-heading{margin-top:24px}.game-form-grid{display:grid;gap:10px}.finish-game-dialog label,.game-form-grid label{display:flex;flex-direction:column;gap:5px}.finish-game-dialog label>span,.game-form-grid label>span{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.finish-game-dialog input,.game-form-grid input,.opponent-editor input{width:100%;height:42px;padding:0 11px;border:1px solid var(--line);border-radius:10px;outline:0;background:white}.box-score-heading,.game-setup-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.game-setup-heading>span{padding:6px 8px;border-radius:8px;background:var(--soft);color:var(--muted);font-size:9px;font-weight:800}.setup-roster-list{display:grid;gap:6px;margin-top:13px}.setup-player{min-height:56px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:8px;border:1px solid var(--line);border-radius:12px}.setup-number{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--brand-deep);color:white;font-size:12px;font-weight:850}.setup-player>span:nth-child(2){display:flex;flex-direction:column;gap:2px}.setup-player strong{font-size:11px}.setup-player small{color:var(--muted);font-size:8px}.assignment-buttons{grid-column:1/-1;display:flex;gap:5px}.assignment-buttons button{min-height:32px;flex:1 1;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--muted);font-size:9px;font-weight:800;cursor:pointer}.assignment-buttons button.active{border-color:var(--brand-deep);background:var(--brand-deep);color:white}.assignment-buttons .starter-button{flex:0 0 36px}.opponent-editor{display:grid;gap:6px;margin-top:13px}.opponent-editor>div{display:grid;grid-template-columns:64px minmax(0,1fr) 40px 36px;gap:5px}.opponent-editor button{border:1px solid var(--line);border-radius:9px;background:white;color:var(--muted);cursor:pointer}.opponent-editor button.active{color:var(--brand);background:var(--brand-soft)}.opponent-editor .add-opponent{min-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;border-style:dashed;color:var(--brand-deep);font-size:10px;font-weight:800}.setup-validation{display:grid;gap:6px;padding:12px;border-radius:13px;background:var(--brand-deep);color:white;font-size:10px;font-weight:750}.game-create-actions{display:flex;justify-content:flex-end;gap:8px}.game-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:12px;padding:15px;border-radius:19px;background:var(--brand-deep);color:white;box-shadow:var(--shadow)}.game-scoreboard>span{min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}.game-scoreboard>span small{max-width:100%;overflow:hidden;color:#d6c8dc;font-size:10px;font-weight:750;white-space:nowrap;text-overflow:ellipsis}.game-scoreboard>span strong{font-size:34px;line-height:1}.game-scoreboard>div{display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 12px}.game-scoreboard>div b{padding:4px 7px;border-radius:7px;background:var(--brand);font-size:8px;text-transform:uppercase}.game-scoreboard>div small{color:#c3accb;font-size:8px}.game-state-card{margin:12px 0;padding:20px;border:1px solid var(--line);border-radius:17px;background:white;text-align:center}.game-state-card h2{margin:2px 0 5px;font-size:18px}.game-state-card p{margin:0 0 14px;color:var(--muted);font-size:11px}.game-state-card>div{display:flex;justify-content:center;gap:8px}.game-state-card.completed>svg{color:var(--green)}.team-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:8px;padding:5px;border-radius:13px;background:#e8dfee}.team-switch button{min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:11px;font-weight:850;cursor:pointer}.team-switch button.active{background:white;color:var(--ink);box-shadow:0 3px 10px rgba(41,23,47,.1)}.live-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.live-player-grid button{position:relative;min-width:0;min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px;border:1px solid var(--line);border-radius:12px;background:white;cursor:pointer}.live-player-grid button.selected{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 2px rgba(128,0,128,.12)}.live-player-grid button>span{color:var(--brand);font-size:13px;font-weight:900}.live-player-grid button strong{max-width:100%;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.live-player-grid button svg{position:absolute;top:5px;right:5px;color:var(--yellow)}.stat-pad{margin-top:9px;padding:11px;border:1px solid var(--line);border-radius:17px;background:white}.selected-player{min-height:42px;display:flex;align-items:center;gap:8px;padding-bottom:10px}.selected-player>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--brand-deep);color:white;font-size:11px;font-weight:850}.selected-player strong{min-width:0;flex:1 1;font-size:12px}.selected-player button{padding:6px 8px;border:0;border-radius:8px;background:var(--brand-soft);color:#730073;font-size:8px;font-weight:850;cursor:pointer}.shot-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.shot-actions button{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;border-radius:12px;background:var(--brand-deep);color:white;font-size:19px;font-weight:900;cursor:pointer}.shot-actions button:nth-child(2n){background:#f2eef4;color:var(--ink)}.shot-actions small{margin-top:2px;font-size:7px;font-weight:750;text-transform:uppercase}.stat-pad button:disabled{opacity:.42;cursor:default}.other-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.other-actions button{min-height:42px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--brand-deep);font-size:9px;font-weight:900;cursor:pointer}.foul-actions{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.foul-actions label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:8px;font-weight:800}.foul-actions select{height:38px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:white}.foul-actions>div{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-top:6px}.foul-actions button{min-height:36px;border:1px solid #e8d7eb;border-radius:9px;background:#fcf5fc;color:#730073;font-size:8px;font-weight:850;cursor:pointer}.live-footer{justify-content:flex-end;gap:7px}.last-stat,.live-footer{display:flex;margin:10px 0}.last-stat{align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:13px;background:var(--brand-soft);color:#730073}.last-stat>span{min-width:0;display:flex;flex-direction:column;gap:2px}.last-stat small{font-size:7px;font-weight:850;text-transform:uppercase}.last-stat strong{overflow:hidden;font-size:10px;white-space:nowrap;text-overflow:ellipsis}.last-stat button{display:flex;align-items:center;gap:5px;padding:7px;border:0;background:transparent;color:inherit;font-size:8px;font-weight:850;cursor:pointer}.game-event-history{margin:10px 0;border:1px solid var(--line);border-radius:13px;background:white}.game-event-history summary{padding:12px;color:var(--muted);font-size:9px;font-weight:850;cursor:pointer}.game-event-history>div{border-top:1px solid var(--line)}.game-event-history article{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 11px;border-bottom:1px solid #f2eef4}.game-event-history article:last-child{border-bottom:0}.game-event-history article>span{min-width:0;display:flex;flex-direction:column;gap:2px}.game-event-history article small{color:var(--brand);font-size:7px;font-weight:800}.game-event-history article strong{overflow:hidden;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.game-event-history article button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:white;color:var(--muted);cursor:pointer}.box-score{margin-top:12px}.box-score-heading select{height:36px;max-width:150px;padding:0 8px;border:1px solid var(--line);border-radius:9px;background:white;font-size:9px}.box-score-scroll,.performance-table-wrap{margin-top:12px;overflow-x:auto;border:1px solid var(--line);border-radius:12px}.box-score table,.performance-table{width:100%;border-collapse:collapse;background:white;font-size:9px;white-space:nowrap}.box-score td,.box-score th,.performance-table td,.performance-table th{padding:9px 8px;border-bottom:1px solid #f2eef4;text-align:center}.box-score td:first-child,.box-score th:first-child,.performance-table td:first-child,.performance-table th:first-child{position:sticky;left:0;z-index:1;min-width:145px;background:white;text-align:left}.box-score th,.performance-table th{color:var(--muted);background:#f9f6fa;font-size:8px;text-transform:uppercase}.box-score th:first-child,.performance-table th:first-child{background:#f9f6fa}.performance-table td small{color:var(--muted);font-size:7px}.manual-stat-badge{display:inline-block;margin-left:5px;padding:2px 4px;border-radius:5px;background:var(--brand-soft);color:#730073;font-size:6px;font-weight:900;text-transform:uppercase}.edit-stat-button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:white;color:var(--brand-deep);cursor:pointer}.finish-game-dialog>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;margin:18px 0}.finish-game-dialog input{text-align:center;font-size:22px;font-weight:850}.finish-game-dialog>div>b{padding-bottom:10px}.delete-game-dialog>svg{color:var(--red)}.delete-game-dialog h2{margin-top:9px}.delete-game-dialog p{line-height:1.5}.manual-stats-dialog{width:min(720px,100%);max-height:min(88svh,780px);overflow-y:auto}.manual-stats-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.manual-stats-dialog>header h2{margin:3px 0 0}.manual-stats-dialog>header>strong{padding:9px 11px;border-radius:10px;background:var(--brand-deep);color:white;font-size:15px}.manual-stats-dialog>p{margin:12px 0 15px;color:var(--muted);font-size:10px;line-height:1.5}.manual-stats-dialog fieldset{margin:0 0 11px;padding:10px;border:1px solid var(--line);border-radius:12px}.manual-stats-dialog legend{padding:0 5px;color:var(--brand);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.manual-stats-dialog fieldset>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.manual-stats-dialog label{display:flex;flex-direction:column;gap:4px}.manual-stats-dialog label span{color:var(--muted);font-size:8px;font-weight:750}.manual-stats-dialog input{width:100%;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:white;text-align:center;font-weight:800}.manual-stats-dialog footer{position:sticky;bottom:-1px;padding-top:10px;background:white}@media (max-width:360px){.event-strip{gap:5px}.event-strip>button{gap:4px;padding:5px}.date-box{flex-basis:36px}.event-tab-copy strong{font-size:10px}.all-present span{display:none}.all-present{width:40px;padding:0;justify-content:center}.save-bar button{min-width:118px;padding:0 12px}.mobile-nav{margin-left:8px;margin-right:8px}.mobile-nav a{font-size:11px}.mobile-nav-5 a{font-size:10px}.mobile-nav-6 a{font-size:9px}.attendance-buttons button{width:35px}.day-navigation{grid-template-columns:30px minmax(0,1fr) 30px;gap:3px}.day-arrow{width:30px}.calendar-day{min-height:64px;padding:7px 4px}.calendar-day small{font-size:7px}}@media (min-width:760px){.attendance-content,.playbook-content,.roster-content{padding-left:24px;padding-right:24px}.status-grid{grid-template-columns:repeat(4,1fr)}.event-strip{gap:12px}.event-strip>button{height:66px}.event-card{padding:20px 22px}.event-card-bottom{flex-direction:row;align-items:center;justify-content:space-between}.attendance-sort-row{justify-content:flex-end}.attendance-sort{width:310px}.player-list{display:grid;grid-template-columns:1fr 1fr;border:0;gap:8px;background:transparent}.attendance-row{border:1px solid var(--line);border-radius:14px;background:white}.roster-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;background:transparent}.roster-row{border:1px solid var(--line);border-radius:14px;background:white}.document-filter{width:320px;margin-left:auto}.document-upload-grid{grid-template-columns:1fr 1fr}.bottom-sheet{max-width:600px;margin:auto;border-radius:22px}.modal-backdrop{align-items:center;padding:24px}.sheet-handle{display:none}.form-grid label:nth-child(-n+2){grid-column:auto}.permission-grid{grid-template-columns:repeat(3,1fr)}.statistics-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.statistics-filters{grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr) minmax(300px,1fr)}.statistics-player-list{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-period{width:240px}.user-row{grid-template-columns:42px minmax(150px,1fr) minmax(150px,190px) 40px 86px;padding:10px 14px}.user-row select{grid-column:auto}.play-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.playbook-side-switch{max-width:580px}.viewer-layout{grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr);align-items:start}.mobile-branch-choice{display:none}.desktop-branch-choice{display:block}.play-surface{padding-left:24px;padding-right:24px}.step-tree-panel{grid-column:1/-1}.step-tree{display:flex;max-height:none;overflow-x:auto}.step-tree>button{min-width:180px;width:auto;padding-left:8px!important}.add-step-button{width:auto;min-width:180px;margin:6px}.editor-layout{grid-template-columns:minmax(0,1.45fr) minmax(260px,.65fr);align-items:start}.game-form-grid,.game-list,.setup-roster-list{grid-template-columns:repeat(2,minmax(0,1fr))}.live-player-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.other-actions,.shot-actions{grid-template-columns:repeat(6,1fr)}.foul-actions{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:8px;align-items:end}.foul-actions>div{grid-template-columns:repeat(4,1fr);margin-top:0}.manual-stats-dialog fieldset>div{grid-template-columns:repeat(4,minmax(0,1fr))}.step-detail-panel{grid-column:2}.editor-court-column{grid-column:1;grid-row:2}.step-detail-panel{grid-row:2}}@media (min-width:980px){.desktop-sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:238px;display:flex;flex-direction:column;padding:28px 20px 22px;color:white;background:var(--brand-deep)}.desktop-sidebar .brand-mark{color:var(--brand-deep);background:white}.desktop-sidebar .brand-copy small{color:#c3accb}.desktop-sidebar .brand-copy strong{font-size:28px}.side-nav{display:flex;flex-direction:column;gap:6px;margin-top:40px}.side-nav a{height:48px;display:flex;align-items:center;gap:11px;padding:0 13px;border-radius:13px;color:#cbb9d1;font-size:13px;font-weight:700}.side-nav a svg:last-child{margin-left:auto;opacity:.45}.side-nav a.active{color:white;background:rgba(255,255,255,.1)}.side-nav a.active svg:first-child{color:#e8a7eb}.season-card{margin-top:auto;display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.05)}.season-card span{color:#c3accb;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.season-card strong{font-size:14px}.season-card small{color:#cbb9d1;font-size:10px}.season-card button{display:flex;align-items:center;gap:6px;margin-top:6px;padding:0;border:0;background:transparent;color:#e5dbe9;font-size:11px;font-weight:750;cursor:pointer}.workspace{margin-left:238px}.mobile-header,.mobile-menu-backdrop,.mobile-nav{display:none}.desktop-only{display:flex!important}.attendance-content,.playbook-content,.roster-content{padding-top:28px;padding-bottom:105px}.page-heading{margin-top:0}.event-strip{grid-template-columns:repeat(3,minmax(180px,1fr))}.day-navigation{grid-template-columns:40px minmax(0,1fr) 40px;gap:10px}.day-arrow{width:40px;height:48px}.event-card{display:grid;grid-template-columns:1fr auto;align-items:end}.event-card-top{grid-column:1/-1}.event-card h2{margin-bottom:0;font-size:22px}.event-meta{justify-content:flex-end}.status-grid{margin:14px 0 18px}.status-card{height:72px;padding-left:17px}.status-card strong{font-size:22px}.quick-actions{margin:10px 0}.quick-actions .search-field{max-width:440px}.save-bar{left:238px;padding-left:max(24px,calc((100vw - 238px - 1100px) / 2));padding-right:max(24px,calc((100vw - 238px - 1100px) / 2))}.save-bar button{min-width:160px}.toast{bottom:90px}.roster-content .page-heading h1{font-size:32px}.roster-toolbar .search-field{max-width:430px}.mobile-add,.playbook-floating-add{display:none}.play-surface{padding-top:20px}.calendar-day{min-height:94px;padding:11px}.calendar-number{font-size:15px}.calendar-day small{font-size:9px}.calendar-day>strong{padding:5px 8px;font-size:9px}}@media (min-width:1220px){.play-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-layout{grid-template-columns:220px minmax(0,1fr) 290px;gap:12px;align-items:start}.step-tree-panel{grid-column:1;grid-row:1}.step-tree{display:block;max-height:calc(100svh - 205px);overflow-y:auto;overflow-x:hidden}.step-tree>button{min-width:0;width:100%}.add-step-button{width:calc(100% - 12px);min-width:0;margin:0 6px 6px}.editor-court-column{grid-column:2;grid-row:1}.step-detail-panel{grid-column:3;grid-row:1;max-height:calc(100svh - 98px);overflow-y:auto}.editor-mobile-step-actions{display:none}}.games-section-tabs{display:flex;gap:6px;margin:0 0 22px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#eee9f0}.games-section-tabs button,.official-filter button{border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:12px;font-weight:750;cursor:pointer}.games-section-tabs button{flex:1 1;min-height:42px;padding:9px 14px}.games-section-tabs button.active{background:white;color:var(--brand);box-shadow:0 2px 8px #29172f0d}.official-games-toolbar,.preparation-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px}.official-games-toolbar h2{margin:0;font-size:20px}.official-games-toolbar p,.preparation-heading p{color:var(--muted);font-size:12px;line-height:1.5;margin:5px 0}.official-games select,.preparation-editor select{max-width:100%;min-height:39px;padding:6px 10px;border:1px solid var(--line);background:white;border-radius:9px}.official-filter{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:18px}.official-filter button{border:1px solid var(--line);padding:8px 13px;background:white}.official-filter button.active{border-color:var(--brand-line);color:var(--brand);background:var(--brand-soft)}.official-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.official-game-card{min-width:0;padding:19px;border:1px solid var(--line);border-radius:17px;background:white;box-shadow:0 5px 16px #29172f05}.official-game-card header{display:flex;gap:8px;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px}.official-game-card h3{display:flex;flex-direction:column;gap:5px;margin:19px 0;font-size:19px;line-height:1.3;overflow-wrap:anywhere}.official-game-card h3 small{font-size:10px;color:var(--muted);font-weight:500}.official-game-card p{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);margin:7px 0}.official-game-card footer{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:18px;padding-top:13px;border-top:1px solid var(--line)}.official-game-card footer>span{display:flex;gap:6px;align-items:center;color:var(--brand);font-size:11px}.preparation-editor{display:flex;flex-direction:column;gap:18px}.preparation-heading{margin:0}.preparation-heading h2{font-size:clamp(24px,3vw,35px);margin:7px 0 10px;overflow-wrap:anywhere}.callup-count{display:flex;align-items:center;gap:5px;padding:13px 15px;border-radius:13px;background:var(--brand-soft);color:var(--brand);font-size:13px;white-space:nowrap}.callup-count b{font-size:24px}.preparation-fieldset{display:flex;flex-direction:column;gap:18px;border:0;margin:0;padding:0;min-width:0}.preparation-editor .game-setup-card{padding:22px}.preparation-editor .game-setup-card h2{font-size:19px;margin-top:5px}.preparation-editor .game-setup-card p{font-size:12px;line-height:1.6}.preparation-editor .game-form-grid{margin-top:14px}.preparation-editor .game-form-grid label{color:var(--muted);font-size:11px}.preparation-editor input:focus-visible,.preparation-editor select:focus-visible{outline:2px solid #b776b9;outline-offset:2px}.preparation-editor input[type=checkbox]{accent-color:var(--brand);width:17px;height:17px;flex:0 0 17px}.preparation-editor button:disabled{opacity:.45;cursor:default}.preparation-fieldset:disabled{opacity:.8}.game-setup-heading>input{width:240px;max-width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;font-size:12px}.callup-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}.callup-roster-member{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:11px;padding:10px}.callup-roster-member.selected{background:var(--brand-soft);border-color:var(--brand-line)}.callup-roster-member>label{display:flex;flex:1 1 190px;align-items:center;gap:9px;min-width:0;cursor:pointer}.callup-companion{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:34px;border:1px solid var(--line);border-radius:7px;padding:6px 9px;background:white;color:var(--muted);font-size:10px;cursor:pointer}.callup-companion[aria-pressed=true]{color:var(--brand);border-color:var(--brand-line);font-weight:600}.callup-companion:disabled{opacity:.45;cursor:not-allowed}.callup-staff-qualification{color:var(--muted);font-size:11px}.callup-roster label>span:last-of-type{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.callup-roster strong{font-size:12px}.callup-roster small{color:var(--muted);font-size:10px}.callup-roster svg{color:var(--brand)}.rotation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.rotation-summary article{display:flex;flex-direction:column;gap:7px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.rotation-summary article>span{font-size:11px;color:var(--muted);font-weight:650}.rotation-summary strong{font-size:28px}.rotation-summary strong small{font-size:14px;color:var(--muted);font-weight:500}.rotation-summary article.balanced{border-color:#b7ddcd;background:var(--green-soft)}.rotation-summary article.balanced strong{color:var(--green-dark)}.rotation-summary article>small{color:var(--muted);font-size:10px}.rotation-summary meter{width:100%;height:10px;accent-color:var(--brand)}.rotation-summary meter::-webkit-meter-bar{background:#e7dfe9;border:0}.rotation-summary meter::-webkit-meter-optimum-value{background:var(--brand)}.rotation-list{display:flex;flex-direction:column;gap:12px}.rotation-player{padding:15px;border:1px solid var(--line);border-radius:12px}.rotation-player-name{display:flex;align-items:center;gap:12px}.rotation-player-name>div:nth-child(2){flex:1 1;min-width:0}.rotation-player-name strong{font-size:13px}.callup-order{display:flex;flex-direction:column;align-items:center;gap:2px;width:24px;color:var(--muted);font-size:11px}.callup-order button,.callup-remove{display:grid;place-items:center;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:4px}.callup-order button{min-width:26px;min-height:23px}.callup-remove{min-width:30px;min-height:35px;color:#a84b4b}.starter-check{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);margin-top:6px}.preparation-editor .starter-check input{width:14px;height:14px;flex-basis:14px}.callup-jersey{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--muted)}.callup-jersey input{width:56px;height:32px;border:1px solid var(--line);border-radius:7px;padding:5px;background:white}.rotation-controls{display:grid;grid-template-columns:1fr 250px;align-items:center;gap:28px;padding:12px 0 4px}.minutes-slider{display:flex;flex-direction:column;gap:9px}.minutes-slider span{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.minutes-slider b{color:var(--brand);font-size:18px}.minutes-slider input{width:100%;accent-color:var(--brand);cursor:pointer}.position-minutes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.position-minutes label{display:flex;flex-direction:column;gap:5px}.position-minutes span{color:var(--muted);font-size:10px}.position-minutes input{min-width:0;width:100%;height:34px;border:1px solid var(--line);background:var(--soft);border-radius:7px;padding:5px 8px}.callup-profile{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.callup-profile summary{color:var(--muted);font-size:10px;cursor:pointer}.preparation-warnings{margin-top:16px;border:1px solid #eadfbc;border-radius:11px;background:#fffbf2;padding:13px 15px;color:#786023;font-size:12px}.preparation-warnings summary{cursor:pointer;font-weight:700}.preparation-warnings ul{padding-left:18px;line-height:1.7;margin:12px 0 0}.preparation-warnings li+li{margin-top:3px}.callup-staff{display:flex;flex-direction:column;gap:8px;margin-top:16px}.callup-staff>div{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.callup-staff label{display:flex;align-items:center;gap:9px;font-size:12px}.callup-staff select{font-size:11px}.preparation-alert{padding:16px;border:1px solid var(--brand-line);background:var(--brand-soft);border-radius:12px;font-size:13px}.preparation-alert p{color:var(--muted);line-height:1.6;margin:6px 0 0}.preparation-downloads>div:nth-child(2){display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.preparation-actions{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:var(--shadow)}.preparation-actions>span{font-size:11px;color:var(--muted)}.preparation-actions>div{display:flex;flex-wrap:wrap;gap:8px}.preparation-actions .delete-game-button{font-size:11px}@media (max-width:700px){.official-game-grid{grid-template-columns:1fr}.official-games-toolbar{align-items:flex-start}.official-games-toolbar h2{font-size:17px}.official-game-card h3{font-size:18px}.official-game-card header{font-size:9px}.preparation-editor .game-setup-card{padding:15px}.preparation-editor .game-setup-heading{flex-direction:column}.game-setup-heading>input{width:100%}.callup-roster{grid-template-columns:1fr}.rotation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.rotation-controls{grid-template-columns:1fr;gap:10px}.rotation-player{padding:12px}.rotation-player-name{gap:8px}.preparation-heading{align-items:flex-start}.callup-count{padding:10px}.preparation-actions{flex-direction:column;align-items:stretch}.preparation-actions>div{justify-content:flex-end}.preparation-actions button{flex:1 1;min-height:40px}.callup-staff>div{flex-wrap:wrap}.callup-staff select{flex:1 1}.games-section-tabs button{font-size:11px;padding:8px}}.callup-staff>div{flex-wrap:wrap}.staff-profile{width:100%;margin-top:0}.callup-staff .staff-profile .game-form-grid label{flex-direction:column;align-items:stretch;gap:5px;font-weight:400}.callup-search{width:100%;height:40px;border:1px solid var(--line);border-radius:9px;background:white;margin-top:16px;padding:8px 12px;font-size:12px}.callup-search+.callup-roster{margin-top:10px}.callup-designation{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:10px}.preparation-editor .callup-designation select{width:64px;min-height:32px;height:32px;padding:3px 6px;font-size:12px}@media (max-width:700px){.rotation-player-name{display:grid;grid-template-columns:24px minmax(0,1fr) 48px 57px 25px;gap:6px}.callup-jersey input{width:48px}.preparation-editor .callup-designation select{width:57px}.rotation-player-name strong{overflow-wrap:anywhere}}