@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@700;800&display=swap');
:root{--navy:#073b4c;--navy2:#0b5368;--sand:#fff8e8;--yellow:#ffd166;--coral:#ef6f5e;--green:#19a974;--ink:#12313a;--muted:#6e8085;--line:#dce5e5;--white:#fff;--silver:#84939b;--shadow:0 12px 35px #073b4c12}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f8f7;color:var(--ink);font-family:'DM Sans',sans-serif}h1,h2,h3{font-family:Manrope,sans-serif;margin:.2em 0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{height:68px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:20}.brand{font:800 21px Manrope;letter-spacing:-1px}.brand span{color:var(--yellow)}.topbar nav{display:flex;gap:20px;align-items:center}.topbar form{display:inline}.link{border:0;background:none;color:#fff}.container{max-width:1180px;margin:auto;padding:0 22px}.hero{background:var(--navy);color:#fff;min-height:440px;display:flex;align-items:center;justify-content:center;gap:120px;padding:65px 24px;overflow:hidden}.hero h1{font-size:clamp(43px,6vw,75px);line-height:.98;letter-spacing:-4px}.hero h1 em{color:var(--yellow);font-style:normal}.hero p{font-size:18px;color:#c8dcdf}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--yellow)}.eyebrow.dark{color:var(--navy2)}.sunball{width:260px;height:260px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font-size:120px;color:#ffbc3b;position:relative;box-shadow:0 0 0 30px #ffffff08,0 0 0 60px #ffffff05}.sunball span{position:absolute;font-size:80px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:38px 0 18px;gap:16px}.section-head h2{font-size:25px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.cards.compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.tournament-card,.panel,.group-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px;box-shadow:var(--shadow);position:relative;overflow:hidden}.tournament-card{transition:.2s}.tournament-card:hover{transform:translateY(-3px);border-color:#9db7ba}.card-accent{height:5px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,var(--yellow),var(--coral))}.tournament-card p{color:var(--muted)}.card-footer{border-top:1px solid var(--line);padding-top:17px;margin-top:20px;display:flex;justify-content:space-between}.status{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;background:#e9eff0;color:var(--navy);border-radius:30px;padding:6px 9px;display:inline-block}.status.live,.status.groups,.status.finals{background:#ffe3df;color:#b52c1b}.status.finished,.status.archived{background:#e4ecee;color:#536970}.status.registration,.status.preparation{background:#fff0bd;color:#845e00}.status.groups_closed{background:#e3f5ed;color:#08754e}.empty{border:1px dashed #b9c8ca;border-radius:12px;padding:25px;color:var(--muted);text-align:center}footer{max-width:1180px;margin:70px auto 0;padding:25px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.event-head{background:linear-gradient(120deg,var(--navy),#0b6175);color:#fff;padding:42px 0 0}.event-head h1{font-size:clamp(30px,5vw,52px)}.event-head p{color:#c8dfe2}.tabs{display:flex;gap:25px;overflow:auto;margin-top:35px}.tabs a{white-space:nowrap;padding:12px 0;border-bottom:3px solid transparent}.tabs a:first-child{border-color:var(--yellow);color:var(--yellow)}.public-grid>section{scroll-margin-top:80px}.court-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:15px}.court-card{background:var(--navy);color:#fff;border-radius:16px;padding:20px;box-shadow:var(--shadow)}.court-title{font:800 18px Manrope;border-bottom:1px solid #ffffff30;padding-bottom:13px}.live-label{color:#ff9486;font-size:10px;font-weight:800;letter-spacing:1.5px;margin:15px 0 8px}.versus{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;text-align:center;gap:6px}.versus span{font-size:10px;color:var(--yellow)}.next{background:#ffffff12;margin-top:18px;border-radius:10px;padding:12px}.next small{color:var(--yellow)}.pulse{display:inline-block;width:10px;height:10px;background:var(--coral);border-radius:50%;box-shadow:0 0 0 5px #ef6f5e33;margin-right:8px}.muted{color:var(--muted);font-size:13px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:10px;letter-spacing:1px;color:var(--muted)}.group-card p{display:flex;gap:12px;padding:10px 0;margin:0;border-top:1px solid var(--line)}.group-card p span{color:var(--muted)}.bracket-sections{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gold-title,.silver-title{border-radius:10px;padding:12px 15px;background:#fff1bb;color:#735300}.silver-title{background:#e5ebed;color:#53666d}.bracket{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px}.round{min-width:210px}.round>small{color:var(--muted)}.bracket-match{background:#fff;border:1px solid var(--line);border-radius:9px;margin:12px 0;padding:9px}.bracket-match>div{display:flex;justify-content:space-between;padding:7px}.bracket-match>div+div{border-top:1px solid var(--line)}.winner{font-weight:800;color:#08754e}.bye{background:#fff8da}.bye em{display:block;color:#7c680e;font-size:10px}.results{display:grid;gap:10px}.results article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.results small{color:var(--muted)}.results article>div{display:grid;grid-template-columns:1fr auto 1fr;text-align:center;gap:18px;margin-top:10px}.results article>div span:first-child{text-align:right}.results article>div span:last-child{text-align:left}.auth-wrap{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:25px;background:linear-gradient(135deg,#e4f1ef,#fff5d9)}.form-card{width:min(440px,100%)}.form-card h1{font-size:38px}.form-card label,.form-grid label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.form-card input,.form-card textarea,.form-grid input,.form-grid select,.form-grid textarea,.popover input,.popover select{width:100%;padding:12px;border:1px solid #b9c8ca;border-radius:8px;background:#fff}.errorlist{color:#b52c1b}.btn{border:1px solid #b3c2c4;background:#fff;color:var(--ink);border-radius:9px;padding:11px 16px;font-weight:700;display:inline-block}.btn.primary{background:var(--coral);border-color:var(--coral);color:#fff}.btn.ghost{border-color:#ffffff55;background:#ffffff12;color:#fff}.btn.gold{background:var(--yellow);border-color:var(--yellow)}.btn.danger{color:#b52c1b}.btn.wide{width:100%}.btn.small{padding:8px 11px;font-size:12px}.admin-shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 68px)}.admin-shell>aside{background:var(--navy);color:#fff;padding:30px 24px}.admin-shell>aside h2{margin-bottom:30px}.admin-shell>aside a{display:block;padding:11px;border-radius:8px;margin:5px 0;color:#c4dadd}.admin-shell>aside a.active{background:#ffffff12;color:#fff}.admin-main{padding:25px 35px;max-width:1150px}.focus-card{background:linear-gradient(110deg,var(--navy),var(--navy2));color:#fff;border-radius:18px;padding:28px;display:flex;justify-content:space-between;align-items:center}.focus-card p{color:#bed4d8}.big-arrow{font-size:45px;color:var(--yellow)}.narrow{max-width:850px;margin:35px auto;padding:0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px 22px}.form-grid>p:has(textarea),.form-grid>button{grid-column:1/-1}.formula{max-width:1180px;margin:18px auto;padding:16px 20px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.formula.ok{background:#def4e9;border:1px solid #a5dcc6;color:#086947}.formula span,.formula small{display:block;font-weight:400;color:#4d7566}.formula strong{font:800 27px Manrope}.admin-page{max-width:1280px;margin:auto;padding:25px}.event-admin-head{background:var(--navy);border-radius:16px;color:#fff;padding:25px;display:flex;justify-content:space-between;align-items:center}.event-admin-head p{color:#bdd1d5}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:15px}.stat-grid>div{background:#fff;border:1px solid var(--line);padding:17px;border-radius:12px}.stat-grid small{display:block;color:var(--muted);font-size:10px;letter-spacing:1px}.stat-grid b{font:800 21px Manrope}.green{color:var(--green)}.admin-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:25px}.quick-actions{display:flex;gap:9px;flex-wrap:wrap}.quick-actions form{display:inline}.match-admin-list{display:grid;gap:10px}.match-admin{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}.match-admin header{display:flex;justify-content:space-between}.match-teams{display:grid;grid-template-columns:1fr 30px 1fr;text-align:center;align-items:center;margin:12px 0}.match-teams span{font-size:10px;color:var(--muted)}.score-form{display:flex;justify-content:center;align-items:center;gap:7px}.score-form input{width:62px;font:800 20px Manrope;text-align:center;padding:8px;border:1px solid #b8c7c9;border-radius:8px}.match-actions{display:flex;justify-content:center;gap:8px;margin-top:10px}.chip{border:0;background:#e8eeef;color:var(--ink);border-radius:20px;padding:7px 10px;font-size:11px;font-weight:700}.chip.live{background:#ffe3df;color:#a52d1d}.popover{position:absolute;background:#fff;padding:12px;border-radius:10px;box-shadow:0 5px 25px #0003;z-index:5;display:grid;gap:8px}.team-list{background:#fff;border:1px solid var(--line);border-radius:12px}.team-list>div{display:grid;grid-template-columns:10px 1fr auto;gap:9px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.team-list small{display:block;color:var(--muted)}.reg-dot{width:9px;height:9px;border-radius:50%;background:#df5442}.reg-dot.done{background:var(--green)}.mini-standing{padding:0;list-style:none}.mini-standing li{display:flex;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);padding:10px}.mini-standing span{color:var(--muted);font-size:12px}.toasts{position:fixed;top:78px;right:15px;z-index:30;display:grid;gap:8px}.toast{background:var(--navy);color:#fff;padding:12px 16px;border-radius:8px;box-shadow:var(--shadow)}.toast.error{background:#a93425}.toast.success{background:#08754e}
@media(max-width:800px){.hero{min-height:380px}.sunball{display:none}.hero h1{letter-spacing:-2px}.bracket-sections,.admin-columns{grid-template-columns:1fr}.admin-shell{display:block}.admin-shell>aside{display:none}.admin-main{padding:20px}.stat-grid{grid-template-columns:1fr 1fr}.event-admin-head{align-items:flex-start;gap:18px;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid>p{grid-column:1}.formula{align-items:flex-start;flex-direction:column}.topbar{padding:0 18px}.public-grid{padding:0 14px}.tabs{gap:18px}.section-head{margin-top:28px}.results article>div{gap:8px}.admin-page{padding:12px}.match-teams{font-size:13px}}
@media(max-width:480px){.hero{padding:45px 20px}.cards{grid-template-columns:1fr}.stat-grid{gap:7px}.stat-grid>div{padding:12px}.score-form{flex-wrap:wrap}.score-form .btn{width:100%}.event-head{padding-top:25px}.event-head h1{font-size:30px}.bracket-sections{margin-left:-4px;margin-right:-4px}}
.header-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.header-actions form{display:inline}.group-editor{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.group-editor label{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:8px 0}.group-editor select{padding:8px;border:1px solid #b9c8ca;border-radius:8px;background:#fff}.confirm-row{grid-column:1/-1;text-align:right}.confirm-groups{margin-top:10px;text-align:right}.danger-zone{margin-top:35px;border:1px solid #efb6ad;background:#fff6f4;border-radius:12px;padding:15px}.danger-zone h3{color:#9c2d20}.danger-zone form{margin-top:8px}.danger-zone .btn{width:100%}
@media(max-width:800px){.group-editor{grid-template-columns:1fr}}
.remaining-time{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0}.remaining-time>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.remaining-time small,.remaining-time span{display:block;color:var(--muted);font-size:10px;letter-spacing:.5px}.remaining-time b{display:block;font:800 22px Manrope;margin:4px 0}.court-schedule{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;align-items:start}.court-lane{background:#e9eff0;border-radius:15px;padding:12px}.court-lane>header{background:var(--navy);color:#fff;border-radius:10px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:76px;z-index:3}.court-lane>header h3{margin:0}.court-lane>header span{font-size:11px;color:#c5dbdf}.court-match-list{display:grid;gap:9px;margin-top:10px}.court-lane .match-admin{box-shadow:0 4px 12px #073b4c0c}.unscheduled{margin-top:18px;border:1px dashed #aababc;border-radius:12px;padding:14px}.unscheduled:has(.match-admin){display:block}.unscheduled:not(:has(.match-admin)){display:none}
@media(max-width:800px){.remaining-time{grid-template-columns:1fr}.court-schedule{grid-template-columns:1fr}.court-lane>header{top:72px}}
.match-admin{scroll-margin-top:92px}.match-admin.match-live{border:3px solid #f2c230;background:#fffdf3}.match-admin.match-waiting{border:3px solid #df5442;background:#fffafa}.match-admin.match-played{border:3px solid #19a974;background:#f7fffb}.match-admin.match-cancelled{border:3px solid #9aa9ad;opacity:.75}.match-live .status{background:#fff0a8;color:#715600}.match-waiting .status{background:#ffe1dc;color:#a52d1d}.match-played .status{background:#dff5ea;color:#08754e}
