:root{--ink:#1c3029;--muted:#7b8781;--green:#244d3e;--lime:#d3ef8d;--bg:#f5f6f3;--line:#e7ebe5;--white:#fff;--red:#bc544d;--amber:#a77828;--radius:18px;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}:is(button,a,input,select,textarea):focus-visible{outline:3px solid #8bb362;outline-offset:3px}button{border:0}svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-1px;font-weight:700;line-height:1.4}h2{font-size:17px;font-weight:650;letter-spacing:-.3px}h3{font-size:15px;font-weight:650}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:600}.mono{font-variant-numeric:tabular-nums}.skip{position:absolute;top:-60px;left:10px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.loading{padding:80px;text-align:center}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:#142822;color:#f3f6ee;padding:34px 20px 20px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:12px;align-items:center;padding:0 13px 38px}.crest{width:43px;height:49px;background:var(--lime);color:#142822;clip-path:polygon(0 0,100% 0,100% 76%,50% 100%,0 76%);display:grid;place-items:center;font-weight:850;letter-spacing:-2px;font-size:23px;flex-shrink:0;padding-bottom:5px}.brand strong{font-size:19px;letter-spacing:2px}.brand small{display:block;color:#8fa397;letter-spacing:2.4px;font-size:9px;margin-top:1px}.nav-label{font-size:10px;color:#7c9487;padding:0 15px 12px;letter-spacing:2px}.side-nav{display:grid;gap:6px}.nav-item{display:flex;gap:13px;align-items:center;padding:12px 15px;border-radius:9px;color:#a4b5ab;font-size:13px;transition:background .16s,color .16s}.nav-item:hover{background:#ffffff09;color:white}.nav-item.active{background:var(--lime);color:#1f392a;font-weight:650}.nav-item.active:after{content:'';width:5px;height:5px;background:#23482e;border-radius:100%;margin-left:auto}.nav-count{margin-left:auto;font-size:10px;background:#ffffff13;padding:0 6px;border-radius:4px}.side-bottom{margin-top:auto;padding-top:40px}.season-card{background:#ffffff06;border:1px solid #ffffff10;border-radius:12px;padding:16px;margin:0 8px 20px}.season-card .eyebrow{color:#8eab98;font-size:9px}.season-card strong{display:block;font-size:22px;margin:4px 0}.season-card p{font-size:11px;color:#91a699}.season-dots{display:flex;gap:4px;margin-top:12px}.season-dots i{height:4px;flex:1;background:#d3ef8d;border-radius:2px}.season-dots i:last-child{background:#ffffff25}.side-profile{border-top:1px solid #ffffff12;padding:20px 9px 0;display:flex;gap:11px;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e9eee5;color:#426047;font-size:13px;font-weight:600;flex-shrink:0}.side-profile .avatar{background:#385344;color:#d7edc9}.side-profile small{display:block;color:#8fa397;font-size:10px}.side-profile svg{margin-left:auto;width:17px;color:#809a89}.workspace{margin-left:232px;min-height:100vh}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-bottom:1px solid var(--line);background:#fafbf8;gap:20px}.breadcrumb{display:flex;gap:12px;align-items:center;font-size:12px;color:#8a958e}.breadcrumb span:last-child{color:#405b4d}.breadcrumb svg{width:13px;height:13px}.header-right{display:flex;align-items:center;gap:22px}.date-label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.date-label svg{width:16px}.header-issue{display:flex;align-items:center;position:relative;background:transparent;color:#617768;padding:7px}.header-issue:after{content:'';height:5px;width:5px;border-radius:100%;background:#c9944d;position:absolute;right:7px;top:6px}.divider-v{height:23px;width:1px;background:var(--line)}.demo-badge{font-size:10px;padding:4px 8px;border:1px solid #dfe6d9;border-radius:5px;color:#65785e;letter-spacing:1px}main{padding:32px 40px 24px;max-width:1600px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px}.page-heading .eyebrow{color:#79926e;margin-bottom:7px;font-size:10px}.page-heading p{margin-top:7px;font-size:12px;color:var(--muted)}.heading-actions{display:flex;gap:10px;padding-bottom:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:600;background:#fff;border:1px solid #dfe5db;color:#415647;white-space:nowrap;min-height:40px;transition:transform .12s,background .12s}.btn:hover{background:#f0f3eb}.btn:active{transform:translateY(1px)}.btn svg{width:16px;height:16px}.btn.primary{background:var(--green);color:#f9fff0;border-color:var(--green)}.btn.primary:hover{background:#183e30}.btn.lime{background:var(--lime);color:#203927;border-color:var(--lime)}.btn.ghost{background:transparent;border-color:transparent;padding:6px 0;color:#4a6b4c;min-height:32px}.btn.danger{color:var(--red);border-color:#eededb}.button-icon{background:transparent;color:#78917d;padding:6px;display:inline-flex;border-radius:6px}.button-icon:hover{background:#eff2ea}.hero{display:grid;grid-template-columns:1.25fr 1fr;min-height:260px;background:#213f32;color:#fff;border-radius:var(--radius);overflow:hidden;position:relative;margin-bottom:23px}.hero-copy{padding:32px 35px;position:relative;z-index:2}.hero .eyebrow{color:#b8d19c;font-size:9px;letter-spacing:2.5px;display:flex;align-items:center;gap:9px}.live-dot{width:6px;height:6px;background:#d3ef8d;border-radius:50%;display:inline-block}.hero h2{font-size:30px;letter-spacing:1px;margin:12px 0 8px;font-weight:600}.hero p{font-size:12px;color:#b2c6b5;max-width:340px}.hero-bottom{display:flex;gap:20px;align-items:center;margin-top:28px}.hero-bottom .btn{min-height:36px;font-size:11px;padding:8px 14px}.hero-bottom small{color:#a3bba5;font-size:10px}.pitch-art{position:absolute;width:430px;height:330px;right:-90px;top:-34px;transform:rotate(-18deg);border:1px solid #a9cd7940;border-radius:4px;background:repeating-linear-gradient(90deg,#ffffff02 0px,#ffffff02 52px,transparent 52px,transparent 104px);opacity:.8;pointer-events:none}.pitch-art:before{content:'';position:absolute;inset:23px;border:1px solid #a9cd7940}.pitch-art:after{content:'';position:absolute;left:50%;top:23px;bottom:23px;border-left:1px solid #a9cd7940}.pitch-circle{position:absolute;left:calc(50% - 42px);top:calc(50% - 42px);width:84px;height:84px;border:1px solid #a9cd7940;border-radius:50%}.pitch-box{position:absolute;top:90px;right:23px;bottom:90px;width:72px;border:1px solid #a9cd7940}.hero-score{z-index:2;padding:30px 40px 28px 10px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.score-teams{display:flex;align-items:center;gap:26px;width:100%;justify-content:center}.team-symbol{width:51px;height:59px;clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);display:grid;place-items:center;background:#d3ef8d;color:#25402b;font-size:23px;font-weight:800;padding-bottom:4px}.team-symbol.away{background:#ffffff1a;color:#c2d2bc;border:1px solid #ffffff26}.team-name{font-size:11px;margin-top:8px;text-align:center;color:#d3dfcc}.big-score{font-size:51px;font-weight:650;letter-spacing:3px;line-height:1;font-variant-numeric:tabular-nums;margin-bottom:23px;white-space:nowrap}.big-score span{color:#91a58d;font-size:32px;font-weight:300;margin:0 9px}.score-meta{font-size:10px;color:#a3b99b;margin-top:16px}.score-chip{font-size:9px;letter-spacing:1px;display:inline-block;background:#d3ef8d1c;color:#d3ef8d;border:1px solid #d3ef8d25;border-radius:4px;padding:2px 9px;margin-top:11px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.stat-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:18px 21px;position:relative;min-width:0}.stat-label{color:#7b877d;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:6px}.stat-label svg{color:#8a9f7d;width:17px;height:17px}.stat-value{font-size:30px;font-weight:650;line-height:1.3;margin:9px 0 5px;letter-spacing:-1px}.stat-value small{font-size:11px;font-weight:400;color:#84917f;letter-spacing:0;margin-left:5px}.stat-note{font-size:10px;color:#8b9687}.stat-note strong{color:#648342;font-weight:500}.stat-value.negative{color:var(--red)}.dashboard-grid{display:grid;align-items:start;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.panel-head p{font-size:10px;color:var(--muted);margin-top:3px}.panel-head .btn{font-size:10px}.panel-head .pill{font-size:9px}.pill{display:inline-flex;gap:5px;align-items:center;font-size:11px;color:#6c8060;background:#f0f4e9;padding:4px 9px;border-radius:5px;white-space:nowrap}.pill.win{background:#edf3e5;color:#61813d}.pill.loss{background:#faeeea;color:#b36958}.pill.draw{background:#f2f1eb;color:#918565}.pill.warn{background:#faf3e4;color:#a57b34}.pill.neutral{background:#f1f3ef;color:#7f897b}.pill.dark{color:#e0eccf;background:#ffffff12}.recent-match{display:grid;grid-template-columns:40px 1fr auto 26px;gap:14px;align-items:center;padding:15px 0;border-top:1px solid #eff1eb;cursor:pointer}.recent-match:hover{background:#fafbf8}.match-date-box{font-size:18px;font-weight:600;text-align:center;line-height:1.1}.match-date-box small{display:block;font-size:9px;font-weight:400;color:#8c9987;margin-top:5px}.match-opponent{font-size:12px;font-weight:600}.match-opponent small{display:block;font-size:10px;font-weight:400;color:#94a08e;margin-top:4px}.mini-result{display:flex;align-items:center;gap:12px}.mini-score{font-size:17px;font-weight:650;letter-spacing:1px}.mini-result .pill{font-size:9px;min-width:25px;justify-content:center;padding:3px 6px}.row-arrow{color:#8a9c83;display:flex;align-items:center;justify-content:flex-end}.row-arrow svg{width:15px}.rank-row{display:grid;grid-template-columns:17px 34px 1fr auto;gap:12px;align-items:center;padding:11px 0}.rank-number{font-size:11px;color:#99a28f;font-variant-numeric:tabular-nums}.rank-number.top{color:#a38c40;font-weight:700}.rank-row .avatar{width:33px;height:33px;font-size:11px;background:#eef1e8}.rank-row:nth-child(3) .avatar{background:#e9edf2;color:#6a7e95}.rank-row:nth-child(4) .avatar{background:#f5eee4;color:#9d875f}.rank-row strong{font-size:12px;font-weight:550}.rank-row small{font-size:9px;color:#99a08f;display:block}.rank-value{font-size:20px;font-weight:650;line-height:1.3}.rank-value small{font-size:9px;display:inline;margin-left:3px;font-weight:400}.leader-foot{margin-top:14px;padding-top:13px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#8e9b85;font-size:10px}.chart-panel{margin-top:22px}.chart{height:145px;display:flex;gap:14px;align-items:flex-end;padding-top:15px;border-bottom:1px solid var(--line)}.chart-col{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;min-width:0}.chart-val{font-size:9px;color:#7b8d70}.chart-bar{background:#d8e7c5;width:65%;max-width:32px;border-radius:4px 4px 0 0;min-height:2px;transition:height .4s}.chart-col:last-child .chart-bar{background:#41694d}.chart-months{display:flex;gap:14px;margin-top:8px}.chart-months span{flex:1;text-align:center;font-size:9px;color:#8f9b85}.notice{display:flex;gap:11px;padding:14px 16px;background:#f5f2e9;border:1px solid #ece4d0;border-radius:10px;font-size:11px;color:#8c784d;margin:22px 0 0;align-items:flex-start}.notice svg{width:16px;height:16px;margin-top:1px;flex-shrink:0}.notice p{flex:1}.notice button{background:transparent;color:#8b7440;text-decoration:underline;font-size:11px;padding:0;white-space:nowrap}.section-gap{margin-top:22px}.toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap}.tabs{display:flex;gap:5px;flex-wrap:wrap;background:#e9ede4;padding:4px;border-radius:8px;width:fit-content}.tab{padding:7px 15px;background:transparent;color:#7d8a74;border-radius:5px;font-size:12px}.tab.active{background:white;color:#365239;box-shadow:0 1px 3px #1834210b;font-weight:600}.search{display:flex;align-items:center;gap:8px;background:white;border:1px solid #e0e5da;border-radius:8px;padding:8px 12px;color:#8b9b83;min-width:230px}.search svg{width:16px}.search input{border:0;background:transparent;outline:none;width:100%;min-width:0;color:var(--ink);font-size:12px}.search:focus-within{border-color:#91a879}.select{background:white;border:1px solid #dfe5d9;border-radius:7px;padding:8px 12px;color:#617458;font-size:12px;max-width:100%}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:10px;color:#94a08b;font-weight:500;background:#f8faf5;padding:13px 16px;border-bottom:1px solid var(--line)}td{padding:15px 16px;border-bottom:1px solid #edf0e7;font-size:12px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcf7}.num{text-align:right;font-variant-numeric:tabular-nums}.player-cell{display:flex;align-items:center;gap:11px}.player-cell .avatar{width:31px;height:31px;font-size:11px}.player-cell small{display:block;font-size:9px;color:#8c9b80}.progress{height:5px;border-radius:5px;background:#edf1e7;min-width:65px;width:80px;overflow:hidden;margin-top:5px}.progress i{display:block;height:100%;background:#9fb979;border-radius:5px}.empty{text-align:center;padding:55px 20px;color:#8a987e}.empty svg{width:32px;height:32px;margin-bottom:12px}.empty h3{color:#617755;margin-bottom:6px}.empty p{font-size:12px;margin-bottom:15px}.roster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.player-card{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;position:relative;overflow:hidden}.player-card .jersey-num{position:absolute;right:15px;top:4px;font-size:68px;font-weight:750;color:#eff2e9;line-height:1.4;letter-spacing:-4px}.player-card .avatar{width:45px;height:45px;background:#eaf0e1;font-size:15px;margin-bottom:18px;position:relative}.player-card h3{font-size:15px;position:relative}.player-card .position{font-size:11px;color:#8a987e;margin-top:3px}.player-card .pill{position:absolute;right:20px;top:86px;font-size:9px}.player-card-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:17px;padding-top:13px;font-size:10px;color:#95a087}.player-card-footer strong{color:#6b7f5b;font-weight:500}.source-note{font-size:11px;color:#8c9881;margin-top:14px;line-height:1.8}.finance-split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.money-in{color:#5d8248}.money-out{color:#b76c55}.issue-card{display:flex;gap:16px;padding:21px 0;border-bottom:1px solid var(--line)}.issue-card:last-child{border:0}.issue-index{width:29px;height:29px;background:#f8f0de;border-radius:8px;display:grid;place-items:center;color:#aa8d4c;font-size:11px;flex-shrink:0}.issue-card h3{font-size:13px;margin-bottom:5px}.issue-card p{font-size:12px;color:#829075}.issue-card small{font-size:10px;color:#a0a991;display:block;margin-top:7px}.issue-card .pill{margin-top:2px}.wide-note{padding:18px 20px;background:#eef3e6;border:1px solid #dce7cc;border-radius:12px;font-size:12px;color:#71875b;margin-bottom:20px}.wide-note strong{color:#4d683d}.report-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.report-totals div{background:#f8faf5;border-radius:10px;padding:16px;font-size:11px;color:#869479}.report-totals strong{display:block;font-size:26px;color:#526c43;margin-top:3px}.kit-number{font-size:18px;font-weight:600;letter-spacing:-.5px}.kit-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.kit-visual{display:grid;place-items:center;min-height:250px;background:#eef3e6;border:1px solid #e0e8d4;border-radius:14px;padding:25px}.shirt{width:150px;height:170px;background:#315344;clip-path:polygon(25% 0,38% 0,42% 8%,58% 8%,62% 0,75% 0,100% 23%,83% 42%,75% 35%,75% 100%,25% 100%,25% 35%,17% 42%,0 23%);display:flex;align-items:center;flex-direction:column;padding-top:44px;color:#d3ef8d}.shirt small{font-size:10px;letter-spacing:3px}.shirt strong{font-size:59px;line-height:1.1;font-weight:750}.kit-visual p{font-size:10px;color:#8a9c76;text-align:center;margin-top:13px}.attendance-picker{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.attendance-picker label{font-size:12px;color:#7c8d70}.attendance-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.attendance-person{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;background:#f8faf5;border:1px solid #e7eddd;border-radius:9px;font-size:12px}.attendance-person svg{width:16px;color:#8aaa64}.history-note{border-left:3px solid #c4d5ad;padding:9px 14px;background:#f5f8ef;font-size:11px;color:#839275;margin-top:18px}.detail-score{background:#213f32;color:#e7f1dc;border-radius:12px;padding:24px;text-align:center;margin-bottom:20px}.detail-score .big-score{margin:12px 0;font-size:42px}.detail-score p{font-size:12px;color:#b1c1a7}.detail-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.detail-title h2{font-size:19px}.detail-title .button-icon{padding:6px}.detail-title .button-icon svg{width:20px}.dialog-note{font-size:11px;color:#8d9a81;line-height:1.8;margin-top:16px}dialog{border:1px solid #e0e6d6;border-radius:18px;padding:26px;max-width:630px;width:calc(100% - 30px);max-height:90dvh;color:var(--ink);box-shadow:0 25px 100px #1025102b}dialog::backdrop{background:#12241c70;backdrop-filter:blur(4px)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#7d8d70;min-width:0}.form-field.full{grid-column:1/-1}.form-field input,.form-field select,.form-field textarea{border:1px solid #dfe6d5;border-radius:7px;padding:10px 12px;width:100%;background:#fff;color:var(--ink);min-height:43px}.form-field textarea{resize:vertical;min-height:80px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.dialog-actions .btn:first-child{margin-right:auto}.score-inputs{display:flex;align-items:center;gap:12px}.score-inputs input{width:90px;font-size:22px;text-align:center}.score-entry td{padding:8px 10px}.score-entry input[type=number]{width:65px;padding:7px;border:1px solid #dde5d2;border-radius:6px}.attendance-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.check-label{display:flex;align-items:center;gap:8px;background:#f5f8ef;padding:10px;border-radius:7px;font-size:12px;cursor:pointer}.check-label input{accent-color:#526e42;min-width:18px;min-height:18px}.form-error{color:#b35c4c;font-size:12px;margin-top:12px;min-height:20px}.success-banner{padding:15px;border-radius:8px;background:#eff5e6;font-size:12px;color:#637e46}.mobile-nav{display:none}footer{padding:22px 40px 27px;color:#a1aa99;font-size:10px;display:flex;justify-content:space-between;gap:12px;max-width:1600px;margin:auto}footer span{font-size:9px}#toast{position:fixed;bottom:28px;left:calc(50% + 116px);transform:translate(-50%,20px);background:#203b2e;color:#eff9e4;padding:12px 20px;border:1px solid #5c7751;border-radius:9px;font-size:12px;opacity:0;transition:opacity .18s,transform .18s;z-index:100;pointer-events:none;max-width:90vw}#toast.visible{opacity:1;transform:translate(-50%,0)}.menu-grid{display:grid;gap:9px}.menu-grid .nav-item{color:#527044;background:#f4f7ef}.menu-grid .nav-item.active{background:var(--lime)}.record-actions{display:flex;gap:10px}.balance-caption{color:#8e9d82;font-size:11px;margin-top:12px}.export-info{font-size:10px;color:#96a28a}.content-subtitle{font-size:12px;color:#829474;margin-bottom:20px}.match-list-page .recent-match{grid-template-columns:55px 1fr auto 35px;padding:20px 10px}.match-list-page .match-date-box{font-size:22px}.match-list-page .match-opponent{font-size:14px}.match-list-page .mini-score{font-size:22px}.close-btn{position:relative}.source-table td{font-size:11px}.status-line{font-size:11px;color:#9cac8b;margin-top:6px}.row-note{max-width:260px;white-space:normal;min-width:140px}.numeric-input{font-variant-numeric:tabular-nums}.inline-link{color:#6b8950;text-decoration:underline}.read-error{padding:30px;background:#fff2ed;border:1px solid #edd5c9;border-radius:12px;color:#975f4e}.topbar-team{display:none}.pending-count{font-size:10px;background:#f5ecdb;color:#a48544;border-radius:4px;padding:2px 6px;margin-left:6px}
.dashboard-grid>div:last-child{display:contents}.chart-panel{grid-column:1/-1;margin-top:0}@media(min-width:1550px){main{padding-top:40px}.hero{min-height:280px}.hero-copy{padding:38px 42px}.hero h2{font-size:34px}.hero-score{padding-right:65px}.dashboard-grid{grid-template-columns:1.6fr 1fr}}
@media(max-width:1200px){.sidebar{width:205px;padding-left:14px;padding-right:14px}.workspace{margin-left:205px}.topbar{padding:0 26px}main{padding:28px 26px 20px}.hero-copy{padding:28px}.hero h2{font-size:25px}.hero-score{padding-right:22px}.score-teams{gap:15px}.big-score{font-size:43px}.stats-grid{gap:12px}.stat-card{padding:16px}.dashboard-grid{gap:16px;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}.panel{padding:20px}.roster-grid{grid-template-columns:repeat(3,1fr)}footer{padding-left:26px;padding-right:26px}#toast{left:calc(50% + 102px)}}
@media(max-width:1000px){.sidebar{width:186px;padding-left:10px;padding-right:10px}.brand{padding-left:9px;gap:9px}.brand strong{font-size:17px}.brand small{font-size:8px}.crest{width:37px;height:44px}.workspace{margin-left:186px}.nav-item{font-size:12px;padding:12px}.topbar{height:72px}.date-label{display:none}.hero{grid-template-columns:1.1fr 1fr}.hero-copy{padding:26px 22px}.hero h2{font-size:23px}.hero p{font-size:11px}.hero-bottom{gap:10px}.hero-bottom small{display:none}.hero-score{padding-right:20px}.team-symbol{width:38px;height:46px;font-size:18px}.team-name{font-size:10px}.big-score{font-size:36px}.score-teams{gap:12px}.big-score span{font-size:24px;margin:0 4px}.stat-value{font-size:26px}.stat-note{font-size:9px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>div:last-child{display:contents}.chart-panel{margin-top:0}.recent-match{padding:14px 0}.roster-grid{grid-template-columns:repeat(2,1fr)}.attendance-list{grid-template-columns:repeat(2,1fr)}.kit-grid{grid-template-columns:1fr}.kit-visual{display:none}.heading-actions .btn{padding:9px 12px}h1{font-size:26px}#toast{left:calc(50% + 93px)}}
@media(max-width:760px){.sidebar{display:none}.workspace{margin-left:0;padding-bottom:70px}.topbar{height:67px;padding:0 20px;background:#fbfcf9;position:sticky;top:0;z-index:20}.breadcrumb{display:none}.topbar-team{display:flex;gap:10px;align-items:center;font-size:15px;font-weight:650;letter-spacing:1px}.topbar-team .crest{width:27px;height:32px;font-size:16px;padding-bottom:3px}.header-right{gap:13px}.demo-badge{font-size:8px;padding:3px 6px}.header-right>.avatar{width:29px;height:29px;font-size:11px}.divider-v{display:none}.header-issue svg{width:18px}main{padding:23px 20px 20px}.page-heading{margin-bottom:21px;align-items:center}.page-heading .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:5px}h1{font-size:25px}.page-heading p{font-size:10px;margin-top:5px;max-width:235px}.heading-actions{gap:6px;flex-shrink:0}.heading-actions .btn{font-size:10px;padding:8px 10px;min-height:35px}.heading-actions .btn svg{width:14px}.heading-actions .desktop-action{display:none}.hero{grid-template-columns:1fr;min-height:0;border-radius:14px;margin-bottom:17px}.hero-copy{padding:24px 24px 19px}.hero h2{font-size:25px;margin-top:10px;letter-spacing:.2px}.hero p{max-width:270px;line-height:1.8}.hero-bottom{margin-top:18px}.hero-bottom .btn{min-height:33px;padding:6px 12px;font-size:10px}.hero-score{padding:5px 24px 24px;align-items:stretch}.score-teams{gap:30px;padding-top:12px;border-top:1px solid #ffffff15}.team-symbol{width:35px;height:41px;font-size:17px;margin:auto}.team-name{font-size:10px;margin-top:6px}.big-score{font-size:45px;margin-bottom:0}.big-score span{font-size:28px}.score-meta{text-align:center;margin-top:10px;font-size:9px}.score-chip{display:none}.pitch-art{right:-130px;top:15px;opacity:.6}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.stat-card{padding:16px 17px;border-radius:11px}.stat-value{font-size:29px;margin:7px 0 4px}.stat-label{font-size:10px}.stat-label svg{width:15px}.stat-note{font-size:9px}.dashboard-grid{gap:16px}.panel{border-radius:13px;padding:18px}.panel-head{margin-bottom:13px}.panel-head h2{font-size:15px}.panel-head p{font-size:9px}.panel-head .btn{font-size:9px}.recent-match{grid-template-columns:32px 1fr auto 14px;gap:11px;padding:14px 0}.match-date-box{font-size:17px}.match-date-box small{font-size:8px}.match-opponent{font-size:11px}.match-opponent small{font-size:9px}.mini-result{gap:10px}.mini-score{font-size:16px}.mini-result .pill{font-size:8px}.row-arrow svg{width:12px}.dashboard-grid>div:last-child{display:contents}.rank-row{padding:10px 0;grid-template-columns:16px 34px 1fr auto}.rank-value{font-size:19px}.chart{height:130px;gap:7px}.chart-months{gap:7px}.notice{padding:12px;font-size:10px;gap:8px;margin-top:16px}.notice button{font-size:10px}.notice svg{width:14px}.toolbar{gap:12px;align-items:stretch}.tabs{padding:3px}.tab{font-size:11px;padding:6px 12px}.search{min-width:0;flex:1}.table-wrap{margin:0 -18px;padding:0 8px}.table-wrap th{padding:11px 10px;font-size:9px}.table-wrap td{padding:12px 10px;font-size:11px}.roster-grid{gap:11px}.player-card{padding:17px;border-radius:12px}.player-card .jersey-num{font-size:56px;right:12px;top:6px}.player-card .avatar{width:38px;height:38px;font-size:13px;margin-bottom:15px}.player-card h3{font-size:13px}.player-card .position{font-size:10px}.player-card .pill{position:static;display:inline-flex;margin-top:10px;font-size:8px;padding:2px 7px}.player-card-footer{margin-top:12px;padding-top:11px;font-size:9px}.source-note{font-size:10px}.attendance-list{gap:8px}.attendance-person{padding:11px;font-size:11px;gap:4px}.attendance-person svg{width:14px}.attendance-picker .select{max-width:100%;flex:1}.attendance-checks{grid-template-columns:repeat(2,1fr)}.check-label{font-size:11px;padding:9px}.finance-split{grid-template-columns:1fr}.issue-card{gap:11px;padding:18px 0}.issue-card h3{font-size:12px}.issue-card p{font-size:11px}.issue-card small{font-size:9px}.issue-index{width:25px;height:25px;font-size:10px}.issue-card>.pill{display:none}.wide-note{padding:14px;font-size:11px}.report-totals{gap:8px}.report-totals div{padding:12px;font-size:9px}.report-totals strong{font-size:23px}.form-grid{gap:13px}.form-field{font-size:11px}.form-field input,.form-field select,.form-field textarea{padding:9px;font-size:13px}.form-field.full-mobile{grid-column:1/-1}dialog{padding:21px 18px;border-radius:14px;max-height:88dvh}.detail-title{margin-bottom:18px}.detail-title h2{font-size:17px}.dialog-actions{gap:8px}.dialog-actions .btn{font-size:11px;padding:9px 13px}.score-entry input[type=number]{width:54px}.score-entry td{padding:8px}.dialog-note{font-size:10px}footer{padding:10px 20px 20px;font-size:9px;display:block;text-align:center}footer span{display:block;font-size:8px;margin-top:3px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fbfcf8f5;backdrop-filter:blur(12px);border-top:1px solid #e3e9da;z-index:40;justify-content:space-around;padding:10px 5px calc(10px + env(safe-area-inset-bottom))}.mobile-nav a,.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:9px;color:#8b9b7d;background:transparent;min-width:50px;padding:0}.mobile-nav svg{width:20px;height:20px;stroke-width:1.6}.mobile-nav a.active{color:#365b37;font-weight:650}.mobile-nav a.active svg{stroke-width:2.2}#toast{left:50%;bottom:90px;font-size:11px;width:max-content;max-width:85vw;text-align:center}.match-list-page .recent-match{grid-template-columns:36px 1fr auto 15px;padding:17px 0;gap:12px}.match-list-page .match-date-box{font-size:19px}.match-list-page .match-opponent{font-size:12px}.match-list-page .mini-score{font-size:18px}.content-subtitle{font-size:11px}.history-note{font-size:10px}.record-actions{gap:6px}.record-actions .btn{padding:7px 9px;font-size:10px;min-height:34px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mini-score.missing-score,.match-list-page .mini-score.missing-score{font-size:12px;color:var(--muted);letter-spacing:0}.big-score.missing-score{font-size:24px}
@media(max-width:760px){.btn.ghost,dialog .btn.ghost,dialog .btn.primary,dialog .close-btn{min-height:44px}dialog .close-btn{min-width:44px}}
.side-account{margin-top:auto;padding:24px 12px 0;border-top:1px solid #ffffff15;color:#c6d5ca;font-size:12px}.side-account small{display:block;color:#8da393;margin-top:3px}.side-account p{font-size:10px;color:#8da393;margin:12px 0}.side-account .btn{color:#c6d5ca;background:#ffffff0a;margin:4px 4px 0 0;padding:7px 9px;font-size:11px}
.sync-dot{width:8px;height:8px;border-radius:50%;background:#719c59}.sync-dot.offline{background:#bb8050}.match-row{width:100%;text-align:left;background:transparent;color:inherit;font:inherit}.rank-button{width:100%;text-align:left;background:transparent;color:inherit}.rank-button:hover{background:#f6f9f0}.match-row:focus-visible,.rank-button:focus-visible{outline-offset:-3px}.small-stat{font-size:19px!important}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h3 span{font-size:12px;font-weight:400;color:var(--muted)}.form-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.form-section .source-note{margin:9px 0}.attendance-option[data-history=true]{display:none}.show-history .attendance-option[data-history=true]{display:flex}.attendance-option{min-height:44px}.match-dialog{max-width:810px}.goal-row{border:1px solid var(--line);background:#f7f9f3;border-radius:10px;margin-top:12px;padding:12px}.goal-index{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#7a8c6d}.goal-index .btn{font-size:11px;padding:6px 10px}.goal-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.goal-fields .form-field{color:#5e7552}.goal-fields select{background:white}.match-dialog .dialog-actions{position:sticky;bottom:-27px;background:#fff;padding-bottom:15px;z-index:3}.form-error{white-space:pre-wrap}.review-note{padding:10px;background:#f1f6e9;margin:10px 0;border-radius:6px}.auth-mode .sidebar,.auth-mode .topbar,.auth-mode .mobile-nav{display:none}.auth-mode .workspace{margin-left:0;padding:0}.auth-mode main{padding:50px 20px;max-width:none;min-height:85vh;display:grid;place-items:center}.auth-card{width:100%;max-width:460px;background:white;border:1px solid var(--line);border-radius:20px;padding:40px;box-shadow:0 15px 50px #213d2810}.auth-card .crest{margin-bottom:25px}.auth-card .eyebrow{color:#829576;margin-bottom:10px}.auth-card h1{font-size:26px;margin-bottom:9px}.auth-card .form-grid{grid-template-columns:1fr;margin-top:25px}.auth-card form>.btn{width:100%;margin-top:10px;justify-content:center}.auth-card .source-note{margin-top:20px}.btn{min-height:40px}.btn.danger{background:#fbefeb;color:#ae5c4e}.section-gap summary{cursor:pointer;min-height:44px;padding:10px 0;color:#617852}input,select{max-width:100%}.table-wrap{max-width:100%}.side-nav{overflow-y:auto}.sidebar{overflow-y:auto}.dialog-actions{flex-wrap:wrap}dialog .report-totals{margin-top:0}.check-label{user-select:none}.form-field input[type=file]{min-width:0;max-width:100%;padding:10px 5px}
@media(max-width:760px){.btn,.tab,.heading-actions .btn,.record-actions .btn,.hero-bottom .btn,.panel-head .btn,.dialog-actions .btn{min-height:44px}.mobile-nav a,.mobile-nav button{min-height:44px}.close-btn{min-width:44px}.form-field input,.form-field select,.form-field textarea{min-height:44px;font-size:16px}.form-field input[type=checkbox]{min-height:18px}.header-right{gap:8px}.header-right .btn{padding:8px}.season-label .select{min-height:44px;font-size:13px;padding:8px}.topbar-team{font-size:13px;letter-spacing:0}.topbar{padding:0 14px}.page-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}.page-heading .heading-actions{margin-left:auto}.page-heading p{max-width:none}.page-heading h1{font-size:25px}.goal-fields{grid-template-columns:1fr 1fr}.goal-fields>.form-field:first-child{grid-column:1/-1}.goal-row{padding:10px}.match-dialog .dialog-actions{bottom:-22px;padding-bottom:12px}.section-head{align-items:flex-start;flex-wrap:wrap}.match-dialog .form-grid{gap:12px}.match-dialog .form-grid>.form-field{min-width:0}.auth-mode main{padding:28px 16px;min-height:85vh}.auth-card{padding:28px 24px}.report-totals strong{font-size:20px}.record-actions{flex-wrap:wrap}.form-field.full{grid-column:1/-1}.sidebar{display:none}.toolbar>.btn{flex-shrink:0}dialog .table-wrap{margin-left:-10px;margin-right:-10px}.dialog-actions .btn{font-size:12px;padding:8px 10px}.section-head .check-label{font-size:12px}.check-label{min-height:44px}main{min-width:0}.workspace{min-width:0}}

/* Searchable roster and grouped scoring. */
.lineup-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}.lineup-board-panel{min-width:0}.lineup-status{font-size:12px;color:#61734e;line-height:1.7;margin:-8px 0 18px}.lineup-config{display:grid;grid-template-columns:minmax(0,1fr) 125px;gap:16px;margin-bottom:20px}.lineup-pitch-heading{display:flex;align-items:center;justify-content:space-between;margin:0 auto 12px;max-width:540px;font-size:13px;color:#6d7e5e}.lineup-pitch-heading strong{font-size:22px;color:var(--ink);letter-spacing:2px}.lineup-pitch-heading strong span{font-size:11px;letter-spacing:0;font-weight:400}.lineup-pitch{position:relative;aspect-ratio:4/5;width:100%;max-width:540px;margin:auto;border:5px solid #35674d;border-radius:14px;overflow:hidden;background:repeating-linear-gradient(0deg,#356e51 0%,#356e51 10%,#3b7657 10%,#3b7657 20%);isolation:isolate}.pitch-lines{position:absolute;inset:5%;border:2px solid #d6edc970;pointer-events:none}.pitch-half{position:absolute;top:50%;width:100%;border-top:2px solid #d6edc970}.pitch-circle{position:absolute;width:31%;aspect-ratio:1;border:2px solid #d6edc970;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.pitch-circle:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#d6edc9;left:50%;top:50%;transform:translate(-50%,-50%)}.pitch-penalty,.pitch-goal{position:absolute;left:50%;transform:translateX(-50%);border:2px solid #d6edc970;width:58%;height:18%}.pitch-penalty.top,.pitch-goal.top{top:-2px}.pitch-penalty.bottom,.pitch-goal.bottom{bottom:-2px}.pitch-goal{width:28%;height:7%}.pitch-direction{position:absolute;top:1.3%;left:50%;transform:translateX(-50%);color:#e1f0d3c9;font-size:10px;letter-spacing:2px}.lineup-slot{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;width:78px;min-height:72px;padding:2px;background:transparent;color:white;touch-action:none;user-select:none;cursor:grab;z-index:2;border-radius:10px}.lineup-slot:disabled{opacity:1;cursor:default}.lineup-shirt{display:grid;place-items:center;width:44px;height:43px;background:#e6f2d2;color:#213d30;clip-path:polygon(22% 0,36% 0,40% 8%,60% 8%,64% 0,78% 0,100% 20%,87% 44%,77% 35%,77% 100%,23% 100%,23% 35%,13% 44%,0 20%);font-weight:800;font-size:21px;filter:drop-shadow(0 2px 1px #0003)}.lineup-slot.goalkeeper .lineup-shirt{background:#f8d67c;color:#634d1c}.lineup-player-name{font-size:12px;font-weight:650;line-height:1.4;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 6px;background:#183f31e8;border-radius:4px;margin-top:4px}.lineup-slot-role{font-size:9px;color:#d6e8cb;line-height:1.3;margin-top:2px}.lineup-slot.vacant .lineup-shirt{background:#e8f8d226;color:#e5f0dc;border:1px dashed #e8f8d299;border-radius:50%;clip-path:none;width:40px;height:40px;font-size:25px;font-weight:300}.lineup-slot.selected{outline:2px solid #dcf69c;outline-offset:3px;background:#193e3340}.lineup-selection{min-height:65px;display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:12px;line-height:1.8;color:#627451}.lineup-selection .btn{flex-shrink:0}.lineup-tools{display:flex;gap:10px;justify-content:flex-end;padding-top:4px;border-top:1px solid var(--line)}.lineup-note{margin-top:20px}.lineup-roster-search{margin-bottom:14px}.lineup-roster{display:grid;grid-template-columns:1fr;gap:9px;max-height:550px;overflow-y:auto;padding:3px}.lineup-bench-player{display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:60px;text-align:left;border:1px solid #e0e7d8;border-radius:10px;background:#f6f9f1;padding:10px;color:var(--ink);touch-action:none;cursor:grab;user-select:none}.lineup-bench-player:disabled{cursor:default;opacity:1;touch-action:auto}.bench-number{display:grid;place-items:center;width:32px;height:36px;border-radius:6px;background:#dfebd3;color:#597147;font-weight:700;flex-shrink:0}.lineup-bench-player strong{display:block;font-size:13px}.lineup-bench-player small{display:block;font-size:11px;color:#7c8d6c;margin-top:3px}.bench-add{margin-left:auto;font-size:20px;color:#7c9464}.lineup-empty{font-size:12px;color:var(--muted);padding:18px 0}.lineup-drag-ghost{position:fixed!important;transform:translate(-50%,-50%)!important;z-index:1000!important;pointer-events:none!important;opacity:.9!important;width:95px!important;max-height:90px;box-shadow:0 8px 22px #15342140}.drag-source{opacity:.35}.lineup-bench .source-note{line-height:1.9;margin-top:18px}.lineup-note textarea:disabled,.lineup-config input:disabled,.lineup-config select:disabled{color:var(--ink);opacity:1;background:#f6f8f1}.lineup-slot:focus-visible{outline:3px solid #f8dd79;outline-offset:3px}
@media(max-width:1100px){.lineup-layout{grid-template-columns:1fr}.lineup-roster{grid-template-columns:repeat(2,minmax(0,1fr));max-height:350px}.lineup-pitch{max-width:510px}.lineup-bench{min-width:0}}
@media(max-width:480px){.lineup-board-panel{padding:13px}.lineup-config{grid-template-columns:minmax(0,1fr) 105px;gap:9px}.lineup-slot{width:66px;min-height:68px}.lineup-shirt{width:38px;height:38px;font-size:19px}.lineup-player-name{font-size:11px;padding:3px 4px}.lineup-slot-role{font-size:9px}.lineup-pitch{border-width:3px}.lineup-selection{font-size:11px;gap:6px}.lineup-selection .btn{font-size:11px;padding:8px}.lineup-bench-player{gap:8px;padding:8px;min-height:62px}.lineup-bench-player strong{font-size:12px}.lineup-bench-player small{font-size:10px}.bench-number{width:26px}.lineup-roster{gap:7px}.lineup-status{font-size:11px}.lineup-pitch-heading strong{font-size:20px}.lineup-tools .btn{font-size:12px}.lineup-board-panel .form-field input,.lineup-board-panel .form-field select{padding:8px}}
.attendance-option[data-history=true]{display:flex}.attendance-option[hidden]{display:none!important}.attendance-search{width:100%;margin:12px 0}.player-search{width:100%;min-width:0}.player-aliases{font-size:11px;color:var(--muted);line-height:1.6;margin:6px 0;overflow-wrap:anywhere}.goal-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-fields>.form-field{min-width:0}.goal-fields>.form-field:first-child{grid-column:auto}.goal-fields .form-field{align-self:start}.goal-fields input,.goal-fields select{width:100%}
@media(max-width:480px){.goal-fields{grid-template-columns:1fr}.goal-fields>.form-field:first-child{grid-column:auto}.player-search{min-height:44px}.attendance-checks{grid-template-columns:1fr}.attendance-option{overflow-wrap:anywhere}}
.billing-section{margin-bottom:24px}.billing-section .panel-head{gap:12px;flex-wrap:wrap}.billing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}.billing-card{border:1px solid var(--line);border-radius:12px;padding:18px;background:#f9fbf5}.billing-card h3{font-size:16px;margin-bottom:8px;overflow-wrap:anywhere}.billing-card p{font-size:12px;color:var(--muted);margin:6px 0}.billing-card .btn{margin:4px 6px 0 0}.billing-amounts{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0}.billing-amounts span{font-size:11px;color:var(--muted)}.billing-amounts strong{display:block;color:#365b37;font-size:19px;margin-top:5px}.billing-price{width:110px;min-height:44px;border:1px solid var(--line);border-radius:7px;padding:8px;font:inherit}.billing-player{border-top:1px solid var(--line);padding:10px 0}.billing-player summary{cursor:pointer;min-height:44px;padding:10px 0}.billing-player .record-actions{margin:12px 0}#billing-preview{margin-top:22px}#billing-preview h3{margin-bottom:12px}#billing-preview details{padding:12px 0}#billing-preview input{font-size:16px}
