*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f6f8;color:#17191d}button,input{font:inherit}button{cursor:pointer;border:0}.app{max-width:1120px;margin:auto;padding:24px 28px 60px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.brand{display:flex;gap:12px;align-items:center}.logo{width:42px;height:42px;border-radius:12px;background:#17191d;color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px}.brand h1{font-size:18px;margin:0}.brand span{font-size:12px;color:#777}.reset{background:transparent;color:#777;display:flex;gap:6px;align-items:center}nav{display:flex;gap:4px;border-bottom:1px solid #ddd;padding-bottom:8px;margin-bottom:28px}nav button{padding:10px 14px;border-radius:8px;background:transparent;color:#666;display:flex;gap:7px;align-items:center}nav button.active{background:#fff;color:#111;box-shadow:0 1px 3px #0001;font-weight:650}.hero{background:#1b1d21;color:#fff;border-radius:18px;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.eyebrow{font-size:11px;letter-spacing:1.3px;opacity:.6;font-weight:700}.hero h2{font-size:28px;margin:8px 0}.hero .muted{color:#b8bbc1}.hero-stat{text-align:right}.hero-stat strong{display:block;font-size:42px}.hero-stat span{font-size:12px;color:#aaa}.card{background:#fff;border:1px solid #e6e7ea;border-radius:16px}.match{padding:24px}.match-top{display:flex;justify-content:space-between;align-items:center}.pill{font-size:11px;text-transform:uppercase;background:#eef0f2;border-radius:20px;padding:5px 9px;font-weight:700}.match h3{font-size:23px;margin:12px 0 4px}.match p{margin:0;color:#777;font-size:13px}.fixture-nav{display:flex;gap:5px;align-items:center}.fixture-nav button{width:36px;height:36px;border-radius:8px;background:#f1f2f4}.fixture-nav .primary{width:auto;height:auto;background:#17191d;color:#fff;padding:10px 14px}.progress{height:8px;background:#ececef;border-radius:20px;margin:24px 0 8px;overflow:hidden}.progress div{height:100%;background:#17191d;border-radius:20px}.match-count{font-size:12px;color:#777;margin-bottom:22px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:36px}.columns h4{font-size:13px;margin:0 0 10px}.columns h4 span{color:#999;margin-left:5px}.person{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #eee}.avatar{width:34px;height:34px;border-radius:50%;background:#e7e9ec;display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}.person b{display:block;font-size:13px}.person>button{margin-left:auto;width:30px;height:30px;border-radius:7px;background:#f0f1f3;color:#777}.person>button.add{background:#17191d;color:#fff}.empty{padding:20px 0;color:#aaa;font-size:13px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title h2{margin:0 0 5px}.muted{color:#777;font-size:13px}.primary{background:#17191d;color:#fff;padding:10px 14px;border-radius:9px;display:flex;align-items:center;gap:7px;font-weight:650}.fixture-row{width:100%;background:#fff;border:1px solid #e4e5e8;border-radius:13px;margin-bottom:9px;padding:13px;display:flex;align-items:center;text-align:left}.fixture-row.selected{border-color:#999}.datebox{width:52px;height:52px;border-radius:10px;background:#f0f1f3;display:grid;place-items:center;align-content:center}.datebox b{font-size:17px}.datebox span{font-size:9px;color:#777;font-weight:700}.fixture-info{margin-left:14px;display:grid;gap:4px}.fixture-info b{font-size:14px}.fixture-info span{font-size:12px;color:#777}.need{margin-left:auto;font-weight:700;text-align:right}.need small{display:block;font-size:10px;color:#888;font-weight:400}.player-list{padding:0 18px}.player-row{padding:14px 0}.grow{flex:1}.status{border-radius:20px;padding:6px 10px;font-size:11px;text-transform:capitalize}.status.available{background:#e9f5eb}.status.unavailable{background:#fbe9e9}.status.unknown{background:#eee}.modal-backdrop{position:fixed;inset:0;background:#0007;display:grid;place-items:center;padding:20px}.modal{background:#fff;border-radius:16px;padding:24px;width:min(420px,100%);box-shadow:0 20px 60px #0003}.modal h3{margin-top:0}.modal label{display:block;font-size:12px;font-weight:650;margin:14px 0}.modal input{display:block;width:100%;padding:11px;border:1px solid #ddd;border-radius:8px;margin-top:6px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.modal-actions>button:first-child{background:#eee;padding:10px 14px;border-radius:9px}.modal-actions>button:disabled{opacity:.5;cursor:not-allowed}.player-selector{display:flex;flex-direction:column;gap:10px;margin:16px 0}.player-checkbox-item{display:flex;align-items:center;gap:10px;padding:10px;background:#f9f9fb;border-radius:8px}.player-checkbox-item input{width:18px;height:18px;cursor:pointer}.player-checkbox-item label{cursor:pointer;flex:1;margin:0;font-size:14px}.timer-fullscreen{position:fixed;inset:0;background:linear-gradient(135deg,#17191d,#2d2f35);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.timer-content{display:flex;flex-direction:column;align-items:center;gap:40px;text-align:center}.timer-display{font-size:clamp(60px,15vw,200px);font-weight:900;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.1em}.timer-stop{background:#fff;color:#17191d;padding:16px 40px;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;border:0;box-shadow:0 10px 30px #0003}.game-in-progress-indicator{position:fixed;bottom:20px;right:20px;background:#17191d;color:#fff;padding:12px 20px;border-radius:8px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #0002;z-index:999;display:flex;align-items:center;gap:8px;transition:transform .2s}.game-in-progress-indicator:hover{transform:scale(1.05)}.game-in-progress-indicator span{font-size:18px;font-variant-numeric:tabular-nums}@media(max-width:700px){.app{padding:18px 14px}.hero{padding:22px}.hero h2{font-size:22px}.columns{grid-template-columns:1fr;gap:22px}.hero-stat{display:none}nav button{flex:1;justify-content:center}.fixture-info span{font-size:11px}}
