/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@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)}.block{display:block}.contents{display:contents}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--navy:#102f2d;--green:#176b58;--mint:#dff2e9;--cream:#f6f5ef;--line:#dedfd8;--muted:#687573}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}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}.quick-results-lineup .mobile-court{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.quick-results-lineup .mobile-court-detail{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.quick-results-lineup .mobile-pair{flex-wrap:wrap;justify-content:flex-end;gap:1px;min-width:0;display:flex}.quick-results-lineup .mobile-pair button{text-align:right;padding:0;font-size:12px;line-height:1.35}.quick-results-lineup .quick-result-buttons{gap:5px;display:flex}.quick-results-lineup .quick-result-buttons button{color:#687572;background:#fff;border:1px solid #d2d8d3;border-radius:9px;place-items:center;width:38px;height:38px;padding:0;font-size:13px;font-weight:900;display:grid}.quick-results-lineup .quick-result-buttons button:before{content:none}.quick-results-lineup .quick-result-buttons .win.selected{color:#146b4e;background:#dcf2e7;border-color:#47a67d}.quick-results-lineup .quick-result-buttons .loss.selected{color:#a4433d;background:#fae7e5;border-color:#c87972}.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}.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>form{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:2px solid #0000;border-radius:9px;width:100%;margin-top:7px;padding:12px;display:block}.season-create-card input[aria-invalid=true]{border-color:#ffb4aa;box-shadow:0 0 0 3px #ffb4aa2e}.season-form-error{color:#ffd0c9;margin-top:7px;font-size:10px;line-height:1.35;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>form{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}}.public-link-card{background:#f4fbf7;border:1px solid #c9e3d6;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:18px 22px;display:flex}.public-link-card h2{margin:0 0 4px;font-size:17px}.public-link-card p:last-child{color:var(--muted);margin:0;font-size:10px}.public-link-card a{color:#fff;white-space:nowrap;background:#176b58;border-radius:8px;padding:11px 14px;font-size:12px;font-weight:800;text-decoration:none;display:block}.public-card{background:#fff;border:1px solid #d9ded8;border-radius:20px;width:min(860px,100%);margin:0 auto;padding:36px;box-shadow:0 22px 65px #14363121}.public-calendar{color:#173b35;background:radial-gradient(circle at 0 0,#d9f3e6,#0000 42%),#f4f4ee;min-height:100vh;padding:48px 20px;font-family:Arial,sans-serif}.public-card{background:#fff;border:1px solid #d9ded8;border-radius:20px;width:min(860px,100%);margin:0 auto;padding:36px;position:relative;box-shadow:0 22px 65px #14363121}.public-language{background:#f4f7f4;border:1px solid #d8e0da;border-radius:9px;gap:3px;padding:3px;display:flex;position:absolute;top:28px;right:30px}.public-language button{color:#5b6b66;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 8px;font-size:11px;font-weight:800}.public-language button.active{color:#fff;background:#176b58}.public-brand{color:#176b58;letter-spacing:1.4px;margin:0 0 10px;font-size:11px;font-weight:900}.public-card h1{margin:0;font-size:32px}.public-intro{color:#687573;margin:7px 0 25px}.public-match-list{gap:10px;display:grid}.public-match{background:#fbfcf9;border:1px solid #e3e7e1;border-radius:13px;grid-template-columns:190px 1fr;gap:22px;padding:18px;display:grid}.public-match time{color:#667572;text-transform:capitalize;font-size:13px;line-height:1.45}.public-match time strong{color:#176b58;margin-top:4px;font-size:19px;display:block}.public-match h2{margin:0 0 7px;font-size:18px}.public-match h2 span{color:#8c9995;font-weight:500}.public-match p{color:#687573;margin:0;font-size:13px}.public-empty{color:#687573;text-align:center;border:1px dashed #cbd6cf;border-radius:13px;padding:34px}.public-card footer{color:#84908d;text-align:center;margin-top:28px;font-size:11px}.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"}}@media (width<=650px){html,body{max-width:100%;overflow-x:hidden}.players-content{padding-top:24px!important}.players-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin-bottom:22px;display:grid}.players-header h1{font-size:26px;line-height:1.08}.players-header>div>p:last-child{font-size:14px;line-height:1.45}.players-header>.primary-btn{white-space:nowrap;min-height:48px;padding:12px 15px}.team-card{grid-template-columns:1fr;gap:20px;margin-bottom:14px;padding:20px;display:grid}.team-card>div:first-child{min-width:0}.team-card h2{overflow-wrap:anywhere;font-size:20px;line-height:1.25}.team-badge{flex:0 0 50px;width:50px;height:50px}.team-name-edit{grid-template-columns:1fr;align-items:stretch;gap:10px;width:100%;display:grid}.team-name-edit label{font-size:12px}.team-name-edit input{width:100%;min-height:44px;margin-top:6px;padding:10px 12px;font-size:16px}.team-name-edit button{min-height:44px;font-size:13px}.team-counts{border-top:1px solid #fff3;grid-template-columns:repeat(4,1fr);gap:0;width:100%;padding-top:17px;display:grid}.team-counts span{font-size:11px}.team-counts strong{font-size:21px}.team-category-card{margin-bottom:14px;padding:18px}.category-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.category-options button{min-height:44px;padding:10px 8px;font-size:12px}.category-options .category-save{grid-column:1/-1}.roster-panel{border-radius:14px;padding:17px 14px}.roster-heading{margin-bottom:16px}.roster-heading h2{font-size:21px}.roster-heading p{font-size:13px;line-height:1.45}.roster-table{background:0 0;border:0;border-radius:0;gap:10px;display:grid;overflow:visible}.roster-labels{display:none}.roster-row:not(.roster-labels){background:#fff;border:1px solid #e2e5df;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"person status""gender gender""actions actions";gap:10px 12px;min-height:0;padding:14px;display:grid;box-shadow:0 3px 10px #123d380a}.roster-person{grid-area:person;min-width:0}.roster-person>span{flex:0 0 38px;width:38px;height:38px;font-size:11px}.roster-person strong{overflow-wrap:anywhere;font-size:15px;line-height:1.3}.roster-gender{color:#65736f;grid-area:gender;padding-left:49px;font-size:13px}.status-toggle{grid-area:status;place-self:center end;min-height:38px;padding:8px 11px;font-size:12px}.row-actions{grid-area:actions;grid-template-columns:1fr 1fr;gap:8px;padding-top:3px;display:grid}.row-actions button{min-height:42px;padding:9px 12px;font-size:12px}}.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;cursor:pointer;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}.public-link-card{flex-direction:column;align-items:stretch;margin-bottom:14px;padding:18px}.public-link-card a{text-align:center;white-space:normal}.public-calendar{padding:20px 12px}.public-card{border-radius:16px;padding:24px 18px}.public-card h1{font-size:27px}.public-match{grid-template-columns:1fr;gap:10px;padding:16px}.public-match time strong{margin:0 0 0 8px;font-size:16px;display:inline}}@media print{.language-switch{display:none!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}.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-content{padding-top:20px!important}.results-header{margin-bottom:14px;display:block}.results-header h1{overflow-wrap:anywhere;margin:6px 0 8px;font-size:28px;line-height:1.12}.results-header>div:first-child>p:last-child{font-size:14px;line-height:1.4}.results-header-right{margin-top:16px;display:block}.photo-import-btn{min-height:44px;margin:0;font-size:12px}.result-summary{grid-template-columns:1.2fr 1fr 1fr;gap:7px;margin-top:10px;display:grid}.result-summary span{text-align:center;padding:9px 8px;font-size:11px}.result-summary strong{margin:0 0 2px;font-size:18px;display:block}.results-sheet-wrap{padding-bottom:92px;overflow:visible}.results-sheet{background:0 0;border:0;width:100%;min-width:0;overflow:visible}.results-sheet-head{display:none!important}.results-sheet-row{background:#fff;border:1px solid #dcded8;border-radius:14px;margin-bottom:12px;display:block;overflow:hidden}.results-sheet-row:first-of-type{border-top:1px solid #dcded8}.result-round{color:#fff;text-align:left;background:#173f3a;border:0;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.result-round strong{color:#fff;font-size:16px}.result-round strong:before{content:"Round "}.result-round small{color:#c3d8d3;margin:0;font-size:11px}.result-court-cell{border:0;border-top:1px solid #eceee9;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:68px;padding:10px 12px;display:grid}.result-court-cell:last-child{border-top:1px solid #eceee9}.result-pair small{margin-bottom:3px;font-size:9px}.result-pair strong{white-space:normal;font-size:13px;line-height:1.3}.result-buttons{gap:6px;display:flex}.result-buttons button{border-radius:9px;width:42px;height:42px;font-size:14px}.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:11in 8.5in;margin:.15in}@media print{html,body{background:#fff!important;width:10.7in!important;min-width:10.7in!important;height:8.2in!important;margin:0!important;padding:0!important;overflow:hidden!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:10.7in!important;max-width:none!important;height:8.2in!important;margin:0!important;padding:0!important}.content>:not(.print-page){display:none!important}.print-page{background:#fff!important;width:10.7in!important;height:8.2in!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:hidden!important}.score-sheet{box-sizing:border-box;height:auto;box-shadow:none;transform-origin:0 0;break-inside:avoid;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:8px;overflow:visible;transform:scale(.802);width:1280px!important;max-width:none!important;margin:0!important}.score-table{table-layout:fixed!important;width:100%!important;min-width:0!important}.score-round-row,.score-break-row,.score-total-row{break-inside:avoid;page-break-inside:avoid}}
