:root{color-scheme:light;--navy:#102d38;--navy2:#173e4d;--teal:#057d74;--tealDark:#086159;--gold:#e2a937;--paper:#f3f6f7;--white:#fff;--border:#dce5e9;--muted:#647883;--danger:#b43b43;--shadow:0 12px 34px rgba(17,44,56,.075);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{background:var(--paper);margin:0;color:var(--navy);font-size:15px}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{border:1px solid #c9d6dd;border-radius:9px;padding:10px 11px;color:var(--navy);background:#fff;min-width:0}textarea{resize:vertical;width:100%}input[type=checkbox]{width:auto;min-width:0;accent-color:var(--teal)}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #62d6c392;outline-offset:1px}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#516976}.wrap{width:min(1170px,calc(100% - 34px));margin:auto}.topbar{background:linear-gradient(105deg,#102d38,#1b4751);color:#fff}.header-in{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;background:#ffffff19;border:1px solid #ffffff24;border-radius:14px;font-size:24px}.brand-name{font-size:24px;font-weight:850;letter-spacing:-.7px}.brand-name span{font-weight:470;color:#d6eff0}.brand-caption{font-size:12px;color:#bed2d7;margin-top:2px}.session{display:flex;align-items:center;gap:11px;font-size:12px}.session strong{display:block;font-size:14px}.read-only{background:#ffffff1d;border:1px solid #ffffff25;border-radius:30px;padding:10px 14px;font-weight:700;font-size:12px}.app{min-height:70vh;padding-top:30px;padding-bottom:32px}.footer{color:#79909a;border-top:1px solid #dce5e9;padding:20px 0 40px;font-size:12px}.panel{border-radius:16px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow);padding:24px}.panel + .panel{margin-top:18px}.page-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}.eyebrow{font-weight:800;color:var(--teal);letter-spacing:1.3px;text-transform:uppercase;font-size:11px}.h1{font-size:clamp(25px,3vw,35px);margin:5px 0 5px;letter-spacing:-1.2px;line-height:1.2}.sub{color:var(--muted);margin:0;line-height:1.55}.btn{display:inline-flex;gap:7px;align-items:center;justify-content:center;border-radius:9px;border:1px solid #cbd7db;color:var(--navy);padding:10px 15px;background:#fff;font-size:13px;font-weight:750;text-decoration:none;white-space:nowrap;transition:filter .15s}.btn:hover{filter:brightness(.96)}.btn.primary{color:#fff;background:var(--teal);border-color:var(--teal)}.btn.dark{color:#fff;background:var(--navy2);border-color:var(--navy2)}.btn.danger{color:var(--danger);border-color:#efccd0}.btn.small{padding:7px 9px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.btnrow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.title-row h2,.panel h2{font-size:19px;margin:0;letter-spacing:-.35px}.panel h3{margin:0 0 12px;font-size:16px}.hint{color:var(--muted);font-size:13px;line-height:1.6}.caption{color:var(--muted);font-size:12px}.pill{display:inline-flex;padding:5px 9px;border-radius:30px;background:#e7f5f2;color:#087368;font-weight:800;font-size:11px;white-space:nowrap}.pill.warn{background:#fff1d5;color:#97610c}.pill.off{background:#edf0f1;color:#647883}.warning{background:#fff5df;border:1px solid #f0dca7;border-radius:10px;padding:12px 15px;color:#7b590f;font-size:13px;margin-bottom:17px}.error{background:#ffeded;color:#9b2530;border:1px solid #f0c8ce;border-radius:11px;padding:13px 16px}.success{background:#e3f5ef;color:#156f53;border:1px solid #b4e4d4;border-radius:11px;padding:13px 16px}.divider{border:0;border-top:1px solid var(--border);margin:19px 0}.formgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.formgrid.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.formgrid.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.formgrid .span2{grid-column:span 2}.formgrid .span4{grid-column:span 4}.form-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:21px}.login{max-width:470px;margin:55px auto}.login h1{margin:0 0 10px}.login form{display:grid;gap:15px}.wide{width:100%}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:17px 0 26px}.tile{background:#fff;border:1px solid var(--border);border-radius:13px;padding:18px 20px;box-shadow:var(--shadow)}.tile strong{display:block;font-size:28px;line-height:1.25;letter-spacing:-1px}.tile span{color:var(--muted);font-size:12px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:16px}.tourney-card{border-radius:15px;background:#fff;border:1px solid var(--border);padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.tourney-card h2{font-size:20px;margin:4px 0}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:11px;border-top:1px solid var(--border)}.muted{color:var(--muted)}.nav{display:flex;gap:5px;overflow-x:auto;margin:15px 0 20px;padding:5px;background:#e7edef;border-radius:12px;scrollbar-width:thin}.nav button{flex:0 0 auto;border:0;background:transparent;padding:10px 15px;border-radius:9px;color:#5c7581;font-size:13px;font-weight:780;white-space:nowrap}.nav button.active{background:#fff;color:#0c6259;box-shadow:0 2px 8px #0e2b3920}.round{margin-bottom:22px}.round-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px}.round-head h3{margin:0}.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game{border:1px solid var(--border);border-radius:13px;padding:15px;background:#fff}.game-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);font-weight:800;margin-bottom:12px;gap:9px}.matchup{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:10px}.side{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:750;min-width:0}.side span:last-child{min-width:0;overflow-wrap:anywhere}.side.away{justify-content:flex-end;text-align:right}.dot{width:11px;height:11px;border-radius:100%;display:inline-block;flex:none;background:var(--c,#9ba3ae)}.score{font-size:19px;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}.score-editor{display:flex;justify-content:center;gap:8px;align-items:flex-end;border-top:1px solid #eef1f3;padding-top:11px}.score-editor label{width:57px;text-align:center;align-items:center;font-size:10px}.score-editor input{width:57px;padding:8px 5px;text-align:center;font-size:16px;font-weight:800}.score-editor select{max-width:160px;font-size:11px;padding:8px 4px}.standings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tablewrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.table th{text-transform:uppercase;letter-spacing:.4px;font-size:10px;color:#71848e;background:#f4f8f9}.table th,.table td{border-bottom:1px solid #edf1f2;padding:12px 9px;white-space:nowrap}.table tr:last-child td{border-bottom:0}.table td.numeric,.table th.numeric{text-align:center;font-variant-numeric:tabular-nums}.table td strong{font-weight:850}.qualify td:first-child{box-shadow:inset 3px 0 #0c8b81}.teamname{display:flex;align-items:center;gap:8px;min-width:145px}.roster-head,.roster-row{display:grid;grid-template-columns:minmax(190px,2fr) 105px 130px 91px 60px;gap:10px;align-items:center}.roster-head{color:#71848e;font-size:11px;font-weight:800;padding:0 0 12px}.roster-row{border-top:1px solid #edf1f2;padding:10px 0}.roster-row input{width:100%}.roster-row .dot{display:inline-block}.roster-row label{font-weight:normal;font-size:12px;display:block}.tag-inactive{opacity:.6}.qr-area{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.qr-area img{width:235px;height:235px;border:1px solid var(--border);padding:9px;background:#fff;border-radius:13px}.url-input{width:min(100%,470px);font-size:12px}.step{display:flex;gap:13px;align-items:start;margin:12px 0}.step-number{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:8px;color:#fff;background:var(--teal);font-size:12px;font-weight:900}.selector-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.selector-row label{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:600}.scopes{display:flex;gap:9px;flex-wrap:wrap;margin:8px 0}.scopes label{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:#f7fafb;padding:8px 10px;border-radius:9px}.toast{position:fixed;right:24px;bottom:24px;max-width:min(440px,90vw);background:#102d38;color:#fff;box-shadow:0 8px 30px #112e3966;padding:13px 18px;border-radius:10px;font-size:14px;font-weight:650;display:none;z-index:99}.toast.show{display:block}.empty{border:2px dashed #cddbdc;border-radius:15px;padding:38px 22px;text-align:center;background:#fff}.empty h3{margin-top:0}.live-dot{display:inline-block;width:8px;height:8px;background:#17a984;border-radius:50%;margin-right:7px;box-shadow:0 0 0 4px #17a98427}.bigscore{font-size:27px;font-weight:900}.viewer .panel{box-shadow:none}.viewer .game{background:#fafcfc}.viewer .tiles{margin:20px 0}.viewer .standings-grid{margin-bottom:18px}.viewer .page-top{margin-bottom:14px}.viewer .table th,.viewer .table td{padding:11px 7px}.finals{border-left:4px solid var(--gold)}.no-results{color:var(--muted);text-align:center;margin:14px 0 4px}.searchhelp{background:#f0f7f5;padding:12px 14px;border-radius:10px;font-size:12px;color:#44666a}.banner{background:#e8f4f0;border-radius:14px;padding:14px 18px;border:1px solid #c8e5d8;margin-bottom:20px}.banner strong{color:#087669}
@media(max-width:900px){.standings-grid{grid-template-columns:1fr}.formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.formgrid .span4{grid-column:span 2}.roster-head{display:none}.roster-row{grid-template-columns:minmax(0,1fr) 95px 105px;gap:8px}.roster-row .roster-action{grid-column:2/4}.roster-row [data-delete-team]{grid-column:1}.game-grid{grid-template-columns:1fr}.session .account{display:none}}
@media(max-width:620px){.wrap{width:min(100% - 22px,1170px)}.header-in{min-height:78px}.brand-name{font-size:18px}.brand-mark{width:40px;height:40px}.brand-caption{font-size:10px}.app{padding-top:20px}.panel{padding:16px}.page-top{gap:12px}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tile{padding:13px 11px}.tile strong{font-size:22px}.tile span{font-size:10px}.formgrid,.formgrid.cols2,.formgrid.cols3{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.formgrid .span2,.formgrid .span4{grid-column:span 2}.roster-row{grid-template-columns:minmax(0,1fr) 70px;gap:8px}.roster-row input{grid-column:1/3}.roster-row select{grid-column:1}.roster-row .roster-action{grid-column:2}.roster-row [data-delete-team]{grid-column:1/3}.matchup{gap:5px}.side{font-size:12px}.score{font-size:18px}.game{padding:13px}.btnrow .btn{white-space:normal}.read-only{font-size:10px}.footer{font-size:11px}.nav button{padding:10px 11px}.login{margin:25px auto}}
@media print{.topbar,.footer,.btn,.nav,.form-actions,.score-editor,.roster-row input,.roster-row select{display:none!important}body{background:white}.panel,.game,.tile{box-shadow:none;break-inside:avoid}.app{padding:0}.wrap{width:100%}.table td,.table th{padding:6px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v4.1 logo refresh */
.brand{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.brand-copy{display:flex;flex-direction:column;justify-content:center}.brand-logo-card{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:10px 16px;box-shadow:0 8px 20px rgba(7,24,29,.18)}
.brand-logo-wordmark{display:block;width:min(420px,52vw);height:auto;max-height:66px}.brand-live-chip{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:#0e7b67;color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;box-shadow:0 6px 14px rgba(10,50,58,.18)}
.brand-caption{font-size:12px;color:#d8ebe9;margin-top:4px}.footer strong{letter-spacing:.04em}
.login-wordmark-wrap{display:inline-flex;align-items:center;justify-content:center;background:#fff;padding:10px 16px;border-radius:18px;box-shadow:0 10px 24px rgba(9,26,25,.14);margin-bottom:16px}.login-wordmark{display:block;width:min(420px,100%);height:auto}.login-kicker{margin-top:4px}
@media(max-width:900px){.brand-logo-wordmark{width:min(360px,60vw);max-height:58px}}
@media(max-width:620px){.brand{gap:10px;align-items:center}.brand-logo-card{padding:8px 12px;border-radius:14px}.brand-logo-wordmark{width:min(250px,58vw);max-height:42px}.brand-live-chip{padding:6px 10px;font-size:10px}.brand-caption{font-size:10px;display:block;width:100%}.header-in{align-items:center}}
