:root{color-scheme:light;--bg: #eef2f5;--surface: #ffffff;--surface-2: #f4f7f5;--text: #111827;--muted: #667085;--border: #dfe5ea;--green: #116d2f;--green-2: #e7f5ee;--amber: #b7791f;--amber-bg: #fff7e6;--red: #bd2c2c;--red-bg: #fff1f1;--blue: #2668a8;--blue-bg: #eaf3ff;--shadow: 0 14px 36px rgba(16, 33, 57, .12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.launch-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;overflow:hidden;background:#062b1d;color:#fff;opacity:1;transition:opacity .52s ease,visibility .52s ease}.launch-splash.is-leaving{visibility:hidden;opacity:0}.launch-splash-visual,.launch-splash-visual img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.launch-splash-visual img{object-fit:cover;object-position:left center;animation:launch-visual-enter 2.2s cubic-bezier(.22,1,.36,1) both}.launch-splash-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;padding:max(72px,calc(env(safe-area-inset-top) + 48px)) 30px 0;text-shadow:0 3px 18px rgba(0,0,0,.55)}.launch-splash-accent{width:42px;height:4px;margin-bottom:18px;background:#f4c542;transform-origin:left center;animation:launch-accent-enter .6s .1s cubic-bezier(.22,1,.36,1) both}.launch-splash-copy h1{color:#fff;font-size:48px;font-weight:850;line-height:.96;animation:launch-copy-enter .68s .16s cubic-bezier(.22,1,.36,1) both}.launch-splash-city{margin-top:10px;color:#f4c542;font-size:27px;font-weight:800;line-height:1;animation:launch-copy-enter .68s .24s cubic-bezier(.22,1,.36,1) both}.launch-splash-season{margin-top:13px;color:#ffffffe0;font-size:15px;font-weight:700;line-height:1.35;animation:launch-copy-enter .68s .32s cubic-bezier(.22,1,.36,1) both}.launch-splash-credit{position:absolute;right:max(20px,env(safe-area-inset-right));bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px));z-index:1;color:#ffffffb8;font-size:11px;font-weight:600;line-height:1.2;text-shadow:0 2px 10px rgba(0,0,0,.65);animation:launch-credit-enter .7s .56s ease both}@keyframes launch-visual-enter{0%{transform:scale(1.045);opacity:.72}to{transform:scale(1);opacity:1}}@keyframes launch-accent-enter{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes launch-copy-enter{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes launch-credit-enter{0%{opacity:0}to{opacity:1}}@media(min-width:700px){.launch-splash-copy{padding-top:max(84px,calc(env(safe-area-inset-top) + 56px));padding-left:52px}.launch-splash-copy h1{font-size:60px}.launch-splash-visual img{object-position:center}}@media(prefers-reduced-motion:reduce){.launch-splash,.launch-splash-visual img,.launch-splash-accent,.launch-splash-copy h1,.launch-splash-city,.launch-splash-season,.launch-splash-credit{animation:none;transition-duration:.18s}}.app-shell{display:flex;flex-direction:column;width:min(100%,460px);min-height:100vh;margin:0 auto;background:var(--surface);padding:max(18px,env(safe-area-inset-top)) 14px max(24px,env(safe-area-inset-bottom))}.app-shell.is-loading{display:grid;place-items:center}.admin-shell{min-height:100vh;background:var(--bg);padding:max(18px,env(safe-area-inset-top)) 14px max(26px,env(safe-area-inset-bottom))}.admin-centered{display:grid;place-items:center}.loader{color:var(--muted);font-weight:700}.loader.compact{padding:22px 0;text-align:center}.topbar,.session-head,.sheet-header,.section-title,.sms-row,.ledger-row,.pin-row,.admin-page-header,.admin-header-actions,.admin-session-head{display:flex;align-items:center}.topbar{justify-content:space-between;gap:8px;padding:4px 4px 22px}.brand{display:flex;align-items:center;gap:8px;min-width:0}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--green);border-radius:999px;color:var(--green);flex:0 0 auto}.brand p{margin-top:3px;color:var(--muted);font-size:13px;font-weight:800}.brand-info-button{width:30px;height:30px;margin-left:-2px}.menu-button.public-history-button{display:inline-grid;place-items:center;border:1px solid #d4d9df;border-radius:8px;background:#f6f7f8;color:#5f6873;line-height:0;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.public-history-button span{display:none}.public-history-button:hover,.public-history-button:focus-visible{border-color:#c9e8d8;background:var(--green-2);color:var(--green);outline:none}.top-actions{display:flex;align-items:center;flex:0 0 auto;gap:10px}.month-label{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;background:var(--green);color:#fff;font-size:13px;font-weight:800;white-space:nowrap}.menu-button{display:inline-grid;place-items:center;width:34px;height:34px;border:0;background:transparent;color:var(--text)}.player-messages-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid #abd6bb;border-radius:7px;background:#edf8f1;color:var(--green);padding:0 10px;font-size:12px;font-weight:800;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.player-messages-button:hover,.player-messages-button:focus-visible{border-color:var(--green);background:var(--green);color:#fff;outline:none}.player-messages-button.has-unread,.player-messages-button.has-unread:hover,.player-messages-button.has-unread:focus-visible,.admin-messages-button.has-unread,.admin-messages-button.has-unread:hover,.admin-messages-button.has-unread:focus-visible{border:1px solid #91c5ef;border-color:#91c5ef;background:#eaf4ff;color:#1f67a1}.topbar .player-messages-button:hover,.topbar .player-messages-button:focus-visible,.topbar .player-messages-button.has-unread:hover,.topbar .player-messages-button.has-unread:focus-visible{border-color:var(--green);background:var(--green);color:#fff}.topbar .player-messages-button:hover .messages-header-icon.has-unread,.topbar .player-messages-button:focus-visible .messages-header-icon.has-unread{color:currentColor}.messages-header-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:currentColor;line-height:0}.topbar .brand-info-button svg,.topbar .public-history-button svg,.topbar .messages-header-icon svg{display:block}.messages-header-icon.has-unread{color:#1f76b8}.messages-header-dot{position:absolute;right:-5px;bottom:-4px;width:7px;height:7px;border:1.5px solid #fff;border-radius:50%;background:#1f76b8}.messages-header-icon.is-pulsing{transform-origin:center;animation:message-arrival-shake .7s ease-in-out 4}@keyframes message-arrival-shake{0%,to{transform:translate(0) rotate(0)}20%,60%{transform:translate(-2px) rotate(-14deg)}40%,80%{transform:translate(2px) rotate(14deg)}}.player-messages-badge{position:absolute;top:-7px;right:-7px;display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;border:2px solid var(--surface);border-radius:999px;background:var(--red);padding:0 3px;color:#fff;font-size:9px;font-weight:800;line-height:1}.app-label{margin:0 0 3px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0}h1,h2,h3,p{margin:0}h1{color:var(--green);font-size:26px;line-height:1.05}h2{font-size:20px;line-height:1.2}h3{font-size:18px}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.session-panel,.sms-panel{background:var(--surface);border:0;border-radius:0;padding:0;box-shadow:none}.field-label,label{display:grid;gap:7px;color:var(--text);font-size:13px;font-weight:800}select,input,textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);outline:none}select,input{min-height:42px;padding:0 12px}textarea{min-height:86px;resize:vertical;padding:10px 12px;font-weight:400;line-height:1.35}.sms-template-textarea{min-height:122px;font-style:italic;font-weight:500}.sms-counter{display:flex;flex-wrap:wrap;gap:4px 7px;color:#667085;font-size:12px;font-weight:400;line-height:1.35}select:focus,input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #0f7a4a1f}.month-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.month-summary span,.status-line span,.balance,.status-pill{display:inline-flex;align-items:center;gap:5px;min-height:26px;border-radius:8px;padding:0 8px;font-size:12px;font-weight:800}.month-summary span{background:var(--surface-2);color:#344054}.primary-action,.secondary-action,.reserve-action,.text-action,.small{border:0;border-radius:8px;font-weight:850;min-height:42px}.primary-action,.secondary-action,.reserve-action{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-action{background:var(--green);color:#fff}.primary-action.is-danger{background:var(--red)}.primary-action.is-blue{background:var(--blue)}.primary-action:disabled,.secondary-action:disabled{cursor:not-allowed;opacity:.55}.secondary-action{background:var(--green-2);color:var(--green);border:1px solid #c9e8d8}.secondary-action.is-blue,.secondary-action.compact.is-blue{background:var(--blue-bg);color:var(--blue);border-color:#b8d5ff}.secondary-action.is-danger,.secondary-action.compact.is-danger{background:var(--red-bg);color:var(--red);border-color:#f0c9c9}.primary-action.compact,.secondary-action.compact{width:auto;min-height:36px;padding:0 12px}.reserve-action{margin:2px 0 8px;background:#fff;color:var(--green);border:1px solid var(--green)}.text-action{background:transparent;color:var(--green);padding:0;text-align:left}.small{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:0 10px;background:var(--surface-2);color:var(--text)}.small:disabled{cursor:not-allowed;opacity:.55}.small.danger{background:var(--red-bg);color:var(--red)}.cancel-presence-action{min-height:44px;border:1px solid #f1d8aa;border-radius:8px;background:var(--amber-bg);color:var(--amber);font-weight:850}.public-month-switcher{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;margin:-8px -2px 16px;padding:0 2px}.public-month-option{display:grid;gap:2px;min-height:52px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:8px 10px;text-align:left}.public-month-option span{font-size:14px;font-weight:650;line-height:1.2}.public-month-option small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.2}.public-month-option.is-active{border-color:var(--green);background:var(--green-2);color:var(--green)}.public-month-option.is-active small{color:var(--green)}.thursday-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:8px;margin:0 -2px;padding:2px 2px 20px}.date-pill{position:relative;display:grid;place-items:center;gap:3px;min-height:126px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);min-width:0;padding:10px 6px;text-align:center}.date-pill-extra-icon{position:absolute;top:7px;right:7px;color:var(--blue)}.date-pill strong{font-size:17px}.date-pill em{font-size:13px;font-style:normal;font-weight:900}.date-pill small{color:var(--text);font-size:11px;font-weight:600}.date-pill span{color:var(--green);font-size:16px;font-weight:900}.date-pill.is-active{background:var(--surface);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green),0 8px 18px #0f7a4a14;color:var(--text)}.date-pill.is-active span{color:var(--green)}.date-pill.is-extra{border-color:#b8d5ff;background:var(--blue-bg);color:var(--text)}.date-pill.is-extra span,.date-pill.is-extra .date-pill-extra-icon{color:var(--blue)}.date-pill.is-extra.is-active{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue),0 8px 18px #2668a81f}.date-pill.is-extra.is-active span{color:var(--blue)}.date-pill.is-holiday{border-color:#f0c9c9;background:var(--red-bg);color:var(--red);box-shadow:none}.date-pill.is-holiday small,.date-pill.is-holiday span,.date-pill.is-holiday.is-active span{color:var(--red)}.date-pill:disabled{cursor:not-allowed;opacity:1}.session-panel{display:grid;gap:14px}.session-head{justify-content:space-between;gap:12px;padding:0 4px 2px}.session-head p{margin-top:4px;color:var(--muted);font-size:13px;font-weight:700}.session-head>span{color:var(--muted);font-size:14px;font-weight:800;white-space:nowrap}.venue-link{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:14px;font-weight:850;text-decoration:none;white-space:nowrap}.capacity{display:grid;place-items:center;min-width:58px;min-height:42px;border-radius:8px;font-weight:900}.capacity.has-space{background:var(--green-2);color:var(--green)}.capacity.is-full{background:var(--amber-bg);color:var(--amber)}.status-line,.session-meta{display:flex;gap:8px;flex-wrap:wrap}.status-line span,.session-meta span{background:var(--amber-bg);color:var(--amber)}.session-meta span{display:inline-flex;align-items:center;min-height:34px;border:1px solid #f1d8aa;border-radius:8px;padding:0 12px;font-size:13px;font-weight:800}.session-meta .meta-good{border-color:#c9e8d8;background:var(--green-2);color:var(--green)}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;border-radius:8px;background:var(--surface);border:1px solid var(--border);overflow:hidden}.tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);font-size:13px;font-weight:750;line-height:1}.tabs button svg{color:var(--tab-color);flex:0 0 auto;stroke-width:2.4}.tabs button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs button:after{position:absolute;right:14px;bottom:0;left:14px;height:3px;border-radius:999px 999px 0 0;background:var(--tab-color);content:"";opacity:0}.tabs .tab-playing{--tab-color: var(--green);--tab-bg: #f0faf4}.tabs .tab-reserve{--tab-color: #2459a7;--tab-bg: #eef5ff}.tabs .tab-cancelled{--tab-color: #a13f37;--tab-bg: #fff4f2}.tabs button:last-child{border-right:0}.tabs button.is-active{background:var(--tab-bg);color:var(--tab-color);box-shadow:none}.tabs button.is-active:after{opacity:1}.list{display:grid;gap:0}.playing-list{gap:0}.playing-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:56px;padding:7px 4px 7px 0;border-bottom:1px solid var(--border);background:#fff}.playing-person-button{display:flex;align-items:center;gap:10px;min-width:0;border:0;background:transparent;color:var(--text);padding:0;text-align:left}.playing-person-button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playing-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#eef1f5;color:#667085;flex:0 0 auto;overflow:hidden}.playing-avatar img,.picker-person-icon img,.avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.cancel-inline-action{display:inline-flex;align-items:center;gap:5px;margin-left:8px;min-height:34px;border:1px solid #f1d8aa;border-radius:8px;background:var(--amber-bg);color:var(--amber);font-size:14px;font-weight:700;padding:0 10px;white-space:nowrap}.session-cancelled-note{border:1px solid #f0c9c9;border-radius:8px;background:var(--red-bg);color:var(--red);padding:12px;font-size:14px;font-weight:850;text-align:center}.team-draw-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin-top:12px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-size:17px;font-weight:900}.team-court{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:100%;aspect-ratio:21 / 9;min-height:0;margin-top:14px;border:2px solid var(--green);border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffd1,0 12px 26px #11182714;background:linear-gradient(180deg,#ffffffb3,#e7f5eeb8),var(--green-2)}.team-court:before,.team-court:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:#116d2f5c;pointer-events:none;z-index:0}.team-court:before{left:25%}.team-court:after{left:75%}.team-court-net{position:absolute;top:0;bottom:0;left:calc(50% - 4px);width:8px;background:repeating-linear-gradient(180deg,#1118278c 0,#1118278c 5px,#ffffffeb 5px,#ffffffeb 8px,#1118278c 8px,#1118278c 13px),var(--green);box-shadow:0 0 0 2px #ffffffc7,0 0 0 4px #116d2f24;pointer-events:none;z-index:2}.team-side{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:12px;min-width:0;min-height:0;padding:16px 18px 18px}.team-side header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--green)}.team-mobile-summaries{display:none}.team-court:not(.is-admin) .team-side-right header{align-items:flex-end;justify-content:flex-end;text-align:right}.team-metric-pills span{color:var(--green);font-size:12px;font-weight:600;white-space:nowrap}.team-metric-pills{display:flex;gap:5px;flex-wrap:wrap}.team-side-metrics{justify-content:flex-end}.team-metric-pills span{min-height:24px;border:1px solid #c9e8d8;border-radius:8px;background:#ffffffd1;padding:3px 7px;color:var(--green)}.team-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"back front";align-items:stretch;gap:12px;min-height:0}.team-side-right .team-players{grid-template-areas:"front back"}.team-line{display:grid;grid-template-rows:repeat(5,minmax(0,1fr));align-items:center;justify-items:center;gap:10px;min-width:0;min-height:0}.team-line-count-1 .team-player-marker{grid-row:3}.team-line-count-2 .team-player-marker:nth-child(1){grid-row:2}.team-line-count-2 .team-player-marker:nth-child(2){grid-row:4}.team-line-count-3 .team-player-marker:nth-child(1){grid-row:1;align-self:start}.team-line-count-3 .team-player-marker:nth-child(2){grid-row:3}.team-line-count-3 .team-player-marker:nth-child(3){grid-row:5;align-self:end}@media(min-width:521px){.team-court.is-admin .team-line{align-content:center;gap:clamp(32px,4vw,46px)}.team-court.is-admin .team-player-marker{gap:8px}.team-court.is-admin .team-player-marker strong{font-size:14px;line-height:1.07}.team-court.is-admin .team-line-count-1{grid-template-rows:auto}.team-court.is-admin .team-line-count-2{grid-template-rows:repeat(2,auto)}.team-court.is-admin .team-line-count-3{grid-template-rows:repeat(3,auto)}.team-court.is-admin .team-line-count-1 .team-player-marker,.team-court.is-admin .team-line-count-2 .team-player-marker:nth-child(1),.team-court.is-admin .team-line-count-3 .team-player-marker:nth-child(1){grid-row:1;align-self:center}.team-court.is-admin .team-line-count-2 .team-player-marker:nth-child(2),.team-court.is-admin .team-line-count-3 .team-player-marker:nth-child(2){grid-row:2}.team-court.is-admin .team-line-count-3 .team-player-marker:nth-child(3){grid-row:3;align-self:center}}.team-line-front{grid-area:front}.team-line-back{grid-area:back}.team-player-marker{display:grid;justify-items:center;gap:5px;width:100%;min-width:0;color:var(--text);text-align:center}.team-player-name-button{display:block;min-width:0;border:0;background:transparent;padding:0;color:inherit;font:inherit;cursor:pointer}.team-player-caption{display:flex;align-items:center;justify-content:center;gap:5px;max-width:100%}.profile-rating-badge{display:inline-grid;place-items:center;min-width:34px;min-height:26px;border:1px solid transparent;border-radius:8px;padding:3px 7px;color:#fff;font-size:13px;font-weight:950;line-height:1;font-variant-numeric:tabular-nums}.profile-rating-badge.is-low,.profile-value-badge.is-low{border-color:#b42318;background:#b42318;color:#fff}.profile-rating-badge.is-medium,.profile-value-badge.is-medium{border-color:#c2410c;background:#c2410c;color:#fff}.profile-rating-badge.is-good,.profile-value-badge.is-good{border-color:#175cd3;background:#175cd3;color:#fff}.profile-rating-badge.is-excellent,.profile-value-badge.is-excellent{border-color:#067647;background:#067647;color:#fff}.profile-rating-badge.is-elite,.profile-value-badge.is-elite{border-color:#5925dc;background:#6941c6;color:#fff}.profile-rating-badge.is-empty,.profile-value-badge.is-empty{border-color:#c5cbd3;background:#eef1f4;color:#596475}.court-player-rating{min-width:29px;min-height:22px;border-radius:7px;padding:2px 5px;font-size:11px}.team-player-name-button:hover strong,.team-player-name-button:focus-visible strong{color:var(--green);text-decoration:underline;text-underline-offset:2px}.team-player-name-button:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:3px}.team-player-avatar{display:grid;place-items:center;width:clamp(42px,8vw,58px);height:clamp(42px,8vw,58px);border:2px solid #fff;border-radius:999px;background:#eef1f5;color:#667085;overflow:hidden;box-shadow:0 6px 14px #1118272e}.team-player-avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.team-player-marker strong{width:max-content;max-width:88px;min-height:28px;white-space:nowrap;overflow-wrap:normal;font-size:13px;font-weight:700;line-height:1.08}.team-player-marker strong.is-split{display:grid;justify-items:center;white-space:normal}.team-player-marker strong.is-split span{display:block}.app-shell .team-court{aspect-ratio:14 / 9;min-height:0}.app-shell .team-side{gap:6px;padding:12px 10px 10px}.app-shell .team-players{gap:7px}.app-shell .team-player-avatar{width:32px;height:32px}.app-shell .team-player-marker{gap:5px}.app-shell .team-player-marker strong{max-width:76px;min-height:23px;font-size:10.5px;line-height:1.04}.app-shell .team-line{grid-template-rows:repeat(3,minmax(0,1fr));gap:3px}.app-shell .team-line-count-1 .team-player-marker{grid-row:2}.app-shell .team-line-count-2 .team-player-marker:nth-child(1){grid-row:1}.app-shell .team-line-count-2 .team-player-marker:nth-child(2){grid-row:3}.app-shell .team-line-count-3 .team-player-marker:nth-child(1){grid-row:1;align-self:center}.app-shell .team-line-count-3 .team-player-marker:nth-child(2){grid-row:2}.app-shell .team-line-count-3 .team-player-marker:nth-child(3){grid-row:3;align-self:center}.reserve-cancel-action{margin-left:0}.person-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;min-height:56px;padding:8px 4px 8px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:#fff}.person-row:has(.small){grid-template-columns:minmax(0,1fr) auto auto}.person-row:has(.link-action){grid-template-columns:minmax(0,1fr) auto auto auto}.person-main{display:flex;align-items:center;gap:8px;min-width:0;border:0;background:transparent;color:var(--text);padding:0;text-align:left}.person-main>span:not(.row-prefix){min-width:0;display:grid;gap:2px}.person-main strong,.person-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-main small,.muted,.helper{color:var(--muted);font-size:13px}.row-prefix{display:grid;place-items:center;width:30px;height:30px;color:var(--text);font-size:14px;font-weight:700;flex:0 0 auto}.balance,.pay-status{justify-content:center;white-space:nowrap}.pay-status{display:inline-flex;align-items:center;min-height:24px;border:0;background:transparent;color:#25733b;padding:0;font-size:13px;font-weight:400}.pay-status.is-due{color:#bd2c2c}.pay-status.is-refund{color:#1f5f9f}.row-open-button{display:inline-grid;place-items:center;width:28px;height:36px;border:0;background:transparent;color:#667085;padding:0}.link-action{min-height:36px;border:0;background:transparent;color:#315f9b;font-size:13px;font-weight:800;padding:0 4px}.balance.good,.metric.good{background:var(--green-2);color:var(--green)}.balance.bad,.metric.bad{background:var(--red-bg);color:var(--red)}.balance.info,.metric.info{background:var(--blue-bg);color:var(--blue)}.empty-state{padding:16px 8px;color:var(--muted);text-align:center;font-weight:700}.sms-panel{margin-top:12px;border-top:1px solid var(--border);padding-top:14px}.admin-page-header{justify-content:space-between;gap:16px;width:min(100%,1180px);margin:0 auto 18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:14px}.admin-header-actions{justify-content:flex-end;gap:10px;flex-wrap:wrap}.admin-player-view-link{display:inline-flex;align-items:center;gap:6px;min-height:34px;border:1px solid #b7d6eb;border-radius:7px;background:var(--blue-bg);color:var(--blue);padding:0 10px;font-size:13px;font-weight:750;text-decoration:none;white-space:nowrap}.admin-player-view-link:hover,.admin-player-view-link:focus-visible{border-color:var(--blue);background:#dceefb;outline:none}.invitation-channel-control{display:grid;gap:3px;min-width:190px;color:#475467;font-size:11px;font-weight:850}.invitation-channel-control select{min-height:38px;padding-top:0;padding-bottom:0;font-size:13px}.admin-push-toggle{border:1px solid var(--border)}.admin-push-toggle.is-enabled{border-color:#9bd3b5;background:var(--green-2);color:var(--green)}.admin-messages-button,.admin-notifications-button{position:relative}.admin-messages-badge{position:absolute;top:-7px;right:-7px;display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;border:2px solid var(--surface);border-radius:999px;background:var(--red);padding:0 3px;color:#fff;font-size:9px;font-weight:800;line-height:1}.admin-shell.admin-messages-view{display:grid;align-content:start;background:#eef6fa}.admin-messages-panel{display:grid;align-content:start;gap:14px;width:min(100%,860px);min-height:calc(100dvh - max(44px,env(safe-area-inset-top)) - max(52px,env(safe-area-inset-bottom)));margin:0 auto;border:1px solid #c8dce8;border-radius:8px;background:var(--surface);padding:16px}.admin-messages-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;border-bottom:1px solid #c8dce8;padding-bottom:14px}.admin-messages-back{min-width:0;white-space:nowrap}.admin-messages-header h1{overflow-wrap:anywhere;color:#145b85;font-size:24px}.admin-role-chip{display:inline-flex;align-items:center;gap:5px;margin-bottom:4px;border-radius:999px;background:#dceef8;color:#145b85;padding:3px 7px;font-size:11px;font-weight:800;line-height:1.2}.admin-messages-header p{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.admin-inbox-panel,.admin-thread-panel{display:grid;gap:14px;min-height:0}.admin-inbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-inbox-toolbar>span{color:var(--muted);font-size:13px;font-weight:700}.admin-conversation-list{display:grid;border-top:1px solid var(--border)}.admin-conversation-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,auto) 22px;gap:12px;width:100%;min-height:82px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:12px 2px;text-align:left}.admin-conversation-row:hover,.admin-conversation-row:focus-visible{background:var(--surface-2);outline:none}.admin-conversation-main,.admin-conversation-meta{display:grid;min-width:0}.admin-conversation-person,.admin-conversation-title,.admin-conversation-preview,.admin-conversation-meta span,.admin-conversation-meta time{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-conversation-person{font-size:15px;font-weight:750;line-height:1.25}.admin-conversation-title{margin-top:2px;font-size:14px;line-height:1.25}.admin-conversation-preview{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.3}.admin-conversation-row.is-unread .admin-conversation-person,.admin-conversation-row.is-unread .admin-conversation-title,.admin-conversation-row.is-unread .admin-conversation-preview,.admin-conversation-row.is-unread .admin-conversation-meta{font-weight:850}.admin-conversation-row.is-read .admin-conversation-title{font-weight:500}.admin-conversation-row.is-read .admin-conversation-preview,.admin-conversation-row.is-read .admin-conversation-meta{font-weight:400}.admin-conversation-meta{justify-items:end;align-content:center;gap:5px;color:var(--muted);font-size:12px;line-height:1.25}.admin-conversation-meta span{color:#176b9a;font-weight:400;text-transform:uppercase}.admin-thread-meta span{color:#176b9a;font-weight:800;text-transform:uppercase}.admin-conversation-click{align-self:center;color:#176b9a}.admin-notification-list{display:grid;border-top:1px solid var(--border)}.admin-notification-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:78px;border:0;border-bottom:1px solid var(--border);background:transparent;padding:11px 6px;color:var(--text);text-align:left}.admin-notification-row:hover,.admin-notification-row:focus-visible{background:var(--surface-2);outline:none}.admin-notification-row.is-unread{background:#f3fbf6}.admin-notification-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--green-2);color:var(--green)}.admin-notification-main{display:grid;gap:3px;min-width:0}.admin-notification-main strong{font-size:14px;font-weight:650}.admin-notification-main>span:not(.admin-notification-subject){overflow-wrap:anywhere;color:var(--muted);font-size:12px;line-height:1.35}.admin-notification-subject{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 6px;color:var(--green);font-size:12px;line-height:1.35}.admin-notification-subject>span{color:var(--muted);font-weight:500}.admin-notification-subject b{color:var(--text);font-weight:700}.admin-notification-subject small{color:var(--green);font-size:inherit;font-weight:600;white-space:nowrap}.admin-notification-row.is-unread .admin-notification-main strong{font-weight:800}.admin-notification-meta{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;white-space:nowrap}.admin-notification-meta svg{color:var(--green)}.admin-messages-state,.admin-messages-notice{display:grid;justify-items:center;gap:12px;padding:36px 18px;color:var(--muted);text-align:center}.admin-messages-notice p{max-width:420px;line-height:1.45;overflow-wrap:anywhere}.admin-thread-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.admin-thread-messages{display:grid;gap:10px;align-content:start;padding-bottom:4px}.admin-thread-message{width:min(88%,600px);border:1px solid var(--border);border-radius:8px;background:#f8fafc;padding:10px 12px}.admin-thread-message.is-own{justify-self:end;border-color:#b9d9ec;background:#e8f4fb}.admin-thread-message.is-player{justify-self:start}.admin-thread-message-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px;color:var(--muted);font-size:12px}.admin-thread-message-meta strong{color:var(--text)}.admin-thread-message p{font-size:14px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-line}.message-read-status{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-top:5px;color:#6b7280;font-size:11px;font-weight:600;line-height:1.2}.message-read-status.is-read{color:#1476a8}.admin-thread-reply{position:sticky;bottom:max(0px,env(safe-area-inset-bottom));z-index:2;display:grid;gap:7px;margin:6px -2px 0;border-top:1px solid #c8dce8;background:var(--surface);padding:10px 2px max(10px,env(safe-area-inset-bottom))}.admin-thread-reply label{font-size:13px;font-weight:800}.admin-thread-reply-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.admin-thread-reply textarea{min-height:72px;max-height:32dvh;resize:vertical}.admin-thread-reply .primary-action{min-width:94px;background:#176b9a}.admin-thread-reply .primary-action:hover:not(:disabled),.admin-thread-reply .primary-action:focus-visible{background:#145b85}.admin-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(100%,1180px);margin:0 auto}.admin-section-nav{position:sticky;top:max(8px,env(safe-area-inset-top));z-index:20;grid-column:1 / -1;display:flex;align-items:center;gap:10px;min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 8px 20px #1021391a;padding:8px 10px}.admin-section-nav-label{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:850;white-space:nowrap}.admin-section-nav-links{display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.admin-section-nav-links::-webkit-scrollbar{display:none}.admin-section-nav-links a{flex:0 0 auto;min-height:32px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);padding:7px 10px;font-size:12px;font-weight:750;line-height:16px;text-decoration:none;white-space:nowrap}.admin-section-nav-links a:hover,.admin-section-nav-links a:focus-visible{border-color:var(--green);background:var(--green-2);color:var(--green);outline:none}.admin-card[id^=admin-]{scroll-margin-top:calc(max(8px,env(safe-area-inset-top)) + 62px)}.admin-history-panel{gap:14px}.admin-history-panel>.section-title{margin-bottom:0}.admin-history-panel>.section-title small{color:var(--muted);font-size:12px;font-weight:750}.history-create-row{display:grid;grid-template-columns:minmax(210px,280px) auto;align-items:end;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--border)}.history-create-row .primary-action{min-height:42px}.history-load-error{border:1px solid #f0c9c9;border-radius:8px;background:var(--red-bg);color:var(--red);padding:12px;font-size:13px;font-weight:750}.history-admin-layout{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;gap:14px}.history-game-list{display:grid;align-content:start;gap:7px;max-height:740px;overflow-y:auto;padding-right:3px}.history-game-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:58px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:9px 10px;text-align:left}.history-game-option:hover,.history-game-option:focus-visible{border-color:#9bc7ab;outline:none}.history-game-option.is-active{border-color:var(--green);background:var(--green-2)}.history-game-option>span{display:grid;gap:3px;min-width:0}.history-game-option strong{overflow:hidden;font-size:13px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.history-game-option small{color:var(--muted);font-size:11px;font-weight:650}.history-game-option em,.history-status{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:6px;padding:0 7px;font-size:10px;font-style:normal;font-weight:850;white-space:nowrap}.history-game-option em.is-published,.history-status.is-published{background:var(--green-2);color:var(--green)}.history-game-option em.is-draft,.history-status.is-draft,.history-status.is-unsaved{background:var(--amber-bg);color:var(--amber)}.history-game-editor{display:grid;min-width:0;gap:12px}.history-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.history-editor-head>div{display:grid;gap:5px}.history-editor-head h2{font-size:18px}.history-editor-head p{max-width:720px;color:var(--muted);font-size:12px;line-height:1.4}.history-status{flex:0 0 auto;gap:5px;min-height:28px;font-size:11px}.history-editor-actions,.history-set-head>div{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.history-final-result-editor{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,360px);align-items:center;gap:12px 22px;border:1px solid #b8dec6;border-radius:8px;background:#f5fbf7;padding:14px}.history-final-result-copy{display:grid;gap:4px}.history-final-result-copy>span{color:var(--green);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.history-final-result-copy h3{font-size:16px}.history-final-result-copy p{max-width:560px;color:var(--muted);font-size:11px;line-height:1.4}.history-final-score-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:9px}.history-final-score-fields label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:10px;text-align:center}.history-final-score-fields label>span{overflow:hidden;color:var(--text);font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.history-final-score-fields input{min-height:42px;padding-inline:8px;color:var(--green);font-size:20px;font-weight:900;text-align:center}.history-final-score-separator{display:grid;height:42px;place-items:center;color:var(--muted);font-size:19px}.history-final-set-count{grid-column:1 / -1;border-top:1px solid rgba(17,109,47,.14);padding-top:9px;font-size:10px;font-weight:750}.history-final-set-count.is-valid{color:var(--green)}.history-final-set-count.is-warning{color:var(--amber)}.history-set-list{display:grid;gap:12px}.history-set-list-actions{display:flex;justify-content:flex-end;gap:7px;margin-bottom:-4px}.history-set-list-actions .small{min-height:30px;font-size:10px}.history-set-card{display:grid;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fbfcfd;padding:12px}.history-set-card.is-collapsed{gap:0;background:#fff;padding-block:9px}.history-set-body{display:grid;gap:12px}.history-set-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.history-set-toggle{display:flex;flex:1 1 auto;align-items:center;gap:10px;min-width:0;border:0;border-radius:7px;background:transparent;color:var(--text);padding:5px 6px;text-align:left}.history-set-toggle:hover{background:var(--surface-2)}.history-set-toggle:focus-visible{outline:2px solid rgba(17,109,47,.35);outline-offset:2px}.history-set-toggle-copy{display:flex;flex:1 1 auto;align-items:center;gap:12px;min-width:0}.history-set-toggle-copy>strong{flex:0 0 auto;font-size:15px}.history-set-toggle-summary{display:grid;flex:0 1 430px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;color:var(--muted);font-size:11px}.history-set-toggle-summary>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-set-toggle-summary>span:first-child{text-align:right}.history-set-toggle-summary b{border:1px solid #c9e8d8;border-radius:999px;background:var(--green-2);color:var(--green);padding:3px 7px;font-size:10px;white-space:nowrap}.history-set-toggle-summary b.is-unknown{border-color:var(--border);background:var(--surface-2);color:var(--muted)}.history-set-toggle>svg{flex:0 0 auto;color:var(--muted);transition:transform .16s ease}.history-set-toggle>svg.is-expanded{transform:rotate(90deg)}.history-set-head .small{min-height:32px;font-size:11px}.history-set-result{display:grid;grid-template-columns:minmax(130px,1fr) 92px 92px minmax(130px,1fr);gap:8px}.history-set-result label{font-size:11px}.history-set-result input{min-height:38px;padding-inline:10px}.history-set-score-note{margin-top:-5px;color:var(--muted);font-size:10px;line-height:1.35}.history-lineups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.history-set-lineup-note{margin:-2px 0 0;color:var(--muted);font-size:10px;line-height:1.35}.history-lineup-editor{display:grid;align-content:start;gap:9px;min-width:0;border-top:3px solid #a7cfb5;border-radius:7px;background:#fff;padding:10px;box-shadow:inset 0 0 0 1px var(--border)}.history-lineup-editor:nth-child(2){border-top-color:#a9c7e6}.history-lineup-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-lineup-title strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.history-lineup-title span{flex:0 0 auto;color:var(--muted);font-size:10px;font-weight:700}.history-player-list,.history-lineup-adders{display:grid;gap:6px}.history-player-list>.empty-state{min-height:42px;padding:10px;font-size:11px}.history-player-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:38px;border:1px solid var(--border);border-radius:7px;background:#fff;padding:4px 5px 4px 7px}.history-player-position{display:inline-grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:850}.history-player-row>span:nth-child(2){display:grid;gap:1px;min-width:0}.history-player-row strong{overflow:hidden;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.history-player-row small{color:var(--blue);font-size:9px;font-weight:750}.history-player-row-actions{display:flex;align-items:center;gap:3px}.history-player-row-actions button{display:inline-grid;width:26px;height:26px;place-items:center;border:0;border-radius:6px;background:var(--surface-2);color:var(--text);padding:0}.history-player-row-actions button.is-danger{background:var(--red-bg);color:var(--red)}.history-player-row-actions button:disabled{cursor:not-allowed;opacity:.35}.history-lineup-adders{padding-top:4px;border-top:1px dashed var(--border)}.history-add-player-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.history-add-player-row select,.history-add-player-row input{min-height:36px;padding-inline:9px;font-size:11px}.history-add-player-row .small{min-height:36px;font-size:10px}.history-add-set{justify-self:start;width:auto;min-height:38px;padding-inline:13px}@media(max-width:900px){.history-admin-layout{grid-template-columns:1fr}.history-game-list{grid-auto-flow:column;grid-auto-columns:minmax(190px,230px);overflow-x:auto;overflow-y:hidden;padding:0 0 4px}}@media(max-width:680px){.history-create-row,.history-lineups{grid-template-columns:1fr}.history-create-row .primary-action{width:100%}.history-final-result-editor{grid-template-columns:1fr}.history-final-score-fields{width:100%}.history-set-result{grid-template-columns:minmax(0,1fr) 84px}.history-set-result label:nth-child(3){grid-column:2;grid-row:2}.history-set-result label:nth-child(4){grid-column:1;grid-row:2}}@media(max-width:520px){.admin-history-panel{padding:13px 11px}.history-editor-head,.history-set-head{align-items:stretch;flex-direction:column}.history-editor-actions{display:grid;grid-template-columns:1fr}.history-editor-actions .primary-action,.history-editor-actions .secondary-action,.history-set-head .small{width:100%}.history-set-head>div{display:grid;grid-template-columns:1fr}.history-set-toggle{width:100%}.history-set-toggle-copy{gap:8px}.history-set-toggle-summary{gap:4px;font-size:10px}.history-set-toggle-summary b{padding-inline:5px;font-size:9px}.history-status{align-self:flex-start}.history-set-card{padding:10px 8px}.history-player-row{grid-template-columns:22px minmax(0,1fr)}.history-player-row-actions{grid-column:2;justify-content:flex-end}.history-add-player-row{grid-template-columns:1fr}.history-add-player-row .small{width:100%}}.admin-card,.admin-login-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 12px 26px #10213914}.admin-card{display:grid;align-content:start;gap:12px;padding:16px}.admin-card-wide{grid-column:1 / -1}.admin-login-card{display:grid;gap:16px;width:min(100%,430px);padding:22px}.admin-login-card .brand{margin-bottom:4px}.admin-error{display:block;border:1px solid #f2b9b9;border-radius:8px;background:var(--red-bg);color:var(--red);padding:10px 12px;font-size:13px;font-weight:800;text-align:left;cursor:pointer}.admin-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;color:var(--green);font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap}.admin-actions-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-session-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(86px,1fr);gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.admin-session-strip::-webkit-scrollbar{display:none}.admin-session-strip button{display:grid;gap:3px;min-height:64px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:8px}.admin-session-strip button.is-active{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.admin-session-strip button.is-holiday{border-color:#f0c9c9;background:var(--red-bg);color:var(--red)}.admin-session-strip button.is-holiday.is-active{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.admin-session-strip span{color:var(--green);font-weight:900}.admin-session-strip small{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.admin-session-strip button.is-holiday span{color:var(--red)}.admin-session-head{justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:12px}.admin-session-head p{margin-top:4px;color:var(--muted);font-size:13px;font-weight:700}.admin-session-head .holiday-line{color:var(--red);font-weight:900}.admin-session-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.admin-session-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-session-columns h3{margin-bottom:6px;font-size:14px}.schedule-tools-card,.team-rules-card{align-content:start}.schedule-form{display:grid;gap:10px;border-top:1px solid var(--border);padding-top:12px}.schedule-form:first-of-type{border-top:0;padding-top:0}.schedule-status{display:grid;gap:3px;border:1px solid #c9e8d8;border-radius:8px;background:var(--green-2);color:var(--green);padding:10px 12px}.schedule-status.is-cancelled{border-color:#f0c9c9;background:var(--red-bg);color:var(--red)}.schedule-status span{color:inherit;font-size:13px;font-weight:700}.schedule-status small{color:inherit;font-size:12px;font-weight:900}.schedule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.team-rules-actions{display:flex;flex-wrap:wrap;gap:8px}.team-rules-grid{display:grid;grid-template-columns:minmax(240px,.75fr) repeat(2,minmax(260px,1fr));gap:12px}.team-draw-stale-note{display:flex;align-items:flex-start;gap:10px;margin-top:14px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;padding:12px 14px;color:#991b1b;font-weight:750}.team-draw-stale-note strong{display:block;margin-bottom:2px;font-weight:950}.team-court.is-stale{opacity:.82}.team-rule-flags,.pair-editor{display:grid;align-content:start;gap:8px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px}.toggle-row.is-player-feature{border-top:1px solid var(--border);padding-top:9px}.toggle-row{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:9px;min-height:44px;color:var(--text);font-size:13px}.toggle-row input{width:18px;min-height:18px;margin-top:2px}.toggle-row span,.pair-editor>div:first-child{display:grid;gap:2px}.toggle-row small,.pair-editor small,.pair-list span{color:var(--muted);font-size:12px;font-weight:600;line-height:1.25}.pair-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px}.pair-list{display:flex;flex-wrap:wrap;gap:6px}.pair-list button{display:inline-flex;align-items:center;gap:6px;min-height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);padding:0 9px;font-size:12px;font-weight:800}.admin-people-list,.admin-sms-list{display:grid;align-content:start;gap:0;max-height:430px;overflow:auto}.admin-sms-list,.admin-people-list{max-height:none;overflow:visible}.admin-person-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:50px;border:0;border-bottom:1px solid var(--border);background:#fff;color:var(--text);padding:8px 0;text-align:left}.admin-table-wrap{overflow-x:auto}.admin-people-table{width:100%;border-collapse:collapse;min-width:1020px;font-size:13px}.admin-people-table th,.admin-people-table td{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left;vertical-align:middle}.admin-people-table th{color:#475467;font-size:12px;font-weight:900;text-transform:uppercase}.admin-people-table td small{display:block;margin-top:2px;color:var(--muted);font-size:12px;font-weight:650}.table-person-button{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;color:var(--text);padding:0;text-align:left}.table-person-copy{display:grid;min-width:0;gap:2px}.table-person-copy small{white-space:nowrap}.table-person-button strong{font-size:14px}.table-player-potential{flex:0 0 auto;margin-left:auto}.table-person-avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:999px;background:#eef1f5;color:#667085;overflow:hidden}.table-person-avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.profile-tags{display:flex;flex-wrap:wrap;gap:5px}.profile-tags span,.finance-status{display:inline-flex;align-items:center;min-height:26px;border-radius:8px;padding:0 8px;font-size:12px;font-weight:900}.profile-tags span{background:var(--surface-2);color:#344054;font-weight:600}.finance-status.is-even{background:var(--green-2);color:var(--green)}.player-app-status{display:inline-grid;align-items:center;gap:3px;min-height:26px;font-size:12px;font-weight:400;line-height:1.25;white-space:nowrap}.player-app-status.is-none{border-radius:8px;background:var(--surface-2);color:var(--muted);padding:5px 8px}.player-app-platform{display:grid;gap:1px;border-radius:8px;background:var(--green-2);color:var(--green);padding:5px 8px}.player-app-platform>span{display:inline-flex;align-items:center;gap:4px}.player-app-platform svg{flex:0 0 auto}.player-app-platform small{color:inherit;font-size:10px;font-weight:400}.player-app-platform[data-status=inactive]{background:var(--surface-2);color:var(--muted)}.player-app-platform[data-status=disconnected]{background:#fff1f0;color:#b42318}.admin-notification-form{display:grid;gap:10px}.admin-notification-form label{display:grid;gap:5px;font-size:13px;font-weight:850}.admin-notification-form textarea{min-height:92px;resize:vertical}.notification-player-picker{min-width:0;margin:0;border:1px solid var(--border);border-radius:8px;padding:10px 12px 12px}.notification-player-picker legend{padding:0 4px;font-size:13px;font-weight:850}.notification-player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;max-height:190px;overflow-y:auto}.admin-notification-form .notification-player-list .checkbox-line.compact{display:flex;align-items:center;gap:10px}@media(max-width:520px){.notification-player-list{grid-template-columns:1fr}}.notification-recipient-count{margin:0;font-size:12px}.push-journal-list,.push-recipient-list{display:grid}.push-journal-list{gap:8px}.push-campaign{overflow:hidden;border:1px solid var(--border);border-radius:8px}.push-campaign-summary{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:14px;width:100%;border:0;background:var(--surface);padding:12px 14px;color:var(--text);text-align:left}.push-campaign-summary:hover,.push-campaign-summary:focus-visible{background:var(--surface-2)}.push-campaign-title,.push-campaign-metrics{display:grid;gap:3px}.push-campaign-title strong{font-size:14px}.push-campaign-title small,.push-campaign-metrics small,.push-recipient-row small{color:var(--muted);font-size:11px}.push-campaign-metrics{min-width:128px;text-align:right}.push-campaign-metrics strong{color:var(--green);font-size:18px}.push-campaign-summary svg{transition:transform .16s ease}.push-campaign-summary svg.is-expanded{transform:rotate(90deg)}.push-campaign-details{display:grid;gap:10px;border-top:1px solid var(--border);background:var(--surface-2);padding:12px 14px}.push-campaign-totals{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px}.push-recipient-row{display:grid;grid-template-columns:minmax(0,1fr) auto 120px;align-items:center;width:100%;gap:12px;border-top:1px solid var(--border);border-right:0;border-bottom:0;border-left:0;background:transparent;color:var(--text);padding:9px 0;font-size:13px;text-align:left;cursor:pointer}.push-recipient-row:hover,.push-recipient-row:focus-visible{background:#0f7c3f0d}.push-recipient-row:first-child{border-top:0}.push-recipient-status{border-radius:6px;padding:4px 7px;font-size:11px;font-weight:800;white-space:nowrap}.push-recipient-status.is-read{background:var(--green-2);color:var(--green)}.push-recipient-status.is-opened{background:var(--blue-bg);color:var(--blue)}.push-recipient-status.is-dismissed{background:var(--surface-2);color:var(--muted)}.push-recipient-status.is-pending{background:var(--surface);color:var(--muted)}.finance-status.is-overpaid{background:var(--blue-bg);color:var(--blue)}.finance-status.is-due{background:var(--red-bg);color:var(--red)}.admin-person-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850}.fee-formula{display:grid;grid-column:1 / -1;gap:7px}.fee-formula>span{color:var(--text);font-size:13px;font-weight:800}.fee-formula-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:end;gap:10px}.fee-formula-row>span{align-self:center;color:var(--muted);font-size:20px;font-weight:900}.fee-formula-row>strong{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid #c9e8d8;border-radius:8px;background:var(--green-2);color:var(--green);padding:0 12px;white-space:nowrap}.section-title{gap:7px;margin-bottom:10px;font-size:14px;font-weight:900}.section-title-with-action{justify-content:space-between;gap:12px}.section-title-with-action>span,.import-file-action{display:inline-flex;align-items:center;gap:7px}.import-file-action{margin-left:auto;cursor:pointer}.import-file-action input{display:none}.sms-row,.ledger-row,.audit-row{justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--border);font-size:13px}.ledger-row.with-delete{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.ledger-row.with-delete span{min-width:0}.ledger-delete-button{display:inline-grid;width:28px;height:28px;place-items:center;border:1px solid #f0c9c9;border-radius:8px;background:var(--red-bg);color:var(--red);cursor:pointer}.ledger-delete-button:hover{border-color:#e59b9b}.sms-entry-main{display:grid;gap:3px;min-width:0}.sms-entry-main small{color:var(--red);font-size:12px;font-weight:400;line-height:1.25}.status-pill.waiting{background:var(--amber-bg);color:var(--amber)}.status-pill.confirmed,.status-pill.sent{background:var(--green-2);color:var(--green)}.status-pill.scheduled,.status-pill.sending{background:var(--blue-bg);color:var(--blue)}.status-pill.expired,.status-pill.failed,.status-pill.full{background:var(--red-bg);color:var(--red)}.status-pill.skipped{background:var(--surface-2);color:var(--muted)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:flex-end;justify-content:center;background:#10213957}.sheet-dismiss{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:transparent}.bottom-sheet{position:relative;z-index:1;width:min(100%,460px);max-height:min(86vh,760px);overflow:auto;border-radius:16px 16px 0 0;background:var(--surface);padding:14px 14px max(22px,env(safe-area-inset-bottom));box-shadow:var(--shadow)}.person-profile-backdrop{--profile-sheet-top: clamp(24px, 5vh, 72px);align-items:flex-start;overflow:auto;padding:var(--profile-sheet-top) 14px 18px}.photo-upload-backdrop,.info-sheet-backdrop,.install-help-backdrop{align-items:flex-start;overflow:auto;padding:clamp(64px,10vh,110px) 14px 18px}@media(max-width:520px){.info-sheet-backdrop{padding-top:clamp(40px,6vh,72px)}}.sms-reminder-backdrop{align-items:flex-start;overflow:auto;padding:clamp(72px,28vh,260px) 14px 18px}.signup-sheet-backdrop{align-items:flex-start;overflow:auto;padding:clamp(56px,12vh,120px) 14px 18px}.player-notifications-backdrop{align-items:flex-start;overflow-y:auto;padding:max(16px,env(safe-area-inset-top)) 14px 16px}.player-notifications-backdrop .bottom-sheet{max-height:calc(100dvh - 32px);overflow-y:auto;border-radius:16px;margin:0;padding-bottom:max(18px,env(safe-area-inset-bottom))}.player-notifications-form{display:grid;gap:16px}.player-notifications-form label{display:grid;gap:7px}.app-shell.player-messages-view{width:min(100%,760px);min-height:100dvh;margin:0 auto;border-radius:0;box-shadow:none}.player-messages-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:4px 2px 16px;border-bottom:1px solid var(--border)}.player-messages-back{min-width:0;white-space:nowrap}.player-messages-header h1{overflow-wrap:anywhere;font-size:24px}.player-messages-header p{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.3;overflow-wrap:anywhere}.player-inbox-panel,.player-thread-panel,.player-compose-panel{display:grid;gap:14px;min-height:0;padding-top:14px}.player-inbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.player-inbox-toolbar span{color:var(--muted);font-size:13px;font-weight:700}.player-conversation-list{display:grid;border-top:1px solid var(--border)}.player-conversation-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,auto);gap:10px;width:100%;min-height:76px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:12px 32px 12px 2px;text-align:left}.player-conversation-row:hover,.player-conversation-row:focus-visible{background:var(--surface-2);outline:none}.player-conversation-row.is-unread .player-conversation-title,.player-conversation-row.is-unread .player-conversation-preview,.player-conversation-row.is-unread .player-conversation-meta{font-weight:850}.player-conversation-row.is-read .player-conversation-title{font-weight:650}.player-conversation-row.is-read .player-conversation-preview,.player-conversation-row.is-read .player-conversation-meta{font-weight:400}.player-conversation-click{position:absolute;top:50%;right:4px;display:inline-grid;place-items:center;width:22px;height:22px;transform:translateY(-50%);color:var(--green)}.player-conversation-main,.player-conversation-meta{display:grid;min-width:0}.player-conversation-title,.player-conversation-preview,.player-conversation-meta span,.player-conversation-meta time{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-conversation-title{font-size:15px;line-height:1.25}.player-conversation-preview{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.3}.player-conversation-meta{justify-items:end;align-content:center;gap:5px;color:var(--muted);font-size:12px;line-height:1.25}.player-conversation-meta span{color:var(--green);font-weight:400;text-transform:uppercase;letter-spacing:0}.player-messages-state,.player-messages-notice{display:grid;justify-items:center;gap:12px;padding:34px 18px;color:var(--muted);text-align:center}.player-messages-notice p{max-width:390px;line-height:1.45;overflow-wrap:anywhere}.player-compose-panel label,.player-thread-reply label{display:grid;gap:7px}.player-compose-actions{display:flex;justify-content:flex-end;gap:10px}.player-thread-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.player-thread-meta span{color:var(--green);font-weight:800;text-transform:uppercase}.player-thread-messages{display:grid;gap:10px;align-content:start;padding-bottom:4px}.player-thread-message{width:min(88%,520px);border:1px solid var(--border);border-radius:8px;background:#f8fafc;padding:10px 12px}.player-thread-message.is-own{justify-self:end;border-color:#b9dfca;background:var(--green-2)}.player-thread-message.is-admin{justify-self:start}.player-thread-message-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px;color:var(--muted);font-size:12px}.player-thread-message-meta strong{color:var(--text)}.player-thread-message p{font-size:14px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-line}.player-thread-reply{position:sticky;bottom:max(0px,env(safe-area-inset-bottom));z-index:2;display:grid;gap:7px;margin:6px -2px 0;border-top:1px solid var(--border);background:var(--surface);padding:10px 2px max(10px,env(safe-area-inset-bottom))}.player-thread-reply-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.player-thread-reply textarea{min-height:72px;max-height:32dvh;resize:vertical}.player-thread-reply .primary-action{min-width:94px}.player-thread-footer{display:flex;justify-content:flex-start}.player-thread-delete{display:inline-flex;align-items:center;gap:5px;min-height:34px;color:var(--red);font-size:13px}.player-delete-confirm{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;color:var(--muted);font-size:13px}.player-delete-confirm span{min-width:0}.photo-upload-backdrop .bottom-sheet,.info-sheet-backdrop .bottom-sheet,.install-help-backdrop .bottom-sheet{max-height:none;overflow:visible;border-radius:16px;margin:0}.install-help-sheet{text-align:left}.install-help-logo{display:grid;place-items:center;width:64px;height:64px;margin:2px auto 4px;border-radius:50%;background:var(--surface-2)}.install-help-logo svg{width:34px;height:34px}.install-help-sheet ol{display:grid;gap:9px;margin:4px 0 8px;padding-left:24px;color:#344054;font-size:15px;line-height:1.4}.sms-reminder-backdrop .bottom-sheet{max-height:none;overflow:visible;border-radius:16px;margin:0}.signup-sheet-backdrop .bottom-sheet{max-height:calc(100vh - 92px);border-radius:16px;margin:0}.person-profile-backdrop .bottom-sheet{max-height:none;overflow:visible;border-radius:16px;margin-bottom:0}.history-sheet-backdrop{align-items:flex-start;overflow-y:auto;padding:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom))}.history-sheet-backdrop .history-sheet{width:min(100%,760px);max-height:calc(100dvh - 32px);margin:0;overflow-y:auto;border-radius:18px;padding:0 18px max(20px,env(safe-area-inset-bottom))}.history-sheet-header{position:sticky;top:0;z-index:5;margin:0 -18px 8px;border-bottom:1px solid var(--border);background:#fffffff5;padding:16px 18px 14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.history-sheet-header>div{min-width:0}.history-sheet-header h2{margin-top:3px}.history-sheet-kicker{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.history-public-content{display:grid;gap:16px}.history-public-state{display:grid;justify-items:center;gap:10px;min-height:260px;align-content:center;padding:28px 20px;color:var(--muted);text-align:center}.history-public-state>svg{color:var(--green)}.history-public-state strong{color:var(--text);font-size:17px}.history-public-state p{max-width:420px;line-height:1.45}.history-public-error p{color:var(--red)}.history-loading-ball{display:grid;place-items:center;width:54px;height:54px;border-radius:999px;background:var(--green-2);color:var(--green);animation:history-ball-pulse 1.15s ease-in-out infinite}@keyframes history-ball-pulse{50%{transform:scale(1.08) rotate(12deg)}}.history-date-section,.history-game-summary,.history-selected-set{min-width:0;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.history-date-section{padding:14px}.history-section-heading,.history-game-title,.history-selected-set-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.history-section-heading>div,.history-game-title>div,.history-selected-set-heading>div{min-width:0}.history-section-heading>span,.history-section-heading>div>span,.history-game-title>div>span,.history-selected-set-heading>div>span{color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.history-section-heading h3,.history-game-title h3,.history-selected-set-heading h3{margin-top:3px;overflow-wrap:anywhere}.history-section-heading>svg{flex:0 0 auto;color:var(--green)}.history-public-dates{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin}.history-date-button{display:grid;flex:0 0 auto;min-width:86px;min-height:56px;align-content:center;gap:2px;border:1px solid var(--border);border-radius:10px;background:#f8fafc;padding:7px 12px;color:var(--text);text-align:center}.history-date-button strong{font-size:14px}.history-date-button span{color:var(--muted);font-size:11px}.history-date-button.is-active{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 7px 16px #116d2f33}.history-date-button.is-active span{color:#ffffffd1}.history-game-summary{overflow:hidden}.history-game-title{padding:14px}.history-set-count{flex:0 0 auto;border-radius:999px;background:var(--green-2);padding:6px 10px;color:var(--green);font-size:12px;font-weight:850}.history-match-result{display:grid;justify-items:center;gap:7px;border-top:1px solid var(--border);background:#f8fafc;padding:12px 14px 14px;text-align:center}.history-match-result-label{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.history-match-score{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;width:min(100%,520px)}.history-match-score>span{min-width:0;color:var(--muted);font-size:14px;font-weight:750;overflow-wrap:anywhere}.history-match-score>span:first-child{text-align:right}.history-match-score>span:last-child{text-align:left}.history-match-score>span.is-winner{color:var(--green);font-weight:900}.history-match-score>strong{display:inline-flex;align-items:baseline;justify-content:center;gap:7px;min-width:92px;color:var(--green);font-size:28px;font-variant-numeric:tabular-nums;line-height:1}.history-match-score>strong b{font:inherit}.history-match-score>strong i{color:var(--muted);font-size:20px;font-style:normal}.history-match-standings{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.history-match-standings>span{display:inline-flex;align-items:center;gap:8px;min-height:34px;border:1px solid #c9e8d8;border-radius:8px;background:#fff;padding:5px 7px 5px 10px;color:var(--text);font-size:12px;font-weight:750}.history-match-standings strong{display:grid;min-width:24px;min-height:24px;place-items:center;border-radius:6px;background:var(--green);color:#fff;font-size:13px;font-variant-numeric:tabular-nums}.history-scoreboard{display:grid;border-top:1px solid var(--border)}.history-set-result-row{display:grid;grid-template-columns:58px repeat(2,minmax(0,1fr));align-items:stretch;width:100%;min-height:54px;border:0;border-bottom:1px solid var(--border);background:transparent;padding:0;color:var(--text);text-align:left}.history-set-result-row:last-child{border-bottom:0}.history-set-result-row:hover,.history-set-result-row:focus-visible{background:#f8fafc;outline:none}.history-set-result-row.is-active{background:var(--green-2);box-shadow:inset 4px 0 0 var(--green)}.history-set-label{display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:850}.history-result-team{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;border-left:1px solid var(--border);padding:9px 12px;color:var(--muted)}.history-result-team span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.history-result-team strong{font-size:18px;font-variant-numeric:tabular-nums}.history-result-team.is-winner{color:var(--green);font-weight:850}.history-selected-set{padding:14px}.history-selected-score{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;border-radius:10px;background:var(--green);padding:8px 11px;color:#fff}.history-selected-score strong{font-size:18px;font-variant-numeric:tabular-nums}.history-selected-score.is-unknown{border:1px solid var(--border);background:var(--surface-2);color:var(--muted)}.history-selected-score.is-unknown strong{font-size:12px}.app-shell .history-game-court{aspect-ratio:16 / 9;margin-top:12px}.history-game-court .history-team-side{gap:8px;padding:12px 12px 14px}.history-game-court .history-team-side header strong{max-width:100%;overflow-wrap:anywhere;border-radius:7px;background:#ffffffc7;padding:3px 7px;font-size:13px}.history-team-line{display:grid;grid-auto-flow:row;align-items:center;justify-items:center;gap:4px;min-width:0;min-height:0}.history-team-lineup-unknown{display:grid;grid-column:1 / -1;place-items:center;place-self:center;gap:5px;border:1px dashed rgba(17,109,47,.3);border-radius:9px;background:#ffffffb8;padding:10px 12px;color:var(--green);text-align:center}.history-team-lineup-unknown strong{font-size:11px;line-height:1.15}.app-shell .history-game-court .team-player-avatar{width:clamp(34px,6vw,46px);height:clamp(34px,6vw,46px)}.history-game-court .team-player-avatar.is-guest{border-style:dashed;border-color:#f5a623;background:#fff7e8;color:#b54708}.app-shell .history-game-court .history-player-marker{gap:3px}.app-shell .history-game-court .history-player-marker strong{max-width:92px;min-height:0;font-size:11px;line-height:1.02}.history-player-name{display:grid;justify-items:center;gap:1px;max-width:100%}.history-player-name small{border-radius:999px;background:#fff1d6;padding:1px 5px;color:#b54708;font-size:8px;font-weight:900;line-height:1.2;text-transform:uppercase}.history-rotation-note{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.4;text-align:center}.person-history-action{width:100%}.sheet-header{justify-content:space-between;margin-bottom:14px}.sheet-form,.new-person,.person-detail,.admin-panel,.settings-grid{display:grid;gap:12px}.search-field{display:flex;align-items:center;gap:8px;min-height:44px;border:1px solid var(--border);border-radius:8px;padding:0 10px}.search-field input{min-height:40px;border:0;padding:0}.search-field input:focus{box-shadow:none}.picker-list{display:grid;gap:0;max-height:min(52vh,460px);overflow:auto}.picker-empty{margin:0;padding:16px 6px;color:var(--muted);font-size:14px}.picker-row{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:56px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:#fff;color:var(--text);padding:8px 4px;text-align:left;font-size:16px}.picker-row>span:nth-child(2){flex:1}.picker-person-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#eef1f5;color:#667085;overflow:hidden}.picker-row.is-selected{border-color:var(--border);background:var(--green-2)}.picker-row small{color:var(--muted)}.new-person-cta{display:grid;gap:10px;margin-top:8px}.outline-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border:1px solid var(--green);border-radius:8px;background:var(--surface);color:var(--green);font-size:17px;font-weight:850}.compact-action{min-height:44px;font-size:15px}.photo-picker-list{max-height:min(44vh,360px)}.photo-person-summary{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;padding:10px;color:var(--text)}.new-person label span small{color:var(--muted);font-weight:500}.info-note{border:1px solid #b8d5ff;border-radius:8px;background:#f2f8ff;color:#244a76;padding:12px;font-size:13px;line-height:1.35}.warning-box{display:grid;gap:4px;border:1px solid #f2d39a;border-radius:8px;background:var(--amber-bg);color:var(--amber);padding:10px;font-size:13px}.person-hero{display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--border)}.avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:999px;background:#eef1f5;color:#667085;overflow:hidden}.person-hero p{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:13px;margin-top:3px}.profile-balance{display:inline-flex;align-items:center;min-height:30px;margin-top:8px;border:1px solid #ffd89c;border-radius:8px;background:#fff8eb;color:#e26a00;padding:0 10px;font-size:14px;font-weight:850}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid-full,.access-picker{grid-column:1 / -1}.checkbox-line{display:flex;align-items:center;gap:10px;min-height:42px;color:var(--text);font-size:13px;font-weight:800}.checkbox-line input{width:18px;min-height:18px;flex:0 0 auto;padding:0}.checkbox-line.compact{min-height:34px}.section-subtitle{margin-bottom:8px;color:var(--text);font-size:13px;font-weight:900}.access-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;border:1px solid var(--border);border-radius:8px;padding:8px}.profile-balance.good{border-color:#c9e8d8;background:var(--green-2);color:var(--green)}.profile-balance.info{border-color:#b8d5ff;background:var(--blue-bg);color:var(--blue)}.profile-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--border);padding-bottom:14px}.profile-stats>div{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:2px 10px;min-height:58px;color:#667085}.profile-stats>div+div{border-left:1px solid var(--border);padding-left:14px}.profile-stats svg{grid-row:span 2}.profile-stats span{font-size:13px;font-weight:750}.profile-stats strong{color:var(--text);font-size:18px}.profile-stats small{grid-column:2;color:var(--muted);font-size:12px;font-weight:700}.finance-card{display:grid;gap:0;border-bottom:1px solid var(--border);padding-bottom:12px}.finance-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:15px}.finance-row.total{margin-top:8px;border-top:1px solid var(--border);padding-top:14px;font-size:16px}.finance-row .good,.finance-row .good-text{color:var(--green)}.finance-row .bad{color:#ff2f2f}.finance-row .info{color:var(--blue)}.section-toggle{width:100%;border:0;background:transparent;color:var(--text);padding:0;text-align:left}.section-toggle svg:last-child{margin-left:auto;transition:transform .16s ease}.section-toggle svg:last-child.is-open{transform:rotate(90deg)}.admin-mini{border-top:1px solid var(--border);padding-top:12px}.admin-person-tools,.person-edit-form,.player-profile-form{display:grid;gap:10px}.collapsible-section{border-top:1px solid var(--border);padding-top:12px}.collapsible-section:first-child{border-top:0;padding-top:0}.collapsible-section .section-toggle{min-height:34px}.player-profile-form{padding-top:0}.player-profile-form h3{font-size:15px}.profile-section-rating{display:flex;align-items:center;gap:6px;margin-left:auto}.profile-section-rating small{color:var(--muted);font-size:11px;font-weight:750}.section-toggle .profile-section-rating+svg:last-child{margin-left:8px}.game-stats-section-summary{margin-left:auto;border:1px solid #c9e8d8;border-radius:999px;background:var(--green-2);color:var(--green);padding:3px 7px;font-size:10px;font-weight:850;line-height:1.2;white-space:nowrap}.section-toggle .game-stats-section-summary+svg:last-child{margin-left:8px}.game-stats-panel{display:grid;gap:10px;padding-top:6px}.game-stats-hero{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:12px;border:1px solid #d9e3de;border-radius:13px;background:linear-gradient(145deg,#fff,#f8fbf9);padding:13px}.game-stats-ring{display:grid;width:104px;aspect-ratio:1;place-items:center;border-radius:50%;box-shadow:0 8px 22px #1261301f}.game-stats-ring-inner{display:grid;width:76px;height:76px;place-content:center;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #12613014;text-align:center}.game-stats-ring-inner strong{color:var(--green);font-size:24px;font-weight:950;line-height:1}.game-stats-ring-inner span{margin-top:4px;color:var(--muted);font-size:9px;font-weight:800;line-height:1.1}.game-stats-outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.game-stats-outcome{display:grid;align-content:start;min-width:0;min-height:98px;border:1px solid;border-radius:10px;padding:9px}.game-stats-outcome>span{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:850;line-height:1.2}.game-stats-outcome strong{justify-self:center;width:100%;margin-top:7px;font-size:24px;font-weight:950;line-height:1;text-align:center}.game-stats-outcome small{margin-top:5px;font-size:9px;font-weight:750;line-height:1.25}.game-stats-outcome.is-win{border-color:#b7dec8;background:#edf8f1;color:var(--green)}.game-stats-outcome.is-loss{border-color:#efcaca;background:#fff3f3;color:#b4232a}.game-stats-trend{display:grid;gap:7px;overflow:hidden;border:1px solid #d9e3de;border-radius:12px;background:#fff;padding:11px 12px 10px}.game-stats-trend-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.game-stats-trend-heading>div{display:grid;gap:2px;min-width:0}.game-stats-trend-heading strong{color:var(--text);font-size:12px;font-weight:900}.game-stats-trend-heading span{color:var(--muted);font-size:9px;font-weight:700;line-height:1.3}.game-stats-trend-heading b{flex:0 0 auto;border:1px solid #c9e8d8;border-radius:999px;background:var(--green-2);color:var(--green);padding:4px 7px;font-size:10px;font-weight:900;white-space:nowrap}.game-stats-trend-chart{display:block;width:100%;height:auto;min-height:76px;overflow:visible}.game-stats-trend-guide{stroke:#b7c5be;stroke-width:1;stroke-dasharray:4 4}.game-stats-trend-line{fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.game-stats-trend-point{fill:#fff;stroke:var(--green);stroke-width:3}.game-stats-trend-scale{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:-5px;color:var(--muted);font-size:8px;font-weight:750;line-height:1.2}.game-stats-trend-scale span:nth-child(2){text-align:center}.game-stats-trend-scale span:last-child{text-align:right}.game-stats-trend>p{margin:0;color:var(--muted);font-size:9px;font-weight:650;line-height:1.35}.game-stats-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--border);border-radius:11px;background:#fff}.game-stats-meta>div{display:grid;align-content:center;min-width:0;min-height:64px;padding:8px 7px;text-align:center}.game-stats-meta>div+div{border-left:1px solid var(--border)}.game-stats-meta span{color:var(--muted);font-size:9px;font-weight:750;line-height:1.2}.game-stats-meta strong{margin-top:4px;color:var(--text);font-size:18px;font-weight:900}.game-stats-meta strong.is-positive{color:var(--green)}.game-stats-meta strong.is-negative{color:#b4232a}.game-stats-note{display:flex;align-items:flex-start;gap:6px;margin:0;color:var(--muted);font-size:10px;line-height:1.35}.game-stats-note svg{flex:0 0 auto;margin-top:1px}.game-stats-empty{display:flex;align-items:center;gap:10px;border:1px dashed #cfd8d3;border-radius:11px;background:#f8faf9;padding:13px;color:var(--muted)}.game-stats-empty>svg{flex:0 0 auto;color:#82918a}.game-stats-empty strong{color:var(--text);font-size:13px}.game-stats-empty p,.ledger-empty{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.35}@media(max-width:420px){.game-stats-hero{grid-template-columns:1fr;justify-items:center}.game-stats-outcomes,.game-stats-trend{width:100%}.game-stats-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.game-stats-meta>div:nth-child(3){border-top:1px solid var(--border);border-left:0}.game-stats-meta>div:nth-child(4){border-top:1px solid var(--border)}}.player-profile-editor{display:grid;gap:14px;padding-top:4px}.player-overall-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #b7dec8;border-radius:10px;background:var(--green-2);padding:10px 12px}.player-overall-card>span{display:grid;gap:2px}.player-overall-card small{color:var(--green);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.player-overall-card strong{font-size:13px}.profile-rating-badge.is-large{min-width:50px;min-height:38px;border-radius:10px;font-size:18px}.profile-control-block{display:grid;gap:8px}.profile-control-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.profile-control-heading strong{font-size:13px}.profile-control-heading small{color:var(--muted);font-size:11px;font-weight:700}.potential-scale,.profile-slider-row{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px}.profile-value-badge{display:inline-grid;place-items:center;width:42px;min-height:34px;border:1px solid transparent;border-radius:9px;font-size:15px;font-weight:950;font-variant-numeric:tabular-nums}.potential-stars{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));align-items:center;gap:2px;color:#596475}.potential-stars.is-low{color:#d92d20}.potential-stars.is-medium{color:#e05a16}.potential-stars.is-good{color:#175cd3}.potential-stars.is-excellent{color:#067647}.potential-stars.is-elite{color:#7f56d9}.potential-star{display:grid;place-items:center;min-width:0;padding:2px 0}.potential-star-graphic{position:relative;display:grid;place-items:center;width:100%;max-width:24px;aspect-ratio:1}.potential-star-graphic svg{width:100%;height:auto}.potential-star-outline{color:#c3c9d1}.potential-star-fill{position:absolute;top:0;right:0;bottom:0;left:0;color:inherit}.profile-slider-axis{display:grid;gap:1px}.profile-slider-axis input{width:100%;min-height:28px;margin:0;cursor:pointer}.profile-slider-axis input.is-low{accent-color:#d92d20}.profile-slider-axis input.is-medium{accent-color:#e05a16}.profile-slider-axis input.is-good{accent-color:#175cd3}.profile-slider-axis input.is-excellent{accent-color:#067647}.profile-slider-axis>span{display:flex;justify-content:space-between;padding:0 2px;color:var(--muted);font-variant-numeric:tabular-nums}.profile-slider-axis small{font-size:10px;font-weight:750}.profile-senior-check{margin-top:-2px}.add-player-feature-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px dashed #83b99a;border-radius:9px;background:#f6fbf8;color:var(--green);font-size:13px;font-weight:900}.new-feature-card{display:grid;gap:9px;border:1px solid #b7dec8;border-radius:10px;background:#f7fbf8;padding:11px}.new-feature-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.new-feature-heading button{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--muted)}.new-feature-card label{display:grid;gap:5px;font-size:12px;font-weight:800}.new-feature-card input{width:100%}.new-feature-range-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.save-player-profile{width:100%}.payment-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.payment-correction-action{grid-column:1 / -1;justify-self:start}.rules-list{display:grid;gap:12px}.rules-list section{border-bottom:1px solid var(--border);padding-bottom:10px}.rules-list section:last-child{border-bottom:0;padding-bottom:0}.rules-list h3{margin-bottom:4px;font-size:15px}.rules-list p{color:var(--muted);font-size:14px;line-height:1.4}.rules-list p+p{margin-top:6px}.audit-list{max-height:520px;overflow:auto}.audit-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.audit-context{display:grid;gap:3px}.audit-context span{color:var(--muted);font-size:13px}.audit-actions{display:flex;align-items:center;gap:8px}.audit-actions select{min-width:220px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px 12px;font:inherit;font-size:13px;font-weight:700;color:var(--text)}.audit-actions .secondary-action{min-width:118px;white-space:nowrap}.audit-row{display:grid;gap:3px}.audit-row small{color:var(--muted)}.toast{position:fixed;left:50%;bottom:88px;z-index:20;width:min(calc(100% - 28px),430px);transform:translate(-50%);border:0;border-radius:8px;background:var(--text);color:#fff;padding:13px 14px;font-weight:800;box-shadow:var(--shadow)}.monthly-signup-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;margin-top:28px;border:0;border-radius:8px;background:var(--green);color:#fff;font-size:18px;font-weight:900;box-shadow:0 12px 22px #0f7a4a29}.monthly-signup-action.is-session-signup{background:var(--blue);box-shadow:0 12px 22px #2668a829}.monthly-signup-action:disabled{cursor:not-allowed;background:#d0d5dd;box-shadow:none}.app-install-section{position:relative;margin-top:auto;padding:24px 34px 2px;text-align:center}.app-install-section h2{margin-bottom:9px;font-size:14px}.app-install-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-install-option{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text)}.app-install-option>svg{width:22px;height:22px;flex:0 0 auto}.app-install-option.is-android>svg,.install-help-logo.is-android{color:#178447}.app-install-option.is-ios>svg,.install-help-logo.is-ios{color:#111827}.app-install-option span{display:grid;gap:2px;text-align:left}.app-install-option strong{font-size:13px}.app-install-option small{color:var(--muted);font-size:11px;font-weight:700}.app-notification-action{display:inline-flex;align-items:center;gap:6px;margin-top:9px;border:0;background:transparent;color:var(--green);padding:5px 8px;font-size:12px;font-weight:850}.app-notification-action:hover,.app-notification-action:focus-visible{text-decoration:underline}.app-notification-enabled{display:inline-flex;align-items:center;gap:6px;margin:9px 0 0;color:var(--green);font-size:12px;font-weight:400}.app-admin-login{position:absolute;right:2px;bottom:0;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:6px;color:#98a2b3;text-decoration:none}.app-admin-login:hover,.app-admin-login:focus-visible{background:#f2f4f7;color:#667085;outline:none}.app-install-option:hover,.app-install-option:focus-visible{border-color:#8dc7a7;background:#f5fbf8;outline:none;box-shadow:0 0 0 3px #116d2f1a}.app-installed-note{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-size:13px;font-weight:500}.session-full-note{margin:26px 0 0;border:1px solid #b8d5ff;border-radius:8px;background:#f2f8ff;color:#244a76;padding:13px 14px;font-size:14px;line-height:1.35}.signup-closed-note{border-color:#a92318;background:#c83327;color:#fff;text-align:center;font-weight:900}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;align-items:center;justify-items:center;padding:14px;background:#10213957}.confirm-dialog{width:min(100%,430px);border-radius:16px;background:var(--surface);padding:18px;box-shadow:var(--shadow)}.data-cleanup-dialog{width:min(100%,640px);max-height:calc(100dvh - 28px);overflow-x:hidden;overflow-y:auto}body:has(.data-cleanup-dialog){overflow:hidden}.data-cleanup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.data-cleanup-header h2{margin:0}.data-cleanup-header p{margin:5px 0 0;color:var(--muted);font-size:13px;font-weight:650}.data-cleanup-selection-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;border-radius:9px;background:var(--surface-2);padding:10px 12px}.data-cleanup-selection-tools strong{font-size:13px}.data-cleanup-selection-tools span{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.data-cleanup-selection-tools button{border:0;background:transparent;color:var(--green);padding:3px 5px;font-size:12px;font-weight:800}.data-cleanup-selection-tools button:hover:not(:disabled),.data-cleanup-selection-tools button:focus-visible{background:var(--green-2)}.data-cleanup-checklist{display:grid;gap:12px;margin-top:12px}.data-cleanup-group{display:grid;gap:6px;min-width:0;margin:0;border:1px solid var(--border);border-radius:11px;padding:8px}.data-cleanup-group legend{margin-left:4px;padding:0 5px;color:#526278;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.data-cleanup-group.is-advanced{border-color:#f0d09c;background:#fffaf0}.data-cleanup-checkbox{display:grid;grid-template-columns:19px minmax(0,1fr);align-items:start;gap:10px;border:1px solid transparent;border-radius:8px;padding:9px 10px;cursor:pointer}.data-cleanup-checkbox:hover{border-color:#badbcc;background:#f5fbf7}.data-cleanup-checkbox:has(input:checked){border-color:#9ed8b8;background:var(--green-2)}.data-cleanup-checkbox.is-required{cursor:default}.data-cleanup-checkbox input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--green)}.data-cleanup-checkbox span{display:grid;gap:3px}.data-cleanup-checkbox strong{color:var(--text);font-size:14px}.data-cleanup-checkbox small{color:var(--muted);font-size:12px;font-weight:600;line-height:1.35}.data-cleanup-checkbox em{color:var(--green);font-size:11px;font-style:normal;font-weight:850}.data-cleanup-selected-action{width:100%;margin-top:14px}.data-cleanup-all{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:14px;border:1px solid #f4c7c3;border-radius:10px;background:#fff7f6;padding:12px}.data-cleanup-all span{display:grid;gap:3px;min-width:0}.data-cleanup-all strong{color:var(--red);font-size:14px}.data-cleanup-all small{color:#7f1d1d;font-size:11px;font-weight:650;line-height:1.35}.data-cleanup-all button{width:auto;min-width:190px}.data-cleanup-cancel{width:100%;margin-top:12px}.data-cleanup-confirmation{margin-top:16px;border:1px solid #f4c7c3;border-radius:10px;background:#fff7f6;padding:14px}.data-cleanup-confirmation h3{margin:0 0 7px;color:var(--red);font-size:18px}.data-cleanup-confirmation p{margin:0;color:var(--text)}.data-cleanup-selection-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:12px 0 0;border:1px solid var(--border);border-radius:9px;padding:12px 12px 12px 30px;color:#344054;font-size:13px;font-weight:700}.data-cleanup-warning{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;margin-top:16px;border:2px solid var(--red);border-radius:10px;background:var(--red-bg);color:var(--red);padding:14px}.data-cleanup-warning span{display:grid;gap:5px}.data-cleanup-warning strong{font-size:18px}.data-cleanup-warning small{color:#7f1d1d;font-size:14px;font-weight:700;line-height:1.4}@media(max-width:520px){.confirm-backdrop:has(.data-cleanup-dialog){align-items:end;padding:0}.data-cleanup-dialog{width:100%;max-height:calc(100dvh - max(10px,env(safe-area-inset-top)));border-radius:16px 16px 0 0;padding-bottom:max(18px,env(safe-area-inset-bottom))}.data-cleanup-selection-tools,.data-cleanup-all{align-items:stretch}.data-cleanup-selection-tools{flex-direction:column}.data-cleanup-all{grid-template-columns:minmax(0,1fr)}.data-cleanup-selection-tools span{justify-content:flex-start}.data-cleanup-all button{width:100%}.data-cleanup-selection-summary{grid-template-columns:minmax(0,1fr)}}.notification-message-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) 14px max(18px,env(safe-area-inset-bottom));background:#10213975}.notification-message-dialog{position:relative;width:min(100%,430px);max-height:calc(100dvh - 36px);overflow:auto;border-radius:16px;background:var(--surface);padding:22px 18px 18px;box-shadow:var(--shadow)}.notification-message-close{position:absolute;top:12px;right:12px}.notification-message-category{display:block;margin:2px 52px 8px 0;color:var(--green);font-size:13px;font-weight:800;text-transform:uppercase}.notification-message-category.is-danger{color:var(--red)}.notification-message-dialog h2{margin:0 48px 14px 0;font-size:24px;line-height:1.2}.notification-message-dialog p{margin:0 0 20px;color:var(--text);font-size:17px;line-height:1.5;white-space:pre-line}.player-inbox-message-dialog time{display:block;margin:-6px 0 16px;color:var(--muted);font-size:12px;font-weight:700}.message-thread-dialog{width:min(100%,560px)}.message-thread-person{margin:-6px 0 14px!important;color:var(--muted)!important;font-size:14px!important;font-weight:750}.message-thread{display:grid;gap:10px;max-height:min(46dvh,430px);overflow-y:auto;margin:0 -4px 16px;padding:4px}.message-thread-entry{width:min(88%,430px);border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:10px 12px}.message-thread-entry.is-own{justify-self:end;border-color:#9ed8b8;background:var(--green-2)}.message-thread-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:5px;font-size:12px}.message-thread-meta time{color:var(--muted);font-size:10px;font-weight:650}.message-thread-entry p{margin:0;font-size:14px;line-height:1.45}.message-thread-reply{display:grid;gap:7px;margin-bottom:14px;border-top:1px solid var(--border);padding-top:14px}.message-thread-reply label{font-size:13px;font-weight:800}.message-thread-reply textarea{min-height:78px;resize:vertical}.message-thread-reply .primary-action{min-height:44px}.message-thread-closed{margin-bottom:0!important;border-radius:8px;background:var(--red-bg);padding:10px 12px;color:var(--red)!important;font-size:13px!important;font-weight:750}.player-message-delete-dialog p{color:var(--muted);font-weight:650}.player-message-delete-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-message-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,.32fr);gap:10px}.notification-message-actions .secondary-action,.notification-message-actions .primary-action{min-height:46px}.admin-notification-person{display:flex;align-items:center;gap:10px;margin:-4px 0 18px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:10px 12px}.admin-notification-person span{display:grid;gap:2px}.admin-notification-person small{color:var(--muted)}.admin-notification-actions.has-person{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-notification-actions.has-person .primary-action{grid-column:1 / -1}.admin-player-message-dialog{display:grid;gap:12px}.admin-player-message-dialog h2{margin-bottom:2px}.admin-player-message-dialog label{display:grid;gap:6px;font-weight:700}.admin-player-message-dialog textarea{min-height:130px;resize:vertical}.admin-player-message-dialog input:disabled{background:var(--surface-2);color:var(--muted);opacity:1}.admin-player-message-actions{display:grid;grid-template-columns:minmax(100px,.4fr) minmax(0,1fr);gap:10px}.admin-player-message-actions button{min-height:46px}.photo-upload-backdrop input:disabled{border-color:var(--border);background:var(--surface-2);color:#667085;cursor:not-allowed;opacity:1}@media(max-width:420px){.notification-message-actions,.admin-notification-actions.has-person,.admin-player-message-actions{grid-template-columns:1fr}.admin-notification-actions.has-person .primary-action{grid-column:auto}}.confirm-dialog h2{margin-bottom:8px}.confirm-subject{display:grid;gap:6px;margin:10px 0 12px;border:1px solid #badbcc;border-radius:10px;background:#eefbf3;padding:12px}.confirm-subject strong{color:var(--text);font-size:22px;line-height:1.12}.confirm-subject span{color:#475467;font-size:16px;font-weight:800}.confirm-subject b{color:var(--green);font-size:18px}.confirm-dialog p{color:var(--muted);font-size:15px;line-height:1.45}.confirm-description{color:var(--text);font-weight:700}.confirm-phone-field{margin-top:14px}.confirm-phone-field span{color:var(--text);font-size:15px;line-height:1.3}.undo-cancellation-options{display:grid;gap:8px;margin-top:10px}.undo-cancellation-option{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 12px;cursor:pointer}.undo-cancellation-option.is-selected{border-color:var(--green);background:#eefbf3}.undo-cancellation-option input{margin-top:3px}.undo-cancellation-option span{display:grid;gap:3px;min-width:0}.undo-cancellation-option strong{color:var(--text);font-size:15px}.undo-cancellation-option small{color:var(--muted);font-size:13px;line-height:1.35}.confirm-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:10px;margin-top:18px}.mobile-nav{position:fixed;left:50%;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,460px);min-height:66px;transform:translate(-50%);border-top:1px solid var(--border);background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:6px 10px max(6px,env(safe-area-inset-bottom))}.mobile-nav button{display:grid;place-items:center;gap:3px;border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:850}.mobile-nav button.is-active{color:var(--green)}@media(max-width:900px){.admin-dashboard,.admin-session-columns,.team-rules-grid,.schedule-grid,.pair-controls{grid-template-columns:1fr}.audit-toolbar,.audit-actions{align-items:stretch;flex-direction:column}.audit-actions select{min-width:0;width:100%}}@media(max-width:520px){.confirm-backdrop{align-items:flex-start;overflow-y:auto;padding:max(72px,calc(env(safe-area-inset-top) + 54px)) 14px max(18px,env(safe-area-inset-bottom))}.confirm-dialog{max-height:calc(100dvh - max(90px,calc(env(safe-area-inset-top) + 72px)));overflow-y:auto}.push-campaign-summary{grid-template-columns:minmax(0,1fr) 20px}.push-campaign-metrics{grid-column:1 / -1;grid-row:2;min-width:0;text-align:left}.push-campaign-summary>svg{grid-column:2;grid-row:1}.push-recipient-row{grid-template-columns:minmax(0,1fr) auto}.push-recipient-row small{grid-column:1 / -1}.thursday-strip{gap:5px;margin:0 -5px;padding:2px 0 20px}.date-pill{gap:2px;min-height:114px;padding:8px 3px}.date-pill-extra-icon{top:5px;right:5px;width:13px;height:13px}.date-pill strong{font-size:14px}.date-pill em{font-size:11px}.date-pill small{font-size:9px;line-height:1.15}.date-pill span{font-size:14px}.team-court{min-height:0}.team-court.is-admin{aspect-ratio:6 / 5;min-height:340px}.team-mobile-summaries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px;margin-top:14px}.team-mobile-summary{overflow:hidden;border:1px solid #c9e8d8;border-radius:10px;background:#ffffffe0}.team-mobile-summary-toggle{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;min-height:42px;border:0;background:transparent;padding:8px 9px;color:var(--green);text-align:left}.team-mobile-summary-toggle strong{font-size:14px;line-height:1.2}.team-mobile-summary-toggle svg{flex:0 0 auto;transition:transform .16s ease}.team-mobile-summary-toggle svg.is-open{transform:rotate(90deg)}.team-mobile-summary-metrics{justify-content:flex-start;padding:0 8px 8px}.team-mobile-summaries+.team-court{margin-top:8px}.team-side{gap:8px;padding:12px 9px 14px}.team-court.is-admin .team-side{grid-template-rows:auto minmax(0,1fr);gap:4px}.team-side header{align-items:flex-start;flex-direction:column;gap:6px}.team-court.is-admin .team-side header>strong{border-radius:6px;background:#ffffffbd;padding:2px 5px;font-size:11px;font-weight:600;line-height:1.2}.team-court.is-admin .team-side header{display:flex}.team-court.is-admin .team-side-right header{align-items:flex-end;text-align:right}.team-court.is-admin .team-side-profile-total,.team-court.is-admin .team-side-metrics{display:none}.team-side-metrics{justify-content:flex-start}.team-players{gap:6px}.team-line{grid-template-rows:repeat(3,minmax(0,1fr));align-content:stretch;gap:6px}.team-line-count-1 .team-player-marker{grid-row:2;align-self:center}.team-line-count-2 .team-player-marker:nth-child(1){grid-row:1;align-self:center}.team-line-count-2 .team-player-marker:nth-child(2){grid-row:3;align-self:center}.team-line-count-3 .team-player-marker:nth-child(1){grid-row:1;align-self:center}.team-line-count-3 .team-player-marker:nth-child(2){grid-row:2}.team-line-count-3 .team-player-marker:nth-child(3){grid-row:3;align-self:center}.team-player-avatar{width:40px;height:40px}.team-player-marker strong{font-size:10px}.court-player-rating{min-width:25px;min-height:19px;padding:2px 4px;font-size:9px}}@media(min-width:700px){.app-shell{width:460px;min-height:calc(100vh - 64px);margin:32px auto;border-radius:22px;box-shadow:0 22px 60px #11182724}.topbar{display:flex;flex-wrap:nowrap;gap:8px;padding-bottom:18px}.topbar .brand{flex:1 1 auto}.topbar .month-label{flex:0 0 auto}.topbar .player-messages-button{width:34px;min-height:34px;padding:0}.topbar .public-history-button{width:34px;min-height:34px;height:34px;flex:0 0 auto;justify-content:center;padding:0}.topbar .public-history-button>span,.topbar .player-messages-label{display:none}.topbar h1{font-size:22px}.thursday-strip{grid-template-columns:repeat(auto-fit,minmax(78px,1fr))}.bottom-sheet{border-radius:16px;margin-bottom:24px}}@media(max-width:900px){.admin-page-header,.admin-session-head{align-items:flex-start;flex-direction:column}.admin-header-actions{width:100%;justify-content:flex-start}.admin-dashboard,.admin-actions-row,.admin-session-columns{grid-template-columns:1fr}}@media(max-width:640px){.player-messages-button{width:34px;height:30px;min-height:30px;gap:0;padding:0}.player-messages-label{display:none}}@media(max-width:520px){.admin-section-nav{margin-inline:-4px;padding-inline:8px}.admin-section-nav-label{font-size:11px}.admin-session-strip{grid-auto-columns:calc((100% - 24px)/4)}.admin-page-header{gap:12px;padding:12px}.admin-header-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.admin-header-actions .small,.admin-player-view-link{width:100%;min-height:36px;height:36px;justify-content:center;padding:0}.admin-header-action-label{display:none}.admin-shell.admin-messages-view{padding:max(12px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom))}.admin-messages-panel{min-height:calc(100dvh - max(28px,env(safe-area-inset-top)) - max(32px,env(safe-area-inset-bottom)));padding:14px 12px}.admin-messages-header{grid-template-columns:1fr;gap:8px}.admin-messages-back{justify-self:start}.admin-conversation-row{grid-template-columns:minmax(0,1fr) 20px;min-height:92px;padding-right:0}.admin-conversation-meta{grid-column:1;grid-row:2;justify-items:start;display:flex;gap:8px}.admin-conversation-click{grid-column:2;grid-row:1 / span 2}.admin-notification-row{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:9px}.admin-notification-meta{grid-column:2;justify-content:space-between;white-space:normal}.admin-thread-message{width:min(94%,600px)}.admin-thread-reply-row{grid-template-columns:1fr}.admin-thread-reply .primary-action{justify-self:end;width:auto}.photo-upload-backdrop{padding:max(12px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom))}.photo-upload-backdrop .bottom-sheet{max-height:calc(100dvh - 24px);overflow-y:auto}.photo-upload-backdrop .sheet-form{gap:12px}.photo-upload-backdrop textarea{min-height:132px}.topbar{align-items:center;gap:4px;padding-bottom:18px}.top-actions{display:flex;gap:8px}.brand{gap:6px}.brand-mark{width:30px;height:30px}.topbar h1{font-size:20px}.menu-button,.brand-info-button,.public-history-button{width:28px;height:30px}.player-messages-button{width:34px;height:30px;min-height:30px;gap:0;padding:0}.player-messages-label{display:none}.month-label{min-height:28px;padding-inline:10px;font-size:11px}.history-sheet-backdrop{padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))}.history-sheet-backdrop .history-sheet{max-height:calc(100dvh - 16px);border-radius:14px;padding-inline:12px}.history-sheet-header{margin-inline:-12px;padding:13px 12px 11px}.history-public-content{gap:12px}.history-date-section,.history-selected-set{padding:11px}.history-date-button{min-width:78px;min-height:52px;padding-inline:9px}.history-game-title{padding:11px}.history-game-title h3{font-size:16px}.history-match-result{padding:11px 9px 12px}.history-match-score{gap:8px}.history-match-score>span{font-size:12px}.history-match-score>strong{min-width:74px;gap:5px;font-size:25px}.history-match-score>strong i{font-size:17px}.history-set-result-row{grid-template-columns:50px repeat(2,minmax(0,1fr))}.history-result-team{gap:5px;padding:8px}.history-result-team span{font-size:11px}.history-result-team strong{font-size:16px}.app-shell .history-game-court{aspect-ratio:4 / 3}.history-game-court .history-team-side{gap:5px;padding:9px 6px 10px}.history-game-court .history-team-side header strong{padding:2px 5px;font-size:10px}.app-shell .history-game-court .team-player-avatar{width:32px;height:32px}.app-shell .history-game-court .history-player-marker strong{max-width:66px;font-size:9.5px}.history-player-name small{font-size:7px}.app-shell.player-messages-view{padding:max(12px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom))}.player-messages-header{grid-template-columns:1fr;gap:8px}.player-messages-back{justify-self:start}.player-inbox-toolbar{align-items:stretch;flex-direction:column}.player-inbox-toolbar .primary-action{width:100%}.player-conversation-row{grid-template-columns:minmax(0,1fr);padding-right:28px}.player-conversation-meta{justify-items:start}.player-thread-message{width:min(94%,520px)}.player-thread-reply-row{grid-template-columns:1fr}.player-thread-reply .primary-action{justify-self:end;width:auto}.player-delete-confirm{grid-template-columns:minmax(0,1fr) auto;align-items:start}.player-delete-confirm span{grid-column:1 / -1}.player-delete-confirm>button{justify-self:end}.settings-grid,.access-list,.fee-formula-row,.payment-form{grid-template-columns:1fr}.fee-formula-row>span{display:none}}
