:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#eaf0f7;background:#090f1b;font-synthesis:none;--muted:#8b9bb2;--lime:#bef573;--border:#243045;--card:#111b2b}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{border:1px solid transparent;border-radius:9px;background:var(--lime);color:#162317;font-weight:650;padding:12px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;min-height:44px;transition:background .15s,transform .15s}button:hover{filter:brightness(1.08)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bef573;outline-offset:3px}a{color:inherit;text-decoration:none}p{color:var(--muted);line-height:1.65;font-size:14px}small{font-size:12px;color:var(--muted);font-weight:400}h1,h2,h3{letter-spacing:-.035em}h1{font-size:36px;line-height:1.15;margin:12px 0 16px}h2{font-size:19px;margin:9px 0 16px}header{display:flex;align-items:center;justify-content:space-between;gap:12px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#bac8da}input,select,textarea{width:100%;background:#0b1422;color:#e9eff8;border:1px solid #344158;border-radius:8px;padding:12px;min-height:44px;color-scheme:dark}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--lime)}textarea{min-height:150px;resize:vertical}form{display:grid;gap:18px}form footer{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}pre{overflow:auto;max-height:420px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}details{border-bottom:1px solid var(--border);padding:14px 0}summary{cursor:pointer;font-size:14px;min-height:32px}em{font-style:normal}.app{display:flex;min-height:100vh}aside{width:242px;flex-shrink:0;border-right:1px solid #1c2739;padding:33px 21px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:#0c1422}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:750;letter-spacing:-1px}.brand img{width:44px;height:44px}.brand small{display:block;letter-spacing:2px;font-size:8px;margin-top:6px}.nav-caption{font-size:10px;letter-spacing:2px;color:#5f7089;margin:44px 12px 16px}aside nav{display:grid;gap:7px}aside nav button{background:transparent;justify-content:flex-start;color:#99a9bf;border-radius:9px;font-size:13px;padding:13px 15px}aside nav button.active{background:#bedf7414;color:var(--lime)}aside nav i{height:6px;width:6px;border-radius:50%;background:var(--lime);margin-left:auto}.sidebar-bottom{margin-top:auto;padding:30px 13px 3px}.sidebar-bottom p{font-size:16px;line-height:1.7}.sidebar-bottom b{color:#d7e1ec}.mini-ball{font-size:24px}main{width:calc(100% - 242px);margin-left:242px}.topbar{height:87px;border-bottom:1px solid #1c2739;display:flex;align-items:center;justify-content:space-between;padding:0 42px}.top-actions{display:flex;align-items:center;gap:16px}.top-actions select{width:auto;max-width:210px;background:transparent;font-size:12px;padding:9px 13px;border-color:#2b3647}.connection{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:8px}.connection i{height:6px;width:6px;background:#c49c54;border-radius:50%}.connection.connected i{background:var(--lime);box-shadow:0 0 8px #b5f57555}.connection.connected{color:#a9c692}.content{max-width:1380px;margin:auto;padding:32px 42px 60px}.hero{padding:40px;min-height:325px;background:radial-gradient(ellipse at 75% 100%,#31574655,transparent 70%),linear-gradient(115deg,#17263c,#182a37 80%);border:1px solid #314438;border-radius:17px;display:flex;justify-content:space-between;position:relative;overflow:hidden}.hero h1{font-size:clamp(32px,3.2vw,49px);letter-spacing:-2px;line-height:1.13;margin:19px 0 15px}.hero h1 em{color:var(--lime)}.hero p{font-size:13px;margin-bottom:26px;color:#a9bbc9}.hero button{font-size:12px;padding:12px 16px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:#9cb77d}.pitch{position:relative;transform:rotate(-14deg);width:245px;height:290px;border:1px solid #80a79055;border-radius:120px 120px 25px 25px;margin:-6px 30px -45px 0;background:repeating-linear-gradient(0deg,#4c74531c 0 34px,transparent 34px 68px);display:flex;align-items:center;justify-content:center;flex-direction:column;flex-shrink:0}.pitch span{font-size:88px;font-weight:900;font-style:italic;letter-spacing:-9px;color:#bfef8777;z-index:1}.pitch small{font-size:7px;letter-spacing:3px;color:#a0c68e}.pitch-center{position:absolute;top:90px;width:95px;height:95px;border:1px solid #88ab7444;border-radius:50%}.pitch-line{position:absolute;top:140px;left:0;right:0;border-top:1px solid #88ab7444}.pitch-box{position:absolute;bottom:0;width:120px;height:52px;border:1px solid #88ab7444}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:14px;margin:22px 0}.stat{padding:17px 19px;border-radius:12px;border:1px solid var(--border);background:#111b29}.stat span{font-size:11px;display:block;color:#93a4ba;margin-bottom:12px}.stat strong{font-size:25px;letter-spacing:-1px;font-weight:650}.overview{margin:24px 0 31px;grid-template-columns:repeat(4,1fr)}.overview .stat{position:relative;padding:19px 22px}.overview .stat:after{content:"";position:absolute;right:20px;top:24px;width:7px;height:7px;border:1px solid #6e865a;border-radius:2px}.overview .stat strong{font-size:31px}.two-col{display:grid;grid-template-columns:1.12fr 1fr;gap:22px;align-items:start}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:25px;margin-bottom:22px;min-width:0}.card header{margin-bottom:12px}.card header h2{margin-bottom:8px}.card .eyebrow{color:#7186a2}.secondary{background:transparent;border-color:#3a485d;color:#ccd8e5;font-size:12px}.text-button{background:transparent;color:var(--lime);font-size:12px;padding:7px 0;min-height:36px;justify-content:flex-start}.icon{padding:8px;min-width:36px;min-height:36px;background:transparent;color:#9fadc1}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;text-align:center;padding:20px;color:#61748d}.empty p{max-width:290px;font-size:13px}.rank-list{margin:0 -6px}.rank-row{width:100%;border-bottom:1px solid #243046;border-radius:0;background:transparent;color:inherit;padding:16px 4px;gap:13px;text-align:left;justify-content:flex-start}.rank-row:last-child{border-bottom:0}.rank-number{width:23px;display:flex;align-items:center;flex-direction:column;flex-shrink:0;color:#8392a6;font-size:12px}.rank-number small{font-size:8px}.place-1{color:#eac16b}.place-2{color:#bdc9d7}.place-3{color:#b89476}.avatar{position:relative;display:inline-flex;width:38px;height:38px;border-radius:50%;align-items:center;justify-content:center;background:linear-gradient(135deg,#30423e,#21314d);color:#c4d3c6;flex-shrink:0;font-size:12px;overflow:hidden;border:1px solid #485642}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.large{width:88px;height:88px;font-size:28px}.rank-person{flex:1;min-width:0}.rank-person b{font-size:13px;display:block}.rank-person small{display:block;margin-top:5px;font-size:10px}.rank-value{text-align:right;color:var(--lime);font-size:18px}.rank-value small{display:block;font-size:9px;color:#73859d;margin-top:3px}.match-link{display:flex;width:100%;background:transparent;color:inherit;text-align:left;justify-content:flex-start;border-bottom:1px solid #27334a;border-radius:0;padding:18px 0;gap:15px}.match-link>span:nth-child(2){flex:1}.match-link b{font-size:12px}.match-link small{display:block;font-size:10px;margin-top:5px}.date-tile{background:#1d2b40;border:1px solid #344259;border-radius:9px;padding:10px 13px;text-align:center;min-width:50px}.date-tile b{font-size:19px}.date-tile small{text-transform:uppercase;font-size:8px}.note{display:flex;align-items:center;gap:12px;background:#becb7310;border:1px solid #c8d57818;border-radius:10px;padding:12px 15px;margin-top:28px;color:#aabe88}.note p{margin:0;font-size:11px;color:#a2b28f}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:6px 0 26px}.page-heading p{margin-bottom:0}.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:10px;margin-bottom:16px}.tabs button{background:#151f30;color:#96a7bc;white-space:nowrap;font-size:12px;min-width:95px}.tabs button.selected{color:#111d17;background:var(--lime)}.filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:20px 0}.filters label{flex:1;min-width:135px}.filters label:first-child{flex:2}.filters input,.filters select{font-size:12px}.badge{font-size:10px;text-transform:uppercase;letter-spacing:1px;border:1px solid #495b39;color:#b4d788;padding:6px 9px;border-radius:6px;display:inline-block}.badge.pending{color:#edcb82;border-color:#625b36}.badge.rejected{color:#ee9e9e;border-color:#69444a}.line{border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:15px 0;font-size:13px}.line:last-child{border-bottom:0}.line>span:first-child:not(.avatar){flex:1;min-width:0}.line small{display:block;overflow-wrap:anywhere;margin-top:5px;font-size:11px}.line b{font-weight:600}.line .avatar+span{flex:1}.actions{display:flex;gap:10px;flex-wrap:wrap}.banner,.error,.success{padding:15px 18px;border:1px solid #77663a;border-radius:9px;font-size:13px;background:#403a231f;color:#d9c78f;margin-bottom:20px;line-height:1.65}.error{background:#522a2b40;border-color:#7a4147;color:#efadb3;display:flex;justify-content:space-between}.success{border-color:#415c3b;color:#b3d69e;display:flex;justify-content:space-between}.loading{font-size:11px;color:var(--muted);text-align:right;margin-bottom:8px}.fixture{display:block;position:relative;text-align:left;width:100%;color:inherit}.fixture strong{font-size:32px;display:block;letter-spacing:8px;margin:20px 0}.fixture em{color:#62718b}.fixture>svg{position:absolute;bottom:30px;right:25px}.profile-hero{display:flex;align-items:center;gap:25px}.profile-place{margin-left:auto;font-size:48px;color:var(--lime)}.profile-place small{display:block;font-size:10px;text-align:center}.link-row{width:100%;background:transparent;color:inherit;justify-content:space-between;text-align:left}.evolution{display:flex;align-items:flex-end;gap:12px;overflow:auto;padding:20px 0}.evolution div{display:flex;flex-direction:column;align-items:center;min-width:38px;gap:8px;font-size:12px}.evolution span{display:block;width:15px;background:linear-gradient(var(--lime),#566e38);border-radius:4px}.evolution small{font-size:8px}.match-hero{text-align:center;background:radial-gradient(ellipse at center,#28423a66,#111b2b)}.score{display:flex;justify-content:center;align-items:center;gap:30px;margin:25px 0}.score strong{font-size:48px}.score span{color:#94a7ba;font-size:13px}.score em{color:#506577;margin:0 15px}.scroll{overflow-x:auto;margin-bottom:20px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:15px 12px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}th{color:#869bb5;font-size:10px}th:first-child,td:first-child{text-align:left}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.admin-card{text-align:left;display:block;color:inherit;position:relative;min-height:185px;margin:0}.admin-card>svg:first-child{color:var(--lime);margin-bottom:15px}.admin-card>svg:last-child{position:absolute;right:18px;top:25px;color:#6f8198}.admin-card p{font-size:12px}.auth{max-width:450px;margin:55px auto;padding:36px}.auth>svg{color:var(--lime)}.auth h1{font-size:29px}.auth form{margin-top:25px}.auth small{display:block;margin-top:15px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020711ca;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:30;display:flex;align-items:center;justify-content:center;padding:20px}.dialog{background:#131e30;border:1px solid #34475a;border-radius:15px;padding:26px;max-width:540px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 25px 100px #0008}.dialog header{margin-bottom:20px}.dialog h2{margin:0}.dialog label small{line-height:1.5}.negative{color:#e99999}.positive{color:var(--lime)}.check{flex-direction:row;align-items:center;margin:24px 0}.muted{color:var(--muted)}.app-footer{display:flex;justify-content:space-between;border-top:1px solid #1d2a3c;padding:24px 42px;color:#52647e;font-size:10px}.mobile-nav{display:none}@media(min-width:1600px){.content{padding-top:50px}.hero{min-height:370px;padding:48px}.pitch{margin-right:70px}}@media(max-width:1100px){aside{width:205px;padding:30px 13px}main{width:calc(100% - 205px);margin-left:205px}.content{padding:25px}.topbar{padding:0 25px}.two-col{grid-template-columns:1fr 1fr}.hero{padding:30px}.pitch{width:180px;margin-right:-25px;opacity:.65}.hero h1{font-size:36px}.admin-grid{grid-template-columns:1fr 1fr}.card{padding:20px}.line{flex-wrap:wrap}.top-actions{gap:8px}}@media(max-width:760px){aside{display:none}main{width:100%;margin-left:0}.topbar{height:70px;padding:0 19px}.connection{font-size:9px;max-width:125px}.top-actions select{max-width:145px;font-size:10px}.top-actions button{padding:9px 11px}.content{padding:20px 17px 45px}.hero{min-height:320px;padding:29px 24px}.hero h1{font-size:34px;letter-spacing:-1.4px;position:relative;z-index:2}.hero>div:first-child{z-index:2}.pitch{position:absolute;right:-85px;top:50px;opacity:.3;width:225px}.hero p{font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.7px}.overview{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 24px}.overview .stat{padding:17px}.overview .stat strong{font-size:27px}.stat span{font-size:10px}.two-col{grid-template-columns:1fr;gap:0}.card{border-radius:12px;padding:20px;margin-bottom:18px}.card header{flex-wrap:wrap}.rank-row{padding:15px 2px}.rank-person b{font-size:13px}h1{font-size:29px}.page-heading{align-items:flex-start;gap:10px;flex-wrap:wrap}.page-heading p{font-size:12px}.page-heading>button{font-size:11px}.filters{gap:10px}.filters label{min-width:120px;font-size:11px}.filters label:first-child{min-width:100%}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.profile-hero{gap:15px;flex-wrap:wrap}.profile-hero h1{font-size:27px}.profile-hero p{font-size:11px}.avatar.large{width:67px;height:67px}.profile-place{font-size:30px}.profile-place small{font-size:9px}.admin-grid{grid-template-columns:1fr 1fr;gap:11px}.admin-card{min-height:185px;padding:18px 14px}.admin-card h2{font-size:16px}.admin-card p{font-size:11px}.line{gap:9px;font-size:12px}.line button.secondary{font-size:10px;padding:8px 11px}.score{gap:16px}.score strong{font-size:39px}.auth{padding:24px;margin:25px auto}.overlay{padding:12px}.dialog{max-height:92vh;padding:22px}.app-footer{padding:20px 18px 98px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#0c1625f5;border-top:1px solid #2b3a50;z-index:20;padding:8px 15px max(8px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-around}.mobile-nav button{display:flex;flex-direction:column;gap:5px;background:transparent;color:#7589a3;font-size:10px;padding:5px 20px}.mobile-nav small{font-size:9px;color:inherit}.mobile-nav .active{color:var(--lime)}.banner,.error,.success{font-size:12px}.tabs{margin-right:-17px;padding-right:17px}.app-footer span{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.personal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px}.attendance-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px 0}.attendance-check{display:flex;flex-direction:row;align-items:center;min-height:46px;padding:8px;border:1px solid var(--border);border-radius:8px}.fixture strong small{letter-spacing:0;font-size:14px}.dues-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:20px}.due-card{padding:20px;border:1px solid #44526a;border-left:5px solid #e6bc56;border-radius:16px;background:#101c2c}.due-card.paid{border-left-color:#bdf56a;background:#13251f}.due-card.late{border-left-color:#ff7d89;background:#2a1923}.due-card>strong{font-size:1.6rem}.payment-status{font-size:.75rem;font-weight:800;white-space:nowrap}.paid .payment-status{color:#bdf56a}.late .payment-status{color:#ff9aa2}.pending .payment-status{color:#ffe099}.player-with-photo{display:inline-flex;gap:10px;align-items:center}.danger-button{background:transparent;color:#ff9aa2;border:1px solid #995568;margin:12px 0}.attendance-check .avatar{width:36px;height:36px;min-width:36px}.photo-picker input{display:block;margin-top:12px}.hero{display:grid;grid-template-columns:1fr 1.3fr;gap:24px}.group-portrait{margin:0;overflow:hidden;border-radius:24px;position:relative;align-self:center}.group-portrait img{display:block;width:100%;animation:group-entrance 1s ease-out both}.group-portrait figcaption{position:absolute;bottom:0;left:0;right:0;padding:24px 16px 14px;background:linear-gradient(transparent,#0b1220);font-weight:700}@keyframes group-entrance{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@media(max-width:800px){.hero{grid-template-columns:1fr}.group-portrait{width:100%}}@media(prefers-reduced-motion:reduce){.group-portrait img{animation:none}}
