/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.league-hero-buttons{align-items:center;gap:9px;display:flex}.league-hero-buttons .outline-btn{color:#fff;background:0 0;border-color:#ffffff8c}.division-edit-list{gap:12px;margin:18px 0;display:grid}.division-edit-list label{font-size:10px;font-weight:800}.division-edit-list input{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;margin-top:7px;padding:12px;display:block}@media (width<=650px){.league-hero-buttons{flex-direction:column;align-items:stretch;width:100%}.league-hero-buttons button{width:100%}}.public-loading{color:#173f3a;background:#f6f5ef;place-items:center;min-height:100vh;font:600 15px Arial;display:grid}.public-league{color:#183b37;background:#f6f5ef;min-height:100vh;padding:36px max(24px,50vw - 560px);font-family:Arial,Helvetica,sans-serif}.public-league>header{grid-template-columns:auto 1fr auto;align-items:center;gap:22px;margin-bottom:28px;display:grid}.public-brand{color:#fff;background:#176b58;border-radius:12px;place-items:center;width:43px;height:43px;font-size:12px;font-weight:900;text-decoration:none;display:inline-grid}.public-league header p,.public-section-heading p{color:#176b58;letter-spacing:1.1px;margin:0 0 5px;font-size:10px;font-weight:900}.public-league header h1{letter-spacing:-.8px;margin:0;font-size:27px}.public-login{color:#176b58;border:1px solid #d6dfd8;border-radius:8px;padding:10px 13px;font-size:10px;font-weight:800;text-decoration:none}.public-controls{background:#fff;border:1px solid #dce4dd;border-radius:13px;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:17px;display:grid}.public-controls label{color:#50605c;font-size:10px;font-weight:900}.public-controls select{color:#234640;background:#fff;border:1px solid #d9e1da;border-radius:8px;width:100%;margin-top:7px;padding:11px;font-size:12px;display:block}.public-schedule,.public-standings{background:#fff;border:1px solid #dce4dd;border-radius:13px;margin-top:20px;padding:21px}.public-section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:14px;display:flex}.public-section-heading h2{margin:0;font-size:19px}.public-section-heading>span{color:#6c7c76;font-size:9px;font-weight:800}.public-schedule article{border-top:1px solid #e7ece7;grid-template-columns:92px 1.25fr 1fr;align-items:center;gap:16px;padding:14px 0;display:grid}.public-schedule article:first-of-type{border-top:0}.public-schedule time b,.public-schedule time span{display:block}.public-schedule time b{font-size:12px}.public-schedule time span{color:#697a74;margin-top:4px;font-size:10px}.public-fixture{grid-template-columns:1fr 30px 1fr;align-items:center;gap:6px;display:grid}.public-fixture div:last-child{text-align:right}.public-fixture small,.public-venue small{color:#73817c;letter-spacing:.7px;margin-bottom:4px;font-size:8px;font-weight:900;display:block}.public-fixture strong{font-size:12px}.public-fixture>b{color:#64756f;background:#edf2ee;border-radius:50%;place-items:center;width:26px;height:26px;font-size:8px;display:grid}.public-venue strong,.public-venue small{display:block}.public-venue strong{font-size:11px}.public-venue small{margin-top:4px;line-height:1.35}.public-table-wrap{border:1px solid #176b58;border-radius:8px;overflow-x:auto}.public-table{grid-template-columns:50px minmax(150px,1.6fr) minmax(110px,1fr) repeat(7,70px) 82px 76px;align-items:center;min-width:930px;display:grid}.public-table>*{text-align:center;border-left:1px solid #74c3df;min-height:40px;padding:10px 8px;font-size:11px}.public-table>:nth-child(2),.public-table>:nth-child(3){text-align:left}.public-head{color:#fff;background:#17627e}.public-head>*{border-left-color:#3e9fc4;min-height:31px;padding:8px 6px;font-size:8px;font-weight:900}.public-table:not(.public-head):nth-child(odd){background:#e1f1f6}.public-table:not(.public-head):nth-child(2n){background:#fff}.public-table strong{font-size:13px}.public-table>b:last-child{color:#125d7a;background:#d3edf6;font-size:16px}.public-rule{color:#62736d;margin:12px 0 0;font-size:9px}.public-empty{color:#6d7b76;text-align:center;padding:26px 0;font-size:11px}@media (width<=650px){.public-league{padding:20px 14px 40px}.public-league>header{grid-template-columns:auto 1fr}.public-login{text-align:center;grid-column:1/-1}.public-league header h1{font-size:21px}.public-controls{grid-template-columns:1fr}.public-schedule,.public-standings{padding:15px}.public-schedule article{grid-template-columns:62px 1fr;gap:10px}.public-venue{grid-column:2}.public-fixture{grid-template-columns:1fr 24px 1fr}.public-fixture strong{font-size:11px}.public-section-heading{flex-direction:column;align-items:flex-start;gap:8px}.results-sheet-wrap{overflow:visible}.results-sheet{min-width:0}.results-sheet-head{display:none}.results-sheet-row{border:1px solid #dce4dd;border-radius:11px;margin:10px 0;display:block;overflow:hidden}.result-round{background:#f0f5f1;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.result-court-cell{border-top:1px solid #e5ebe5;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;display:flex}.result-pair{min-width:0}.result-pair strong{font-size:12px}.result-buttons{flex:none}.result-buttons button{width:45px;height:43px;font-size:15px}.results-footer{z-index:8;border:1px solid #cbded1;border-radius:11px;position:sticky;bottom:65px;box-shadow:0 8px 24px #173f3a26}.outcome-options button{min-height:64px;font-size:11px}.winner-wins-field input{min-height:52px;font-size:23px}}.schedule-modal-notice{z-index:120;color:#7a4817;background:#fff7e7;border:1px solid #e49a4e;border-radius:12px;width:min(520px,100vw - 32px);padding:17px 19px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 50px #31200c45}.schedule-modal-notice strong,.schedule-modal-notice span{display:block}.schedule-modal-notice strong{margin-bottom:4px;font-size:13px}.schedule-modal-notice span{font-size:11px;line-height:1.45}.captain-fixture{grid-template-columns:1fr 32px 1fr;align-items:center;gap:8px;margin:7px 0 9px;display:grid}.captain-fixture>div:last-child{text-align:right}.captain-fixture small,.schedule-team small{color:#7c8885;letter-spacing:.6px;margin-bottom:4px;font-size:8px;font-weight:900;display:block}.captain-fixture strong{font-size:15px}.captain-fixture>b{color:#60746f;background:#edf2ee;border-radius:50%;place-items:center;width:28px;height:28px;font-size:8px;display:grid}.official-complete{border-left:4px solid #4eaf7a}.official-pending{border-left:4px solid #e3ad61}.schedule-week{border:1px solid #e0e5df;border-radius:11px;margin-top:10px;overflow:hidden}.schedule-week-toggle{color:#27463f;text-align:left;background:#f6f8f4;border:0;justify-content:space-between;align-items:center;width:100%;padding:13px 15px;display:flex}.schedule-week-toggle b,.schedule-week-toggle small{display:block}.schedule-week-toggle b{font-size:12px}.schedule-week-toggle small{color:#78847f;margin-top:3px;font-size:9px}.schedule-week-toggle i{color:#176b58;background:#dff2e9;border-radius:50%;place-items:center;width:25px;height:25px;font-size:18px;font-style:normal;display:grid}.schedule-week-matches{background:#fff;padding:0 10px 10px}.schedule-week-matches article{background:#fff;border-radius:9px;margin-top:9px;border:1px solid #e4e8e4!important;padding:12px!important}.schedule-week-matches article.schedule-complete{background:#f4fbf7;border-left:4px solid #4eaf7a!important}.schedule-week-matches article.schedule-past-pending{background:#fff8eb;border-left:4px solid #dc9340!important}.schedule-team strong{display:block}.schedule-result>strong{font-size:10px}.schedule-complete .schedule-result>strong{color:#176b58}.schedule-past-pending .schedule-result>strong{color:#a15a18}.league-standings{background:0 0!important;border:0!important;padding:0!important}.league-standings .standings-table{background:#fff;border:0;border-radius:12px;box-shadow:0 7px 22px #16362c0f}.standings-head{border-radius:12px 12px 0 0}.standings-row{border-top:1px solid #e4e9e4;min-height:62px}.standings-row>b:last-child{color:#fff;background:#173f3a;border-radius:7px;justify-self:center;place-items:center;min-width:30px;height:27px;display:inline-grid}.standings-row>b:first-child{color:#60736d;font-size:12px}.standings-row:nth-child(2)>b:first-child{color:#b17b1e}.standings-row:nth-child(3)>b:first-child{color:#7b8588}.standings-row:nth-child(4)>b:first-child{color:#a96d43}@media (width<=650px){.captain-fixture{grid-template-columns:1fr 26px 1fr}.captain-fixture strong{font-size:12px}.schedule-week-toggle{padding:12px}.schedule-week-matches{padding:0 7px 7px}}.overdue-dashboard-warning{z-index:80;color:#714318;text-align:left;background:#fff5df;border:1px solid #e3ad61;border-radius:11px;align-items:center;gap:10px;max-width:430px;padding:12px 14px;display:flex;position:fixed;top:18px;right:22px;box-shadow:0 10px 30px #492d0c29}.overdue-dashboard-warning>b{color:#fff;background:#dc8c2d;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.overdue-dashboard-warning span{flex:1}.overdue-dashboard-warning strong,.overdue-dashboard-warning small{display:block}.overdue-dashboard-warning small{color:#8a663f;margin-top:3px;font-size:9px}.overdue-dashboard-warning i{font-size:9px;font-style:normal;font-weight:900}.section-leagueReports>:not(.league-admin-header):not(.league-reports-panel):not(.league-error){display:none}.league-reports-panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:22px}.league-report-filters{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin-bottom:24px;display:grid}.league-report-filters label{font-size:10px;font-weight:800}.league-report-filters select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;margin-top:6px;padding:11px;display:block}.league-reports-panel .ranking-row{grid-template-columns:45px minmax(190px,1fr) repeat(5,70px)}@media (width<=700px){.overdue-dashboard-warning{inset:auto 12px 78px}.league-report-filters{grid-template-columns:1fr}.league-reports-panel{padding:14px}}.app-shell:has(>.interclub-dashboard)>.content:not(.interclub-dashboard){display:none}.league-next-details{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.league-next-details span{color:#d9ebe5;border:1px solid #ffffff40;border-radius:20px;padding:7px 10px;font-size:9px;font-weight:800}.interclub-captain-matches .guided-match-card:has(.warning-pill) .match-actions>.primary-btn{font-size:0}.interclub-captain-matches .guided-match-card:has(.warning-pill) .match-actions>.primary-btn:before{content:"Build lineup →";font-size:10px}.assigned-actions{justify-content:flex-end;gap:6px;display:flex}.assigned-result .prepare-assigned{color:#fff;background:#176b58;border-color:#176b58}.assigned-result .prepare-assigned:disabled{opacity:.6}.interclub-division-card>span{color:#176b58;background:#e5f4ec;border-radius:20px;padding:7px 11px;font-size:9px;font-weight:900}.integrated-captain .match-modal .match-fields,.integrated-captain .match-modal>fieldset:nth-of-type(-n+3){display:none}@media (width<=650px){.assigned-actions{flex-direction:column;align-items:stretch}.assigned-actions button{width:100%}}:root{--navy:#102f2d;--green:#176b58;--mint:#dff2e9;--cream:#f6f5ef;--line:#dedfd8;--muted:#687573}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:#173432;margin:0;font-family:Arial,Helvetica,sans-serif}button,a{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;flex-direction:column;height:100vh;padding:30px 22px 24px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.3px;align-items:center;gap:11px;padding:0 8px 34px;font-size:20px;font-weight:700;display:flex}.brand-mark{width:34px;height:34px;color:var(--navy);background:#80d5ad;border-radius:10px;place-items:center;font-weight:900;display:grid}nav{gap:6px;display:grid}.nav-item{color:#b9cdca;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:13px;width:100%;padding:13px 14px;font-size:14px;text-decoration:none;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#1d4642}.sidebar-footer{border-top:1px solid #31514f;align-items:center;gap:10px;margin-top:auto;padding:22px 5px 0;display:flex}.avatar{width:36px;height:36px;color:var(--navy);background:#80d5ad;border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.sidebar-footer strong,.sidebar-footer small{font-size:12px;display:block}.sidebar-footer small{color:#9eb7b4;margin-top:3px}.content{width:100%;max-width:1440px;margin:auto;padding:32px 44px 60px}.topbar{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.eyebrow{color:#6a7875;letter-spacing:1.4px;margin:0 0 6px;font-size:11px;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.7px;margin-bottom:0;font-size:28px}h2{letter-spacing:-.5px}.outline-btn,.ghost-btn{border:1px solid var(--line);color:#244340;background:#fff;border-radius:9px;padding:10px 14px}.hero-card{color:#fff;background:linear-gradient(120deg,#123d38,#176754);border-radius:18px;justify-content:space-between;align-items:center;padding:30px 32px;display:flex;box-shadow:0 12px 34px #193c371f}.status{color:#a2e2c3;letter-spacing:1.5px;font-size:10px;font-weight:800}.hero-copy h2{margin:10px 0 8px;font-size:28px}.hero-copy h2 span{color:#9ec2bc;margin:0 9px;font-size:17px;font-weight:400}.hero-copy p{color:#c3d6d2;margin:0;font-size:13px}.hero-actions{align-items:center;gap:26px;display:flex}.readiness{text-align:right}.readiness strong,.readiness span{display:block}.readiness strong{font-size:23px}.readiness span{color:#b9d0cc;margin-top:3px;font-size:11px}.match-journey{align-items:center;gap:0;margin-top:18px;display:flex}.match-journey>div{color:#8d9b98;align-items:center;font-size:9px;font-weight:800;display:flex}.match-journey>div:not(:last-child):after{content:"";background:#cfd6d1;width:28px;height:1px;margin:0 8px}.match-journey b{color:#7b8884;background:#fff;border:1px solid #cbd3ce;border-radius:50%;place-items:center;width:22px;height:22px;margin-right:6px;font-size:8px;display:grid}.match-journey .done,.match-journey .current{color:#176b58}.match-journey .done b{color:#123d38;background:#75c7a2;border-color:#75c7a2}.match-journey .current b{background:#e5f4ec;border-color:#176b58}.hero-card .match-journey>div{color:#8fb4ad}.hero-card .match-journey .done,.hero-card .match-journey .current{color:#d8f3e6}.hero-card .match-journey b{color:#c3d9d4;background:#214f48;border-color:#47736c}.hero-card .match-journey .done b{color:#123d38;background:#75d0a7}.hero-card .match-journey>div:not(:last-child):after{background:#47736c}.primary-btn{color:#103b34;background:#76d0a7;border:0;border-radius:9px;padding:12px 17px;font-weight:800}.primary-btn:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.35)}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 38px;display:grid}.stats-grid article{border:1px solid var(--line);background:#fff;border-radius:13px;padding:20px}.stats-grid span,.stats-grid strong,.stats-grid small{display:block}.stats-grid span{letter-spacing:1px;color:#77827f;font-size:10px;font-weight:800}.stats-grid strong{margin:9px 0 5px;font-size:26px}.stats-grid small{color:#788582;font-size:11px}.stats-grid .positive{color:#18805e}.stats-grid .pair-name{margin-top:14px;font-size:17px}.lineup-section{margin-top:8px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.section-heading h2{margin:0 0 5px;font-size:22px}.section-heading>div>p:last-child{color:var(--muted);margin:0;font-size:13px}.section-actions{gap:9px;display:flex}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}table{border-collapse:collapse;width:100%}th{text-align:left;color:#687571;letter-spacing:1px;background:#eff1eb;padding:13px 18px;font-size:10px}td{border-top:1px solid #ebebe6;padding:16px 18px;font-size:13px;font-weight:600}.round-number{background:var(--mint);width:28px;height:28px;color:var(--green);border-radius:8px;place-items:center;display:grid}.rest-cell{color:#81908d;font-weight:400}.table-footer{color:#7b8885;border-top:1px solid #ebebe6;justify-content:space-between;padding:13px 18px;font-size:11px;display:flex}.table-footer button{color:var(--green);background:0 0;border:0;font-weight:800}.table-link{z-index:2;text-align:right;width:100%;color:var(--green);background:0 0;border:0;margin-top:-45px;padding:14px 18px;font-size:11px;font-weight:800;position:relative}.builder-content{padding-top:28px}.builder-header{justify-content:space-between;align-items:start;margin-bottom:25px;display:flex}.builder-header h1{margin:6px 0 7px}.builder-header>div>p:last-child{color:var(--muted);margin:0;font-size:13px}.back-btn{color:var(--green);background:0 0;border:0;margin:0 0 22px;padding:0;font-size:12px;font-weight:800}.builder-content>.match-journey{border:1px solid var(--line);background:#fff;border-radius:12px;margin:-8px 0 28px;padding:16px 18px}.save-state{text-align:right;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 13px}.save-state strong,.save-state span{display:block}.save-state strong{color:#176b58;font-size:11px}.save-state span{color:#788581;margin-top:3px;font-size:9px}.guided-match-card .match-journey{margin-top:13px}.guided-match-card .match-info{min-width:420px}.setup-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:16px;margin-bottom:28px;display:grid}.setup-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:22px}.card-title,.card-title>div{justify-content:space-between;align-items:start;display:flex}.card-title>div{justify-content:flex-start;gap:11px}.card-title>div>span{background:var(--mint);width:27px;height:27px;color:var(--green);border-radius:8px;place-items:center;font-weight:800;display:grid}.card-title h2{margin:1px 0 4px;font-size:16px}.card-title p{color:var(--muted);margin:0;font-size:11px}.ready-pill,.warning-pill{color:#167058;background:#e4f4ec;border-radius:20px;padding:7px 9px;font-size:10px}.warning-pill{color:#a25b16;background:#fff1dd}.player-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;display:grid}.player{border:1px solid var(--line);text-align:left;color:#53615e;background:#fafaf7;border-radius:10px;align-items:center;gap:8px;padding:10px;display:flex}.player>span{background:#eaede7;border-radius:50%;place-items:center;width:29px;height:29px;font-size:9px;font-weight:800;display:grid}.player div{min-width:0}.player strong,.player small{display:block}.player strong{font-size:11px}.player small{color:#85918f;margin-top:2px;font-size:9px}.player b{margin-left:auto;font-size:11px}.player.active{color:#164c40;background:#f1faf5;border-color:#69b995}.player.active>span{background:#ccecdc}.strength-options{grid-template-columns:repeat(3,1fr);gap:7px;margin:23px 0;display:grid}.strength-options button{border:1px solid var(--line);color:#71807d;background:#fafaf8;border-radius:9px;padding:12px 6px}.strength-options button span,.strength-options button strong{display:block}.strength-options button span{font-size:16px}.strength-options button strong{margin-top:5px;font-size:10px}.strength-options button.selected{color:#155844;background:#eaf7f0;border-color:#54aa84}.generate-main{background:var(--navy);color:#fff;border:0;border-radius:9px;width:100%;padding:13px;font-weight:800}.generate-main:disabled{opacity:.35;cursor:not-allowed}.generate-main span{color:#76d0a7}.mixed-roster-error{color:#9b541b;margin:-10px 0 14px;font-size:10px;line-height:1.4}.best-lineup-note{background:#f0f8f4;border:1px solid #d8e9df;border-radius:10px;align-items:center;gap:11px;margin:22px 0;padding:13px;display:flex}.best-lineup-note>b{color:#176b58;background:#d7eee2;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.best-lineup-note strong,.best-lineup-note small{display:block}.best-lineup-note strong{color:#245b4c;font-size:10px}.best-lineup-note small{color:#75827e;margin-top:4px;font-size:8px;line-height:1.35}.form-note{color:#8d521c;background:#fff2df;border-radius:8px;margin:7px 0 10px;padding:8px 10px;font-size:9px;line-height:1.4}.mobile-nav,.mobile-lineup{display:none}@media (width<=650px){.sidebar{display:none!important}.app-shell{display:block}.content{max-width:none;padding:22px 14px 105px!important}.logout-button{display:none}.mobile-nav{z-index:60;height:72px;padding:7px 8px max(7px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #d8ddd7;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #1137311a}.mobile-nav>button,.mobile-nav summary{color:#71807d;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:9px;font-weight:800;list-style:none;display:flex}.mobile-nav b{font-size:18px;line-height:1}.mobile-nav>button.active{color:#176b58}.mobile-nav details{position:relative}.mobile-nav details[open] summary{color:#176b58}.mobile-nav details>div{background:#fff;border:1px solid #d9ded8;border-radius:12px;width:150px;padding:8px;display:grid;position:absolute;bottom:64px;right:0;box-shadow:0 14px 35px #0f322d2e}.mobile-nav details>div button{text-align:left;color:#294943;background:#fff;border:0;border-radius:8px;padding:11px;font-size:11px}.mobile-nav details>div button:active{background:#e8f5ee}.desktop-lineup{display:none!important}.mobile-lineup{gap:12px;display:grid}.mobile-lineup article{background:#fff;border:1px solid #dcded8;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px #163a340d}.mobile-lineup article>header{color:#fff;background:#173f3a;justify-content:space-between;align-items:center;padding:13px 14px;display:flex}.mobile-lineup article>header strong{font-size:14px}.mobile-lineup article>header span{color:#bdd3ce;font-size:9px}.mobile-court{border-top:1px solid #eceee9;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.mobile-court>small{color:#74817d;font-size:9px;font-weight:800}.mobile-court>div{gap:5px;display:flex}.mobile-court button{color:#25453f;background:0 0;border:0;font-size:11px;font-weight:800}.mobile-court button+button:before{content:"+";color:#92a09c;margin-right:5px}.mobile-court button.editable{background:#f3faf6;border:1px dashed #71aa92;border-radius:7px;padding:6px}.mobile-court button.selected{background:#dff2e9;border:1px solid #176b58;border-radius:7px;padding:6px}.mixed-mobile-court{background:#f0faf5}.mobile-rest{color:#77837f;background:#f2f2ee;justify-content:space-between;padding:10px 14px;display:flex}.mobile-rest small{font-size:8px;font-weight:900}.mobile-rest strong{font-size:10px}.builder-footer,.results-footer{z-index:25;background:#fff;border:1px solid #d8ddd7;border-radius:12px;margin:14px -2px 0;padding:12px;position:sticky;bottom:78px;box-shadow:0 8px 25px #11373124}.builder-footer .builder-footer-actions{width:100%;display:flex}.builder-footer .builder-footer-actions button{flex:1;padding:11px 8px;font-size:9px}.results-footer{justify-content:space-between;align-items:center;display:flex}.results-footer>div span{display:none}.results-footer>div strong{font-size:10px}.results-footer .primary-btn{white-space:nowrap}.results-header{display:block}.results-header-right{margin-top:14px}.results-sheet-head{display:none!important}.results-sheet-row{background:#fff;border:1px solid #dcded8;border-radius:14px;margin-bottom:12px;overflow:hidden;display:block!important}.result-round{color:#fff;background:#173f3a;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.result-round strong:before{content:"Round "}.result-round small{color:#c3d8d3}.result-court-cell{border-top:1px solid #eceee9;justify-content:space-between;align-items:center;min-height:76px;padding:11px 13px;display:flex!important}.result-pair strong{font-size:11px}.result-buttons{gap:7px;display:flex}.result-buttons button{border-radius:10px;width:44px;height:44px;font-size:14px;font-weight:900}.results-sheet-wrap{overflow:visible!important}.match-card{gap:12px;grid-template-columns:auto 1fr!important;padding:15px!important;display:grid!important}.guided-match-card .match-info{min-width:0}.match-card .match-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:7px;display:grid!important}.match-card .match-actions>span{grid-column:1/-1;justify-self:start}.match-card .match-actions .primary-btn{grid-column:1/-1}.match-card .match-journey{padding-bottom:4px;overflow-x:auto}.match-journey>div:not(:last-child):after{width:15px;margin:0 5px}.match-journey span{white-space:nowrap}.modal-backdrop{align-items:end;padding:0}.player-modal{max-height:94vh;padding:21px 16px calc(22px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overflow-y:auto;width:100%!important}.match-fields{grid-template-columns:1fr!important}.match-player-picker{grid-template-columns:1fr 1fr!important}.modal-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e2e4df;margin:20px -16px -22px;position:sticky;bottom:-22px}.modal-actions button{flex:1;min-height:46px}}.opponent-form-actions,.opponent-row-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.opponent-create-card.editing-opponent{background:#f5faf7;border-color:#77b99c}.opponent-list article{grid-template-columns:1fr 100px 90px 130px}.opponent-row-actions button{border:1px solid var(--line);color:#285048;background:#fff;border-radius:7px;padding:7px 9px;font-size:9px}.opponent-row-actions .remove-opponent{color:#a4534e}.opponent-list article>.venue-active,.opponent-list article>.venue-inactive{border:0;border-radius:20px;padding:7px 10px;font-size:9px;font-weight:800}@media (width<=750px){.opponent-list article{grid-template-columns:1fr auto}.opponent-row-actions{grid-column:1/-1;justify-content:flex-start}}.rules-card{grid-column:1/-1}.required-rules{flex-wrap:wrap;gap:7px;margin:18px 0 14px;display:flex}.required-rules span{color:#216b56;background:#e7f4ed;border-radius:20px;padding:7px 10px;font-size:9px;font-weight:800}.optional-rules{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.optional-rules label{cursor:pointer}.optional-rules input{opacity:0;pointer-events:none;position:absolute}.optional-rules label>span{border:1px solid var(--line);color:#53615e;background:#fafaf7;border-radius:9px;align-items:center;gap:9px;min-height:42px;padding:9px 11px;font-size:10px;display:flex}.optional-rules label>span b{color:#fff;background:#fff;border:1px solid #bfc7c3;border-radius:6px;flex:0 0 20px;place-items:center;height:20px;font-size:10px;display:grid}.optional-rules input:checked+span{color:#205b4d;background:#f0f8f4;border-color:#76b99c}.optional-rules input:checked+span b{background:#3d9a75;border-color:#3d9a75}.optional-rules input:focus-visible+span{outline-offset:2px;outline:2px solid #2b826b}.builder-rules-summary{background:#f0f6f2;border:1px solid #dce2dd;border-radius:11px;justify-content:space-between;align-items:center;margin:-12px 0 27px;padding:13px 16px;display:flex}.builder-rules-summary strong,.builder-rules-summary span{display:block}.builder-rules-summary strong{color:#245b4c;font-size:11px}.builder-rules-summary span{color:#74817e;margin-top:3px;font-size:9px}.rules-content{padding-top:38px}.rules-header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.rules-header h1{margin:0 0 7px}.rules-header>div>p:last-child{color:var(--muted);margin:0;font-size:13px}.rules-page-grid{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:16px;display:grid}.rules-panel{border:1px solid var(--line);background:#fff;border-radius:15px;padding:23px}.rules-panel-head{align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.rules-panel-head>span{color:#176b58;background:#dff2e9;border-radius:10px;flex:0 0 34px;place-items:center;height:34px;font-weight:900;display:grid}.rules-panel-head h2{margin:0 0 4px;font-size:18px}.rules-panel-head small{color:var(--muted);font-size:10px}.mandatory-list{gap:8px;display:grid}.mandatory-list>div{background:#fafaf7;border:1px solid #e8e9e3;border-radius:10px;align-items:center;gap:11px;padding:12px;display:flex}.mandatory-list b{color:#236b57;background:#e3f2ea;border-radius:9px;flex:0 0 35px;place-items:center;height:35px;font-size:10px;display:grid}.mandatory-list strong,.mandatory-list small{display:block}.mandatory-list strong{font-size:11px}.mandatory-list small{color:#7b8885;margin-top:3px;font-size:9px}.rules-panel .optional-rules{grid-template-columns:1fr}.rules-panel .optional-rules label>span{min-height:58px;padding:11px 13px}.rules-panel .optional-rules i{font-style:normal}.rules-panel .optional-rules i strong,.rules-panel .optional-rules i small{display:block}.rules-panel .optional-rules i strong{font-size:11px}.rules-panel .optional-rules i small{color:#7b8885;margin-top:3px;font-size:8px}.builder-lineup{margin-top:8px}.builder-lineup-head{justify-content:space-between;align-items:end;margin-bottom:14px;display:flex}.builder-lineup-head h2{margin:0 0 5px;font-size:21px}.builder-lineup-head>div>p:last-child{color:var(--muted);margin:0;font-size:11px}.edit-active{color:#176b58;background:#e4f4ec;border:1px solid #2b826b;border-radius:9px;padding:10px 14px;font-weight:800}.validation{border-radius:10px;align-items:center;gap:14px;margin-bottom:10px;padding:11px 15px;font-size:10px;display:flex}.validation strong{font-size:11px}.validation.success{color:#185b49;background:#e7f5ed}.validation.warning{color:#8d521c;background:#fff2df}.full-lineup td,.full-lineup th{padding:11px 14px}.pair{align-items:center;gap:4px;min-height:26px;display:flex}.chip{color:inherit;white-space:nowrap;background:0 0;border:0;padding:4px 3px;font-size:11px;font-weight:700}.chip+.chip:before{content:"+";color:#9aa4a1;margin-right:5px}.chip.editable{background:#f4faf7;border:1px dashed #8cb8aa;border-radius:6px;padding:5px}.chip.selected-chip{background:#d9f1e5;border:1px solid #1a7a60;border-radius:6px;padding:5px}.mixed-cell{background:#f5fbf7}.mixed-label{color:#278064;letter-spacing:1px;margin-top:3px;font-size:7px;display:block}.builder-footer{color:var(--muted);justify-content:space-between;align-items:center;margin-top:12px;font-size:10px;display:flex}.toast{color:#fff;z-index:10;background:#113c36;border-radius:10px;padding:13px 18px;font-size:12px;position:fixed;bottom:28px;right:28px;box-shadow:0 12px 30px #0000002e}.inline-link{color:var(--green);background:0 0;border:0;margin-top:14px;padding:0;font-size:11px;font-weight:800}.players-content{padding-top:38px}.players-header{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.players-header h1{margin:0 0 7px}.players-header>div>p:last-child{color:var(--muted);margin:0;font-size:13px}.team-card{color:#fff;background:linear-gradient(110deg,#123d38,#176754);border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:24px 28px;display:flex}.team-card>div:first-child{align-items:center;gap:15px;display:flex}.team-badge{color:#123c35;background:#75d0a7;border-radius:14px;place-items:center;width:52px;height:52px;font-weight:900;display:grid}.team-card .eyebrow{color:#9bd7bb}.team-card h2{margin:0 0 4px}.team-card small{color:#bfd5d0}.team-counts{gap:32px;display:flex}.team-counts span{color:#b9d0cc;text-align:center;font-size:10px}.team-counts strong{color:#fff;margin-bottom:3px;font-size:22px;display:block}.roster-panel{border:1px solid var(--line);background:#fff;border-radius:15px;padding:23px}.roster-heading{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.roster-heading h2{margin:0 0 5px;font-size:19px}.roster-heading p{color:var(--muted);margin:0;font-size:11px}.roster-table{border:1px solid #e7e8e2;border-radius:11px;overflow:hidden}.roster-row{color:#52615e;border-top:1px solid #ecece7;grid-template-columns:1.5fr .8fr .7fr 1fr;align-items:center;min-height:62px;padding:8px 18px;font-size:12px;display:grid}.roster-row:first-child{border-top:0}.roster-labels{color:#788480;letter-spacing:1px;background:#f1f2ed;min-height:38px;font-size:9px;font-weight:800}.roster-person{align-items:center;gap:11px;display:flex}.roster-person>span{color:#176b58;background:#dff2e9;border-radius:50%;place-items:center;width:34px;height:34px;font-size:10px;font-weight:900;display:grid}.roster-person strong{color:#24413e}.status-toggle{color:#176b58;background:#e9f5ee;border:0;border-radius:20px;justify-self:start;padding:7px 10px;font-size:10px;font-weight:800}.status-toggle i{background:#39a077;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.status-toggle.inactive{color:#79827f;background:#f0f0ec}.status-toggle.inactive i{background:#a7adaa}.row-actions{gap:8px;display:flex}.row-actions button{border:1px solid var(--line);color:#285048;background:#fff;border-radius:7px;padding:7px 10px;font-size:10px}.row-actions .delete-action{color:#a4534e}.modal-backdrop{z-index:20;background:#0a221f8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.player-modal{background:#fff;border-radius:16px;width:min(430px,100%);padding:25px;box-shadow:0 24px 70px #00000040}.modal-head{justify-content:space-between;align-items:start;margin-bottom:24px;display:flex}.modal-head h2{margin:0}.modal-head>button{color:#52615e;background:#eff1ec;border:0;border-radius:50%;width:30px;height:30px;font-size:20px}.player-modal label,.player-modal legend{color:#42514e;font-size:11px;font-weight:800;display:block}.player-modal input{border:1px solid var(--line);color:#173432;border-radius:9px;width:100%;margin-top:8px;padding:12px;display:block}.player-modal fieldset{border:0;margin:18px 0;padding:0}.gender-options{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.gender-options button{border:1px solid var(--line);color:#687573;background:#fafaf7;border-radius:9px;padding:11px}.gender-options button.selected{color:#155844;background:#eaf7f0;border-color:#54aa84;font-weight:800}.modal-actions{justify-content:flex-end;gap:9px;margin-top:24px;display:flex}@media (width<=900px){.app-shell{grid-template-columns:78px 1fr}.sidebar{padding:26px 12px}.brand span:last-child,.nav-item span,.sidebar-footer>div:last-child{display:none}.brand{padding-left:9px}.content{padding:28px 24px}.stats-grid{grid-template-columns:repeat(2,1fr)}.hero-card{align-items:flex-start;gap:24px}.hero-actions{display:block}.readiness{display:none}.setup-grid{grid-template-columns:1fr}.player-grid{grid-template-columns:repeat(4,1fr)}.full-lineup{overflow-x:auto}.full-lineup table{min-width:790px}.rules-page-grid{grid-template-columns:1fr}}@media (width<=650px){.app-shell{display:block}.sidebar{flex-direction:row;align-items:center;width:100%;height:auto;padding:14px 18px;position:static}.brand{margin-right:auto;padding:0}.sidebar nav{margin-left:auto;display:flex}.sidebar .nav-item{display:none}.sidebar .nav-item:nth-child(2){width:auto;padding:10px;font-size:0;display:block}.sidebar .nav-item:nth-child(2):after{content:"Builder";font-size:11px}.sidebar-footer{display:none}.content{padding:24px 16px}.topbar{align-items:flex-start}.topbar h1{font-size:23px}.outline-btn{font-size:12px}.hero-card{padding:24px;display:block}.hero-actions{margin-top:20px}.stats-grid{grid-template-columns:1fr 1fr}.section-heading,.builder-lineup-head{display:block}.section-actions{margin-top:16px}.table-wrap{overflow-x:auto}table,.table-footer{min-width:720px}.builder-header{display:block}.builder-header>.outline-btn{display:none}.player-grid{grid-template-columns:1fr 1fr}.setup-card{padding:17px}.optional-rules{grid-template-columns:1fr}.validation{display:block}.validation span{margin-top:5px;display:block}.builder-footer span{display:none}}.auth-loading{color:#60716e;place-items:center;min-height:100vh;display:grid}.auth-page{background:radial-gradient(circle at 0 0,#d9f3e6,#0000 45%),#f4f4ee;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #d9ded8;border-radius:20px;width:min(440px,100%);padding:34px;box-shadow:0 22px 65px #14363121}.auth-brand{align-items:center;gap:10px;margin-bottom:28px;display:flex}.auth-brand span{color:#103c34;background:#75d0a7;border-radius:11px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.auth-brand strong{font-size:20px}.auth-card h1{margin-bottom:9px}.auth-card>p:not(.eyebrow){color:#687573;font-size:13px;line-height:1.5}.auth-card form{gap:15px;margin-top:24px;display:grid}.auth-card label{color:#42514e;font-size:11px;font-weight:800}.auth-card input{border:1px solid #d7dcd6;border-radius:9px;width:100%;margin-top:7px;padding:12px;display:block}.auth-card form .primary-btn{margin-top:5px}.auth-error{color:#9a443d;background:#fff0ed;border-radius:8px;padding:10px;font-size:11px}.auth-tabs{background:#eef1ec;border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:26px;padding:4px;display:grid}.auth-tabs button{color:#6c7976;background:0 0;border:0;border-radius:7px;padding:9px;font-size:11px;font-weight:800}.auth-tabs button.active{color:#176b58;background:#fff;box-shadow:0 2px 8px #00000014}.logout-button{color:#b9cdca;background:0 0;border:1px solid #3b5a57;border-radius:8px;width:196px;padding:8px;font-size:9px;position:fixed;bottom:86px;left:22px}.player-rules-panel{grid-column:1/-1}.player-rule-form{flex-wrap:wrap;align-items:end;gap:9px;display:flex}.player-rule-form select,.player-rule-form input{border:1px solid var(--line);color:#354b47;background:#fff;border-radius:8px;min-height:40px;padding:8px 10px}.player-rule-form label{color:#687573;font-size:9px}.player-rule-form label input{width:90px;margin-top:4px;display:block}.saved-player-rules{gap:7px;margin-top:17px;display:grid}.saved-player-rules>p{color:#7b8885;margin:0;font-size:11px}.saved-player-rules>div{background:#fafbf8;border:1px solid #e5e8e3;border-radius:9px;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.saved-player-rules strong,.saved-player-rules small{display:block}.saved-player-rules strong{font-size:11px}.saved-player-rules small{color:#75817e;margin-top:3px;font-size:9px}.saved-player-rules button{color:#a4534e;background:0 0;border:0;font-size:9px}.team-name-edit{gap:6px;display:flex}.team-name-edit input{color:#173432;background:#fff;border:1px solid #5f827b;border-radius:7px;width:150px;padding:8px}.team-name-edit button{color:#123c35;background:#75d0a7;border:0;border-radius:7px;padding:8px 10px;font-size:9px;font-weight:800}.auth-card.organization-register{width:min(620px,100%)}.auth-field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-card label small{color:#87928f;margin-left:4px;font-size:8px;font-weight:400}.captain-access-note{color:#58716a;background:#eef6f1;border-radius:9px;margin-top:18px;padding:11px 12px;font-size:9px;line-height:1.45;display:block}@media (width<=600px){.auth-field-row{grid-template-columns:1fr}.auth-card.organization-register{padding:25px 20px}.auth-tabs button{font-size:9px}}.season-switcher{gap:8px;display:flex}.season-switcher select{border:1px solid var(--line);color:#244340;background:#fff;border-radius:9px;min-width:170px;padding:10px 12px;font-weight:700}.seasons-content{padding-top:38px}.season-create-card{color:#fff;background:linear-gradient(115deg,#123d38,#176754);border-radius:16px;grid-template-columns:1fr 1fr;gap:35px;padding:28px;display:grid}.season-create-card h2{margin:0 0 8px;font-size:26px}.season-create-card p:last-child{color:#c0d7d2;margin:0;font-size:11px;line-height:1.5}.season-create-card>div:last-child{align-items:end;gap:9px;display:flex}.season-create-card label{color:#c3d8d3;flex:1;font-size:10px;font-weight:800}.season-create-card input{border:0;border-radius:9px;width:100%;margin-top:7px;padding:12px;display:block}.season-history{border:1px solid var(--line);background:#fff;border-radius:15px;margin-top:18px;padding:23px}.season-history-head{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.season-history-head h2{margin:0;font-size:19px}.season-history article{border-top:1px solid #eceee9;grid-template-columns:1fr 120px 120px;align-items:center;min-height:62px;padding:10px 14px;display:grid}.season-history article:first-of-type{border-top:0}.season-history article>div{align-items:center;gap:10px;display:flex}.season-history article p{color:#71807d;margin:0;font-size:11px}.season-history article button{color:#176b58;background:0 0;border:0;font-size:10px;font-weight:800}.season-active,.season-closed{color:#176b58;background:#dff2e9;border-radius:20px;padding:5px 8px;font-size:8px;font-weight:800}.season-closed{color:#747f7c;background:#eeefeb}@media (width<=800px){.season-create-card{grid-template-columns:1fr}.season-create-card>div:last-child{flex-direction:column;align-items:stretch}.season-history article{grid-template-columns:1fr auto}.season-history article p{display:none}.season-switcher{flex-direction:column}}.team-name-edit label{color:#b9d0cc;font-size:8px;font-weight:800}.team-name-edit label input{margin-top:4px;display:block}.team-name-edit{align-items:end}.venues-content{padding-top:38px}.venue-create-card{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:end;gap:10px;padding:22px;display:flex}.venue-create-card label{color:#42514e;flex:1;font-size:10px;font-weight:800}.venue-create-card input{border:1px solid var(--line);border-radius:9px;width:100%;margin-top:7px;padding:12px;display:block}.venue-list{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:16px;overflow:hidden}.venue-list article{border-top:1px solid #eceee9;justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.venue-list article:first-child{border-top:0}.venue-list article>div{align-items:center;gap:11px;display:flex}.venue-list article>div>span{background:var(--mint);width:32px;height:32px;color:var(--green);border-radius:9px;place-items:center;display:grid}.venue-list article button{border:0;border-radius:20px;padding:7px 10px;font-size:9px;font-weight:800}.venue-active{color:#176b58;background:#dff2e9}.venue-inactive{color:#747f7c;background:#eeefeb}.venue-empty{text-align:center;padding:45px 20px}.venue-empty>span{color:#6ba78f;font-size:30px}.venue-empty h2{margin:10px 0 6px}.venue-empty p{color:var(--muted);font-size:11px}.team-category-card{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:18px 22px;display:flex}.team-category-card h2{margin:0 0 4px;font-size:17px}.team-category-card p:last-child{color:var(--muted);margin:0;font-size:10px}.category-options{gap:7px;display:flex}.category-options button{border:1px solid var(--line);color:#667572;background:#fafaf7;border-radius:8px;padding:10px 14px;font-size:10px;font-weight:800}.category-options button.active{color:#155844;background:#e5f4ec;border-color:#54aa84}.category-options .category-save{color:#fff;background:#173f3a;border-color:#173f3a}@media (width<=700px){.venue-create-card,.team-category-card{flex-direction:column;align-items:stretch}.category-options{width:100%}.category-options button{flex:1}}.opponents-content{padding-top:38px}.opponent-create-card{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:1fr 1fr .8fr auto;align-items:end;gap:10px;padding:22px;display:grid}.opponent-create-card label{color:#42514e;font-size:10px;font-weight:800}.opponent-create-card input,.opponent-create-card select{border:1px solid var(--line);color:#244340;background:#fff;border-radius:9px;width:100%;min-height:41px;margin-top:7px;padding:10px 12px;display:block}.opponent-list{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:16px;overflow:hidden}.opponent-list article{border-top:1px solid #eceee9;grid-template-columns:1fr 100px 90px;align-items:center;padding:14px 18px;display:grid}.opponent-list article:first-child{border-top:0}.opponent-name{align-items:center;gap:11px;display:flex}.opponent-name>span{background:var(--mint);width:34px;height:34px;color:var(--green);border-radius:9px;place-items:center;display:grid}.opponent-name strong,.opponent-name small{display:block}.opponent-name strong{font-size:12px}.opponent-name small{color:var(--muted);margin-top:3px;font-size:9px}.opponent-list article>button{border:0;border-radius:20px;padding:7px 10px;font-size:9px;font-weight:800}.strength-badge{border-radius:20px;justify-self:start;padding:6px 9px;font-size:8px;font-weight:800}.strength-badge.weaker{color:#66736f;background:#eef0ec}.strength-badge.equal{color:#8d521c;background:#fff2df}.strength-badge.stronger{color:#176b58;background:#dff2e9}.roster-heading>.ghost-btn{display:none}@media (width<=750px){.opponent-create-card{grid-template-columns:1fr}.opponent-list article{grid-template-columns:1fr auto auto;gap:8px}.sidebar .nav-item:nth-child(2):after{content:"Matches"}}.league-admin-link{border-top:1px solid #31514f!important;border-radius:0 0 10px 10px!important;margin-top:18px!important;padding-top:17px!important}.league-admin-content{padding-top:38px}.league-admin-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.league-admin-header h1{margin:0 0 7px}.league-admin-header>div>p:last-child{color:var(--muted);margin:0;font-size:13px}.league-admin-hero{color:#fff;background:linear-gradient(115deg,#102f2d,#176b58);border-radius:17px;justify-content:space-between;align-items:center;gap:30px;padding:28px 30px;display:flex}.league-role-pill{color:#bde2d2;letter-spacing:1.2px;border:1px solid #609485;border-radius:20px;margin-bottom:13px;padding:6px 9px;font-size:8px;font-weight:900;display:inline-block}.league-admin-hero h2{margin:0 0 8px;font-size:27px}.league-admin-hero p{color:#c1d8d3;max-width:670px;margin:0;font-size:12px;line-height:1.55}.league-progress{background:#ffffff0f;border:1px solid #47736c;border-radius:12px;min-width:230px;padding:16px}.league-progress strong,.league-progress span{display:block}.league-progress strong{color:#89ddb5;font-size:11px}.league-progress span{color:#bdd2cd;margin-top:5px;font-size:9px;line-height:1.4}.league-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin:17px 0 32px;display:grid}.league-summary article{border:1px solid var(--line);background:#fff;border-radius:13px;min-height:105px;padding:18px}.league-summary span,.league-summary strong,.league-summary small{display:block}.league-summary span{color:#7a8683;letter-spacing:1px;font-size:8px;font-weight:900}.league-summary strong{margin:10px 0 4px;font-size:20px}.league-summary small{color:#7c8885;font-size:9px}.league-admin-section-head{justify-content:space-between;align-items:end;margin-bottom:14px;display:flex}.league-admin-section-head h2{margin:0;font-size:21px}.league-admin-section-head>span{color:#7b8885;font-size:9px}.league-setup-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.league-setup-grid article{border:1px solid var(--line);background:#fff;border-radius:14px;gap:14px;min-height:155px;padding:20px;display:flex}.league-setup-grid article.current{border-color:#70b998;box-shadow:0 8px 24px #1e5c4914}.league-step-number{color:#60706c;background:#ecf0eb;border-radius:11px;flex:0 0 39px;place-items:center;height:39px;font-size:11px;font-weight:900;display:grid}.league-setup-grid article.current .league-step-number{color:#176b58;background:#d9f0e4}.league-step-copy{flex:1}.league-step-copy>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.league-step-copy h3{margin:2px 0 0;font-size:15px}.league-step-copy>div>span{color:#697572;background:#eff1ed;border-radius:20px;padding:5px 8px;font-size:8px;font-weight:800}.league-setup-grid article.current .league-step-copy>div>span{color:#176b58;background:#dff2e9}.league-step-copy p{color:#74817e;min-height:34px;margin:10px 0 17px;font-size:10px;line-height:1.45}.league-step-copy button{color:#87918e;text-align:left;cursor:not-allowed;background:#f7f8f5;border:1px solid #d9dfda;border-radius:8px;width:100%;padding:10px 12px;font-size:9px;font-weight:800}.league-step-copy button b{float:right}.league-coming-next{background:#eff7f2;border:1px solid #d7e7dd;border-radius:12px;justify-content:space-between;align-items:center;margin-top:14px;padding:15px 18px;display:flex}.league-coming-next>div{align-items:center;gap:11px;display:flex}.league-coming-next>div>span{color:#123c35;background:#75d0a7;border-radius:9px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.league-coming-next strong,.league-coming-next p{margin:0;display:block}.league-coming-next strong{font-size:10px}.league-coming-next p,.league-coming-next small{color:#71807c;margin-top:3px;font-size:8px}.league-coming-next>small{text-align:right;margin:0}@media (width<=900px){.league-summary{grid-template-columns:1fr 1fr}.league-setup-grid{grid-template-columns:1fr}.league-admin-hero{align-items:flex-start}.league-progress{min-width:190px}}@media (width<=650px){.league-admin-header,.league-admin-hero,.league-admin-section-head,.league-coming-next{flex-direction:column;align-items:stretch}.league-admin-header{gap:15px}.league-progress{min-width:0}.league-summary{grid-template-columns:1fr 1fr}.league-admin-section-head{gap:5px}.league-coming-next{gap:12px}.league-coming-next>small{text-align:left}.sidebar .league-admin-link{border-top:0!important;border-radius:9px!important;width:auto!important;margin:0!important;padding:10px!important;display:block!important}.sidebar .league-admin-link span{display:none}}.league-admin-status{color:#176b58;background:#dff2e9;border-radius:20px;padding:7px 10px;font-size:9px;font-weight:800}.league-hero-action{color:#155345;background:#fff;flex:none}.league-error{color:#9a443d;background:#fff0ed;border-radius:9px;margin:14px 0;padding:11px 13px;font-size:10px}.league-setup-grid article.current .league-step-copy button:not(:disabled){color:#fff;cursor:pointer;background:#176b58;border-color:#176b58}.league-season-history{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:16px;padding:22px}.league-season-history>div h2{margin:0 0 13px;font-size:18px}.league-season-history article{border-top:1px solid #eceee9;grid-template-columns:1fr 1fr;align-items:center;min-height:54px;display:grid}.league-season-history article>div{align-items:center;gap:9px;display:flex}.league-season-history article p{color:#71807d;margin:0;font-size:10px}.league-season-modal{width:min(540px,100%)}.league-modal-intro{color:#71807d;margin:-10px 0 20px;font-size:11px;line-height:1.5}.league-season-modal fieldset{margin:19px 0 0}.league-level-tags{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.league-level-tags span{color:#205e4e;background:#e4f3eb;border-radius:8px;align-items:center;gap:7px;padding:8px 9px;font-size:10px;font-weight:800;display:flex}.league-level-tags button{color:#57756d;background:0 0;border:0;width:auto;height:auto;font-size:15px}.league-add-level{gap:7px;margin-top:10px;display:flex}.league-add-level input{margin:0}.league-add-level button{border:1px solid var(--line);color:#176b58;background:#f5f7f3;border-radius:8px;flex:none;font-size:9px;font-weight:800}@media (width<=650px){.league-hero-action{width:100%}.league-season-history article{grid-template-columns:1fr}.league-season-history article p{margin:8px 0 12px}.league-add-level{flex-direction:column;align-items:stretch}.league-add-level button{min-height:40px}}.captain-credentials{background:#edf8f2;border:1px solid #6fb493;border-radius:12px;align-items:center;gap:14px;margin:15px 0;padding:15px 17px;display:flex}.captain-credentials div{flex:1}.captain-credentials strong,.captain-credentials span{display:block}.captain-credentials strong{font-size:11px}.captain-credentials span{color:#71807c;margin-top:3px;font-size:9px}.captain-credentials code{color:#fff;background:#173f3a;border-radius:8px;padding:9px 11px;font-size:10px}.captain-credentials button{color:#176b58;background:0 0;border:0;font-size:9px;font-weight:800}.league-team-list{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:16px;padding:21px}.league-team-list header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.league-team-list h2{margin:0;font-size:18px}.league-team-list article{border-top:1px solid #eceee9;grid-template-columns:1fr 1fr auto;align-items:center;min-height:62px;display:grid}.league-team-list article strong,.league-team-list article small{display:block}.league-team-list article small{color:#74817e;margin-top:4px;font-size:9px}.league-team-list article>button{color:#a4534e;background:0 0;border:0;font-size:9px}.league-season-modal select{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;margin-top:7px;padding:12px;display:block}@media (width<=650px){.captain-credentials{flex-direction:column;align-items:stretch}.captain-credentials code{width:100%}.league-team-list article{grid-template-columns:1fr;gap:8px;padding:12px 0}.league-team-list article>button{justify-self:start}}.game-night-modal{background:#fff;border-radius:16px;width:min(1180px,96vw);max-height:94vh;padding:25px;overflow:auto}.game-night-shared{grid-template-columns:1fr 1fr 2fr;gap:10px;display:grid}.game-night-shared label{font-size:10px;font-weight:800}.game-night-shared input,.game-night-shared select,.game-night-rows select,.night-courts input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;margin-top:6px;padding:10px}.game-night-rows{gap:8px;margin:18px 0;display:grid}.game-night-rows article{border:1px solid var(--line);background:#fafbf8;border-radius:10px;grid-template-columns:70px 1fr 1.4fr 1.4fr 180px auto auto;align-items:center;gap:7px;padding:10px;display:grid}.game-night-rows article>button{color:#176b58;background:0 0;border:0;font-size:8px;font-weight:800}.night-courts{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.night-courts input{text-align:center;margin:0}@media (width<=800px){.game-night-shared,.game-night-rows article{grid-template-columns:1fr}.night-courts{max-width:240px}}.league-admin-menu{z-index:20;border:1px solid var(--line);background:#fffffff5;border-radius:11px;gap:6px;margin:-12px 0 18px;padding:7px;display:flex;position:sticky;top:0;box-shadow:0 8px 20px #1436310f}.league-admin-menu button{color:#365b54;background:0 0;border:0;border-radius:8px;padding:10px 14px;font-size:10px;font-weight:800}.league-admin-menu button:hover{color:#176b58;background:#e5f4ec}.league-level-tabs{gap:7px;margin:5px 0 13px;padding-bottom:2px;display:flex;overflow-x:auto}.league-level-tabs button{white-space:nowrap;border:1px solid var(--line);color:#687773;background:#f8f9f6;border-radius:20px;padding:9px 12px;font-size:10px;font-weight:800}.league-level-tabs button.active{color:#176b58;background:#dff2e9;border-color:#4ca17c}.league-level-tabs span{margin-left:5px}.league-row-actions{justify-content:flex-end;gap:6px;display:flex}.league-row-actions button{border:1px solid var(--line);color:#176b58;background:#fff;border-radius:7px;padding:7px 9px;font-size:8px;font-weight:800}.league-row-actions button.danger{color:#a4534e}.league-empty{color:#71807d;text-align:center;background:#f5f6f2;border-radius:9px;margin:12px 0 0;padding:18px;font-size:10px}.league-schedule-list article{grid-template-columns:1.1fr 1fr 1fr;gap:16px}.league-team-list{scroll-margin-top:72px}@media (width<=650px){.league-admin-menu{top:0;overflow-x:auto}.league-admin-menu button{white-space:nowrap}.league-row-actions{flex-wrap:wrap;justify-content:flex-start}.league-schedule-list article{grid-template-columns:1fr}}.section-leagueAdmin>#league-teams,.section-leagueAdmin>#league-locations,.section-leagueAdmin>#league-schedule,.section-leagueAdmin>#league-standings,.section-leagueTeams>:not(.league-admin-header):not(#league-teams):not(.modal-backdrop):not(.captain-credentials):not(.league-error),.section-leagueLocations>:not(.league-admin-header):not(#league-locations):not(.modal-backdrop):not(.league-error),.section-leagueSchedule>:not(.league-admin-header):not(#league-schedule):not(.modal-backdrop):not(.league-error),.section-leagueStandings>:not(.league-admin-header):not(#league-standings):not(.modal-backdrop):not(.league-error){display:none}.league-schedule-list article{grid-template-columns:1.1fr 1fr 1fr auto}.schedule-result{text-align:right}.schedule-result button{border:1px solid var(--line);color:#176b58;background:#fff;border-radius:7px;margin-top:5px;padding:6px 8px;font-size:8px;font-weight:800;display:block}.standings-rule{color:#71807d;font-size:9px}.standings-table{border:1px solid #e3e6e1;border-radius:10px;overflow-x:auto}.standings-head,.standings-row{grid-template-columns:45px minmax(190px,1fr) repeat(8,55px);align-items:center;min-width:720px;display:grid}.standings-head{color:#d8e8e3;background:#173f3a;padding:10px 12px;font-size:8px;font-weight:900}.standings-row{border-top:1px solid #eaede8;min-height:52px;padding:8px 12px;font-size:10px}.standings-row:nth-child(odd){background:#f8faf7}.standings-row>strong{font-size:11px}.standings-row>span,.standings-row>b,.standings-row>strong+span{text-align:center}.league-score-fields{grid-template-columns:1fr auto 1fr;align-items:end;gap:15px;margin:22px 0;display:grid}.league-score-fields label{font-size:10px;font-weight:800}.league-score-fields input{border:1px solid var(--line);text-align:center;border-radius:10px;width:100%;margin-top:8px;padding:16px;font-size:24px;font-weight:900}.league-score-fields>b{padding-bottom:17px;font-size:25px}@media (width<=650px){.league-schedule-list article{grid-template-columns:1fr}.schedule-result{text-align:left}.league-score-fields{grid-template-columns:1fr}.league-score-fields>b{display:none}}.league-schedule-list{padding:19px}.league-schedule-list article{min-height:58px;font-size:11px}.league-schedule-list article strong{font-size:12px}.league-schedule-list article small{font-size:9px}.league-schedule-list article em{color:#9a651d;margin-top:4px;font-size:9px;font-style:normal;display:block}.schedule-result>span{justify-content:flex-end;gap:4px;display:flex}.schedule-result button{margin-top:5px;padding:6px 8px;font-size:9px;display:inline-block}.outcome-options{grid-template-columns:1fr 1fr 1fr;gap:8px;margin:18px 0;display:grid}.outcome-options button{border:1px solid var(--line);color:#294943;background:#fafbf8;border-radius:10px;min-height:72px;padding:11px;font-size:10px;font-weight:800}.outcome-options button small{color:#788581;margin-top:5px;font-size:8px;font-weight:400;display:block}.outcome-options button.selected{color:#176b58;background:#dff2e9;border-color:#3a9974}.winner-wins-field,.reschedule-reason{color:#42514e;margin:15px 0;font-size:10px;font-weight:800;display:block}.winner-wins-field input,.reschedule-reason textarea{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;margin-top:7px;padding:12px;display:block}.winner-wins-field input{text-align:center;font-size:20px;font-weight:900}.winner-wins-field small{color:#71807d;margin-top:5px;font-size:8px;display:block}.reschedule-reason textarea{resize:vertical;min-height:82px}.assigned-interclub{background:#f5fbf7;border:1px solid #b9daca;border-radius:14px;margin-bottom:18px;overflow:hidden}.assigned-interclub>header{background:#e4f3eb;justify-content:space-between;align-items:center;padding:15px 17px;display:flex}.assigned-interclub h2{margin:0;font-size:16px}.assigned-interclub>header>span{color:#176b58;font-size:10px;font-weight:800}.assigned-interclub article{border-top:1px solid #dce9e1;grid-template-columns:90px 1fr auto;align-items:center;gap:14px;padding:13px 17px;display:grid}.assigned-interclub article strong,.assigned-interclub article small,.assigned-interclub article em{display:block}.assigned-interclub article strong{font-size:12px}.assigned-interclub article small{color:#71807d;margin-top:4px;font-size:10px}.assigned-interclub article i{color:#83918d;font-style:normal;font-weight:400}.assigned-interclub article em{color:#9a651d;margin-top:5px;font-size:9px;font-style:normal}.assigned-result{text-align:right}.assigned-result span{color:#526a64;font-size:10px;display:block}.assigned-result button{color:#176b58;background:#fff;border:1px solid #70af93;border-radius:7px;margin-top:5px;padding:7px 10px;font-size:9px;font-weight:800}@media (width<=650px){.outcome-options,.assigned-interclub article{grid-template-columns:1fr}.assigned-result{text-align:left}.schedule-result>span{justify-content:flex-start}}.public-table{grid-template-columns:50px minmax(150px,1.6fr) minmax(110px,1fr) repeat(6,70px) 82px 76px}.league-standings .standings-table{border:1px solid #17627e;border-radius:10px;box-shadow:0 7px 22px #16362c0f}.league-standings .standings-head,.league-standings .standings-row{grid-template-columns:52px minmax(210px,1fr) 58px repeat(6,82px) 96px;align-items:stretch;min-width:930px;padding:0}.league-standings .standings-head{color:#fff;background:#17627e;border-radius:9px 9px 0 0;font-size:8px;font-weight:900}.league-standings .standings-head>*{text-align:center;border-left:1px solid #3e9fc4;place-items:center;min-height:50px;padding:7px 6px;line-height:1.25;display:grid}.league-standings .standings-row{border-top:1px solid #cbe2ea;min-height:56px;font-size:11px}.league-standings .standings-row:nth-child(odd){background:#e8f4f8}.league-standings .standings-row>*{text-align:center;border-left:1px solid #cbe2ea;place-items:center;padding:9px 7px;display:grid}.league-standings .standings-row>strong{text-align:left;place-items:start;font-size:12px}.league-standings .standings-row>strong small{color:#6d7d79;margin-top:3px;font-size:9px;font-weight:600;display:block}.league-standings .standings-row>b:last-of-type{color:#125d7a;background:#d3edf6;border-radius:0;justify-self:stretch;min-width:0;height:auto;font-size:15px}.standings-explanation{color:#677872;margin:11px 2px 0;font-size:9px}@media (width<=650px){.mobile-nav{height:calc(68px + env(safe-area-inset-bottom));padding:6px 6px max(6px,env(safe-area-inset-bottom))}.mobile-nav>button,.mobile-nav summary{cursor:pointer;min-width:0;min-height:54px;padding:4px 2px}.mobile-nav>button span,.mobile-nav summary span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-nav details>div.mobile-more-menu{border-radius:14px;width:min(230px,100vw - 20px);padding:9px;bottom:66px;right:4px}.mobile-nav details>div.mobile-more-menu button{border-bottom:1px solid #edf0ec;justify-content:space-between;align-items:center;min-height:46px;padding:12px;font-size:12px;font-weight:800;display:flex}.mobile-nav details>div.mobile-more-menu button:last-child{border-bottom:0}.mobile-nav .mobile-signout{color:#9a443d;background:#fff4f1;margin-top:5px}.mobile-nav .mobile-signout small{color:#a77770;font-size:9px;font-weight:600}.section-leagueAdmin,.section-leagueTeams,.section-leagueLocations,.section-leagueSchedule,.section-leagueStandings,.section-leagueReports{padding-bottom:100px!important}}.public-access-link{color:#176b58;text-align:center;background:#f2faf6;border:1px solid #b9daca;border-radius:9px;margin-top:18px;padding:12px;font-size:11px;font-weight:900;text-decoration:none;display:block}.public-controls{grid-template-columns:1fr 1fr}.public-division-tabs{gap:8px;margin:14px 0 0;padding:4px 0 2px;display:flex;overflow-x:auto}.public-division-tabs button{color:#536a64;white-space:nowrap;background:#fff;border:1px solid #d5dfd8;border-radius:10px;flex:1;min-width:145px;padding:12px 15px;font-size:11px;font-weight:900}.public-division-tabs button.active{color:#fff;background:#176b58;border-color:#176b58;box-shadow:0 6px 16px #176b5829}@media (width<=650px){.public-controls{grid-template-columns:1fr}.public-division-tabs button{flex:none;min-width:130px}}.public-view-tabs{background:#edf1ed;border:1px solid #d9e1da;border-radius:12px;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px;padding:5px;display:grid}.public-view-tabs button{color:#60736d;background:0 0;border:0;border-radius:9px;min-height:46px;font-size:12px;font-weight:900}.public-view-tabs button.active{color:#176b58;background:#fff;box-shadow:0 3px 10px #173f3a1a}@media (width<=650px){.public-league>header{grid-template-columns:auto 1fr}.public-view-tabs{z-index:10;position:sticky;top:8px}.public-view-tabs button{min-height:48px}}.language-switch{z-index:150;background:#fffffff5;border:1px solid #cfdad3;border-radius:10px;gap:3px;padding:3px;display:flex;position:fixed;top:14px;right:18px;box-shadow:0 5px 18px #1336301f}.language-switch button{color:#5d716b;background:0 0;border:0;border-radius:7px;min-width:38px;min-height:32px;padding:6px 9px;font-size:11px;font-weight:900}.language-switch button.active{color:#fff;background:#176b58}@media (width<=650px){.language-switch{top:8px;right:10px}.auth-page .language-switch{top:10px}.app-shell>.language-switch{top:8px}}@media print{.language-switch{display:none!important}}html[lang=fr] .interclub-captain-matches .guided-match-card:has(.warning-pill) .match-actions>.primary-btn:before{content:"Créer l’alignement →"}.app-shell:has(>.language-switch) .overdue-dashboard-warning{top:62px}@media (width<=750px){html[lang=fr] .sidebar .nav-item:nth-child(2):after{content:"Matchs"}}@media (width<=650px){.app-shell:has(>.language-switch) .overdue-dashboard-warning{top:auto}}.matches-content{padding-top:38px}.empty-matches{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;padding:60px}.empty-matches>span{background:var(--mint);border-radius:14px;place-items:center;width:48px;height:48px;margin:0 auto 15px;font-size:22px;display:grid}.empty-matches h2{margin-bottom:8px}.empty-matches p{color:var(--muted);margin-bottom:20px;font-size:12px}.matches-list{gap:12px;display:grid}.match-card{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:62px 1fr auto;align-items:center;gap:18px;padding:18px 20px;display:grid}.match-date{background:var(--mint);color:var(--green);border-radius:11px;place-items:center;padding:9px;display:grid}.match-date strong{font-size:22px}.match-date span{letter-spacing:1px;font-size:9px;font-weight:800}.match-info h2{margin:3px 0 5px;font-size:18px}.match-info h2 span{color:#85918f;margin:0 7px;font-size:12px;font-weight:400}.match-info>p:last-child{color:var(--muted);margin:0;font-size:11px}.match-actions{align-items:center;gap:13px;display:flex}.saved-pill{color:#176b58;white-space:nowrap;background:#dff2e9;border-radius:20px;padding:7px 9px;font-size:10px;font-weight:800}.completed-pill{color:#fff;white-space:nowrap;background:#173f39;border-radius:20px;padding:7px 9px;font-size:10px;font-weight:800}.match-modal{width:min(620px,100%);max-height:90vh;overflow:auto}.match-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.match-fields select{border:1px solid var(--line);color:#173432;background:#fff;border-radius:9px;width:100%;margin-top:8px;padding:12px;display:block}.field-link{color:var(--green);background:0 0;border:0;padding:6px 0 0;font-size:9px;font-weight:800}.court-number-fields{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;display:grid}.court-number-fields label{color:#667572;font-size:9px}.court-number-fields input{margin-top:5px}.match-modal .gender-options{grid-template-columns:repeat(3,1fr)}.match-player-picker{grid-template-columns:repeat(2,1fr);gap:7px;margin-top:9px;display:grid}.match-player-picker button{border:1px solid var(--line);color:#687573;background:#fafaf7;border-radius:8px;justify-content:space-between;padding:9px 11px;font-size:11px;display:flex}.match-player-picker button.selected{color:#155844;background:#eaf7f0;border-color:#54aa84;font-weight:800}@media (width<=650px){.match-card{grid-template-columns:48px 1fr}.match-actions{grid-column:1/-1;justify-content:space-between}.match-fields,.match-player-picker{grid-template-columns:1fr}}.results-content{padding-top:30px}.results-header{justify-content:space-between;align-items:flex-end;margin-bottom:18px;display:flex}.results-header h1{margin:5px 0 7px}.results-header>div:first-child>p:last-child{color:var(--muted);margin:0;font-size:12px}.results-header-right{align-items:flex-end;gap:10px;display:flex}.photo-import-btn{color:#176b58;background:#e6f4ed;border:1px solid #62a98b;border-radius:9px;padding:10px 13px;font-size:10px;font-weight:800}.result-summary{gap:10px;display:flex}.result-summary span{border:1px solid var(--line);color:#71807d;background:#fff;border-radius:10px;padding:10px 13px;font-size:10px}.result-summary strong{color:#24413e;margin-right:3px;font-size:17px}.result-summary .wins strong{color:#16805f}.result-summary .losses strong{color:#b55750}.results-progress{background:#dfe2dc;border-radius:10px;height:7px;margin-bottom:18px;overflow:hidden}.results-progress i{background:#51b288;border-radius:10px;height:100%;transition:width .2s;display:block}.results-sheet-wrap{padding-bottom:86px;overflow-x:auto}.results-sheet{border:1px solid var(--line);background:#fff;border-radius:13px;min-width:850px;overflow:hidden}.results-sheet-head,.results-sheet-row{grid-template-columns:100px repeat(3,minmax(0,1fr));display:grid}.results-sheet-head{color:#fff;background:#173f3a}.results-sheet-head span{letter-spacing:1.1px;border-left:1px solid #315a54;padding:12px 15px;font-size:9px;font-weight:800}.results-sheet-head span:first-child{text-align:center;border-left:0}.results-sheet-row{border-top:5px solid #e0e1dc;min-height:82px}.results-sheet-row:first-of-type{border-top:0}.result-round{text-align:center;border-right:1px solid var(--line);background:#f1f2ed;place-content:center;display:grid}.result-round strong{color:#173f3a;font-size:21px}.result-round small{color:#7b8784;margin-top:4px;font-size:8px}.result-court-cell{border-right:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.result-court-cell:last-child{border-right:0}.result-court-cell.mixed-result-cell{background:#fcf1fb;box-shadow:inset 0 3px #d9a5d4}.result-pair{min-width:0}.result-pair small,.result-pair strong{display:block}.result-pair small{color:#7d8986;letter-spacing:1px;margin-bottom:5px;font-size:7px;font-weight:800}.mixed-result-cell .result-pair small{color:#9a4f91}.result-pair strong{color:#294440;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.45;overflow:hidden}.result-buttons{gap:5px;display:flex}.result-buttons button{border:1px solid var(--line);color:#7a8582;background:#fafaf7;border-radius:7px;width:34px;height:31px;font-size:11px;font-weight:900}.result-buttons .win.selected{color:#146b4e;background:#dcf2e7;border-color:#47a67d}.result-buttons .loss.selected{color:#a4433d;background:#fae7e5;border-color:#c87972}.results-footer{z-index:8;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f6f5eff5;justify-content:space-between;align-items:center;padding:14px 44px;display:flex;position:fixed;bottom:0;left:240px;right:0}.results-footer strong,.results-footer span{display:block}.results-footer strong{font-size:12px}.results-footer span{color:var(--muted);margin-top:3px;font-size:10px}.photo-modal-backdrop{z-index:40;background:#081f1cad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.photo-import-modal{background:#fff;border-radius:17px;width:min(1080px,100%);max-height:92vh;overflow:auto;box-shadow:0 25px 80px #0000004d}.photo-import-modal>header,.photo-import-modal>footer{justify-content:space-between;align-items:center;padding:20px 23px;display:flex}.photo-import-modal>header{border-bottom:1px solid var(--line)}.photo-import-modal>header h2{margin:0 0 5px}.photo-import-modal>header span{color:var(--muted);font-size:10px}.photo-import-modal>header>button{color:#53615e;background:#eff1ec;border:0;border-radius:50%;width:32px;height:32px;font-size:20px}.photo-import-modal>footer{border-top:1px solid var(--line)}.photo-import-modal>footer>span{color:#74817e;font-size:9px}.photo-drop{cursor:pointer;text-align:center;background:#f4faf7;border:2px dashed #9ebbb0;border-radius:14px;place-items:center;min-height:330px;margin:22px;display:grid}.photo-drop input,.photo-import-body aside label input{opacity:0;pointer-events:none;position:absolute}.photo-drop b{color:#176b58;background:#dff2e9;border-radius:14px;place-items:center;width:50px;height:50px;font-size:25px;display:grid}.photo-drop strong{margin-top:-75px;font-size:14px}.photo-drop span{color:#7b8885;margin-top:-105px;font-size:10px}.photo-import-body{grid-template-columns:minmax(280px,.8fr) minmax(480px,1.2fr);gap:18px;padding:20px 23px;display:grid}.photo-import-body aside{min-width:0}.photo-import-body aside img{object-fit:contain;border:1px solid var(--line);background:#f0f0ec;border-radius:11px;width:100%;max-height:510px}.photo-import-body aside>div{color:#596763;justify-content:space-between;gap:10px;margin-top:9px;font-size:9px;display:flex}.photo-import-body aside label{color:#176b58;cursor:pointer;font-weight:800}.photo-import-body main{min-width:0}.scan-summary{background:#eff3f0;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:11px 13px;display:flex}.scan-summary strong,.scan-summary span{display:block}.scan-summary strong{font-size:12px}.scan-summary span{color:#74817e;margin-top:3px;font-size:9px}.scan-grid{border:1px solid var(--line);border-radius:11px;overflow:hidden}.scan-grid-head,.scan-row{grid-template-columns:65px repeat(3,1fr);display:grid}.scan-grid-head{color:#fff;background:#173f3a}.scan-grid-head span{text-align:center;letter-spacing:.7px;padding:8px;font-size:8px;font-weight:800}.scan-row{border-top:1px solid #e6e8e2;min-height:48px}.scan-row>strong{color:#244b43;background:#f0f2ed;place-items:center;display:grid}.scan-cell{border-left:1px solid #e6e8e2;justify-content:space-between;align-items:center;gap:5px;padding:7px 8px;display:flex}.scan-cell.high{background:#edf8f2}.scan-cell.medium{background:#fff7df}.scan-cell.low{background:#fcedeb}.scan-cell>div{gap:3px;display:flex}.scan-cell button{color:#7a8582;background:#fff;border:1px solid #cfd5d0;border-radius:6px;width:27px;height:27px;font-size:9px;font-weight:900}.scan-cell button.win.selected{color:#126a4c;background:#cfeedd;border-color:#44a178}.scan-cell button.loss.selected{color:#a3443d;background:#f6dcd9;border-color:#c66f67}.scan-cell button.unknown.selected{color:#865c0d;background:#fff0c4;border-color:#c99d38}.scan-cell small{color:#6f7c79;font-size:7px}@media (width<=900px){.results-footer{padding:14px 24px;left:78px}}@media (width<=650px){.results-header,.results-header-right{display:block}.photo-import-btn{margin-top:14px}.result-summary{margin-top:10px}.results-sheet{min-width:760px}.results-sheet-head,.results-sheet-row{grid-template-columns:78px repeat(3,minmax(0,1fr))}.result-court-cell{padding:10px}.results-footer{padding:12px 16px;left:0}.results-footer span{display:none}.photo-import-body{grid-template-columns:1fr;padding:14px}.photo-import-body aside img{max-height:260px}.scan-grid{overflow-x:auto}.scan-grid>div{min-width:520px}.photo-import-modal>footer{background:#fff;position:sticky;bottom:0}}.reports-content{padding-top:38px}.reports-header{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.reports-header h1{margin:0 0 7px}.reports-header>div>p:last-child{color:var(--muted);margin:0;font-size:13px}.report-scope{background:#f7fbf8;border:1px solid #dce8e3;border-radius:13px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:14px 18px;display:flex}.report-scope>div:first-child{flex-direction:column;gap:3px;display:flex}.report-scope strong{color:#24413e;font-size:12px}.report-scope span{color:var(--muted);font-size:10px}.report-scope>div:last-child{background:#e8f0ec;border-radius:10px;gap:6px;padding:4px;display:flex}.report-scope button{color:#667572;background:0 0;border:0;border-radius:7px;padding:9px 16px;font-size:10px;font-weight:800}.report-scope button.active{color:#155844;background:#fff;box-shadow:0 1px 5px #1b42391f}.report-summary{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.report-summary article{border:1px solid var(--line);background:#fff;border-radius:13px;padding:20px}.report-summary span,.report-summary strong,.report-summary small{display:block}.report-summary span{color:#77827f;letter-spacing:1px;font-size:9px;font-weight:800}.report-summary strong{color:#24413e;margin:9px 0 5px;font-size:27px}.report-summary strong.report-win{color:#16805f}.report-summary strong.report-loss{color:#b55750}.report-summary small{color:#788582;font-size:10px}.pair-ranking{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.pair-ranking-head{justify-content:space-between;align-items:center;padding:21px 23px;display:flex}.pair-ranking-head h2{margin:0 0 5px;font-size:19px}.pair-ranking-head p{color:var(--muted);margin:0;font-size:11px}.pair-ranking-head>span{color:#39705f;letter-spacing:.8px;background:#eef5f1;border-radius:20px;padding:7px 10px;font-size:8px;font-weight:800}.entity-tabs{gap:7px;padding:0 23px 10px;display:flex}.entity-tabs button{border:1px solid var(--line);color:#667572;background:#fff;border-radius:8px;padding:9px 16px;font-size:10px;font-weight:800}.entity-tabs button.active{color:#fff;background:#173f3a;border-color:#173f3a}.ranking-tabs{align-items:center;gap:7px;padding:0 23px 17px;display:flex}.ranking-tabs button{border:1px solid var(--line);color:#667572;background:#fafaf7;border-radius:8px;padding:9px 13px;font-size:10px;font-weight:800}.ranking-tabs button.active{color:#155844;background:#e5f4ec;border-color:#54aa84}.ranking-tabs small{color:#7a8784;margin-left:auto;font-size:9px}.score-legend{padding:0 23px 17px}.score-legend>div{color:#6f7b78;justify-content:space-between;font-size:8px;font-weight:800;display:flex}.score-legend>i{background:linear-gradient(90deg,#d97b74 0%,#edcf78 50%,#5eae80 100%);border-radius:8px;height:9px;margin:6px 0 8px;display:block}.score-legend p{color:#788582;margin:0;font-size:9px;line-height:1.45}.ranking-table{border-top:1px solid #e8e9e3}.ranking-row{color:#52615e;border-top:1px solid #ecece7;grid-template-columns:70px minmax(220px,1.7fr) repeat(3,.55fr) minmax(130px,.8fr);align-items:center;min-height:62px;padding:8px 20px;font-size:12px;display:grid}.ranking-table.adjusted-table .ranking-row{grid-template-columns:70px minmax(200px,1.5fr) repeat(3,.5fr) minmax(120px,.75fr) .5fr}.ranking-row:first-child{border-top:0}.ranking-labels{color:#788480;letter-spacing:1px;background:#f1f2ed;min-height:38px;font-size:8px;font-weight:800}.ranking-labels button{color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;background:0 0;border:0;justify-self:start;padding:5px 0}.ranking-labels button:hover{color:#176b58}.ranking-position{color:#2a6656;background:#edf3ef;border-radius:8px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.ranking-row:nth-child(2) .ranking-position{color:#176b58;background:#dff2e9}.ranking-pair{align-items:center;gap:11px;min-width:0;display:flex}.ranking-pair>span{color:#276656;background:#e5eee9;border-radius:50%;flex:0 0 34px;place-items:center;height:34px;font-size:9px;font-weight:900;display:grid}.ranking-pair strong{color:#24413e;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ranking-win{color:#16805f;font-weight:900}.ranking-loss{color:#b55750;font-weight:900}.ranking-rate{align-items:center;gap:10px;display:flex}.ranking-rate strong{color:#24413e;min-width:34px}.ranking-rate i{background:#e2e5df;border-radius:6px;flex:1;height:5px;overflow:hidden}.ranking-rate b{background:#58b58b;border-radius:6px;height:100%;display:block}.ranking-score{color:#173f3a;text-align:center;background:#ffffff9e;border:1px solid #16503e29;border-radius:8px;width:42px;padding:7px 0;font-weight:900}.empty-report{text-align:center;border-top:1px solid #e8e9e3;padding:52px 20px 58px}.empty-report>span{color:#27725d;background:#e4f3eb;border-radius:12px;place-items:center;width:44px;height:44px;margin:0 auto 14px;font-size:20px;display:grid}.empty-report h3{margin:0 0 7px}.empty-report p{max-width:430px;color:var(--muted);margin:0 auto 18px;font-size:11px;line-height:1.5}@media (width<=900px){.report-summary{grid-template-columns:repeat(2,1fr)}.pair-ranking{overflow-x:auto}.pair-ranking-head,.ranking-tabs,.ranking-table{min-width:820px}}@media (width<=650px){.reports-header{display:block}.reports-header .outline-btn{margin-top:16px}.report-scope{flex-direction:column;align-items:flex-start}.report-scope>div:last-child{width:100%}.report-scope button{flex:1}.report-summary{grid-template-columns:1fr 1fr;gap:9px}.report-summary article{padding:16px}.report-summary strong{font-size:23px}.ranking-tabs small{display:none}}.builder-footer-actions{gap:8px;display:flex}.dashboard-empty-lineup{color:#657066;border:1px dashed #c9cec8;border-radius:12px;justify-content:center;align-items:center;gap:12px;min-height:150px;display:flex}.dashboard-empty-lineup span{font-size:28px}.print-page{background:#ecece7;grid-column:2;min-height:100vh;padding:24px 30px 50px;overflow-x:auto}.print-controls{justify-content:space-between;max-width:1320px;margin:0 auto 18px;display:flex}.score-sheet{color:#050505;background:#fff;width:1280px;margin:auto;padding:8px;font-family:Arial,sans-serif;box-shadow:0 10px 35px #0000001f}.score-meta{grid-template-columns:30% 43% 27%;align-items:stretch;min-height:78px;font-size:14px;display:grid}.score-date{grid-template-columns:34% 66%;align-items:end;padding-bottom:5px;font-size:22px;display:grid}.score-date strong{text-align:center;background:#d9f0d1;padding:15px 8px;font-size:14px}.score-team,.score-start{grid-template-rows:1fr 1fr;display:grid}.score-team span,.score-start span{grid-template-columns:38% 62%;align-items:center;display:grid}.score-team strong,.score-start strong{text-align:center;justify-content:center;align-items:center;height:100%;padding:5px 8px;display:flex}.score-team span:first-child strong{background:#ffff98}.score-team span:last-child strong{background:#c9eaf7;font-size:17px}.score-start span:first-child strong{background:#fffed3;font-size:17px}.score-start span:last-child strong{background:#d9f0d1}.score-meta b{padding:0 9px}.score-table{border-collapse:collapse;table-layout:fixed;border:3px solid #050505;width:100%;font-size:14px}.score-table .round-col{width:8%}.score-table .time-col{width:22%}.score-table th,.score-table td{border:1px solid #111;padding:0 7px}.score-table thead th{text-align:center}.score-table thead>tr:first-child{height:31px;font-size:19px}.score-table thead>tr:last-child{height:22px;font-weight:400}.score-table .court-title,.score-table .side-title,.score-table tbody td:nth-child(n+3){border-left:14px solid #050505}.score-table .court-title{font-size:21px}.score-table .side-title{font-weight:400}.warmup-row{text-align:center;height:24px}.warmup-row td:nth-child(n+3){font-size:15px}.score-round-row{height:46px}.score-round-row>th{text-align:center;font-size:18px}.score-round-row>td:nth-child(2){text-align:center;white-space:nowrap;font-size:15px}.score-round-row i{margin:0 12px;font-style:normal}.score-pair{padding:0!important}.score-pair span{min-height:21px;padding:3px 8px 1px;line-height:18px;display:block}.score-pair .mixed-name{background:#efc8ee}.score-break-row{text-align:center;background:#d4d4d4;height:20px}.score-break-row td{padding:0;font-size:12px}.score-total-row{text-align:center;height:27px;font-size:13px}.score-total-row td:nth-child(2){font-size:15px}.score-total-row td:last-child{font-weight:700}@media (width<=900px){.print-page{grid-column:2;padding:20px}}@media (width<=650px){.print-page{grid-column:1;padding:12px}.court-number-fields{grid-template-columns:1fr 1fr 1fr}}@page{size:letter landscape;margin:.18in}@media print{html,body{background:#fff!important;width:auto!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.sidebar,.mobile-nav,.print-controls,.logout-button{display:none!important}.app-shell{width:100%!important;min-height:0!important;display:block!important}.content{width:100%!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.content>:not(.print-page){display:none!important}.print-page{break-after:avoid-page!important;page-break-after:avoid!important;background:#fff!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.score-sheet{box-sizing:border-box;box-shadow:none;zoom:.78;transform-origin:0 0;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:8px;break-inside:avoid-page!important;page-break-inside:avoid!important;width:1280px!important;max-width:none!important;height:auto!important;margin:0!important;overflow:visible!important;transform:none!important}.score-table{table-layout:fixed!important;width:100%!important;min-width:0!important}.score-table thead{display:table-row-group!important}.score-round-row,.score-break-row,.score-total-row{break-inside:avoid;page-break-inside:avoid}}
