@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#17231e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--ink:#17231e;--muted:#829089;--line:#e9ece6;--green:#2f7858;--dark-green:#1c4937;--mint:#eaf3ec;--white:#fff;background:#f7f8f5;font-family:DM Sans,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #8fc0a5}#root{min-height:100vh}::selection{color:#173c2c;background:#d7eddd}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:3;border-right:1px solid var(--line);background:#fff;flex-direction:column;width:238px;padding:28px 16px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--ink);letter-spacing:-1.3px;align-items:center;gap:10px;padding:0 9px;font:800 24px/1 Manrope,sans-serif;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--green);border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.brand-mark svg{width:21px;height:21px}.brand-dot{color:#eca96e}.nav-section-label{color:#9aa59f;letter-spacing:1.25px;margin:42px 10px 12px;font-size:9px;font-weight:700}.nav-link{color:#66746d;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;padding:11px 12px;font-size:12px;font-weight:500;display:flex}.nav-link.selected{color:#286547;background:#edf5ef;font-weight:700}.nav-icon{width:18px;height:18px;display:inline-flex}.nav-icon svg{width:18px;height:18px}.sidebar-bottom{margin-top:auto}.sidebar-tip{background:#f7f8f3;border:1px solid #eff0e9;border-radius:10px;flex-direction:column;gap:9px;padding:16px 14px;display:flex}.tip-icon{color:#d89c61;font-size:16px}.sidebar-tip strong{color:#35443a;font:700 12px/1.5 Manrope,sans-serif}.sidebar-tip>span:last-child{color:#8a968e;font-size:10px;line-height:1.5}.profile-row{align-items:center;gap:10px;padding:18px 5px 1px;display:flex}.profile-avatar,.avatar-button{color:#42674b;background:#d9e8d9;border:0;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.profile-row strong,.profile-row small{display:block}.profile-row strong{color:#38463e;font-size:11px}.profile-row small{color:#9ba49e;margin-top:2px;font-size:9px}.main-content{width:calc(100% - 238px);min-height:100vh;margin-left:238px}.topbar{border-bottom:1px solid var(--line);background:#ffffffd1;justify-content:space-between;align-items:center;height:66px;padding:0 48px;display:flex}.breadcrumbs{color:#96a19a;align-items:center;gap:11px;font-size:11px;display:flex}.breadcrumbs strong{color:#47574d;font-weight:600}.crumb-slash{color:#cbd1cb}.topbar-actions{align-items:center;gap:19px;display:flex}.connection-indicator{color:#87958b;align-items:center;gap:6px;font-size:10px;display:flex}.connection-indicator i{background:#69ad77;border-radius:50%;width:6px;height:6px}.avatar-button{width:29px;height:29px;font-size:10px}.page-content{max-width:1250px;margin:auto;padding:41px 48px 24px}.page-heading{justify-content:space-between;align-items:flex-end;margin-bottom:26px;display:flex}.eyebrow,.section-kicker{color:#84948a;letter-spacing:1.2px;font-size:9px;font-weight:700}.eyebrow{align-items:center;gap:8px;margin-bottom:9px;display:flex}.eyebrow-line{background:#89a591;width:18px;height:1px;display:inline-block}h1,h2,p{margin:0}h1,h2{font-family:Manrope,sans-serif}h1{color:#1c2b21;letter-spacing:-1.2px;font-size:31px;font-weight:700;line-height:1.2}.page-heading p{color:#87938c;margin-top:7px;font-size:12px}.primary-button{color:#fff;background:#276344;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:0 15px;font-size:11px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.primary-button:hover{background:#1e5338;transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.7}.primary-button svg{width:16px;height:16px}.error-banner{color:#9a4c3a;background:#fff5f1;border:1px solid #f1d3cb;border-radius:7px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:11px 14px;font-size:11px;display:flex}.error-banner button{color:inherit;background:0 0;border:0;font-size:18px}.beach-dashboard-heading{margin:3px 0 25px}.beach-dashboard-heading h1{margin-top:5px}.beach-dashboard-heading p{color:#87938c;margin-top:8px;font-size:12px}.beach-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.beach-dashboard-grid.has-active-play-day{grid-template-columns:repeat(4,minmax(0,1fr))}.beach-action-tile{color:#35443a;text-align:left;background:#fff;border:1px solid #e4eae2;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr) 18px;align-content:center;align-items:center;gap:7px 12px;min-height:126px;padding:18px;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid;position:relative}.beach-action-tile:hover{border-color:#b7cfbb;transform:translateY(-2px);box-shadow:0 8px 20px #2c54300d}.beach-tile-icon{color:#34704e;background:#edf5ef;border-radius:10px;grid-row:1/3;place-items:center;width:40px;height:40px;font-size:22px;display:grid}.beach-action-tile strong{align-self:end;font:700 13px Manrope,sans-serif}.beach-action-tile small{color:#8c9990;align-self:start;font-size:10px;line-height:1.5}.beach-tile-arrow{color:#85968a;grid-area:1/3/3;font-size:17px}.beach-action-primary{color:#fff;background:#285d41;border-color:#2f6849}.beach-action-primary:hover{background:#1e5338;border-color:#1e5338}.beach-action-primary .beach-tile-icon{color:#d3e4d4;background:#ffffff1a}.beach-action-primary small,.beach-action-primary .beach-tile-arrow{color:#c1d5c4}.beach-action-resume{color:#35443a;background:#fcf8ef;border-color:#dfcda9}.beach-action-resume:hover{background:#faf4e8;border-color:#ceb887}.beach-action-resume .beach-tile-icon{color:#96713b;background:#f5ead1}.beach-action-resume small,.beach-action-resume .beach-tile-arrow{color:#8c9990}.beach-history-page{min-height:65vh}.view-back-button{color:#607367;background:0 0;border:0;align-items:center;min-height:34px;margin:0 0 20px;padding:0;font-size:11px;font-weight:600;display:inline-flex}.view-back-button:hover{color:#286547}.beach-history-list{flex-direction:column;gap:8px;display:flex}.beach-history-card{color:#35443a;text-align:left;background:#fff;border:1px solid #e4eae2;border-radius:9px;align-items:center;gap:13px;min-width:0;min-height:74px;padding:8px 12px;display:flex}.beach-history-card:hover{background:#fbfdfb;border-color:#b7cfbb}.beach-history-open{min-width:0;min-height:56px;color:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:13px;padding:4px;display:flex}.beach-history-open:hover .beach-history-copy strong{color:#286547}.beach-history-card .delete-play-day-button{flex:none}.beach-history-owner-note{color:#909b93;font-size:9px}.delete-error{color:#9a4c3a;overflow-wrap:anywhere;background:#fff5f1;border:1px solid #f1d3cb;border-radius:7px;justify-content:space-between;align-items:flex-start;gap:10px;margin-top:14px;padding:10px 12px;font-size:10px;line-height:1.5;display:flex}.delete-error button{color:inherit;background:0 0;border:0;flex:none;font-size:17px;line-height:1}.beach-history-icon{color:#34704e;background:#edf5ef;border-radius:9px;flex:none;place-items:center;width:38px;height:38px;display:grid}.beach-history-icon svg{width:18px;height:18px}.beach-history-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.beach-history-copy strong{color:#35443a;text-overflow:ellipsis;white-space:nowrap;font:700 12px Manrope,sans-serif;overflow:hidden}.beach-history-copy small{color:#8c9990;font-size:9px}.beach-history-copy small span{padding:0 4px}.beach-history-arrow{color:#85968a;font-size:17px}.day-focus-toolbar{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.day-focus-toolbar .view-back-button{margin:0}.day-focus-toolbar .delete-play-day-button{margin-left:auto}.beach-groups-page{min-height:70vh;margin-bottom:0}.beach-groups-page>.view-back-button{margin-bottom:12px}.beach-groups-page .beach-groups-heading{align-items:center}.beach-groups-page .beach-groups-heading h1{margin-top:5px;font-size:25px}.beach-groups-page .beach-groups-heading p{max-width:520px;font-size:11px}.beach-start-page .standalone-playday-setup{max-width:740px;box-shadow:none;background:#fbfcfa;border:1px solid #e7ede5;border-radius:9px;margin-bottom:0;padding:18px}.beach-group-page-content{background:#fbfcfa;border:1px solid #e7ede5;border-radius:9px;max-width:740px;margin-top:22px;padding:18px}.beach-group-empty{align-items:center;gap:12px;margin-top:22px;display:flex}.beach-group-empty .beach-group-hint{margin:0}.beach-groups-panel{background:#fff;border:1px solid #dfe8de;border-radius:10px;margin-bottom:18px;padding:18px}.beach-groups-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.beach-groups-heading h2{color:#35443a;margin-top:5px;font:700 16px/1.3 Manrope,sans-serif}.beach-groups-heading p{color:#89968d;margin-top:5px;font-size:10px;line-height:1.5}.beach-group-picker{color:#627167;flex-direction:column;gap:6px;max-width:390px;margin-top:15px;font-size:10px;font-weight:600;display:flex}.beach-group-picker select,.beach-group-create input,.beach-group-inline-form input{color:#34443a;background:#fff;border:1px solid #e1e8df;border-radius:6px;min-width:0;min-height:36px;padding:8px 10px;font-size:11px}.beach-group-create,.beach-group-inline-form{align-items:flex-end;gap:8px;margin-top:12px;display:flex}.beach-group-create label,.beach-group-inline-form label{color:#65756a;flex-direction:column;flex:1;gap:5px;min-width:0;font-size:10px;font-weight:600;display:flex}.beach-group-management{min-width:0}.beach-group-management h3,.beach-group-standings h3{color:#445449;margin-bottom:10px;font:700 13px Manrope,sans-serif}.beach-group-members{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.beach-group-members span{color:#66756a;background:#fbfcfa;border:1px solid #e7ede5;border-radius:15px;padding:6px 9px;font-size:9px}.beach-group-management>.primary-button{width:100%;margin-top:4px}.beach-group-hint{color:#929e95;margin-top:9px;font-size:9px;line-height:1.5}.beach-group-standings{min-width:0}.beach-group-standings .table-scroll{max-height:235px;overflow:auto}.beach-group-standings table{width:100%}.beach-group-standings th,.beach-group-standings td{white-space:nowrap;padding:8px 7px}.beach-group-standings th{color:#8c9990;font-size:8px}.beach-group-standings td{color:#6b796f;font-size:9px}.beach-group-standings .player-name{font-size:9px}.beach-group-standings .player-linked-label{margin-left:32px}.manual-match-details{background:#fbfcfa;border:1px solid #e8eee6;border-radius:7px;margin:0 14px 12px}.manual-match-details summary{color:#53665a;cursor:pointer;align-items:center;gap:9px;min-height:42px;padding:8px 12px;list-style:none;display:flex}.manual-match-details summary::-webkit-details-marker{display:none}.manual-match-details summary:before{content:"+";color:#34704e;font-size:15px;font-weight:600}.manual-match-details[open] summary:before{content:"−"}.manual-match-details summary strong{font:700 10px Manrope,sans-serif}.manual-match-details summary span{color:#929e95;font-size:9px}.manual-match-form{background:#fbfcfa;border-top:1px solid #eff2ed;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px;display:grid}.manual-team-picker{flex-wrap:wrap;gap:7px;display:flex}.manual-team-picker h3{color:#526357;width:100%;font:700 11px Manrope,sans-serif}.manual-team-picker label{color:#627167;background:#fff;border:1px solid #e5ebe3;border-radius:6px;align-items:center;gap:5px;min-height:31px;padding:5px 8px;font-size:9px;display:flex}.manual-team-picker input{accent-color:#2f7858}.manual-match-versus{color:#9aa69c;align-self:center;font-size:9px;font-weight:700}.session-banner{color:#fff;background:#234e3a;border-radius:12px;justify-content:space-between;align-items:center;min-height:174px;padding:27px 32px;display:flex;position:relative;overflow:hidden}.session-copy{z-index:1;position:relative}.session-label{color:#b7d3bd;letter-spacing:1.15px;align-items:center;gap:8px;font-size:8px;font-weight:700;display:inline-flex}.session-pulse{background:#9cca8b;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #9cca8b26}.session-banner h2{letter-spacing:-.5px;margin-top:13px;font-size:23px;font-weight:600}.session-meta{color:#c0d0c3;gap:19px;margin-top:16px;display:flex}.session-meta span{align-items:center;gap:6px;font-size:10px;display:flex}.session-meta svg{opacity:.8;width:14px;height:14px}.session-art{background:linear-gradient(110deg,#0000 4%,#6c966a33 85%);width:46%;position:absolute;inset:0 0 0 auto;overflow:hidden}.sun-disc{opacity:.92;background:#e8b26f;border-radius:50%;width:112px;height:112px;position:absolute;top:24px;right:100px}.court-lines{border:1px solid #e9d7ad9c;border-radius:50%;width:290px;height:147px;position:absolute;bottom:-47px;right:-9px;transform:rotate(-12deg)}.court-lines:before{content:"";border:1px solid #e9d7ad80;border-radius:50%;position:absolute;inset:12px 14px}.court-lines span{background:#e9d7ad8a;width:1px;position:absolute;top:0;bottom:0;left:50%}.court-lines i{background:#e9d7ad66;height:1px;position:absolute;top:50%;left:0;right:0}.volleyball{color:#d7a35f;background:#f9f0da;border:2px solid #fff4d8;border-radius:50%;place-items:center;width:34px;height:34px;font-size:18px;display:grid;position:absolute;top:73px;right:52px;box-shadow:0 4px 12px #163c2a66}.palm-leaf{color:#a9c29f;opacity:.55;font-size:72px;position:absolute;top:8px;right:0;transform:rotate(95deg)}.stats-grid{grid-template-columns:repeat(3,1fr);gap:13px;margin-top:15px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:113px;padding:15px 17px}.stat-top{color:#8c9990;letter-spacing:.9px;justify-content:space-between;align-items:center;font-size:8px;font-weight:700;display:flex}.stat-icon{border-radius:7px;place-items:center;width:26px;height:26px;display:grid}.stat-icon svg{width:14px;height:14px}.stat-icon.green{color:#52835e;background:#eaf3e9}.stat-icon.sand{color:#a87843;background:#f8f0e2}.stat-icon.coral{color:#bd785f;background:#fbefeb}.stat-card>strong{color:#28382e;letter-spacing:-.8px;margin-top:5px;font:700 24px/1.2 Manrope,sans-serif;display:block}.stat-card>strong em{color:#9ca79f;letter-spacing:0;font-size:13px;font-style:normal;font-weight:500}.stat-card small{color:#a0aaa3;margin-top:2px;font-size:9px;display:block}.content-grid{grid-template-columns:minmax(0,1.65fr) minmax(245px,.95fr);gap:14px;margin-top:15px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;padding:17px 19px 14px;display:flex}.panel-heading h2{color:#2c3b31;letter-spacing:-.35px;margin-top:4px;font-size:15px;font-weight:700}.ranking-note{color:#98a39c;font-size:9px}.ranking-note span{color:#c0c8c1;padding:0 2px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}thead{background:#fafbf9}th{color:#9ca69e;letter-spacing:.7px;padding:9px 10px;font-size:8px;font-weight:700}th:first-child,td:first-child{padding-left:19px}td{color:#748178;border-bottom:1px solid #f1f3ef;height:36px;font-size:10px}tbody tr:last-child td{border-bottom:0}td:first-child{white-space:nowrap}.rank-badge{color:#a2aaa4;background:#f3f5f2;border-radius:6px;place-items:center;width:23px;height:23px;margin-right:9px;font-size:8px;font-weight:600;display:inline-grid}.rank-badge.first{color:#a67d3e;background:#f7f0df}.player-name{color:#45554a;font-weight:600}.wins-cell{color:#426c4d;font-weight:700}.positive-diff{color:#55845c}.leaderboard-footnote{color:#a1aaa3;border-top:1px solid #f0f2ed;align-items:center;gap:6px;padding:10px 19px;font-size:8px;display:flex}.leaderboard-footnote span{color:#90a793;font-size:11px}.text-button{color:#3e7652;background:0 0;border:0;padding:4px 0;font-size:9px;font-weight:600}.roster-list{padding:2px 18px 8px}.roster-person{color:#536157;align-items:center;gap:9px;min-height:38px;font-size:10px;font-weight:500;display:flex}.roster-avatar{color:#4a7451;background:#e7f0e6;border-radius:50%;place-items:center;width:25px;height:25px;font-size:8px;font-weight:700;display:grid}.avatar-1{color:#a56d50;background:#f6e8df}.avatar-2{color:#6075a0;background:#e7ecf6}.avatar-3{color:#927f3d;background:#f4edcf}.avatar-4{color:#79669d;background:#e8e3f2}.roster-games{color:#a1aaa3;margin-left:auto;font-size:8px;font-weight:400}.rotation-note{color:#7e8d80;background:#f5f8f3;border-radius:6px;align-items:center;gap:8px;margin:4px 14px 13px;padding:10px;font-size:8px;line-height:1.5;display:flex}.rotation-note span:first-child{color:#ba9d5e;font-size:13px}.schedule-panel{margin-top:15px}.schedule-heading{padding-bottom:13px}.schedule-heading h2{align-items:center;gap:8px;display:flex}.schedule-count{color:#54805b;background:#edf4ee;border-radius:5px;place-items:center;min-width:19px;height:19px;padding:0 4px;font:600 9px DM Sans,sans-serif;display:inline-grid}.top-player-matches{background:#f8faf6;border:1px solid #e3eadf;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin:14px;padding:16px;display:flex}.top-player-matches strong{color:#34473a;margin-top:5px;font:700 12px Manrope,sans-serif;display:block}.top-player-matches p{color:#849188;margin-top:5px;font-size:9px;line-height:1.5}.top-player-matches .primary-button{flex:none}.match-row{border-top:1px solid #f0f2ed;grid-template-columns:55px minmax(180px,1fr) 82px 76px 8px;align-items:center;gap:12px;min-height:61px;padding:8px 42px 8px 19px;display:grid;position:relative}.match-delete-button{color:#a45b4e;background:#fff;border:1px solid #f0dfda;border-radius:6px;place-items:center;width:25px;height:25px;font-size:17px;line-height:1;display:grid;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.match-delete-button:hover{background:#fff6f3;border-color:#dfb9b0}.match-index{color:#5b775e;flex-direction:column;gap:3px;font-size:9px;font-weight:700;display:flex}.match-index small{color:#a5aea7;font-size:8px;font-weight:500}.match-teams{align-items:center;gap:11px;min-width:0;display:flex}.team-names{color:#58665c;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.versus{color:#b6beb7;font-size:7px;font-weight:700}.save-score-button,.saved-status{color:#507457;background:#f5f9f4;border:1px solid #dfe9df;border-radius:5px;min-height:26px;padding:0 7px;font-size:8px;font-weight:600}.save-score-button:hover{background:#edf5ed;border-color:#9ebca0}.saved-status{color:#8ca092;background:0 0;border-color:#0000}.match-status-dot{background:#e0b26c;border-radius:50%;width:6px;height:6px}.match-done .match-status-dot{background:#78ad7c}.match-done .team-names{color:#829087}.page-footer{color:#a3aca5;justify-content:space-between;margin-top:21px;font-size:8px;display:flex}.page-footer span:last-child{letter-spacing:1px;font-size:7px;font-weight:700}.setup-card{background:#fff;border:1px solid #e2e9df;border-radius:10px;margin-bottom:18px;padding:20px;box-shadow:0 10px 30px #233a2410}.setup-heading{justify-content:space-between;align-items:flex-start;margin-bottom:17px;display:flex}.setup-heading h2,.empty-state h2{color:#2c3b31;margin-top:5px;font-size:18px}.setup-fields{grid-template-columns:1fr 180px;gap:14px;display:grid}.setup-card label{color:#65756a;flex-direction:column;gap:7px;font-size:10px;font-weight:600;display:flex}.setup-card input,.setup-card textarea{color:#39483e;background:#fcfdfb;border:1px solid #e3e9e1;border-radius:6px;width:100%;padding:10px 11px;font-size:11px}.setup-card select{color:#39483e;background:#fcfdfb;border:1px solid #e3e9e1;border-radius:6px;width:100%;min-height:36px;padding:8px 10px;font-size:11px}.setup-card input::placeholder,.setup-card textarea::placeholder{color:#adb7ae}.input-suffix{align-items:center;gap:9px;display:flex}.input-suffix input{width:75px}.input-suffix>span{color:#9aa69c;font-size:11px}.roster-field{margin-top:14px}.roster-field textarea{resize:vertical;min-height:105px;line-height:1.6}.field-note{color:#a0aaa2;font-size:9px;font-weight:400}.schedule-options{margin-top:15px}.schedule-description{color:#829087;margin-top:9px;font-size:9px;line-height:1.5}.setup-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.setup-footer>span{color:#929f94;font-size:9px}.empty-state{text-align:center;background:#fbfcfa;border:1px dashed #dfe7dd;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:380px;padding:50px 20px;display:flex}.empty-state h2{font-size:20px}.empty-state p{color:#89968d;max-width:430px;margin:9px 0 19px;font-size:11px;line-height:1.7}.match-score-display{color:#3f6048;text-align:center;font:700 11px Manrope,sans-serif}.back-button{color:#52775d;background:0 0;border:0;margin-bottom:20px;padding:0;font-size:10px;font-weight:600}.game-day-heading{justify-content:space-between;align-items:flex-end;margin-bottom:22px;display:flex}.game-day-heading .eyebrow{margin-bottom:8px}.game-day-heading p{color:#87938c;margin-top:8px;font-size:11px}.game-day-heading p span{color:#bac3bb;padding:0 4px}.game-day-progress{color:#50785a;letter-spacing:.5px;background:#edf4ee;border-radius:6px;padding:8px 10px;font-size:9px;font-weight:700}.game-day-progress span{color:#8da092}.previous-result{background:#f9fbf8;border:1px solid #e5ebe3;border-radius:9px;flex-direction:column;gap:9px;margin-bottom:15px;padding:14px 18px;display:flex}.previous-result-label{color:#87978b;letter-spacing:.9px;font-size:8px;font-weight:700}.previous-result-teams{color:#68766d;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;font-size:10px;display:grid}.previous-result-teams strong{color:#345b3e;white-space:nowrap;font:700 14px Manrope,sans-serif}.previous-result-teams span:last-child{text-align:right}.previous-not-scored{color:#a28a69;font-size:8px}.scoring-card{background:#fff;border:1px solid #e4eae2;border-radius:11px;padding:23px;box-shadow:0 8px 28px #263b2410}.scoring-card-top{justify-content:space-between;align-items:center;display:flex}.scoring-match-number{color:#98a49b;font-size:9px;font-weight:600}.scoring-teams{grid-template-columns:1fr 36px 1fr;align-items:center;gap:16px;margin-top:28px;display:grid}.scoring-team{background:#f7faf6;border:1px solid #e5ede3;border-radius:9px;flex-direction:column;justify-content:center;gap:13px;min-height:112px;padding:18px;display:flex}.scoring-team.team-b{background:#fbf8f3;border-color:#f0e8dd}.team-side-label{color:#8ba18d;letter-spacing:1px;font-size:8px;font-weight:700}.team-b .team-side-label{color:#aa9073}.scoring-team strong{color:#34473a;font:600 15px/1.5 Manrope,sans-serif}.scoring-versus{color:#a5b0a7;text-align:center;font-size:8px;font-weight:700}.scoring-input-row{justify-content:center;align-items:flex-end;gap:18px;margin-top:25px;display:flex}.scoring-input-row label{color:#7f8e83;text-align:center;flex-direction:column;gap:8px;font-size:9px;font-weight:600;display:flex}.scoring-input-row input{color:#2c4934;text-align:center;background:#fcfdfb;border:1px solid #e0e9df;border-radius:8px;width:86px;height:57px;font:700 24px Manrope,sans-serif}.scoring-input-row input::-webkit-inner-spin-button{appearance:none}.score-separator{color:#aab4ab;padding-bottom:17px;font-size:17px}.scoring-actions{border-top:1px solid #eff2ed;justify-content:space-between;align-items:center;margin-top:27px;padding-top:17px;display:flex}.scoring-actions>div{align-items:center;gap:9px;display:flex}.secondary-button{color:#637268;background:#fff;border:1px solid #e1e9e0;border-radius:7px;min-height:37px;padding:0 13px;font-size:10px;font-weight:600}.secondary-button:hover{background:#f6f9f5}.score-saved-note{color:#58805c;background:#f3f8f2;border:1px solid #dfeadd;border-radius:7px;margin-top:13px;padding:12px 14px;font-size:10px}.game-day-screen>.empty-state{margin-top:25px}.volleyball-celebration{z-index:60;width:100%;height:100dvh;padding:max(24px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));background:radial-gradient(at 50% 35%,#fffdf6 0%,#f5faf2 58%,#edf4ec 100%);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.volleyball-celebration-content{z-index:2;text-align:center;width:min(100%,760px);position:relative}.volleyball-celebration-content>.section-kicker{color:#a5771b}.volleyball-celebration-content h1{color:#344d37;margin:8px 0;font:800 clamp(30px,6vw,52px)/1.12 Manrope,sans-serif}.volleyball-celebration-score{color:#527254;font:700 22px Manrope,sans-serif}.volleyball-celebration-score span{color:#a5b0a7;padding:0 7px}.volleyball-match-winners{flex-wrap:wrap;justify-content:center;gap:10px;margin:22px auto 0;display:flex}.volleyball-match-winner{background:#fff;border:1px solid #dce9d9;border-radius:9px;flex-direction:column;align-items:center;gap:4px;min-width:min(100%,185px);padding:12px 16px;display:flex;box-shadow:0 5px 18px #2c5e3a0c}.volleyball-match-winner>span{color:#34473a;font-size:14px;font-weight:700}.volleyball-match-winner>strong{color:#4a7952;font:800 17px Manrope,sans-serif}.volleyball-match-winner>small{color:#869188;font-size:9px}.volleyball-podium{background:linear-gradient(130deg,#fff8df,#fffdf6 52%,#f5faef);border:1px solid #ecd68f;border-radius:12px;margin:26px auto 0;padding:20px;position:relative;overflow:hidden;box-shadow:0 10px 35px #98752b14}.volleyball-podium>.section-kicker{z-index:2;color:#a5771b;position:relative}.volleyball-podium-players{z-index:2;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;margin-top:15px;display:grid;position:relative}.volleyball-podium-player{background:#ffffffdc;border:1px solid #e7e9e3;border-radius:9px;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:14px 8px;display:flex}.volleyball-podium-player.podium-place-1{background:#fff9e8;border-color:#e7c55e}.volleyball-podium-player.podium-place-2{border-color:#cbd2d3}.volleyball-podium-player.podium-place-3{border-color:#d7ae91}.volleyball-medal{font-size:32px;line-height:1}.volleyball-podium-player>strong{color:#394b3d;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.volleyball-podium-player>small{color:#7d897f;font-size:9px}.volleyball-podium-rank{color:#9a7a32;font:800 13px Manrope,sans-serif}.volleyball-celebration-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:22px;display:flex}.volleyball-celebration-actions .primary-button,.volleyball-celebration-actions .secondary-button{min-height:46px;padding:0 20px;font-size:12px}.volleyball-fireworks{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.volleyball-fireworks span{opacity:0;background:radial-gradient(circle at 50% 0,#e8a92a 0 2px,#0000 3px),radial-gradient(circle at 85% 15%,#e66c58 0 2px,#0000 3px),radial-gradient(circle at 100%,#e8a92a 0 2px,#0000 3px),radial-gradient(circle at 85% 85%,#77a66e 0 2px,#0000 3px),radial-gradient(circle at 50% 100%,#e66c58 0 2px,#0000 3px),radial-gradient(circle at 15% 85%,#e8a92a 0 2px,#0000 3px),radial-gradient(circle at 0%,#77a66e 0 2px,#0000 3px),radial-gradient(circle at 15% 15%,#e66c58 0 2px,#0000 3px);border-radius:50%;width:74px;height:74px;animation:2.4s ease-out infinite volleyball-firework;position:absolute}.volleyball-fireworks>span:first-child{top:12%;left:18%}.volleyball-fireworks>span:nth-child(2){animation-delay:.6s;top:17%;right:16%}.volleyball-fireworks>span:nth-child(3){animation-delay:1.2s;top:62%;right:24%}.volleyball-fireworks>span:nth-child(4){animation-delay:1.8s;top:68%;left:22%}.volleyball-podium-fireworks span{background:radial-gradient(circle at 50% 0,#ffd84c 0 3px,#0000 4px),radial-gradient(circle at 85% 15%,#f3b735 0 3px,#0000 4px),radial-gradient(circle at 100%,#fff0a6 0 3px,#0000 4px),radial-gradient(circle at 85% 85%,#e7aa32 0 3px,#0000 4px),radial-gradient(circle at 50% 100%,#ffe276 0 3px,#0000 4px),radial-gradient(circle at 15% 85%,#d89c29 0 3px,#0000 4px),radial-gradient(circle at 0%,#fff0a6 0 3px,#0000 4px),radial-gradient(circle at 15% 15%,#f3b735 0 3px,#0000 4px);width:92px;height:92px;animation-duration:1.8s}.volleyball-podium-fireworks>span:first-child{animation-delay:.2s;top:28%;left:4%}.volleyball-podium-fireworks>span:nth-child(2){animation-delay:.7s;top:30%;right:5%}.volleyball-podium-fireworks>span:nth-child(3){animation-delay:1.1s;top:70%;left:7%}.volleyball-podium-fireworks>span:nth-child(4){animation-delay:1.5s;top:72%;right:8%}@keyframes volleyball-firework{0%{opacity:0;transform:scale(.15)}18%{opacity:.9}70%{opacity:.65}to{opacity:0;transform:scale(1.25)}}@media (prefers-reduced-motion:reduce){.volleyball-fireworks span{opacity:.45;animation:none;transform:scale(.7)}}@media (width<=1050px){.sidebar{width:205px}.main-content{width:calc(100% - 205px);margin-left:205px}.page-content,.topbar{padding-left:27px;padding-right:27px}.content-grid{grid-template-columns:minmax(0,1.3fr) minmax(220px,.9fr)}.match-row{grid-template-columns:43px minmax(140px,1fr) 78px 67px 7px;gap:8px;padding-left:12px;padding-right:39px}}@media (width<=760px){.sidebar{flex:0 0 58px;align-items:center;width:58px;padding:17px 7px;position:static}.brand{padding:0}.brand>span:last-child,.nav-section-label,.nav-link:not(.selected),.nav-link.selected,.sidebar-bottom{display:none}.nav-link.selected{justify-content:center;width:38px;height:38px;margin-top:35px;padding:0;font-size:0;display:flex}.main-content{width:calc(100% - 58px);margin-left:0}.topbar{height:57px;padding:0 17px}.page-content{padding:27px 17px 20px}.page-heading{align-items:flex-start;gap:12px}.page-heading .primary-button{flex:none;padding:0 10px;font-size:10px}.page-heading .primary-button svg{width:14px}h1{font-size:27px}.session-banner{min-height:160px;padding:24px 20px}.session-art{opacity:.72;width:42%}.sun-disc{width:82px;height:82px;right:40px}.volleyball{right:22px}.session-meta{gap:12px}.session-meta span{font-size:9px}.stats-grid{gap:8px}.stat-card{min-height:102px;padding:12px 10px}.stat-top{letter-spacing:.4px;font-size:7px}.stat-card>strong{font-size:21px}.content-grid{grid-template-columns:1fr}.rotation-panel{display:none}.match-row{grid-template-columns:37px minmax(90px,1fr) 72px 59px 6px;gap:5px;padding:8px 35px 8px 8px}.match-teams{gap:5px}.team-names{font-size:8px}.save-score-button,.saved-status{padding:0 4px;font-size:7px}.beach-groups-panel{padding:14px}.manual-match-details{margin:0 10px 10px}.manual-match-form{grid-template-columns:minmax(0,1fr);padding:10px}.manual-match-versus{justify-self:center}.manual-match-form>.primary-button{width:100%}.top-player-matches{flex-direction:column;align-items:stretch;margin:10px;padding:13px}.top-player-matches .primary-button{justify-content:center;width:100%}}@media (width<=470px){.breadcrumbs{gap:6px;font-size:9px}.beach-groups-heading{flex-direction:column;align-items:stretch}.beach-groups-heading>.secondary-button{width:100%}.beach-group-create,.beach-group-inline-form{flex-direction:column;align-items:stretch}.beach-group-create .primary-button,.beach-group-inline-form .secondary-button{width:100%}.connection-indicator{display:none}.page-heading{flex-direction:column;align-items:flex-start}.session-banner h2{max-width:210px;font-size:19px}.session-art{opacity:.45;width:37%}.session-meta{flex-wrap:wrap;row-gap:8px}.stats-grid{grid-template-columns:1fr 1fr}.stat-card:last-child{display:none}.panel-heading{padding-left:12px;padding-right:12px}.ranking-note{text-align:right;max-width:95px;line-height:1.5}th:first-child,td:first-child{padding-left:12px}.match-row{grid-template-columns:33px minmax(80px,1fr) 64px 6px;gap:5px}.save-score-button,.saved-status{display:none}.setup-fields{grid-template-columns:1fr}.schedule-options{gap:12px}.setup-footer{flex-direction:column;align-items:flex-start}.game-day-heading{align-items:flex-start;gap:12px}.game-day-progress{flex:none;margin-top:30px}.scoring-card{padding:16px}.scoring-teams{grid-template-columns:1fr 24px 1fr;gap:7px;margin-top:19px}.scoring-team{min-height:105px;padding:11px}.scoring-team strong{font-size:12px}.scoring-actions{gap:8px}.scoring-actions>div{gap:6px}.scoring-actions .secondary-button,.scoring-actions .primary-button{padding:0 9px;font-size:9px}.previous-result-teams{grid-template-columns:1fr auto 1fr;gap:6px;font-size:8px}.previous-result-teams strong{font-size:11px}}.auth-loading{color:#708078;place-items:center;min-height:100vh;font-size:13px;display:grid}.auth-page{background:radial-gradient(at 50% 0,#eaf3ec 0,#f7f8f5 55%);place-items:center;min-height:100vh;padding:28px 18px;display:grid}.auth-card{background:#fff;border:1px solid #e6ebe4;border-radius:14px;width:min(100%,410px);padding:31px;box-shadow:0 16px 55px #18332112}.auth-brand{margin-bottom:32px;padding:0}.auth-card h1{margin-top:8px;font-size:27px}.auth-card>p{color:#849188;margin-top:7px;font-size:12px;line-height:1.6}.auth-card form{flex-direction:column;gap:15px;margin-top:22px;display:flex}.auth-card form label{color:#5e6f64;flex-direction:column;gap:7px;font-size:11px;font-weight:600;display:flex}.auth-card form input{color:#34443a;background:#fcfdfb;border:1px solid #e1e8df;border-radius:7px;width:100%;min-height:43px;padding:10px 12px;font-size:13px}.auth-card form label small{color:#96a198;font-size:9px;font-weight:400}.auth-submit{width:100%;min-height:45px;margin-top:4px;font-size:12px}.auth-switch{color:#849188;text-align:center;margin-top:20px;font-size:10px}.auth-switch button{color:#2f7858;font-size:inherit;background:0 0;border:0;padding:0;font-weight:700}.topbar-user{color:#637268;text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:10px;overflow:hidden}.sign-out-button{color:#66756b;background:#fff;border:1px solid #e2e9e1;border-radius:6px;min-height:34px;padding:0 10px;font-size:9px;font-weight:600}.android-app-download{color:#2f6849;white-space:nowrap;background:#f3f8f2;border:1px solid #d5e4d5;border-radius:6px;justify-content:center;align-items:center;min-height:34px;padding:0 10px;font-size:9px;font-weight:700;text-decoration:none;display:inline-flex}.android-app-download:hover{background:#edf5ed;border-color:#9ebca0}.auth-app-download{width:100%;margin-top:16px}.delete-play-day-button{color:#a45b4e;background:#fff;border:1px solid #f0dfda;border-radius:7px;min-height:39px;padding:0 12px;font-size:10px;font-weight:600}.delete-play-day-button:hover{background:#fff6f3}.dialog-backdrop{z-index:20;background:#1b2b2080;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.delete-dialog{background:#fff;border-radius:12px;width:min(100%,390px);padding:24px;box-shadow:0 20px 70px #101a1550}.delete-dialog h2{color:#34433a;margin-top:8px;font-size:18px}.delete-dialog p{color:#7d8981;margin-top:9px;font-size:11px;line-height:1.6}.delete-dialog>div{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.danger-button{color:#fff;background:#a84e40;border:0;border-radius:7px;min-height:38px;padding:0 12px;font-size:10px;font-weight:600}.danger-button:hover{background:#913e32}.danger-button:disabled{cursor:wait;opacity:.7}.player-linked-label{color:#91a097;margin-left:32px;font-size:8px;display:block}@media (width<=760px){body{min-width:320px}.app-shell{min-width:0;display:block}.sidebar{z-index:10;width:100%;height:calc(62px + env(safe-area-inset-bottom));padding:5px 12px calc(5px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e7ece5;border-right:0;flex-direction:row;justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -4px 18px #2134260c}.sidebar .brand,.sidebar .nav-section-label,.sidebar .sidebar-bottom{display:none}.sidebar .nav-link,.sidebar .nav-link:not(.selected),.sidebar .nav-link.selected{flex-direction:column;flex:1;justify-content:center;gap:3px;width:auto;max-width:190px;height:48px;margin:0;padding:4px;font-size:9px;display:flex}.sidebar .nav-icon,.sidebar .nav-icon svg{width:20px;height:20px}.main-content{width:100%;min-width:0;padding-bottom:calc(68px + env(safe-area-inset-bottom));margin-left:0}.app-shell.scoring-mode .sidebar{display:none}.app-shell.scoring-mode .main-content{padding-bottom:0}.app-shell.scoring-mode .page-content{padding-bottom:28px}.topbar{z-index:5;gap:8px;height:57px;padding:0 14px;position:sticky;top:0}.breadcrumbs{gap:6px;min-width:0;font-size:9px}.breadcrumbs>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-actions{flex:none;gap:7px}.connection-indicator{display:none}.topbar-user{max-width:78px;font-size:9px}.sign-out-button{min-height:34px;padding:0 8px;font-size:9px}.page-content{min-width:0;padding:25px 16px calc(110px + env(safe-area-inset-bottom))}.beach-dashboard-heading{margin-bottom:18px}.beach-dashboard-grid{gap:9px}.beach-dashboard-grid,.beach-dashboard-grid.has-active-play-day{grid-template-columns:repeat(2,minmax(0,1fr))}.beach-action-tile{grid-template-columns:35px minmax(0,1fr) 12px;gap:6px 9px;min-height:112px;padding:13px}.beach-tile-icon{width:34px;height:34px;font-size:19px}.beach-action-tile strong{font-size:11px}.beach-action-tile small{font-size:9px}.day-focus-toolbar{gap:8px}.day-focus-toolbar .delete-play-day-button{min-height:38px;padding:0 9px;font-size:9px}.beach-groups-page{padding:14px}.beach-groups-page .beach-groups-heading{align-items:flex-start}.beach-group-page-content{padding:13px}.beach-history-card{gap:6px;min-height:68px;padding:7px}.beach-history-open{gap:8px;padding:2px}.beach-history-card .delete-play-day-button{min-height:36px;padding:0 8px;font-size:9px}.page-heading{align-items:flex-start;gap:14px}.delete-play-day-button{white-space:nowrap;min-height:42px}.session-banner{min-height:150px;padding:22px 19px}.session-art{opacity:.44;width:38%}.session-banner h2{overflow-wrap:anywhere;max-width:70%;font-size:21px}.session-meta{flex-wrap:wrap;gap:8px 13px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{min-width:0;min-height:103px;padding:12px}.stat-card:last-child{display:block}.stat-top{letter-spacing:.45px;gap:4px;font-size:7px}.stat-card>strong{font-size:22px}.content-grid{grid-template-columns:minmax(0,1fr);gap:12px}.rotation-panel{display:block}.schedule-panel{min-width:0}.schedule-heading{align-items:center;gap:8px}.schedule-heading h2{font-size:13px}.schedule-heading .primary-button{white-space:nowrap;min-height:38px;padding:0 9px;font-size:9px}.schedule-heading .primary-button svg{width:13px}.match-row{grid-template-columns:35px minmax(0,1fr) 62px;gap:5px 7px;padding:10px 11px}.match-index{grid-area:1/1}.match-teams{grid-area:1/2;gap:5px;min-width:0}.team-names{min-width:0;font-size:9px}.match-score-display{grid-area:1/3;font-size:10px}.save-score-button,.saved-status{grid-area:2/2/auto/4;justify-self:start;min-height:34px;padding:0 10px;font-size:9px}.match-status-dot{display:none}.leaderboard-panel{min-width:0}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}table{min-width:360px}.setup-card{padding:16px}.setup-fields{grid-template-columns:minmax(0,1fr) minmax(90px,.7fr);gap:10px}.setup-card label{min-width:0}.game-day-heading{align-items:flex-start}.game-day-heading h1{font-size:25px}.game-day-heading p{max-width:240px;line-height:1.6}.game-day-progress{white-space:nowrap;margin-top:30px}.scoring-card{padding:16px}.scoring-teams{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:7px;margin-top:19px}.scoring-team{min-width:0;min-height:105px;padding:11px}.scoring-team strong{overflow-wrap:anywhere;font-size:12px}.scoring-actions{gap:8px}.scoring-actions>div{gap:6px}.scoring-actions .secondary-button,.scoring-actions .primary-button{min-height:40px;padding:0 9px;font-size:9px}.previous-result{padding:12px}.previous-result-teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;font-size:8px}.previous-result-teams strong{font-size:11px}.page-footer{padding-bottom:3px}}@media (width<=470px){.page-content{padding-left:12px;padding-right:12px}.volleyball-celebration{padding-left:14px;padding-right:14px}.volleyball-match-winners{gap:7px;margin-top:16px}.volleyball-match-winner{min-width:calc(50% - 5px);padding:10px 8px}.volleyball-podium{margin-top:18px;padding:14px 9px}.volleyball-podium-players{gap:5px}.volleyball-podium-player{gap:5px;padding:10px 4px}.volleyball-medal{font-size:26px}.volleyball-podium-player>strong{font-size:10px}.volleyball-podium-player>small{font-size:8px}.volleyball-celebration-actions{flex-direction:column;width:min(100%,340px);margin:16px auto 0}.volleyball-celebration-actions .primary-button,.volleyball-celebration-actions .secondary-button{width:100%}.page-heading{flex-direction:column;align-items:stretch}.session-art{display:none}.session-banner h2{max-width:100%}.stats-grid{gap:7px}.stat-card{padding:10px}.stat-top{font-size:6px}.panel-heading{padding-left:11px;padding-right:11px}.match-row{grid-template-columns:31px minmax(0,1fr) 53px;gap:5px;padding:9px 34px 9px 8px}.match-delete-button{width:23px;height:23px;right:6px}.team-names{font-size:8px}.versus{font-size:6px}.match-score-display{font-size:9px}.game-day-progress{padding:7px;font-size:8px}.scoring-card-top{gap:8px}.scoring-card-top .section-kicker{font-size:7px}.scoring-match-number{white-space:nowrap;font-size:8px}.scoring-team strong{font-size:11px}.scoring-input-row input{width:72px;height:53px}.scoring-actions{flex-wrap:wrap}.scoring-actions .secondary-button,.scoring-actions .primary-button{padding:0 8px}.setup-fields,.beach-dashboard-grid{grid-template-columns:minmax(0,1fr)}.beach-action-tile{grid-template-rows:auto auto;min-height:86px}.beach-action-tile strong{font-size:12px}.day-focus-toolbar{align-items:flex-start}.day-focus-toolbar .view-back-button{font-size:10px}.beach-groups-page .beach-groups-heading{flex-direction:column}.beach-group-empty{flex-direction:column;align-items:flex-start}.setup-footer{align-items:stretch}.setup-footer .primary-button{min-height:43px}.auth-card{padding:23px 19px}}.admin-users-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.admin-users-layout:has(.admin-user-detail){grid-template-columns:minmax(0,1fr) 340px}.admin-users-toolbar{border-bottom:1px solid #f1f3ef;justify-content:space-between;align-items:center;gap:14px;padding:15px 19px;display:flex}.admin-users-toolbar input{color:#39483e;background:#fcfdfb;border:1px solid #e3e9e1;border-radius:6px;width:min(100%,340px);padding:9px 11px;font-size:11px}.admin-users-table tbody tr{cursor:pointer}.admin-users-table tbody tr:hover,.admin-users-table tbody tr.is-selected{background:#f6f9f4}.admin-users-table td{height:46px}.admin-user-open{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;padding:0;display:flex}.admin-user-open .player-name{margin-left:0}.admin-user-open small{color:#91a097;font-size:9px}.admin-sport-badge{letter-spacing:.3px;white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:700;display:inline-block}.admin-sport-badge.is-none{color:#98a39c;background:#f1f3ef}.admin-users-empty{color:#89968d;text-align:center;padding:26px 19px;font-size:11px}.admin-users-pager{color:#87938c;justify-content:flex-end;align-items:center;gap:12px;padding:12px 19px;font-size:10px;display:flex}.admin-user-detail{position:sticky;top:18px}.admin-user-detail .error-banner{margin:0 19px 14px}.admin-user-detail-body{flex-direction:column;gap:16px;padding:0 19px 19px;display:flex}.admin-user-meta{color:#87938c;font-size:10px}.admin-user-meta span{color:#c0c8c1;padding:0 3px}.admin-usage-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-usage-card{background:#fbfcfa;border:1px solid #edf1eb;border-radius:8px;padding:12px}.admin-usage-card dl{flex-direction:column;gap:6px;margin:9px 0 0;display:flex}.admin-usage-card dl div{justify-content:space-between;gap:8px;display:flex}.admin-usage-card dt{color:#87938c;font-size:9px}.admin-usage-card dd{color:#2c3b31;margin:0;font-size:11px;font-weight:700}.admin-group-list h3{color:#2c3b31;margin-bottom:8px;font-size:11px;font-weight:700}.admin-group-list ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.admin-group-list li{border:1px solid #f1f3ef;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.admin-group-list li>span:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-group-list strong{color:#39483e;font-size:10px}.admin-group-list small{color:#91a097;font-size:9px}.admin-role-badge{color:#748178;text-transform:uppercase;letter-spacing:.4px;background:#f1f3ef;border-radius:999px;padding:2px 7px;font-size:8px;font-weight:700}.admin-role-badge.role-owner{color:#2f6849;background:#e6f1e6}@media (width<=1050px){.admin-users-layout:has(.admin-user-detail){grid-template-columns:minmax(0,1fr)}.admin-user-detail{position:static}}.admin-sport-badge.is-admin{color:#fff;background:#2f6849;margin-left:6px}.admin-role-row .admin-sport-badge.is-admin{margin-left:0}.admin-role-row{color:#65756a;border:1px solid #edf1eb;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:10px;display:flex}.admin-role-row small{color:#87938c;font-size:9px}.admin-role-confirm{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.scoring-format{color:#87978b;letter-spacing:.9px;justify-content:center;align-items:center;gap:10px;margin-top:20px;font-size:8px;font-weight:700;display:flex}.scoring-format strong{color:#345b3e;letter-spacing:0;font:700 13px Manrope,sans-serif}.scoring-input-row.is-set-row{margin-top:12px}.scoring-input-row.is-set-row:first-of-type,.scoring-format+.scoring-input-row.is-set-row{margin-top:18px}.scoring-set-label{color:#87978b;letter-spacing:.8px;text-align:right;width:44px;padding-bottom:21px;font-size:8px;font-weight:700}.scoring-input-row.is-set-row+.scoring-input-row.is-set-row .scoring-set-label{padding-bottom:20px}.match-score-display small{color:#8d9a91;margin-top:3px;font:500 8px/1.35 DM Sans,sans-serif;display:block}.previous-result-sets{color:#6f7f74;text-align:center;font-size:9px}.volleyball-celebration-sets{color:#6f7f74;margin-top:4px;font-size:12px}.scoring-input-row.is-set-row:after{content:"";width:44px}.fixed-teams{background:#fbfcfa;border:1px solid #e3e9e1;border-radius:8px;flex-direction:column;gap:12px;padding:14px;display:flex}.fixed-teams-summary{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.fixed-team-card{background:#fff;border:1px solid #e3e9e1;border-radius:7px;flex-direction:column;gap:3px;padding:9px 11px;display:flex}.fixed-team-card strong{color:#2c3b31;font-size:11px}.fixed-team-card span{color:#536258;font-size:10px}.fixed-team-card small{color:#8d9a91;letter-spacing:.4px;text-transform:uppercase;font-size:8px;font-weight:700}.fixed-team-card.is-full{border-color:#cfe0cc}.fixed-team-card.is-full small{color:#3e7652}.fixed-team-card.is-short small{color:#a7604f}.fixed-teams-players{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 12px;display:grid}.fixed-teams .fixed-teams-players label{color:#39483e;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;font-size:10px;font-weight:600;display:flex}.fixed-teams .fixed-teams-players label span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fixed-teams .fixed-teams-players select{color:#39483e;background:#fff;border:1px solid #e3e9e1;border-radius:6px;width:96px;min-height:32px;padding:5px 8px;font-size:10px}.fixed-teams-problem{color:#a7604f;margin:0;font-size:10px;line-height:1.5}.fixed-teams .beach-group-hint{margin:0}.team-number-label{color:#91a097;margin-left:8px;font-size:8px}.fixed-team-match-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.fixed-team-match-form label{color:#65756a;flex-direction:column;flex:1;gap:6px;min-width:min(100%,220px);font-size:10px;font-weight:600;display:flex}.fixed-team-match-form select{color:#39483e;background:#fff;border:1px solid #e3e9e1;border-radius:6px;min-height:36px;padding:8px 10px;font-size:11px}@media (width<=470px){.fixed-teams{padding:10px}.fixed-teams-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}}.group-draw-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.group-draw-controls label{color:#65756a;flex-direction:column;gap:6px;font-size:10px;font-weight:600;display:flex}.group-draw-controls select{color:#39483e;background:#fff;border:1px solid #e3e9e1;border-radius:6px;min-width:140px;min-height:34px;padding:6px 10px;font-size:11px}.group-draw-controls .secondary-button{min-height:34px}.group-draw .group-draw-card{gap:6px}.group-draw .group-draw-card label{color:#536258;flex-direction:row;justify-content:space-between;align-items:center;gap:6px;font-size:10px;font-weight:500;display:flex}.group-draw .group-draw-card label span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.group-draw .group-draw-card select{color:#39483e;background:#fff;border:1px solid #e3e9e1;border-radius:5px;width:48px;min-height:26px;padding:2px 4px;font-size:10px}.tournament-overview{flex-direction:column;gap:18px;margin-bottom:18px;display:flex}.tournament-champion{background:linear-gradient(120deg,#fff8e3,#fffdf6);border:1px solid #ecd9a6;border-radius:10px;align-items:center;gap:14px;padding:16px 20px;display:flex}.tournament-champion>span{font-size:30px}.tournament-champion strong{color:#5b4510;margin-top:3px;font:800 20px Manrope,sans-serif;display:block}.tournament-groups{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px;display:grid}.tournament-group tr.is-qualifying td:first-child{box-shadow:inset 3px 0 #b6d0b6}.tournament-qualified{color:#2f6849;background:#e6f1e6;border-radius:999px;margin-left:8px;padding:2px 6px;font-size:8px;font-weight:700}.tournament-bracket{grid-auto-columns:minmax(190px,1fr);grid-auto-flow:column;gap:16px;padding:0 19px 19px;display:grid;overflow-x:auto}.tournament-round{flex-direction:column;gap:10px;min-width:0;display:flex}.tournament-round-matches{flex-direction:column;flex:1;justify-content:space-around;gap:10px;display:flex}.tournament-round h3{color:#87978b;letter-spacing:.8px;text-transform:uppercase;font-size:9px;font-weight:700}.tournament-match{color:#39483e;text-align:left;background:#fff;border:1px solid #e3e9e1;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;font-size:10px;display:flex}button.tournament-match{cursor:pointer}button.tournament-match:hover{background:#f6f9f4;border-color:#b6d0b6}.tournament-match .is-winner{color:#2f6849;font-weight:700}.tournament-match small{color:#8d9a91;font-size:9px}.tournament-match.is-pending{color:#98a39c;background:#fbfcfa;border-style:dashed;font-style:italic}@media (width<=760px){.tournament-bracket{grid-auto-columns:minmax(170px,80%);padding:0 12px 14px}}.day-focus-toolbar .share-play-day-button{color:#2f6849;background:#fff;border:1px solid #cfe0cc;border-radius:7px;min-height:34px;margin-left:auto;padding:0 13px;font-size:10px;font-weight:700}.day-focus-toolbar .share-play-day-button.is-shared{background:#e6f1e6}.day-focus-toolbar .share-play-day-button+.delete-play-day-button,.day-focus-toolbar .share-play-day-button+.beach-history-owner-note{margin-left:10px}.share-dialog{background:#fff;border-radius:12px;flex-direction:column;gap:14px;width:min(100%,420px);max-height:calc(100dvh - 40px);padding:22px;display:flex;overflow-y:auto;box-shadow:0 20px 70px #101a1550}.share-dialog-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.share-dialog-heading h2{color:#34433a;margin-top:6px;font-size:18px}.share-dialog-close{color:#87938c;background:0 0;border:0;font-size:22px;line-height:1}.share-dialog>p{color:#6f7f74;font-size:11px;line-height:1.6}.share-qr{aspect-ratio:1;background:#fff;border:1px solid #e3e9e1;border-radius:10px;width:min(100%,240px);margin:0 auto;padding:8px}.share-qr svg{width:100%;height:100%;display:block}.share-link-row{gap:8px;display:flex}.share-link-row input{color:#39483e;background:#fcfdfb;border:1px solid #e3e9e1;border-radius:6px;flex:1;min-width:0;padding:9px 10px;font-size:11px}.share-dialog-actions{flex-wrap:wrap;gap:8px;display:flex}.share-dialog-actions a.secondary-button{align-items:center;text-decoration:none;display:inline-flex}.share-dialog-danger{border-top:1px solid #eff1ed;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:12px;display:flex}.share-dialog-danger>span{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-dialog-danger small{color:#8c756e;font-size:10px}.text-button.danger-text{color:#a7604f}.public-page{width:min(100%,1140px);margin:0 auto;padding:18px 20px 40px}.public-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.public-brand{color:var(--ink);letter-spacing:-1.2px;font:800 22px/1 Manrope,sans-serif;text-decoration:none}.public-live{color:#4f8058;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.public-live i{background:#69ad77;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #69ad7733}.public-live.is-offline{color:#b07a2a}.public-live.is-offline i{box-shadow:none;background:#d9a24b}.public-header-status{color:#87938c;align-items:center;gap:10px;font-size:10px;display:flex}.public-header-status .secondary-button{min-height:32px;padding:0 12px;font-size:10px}.public-loading{color:#87938c;text-align:center;padding:60px 0;font-size:12px}.public-title{margin-bottom:20px}.public-title h1{color:#24362a;margin-top:8px;font-size:30px}.public-title p{color:#7d8981;margin-top:8px;font-size:11px}.public-title p span{color:#c0c8c1;padding:0 6px}.public-panel{margin-bottom:18px}.public-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:18px;display:grid}.public-matches{margin:0;padding:0 0 6px;list-style:none}.public-matches li{border-top:1px solid #f0f2ed;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:4px 12px;padding:11px 19px;display:grid}.public-match-label{color:#87978b;letter-spacing:.7px;text-transform:uppercase;grid-column:1/-1;font-size:8px;font-weight:700}.public-match-team{color:#536258;min-width:0;font-size:11px}.public-match-team:last-of-type{text-align:right}.public-match-team.is-winner{color:#2f6849;font-weight:700}.public-match-score{color:#345b3e;white-space:nowrap;font:700 13px Manrope,sans-serif}.public-match-status{color:#98a39c;text-align:center;grid-column:1/-1;font-size:9px}.public-matches li.is-live .public-match-status{color:#b07a2a;font-weight:700}.public-footer{color:#87938c;text-align:center;margin-top:24px;font-size:10px}.public-footer a{color:#2f6849}@media (width<=860px){.public-grid{grid-template-columns:minmax(0,1fr)}.public-title h1{font-size:24px}}@media (width<=470px){.public-page{padding:14px 12px 32px}.public-header{margin-bottom:16px}.tournament-qualified{display:none}.tournament-group th,.tournament-group td{padding-left:6px;padding-right:6px}}.content-grid.is-single,.public-grid.is-single{grid-template-columns:minmax(0,1fr)}.roster-person .team-number-label{margin-left:6px;display:inline}.scoring-set-warning{color:#a7604f;text-align:center;margin:12px 0 0;font-size:10px}.beach-history-group{color:#2f6849;background:#e6f1e6;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:8px;font-style:normal;font-weight:700}.beach-history-group.is-standalone{color:#87938c;background:#f1f3ef}.beach-history-filter{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:12px;display:flex}.beach-history-filter label{color:#65756a;flex-direction:column;gap:6px;min-width:min(100%,260px);font-size:10px;font-weight:600;display:flex}.beach-history-filter select{color:#39483e;background:#fff;border:1px solid #e3e9e1;border-radius:6px;min-height:36px;padding:7px 10px;font-size:11px}.beach-history-filter>span{color:#87938c;font-size:10px}.session-subtitle{color:#d6e6d8;margin-top:4px;font-size:12px;font-weight:600}.typed-roster-no-group{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.typed-roster-no-group p{color:#6f7f74;font-size:11px;line-height:1.6}.typed-roster-group{border-bottom:1px solid #eff1ed;margin-bottom:14px;padding-bottom:14px}.typed-roster-group .field-note{color:#8d9a91;font-size:9px;font-weight:500;line-height:1.5}.beach-dashboard-grid,.beach-dashboard-grid.has-active-play-day{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}@media (width<=760px){.beach-dashboard-grid,.beach-dashboard-grid.has-active-play-day{grid-template-columns:repeat(2,minmax(0,1fr))}}.beach-leaderboard-panel{padding-bottom:6px}.beach-leaderboard-filter{padding:16px 19px 4px;display:flex}.beach-leaderboard-filter label{color:#65756a;flex-direction:column;gap:6px;min-width:min(100%,280px);font-size:10px;font-weight:600;display:flex}.beach-leaderboard-filter select{color:#39483e;background:#fff;border:1px solid #e3e9e1;border-radius:6px;min-height:36px;padding:7px 10px;font-size:11px}.beach-leaderboard-panel .beach-group-standings{padding:4px 0 0}.beach-leaderboard-panel .beach-group-standings h3{padding:10px 19px 6px}.beach-leaderboard-panel .beach-group-standings>.beach-group-hint,.beach-leaderboard-loading{padding:4px 19px 16px}.beach-leaderboard-panel .beach-group-standings .table-scroll{max-height:none}.beach-leaderboard-panel .beach-group-standings th,.beach-leaderboard-panel .beach-group-standings td{padding:10px 12px}.beach-leaderboard-panel .beach-group-standings th:first-child,.beach-leaderboard-panel .beach-group-standings td:first-child{padding-left:19px}.beach-leaderboard-panel .beach-group-standings td,.beach-leaderboard-panel .beach-group-standings .player-name{font-size:11px}.beach-dashboard-grid.has-active-play-day .beach-action-resume{grid-column:1/-1;min-height:96px}.team-label{vertical-align:middle;flex-direction:column;gap:2px;min-width:0;display:inline-flex}.team-label-title{text-overflow:ellipsis;overflow:hidden}.team-label-players{color:#8d9a91;font-size:.78em;font-weight:500;line-height:1.3}td .team-label.player-name{margin-left:8px}.public-match-team:last-of-type .team-label,.previous-result-teams span:last-child .team-label{align-items:flex-end}.fixed-team-name{color:#2c3b31;background:#f6f9f4;border:1px solid #0000;border-radius:5px;width:100%;padding:4px 6px;font:700 11px Manrope,sans-serif}.fixed-team-name:hover,.fixed-team-name:focus{background:#fff;border-color:#cfe0cc;outline:none}.fixed-team-name::placeholder{color:#5f7065}.roster-team{align-items:center}.roster-team .team-label{flex:1}.roster-rename-button{margin-left:auto}.roster-rename{flex:1;align-items:center;gap:6px;display:flex}.roster-rename input{border:1px solid #cfe0cc;border-radius:6px;flex:1;min-width:0;padding:6px 8px;font-size:11px}.member-picker{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.member-picker legend{color:#65756a;flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:8px;padding:0;font-size:10px;font-weight:600;display:flex}.member-picker-options{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;display:grid}.member-picker-options label{color:#39483e;cursor:pointer;background:#fff;border:1px solid #e3e9e1;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:11px;font-weight:600;display:flex}.member-picker-options label:has(input:checked){background:#f1f7ef;border-color:#b6d0b6}.member-picker-options input{accent-color:#34704e;width:15px;height:15px;margin:0}.member-picker-options small{color:#8d9a91;text-transform:uppercase;margin-left:auto;font-size:8px;font-weight:700}.player-count-note{color:#87938c;margin:-4px 0 0;font-size:10px}.setup-card .member-picker-options label{flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;font-size:11px}.player-count-note{margin:0 0 4px}.add-player-button{align-self:flex-start;margin:2px 18px 6px}.add-player-form{background:#fbfcfa;border:1px solid #e3e9e1;border-radius:8px;flex-direction:column;gap:8px;margin:4px 18px 10px;padding:12px;display:flex}.add-player-form label{color:#65756a;flex-direction:column;gap:6px;font-size:10px;font-weight:600;display:flex}.add-player-form select,.add-player-form input{color:#39483e;background:#fff;border:1px solid #e3e9e1;border-radius:6px;min-height:34px;padding:6px 9px;font-size:11px}.add-player-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.add-player-actions .primary-button{min-height:34px;padding:0 14px;font-size:11px}.add-player-note{color:#3e7652;margin:0 18px 10px;font-size:10px}.roster-list{max-height:360px;overflow-y:auto}.scoring-secondary-actions{flex-wrap:wrap;gap:8px;display:flex}.live-scorer-button{color:#2f6849;border-color:#cfe0cc}.set-target-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.live-scorer{z-index:40;padding:calc(16px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));background:#f4f7f2;flex-direction:column;gap:14px;display:flex;position:fixed;inset:0;overflow-y:auto}.live-scorer-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.live-scorer-header h1{color:#24362a;margin-top:6px;font-size:22px}.live-scorer-header h1 span{color:#9aa59f;padding:0 6px;font-size:14px;font-weight:500}.live-scorer-header p{color:#7d8981;margin-top:4px;font-size:11px}.live-scorer-done{color:#6f7f74;font-size:13px}.live-setup{flex-direction:column;gap:14px;display:flex}.live-setup h2{color:#2c3b31;font-size:17px}.live-setup-teams{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.live-setup-team{background:#fff;border:1px solid #e3e9e1;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.live-setup-team.is-serving{border-color:#9cc39d;box-shadow:0 0 0 2px #cfe5cf}.live-setup-serve{color:#2c3b31;text-align:left;cursor:pointer;background:#f6f9f4;border:0;border-radius:9px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;display:flex}.live-setup-serve strong{font:800 16px Manrope,sans-serif}.live-setup-serve small{color:#7d8981;font-size:11px}.live-setup-serve span{color:#3e7652;margin-top:4px;font-size:11px;font-weight:700}.live-setup-team label{color:#65756a;flex-direction:column;gap:6px;font-size:11px;font-weight:600;display:flex}.live-setup-team select{background:#fff;border:1px solid #e3e9e1;border-radius:8px;min-height:42px;padding:8px 10px;font-size:14px}.live-start{align-self:stretch;min-height:52px;font-size:15px}.live-serve-banner{color:#39483e;text-align:center;background:#fff;border-radius:10px;padding:12px 14px;font-size:15px}.live-serve-banner strong{color:#2f6849}.live-switch-alert{color:#6b4f0e;text-align:center;background:#fff8e3;border:1px solid #ecd9a6;border-radius:10px;padding:12px 14px;font-size:15px;font-weight:800;animation:1.2s ease-in-out 2 live-pulse}@keyframes live-pulse{50%{transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){.live-switch-alert{animation:none}}.live-courts{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:260px;display:grid}.live-team{color:#2c3b31;cursor:pointer;touch-action:manipulation;background:#fff;border:2px solid #e3e9e1;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:14px;display:flex}.live-team:active:not(:disabled){transform:scale(.98)}.live-team.is-serving{background:#f1f7ef;border-color:#3e7652}.live-team.won-last .live-team-score{color:#2f6849}.live-team:disabled{cursor:default;opacity:.85}.live-team-name{text-align:center;font:800 18px Manrope,sans-serif}.live-team-players{color:#7d8981;text-align:center;font-size:12px}.live-team-score{color:#24362a;font:800 clamp(64px,18vw,140px)/1 Manrope,sans-serif}.live-team-hint{color:#7d8981;text-align:center;font-size:12px;font-weight:600}.live-team.is-serving .live-team-hint{color:#2f6849}.live-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.live-actions .primary-button{min-height:48px;padding:0 20px;font-size:14px}@media (width<=560px){.live-setup-teams{grid-template-columns:minmax(0,1fr)}.live-courts{min-height:320px}.live-scorer-header h1{font-size:18px}}.tournament-third-heading{margin-top:14px}.tournament-champion{flex-wrap:wrap}.tournament-podium{flex-wrap:wrap;gap:8px 18px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.tournament-podium li{grid-template-columns:auto auto;align-items:center;column-gap:6px;display:grid}.tournament-podium li>span{grid-row:span 2;font-size:20px}.tournament-podium small{color:#8a6d1e;letter-spacing:.6px;text-transform:uppercase;font-size:8px;font-weight:700}.tournament-podium strong{color:#4b3a0e;margin:0;font:700 12px Manrope,sans-serif}.standalone-playday-setup .third-place-option{color:#39483e;flex-flow:wrap;align-items:center;gap:8px;font-size:11px}.standalone-playday-setup .third-place-option input{accent-color:#34704e;width:16px;height:16px;margin:0}.standalone-playday-setup .third-place-option small{color:#8d9a91;font-size:10px;font-weight:500}@media (width<=560px){.tournament-podium{margin-left:0}}.live-scorer-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.live-voice-toggle.is-on{color:#2f6849;background:#f1f7ef;border-color:#9cc39d}.session-main-action{color:#233f2f;background:#f4d27a;min-height:44px;margin-top:18px;padding:0 20px;font-size:12px;font-weight:700;box-shadow:0 6px 16px #0000002e}.session-main-action:hover{background:#f8dc92}.session-main-action:disabled{opacity:.55;transform:none}.day-focus-toolbar .close-play-day-button{min-height:34px;margin-left:10px}.day-focus-toolbar .close-play-day-button+.delete-play-day-button,.day-focus-toolbar .close-play-day-button+.beach-history-owner-note{margin-left:10px}.clear-score-button{color:#a45b4e}.saved-status.is-unplayed{color:#b1a99a}.beach-history-closed{color:#7b725f;letter-spacing:.4px;text-transform:uppercase;background:#efece4;border-radius:9px;margin-left:6px;padding:1px 6px;font-size:8px;font-style:normal;font-weight:700}.public-live.is-final{color:#8a6d1e}.play-day-podium{background:linear-gradient(120deg,#fff8e3,#fffdf6);border:1px solid #ecd9a6;border-radius:12px;margin-top:16px;padding:18px 20px 20px}.play-day-podium-heading h2{color:#4b3a0e;margin-top:4px;font:800 20px Manrope,sans-serif}.play-day-podium-empty{color:#7b725f;margin-top:8px;font-size:11px}.play-day-podium-steps{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.podium-step{text-align:center;background:#fff;border:1px solid #ecd9a6;border-radius:10px 10px 4px 4px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;display:flex}.podium-step-1{background:#fff3cc;border-color:#e5c45f;min-height:150px}.podium-step-2{min-height:122px}.podium-step-3{min-height:104px}.podium-step.is-empty{opacity:.45}.podium-medal{font-size:28px;line-height:1}.podium-step-1 .podium-medal{font-size:36px}.podium-step>small{color:#8a6d1e;letter-spacing:.6px;text-transform:uppercase;font-size:9px;font-weight:700}.podium-name{flex-direction:column;min-width:0;display:flex}.podium-name strong,.podium-step>strong{color:#4b3a0e;overflow-wrap:anywhere;font:700 13px Manrope,sans-serif}.podium-step-1 .podium-name strong{font-size:15px}.podium-name span{color:#8a7a4d;overflow-wrap:anywhere;font-size:9px}.public-page .play-day-podium{margin-bottom:16px}@media (width<=760px){.day-focus-toolbar{flex-wrap:wrap}.day-focus-toolbar .close-play-day-button{min-height:38px;font-size:9px}}@media (width<=470px){.session-main-action{width:100%}.play-day-podium{padding:14px 12px 16px}.play-day-podium-steps{gap:6px}.podium-step{padding:10px 4px}.podium-step-1 .podium-name strong{font-size:13px}.podium-name strong,.podium-step>strong{font-size:11px}}@media (width<=560px){.day-focus-toolbar{flex-wrap:wrap;gap:8px}.day-focus-toolbar .view-back-button{flex-basis:100%}.day-focus-toolbar .share-play-day-button,.day-focus-toolbar .close-play-day-button,.day-focus-toolbar .share-play-day-button+.delete-play-day-button,.day-focus-toolbar .close-play-day-button+.delete-play-day-button,.day-focus-toolbar .close-play-day-button+.beach-history-owner-note{margin-left:0}}.leaderboard-guest-label{color:#7b725f;letter-spacing:.4px;text-transform:uppercase;background:#efece4;border-radius:9px;margin:2px 0 0 32px;padding:1px 6px;font-size:8px;font-weight:700;display:table}.player-levels{border:0;margin:6px 0 0;padding:0}.player-levels legend{color:#3b4a40;margin-bottom:8px;font-size:11px;font-weight:600}.player-levels-list{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 10px;display:grid}.player-levels-list label{color:#33433a;background:#fff;border:1px solid #e3ebe2;border-radius:7px;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:4px 6px 4px 10px;font-size:11px;font-weight:500;display:flex}.player-levels-list label>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.player-levels-list select{width:auto;min-width:58px;min-height:28px;padding:0 6px;font-size:11px}.player-level-value{color:#2f6849;text-align:center;min-width:28px;font-size:12px}.fixed-teams-balance{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:10px;display:flex}.fixed-teams-balance small{color:#7c8a80;font-size:10px}.group-levels{margin-top:16px}.group-levels h4{color:#33433a;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:8px;font-size:13px;display:flex}.group-levels h4 small{color:#8d9a91;font-size:10px;font-weight:500}.leaderboard-guest-label.is-inline{margin:0 0 0 4px;display:inline-block}.group-levels select{color:#39483e;background:#fcfdfb;border:1px solid #e3e9e1;border-radius:6px;min-height:28px;padding:0 6px;font-size:11px}.scoreboard-page{gap:16px;display:grid}.scoreboard-page .page-heading{margin-bottom:0}.scoreboard-current.is-finished{background:linear-gradient(120deg,#fff8e3,#fffdf6);border-color:#ecd9a6}.scoreboard-summary{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:4px 16px;padding:4px 0;display:grid}.scoreboard-summary-team{flex-direction:column;gap:2px;min-width:0;display:flex}.scoreboard-summary-team:last-of-type{text-align:right;grid-area:1/3;align-items:flex-end}.scoreboard-summary-team strong{color:#33433a;overflow-wrap:anywhere;font-size:14px}.scoreboard-summary-team small{color:#8d9a91;overflow-wrap:anywhere;font-size:10px}.scoreboard-summary-team.is-winner strong{color:#2f6849}.scoreboard-summary-team.is-winner strong:before{content:"🏆 "}.scoreboard-summary-score{color:#1f3d2c;white-space:nowrap;grid-area:1/2;font:800 24px Manrope,sans-serif}.scoreboard-summary-sets{color:#7c8a80;text-align:center;grid-column:1/-1;font-size:10px}.scoreboard-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.scoreboard-discard{color:#a45b4e}.scoreboard-setup{margin:0}.scoreboard-teams{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.scoreboard-team{background:#fff;border:1px solid #e3ebe2;border-radius:9px;gap:10px;margin:0;padding:12px;display:grid}.scoreboard-team legend{color:#3b4a40;padding:0 4px;font-size:11px;font-weight:700}.scoreboard-format{grid-template-columns:repeat(3,minmax(0,1fr))}.scoreboard-recent-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.scoreboard-recent-list li{background:#fcfdfb;border:1px solid #e8eee6;border-radius:8px;gap:4px;padding:10px 12px;display:grid}.scoreboard-recent-list li>small{color:#8d9a91;font-size:9px}.scoreboard-recent-list .scoreboard-summary-score{font-size:18px}@media (width<=560px){.scoreboard-teams,.scoreboard-format{grid-template-columns:minmax(0,1fr)}.scoreboard-summary-score{font-size:20px}}.scoreboard-current>.scoreboard-summary,.scoreboard-current>.scoreboard-actions{padding:0 19px}.scoreboard-current>.scoreboard-actions{padding-bottom:18px}.scoreboard-current .scoreboard-summary-team.is-winner strong:before{content:none}.scoreboard-setup .panel-heading{padding:0 0 14px}.scoreboard-recent>.scoreboard-recent-list,.scoreboard-recent>.beach-group-hint{margin:0;padding:0 19px 18px}.match-teams.has-duty{flex-wrap:wrap;row-gap:2px}.match-duty{color:#8a6d1e;text-overflow:ellipsis;white-space:nowrap;flex-basis:100%;font-size:9px;font-weight:600;overflow:hidden}.scoring-duty{color:#7b6420;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;margin:12px 0 0;font-size:11px;font-weight:600;display:flex}.scoring-duty select{color:#4b3a0e;background:#fffaf0;border:1px solid #ecd9a6;border-radius:6px;width:auto;min-width:140px;min-height:32px;padding:0 8px;font-size:11px}.live-scorer-duty{color:#8a6d1e;font-size:11px}.group-members{margin-top:14px}.group-members h4{color:#33433a;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:8px;font-size:13px;display:flex}.group-members h4 small{color:#8d9a91;font-size:10px;font-weight:500}.group-invite-form select{color:#34443a;background:#fff;border:1px solid #e1e8df;border-radius:6px;min-height:36px;padding:0 8px;font-size:11px}.group-invite-form label:has(select){flex:0 0 150px}.group-member-list{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.group-member-list li{background:#fff;border:1px solid #e3ebe2;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:6px 8px 6px 12px;display:flex}.group-member-name{flex-direction:column;min-width:0;display:flex}.group-member-name strong{color:#33433a;font-size:12px}.group-member-name small{color:#8d9a91;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.group-member-actions{flex:none;align-items:center;gap:8px;display:flex}.group-member-actions select{color:#39483e;background:#fcfdfb;border:1px solid #e3e9e1;border-radius:6px;width:auto;min-height:30px;padding:0 6px;font-size:11px}.group-member-remove{color:#a45b4e}.group-role-badge{letter-spacing:.3px;text-transform:uppercase;border-radius:10px;flex:none;padding:2px 8px;font-size:9px;font-weight:700}.group-role-badge.role-owner{color:#2f6849;background:#e6f1e6}.group-role-badge.role-contributor{color:#3e5a7a;background:#eaf0f7}.group-role-badge.role-visitor{color:#7b725f;background:#efece4}.group-role-help{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 0;display:grid}.group-role-help dt{color:#3b4a40;font-size:10px;font-weight:700}.group-role-help dd{color:#8d9a91;margin:2px 0 0;font-size:9px;line-height:1.4}@media (width<=560px){.group-invite-form label:has(select){flex:auto}.group-role-help{grid-template-columns:minmax(0,1fr)}.group-member-list li{flex-wrap:wrap}}.beach-history-closed.is-draft{color:#8a6d1e;background:#fff3cc}.tournament-details{background:#fff;border:1px solid #e3ebe2;border-radius:9px;gap:12px;margin:0;padding:14px;display:grid}.tournament-details legend{color:#3b4a40;padding:0 4px;font-size:11px;font-weight:700}.tournament-dates{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-draft{gap:16px;margin-top:16px;display:grid}.draft-body{padding:0 19px 18px}.draft-link{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.draft-link input{color:#34443a;background:#fcfdfb;border:1px solid #e1e8df;border-radius:6px;flex:280px;min-height:36px;padding:0 10px;font-size:11px}.registration-list{gap:10px;margin:0 0 18px;padding:0;list-style:none;display:grid}.registration-card{background:#fff;border:1px solid #e3ebe2;border-radius:9px;padding:12px 14px}.registration-card.is-pending{background:#fffdf6;border-color:#ecd9a6}.registration-card.is-rejected{opacity:.65}.registration-top{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.registration-top strong{color:#2c3b31;font-size:13px}.registration-top small{color:#8d9a91;margin-left:auto;font-size:9px}.registration-status{letter-spacing:.3px;text-transform:uppercase;border-radius:10px;padding:2px 8px;font-size:9px;font-weight:700}.registration-status.is-pending{color:#8a6d1e;background:#fff3cc}.registration-status.is-accepted{color:#2f6849;background:#e6f1e6}.registration-status.is-rejected{color:#a45b4e;background:#f6e7e3}.registration-players{border-collapse:collapse;width:100%;margin-top:8px;font-size:11px}.registration-players td{color:#4b5a50;overflow-wrap:anywhere;border-top:1px solid #f0f2ed;padding:4px 6px 4px 0}.registration-actions{gap:8px;margin-top:10px;display:flex}.draft-teams h3{color:#33433a;margin-bottom:8px;font-size:13px}.draft-teams ul{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.draft-teams li{background:#fff;border:1px solid #e3ebe2;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.draft-teams li span{flex-direction:column;min-width:0;display:flex}.draft-teams li strong{color:#33433a;font-size:12px}.draft-teams li small{color:#8d9a91;font-size:10px}.draft-remove-team{color:#a45b4e}.draft-add-team{background:#fcfdfb;border:1px solid #e3ebe2;border-radius:9px;gap:10px;padding:12px;display:grid}.draft-add-team label{color:#65756a;flex-direction:column;gap:5px;font-size:10px;font-weight:600;display:flex}.draft-add-team input,.draft-add-team textarea{background:#fff;border:1px solid #e1e8df;border-radius:6px;padding:8px 10px;font-size:11px}.draft-add-team fieldset{border:0;margin:0;padding:0}.draft-add-team legend{color:#65756a;margin-bottom:6px;font-size:10px;font-weight:600}.draft-add-team .member-picker-options label{flex-direction:row;align-items:center}.draft-add-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.draft-add-actions small{color:#8d9a91;margin-right:auto;font-size:10px}.draft-publish{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.draft-publish p{color:#65756a;flex:260px;font-size:11px}.registration-page .public-title p{flex-wrap:wrap;gap:4px 8px;display:flex}.registration-form,.registration-done{max-width:720px}.registration-done{padding:22px}.registration-done h2{margin:6px 0 8px}.registration-done p{color:#65756a;font-size:12px;line-height:1.5}.registration-fields{gap:12px;padding:0 19px 20px;display:grid}.registration-fields>label,.registration-player label{color:#65756a;flex-direction:column;gap:5px;font-size:10px;font-weight:600;display:flex}.registration-fields input{color:#34443a;background:#fff;border:1px solid #e1e8df;border-radius:6px;min-height:38px;padding:8px 10px;font-size:12px}.registration-player{border:1px solid #e3ebe2;border-radius:9px;grid-template-columns:1.2fr 1.5fr 1fr;gap:10px;margin:0;padding:12px;display:grid}.registration-player legend{color:#3b4a40;padding:0 4px;font-size:11px;font-weight:700}.registration-submit{justify-self:start;min-height:42px;padding:0 22px}@media (width<=560px){.tournament-dates,.registration-player{grid-template-columns:minmax(0,1fr)}.registration-submit{justify-self:stretch}}
