@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#15231f;background:#f3f6f4;font-synthesis:none;--green: #0b3b2e;--green2: #126348;--lime: #dff34f;--gold: #f5c84c;--line: #dfe7e2;--muted: #687871;--white: #fff}*{box-sizing:border-box}body{margin:0;min-width:360px}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}aside{background:var(--green);color:#d4e2dd;position:fixed;inset:0 auto 0 0;width:238px;padding:27px 16px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 25px;color:#fff;font-size:18px}.brand-ball{display:grid;place-items:center;background:#fff1;border:1px solid #fff2;border-radius:12px;width:42px;height:42px}.brand div{display:flex;gap:5px}.brand em{font-style:normal;color:var(--lime);font-weight:800}aside nav{display:grid;gap:5px}aside nav a{display:flex;gap:12px;align-items:center;padding:11px 13px;border-radius:10px;font-weight:600;font-size:14px}aside nav a:hover,aside nav a.active{background:#ffffff14;color:#fff}aside nav a.active{box-shadow:inset 3px 0 var(--lime)}.side-user{margin-top:auto;border-top:1px solid #ffffff18;padding:20px 8px 0;display:flex;gap:10px;align-items:center}.side-user>span,.avatar{background:#dff34f;color:#183b30;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-weight:800}.side-user div{display:grid}.side-user small{color:#9fb8af}.app-main{margin-left:238px}.app-main>header{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 5%;gap:14px;position:sticky;top:0;z-index:2}.mobile-brand{display:none}.demo-pill{background:#eef5d1;color:#4e5b14;border-radius:99px;padding:6px 11px;font-size:12px;font-weight:700}.icon-btn{position:relative;border:0;background:#f4f7f5;border-radius:50%;width:40px;height:40px;display:grid;place-items:center}.icon-btn i{position:absolute;width:7px;height:7px;background:#dc4c3f;border-radius:50%;right:7px;top:6px}.app-main main{max-width:1200px;margin:auto;padding:36px 4.5% 80px}.welcome,.title-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.welcome h1,.page-title h1{font-size:30px;margin:4px 0;color:#102c24}.welcome p,.page-title p{margin:0;color:var(--muted)}.welcome select{padding:10px 35px 10px 13px;border:1px solid var(--line);border-radius:9px;background:#fff}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:11px;color:var(--green2);font-weight:800}.section-head{display:flex;align-items:end;justify-content:space-between;margin:32px 0 14px}.section-head h2{font-size:20px;margin:3px 0}.section-head a{font-size:13px;font-weight:700;color:var(--green2);display:flex;align-items:center;gap:5px}.section-head a svg{width:15px}.summary-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr 1.4fr;gap:12px}.summary{background:#fff;border:1px solid var(--line);padding:17px 19px;border-radius:14px;display:flex;flex-direction:column;box-shadow:0 3px 14px #14392b08}.summary>span{font-size:12px;color:var(--muted);font-weight:600}.summary>strong{font-size:31px;line-height:1.15;color:var(--green)}.summary small{display:flex;align-items:center;gap:4px;color:#839089}.summary.primary{background:linear-gradient(145deg,#0b3b2e,#126348);color:#fff;border:0}.summary.primary span,.summary.primary small{color:#cde2da}.summary.primary strong{color:var(--lime)}.summary.stats{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:12px}.summary.stats span{display:flex;align-items:center;gap:6px;color:#344d45}.summary.stats svg{width:17px;color:#c69a0a}.match-list{display:grid;gap:12px}.match-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 18px;box-shadow:0 3px 14px #14392b08}.match-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.match-meta span{display:flex;align-items:center;gap:5px}.teams{display:grid;grid-template-columns:1fr 145px 1fr;align-items:center;margin:15px 0}.team{display:flex;gap:10px;align-items:center}.team.away{flex-direction:row-reverse;text-align:right}.crest{display:grid;place-items:center;width:38px;height:38px;background:#edf3ef;border:1px solid var(--line);border-radius:50%;font-size:11px;color:var(--green);font-weight:800}.score-inputs{display:flex;align-items:center;justify-content:center;gap:8px}.score-inputs input{width:48px;height:44px;border:1px solid #b9c9c2;border-radius:8px;text-align:center;font-size:20px;font-weight:800;color:var(--green)}.score-inputs input:focus{outline:2px solid #92bfaa}.score-inputs input::-webkit-inner-spin-button{display:none}.final-score{font-size:22px}.match-footer{border-top:1px solid #edf1ef;padding-top:12px;display:flex;align-items:center;gap:14px;min-height:36px}.match-footer button,.title-actions>button,.join-box button,.profile-form button,.section-head button,.discrepancy button{margin-left:auto;background:var(--green);color:#fff;border:0;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px}.state{display:flex;align-items:center;gap:5px;text-transform:uppercase;font-size:10px;font-weight:800}.state.saved{color:#168359}.state.pending{color:#b67c00}.state.danger{color:#c64638}.countdown{font-size:11px;color:var(--muted)}.match-footer>div{display:grid;gap:3px}.match-footer small{color:var(--muted)}.points{margin-left:auto;color:var(--green2);font-size:20px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}.group-list,.mini-results{display:grid;gap:8px}.group-row{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:10px}.group-row:hover{border-color:#9ab8ab}.group-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:#eaf3ee;color:var(--green2)}.group-icon svg{width:18px}.group-row div{display:grid}.group-row small{color:var(--muted)}.group-row em{font-style:normal;font-size:12px;color:var(--muted)}.mini-results .match-card{padding:12px}.page-title{margin-bottom:22px}.filters{display:flex;gap:8px;margin-bottom:18px;overflow:auto}.filters button,.round-nav button{background:#fff;border:1px solid var(--line);border-radius:99px;padding:8px 15px;color:#53645d;white-space:nowrap}.filters button.active{background:var(--green);color:#fff}.leaderboard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.leader-head,.leader-row{display:grid;grid-template-columns:70px 1.8fr repeat(4,1fr);align-items:center;padding:13px 18px;gap:10px}.leader-head{background:#edf3ef;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800}.leader-row{border-top:1px solid #edf1ef}.leader-row.me{background:#f7fbe6}.leader-name{display:flex;align-items:center;gap:10px}.leader-name i{width:34px;height:34px;border-radius:50%;background:#dceae3;color:var(--green);display:grid;place-items:center;font-size:11px;font-style:normal;font-weight:800}.leader-name b{display:flex;gap:8px;align-items:center}.leader-name small{background:var(--lime);padding:2px 6px;border-radius:5px;font-size:9px}.join-box{background:var(--green);color:#fff;border-radius:14px;padding:20px;display:flex;align-items:center;gap:14px}.join-box p{margin:4px 0;color:#bed2ca;font-size:13px}.join-box input{margin-left:auto;border:0;border-radius:8px;padding:10px;text-transform:uppercase}.join-box button{margin:0;background:var(--lime);color:var(--green)}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.group-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.group-card>span{float:left;margin-right:10px;background:#e8f1ec;padding:8px;border-radius:9px}.group-card small{color:var(--green2);font-weight:700}.group-card h3{margin:6px 0}.group-card p{color:var(--muted)}.group-card>div{border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between}.group-card strong{color:var(--green2)}.group-hero{background:linear-gradient(130deg,#0b3b2e,#17684d);border-radius:14px;color:#fff;padding:22px;display:flex;align-items:center;gap:50px;margin-bottom:18px}.group-hero div{display:grid}.group-hero strong{font-size:29px;color:var(--lime)}.group-hero button{margin-left:auto;background:#ffffff19;border:1px solid #ffffff35;color:#fff;padding:9px 13px;border-radius:8px;display:flex;gap:6px}.leader-row.short{grid-template-columns:70px 1fr auto}.round-nav{display:flex;align-items:center;justify-content:space-between;margin:15px 0}.profile-form{max-width:600px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px;display:grid;gap:18px}.profile-avatar{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--lime);font-weight:800;font-size:20px}.profile-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.profile-form input{border:1px solid var(--line);border-radius:8px;padding:11px}.profile-form button{margin:0;width:max-content}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;grid-template-columns:auto 1fr;gap:2px 10px}.admin-stat>span{grid-row:1/3;background:#eaf3ee;color:var(--green2);padding:8px;border-radius:9px}.admin-stat small{color:var(--muted)}.admin-stat strong{font-size:17px}.danger-card>span{background:#fff0ee;color:#c64638}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 20px 15px;margin-top:18px}.admin-panel .section-head{margin-top:20px}.health{padding:12px 0;border-top:1px solid #edf1ef;display:flex;justify-content:space-between}.health span{display:flex;gap:9px;align-items:center}.health svg{width:17px;color:var(--muted)}.health .ok{color:#168359}.discrepancy{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:15px}.discrepancy>svg{color:#c64638}.discrepancy div{display:grid}.discrepancy span{color:var(--muted);font-size:13px}.skeleton-wrap{display:grid;gap:15px}.skeleton{height:110px;border-radius:14px;background:linear-gradient(90deg,#e7ece9 25%,#f4f6f5,#e7ece9 75%);background-size:200% 100%;animation:shine 1.4s infinite}.skeleton.big{height:170px}@keyframes shine{to{background-position:-200% 0}}.error,.empty{text-align:center;background:#fff;border:1px solid var(--line);padding:40px;border-radius:14px}.error button{display:inline-flex;gap:6px;padding:9px 14px}.mobile-nav{display:none}@media(max-width:900px){aside{width:205px}.app-main{margin-left:205px}.summary-grid{grid-template-columns:1fr 1fr}.two-cols{grid-template-columns:1fr}.cards-grid,.admin-stats{grid-template-columns:1fr 1fr}}@media(max-width:680px){aside{display:none}.app-main{margin-left:0}.app-main>header{height:58px;padding:0 16px}.mobile-brand{display:flex;margin-right:auto;gap:5px}.demo-pill{display:none}.app-main main{padding:24px 14px 90px}.welcome{align-items:flex-start}.welcome h1,.page-title h1{font-size:25px}.welcome select{max-width:120px}.summary-grid{grid-template-columns:1fr 1fr}.summary{padding:14px}.summary.stats{grid-column:1/-1}.teams{grid-template-columns:1fr 112px 1fr}.team{flex-direction:column;gap:4px;text-align:center;font-size:13px}.team.away{flex-direction:column;text-align:center}.crest{width:34px;height:34px}.match-card{padding:13px}.match-meta span:last-child{font-size:9px}.match-footer{flex-wrap:wrap}.match-footer button{width:100%;justify-content:center;margin:2px 0 0}.countdown{margin-left:auto}.two-cols{gap:0}.leader-head,.leader-row{grid-template-columns:45px 1fr 55px;padding:12px 9px}.leader-head span:nth-child(n+4),.leader-row>span:nth-child(n+4){display:none}.join-box{display:grid}.join-box input{margin:0;width:100%}.cards-grid,.admin-stats{grid-template-columns:1fr}.group-hero{gap:25px}.group-hero button{display:none}.mobile-nav{position:fixed;display:flex;z-index:5;bottom:0;left:0;right:0;height:67px;background:#fff;border-top:1px solid var(--line);justify-content:space-around}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:9px;color:#6b7c75;min-width:62px}.mobile-nav svg{width:20px}.mobile-nav a.active{color:var(--green2);font-weight:800}.title-actions{align-items:flex-start}.title-actions>button{font-size:0;padding:10px}.title-actions>button svg{margin:0}.round-nav button{padding:7px 10px;font-size:11px}}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr;background:#fff}.auth-copy{background:linear-gradient(145deg,#071d18,#126348);color:#fff;padding:12%;display:flex;flex-direction:column;justify-content:center}.auth-copy>span{font-size:55px}.auth-copy h1{font-size:44px;margin:15px 0}.auth-copy p{font-size:20px;max-width:550px;color:#d3e5de;line-height:1.5}.auth-copy div{color:#dff34f;font-weight:700;margin-top:25px}.auth-form{width:min(430px,85%);margin:auto;display:grid;gap:16px}.auth-form h2{font-size:30px;margin:0 0 8px}.auth-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.auth-form input{padding:12px;border:1px solid #dfe7e2;border-radius:9px}.auth-form>button{background:#0b3b2e;color:#fff;border:0;border-radius:9px;padding:12px;font-weight:700}.auth-message{background:#edf5f1;padding:10px;border-radius:8px;color:#126348}.auth-links{display:flex;justify-content:space-between}.auth-links button{background:none;border:0;color:#126348;font-size:12px;font-weight:700}.auth-links button:only-child{margin:auto}@media(max-width:680px){.auth-page{grid-template-columns:1fr}.auth-copy{padding:35px 25px}.auth-copy h1{font-size:30px}.auth-copy p{font-size:15px}.auth-copy div{display:none}.auth-form{padding:35px 0}.auth-form h2{font-size:25px}}.fatal-error{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f3f6f4}.fatal-error>div{width:min(560px,100%);background:#fff;border:1px solid #dfe7e2;border-radius:16px;padding:32px;text-align:center;box-shadow:0 12px 40px #14392b12}.fatal-error span{font-size:40px}.fatal-error h1{color:#102c24}.fatal-error p{color:#687871;line-height:1.55}.fatal-error code{display:block;background:#f5f7f6;border-radius:8px;padding:10px;margin:18px 0;color:#a33;word-break:break-word}.fatal-error button{border:0;border-radius:9px;background:#0b3b2e;color:#fff;padding:11px 16px;font-weight:700}.logout-side{margin-left:auto;border:0;background:#ffffff12;color:#d4e2dd;border-radius:8px;width:34px;height:34px;display:grid;place-items:center}.logout-side:hover{background:#ffffff25;color:#fff}.logout-header{border:1px solid #dfe7e2;background:#fff;color:#344d45;border-radius:9px;padding:8px 11px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.tournament-form{background:#fff;border:1px solid #cddbd4;border-radius:14px;padding:20px;margin-bottom:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.tournament-form>div:first-child{grid-column:1/-1}.tournament-form h2{margin:4px 0}.tournament-form p{color:#687871;margin:0}.tournament-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#344d45}.tournament-form input,.tournament-form select{border:1px solid #cddbd4;border-radius:8px;padding:10px;background:#fff}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.form-actions button{border:1px solid #cddbd4;background:#fff;border-radius:8px;padding:9px 14px;font-weight:700}.form-actions button:last-child{background:#0b3b2e;color:#fff;border-color:#0b3b2e}.form-error{grid-column:1/-1;background:#fff0ee;color:#a33!important;padding:10px!important;border-radius:8px}@media(max-width:680px){.logout-header span{display:none}.logout-header{padding:8px}.tournament-form{grid-template-columns:1fr}.tournament-form>div:first-child,.form-actions,.form-error{grid-column:1}.side-user{display:none}}.inline-form{display:grid;grid-template-columns:1fr 2fr auto;gap:10px;background:#fff;border:1px solid #dfe7e2;border-radius:12px;padding:14px;margin-bottom:14px}.inline-form input{border:1px solid #cddbd4;border-radius:8px;padding:10px}.inline-form button,.admin-tabs button{border:0;border-radius:8px;padding:9px 13px;font-weight:700}.admin-tabs{display:flex;gap:6px;overflow:auto;padding:15px 0}.admin-tabs button{background:#edf3ef;color:#53645d;white-space:nowrap}.admin-tabs button.active{background:#0b3b2e;color:#fff}.data-scroll{overflow:auto}.data-scroll table{border-collapse:collapse;width:100%;font-size:12px}.data-scroll th,.data-scroll td{padding:10px;border-top:1px solid #edf1ef;text-align:left;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-scroll th{color:#687871;text-transform:uppercase;font-size:10px}.member-remove{border:0;background:#fff0ee;color:#b33;border-radius:7px;width:32px;height:32px}.member-remove svg{width:15px}.leader-row.short:has(.member-remove){grid-template-columns:60px 1fr auto 40px}@media(max-width:680px){.inline-form{grid-template-columns:1fr}.data-scroll{margin:0 -10px}}.notification-wrap{position:relative}.notification-pop{position:absolute;right:0;top:48px;width:min(360px,88vw);max-height:420px;overflow:auto;background:#fff;border:1px solid #dfe7e2;border-radius:12px;box-shadow:0 14px 40px #071d1825;padding:12px;z-index:20}.notification-pop>strong{display:block;padding:7px}.notification-pop>button{display:grid;width:100%;text-align:left;border:0;border-top:1px solid #edf1ef;background:#f5faf7;padding:10px;gap:3px}.notification-pop>button.read{background:#fff;color:#687871}.notification-pop span,.notification-pop small{font-size:11px}.admin-quick-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 0;border-top:1px solid #edf1ef}.admin-quick-form input,.admin-quick-form select{border:1px solid #cddbd4;border-radius:7px;padding:8px;min-width:130px}.admin-quick-form button,.admin-actions-list button,.export-actions button{border:0;border-radius:7px;background:#0b3b2e;color:#fff;padding:8px 11px;font-weight:700}.admin-actions-list{display:grid;gap:5px;margin:10px 0}.admin-actions-list>div{display:flex;justify-content:space-between;align-items:center;background:#f7f9f8;padding:8px 10px;border-radius:7px}.export-actions{display:flex;gap:7px;justify-content:flex-end}.export-actions button{background:#e8f1ec;color:#0b3b2e}@media(max-width:680px){.admin-quick-form{display:grid}.admin-quick-form>*{width:100%}}
