*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--green:#22c55e;--green-dark:#16a34a;--green-dim:#22c55e1f;--blue:#3b82f6;--blue-dark:#2563eb;--blue-dim:#3b82f61f;--yellow:#fbbf24;--red:#f87171;--red-dark:#dc2626;--bg:#080d1a;--surface:#0f1826;--surface2:#172032;--surface3:#1e2d42;--border:#263346;--border-hi:#354860;--text:#e8eef8;--text-muted:#7a90b0;--radius:14px;--radius-sm:10px;--radius-xs:6px;--shadow-sm:0 2px 10px #00000073;--shadow:0 6px 24px #0000008c;--shadow-lg:0 10px 40px #000000a6;--glow-green:0 0 24px #22c55e40;--glow-blue:0 0 24px #3b82f640;--glow-yellow:0 0 24px #fbbf2440;font-size:16px}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif}.app{background:linear-gradient(160deg,#0a1020 0%,#080c18 60%,#050912 100%);flex-direction:column;width:100%;max-width:520px;height:100dvh;margin:0 auto;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--border);background:linear-gradient(#0f1826fa 0%,#0c1420f2 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px 12px;display:flex;box-shadow:0 2px 20px #00000080}.app-logo{align-items:center;gap:9px;display:flex}.logo-pickle{filter:drop-shadow(0 0 8px #22c55e4d);font-size:1.5rem}.logo-text{letter-spacing:-.03em;background:linear-gradient(90deg,#4ade80,#22c55e,#86efac);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.2rem;font-weight:800}.live-badge{color:#fff;letter-spacing:.14em;cursor:pointer;background:linear-gradient(135deg,#ef4444,#b91c1c);border-radius:20px;padding:4px 10px;font-size:.62rem;font-weight:800;animation:1.6s ease-in-out infinite livePulse;box-shadow:0 0 14px #ef444473}@keyframes livePulse{0%,to{opacity:1;box-shadow:0 0 14px #ef444473}50%{opacity:.8;box-shadow:0 0 24px #ef4444a6}}.app-main{flex:1;padding:0 0 8px;overflow:hidden auto}.app-nav{border-top:1px solid var(--border);background:linear-gradient(#0f1826f5 0%,#0c1420fc 100%);flex-shrink:0;display:flex;box-shadow:0 -4px 24px #00000080}.nav-item{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 4px;transition:color .2s;display:flex;position:relative}.nav-item.active{color:var(--green)}.nav-item.active .nav-label{font-weight:700}.nav-label{letter-spacing:.02em;font-size:.68rem;font-weight:500}.nav-dot{background:radial-gradient(circle,#f87171,#dc2626);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:calc(50% - 14px);box-shadow:0 0 7px #ef4444b3}.view{min-width:0;padding:20px 18px 24px;overflow-x:hidden}.view-title{letter-spacing:-.025em;margin-bottom:4px;font-size:1.4rem;font-weight:800}.view-title.no-margin{margin:0}.view-subtitle{color:var(--text-muted);margin-bottom:20px;font-size:.875rem}.empty-hint{color:var(--text-muted);text-align:center;margin-top:28px;font-size:.9rem;line-height:1.65}.text-input{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;min-width:0;padding:11px 14px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.text-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #22c55e1a}input[type=date],input[type=time]{box-sizing:border-box;appearance:none;width:100%;min-width:0}.text-input.inline-edit{flex:1}.btn{border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.01em;border:none;align-items:center;gap:6px;padding:11px 18px;font-size:.9rem;font-weight:700;transition:filter .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.32;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg, var(--green), var(--green-dark));color:#fff;box-shadow:0 3px 14px #22c55e4d}.btn-success{background:linear-gradient(135deg, var(--green-dark), #15803d);color:#fff;box-shadow:0 3px 14px #22c55e40}.btn-ghost{background:var(--surface2);color:var(--text);border:1.5px solid var(--border)}.btn-danger{background:linear-gradient(135deg, var(--red-dark), #991b1b);color:#fff;box-shadow:0 3px 14px #dc26264d}.btn-danger-outline{color:var(--red);border-color:#f8717159!important}.btn:hover:not(:disabled){filter:brightness(1.08)}.icon-btn{border-radius:var(--radius-sm);background:var(--surface2);border:1.5px solid var(--border);width:34px;height:34px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.icon-btn:hover{color:var(--text);background:var(--surface3);border-color:var(--border-hi)}.icon-btn.green{color:var(--green)}.icon-btn.red{color:var(--red)}.icon-btn-sm{width:28px!important;height:28px!important}.link-btn{color:var(--green);cursor:pointer;font-size:inherit;background:0 0;border:none;text-decoration:underline}.add-row{gap:8px;margin-bottom:20px;display:flex}.add-row .text-input{flex:1}.player-list{flex-direction:column;gap:8px;list-style:none;display:flex}.player-item{background:linear-gradient(135deg, var(--surface), var(--surface2));border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:12px 14px;transition:border-color .2s;display:flex}.player-item:hover{border-color:var(--border-hi)}.player-avatar{background:linear-gradient(135deg, var(--green-dark), #4ade80);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;font-weight:800;display:flex;box-shadow:0 2px 10px #22c55e4d}.player-avatar.small{width:26px;height:26px;box-shadow:none;font-size:.78rem}.player-name{flex:1;font-weight:600}.player-stats-mini{gap:4px;display:flex}.stat-badge{border-radius:20px;padding:3px 7px;font-size:.7rem;font-weight:700}.stat-badge.win{color:#4ade80;background:#22c55e24;border:1px solid #22c55e47}.stat-badge.loss{color:var(--red);background:#f871711a;border:1px solid #f8717138}.player-count-hint{color:var(--text-muted);text-align:center;margin-top:16px;font-size:.78rem}.picker-settings{flex-direction:column;gap:14px;margin-bottom:20px;display:flex}.toggle-group{background:var(--surface2);border-radius:var(--radius-sm);border:1.5px solid var(--border);gap:4px;padding:4px;display:flex}.toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px;font-size:.875rem;font-weight:600;transition:background .2s,color .2s,box-shadow .2s;display:flex}.toggle-btn.active{background:linear-gradient(135deg, var(--green-dark), #15803d);color:#fff;box-shadow:0 2px 10px #22c55e4d}.settings-row{gap:12px;display:flex}.setting-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;flex-direction:column;flex:1;gap:5px;font-size:.72rem;font-weight:700;display:flex}.setting-select{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;outline:none;padding:9px 12px;font-size:.875rem;transition:border-color .2s}.setting-select:focus{border-color:var(--green)}.random-section{flex-direction:column;align-items:center;gap:20px;display:flex}.big-btn{padding:14px 28px;font-size:1rem}.teams-preview{align-items:center;gap:12px;width:100%;display:flex}.team-card{background:linear-gradient(160deg, var(--surface), var(--surface2));border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;flex:1;gap:8px;padding:16px;display:flex}.team-card.green{border-color:var(--green);box-shadow:0 4px 20px #22c55e2e, var(--shadow-sm)}.team-card.blue{border-color:var(--blue);box-shadow:0 4px 20px #3b82f62e, var(--shadow-sm)}.team-card-label{text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;font-weight:800}.team-card.green .team-card-label{color:var(--green)}.team-card.blue .team-card-label{color:var(--blue)}.team-card-player{align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.vs-badge{color:var(--text-muted);flex-shrink:0;font-size:1rem;font-weight:900}.start-btn{justify-content:center;width:100%;padding:13px 28px;font-size:1rem}.manual-section{flex-direction:column;gap:16px;display:flex}.teams-builder{align-items:flex-start;gap:12px;display:flex}.team-builder-col{flex-direction:column;flex:1;gap:8px;display:flex}.team-name-input{width:100%}.team-slots{background:var(--surface2);border-radius:var(--radius-sm);border:1.5px solid var(--border);flex-direction:column;gap:6px;min-height:60px;padding:8px;display:flex}.slot-chip{cursor:pointer;text-align:center;border-radius:6px;padding:6px 10px;font-size:.85rem;font-weight:600}.slot-chip.green{color:#4ade80;background:#22c55e21;border:1px solid #22c55e47}.slot-chip.blue{color:#60a5fa;background:#3b82f61a;border:1px solid #3b82f647}.slot-empty{color:var(--text-muted);text-align:center;border:1px dashed var(--border);border-radius:6px;padding:4px;font-size:.75rem}.players-pool-label{text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);font-size:.7rem;font-weight:800}.players-pool{flex-direction:column;gap:6px;display:flex}.pool-player{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:9px 12px;transition:border-color .2s,background .2s;display:flex}.pool-player.in-a{background:#22c55e0f;border-color:#22c55e99}.pool-player.in-b{background:#3b82f60f;border-color:#3b82f699}.pool-name{flex:1;font-size:.9rem;font-weight:600}.pool-btns{gap:6px;display:flex}.pool-assign{border:1.5px solid var(--border);background:var(--surface2);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:6px;font-weight:800;transition:background .15s,color .15s,border-color .15s}.pool-assign:disabled{opacity:.22;cursor:not-allowed}.pool-assign.active-green{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 0 8px #22c55e66}.pool-assign.active-blue{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 0 8px #3b82f666}.manual-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.match-view{padding:14px 16px 24px}.match-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.match-title-group{flex-direction:column;flex:1;min-width:0;display:flex}.vs-text{color:var(--text-muted);font-weight:400}.match-meta{color:var(--text-muted);margin-top:2px;font-size:.72rem}.series-bar{background:var(--surface);border-radius:var(--radius);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:16px;margin-bottom:14px;padding:10px;display:flex}.series-wins{color:var(--text-muted);text-align:center;min-width:44px;font-size:2.2rem;font-weight:900;transition:color .25s,text-shadow .25s}.series-wins.leading{color:var(--yellow);text-shadow:0 0 20px #fbbf2466}.series-label{text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);font-size:.66rem}.prev-games{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.prev-game-chip{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);border-radius:20px;padding:3px 10px;font-size:.7rem}.scoreboard{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);gap:0;margin-bottom:16px;display:flex;overflow:hidden}.score-panel{flex-direction:column;flex:1;align-items:center;gap:5px;padding:22px 14px 18px;transition:background .25s,box-shadow .25s;display:flex}.score-panel.leading{box-shadow:inset 0 4px 0 var(--green);background:#22c55e12}.score-panel.blue.leading{box-shadow:inset 0 4px 0 var(--blue);background:#3b82f612}.score-team-name{text-align:center;letter-spacing:-.01em;font-size:.95rem;font-weight:800}.score-player-names{color:var(--text-muted);text-align:center;font-size:.68rem;line-height:1.4}.score-number{letter-spacing:-.05em;margin:8px 0;font-size:5rem;font-weight:900;line-height:1;transition:text-shadow .25s}.score-panel.green .score-number{color:var(--green)}.score-panel.blue .score-number{color:var(--blue)}.score-panel.green.leading .score-number{text-shadow:0 0 32px #22c55e80}.score-panel.blue.leading .score-number{text-shadow:0 0 32px #3b82f680}.score-btn{border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.02em;border:none;justify-content:center;align-items:center;gap:6px;width:100%;padding:14px;font-size:1rem;font-weight:700;transition:filter .15s,transform .12s;display:flex}.score-btn:active{transform:scale(.94)}.score-btn:disabled{opacity:.32;cursor:not-allowed;transform:none}.score-btn.green{background:linear-gradient(135deg, var(--green), var(--green-dark));color:#fff;box-shadow:0 4px 18px #22c55e59}.score-btn.blue{background:linear-gradient(135deg, var(--blue), var(--blue-dark));color:#fff;box-shadow:0 4px 18px #3b82f659}.score-btn:hover:not(:disabled){filter:brightness(1.08)}.score-divider{flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0 2px;display:flex}.score-separator{color:var(--border);font-size:2.5rem;font-weight:200}.serving-hint{color:var(--text-muted);text-align:center;writing-mode:vertical-lr;text-orientation:mixed;letter-spacing:.06em;font-size:.56rem;transform:rotate(180deg)}.point-history{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:12px 14px}.point-history-title{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:8px;font-size:.68rem;font-weight:800}.point-history-list{flex-direction:column;gap:3px;display:flex}.point-entry{border-radius:6px;align-items:center;gap:10px;padding:5px 9px;font-size:.83rem;display:flex}.point-entry.green{background:#22c55e14}.point-entry.blue{background:#3b82f614}.point-num{color:var(--text-muted);min-width:24px;font-size:.66rem;font-weight:600}.point-team{font-weight:700}.match-controls{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.cancel-confirm-text{color:var(--text-muted);font-size:.82rem;font-weight:600}.match-complete{text-align:center;flex-direction:column;align-items:center;gap:16px;padding-top:8px;display:flex}.trophy-icon{color:var(--yellow);filter:drop-shadow(0 0 20px #fbbf248c);animation:.5s cubic-bezier(.175,.885,.32,1.275) both trophyPop}@keyframes trophyPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.winner-title{letter-spacing:-.04em;background:linear-gradient(135deg, #f0f4ff, var(--yellow));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:900;line-height:1.1}.winner-players{color:var(--text-muted);font-size:.9rem}.final-score-grid{background:linear-gradient(135deg, var(--surface), var(--surface2));border:1.5px solid var(--border);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);align-items:center;gap:20px;padding:20px;display:flex}.final-team{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.final-team-name{color:var(--text-muted);font-size:.82rem;font-weight:700}.final-score-big{letter-spacing:-.05em;font-size:3.2rem;font-weight:900}.final-team.green .final-score-big{color:var(--green);text-shadow:var(--glow-green)}.final-team.blue .final-score-big{color:var(--blue);text-shadow:var(--glow-blue)}.final-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-size:.66rem;font-weight:600}.final-vs{color:var(--border);font-size:1rem;font-weight:700}.games-breakdown{flex-direction:column;gap:5px;width:100%;display:flex}.breakdown-row{background:var(--surface2);border-radius:var(--radius-xs);justify-content:center;gap:12px;padding:7px 14px;font-size:.9rem;display:flex}.breakdown-row .bold{font-weight:800}.green-text{color:var(--green)}.blue-text{color:var(--blue)}.match-end-actions{gap:10px;width:100%;display:flex}.match-end-actions .btn{flex:1;justify-content:center}.leaderboard{flex-direction:column;gap:8px;margin-bottom:28px;display:flex}.lb-row{background:linear-gradient(135deg, var(--surface), var(--surface2));border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 14px;transition:border-color .2s;display:flex}.lb-row.first-place{background:linear-gradient(135deg, var(--surface), #fbbf240d);box-shadow:0 4px 22px #fbbf241f, var(--shadow-sm);border-color:#fbbf2473}.lb-rank{text-align:center;width:28px;color:var(--text-muted);font-size:.85rem;font-weight:700}.lb-row.first-place .lb-rank{color:var(--yellow)}.lb-avatar{background:linear-gradient(135deg, var(--green-dark), #4ade80);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;font-weight:800;display:flex;box-shadow:0 2px 10px #22c55e40}.lb-row.first-place .lb-avatar{background:linear-gradient(135deg, #b45309, var(--yellow));box-shadow:0 2px 14px #fbbf2459}.lb-info{flex:1;min-width:0}.lb-name{font-size:.95rem;font-weight:700}.lb-sub{color:var(--text-muted);font-size:.72rem}.lb-stats{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.stat-bubble{background:var(--surface2);border:1px solid var(--border);border-radius:20px;align-items:center;gap:3px;padding:3px 8px;font-size:.68rem;display:flex}.stat-bubble-label{color:var(--text-muted)}.stat-bubble-value{font-weight:700}.stat-bubble.negative .stat-bubble-value{color:var(--red)}.section-title{letter-spacing:-.01em;margin-bottom:12px;font-size:1rem;font-weight:800}.match-history{flex-direction:column;gap:8px;display:flex}.history-row{background:linear-gradient(135deg, var(--surface), var(--surface2));border:1.5px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);flex-direction:column;gap:5px;padding:10px 14px;transition:border-color .2s;display:flex}.history-row:hover{border-color:var(--border-hi)}.history-row-top{justify-content:space-between;align-items:center;display:flex}.history-date{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.66rem;font-weight:600}.history-teams{align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.history-score{text-align:center;color:var(--text-muted);flex:1;font-size:.82rem;font-weight:700}.winner-name{color:var(--green);font-weight:700}.history-winner{color:var(--text-muted);font-size:.75rem}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.session-badge{color:var(--yellow);letter-spacing:.08em;cursor:pointer;background:#fbbf241f;border:1px solid #fbbf244d;border-radius:20px;align-items:center;gap:4px;padding:4px 9px;font-size:.62rem;font-weight:700;transition:background .15s;display:flex}.session-badge:hover{background:#fbbf2433}.session-header-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.session-header-row .view-title{margin-bottom:0}.session-tabs-row{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.session-tab{border:1.5px solid var(--border);background:var(--surface2);color:var(--text-muted);cursor:pointer;border-radius:20px;padding:7px 14px;font-size:.82rem;font-weight:600;transition:color .15s,border-color .15s,background .15s}.session-tab.active{border-color:var(--green);color:var(--text);background:#22c55e1a}.session-form{background:linear-gradient(135deg, var(--surface), var(--surface2));border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);box-sizing:border-box;flex-direction:column;gap:14px;max-width:100%;margin-bottom:20px;padding:18px;display:flex;overflow:hidden}.session-form-title{font-size:1rem;font-weight:700}.form-group{flex-direction:column;gap:5px;display:flex}.form-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);align-items:center;gap:4px;font-size:.72rem;font-weight:700;display:flex}.form-row{flex-wrap:wrap;gap:10px;display:flex}.form-row .form-group{box-sizing:border-box;flex:1;min-width:min(120px,100%)}.w-full{width:100%}.bestof-row{gap:6px;display:flex}.bestof-btn{border-radius:var(--radius-xs);border:1.5px solid var(--border);background:var(--surface2);color:var(--text-muted);cursor:pointer;flex:1;padding:7px 6px;font-size:.78rem;font-weight:700;transition:border-color .15s,color .15s,background .15s}.bestof-btn.active{border-color:var(--green);color:var(--green);background:#22c55e14}.alert-row{align-items:center;gap:8px;display:flex}.toggle-pill{border:1.5px solid var(--border);background:var(--surface2);color:var(--text-muted);cursor:pointer;border-radius:20px;align-items:center;gap:5px;padding:6px 12px;font-size:.82rem;font-weight:700;transition:border-color .15s,color .15s,background .15s;display:flex}.toggle-pill.on{border-color:var(--yellow);color:var(--yellow);background:#fbbf2414}.confirmed-grid{flex-wrap:wrap;gap:6px;display:flex}.confirmed-chip{border:1.5px solid var(--border);background:var(--surface2);color:var(--text-muted);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:6px 10px;font-size:.82rem;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:flex}.confirmed-chip.active{border-color:var(--green);color:var(--green);background:#22c55e1a}.form-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.session-detail{flex-direction:column;gap:10px;display:flex}.session-info-card{background:linear-gradient(135deg, var(--surface), var(--surface2));border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.session-info-main{flex:1;min-width:0}.session-name{margin-bottom:6px;font-size:1.1rem;font-weight:800}.session-meta-row{flex-wrap:wrap;gap:8px;margin-bottom:6px;display:flex}.session-meta-item{color:var(--text-muted);align-items:center;gap:3px;font-size:.75rem;font-weight:500;display:flex}.session-upcoming-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--green);background:#22c55e1a;border:1px solid #22c55e4d;border-radius:20px;padding:2px 8px;font-size:.65rem;font-weight:800;display:inline-block}.session-actions-row{flex-shrink:0;align-items:center;gap:6px;display:flex}.alert-banner{border-radius:var(--radius-sm);color:var(--yellow);background:#fbbf2412;border:1.5px solid #fbbf2447;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;font-size:.82rem;display:flex}.alert-banner.active{color:var(--green);background:#22c55e0f;border-color:#22c55e47}.alert-banner span{flex:1}.section-block{background:linear-gradient(135deg, var(--surface), var(--surface2));border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.section-block-header{cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.section-block-header:hover{background:#ffffff05}.section-block-title{align-items:center;gap:7px;font-size:.88rem;font-weight:700;display:flex}.section-block-right{color:var(--text-muted);align-items:center;gap:8px;display:flex}.section-block-body{border-top:1px solid var(--border);padding:12px 14px 14px}.attendance-list{flex-direction:column;gap:6px;display:flex}.attendance-row{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface2);align-items:center;gap:8px;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.attendance-row.absent{opacity:.5;background:#f871710a;border-color:#f871714d}.attendance-name{flex:1;font-size:.88rem;font-weight:600}.attendance-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:4px 9px;font-size:.72rem;font-weight:700;display:flex}.attendance-toggle.mark-absent:hover{border-color:var(--red);color:var(--red)}.attendance-toggle.mark-present:hover{border-color:var(--green);color:var(--green)}.planned-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.planned-row{border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface2);align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s;display:flex}.planned-row.live{border-color:var(--green);background:#22c55e0f}.planned-row.done{opacity:.65}.planned-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.planned-teams{align-items:center;gap:6px;font-size:.88rem;display:flex}.planned-team-a{color:var(--green);font-weight:800}.planned-team-b{color:var(--blue);font-weight:800}.planned-vs{color:var(--text-muted);font-size:.72rem;font-weight:700}.planned-bestof{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:1px 6px;font-size:.7rem}.planned-players{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.73rem;overflow:hidden}.planned-result{color:var(--yellow);font-size:.72rem;font-weight:600}.planned-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.planned-badge{letter-spacing:.1em;border-radius:20px;padding:2px 8px;font-size:.65rem;font-weight:800}.planned-badge.live{color:var(--green);background:#22c55e26;border:1px solid #22c55e59}.planned-badge.done{color:var(--text-muted);border:1px solid var(--border);background:#94a3b81a}.match-builder{background:var(--surface);border:1.5px solid var(--border-hi);border-radius:var(--radius-sm);flex-direction:column;gap:10px;margin-bottom:10px;padding:12px;display:flex}.builder-top-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.builder-preview{background:var(--surface2);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 12px;font-size:.88rem;font-weight:700;display:flex}.builder-team.green{color:var(--green)}.builder-team.blue{color:var(--blue)}.builder-actions{justify-content:flex-end;gap:8px;display:flex}.session-context-strip{border-radius:var(--radius-sm);color:var(--yellow);background:#fbbf240f;border:1px solid #fbbf2438;align-items:center;gap:7px;margin-bottom:10px;padding:7px 12px;font-size:.78rem;display:flex}.session-context-name{font-weight:700}.session-queue-dots{align-items:center;gap:4px;display:flex}.queue-dot{background:var(--border);border-radius:50%;width:8px;height:8px;transition:background .2s}.queue-dot.active{background:var(--green);box-shadow:0 0 6px #22c55e80}.queue-dot.done{background:var(--yellow)}.strategy-panel{flex-direction:column;gap:12px;padding:4px 0;display:flex}.strategy-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.strategy-meta-pill{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:.76rem;display:inline-flex}.strategy-tip{color:var(--accent-yellow);opacity:.8;font-size:.74rem;font-style:italic}.strategy-odd-warn{color:var(--accent-yellow);background:#ffbe321a;border:1px solid #ffbe324d;border-radius:8px;padding:8px 12px;font-size:.8rem}.strategy-empty{color:var(--text-muted);align-items:center;gap:8px;padding:16px;font-size:.85rem;display:flex}.strategy-cards{flex-direction:column;gap:10px;display:flex}.strategy-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;transition:border-color .2s;display:flex}.strategy-card.fit-yes{border-color:#48c78e59}.strategy-card.fit-tight{border-color:#ffbe3259}.strategy-card.fit-no{border-color:#e0556040}.strategy-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.strategy-card-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.strategy-card-tag{letter-spacing:.04em;text-transform:uppercase;border:1px solid;border-radius:20px;padding:2px 9px;font-size:.7rem;font-weight:600}.strategy-card-desc{color:var(--text-secondary);margin:0;font-size:.83rem;line-height:1.5}.strategy-card-stats{flex-wrap:wrap;gap:10px;display:flex}.strategy-stat{color:var(--text-secondary);align-items:center;gap:4px;font-size:.78rem;display:inline-flex}.strategy-fairness,.strategy-ok{color:var(--accent-green)}.strategy-tight{color:var(--accent-yellow)}.strategy-over{color:var(--accent-red,#e05560)}.strategy-odd-note{color:var(--text-muted);font-size:.76rem;font-style:italic}.strategy-card-footer{justify-content:flex-end;align-items:center;gap:8px;margin-top:2px;display:flex}.strategy-kotc-note{color:var(--text-muted);flex:1;font-size:.74rem;font-style:italic}.strategy-gen-btn{white-space:nowrap;padding:7px 14px;font-size:.8rem}.bulk-section{flex-direction:column;gap:12px;display:flex}.bulk-pool-header{align-items:center;gap:8px;display:flex}.bulk-pool-label{color:var(--text-secondary);flex:1;font-size:.82rem;font-weight:600}.bulk-pool-grid{flex-wrap:wrap;gap:6px;display:flex}.bulk-pool-chip{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border-radius:20px;padding:5px 12px;font-size:.82rem;transition:all .15s}.bulk-pool-chip.active{background:var(--accent-green);color:#000;border-color:var(--accent-green);font-weight:600}.bulk-strategy-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bulk-count-row{align-items:center;gap:6px;margin-left:4px;display:flex}.count-btn{border:1px solid var(--border);background:var(--bg-elevated);width:28px;height:28px;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:flex}.count-btn:hover{background:var(--border)}.count-val{text-align:center;min-width:20px;color:var(--text-primary);font-size:1rem;font-weight:700}.count-label{color:var(--text-secondary);font-size:.8rem}.fixture-list{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:0;display:flex;overflow:hidden}.fixture-list-header{background:var(--bg-elevated);color:var(--text-secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 12px;font-size:.8rem;display:flex}.fixture-row{border-bottom:1px solid var(--border);background:var(--bg-card);align-items:center;gap:8px;padding:9px 12px;font-size:.84rem;display:flex}.fixture-row:last-child{border-bottom:none}.fixture-num{text-align:right;width:18px;color:var(--text-muted);flex-shrink:0;font-size:.75rem;font-weight:600}.fixture-team{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.fixture-vs,.fixture-bo{color:var(--text-muted);flex-shrink:0;font-size:.72rem}.bulk-actions{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex}.bulk-success{color:var(--accent-green);background:#48c78e1f;border:1px solid #48c78e4d;border-radius:8px;padding:10px 14px;font-size:.84rem}.generate-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 8px;padding:14px 16px;display:flex}.generate-card.insufficient{color:var(--text-muted);gap:8px;font-size:.84rem}.generate-card-info{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.generate-badge{color:var(--accent-blue);background:#63b3ed26;border:1px solid #63b3ed4d;border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:600}.generate-meta{color:var(--text-muted);font-size:.82rem}.generate-warn{color:var(--accent-yellow,#f6c90e);font-size:.78rem}.generate-btn{flex-shrink:0;font-size:.84rem}.team-winner{color:var(--accent-green);font-weight:700}.planned-final-score{color:var(--text-primary);flex-shrink:0;padding:0 6px;font-size:.9rem;font-weight:700}.planned-game-detail{color:var(--text-muted);margin-top:2px;font-size:.75rem}.planned-badge.score-done{color:var(--accent-green);white-space:nowrap;background:#48c78e26;border:1px solid #48c78e59;border-radius:6px;padding:3px 8px;font-size:.8rem;font-weight:700}.sstats-table{border:1px solid var(--border);border-radius:8px;margin-top:6px;overflow:hidden}.sstats-header,.sstats-row{grid-template-columns:24px 1fr 32px 32px 44px 44px 44px;align-items:center;gap:0;padding:6px 10px;font-size:.78rem;display:grid}.sstats-header{color:var(--text-muted);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;background:#ffffff0a;font-size:.72rem;font-weight:600}.sstats-row{border-bottom:1px solid var(--border);color:var(--text-primary);transition:background .15s}.sstats-row:last-child{border-bottom:none}.sstats-row.sstats-top{background:#48c78e12}.sstats-rank-col{color:var(--text-muted);justify-content:center;align-items:center;font-size:.72rem;font-weight:600;display:flex}.sstats-trophy{color:#f6c90e}.sstats-rank-num{color:var(--text-muted);font-size:.72rem}.sstats-name-col{text-overflow:ellipsis;white-space:nowrap;padding-right:8px;font-weight:500;overflow:hidden}.sstats-num-col{text-align:right;color:var(--text-muted);font-size:.78rem}.sstats-num-col.win-col{color:var(--accent-green);font-weight:700}.sstats-num-col.loss-col{color:var(--accent-red,#fc8181)}.sstats-num-col.diff-col.pos{color:var(--accent-green)}.sstats-num-col.diff-col.neg{color:var(--accent-red,#fc8181)}.btn-link{cursor:pointer;color:var(--text-muted);text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.78rem;font-weight:600;text-decoration:underline}.btn-link:hover{color:var(--text-primary)}.btn-link.danger{color:var(--accent-red,#fc8181)}.btn-link.danger:hover{color:#ff6b6b}.clear-all-confirm{color:var(--text-muted);align-items:center;gap:2px;font-size:.78rem;display:flex}.random-pick-hint{color:var(--text-muted);text-align:center;margin:.25rem 0 .5rem;font-size:.82rem}.random-teams-grid{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.75rem;display:flex}.rand-team-card{background:var(--surface2);cursor:pointer;text-align:left;border:2px solid #0000;border-radius:10px;flex:140px;max-width:200px;padding:.6rem .75rem;transition:border-color .15s,background .15s}.rand-team-card:hover{background:var(--surface3)}.rand-team-card.picked-a{background:#22c55e1a;border-color:#22c55e}.rand-team-card.picked-b{background:#3b82f61a;border-color:#3b82f6}.rand-team-label{align-items:center;gap:.4rem;margin-bottom:.25rem;font-size:.9rem;font-weight:600;display:flex}.rand-badge{text-align:center;color:#fff;border-radius:50%;width:18px;height:18px;font-size:.65rem;font-weight:700;line-height:18px;display:inline-block}.rand-badge.a{background:#22c55e}.rand-badge.b{background:#3b82f6}.rand-team-players{color:var(--text-muted);font-size:.75rem}
