:root{
  --bg:#f4f6fb;--surface:#ffffff;--surface-soft:#f8f9fc;--text:#1d2433;
  --muted:#697386;--subtle:#98a1b2;--line:#e3e7ef;--line-strong:#d6dce8;
  --primary:#e52b2f;--primary-hover:#c91f24;--primary-soft:#fff0f1;
  --cyan:#0f9f9a;--cyan-soft:#e7f8f6;--gold:#b27608;--gold-soft:#fff6dc;
  --danger:#d64545;--danger-soft:#fff0f0;--success:#138a61;--success-soft:#eaf8f2;
  --shadow:0 10px 30px rgba(37,49,77,.07);--shadow-sm:0 3px 12px rgba(37,49,77,.06);
}
html{box-sizing:border-box;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-feature-settings:"cv01","ss03"}
*,*:before,*:after{box-sizing:inherit}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f8f9fd 0,#f2f5fa 100%);color:var(--text)}
a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:28px 18px 20px;background:rgba(255,255,255,.96);border-right:1px solid var(--line);display:flex;flex-direction:column;box-shadow:4px 0 20px rgba(34,45,70,.025)}
.brand{display:flex;align-items:center;gap:12px;padding:0 9px}.brand-cards{width:58px;height:44px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 6px 8px rgba(38,44,57,.13))}.brand strong{display:block;font-size:15px;letter-spacing:.22em}.brand small{display:block;color:var(--subtle);font-size:10px;letter-spacing:.08em;margin-top:2px}
.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:42px}.sidebar nav a{height:43px;padding:0 12px;display:flex;align-items:center;gap:11px;border-radius:8px;color:#687286;font-size:14px;font-weight:550}.sidebar nav a span{width:21px;text-align:center;color:#9ba3b2}.sidebar nav a:hover{background:#f4f5fa;color:var(--text)}.sidebar nav a.active{background:var(--primary-soft);color:#b91f24;box-shadow:inset 3px 0 var(--primary)}.sidebar nav a.active span{color:var(--primary)}.nav-label{font-size:9px;letter-spacing:.18em;color:#abb2bf;padding:27px 13px 7px}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:18px 11px 2px;display:grid;gap:10px;color:#7c8596;font-size:12px}.link-button{border:0;background:none;color:inherit;padding:0;cursor:pointer}.sidebar-foot a:hover,.link-button:hover{color:var(--primary)}
main{min-width:0}.content{max-width:1450px;margin:auto;padding:50px 54px 80px}.mobile-head,.mobile-nav{display:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}.eyebrow,.kicker{font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--primary)}.page-head h1,.viewer-hero h1{font-size:38px;letter-spacing:-.045em;line-height:1.05;margin:8px 0 8px;font-weight:680}.page-head p,.viewer-hero p{margin:0;max-width:680px;color:var(--muted);font-size:14px;line-height:1.6}
.btn{border:1px solid var(--line-strong);background:#fff;color:#3e4758;border-radius:8px;min-height:42px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:15px;font-weight:650;font-size:13px;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm)}.btn:hover{background:#f7f8fc;border-color:#c8cfdd}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 8px 22px rgba(229,43,47,.22)}.btn.primary:hover{background:var(--primary-hover)}.btn.wide{width:100%;height:48px}.btn.small{min-height:36px;padding:0 13px;font-size:11px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:22px 23px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:18px;margin:5px 0 0;letter-spacing:-.025em}.panel-head a{font-size:11px;color:var(--primary);font-weight:650}
.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px}.metric{min-height:132px;padding:23px;background:var(--surface);border:1px solid var(--line);border-radius:13px;display:flex;align-items:center;gap:18px;box-shadow:var(--shadow)}.metric-icon{width:49px;height:49px;border-radius:12px;display:grid;place-items:center;font-size:20px}.metric-icon.violet{color:var(--primary);background:var(--primary-soft)}.metric-icon.cyan{color:var(--cyan);background:var(--cyan-soft)}.metric-icon.gold{color:var(--gold);background:var(--gold-soft)}.metric small,.metric em{display:block;color:var(--muted);font-style:normal;font-size:11px}.metric strong{display:block;font-size:27px;letter-spacing:-.04em;margin:3px 0}.metric sup{font-size:12px;color:var(--subtle);font-weight:500}
.dashboard-grid,.viewer-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.rank-row{min-height:68px;display:flex;align-items:center;padding:10px 23px;border-bottom:1px solid #edf0f5;gap:15px}.rank-row:last-child{border:0}.place{width:31px;height:31px;border-radius:50%;display:inline-grid;place-items:center;background:#f1f3f7;color:#717b8d;font:600 12px ui-monospace,monospace}.place.medal{background:var(--primary-soft);color:var(--primary);border:1px solid #ffd3d4}.person{flex:1}.person strong{font-size:13px;display:block}.person small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.points{font-size:16px;font-family:ui-monospace,monospace;color:#252d3b}.points small{font-size:8px;color:var(--subtle);letter-spacing:.08em}
.team-list{padding:8px 22px 15px}.team-item{padding:13px 0}.team-item>div:first-child{display:grid;grid-template-columns:26px 1fr auto auto;align-items:center;gap:8px;font-size:12px}.team-item span{color:var(--subtle);font:10px ui-monospace,monospace}.team-item em{font-style:normal;color:var(--muted);font-size:10px}.team-item b{font:600 12px ui-monospace,monospace}.bar{height:4px;background:#edf0f5;border-radius:9px;margin:9px 0 0 34px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#ff686b);border-radius:9px}.team-progress{display:block;width:calc(100% - 34px);height:4px;margin:9px 0 0 34px;border:0;border-radius:9px;overflow:hidden;background:#edf0f5;appearance:none}.team-progress::-webkit-progress-bar{background:#edf0f5}.team-progress::-webkit-progress-value{background:linear-gradient(90deg,var(--primary),#ff686b);border-radius:9px}.team-progress::-moz-progress-bar{background:linear-gradient(90deg,var(--primary),#ff686b);border-radius:9px}
.empty{text-align:center;padding:58px 25px;color:var(--muted)}.empty>span{display:block;font-size:26px;color:var(--primary)}.empty h3{color:var(--text);margin:14px 0 6px}.empty p{font-size:13px;margin:0 0 19px}.empty.compact{padding:50px 25px}
.round-strip{margin-top:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface);display:grid;grid-template-columns:1.3fr repeat(3,1fr);align-items:center;padding:18px 23px;gap:18px;box-shadow:var(--shadow)}.round-strip h2{font-size:16px;margin:4px 0}.round-card{padding-left:18px;border-left:1px solid var(--line)}.round-card>span{font-size:10px;color:var(--muted)}.round-card div{display:flex;gap:5px;margin-top:8px}.round-card i{font-style:normal;width:24px;height:24px;display:grid;place-items:center;border-radius:5px;background:#f0f2f7;color:#606a7d;font:600 10px ui-monospace,monospace}
.flash{border:1px solid var(--line);border-radius:8px;padding:12px 15px;margin-bottom:18px;font-size:13px}.flash.success{background:var(--success-soft);border-color:#bfe8d6;color:var(--success)}.flash.error{background:var(--danger-soft);border-color:#f1c7c7;color:var(--danger)}.count-pill,.live-pill,.readonly-pill{border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:9px 13px;color:var(--muted);font-size:11px;box-shadow:var(--shadow-sm)}.live-pill i,.status i,.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#20a878;margin-right:7px;box-shadow:0 0 0 4px #e5f7f0}
.form-panel{margin-bottom:14px}.add-grid{display:grid;grid-template-columns:1fr 1fr 1.35fr auto;gap:12px;align-items:end;padding:20px 23px}.add-grid label,.account-panel label,.login-form label,.simple-login-card label{color:#586274;font-size:11px;font-weight:650}.add-grid input,.edit-row input,.account-panel input,.login-form input,.simple-login-card input{display:block;width:100%;height:43px;margin-top:7px;padding:0 12px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--text);outline:none}.add-grid input:focus,.edit-row input:focus,.account-panel input:focus,.login-form input:focus,.simple-login-card input:focus,.score-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(229,43,47,.12)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{padding:11px 14px;text-align:left;color:#748094;font-size:9px;letter-spacing:.1em;text-transform:uppercase;background:#f8f9fc;white-space:nowrap}td{padding:10px 14px;border-top:1px solid #edf0f5}.index{font:600 10px ui-monospace,monospace;color:var(--subtle)}.edit-row{display:grid;grid-template-columns:1fr 1fr 1.35fr 105px 34px;gap:10px;align-items:center}.edit-row input{height:34px;margin:0;border-color:transparent;background:transparent}.edit-row input:hover{background:#f8f9fc;border-color:var(--line)}.score-progress{height:22px;background:#edf0f5;border-radius:5px;position:relative;overflow:hidden}.score-progress progress{position:absolute;inset:0;width:100%;height:100%;border:0;appearance:none;background:#edf0f5}.score-progress progress::-webkit-progress-bar{background:#edf0f5}.score-progress progress::-webkit-progress-value{background:#ffe0e1}.score-progress progress::-moz-progress-bar{background:#ffe0e1}.score-progress small{position:relative;display:grid;place-items:center;height:100%;font:600 9px ui-monospace,monospace;color:#5c6576}.icon-btn{width:32px;height:32px;border-radius:7px;border:1px solid transparent;background:transparent;color:#7d8798;cursor:pointer}.icon-btn:hover,.icon-btn.save:hover{color:var(--primary);background:var(--primary-soft)}.icon-btn.danger:hover{color:var(--danger);background:var(--danger-soft)}
.score-panel{overflow:visible}.swipe-hint{display:none;padding:10px 13px;border-bottom:1px solid var(--line);color:var(--muted);text-align:center;font-size:10px;letter-spacing:.04em}.score-table-wrap{overflow:auto;max-height:calc(100vh - 280px)}.score-table{width:max-content;min-width:100%}.score-table th,.score-table td{text-align:center;padding:8px}.score-table .sticky-player{position:sticky;left:0;z-index:3;text-align:left;min-width:210px;background:#fff;box-shadow:7px 0 12px rgba(54,65,88,.06)}.score-table thead th{position:sticky;top:0;z-index:4;background:#f7f8fc}.score-table thead tr:nth-child(2) th{top:34px}.score-table thead .sticky-player{z-index:6}.score-table .sticky-player strong{display:block;font-size:12px}.score-table .sticky-player small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.round-head.r1{color:var(--primary)}.round-head.r2{color:var(--cyan)}.round-head.r3{color:var(--gold)}.score-input{width:58px;height:35px;text-align:center;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);outline:none;font:600 12px ui-monospace,monospace}.subtotal,.subtotal-value{background:#f8f9fc;color:#667185;font-family:ui-monospace,monospace}.grand-total,.total-head{background:var(--primary-soft)!important;color:#b91f24!important;font:700 14px ui-monospace,monospace}.save-bar{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:11px;color:var(--muted);background:#fafbfe}
.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:14px}.podium-card{position:relative;min-height:235px;padding:25px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}.podium-card.place-1{background:linear-gradient(145deg,#fff,#fff5f5);border-color:#ffcaca}.podium-rank{position:absolute;right:20px;top:10px;font-size:72px;font-weight:700;color:rgba(229,43,47,.07);letter-spacing:-.08em}.laurel{color:var(--primary);font-size:20px}.podium-card h2{font-size:22px;line-height:1.1;margin:17px 0 7px}.podium-card p{color:var(--muted);font-size:11px}.podium-card>strong{display:block;font:700 25px ui-monospace,monospace;margin-top:23px}.podium-card>strong small{font-size:9px;color:var(--subtle)}.round-dots{display:flex;gap:6px;margin-top:18px}.round-dots span{padding:5px 8px;border-radius:5px;background:#f2f4f8;color:var(--muted);font-size:9px}.round-dots b{color:#424b5b}.ranking-table td{height:55px}.team-tag{border:1px solid var(--line);background:#fafbfc;border-radius:999px;padding:5px 9px;color:#657083}.muted-number{color:#687386;font-family:ui-monospace,monospace}
.team-ranking{display:grid;gap:12px}.team-rank-card{display:grid;grid-template-columns:95px 1fr;border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.team-rank-no{display:grid;place-items:center;border-right:1px solid var(--line);padding:19px;background:#fafaff}.team-rank-no small{font-size:8px;letter-spacing:.15em;color:var(--subtle)}.team-rank-no strong{font:700 29px ui-monospace,monospace;color:var(--primary)}.team-rank-main{padding:19px 23px}.team-title,.team-title>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.team-emblem{width:42px;height:42px;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:700}.team-title h2{margin:0;font-size:17px}.team-title p{margin:4px 0 0;color:var(--muted);font-size:10px}.team-title>strong{font:700 20px ui-monospace,monospace}.team-title>strong small{font-size:8px;color:var(--subtle)}.member-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.member-chips span{display:flex;gap:9px;padding:7px 9px;border-radius:6px;background:#f3f5f9;font-size:10px}.member-chips em{font-style:normal;color:var(--muted)}
.account-panel{max-width:760px;padding:28px;display:grid;grid-template-columns:.9fr 1.1fr;gap:45px}.account-icon{font-size:30px;color:var(--primary)}.account-panel h2{font-size:20px}.account-panel p{font-size:12px;line-height:1.7;color:var(--muted)}.account-panel form{display:grid;gap:14px}
/* Login */
.login-page{background:#f4f6fb}.login-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:100vh}.login-art{position:relative;overflow:hidden;padding:55px;display:flex;align-items:center;justify-content:center;border-right:1px solid #eadedf;background:linear-gradient(145deg,#fff0f0 0,#fffafa 56%,#f5f6f9 100%)}.login-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(229,43,47,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(229,43,47,.045) 1px,transparent 1px);background-size:55px 55px;mask-image:linear-gradient(to bottom,black,transparent)}.ambient{position:absolute;border-radius:50%}.ambient.one{width:500px;height:500px;background:rgba(229,43,47,.08);top:-250px;left:-100px}.ambient.two{width:350px;height:350px;background:rgba(15,159,154,.07);bottom:-180px;right:-100px}.login-copy{position:relative;z-index:1;max-width:670px}.login-copy h1{font-size:clamp(50px,5.8vw,82px);line-height:.98;letter-spacing:-.065em;margin:20px 0 30px;font-weight:750;color:#1e2740}.login-copy h1 em{font-style:normal;color:var(--primary)}.login-copy p{color:#606c80;max-width:480px;line-height:1.7}.card-stack{width:170px;height:230px;margin-top:65px;border:1px solid #ccd2df;border-radius:14px;background:linear-gradient(145deg,#fff,#eceeff);box-shadow:20px 22px 0 -3px #f7f8fc,20px 22px 0 -2px #d9deea,40px 44px 0 -7px #f0f2f7,40px 44px 0 -6px #dfe3ec;padding:16px;display:flex;flex-direction:column;justify-content:space-between;color:var(--primary);transform:rotate(-4deg)}.card-stack span:nth-child(2){align-self:center;font:700 16px Georgia,serif;letter-spacing:.15em}.card-stack b{align-self:flex-end;font:600 10px ui-monospace,monospace;color:#7b8596}.login-panel{display:grid;place-items:center;padding:35px;background:#fff}.login-form{width:min(410px,100%);display:grid;gap:22px}.login-logo{display:flex;align-items:center;gap:14px;margin-bottom:32px}.login-logo strong,.login-logo small{display:block}.login-logo strong{font-size:15px;letter-spacing:.16em}.login-logo small{margin-top:3px;color:var(--subtle);font-size:10px}.login-form h2{font-size:30px;letter-spacing:-.04em;margin:8px 0}.login-form .muted{margin:0}.login-form input{height:47px;background:#fbfcfe}.muted{color:var(--muted);font-size:13px}.secure-note{text-align:center;color:#8a94a5;font-size:10px}.secure-note i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#20a878;margin-right:6px}.login-divider{display:flex;align-items:center;gap:12px;color:#a0a8b6;font-size:10px}.login-divider:before,.login-divider:after{content:"";height:1px;background:var(--line);flex:1}.viewer-link{min-height:46px;border:1px solid var(--line-strong);border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;color:#485264;font-size:13px;font-weight:650;background:#fff}.viewer-link:hover{border-color:#bfc6d5;background:#f8f9fc;color:var(--primary)}
/* Viewer */
.simple-login-wrap{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 20% 10%,#e8e9ff,transparent 28%),linear-gradient(145deg,#f8f9fd,#eef7f6)}.simple-login-card{width:min(460px,100%);padding:38px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 60px rgba(42,55,82,.12)}.simple-login-card .login-logo{margin-bottom:35px}.simple-login-card h1{font-size:32px;letter-spacing:-.04em;margin:10px 0}.simple-login-card>p{color:var(--muted);font-size:13px;line-height:1.65;margin-bottom:25px}.simple-login-card form{display:grid;gap:18px}.simple-login-card input{height:47px}.back-link{display:block;text-align:center;margin-top:22px;color:var(--muted);font-size:11px}.back-link:hover{color:var(--primary)}
.viewer-page{background:var(--bg)}.viewer-header{position:sticky;top:0;z-index:20;min-height:76px;padding:12px max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;gap:35px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.viewer-brand{display:flex;align-items:center;gap:12px;margin-right:auto}.viewer-brand .brand-cards{width:50px;height:38px}.viewer-brand strong,.viewer-brand small{display:block}.viewer-brand strong{font-size:13px;letter-spacing:.18em}.viewer-brand small{font-size:9px;color:var(--subtle);margin-top:2px}.viewer-header nav{display:flex;align-items:center;gap:5px}.viewer-header nav a{padding:10px 13px;border-radius:8px;color:var(--muted);font-size:12px;font-weight:600}.viewer-header nav a:hover,.viewer-header nav a.active{background:var(--primary-soft);color:var(--primary)}.viewer-main{max-width:1240px;margin:auto;padding:52px 24px 80px}.viewer-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:30px}.viewer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.viewer-stats article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px 22px;box-shadow:var(--shadow)}.viewer-stats small{display:block;color:var(--muted);font-size:11px}.viewer-stats strong{display:block;margin-top:5px;font-size:26px}
@media(max-width:1000px){.shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-head{height:66px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand.mini{padding:0}.brand.mini .brand-cards{width:44px;height:34px}.status{font-size:10px;color:var(--muted)}.mobile-nav{display:flex;overflow:auto;padding:9px 16px;background:#fff;border-bottom:1px solid var(--line);gap:5px}.mobile-nav a{padding:9px 11px;border-radius:6px;color:var(--muted);font-size:11px;white-space:nowrap}.mobile-nav a.active{background:var(--primary-soft);color:var(--primary)}.content{padding:30px 22px 60px}.login-grid{grid-template-columns:1fr}.login-art{display:none}.login-panel{min-height:100vh}.dashboard-grid,.viewer-grid{grid-template-columns:1fr}.round-strip{grid-template-columns:1fr repeat(3,1fr)}.viewer-header{padding:12px 18px;gap:15px}.viewer-header nav{overflow:auto}.viewer-header nav a{white-space:nowrap}.viewer-main{padding-top:35px}}
@media(max-width:700px){.swipe-hint{display:block}.content{padding:25px 14px 50px}.page-head,.viewer-hero{align-items:flex-start;flex-direction:column;gap:18px}.page-head h1,.viewer-hero h1{font-size:31px}.metric-grid,.viewer-stats{grid-template-columns:1fr}.metric{min-height:100px}.round-strip{grid-template-columns:1fr}.round-card{padding:10px 0 0;border-left:0;border-top:1px solid var(--line)}.add-grid{grid-template-columns:1fr}.edit-row{grid-template-columns:1fr 1fr}.edit-row input:nth-of-type(3),.score-progress{grid-column:1 / -1}.table-panel table{min-width:700px}.podium{grid-template-columns:1fr}.team-rank-card{grid-template-columns:62px 1fr}.team-rank-no{padding:10px}.team-rank-main{padding:16px}.team-title{align-items:flex-start}.account-panel{grid-template-columns:1fr;padding:22px}.save-bar{align-items:stretch;flex-direction:column;gap:14px}.login-panel{padding:24px}.login-logo{margin-bottom:18px}.viewer-header{align-items:flex-start;flex-wrap:wrap}.viewer-header nav{order:3;width:100%;border-top:1px solid var(--line);padding-top:8px}.viewer-header form{margin-left:auto}.viewer-main{padding:30px 14px 55px}.simple-login-card{padding:27px 22px}}

/* Hollingstedter identity */
.login-visual{position:relative;z-index:1;width:min(680px,100%);display:grid;gap:28px}.tournament-logo{display:block;width:100%;max-height:610px;object-fit:contain;background:transparent;filter:drop-shadow(0 20px 28px rgba(87,27,29,.16))}.mobile-tournament-logo{display:none}.login-visual h1{font-size:clamp(36px,4.5vw,62px);line-height:1;letter-spacing:-.055em;margin:8px 0 10px;color:#252a36}.login-visual p{margin:0;color:var(--muted);font-size:14px}.simple-login-wrap{background:radial-gradient(circle at 20% 10%,#ffe5e6,transparent 30%),linear-gradient(145deg,#fffafa,#f5f6f9)}

@media(max-width:1000px){.mobile-tournament-logo{display:block;width:min(250px,72vw);max-height:178px;object-fit:contain;margin:0 auto 2px;filter:drop-shadow(0 12px 18px rgba(87,27,29,.14))}}
/* Tournament archive */
.tournament-create{display:grid;grid-template-columns:160px minmax(260px,1fr) auto;gap:14px;align-items:end;padding:22px}.tournament-create label{color:#586274;font-size:11px;font-weight:650}.tournament-create input{display:block;width:100%;height:43px;margin-top:7px;padding:0 12px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--text);outline:none}.tournament-create input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(229,43,47,.12)}.tournament-list{display:grid;gap:12px}.tournament-card{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:22px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.tournament-card.active{border-color:#f1bfc1;background:linear-gradient(100deg,#fff7f7,#fff)}.tournament-year{font:750 30px ui-monospace,monospace;color:var(--primary);text-align:center;padding:13px;border-radius:10px;background:var(--primary-soft)}.tournament-info h2{font-size:17px;margin:5px 0}.tournament-info p{font-size:11px;color:var(--muted);margin:0}.active-badge{padding:9px 13px;border-radius:999px;background:var(--primary-soft);color:#b91f24;font-size:11px;font-weight:700}.active-badge i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--primary);margin-right:7px}
/* Scroll-free score entry */
.score-card-form{display:grid;gap:14px}.score-entry-list{display:grid;gap:12px}.score-entry-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.score-entry-card>header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line);background:#fffafa}.score-player-index{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--primary-soft);color:var(--primary);font:700 11px ui-monospace,monospace}.score-player strong,.score-player small{display:block}.score-player strong{font-size:14px}.score-player small{margin-top:3px;color:var(--muted);font-size:10px}.score-player-total{text-align:right}.score-player-total small{display:block;color:var(--subtle);font-size:8px;letter-spacing:.12em}.score-player-total strong{font:750 22px ui-monospace,monospace;color:var(--primary)}.round-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}.round-score-block{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.round-score-block legend{width:100%;padding:0 2px 8px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;font-weight:700}.round-score-block legend strong{color:var(--text);font:700 10px ui-monospace,monospace}.round-score-block.r1{border-top:3px solid var(--primary)}.round-score-block.r2{border-top:3px solid var(--cyan)}.round-score-block.r3{border-top:3px solid var(--gold)}.game-input-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.game-input-grid label{min-width:0}.game-input-grid label span{display:block;margin-bottom:5px;color:var(--subtle);font-size:8px;text-align:center;white-space:nowrap}.game-input-grid .score-input{width:100%;height:39px}.score-save-sticky{position:sticky;bottom:12px;z-index:10;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 35px rgba(40,47,63,.15)}
@media(max-width:1200px){.round-score-grid{grid-template-columns:1fr}.login-art{padding:35px}.tournament-logo{max-height:520px}}
@media(max-width:700px){.login-visual{gap:18px}.login-visual h1{font-size:34px}.tournament-create{grid-template-columns:1fr}.tournament-card{grid-template-columns:74px 1fr}.tournament-card form,.tournament-card .active-badge{grid-column:1/-1;justify-self:stretch;text-align:center}.tournament-year{font-size:20px;padding:11px 7px}.round-score-grid{padding:10px}.score-entry-card>header{padding:13px 12px;grid-template-columns:36px minmax(0,1fr) auto;gap:9px}.game-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.game-input-grid label span{text-align:left}.score-save-sticky{position:static;bottom:auto;margin-top:2px}}


/* Tournament deletion, participant transfer and prizes */
.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.btn.danger{border-color:#efb9ba;background:#fff5f5;color:#bf2025}.btn.danger:hover{border-color:var(--primary);background:var(--primary-soft)}
.tournament-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.delete-tournament{position:relative}.delete-tournament>summary{list-style:none;cursor:pointer;border:1px solid #efb9ba;border-radius:8px;min-height:42px;padding:0 15px;display:flex;align-items:center;color:#bf2025;font-size:12px;font-weight:700;background:#fff}.delete-tournament>summary::-webkit-details-marker{display:none}.delete-tournament[open]>summary{background:var(--primary-soft);border-color:var(--primary)}.delete-tournament form{position:absolute;z-index:20;right:0;top:50px;width:310px;padding:18px;display:grid;gap:13px;background:#fff;border:1px solid #efb9ba;border-radius:12px;box-shadow:0 20px 55px rgba(46,29,31,.2)}.delete-tournament p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.delete-tournament label{font-size:10px}.delete-tournament input{height:42px;margin-top:7px}
.source-picker{margin-bottom:14px}.source-picker form{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:12px;padding:20px 23px}.source-picker select{width:100%;height:44px;margin-top:7px;padding:0 12px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--text)}.import-panel{overflow:visible}.import-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:18px 22px}.import-person{position:relative;min-width:0;min-height:66px;padding:12px 14px;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe;cursor:pointer}.import-person:hover{border-color:#efb9ba;background:#fffafa}.import-person>input{position:absolute;opacity:0;pointer-events:none}.import-check{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line-strong);border-radius:6px;color:transparent;background:#fff}.import-person>input:checked+.import-check{border-color:var(--primary);background:var(--primary);color:#fff}.import-person strong,.import-person small{display:block}.import-person strong{font-size:13px}.import-person small{margin-top:3px;color:var(--muted);font-size:10px}
.prize-layout{display:grid;grid-template-columns:minmax(370px,.82fr) minmax(500px,1.18fr);align-items:start;gap:14px}.prize-config{overflow:visible;position:sticky;top:20px}.config-status{padding:7px 10px;border-radius:999px;background:#f1f3f7;color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.config-status.saved{background:var(--success-soft);color:var(--success)}.prize-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px 22px}.prize-fields label{position:relative}.prize-fields label small{position:absolute;right:11px;bottom:12px;color:var(--subtle);font-size:9px}.prize-fields input{width:100%;height:44px;margin-top:7px;padding-right:48px}.fixed-prize{min-height:72px;padding:10px 13px;display:flex;flex-direction:column;justify-content:center;border:1px dashed #e1b45c;border-radius:8px;background:#fffaf0}.fixed-prize span,.fixed-prize small{color:var(--muted);font-size:9px}.fixed-prize strong{margin:4px 0;color:#a96d00;font-size:18px}.prize-check{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0 22px 18px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--line)}.prize-check>div{padding:13px;background:#fff}.prize-check small,.prize-check strong{display:block}.prize-check small{color:var(--muted);font-size:9px}.prize-check strong{margin-top:5px;font-size:17px}.prize-check.balanced{border-color:#a9dfcb}.prize-check.balanced [data-difference]{color:var(--success)}.prize-check.unbalanced{border-color:#efb9ba}.prize-check.unbalanced [data-difference]{color:var(--danger)}.payout-panel>.panel-head>strong{font-size:18px;color:var(--primary)}.payout-list{padding:8px 18px 16px}.payout-row{min-height:66px;display:grid;grid-template-columns:38px minmax(0,1fr) auto 88px;align-items:center;gap:12px;padding:9px 5px;border-bottom:1px solid #edf0f5}.payout-row:last-child{border:0}.payout-row.podium-prize{background:linear-gradient(90deg,#fff7f7,transparent);border-radius:8px}.payout-place{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#f1f3f7;color:var(--muted);font:700 10px ui-monospace,monospace}.podium-prize .payout-place{background:var(--primary-soft);color:var(--primary)}.payout-person strong,.payout-person small{display:block}.payout-person strong{font-size:13px}.payout-person small{margin-top:3px;color:var(--muted);font-size:9px}.payout-label{color:var(--subtle);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.payout-amount{text-align:right;color:var(--primary);font:750 14px ui-monospace,monospace;white-space:nowrap}
@media(max-width:1150px){.prize-layout{grid-template-columns:1fr}.prize-config{position:static}.tournament-actions{grid-column:1/-1}.delete-tournament form{right:auto;left:0}}
@media(max-width:700px){.page-actions{justify-content:flex-start}.page-actions .btn{width:100%}.source-picker form{grid-template-columns:1fr}.import-list{grid-template-columns:1fr;padding:12px}.tournament-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.tournament-actions form .btn,.delete-tournament>summary{width:100%;justify-content:center}.delete-tournament form{position:fixed;left:14px;right:14px;top:auto;bottom:14px;width:auto}.prize-fields{grid-template-columns:1fr;padding:16px}.prize-check{grid-template-columns:1fr;margin:0 16px 14px}.payout-list{padding:7px 10px 13px}.payout-row{grid-template-columns:34px minmax(0,1fr) auto;gap:8px}.payout-label{display:none}.payout-amount{font-size:12px}}
