@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#15231b;background:#f4f6f2;font-synthesis:none;--ink: #07130d;--green: #0d4429;--bright: #b7f23b;--cream: #f4f6f2;--line: #dfe5dc;--muted: #68746d;--danger: #be3b35;--yellow: #f5c84b}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--cream)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--green);font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{font-family:Manrope,sans-serif}h1{font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.045em;line-height:1.08;margin-bottom:.35rem}h2{font-size:1.25rem;letter-spacing:-.025em}small,.muted{color:var(--muted)}.eyebrow{color:#658071;font-weight:800;font-size:.7rem;letter-spacing:.14em;margin-bottom:.55rem}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);background:var(--ink)}.auth-brand{color:#fff;position:relative;overflow:hidden;padding:clamp(3rem,8vw,8rem);display:flex;justify-content:center;flex-direction:column;isolation:isolate}.auth-brand:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:110px solid rgba(183,242,59,.08);right:-160px;top:-150px;z-index:-1}.auth-brand h1{font-size:clamp(3.3rem,7vw,7.4rem);max-width:850px;line-height:.94}.auth-brand>p:not(.eyebrow){font-size:1.15rem;max-width:440px;color:#b6c1ba}.auth-brand .eyebrow{color:var(--bright)}.brand-mark{width:76px;height:76px;border-radius:24px;background:var(--bright);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:2px;font:800 1.4rem Manrope;margin-bottom:4rem;transform:rotate(-3deg)}.brand-mark small{color:inherit;font-size:.7rem}.pitch-lines{position:absolute;inset:12% -10% auto auto;width:45%;height:80%;opacity:.12;border:2px solid white;border-radius:45% 0 0 45%;z-index:-1}.pitch-lines i:first-child{position:absolute;border:2px solid white;border-radius:50%;width:160px;height:160px;top:calc(50% - 80px);left:-80px}.pitch-lines i:nth-child(2){position:absolute;border-left:2px solid white;height:100%;left:0}.auth-card{background:#fff;padding:clamp(2rem,7vw,8rem);display:flex;flex-direction:column;justify-content:center}.auth-card h2{font-size:2rem;margin-bottom:.4rem}.auth-card form{display:grid;gap:1rem;margin-top:2rem}label{display:grid;gap:.45rem;font-weight:700;color:#39443e;font-size:.88rem}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:46px;padding:.72rem .85rem;color:var(--ink);outline:none;transition:border .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:#2a7650;box-shadow:0 0 0 3px #2a76501f}input:disabled{background:#f1f3f0;color:var(--muted)}.text-button{border:0;background:none;color:var(--green);text-decoration:underline;margin-top:1.4rem;cursor:pointer}.verification-waiting{display:grid;gap:.75rem;text-align:center}.verification-waiting h2,.verification-waiting p{margin-bottom:0}.verification-icon{width:64px;height:64px;margin:0 auto .5rem;display:grid;place-items:center;color:#1b6337;background:#e7f7dd;border:1px solid #c9e6b6;border-radius:20px}.verification-waiting .text-button{justify-self:center}.button{min-height:42px;padding:.68rem 1rem;border-radius:11px;border:1px solid transparent;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;cursor:pointer;text-decoration:none;transition:transform .15s,filter .15s}.button:hover:not(:disabled){filter:brightness(.96);transform:translateY(-1px)}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{color:#fff;background:var(--green)}.button.accent{color:var(--ink);background:var(--bright)}.button.secondary{color:var(--green);border-color:#b8c8be;background:#f8faf7}.button.ghost{color:#344139;border-color:var(--line);background:#fff}.button.danger,.button.ghost.danger{color:#fff;background:var(--danger)}.button.large{min-height:52px;padding-inline:1.5rem;font-size:1rem}.button.wide{width:100%}.icon-button{border:0;background:transparent;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;cursor:pointer;color:inherit}.icon-button:hover{background:#0000000f}.icon-button.danger{color:var(--danger)}.action-wrap{display:inline-flex;flex-direction:column;gap:.25rem}.field-error{color:var(--danger);max-width:220px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;background:var(--ink);color:#fff;display:flex;flex-direction:column;padding:1.35rem 1rem;z-index:20}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:.35rem .45rem 1.3rem}.sidebar-brand>div:nth-child(2){display:grid}.sidebar-brand .brand-copy{min-width:0;flex:1}.sidebar-brand strong{font-size:.96rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sidebar-brand small{color:#9aa9a0}.mini-ball{width:44px;height:44px;border-radius:14px;background:var(--bright);color:var(--ink);font-weight:900;display:grid;place-items:center;transform:rotate(-3deg)}.close-menu{display:none;margin-left:auto}.sidebar nav{overflow-y:auto;display:grid;gap:.22rem}.sidebar nav a{color:#abb6af;text-decoration:none;padding:.72rem .8rem;border-radius:10px;display:flex;align-items:center;gap:.75rem;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#173322}.sidebar nav a.active svg{color:var(--bright)}.nav-label{color:#5d6e64;font-size:.63rem;font-weight:800;letter-spacing:.14em;margin:1.2rem .8rem .35rem}.sidebar-user{margin-top:auto;border-top:1px solid #26362d;padding:1rem .3rem 0;display:flex;align-items:center;gap:.65rem}.sidebar-user>div:nth-child(2){display:grid;min-width:0;flex:1}.sidebar-user small{color:#88978e}.avatar{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:#dce9df;color:var(--green);display:grid;place-items:center;font-weight:800;text-transform:uppercase}.avatar.small{width:32px;height:32px}.content{min-height:100vh;margin-left:258px;padding:2.3rem clamp(1.5rem,4vw,4.5rem) 5rem}.mobile-header,.bottom-nav{display:none}.live-match-strip{width:min(1280px,100%);min-height:48px;margin:0 auto 1rem;padding:.65rem .85rem;display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:.8rem;color:#fff;background:linear-gradient(100deg,#8b201d,var(--danger));border-radius:14px;text-decoration:none;box-shadow:0 8px 24px #be3b3533}.live-match-strip>span{display:inline-flex;align-items:center;gap:.4rem;font-size:.66rem;font-weight:900;letter-spacing:.08em}.live-match-strip i{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 #ffffffb3;animation:live-pulse 1.4s infinite}.live-match-strip b{font-size:1.05rem}.live-match-strip time{min-width:54px;font:800 1rem Manrope;font-variant-numeric:tabular-nums;text-align:right}@keyframes live-pulse{70%{box-shadow:0 0 0 7px #fff0}to{box-shadow:0 0 #fff0}}.page{width:min(1280px,100%);margin:auto;display:grid;gap:1.25rem}.page.narrow{max-width:850px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.page-title h1{margin:0}.page-title select{min-width:220px}.notification-button{position:relative;width:46px;height:46px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;border-radius:14px;color:var(--ink)}.notification-button b{position:absolute;right:-6px;top:-6px;background:var(--danger);color:#fff;border-radius:20px;min-width:20px;height:20px;display:grid;place-items:center;font-size:.65rem;border:2px solid var(--cream)}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.3rem;box-shadow:0 8px 28px #132b1c09}.notice{border-radius:13px;padding:.9rem 1rem;border:1px solid #cfe0d4;background:#edf7ef;color:#184d2d}.notice.danger{color:#7e2723;border-color:#edc5c3;background:#fff0ef}.notice.success{color:#145629;border-color:#bce0c4;background:#eaf8ed}.notice a{color:inherit}.loading{min-height:40vh;display:flex;justify-content:center;align-items:center;gap:.45rem}.loading span{width:9px;height:9px;border-radius:50%;background:var(--green);animation:bounce 1s infinite alternate}.loading span:nth-child(2){animation-delay:.2s}.loading span:nth-child(3){animation-delay:.4s}@keyframes bounce{to{transform:translateY(-10px);opacity:.3}}.empty{text-align:center;color:var(--muted);min-height:150px;display:grid;place-content:center;justify-items:center}.empty p{margin:.6rem 0 0}.hero-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(250px,.8fr);gap:1rem}.game-hero{background:var(--green);color:#fff;min-height:212px;border-radius:20px;padding:1.35rem;display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:center;position:relative;overflow:hidden}.game-hero:after{content:"";width:200px;height:200px;border-radius:50%;border:45px solid rgba(255,255,255,.04);position:absolute;right:-80px;bottom:-90px}.game-date{width:82px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;border-radius:16px;display:grid;place-items:center;padding:.65rem;z-index:1}.game-date span,.game-date small{color:var(--bright);font-weight:800}.game-date strong{font-size:2.5rem;line-height:1;margin:.2rem}.game-info{z-index:1}.game-info h2{font-size:1.5rem;margin-bottom:.5rem}.game-info p{display:flex;align-items:center;gap:.4rem;margin-bottom:.35rem}.game-info .eyebrow{color:var(--bright)}.game-info .muted{color:#b8c9bf}.capacity{display:grid;justify-items:center;z-index:1}.capacity strong{font-size:2.6rem;line-height:1}.capacity span{color:#a9b9af}.capacity small{color:#c6d1ca}.hero-action{grid-column:2 / 4;z-index:1}.full-label{color:var(--yellow);font-weight:800}.status-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:1.35rem}.status-card>div{display:flex;justify-content:space-between;align-items:center;gap:.7rem;padding:.8rem 0;border-bottom:1px solid #edf0ec}.status-card>div:last-child{border:0}.status-card span{color:var(--muted)}.pill{display:inline-flex;padding:.3rem .55rem;border-radius:7px;font-size:.75rem}.pill.green{color:#1d6a38;background:#e6f5e9}.pill.red{color:#a72e2a;background:#fae9e8}.monthly-choice{background:#fbfdf8;border-left:4px solid var(--bright);display:flex;justify-content:space-between;align-items:center;gap:2rem}.monthly-choice h2{margin-bottom:.35rem}.monthly-choice p{margin-bottom:0;color:var(--muted)}.choice-buttons{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.button.choice{background:#fff;border-color:var(--line);color:#344139}.button.choice.selected{border-color:var(--green);color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.section-head h2,.section-head p{margin-bottom:.25rem}.spots{color:var(--green);font-weight:800;background:#eaf5ed;border-radius:20px;padding:.4rem .7rem}.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem}.player-chip{position:relative;border:1px solid #dfe7dc;border-radius:15px;display:flex;align-items:center;gap:.75rem;padding:.8rem .9rem;min-width:0;min-height:76px;background:#fbfdf9;transition:transform .16s,border-color .16s,box-shadow .16s}.player-chip:hover{transform:translateY(-2px);border-color:#b8cbbb;box-shadow:0 8px 20px #0d442914}.player-chip.monthly{overflow:hidden;border-color:#a6d66f;background:linear-gradient(135deg,#fbfff5,#effbe4);box-shadow:inset 0 0 0 1px #aeed3a2e,0 8px 24px #3771261a}.player-chip.monthly:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--bright),#67b943)}.player-chip.monthly:hover{border-color:#82bd4f;box-shadow:inset 0 0 0 1px #aeed3a3d,0 12px 28px #37712629}.player-position{position:absolute;top:5px;right:8px;color:#9da9a1;font-size:.68rem;font-weight:700}.player-chip .avatar{width:46px;height:46px}.player-chip.monthly .avatar{color:#173f26;background:#dff2c7;box-shadow:0 0 0 3px #aeed3a38}.player-identity{display:grid;gap:.15rem;min-width:0;flex:1}.player-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.player-identity small{color:#2c7546;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-flags{display:grid;justify-items:end;gap:.3rem;padding-right:.35rem}.monthly-badge{color:#174f2b;background:var(--bright);border:1px solid rgba(38,91,45,.15);border-radius:999px;padding:.28rem .52rem;display:inline-flex;align-items:center;gap:.28rem;font-size:.66rem;font-weight:900;letter-spacing:.025em;white-space:nowrap;box-shadow:0 3px 10px #578e1c29}.player-chip em{color:#24683d;background:#e6f5e9;border-radius:20px;padding:.25rem .45rem;font-size:.68rem;font-style:normal;font-weight:800}.skill-intro{display:flex;align-items:center;gap:1rem;color:#fff;border:0;background:linear-gradient(135deg,#123f28,var(--green))}.skill-intro-icon{width:54px;height:54px;flex:0 0 auto;display:grid;place-items:center;color:var(--bright);background:#ffffff17;border:1px solid rgba(255,255,255,.14);border-radius:16px}.skill-intro h2{margin:0 0 .25rem}.skill-intro p{margin:0;color:#ffffffc2;line-height:1.5}.rating-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1rem}.rating-card{border:1px solid var(--line);border-radius:18px;padding:1rem;background:#fff;box-shadow:0 10px 28px #0b301d0d}.rating-card.self{border-color:#b5d68f;box-shadow:inset 0 0 0 1px #aeed3a29,0 10px 28px #0b301d12}.rating-player{display:flex;align-items:center;gap:.75rem;min-width:0}.rating-player>div:nth-child(2){display:grid;min-width:0;flex:1}.rating-player>div:nth-child(2) strong,.rating-player>div:nth-child(2) small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rating-player>div:nth-child(2) small{color:var(--muted)}.rating-tags{display:flex;align-items:flex-end;flex-direction:column;gap:.3rem}.self-badge{color:#24683d;background:#e6f5e9;border-radius:999px;padding:.27rem .5rem;font-size:.66rem;font-weight:900;text-transform:uppercase}.rating-score{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:1rem 0 .75rem;padding:.75rem .85rem;border-radius:13px;color:#254b31;background:#f3f8f1}.rating-score>div{display:flex;align-items:baseline;gap:.25rem;color:#5c9d28}.rating-score strong{color:var(--ink);font-size:1.6rem;line-height:1}.rating-score span,.rating-score small{color:var(--muted)}.rating-score small{text-align:right}.vote-label{margin:0 0 .55rem;color:#345343;font-size:.78rem;font-weight:800}.level-options{display:grid;grid-template-columns:repeat(5,minmax(52px,1fr));gap:.4rem}.level-options button{min-width:0;min-height:66px;padding:.45rem .2rem;display:grid;place-items:center;align-content:center;gap:.08rem;color:#6e7c73;border:1px solid #dfe6df;border-radius:11px;background:#fbfcfa;cursor:pointer;transition:transform .15s,color .15s,border-color .15s,background .15s}.level-options button:hover:not(:disabled){transform:translateY(-2px);color:var(--green);border-color:#9fc4a8}.level-options button.selected{color:#173f26;border-color:#8abb54;background:linear-gradient(180deg,#edfadf,#dcf2c4);box-shadow:inset 0 0 0 1px #aeed3a47}.level-options button:disabled{opacity:.58;cursor:wait}.level-options button strong{font-size:.9rem}.level-options button small{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:.57rem}.charge-list{display:grid;gap:.75rem}.charge-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem;display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center}.charge-icon{width:46px;height:46px;border-radius:13px;background:#edf5ef;color:var(--green);display:grid;place-items:center}.charge-main h3{margin:.35rem 0 .25rem;font-size:1rem}.charge-main p{margin:.15rem 0;color:var(--muted);font-size:.85rem}.charge-main>div{display:flex;gap:.45rem;align-items:center}.charge-value{font-size:1.2rem;white-space:nowrap}.charge-actions{grid-column:2 / 4;display:flex;flex-wrap:wrap;gap:.5rem}.status{display:inline-flex;align-items:center;width:max-content;border-radius:6px;padding:.26rem .48rem;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#605b2b;background:#f8f1cf}.status.paid,.status.open,.status.running{color:#1c6336;background:#e5f5e8}.status.overdue,.status.cancelled,.status.finished{color:#9d312c;background:#fae9e8}.status.processing,.status.in_progress,.status.paused{color:#72551b;background:#fff3d3}.status.ready,.status.scheduled{color:#245b79;background:#e8f3f9}.danger-text{color:var(--danger)}.notification-list{display:grid;border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}.notification-list article{display:grid;grid-template-columns:auto 1fr;gap:.85rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line)}.notification-list article:last-child{border:0}.notification-list article.unread{background:#f7fbf6}.notification-list p{margin:.25rem 0;color:var(--muted)}.notification-dot{width:9px;height:9px;margin-top:.4rem;border-radius:50%;background:#bdc7c0}.unread .notification-dot{background:var(--bright);box-shadow:0 0 0 4px #edfad3}.history-list{display:grid;gap:.7rem}.history-list details summary,.compact-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:1rem}.history-list details summary::-webkit-details-marker,.compact-details summary::-webkit-details-marker{display:none}.history-list summary>div:nth-child(2){display:grid;flex:1}.history-list details[open] summary svg{transform:rotate(90deg)}.date-badge{padding:.45rem .6rem;background:#edf2ed;color:var(--green);border-radius:9px;font-weight:800}.history-content{border-top:1px solid var(--line);margin-top:1rem;padding-top:.6rem}.score-row{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;padding:.6rem 0}.score-row small{text-align:right}.form-grid{display:grid;gap:1rem}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid .full,.form-grid .notice{grid-column:1 / -1}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.stat{border:1px solid var(--line);background:#fff;padding:1.1rem;border-radius:15px;display:grid;gap:.25rem}.stat span{color:var(--muted);font-size:.82rem}.stat strong{font-size:1.5rem}.stat.green strong{color:#287344}.stat.red strong{color:var(--danger)}.two-columns{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.list-row{display:flex;align-items:center;gap:.7rem;min-height:56px;border-bottom:1px solid #edf0ed}.list-row:last-child{border:0}.list-row>div:nth-child(2):not(.avatar){display:grid;flex:1}.list-row>.status{margin-left:auto}.attention-list p{padding:.55rem 0;margin:0;border-bottom:1px solid var(--line)}.attention-list span{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.5rem}.red-dot{background:var(--danger)}.yellow-dot{background:var(--yellow)}.green-dot{background:#3f9c5a}.compact-details summary{font-weight:800;color:var(--green)}.compact-details[open] summary{margin-bottom:1rem}.inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:.7rem}.inline-form label{min-width:160px;flex:1}.inline-form input,.inline-form select{flex:1;min-width:150px}.button-row{display:flex;flex-wrap:wrap;gap:.55rem}.admin-game-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-game-head h2{margin:.45rem 0 .2rem}.admin-game-head p{margin:0;color:var(--muted)}.participant-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));column-gap:1.2rem;margin-bottom:1rem}.participant-admin .list-row>div:nth-child(3){display:grid;flex:1}.order{color:#87948c;font-weight:700;width:20px}.attendance-card{border-top:4px solid var(--bright)}.attendance-confirmed{display:inline-flex;align-items:center;gap:.4rem;padding:.48rem .7rem;color:#175a31;background:#e4f5e8;border:1px solid #c5e5cc;border-radius:999px;font-size:.76rem;font-weight:900;white-space:nowrap}.attendance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.65rem}.attendance-player{min-width:0;min-height:104px;padding:.75rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center;border:1px solid var(--line);border-radius:15px;background:#fbfcfa;transition:border-color .15s,background .15s,box-shadow .15s}.attendance-player.present{border-color:#a9d7b4;background:#f2faf3;box-shadow:inset 4px 0 #45a55e}.attendance-player.absent{border-color:#ebc6c2;background:#fff7f6;box-shadow:inset 4px 0 var(--danger)}.attendance-name{display:grid;min-width:0}.attendance-name strong,.attendance-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-name small{color:var(--muted)}.monthly-mini{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .48rem;color:#20562f;background:#e7f8d8;border-radius:999px;font-size:.65rem;font-weight:900}.attendance-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.attendance-actions .action-wrap{width:100%}.attendance-choice{width:100%;min-height:36px;display:inline-flex;justify-content:center;align-items:center;gap:.35rem;border:1px solid #d8dfda;border-radius:10px;color:#5d6a62;background:#fff;font-size:.75rem;font-weight:800;cursor:pointer}.attendance-choice.present.active{color:#1c6938;border-color:#83c592;background:#e3f5e7}.attendance-choice.absent.active{color:#9c302c;border-color:#e1aaa5;background:#fbe8e6}.attendance-state{padding:.34rem .5rem;border-radius:999px;color:#737f77;background:#edf0ed;font-size:.67rem;font-weight:900;white-space:nowrap}.attendance-state.present{color:#1c6938;background:#e3f5e7}.attendance-state.absent{color:#9c302c;background:#fbe8e6}.attendance-footer{margin-top:1rem;padding-top:1rem;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.6rem;border-top:1px solid var(--line)}.match-control{background:var(--ink);color:#fff;border-radius:22px;overflow:hidden;box-shadow:0 18px 50px #07130d33}.match-control.time-up{box-shadow:0 0 0 4px var(--danger),0 18px 50px #be3b3540}.match-top{min-height:52px;border-bottom:1px solid #233029;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.match-top>span{color:#84948a;font-size:.72rem;font-weight:800;letter-spacing:.12em}.match-top>b{color:var(--bright)}.scoreboard{display:grid;grid-template-columns:1fr minmax(150px,.7fr) 1fr;min-height:360px}.team-panel{padding:1.4rem;text-align:center}.team-panel.blue{background:linear-gradient(145deg,#123b5d,#0a263c)}.team-panel.yellow{background:linear-gradient(145deg,#b98d18,#765b10)}.team-panel>p{font-weight:800;text-transform:uppercase;letter-spacing:.08em}.big-score{font-size:clamp(4.5rem,10vw,8rem);line-height:1}.goal-buttons{display:flex;justify-content:center;margin:.8rem 0}.goal{min-height:43px;padding:.6rem 1rem;border:0;background:#fff;border-radius:10px 0 0 10px;font-weight:800;display:flex;align-items:center;gap:.3rem;cursor:pointer}.undo-goal{width:42px;border:0;border-left:1px solid #dce2dd;border-radius:0 10px 10px 0;background:#edf0ed;cursor:pointer;font-size:1.2rem}.team-panel ul{list-style:none;padding:0;display:grid;gap:.3rem;margin:.8rem 0 0;color:#fffc}.timer{background:#0b1811;display:grid;align-content:center;justify-items:center;padding:1rem}.timer small{color:var(--bright);font-weight:800;letter-spacing:.1em}.timer strong{font-size:clamp(2.6rem,7vw,5rem);font-variant-numeric:tabular-nums}.timer span{color:#718077}.match-buttons{padding:1rem;display:flex;justify-content:center;flex-wrap:wrap;gap:.55rem;border-top:1px solid #243129}.match-viewer-note{padding:.85rem 1rem;display:flex;justify-content:center;align-items:center;gap:.5rem;color:#aab8af;border-top:1px solid #243129;background:#0c1911;font-size:.8rem}.queue-preview{padding:1rem;background:#101e16}.queue-preview h3{font-size:.9rem;color:#839187}.queue-preview>div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #243129;padding:.55rem 0}.queue-preview span{color:#9eaaa2;text-align:right}.queue-preview>div>span{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.viewer-player{color:#d8e0db!important;font-size:.78rem;padding:.28rem .48rem;border-radius:999px;background:#1c2c22}.player-move{display:inline-flex;grid-template-columns:auto auto;align-items:center;gap:.3rem;color:#d8e0db;font-size:.78rem}.player-move select{min-height:30px;padding:.2rem;width:100px;color:#26372d}.queue-up{color:var(--bright)}.team-panel li{min-width:0;display:flex;align-items:center;justify-content:center;gap:.35rem}.team-panel li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-monthly{flex:0 0 auto;color:var(--bright)}.viewer-player{display:inline-flex;align-items:center;gap:.3rem}.viewer-player.monthly{color:#ddf8b2!important;border:1px solid #47642f;background:#22391e}.viewer-player.absent{color:#f4c2bd!important;border:1px solid #683932;background:#301c1a}.queue-empty{margin:.6rem 0 .2rem;color:#8d9a91;font-size:.82rem}.absent-queue>strong{color:#e19b93}.cycle-list{display:grid;gap:.8rem}.cycle-form label{min-width:170px}.choice-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:.5rem 1rem}.choice-table>div{display:flex;align-items:center;justify-content:space-between;gap:.7rem;border-top:1px solid var(--line);padding:.55rem 0}.choice-table select{min-height:38px;padding:.45rem}.user-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.create-user-card>.muted{margin:-.35rem 0 1rem}.admin-create-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.8rem}.admin-create-form button{min-height:46px}.create-user-card .notice{margin-top:1rem}.user-directory-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 200px auto;gap:.7rem;align-items:center}.user-directory-toolbar>span{color:var(--muted);font-size:.78rem;text-align:right}.user-search{min-height:46px;padding:0 .8rem;display:flex;align-items:center;gap:.55rem;color:#738078;border:1px solid var(--line);border-radius:12px;background:#fff}.user-search input{min-width:0;width:100%;padding:0;border:0;box-shadow:none;background:transparent}.admin-user-list{display:grid;gap:.65rem}.admin-user-card{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,1fr) auto auto auto;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 7px 22px #0b301d0a}.admin-user-card:has(.user-manage[open]){z-index:4}.admin-user-card.pending{border-color:#e6d79d;background:linear-gradient(90deg,#fffdf4,#fff 45%)}.admin-user-main{min-width:0;display:flex;align-items:center;gap:.8rem}.admin-user-main .avatar{width:44px;height:44px}.admin-user-identity{min-width:0;display:grid;gap:.12rem}.admin-user-identity strong,.admin-user-identity span,.admin-user-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-identity span{color:#526159;font-size:.78rem}.admin-user-identity small{display:flex;align-items:center;gap:.3rem;color:#809087}.admin-user-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.account-status,.role-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.34rem .52rem;border-radius:999px;font-size:.66rem;font-weight:900;white-space:nowrap}.account-status.active{color:#1b6636;background:#e5f5e8}.account-status.pending{color:#755b1e;background:#fff3ca}.account-status.blocked{color:#9d312c;background:#fae9e8}.role-badge{color:#27566c;background:#e8f3f8}.monthly-quick{min-height:38px;padding:.55rem .7rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;color:#536259;border:1px solid #dbe3da;border-radius:10px;background:#f8faf7;font-weight:800;cursor:pointer;white-space:nowrap}.monthly-quick.active{color:#174d2b;border-color:#b9dc95;background:#e8f7d8}.monthly-quick:disabled{opacity:.48;cursor:not-allowed}.user-manage{position:relative}.user-manage>summary{min-height:38px;padding:.5rem .65rem;display:inline-flex;align-items:center;gap:.3rem;color:var(--green);border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.75rem;font-weight:800;cursor:pointer;list-style:none}.user-manage>summary::-webkit-details-marker{display:none}.user-manage-panel{position:absolute;top:calc(100% + .55rem);right:0;z-index:10;width:290px;padding:.8rem;display:grid;gap:.55rem;border:1px solid #d6ddd6;border-radius:14px;background:#fff;box-shadow:0 18px 45px #07130d2e}.user-manage-panel .action-wrap,.user-manage-panel .button{width:100%}.button.controller-toggle{color:#31566d;border-color:#c6d8e1;background:#f4f9fb}.button.controller-toggle.active{color:#fff;border-color:#176b87;background:#176b87}.user-manage-panel .delete-user{margin-top:.25rem}.backdrop{display:none}@media (max-width: 1020px){.auth-page{grid-template-columns:1fr}.auth-brand{min-height:38vh;padding:2.2rem}.auth-brand h1{font-size:3.5rem}.brand-mark{margin-bottom:2rem}.auth-card{padding:2.2rem}.sidebar{transform:translate(-100%);transition:transform .25s}.sidebar.open{transform:translate(0)}.close-menu{display:grid}.backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;border:0;background:#07130d8c}.content{margin:0;padding:5.5rem 1.2rem 6rem}.mobile-header{position:fixed;inset:0 0 auto;height:62px;background:#f4f6f2f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:15;display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;border-bottom:1px solid var(--line)}.mobile-brand{max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:14;bottom:0;left:0;right:0;height:66px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line)}.bottom-nav a{text-decoration:none;color:#7d8881;display:grid;place-items:center;align-content:center;gap:.2rem;font-size:.67rem}.bottom-nav a.active{color:var(--green)}.bottom-nav small{color:inherit}.hero-grid{grid-template-columns:1fr}.status-card{display:grid;grid-template-columns:1fr 1fr 1fr}.status-card>.eyebrow{grid-column:1 / -1}.status-card>div{display:grid;justify-items:start;border-bottom:0;border-right:1px solid var(--line)}.status-card>div:last-child{border-right:0}.two-columns{grid-template-columns:1fr}.stats-grid,.user-summary,.admin-create-form{grid-template-columns:1fr 1fr}.admin-user-card{grid-template-columns:minmax(260px,1fr) auto auto}.admin-user-badges{grid-column:1 / 2;justify-content:flex-start;padding-left:52px}.monthly-quick{grid-column:2;grid-row:1}.user-manage{grid-column:3;grid-row:1}}@media (max-width: 700px){h1{font-size:1.9rem}.page-title{align-items:end}.page-title select{min-width:0;max-width:48%}.live-match-strip{grid-template-columns:auto 1fr auto auto;gap:.55rem;border-radius:12px}.live-match-strip>strong{display:none}.live-match-strip b{justify-self:end}.live-match-strip time{min-width:48px}.auth-brand{min-height:34vh}.auth-brand h1{font-size:2.8rem}.auth-brand>p:not(.eyebrow),.pitch-lines{display:none}.brand-mark{width:58px;height:58px;margin-bottom:1.1rem}.auth-card{padding:1.6rem;border-radius:24px 24px 0 0;margin-top:-24px;z-index:1}.game-hero{grid-template-columns:auto 1fr;min-height:0}.capacity{align-items:end;grid-column:1;grid-row:2}.capacity strong{font-size:1.8rem}.hero-action{grid-column:2;grid-row:2;align-self:end}.hero-action .action-wrap,.hero-action .button{width:100%}.game-info h2{font-size:1.2rem}.status-card{grid-template-columns:1fr}.status-card>div{display:flex;justify-items:initial;border-right:0;border-bottom:1px solid var(--line)}.monthly-choice{align-items:stretch;flex-direction:column;gap:1rem}.choice-buttons{justify-content:stretch}.choice-buttons .action-wrap,.choice-buttons .button{width:100%}.player-grid{grid-template-columns:1fr}.player-chip{font-size:.9rem;min-height:72px}.player-chip small{display:block}.skill-intro{align-items:flex-start}.skill-intro-icon{width:46px;height:46px}.rating-grid{grid-template-columns:1fr}.rating-card{padding:.85rem}.rating-player{align-items:flex-start}.rating-tags{position:absolute;right:1rem}.rating-card{position:relative}.rating-player>div:nth-child(2){padding-right:72px}.rating-player .monthly-badge{display:none}.rating-score{align-items:flex-start}.level-options{gap:.28rem}.level-options button{min-height:60px}.level-options button small{display:none}.charge-card{grid-template-columns:auto 1fr}.charge-value{grid-column:2}.charge-actions{grid-column:1 / -1}.charge-actions .action-wrap,.charge-actions .button{flex:1}.score-row{grid-template-columns:1fr auto}.score-row small{grid-column:1 / -1;text-align:left}.form-grid.two{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.stats-grid{gap:.55rem}.stat{padding:.85rem}.stat strong{font-size:1.1rem}.admin-game-head{align-items:stretch;flex-direction:column}.admin-game-head .button-row .action-wrap{flex:1}.admin-game-head .button-row .button{width:100%}.participant-admin{grid-template-columns:1fr}.inline-form{display:grid;grid-template-columns:1fr}.inline-form>*{width:100%}.inline-form label{min-width:0}.admin-create-form,.user-directory-toolbar{grid-template-columns:1fr}.user-directory-toolbar>span{text-align:left}.admin-user-card{grid-template-columns:1fr 1fr;gap:.75rem}.admin-user-main{grid-column:1 / -1}.admin-user-badges{grid-column:1 / -1;padding-left:0;justify-content:flex-start}.monthly-quick{grid-column:1;grid-row:auto;width:100%}.user-manage{position:static;grid-column:2;grid-row:auto}.user-manage>summary{width:100%;justify-content:center}.user-manage-panel{position:static;grid-column:1 / -1;width:auto;margin-top:.6rem;box-shadow:none}.user-manage[open]{grid-column:1 / -1}.user-manage[open]>summary{width:100%}.attendance-grid{grid-template-columns:1fr}.attendance-card .section-head{align-items:flex-start;flex-direction:column}.attendance-footer{display:grid;grid-template-columns:1fr}.attendance-footer .action-wrap,.attendance-footer .button{width:100%}.scoreboard{grid-template-columns:1fr 1fr}.timer{grid-column:1 / -1;grid-row:1;min-height:150px}.team-panel{padding:1rem .6rem}.big-score{font-size:4.5rem}.match-top{flex-wrap:wrap}.match-top>b{width:100%}.match-buttons .action-wrap{flex:1}.match-buttons .button{width:100%;min-width:120px}.queue-preview>div{display:grid}.queue-preview span{text-align:left}.choice-table{grid-template-columns:1fr}.cycle-list .section-head{align-items:stretch;flex-direction:column}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
