.grit-draw-stage{color:#152033;width:100vw;max-width:none;height:100dvh;max-height:none;font-family:var(--font-manrope),system-ui,sans-serif;-webkit-font-smoothing:antialiased;background:#fff;border:0;margin:0;padding:0}.grit-draw-stage::backdrop{background:#142d4e}.grit-draw-wrap{max-width:1184px;height:100%;margin:0 auto;padding:0 16px 32px;overflow-y:auto}.grit-draw-top{border-bottom:1px solid #dcdcd0;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:24px 0 18px;display:flex}.grit-draw-logo{width:144px;height:auto;margin-bottom:14px;display:block}.grit-draw-eyebrow{letter-spacing:.14em;color:#626f82;text-transform:uppercase;margin:0 0 6px;font-size:.65rem;font-weight:800}.grit-draw-top h1{letter-spacing:-.025em;color:#142d4e;text-wrap:balance;margin:0;font-size:26px;font-weight:700;line-height:1.15}.grit-draw-top p{color:#626f82;margin:6px 0 0;font-size:14px}.grit-draw-close{align-self:flex-start;width:44px;min-height:44px;padding:0;font-size:1.3rem;line-height:1}.grit-draw-counter{color:#626f82;font-variant-numeric:tabular-nums;background:#f7f3eb;border:1px solid #dcdcd0;border-radius:12px;min-width:150px;padding:12px 16px;font-size:12px}.grit-draw-counter b{color:#142d4e;letter-spacing:-.02em;font-size:26px;font-weight:700;line-height:1.1;display:block}.grit-draw-main{grid-template-columns:minmax(280px,360px) 1fr;align-items:start;gap:24px;padding-block:24px;display:grid}@media (max-width:860px){.grit-draw-main{grid-template-columns:1fr}}.grit-draw-reel-wrap{gap:12px;display:grid;position:sticky;top:12px}.grit-draw-reel{background:#f7f3eb;border:1px solid #dcdcd0;border-radius:16px;height:300px;position:relative;overflow:hidden}.grit-draw-reel:before,.grit-draw-reel:after{content:"";z-index:2;pointer-events:none;height:70px;position:absolute;left:0;right:0}.grit-draw-reel:before{background:linear-gradient(#f7f3eb,#f7f3eb00);top:0}.grit-draw-reel:after{background:linear-gradient(#f7f3eb00,#f7f3eb);bottom:0}.grit-draw-track{will-change:transform;position:absolute;top:0;left:0;right:0}.grit-draw-item{text-align:center;color:#152033;justify-content:center;align-items:center;height:60px;padding:0 22px;font-size:14px;font-weight:600;line-height:1.2;display:flex}.grit-draw-window{pointer-events:none;z-index:3;background:#fff6;border:2px solid #142d4e;border-radius:8px;height:60px;position:absolute;top:120px;left:10px;right:10px}.grit-draw-reel.landed .grit-draw-window{animation:.6s ease-out grit-draw-pulse}@keyframes grit-draw-pulse{0%{box-shadow:0 0 #e5f28e}to{box-shadow:0 0 0 18px #e5f28e00}}.grit-draw-next{color:#626f82;text-align:center;min-height:18px;margin:0;font-size:13px}.grit-draw-next b{color:#142d4e}.grit-draw-controls{grid-template-columns:1fr 1fr;gap:8px;display:grid}.grit-draw-stage button{font:inherit;color:#142d4e;cursor:pointer;background:#fff;border:1px solid #dcdcd0;border-radius:8px;min-height:44px;padding:0 14px;font-size:14px;font-weight:600}.grit-draw-stage button.grit-draw-primary{color:#142d4e;background:#e5f28e;border-color:#0000;grid-column:1/-1;font-size:15px;font-weight:700}.grit-draw-stage button:disabled{opacity:.45;cursor:default}.grit-draw-stage button:focus-visible{outline-offset:3px;outline:2px solid #315f86}.grit-draw-wide{grid-column:1/-1}.grit-draw-opts{color:#626f82;flex-wrap:wrap;align-items:center;gap:16px;font-size:12px;display:flex}.grit-draw-opts label{align-items:center;gap:6px;min-height:44px;display:flex}.grit-draw-opts select{font:inherit;color:#152033;background:#f7f3eb;border:1px solid #9a9eab;border-radius:8px;min-height:36px;padding:0 8px}.grit-draw-groups{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (max-width:1100px){.grit-draw-groups{grid-template-columns:repeat(3,1fr)}}@media (max-width:860px){.grit-draw-groups{grid-template-columns:repeat(2,1fr)}}.grit-draw-group{background:#fff;border:1px solid #dcdcd0;border-radius:16px;gap:8px;padding:14px;transition:border-color .3s,box-shadow .3s;display:grid;box-shadow:0 4px 20px #142d4e08}.grit-draw-group.hot{border-color:#142d4e;box-shadow:0 0 0 4px #edf2da}.grit-draw-group h2{letter-spacing:.14em;text-transform:uppercase;color:#626f82;justify-content:space-between;align-items:center;gap:6px;margin:0 0 2px;font-size:.65rem;font-weight:800;display:flex}.grit-draw-group h2 small{letter-spacing:0;font-variant-numeric:tabular-nums;color:#142d4e;font-weight:600}.grit-draw-slot{color:#142d4e;border:1px dashed #dcdcd0;border-radius:8px;align-items:center;min-height:46px;padding:6px 10px;font-size:13px;font-weight:600;line-height:1.25;display:flex}.grit-draw-slot.empty{color:#9aa4b3;justify-content:center;font-size:12px;font-weight:500}.grit-draw-slot.filled,.grit-draw-slot.seed{background:#f7f3eb;border-style:solid;border-color:#dcdcd0}.grit-draw-slot.pop{animation:.6s cubic-bezier(.2,1.4,.4,1) grit-draw-pop}@keyframes grit-draw-pop{0%{background:#e5f28e;transform:scale(.6)}60%{background:#e5f28e;transform:scale(1.05)}to{background:#f7f3eb;transform:scale(1)}}.grit-draw-flyer{z-index:50;pointer-events:none;color:#142d4e;white-space:nowrap;text-overflow:ellipsis;background:#e5f28e;border-radius:8px;max-width:90vw;padding:10px 14px;font-size:14px;font-weight:700;position:fixed;overflow:hidden;box-shadow:0 12px 30px #142d4e33}.grit-draw-done{text-align:center;color:#e5f28e;background:#142d4e;border-radius:12px;padding:14px;font-size:15px;font-weight:700}.grit-draw-done-actions{gap:8px;display:grid}.grit-draw-note{color:#626f82;max-width:70ch;margin-top:8px;font-size:13px;line-height:1.6}.grit-draw-note b{color:#142d4e}@media (prefers-reduced-motion:reduce){.grit-draw-slot.pop,.grit-draw-reel.landed .grit-draw-window{animation:none}}
.leagues-wrapper{background:var(--grit-canvas);min-height:100vh;font-family:var(--font-manrope), system-ui, sans-serif;position:relative;overflow-x:hidden}.leagues-bg{pointer-events:none;z-index:0;position:fixed;inset:0}.leagues-orb{filter:blur(100px);opacity:.15;border-radius:50%;position:absolute}.orb-top{background:radial-gradient(ellipse, var(--grit-accent-soft), transparent 70%);width:600px;height:400px;top:-100px;left:-100px}.orb-bottom{background:radial-gradient(circle, var(--grit-accent-soft), transparent 70%);opacity:.1;width:400px;height:400px;bottom:0;right:0}.leagues-grid{background-image:linear-gradient(var(--grit-accent-soft) 1px, transparent 1px), linear-gradient(90deg, var(--grit-accent-soft) 1px, transparent 1px);background-size:40px 40px;position:absolute;inset:0}.leagues-content{z-index:10;max-width:600px;margin:0 auto;padding:0 1.25rem 6rem;position:relative}.leagues-header{border-bottom:1px solid var(--grit-line);justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem 0 1.25rem;display:flex}.back-btn{background:var(--grit-soft);border:1px solid var(--grit-line);color:var(--grit-muted);cursor:pointer;border-radius:10px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .2s}.back-btn:hover{background:var(--grit-soft);color:var(--grit-text)}.header-logo{object-fit:contain;border-radius:4px;height:32px}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-title{font-family:var(--font-manrope), system-ui, sans-serif;color:var(--grit-text);font-size:1.5rem;font-weight:700}.create-btn{background:var(--grit-accent);color:var(--grit-ink);cursor:pointer;box-shadow:var(--grit-shadow);border:none;border-radius:10px;padding:.5rem 1rem;font-size:.8rem;font-weight:700;transition:all .2s}.create-btn:hover{box-shadow:var(--grit-shadow);transform:translateY(-1px)}.leagues-grid-layout{grid-template-columns:1fr;gap:1rem;display:grid}.league-card{background:var(--grit-soft);border:1px solid var(--grit-line);border-radius:20px;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .25s;display:flex}.league-card:hover{border-color:var(--grit-line);background:var(--grit-soft)}.league-card-top{justify-content:space-between;align-items:flex-start;display:flex}.league-card-meta{flex-direction:column;gap:.25rem;display:flex}.league-card-name{color:var(--grit-text);font-size:1.1rem;font-weight:700}.league-card-season{color:var(--grit-muted);font-size:.8rem}.league-card-dates{color:var(--grit-muted);font-size:.75rem}.league-status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:100px;padding:.25rem .625rem;font-size:.75rem;font-weight:700}.league-status-badge.open{background:var(--grit-accent-soft);border:1px solid var(--grit-line);color:var(--grit-brand)}.league-status-badge.active{color:var(--grit-info);background:#60a5fa1a;border:1px solid #60a5fa40}.league-status-badge.completed{color:var(--grit-success);background:#4ade801a;border:1px solid #4ade8040}.league-card-desc{color:var(--grit-muted);font-size:.85rem;line-height:1.5}.league-card-footer{border-top:1px solid var(--grit-line);justify-content:space-between;align-items:center;margin-top:.25rem;padding-top:.875rem;display:flex}.league-prize-tag{color:var(--grit-muted);font-size:.8rem}.league-prize-tag strong{color:var(--grit-brand)}.view-detail-btn{color:var(--grit-brand);cursor:pointer;background:0 0;border:none;font-size:.8rem;font-weight:700;transition:color .2s}.view-detail-btn:hover{color:var(--grit-brand)}.no-data-placeholder{background:var(--grit-soft);border:1px dashed var(--grit-line);text-align:center;color:var(--grit-muted);border-radius:16px;padding:3rem 1.5rem;font-size:.875rem}.league-detail-section{flex-direction:column;gap:1.5rem;display:flex}.league-detail-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.league-badge-detail{background:var(--grit-accent-soft);border:1px solid var(--grit-line);color:var(--grit-brand);border-radius:100px;margin-bottom:.5rem;padding:.15rem .625rem;font-size:.75rem;font-weight:700;display:inline-block}.league-name-detail{font-family:var(--font-manrope), system-ui, sans-serif;color:var(--grit-text);margin-bottom:.5rem;font-size:1.1rem;font-weight:700;line-height:1.3}.league-desc-detail{color:var(--grit-muted);font-size:.875rem;line-height:1.5}.detail-tabs{border-bottom:1px solid var(--grit-line);gap:.5rem;padding-bottom:2px;display:flex}.detail-tab{color:var(--grit-muted);cursor:pointer;background:0 0;border:none;padding:.75rem 1.25rem;font-size:.9rem;font-weight:700;transition:all .2s;position:relative}.detail-tab:hover{color:var(--grit-text)}.detail-tab.active{color:var(--grit-brand)}.detail-tab.active:after{content:"";background:var(--grit-accent-soft);border-radius:100px;height:2px;position:absolute;bottom:-2px;left:0;right:0}.standings-table-container{overflow-x:auto}.standings-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.standings-table th{text-transform:uppercase;color:var(--grit-muted);border-bottom:1px solid var(--grit-line);letter-spacing:.05em;padding:.75rem .5rem;font-size:.75rem;font-weight:700}.standings-table td{border-bottom:1px solid var(--grit-line);color:var(--grit-text);padding:1rem .5rem}.standings-table tr:hover td{background:var(--grit-soft)}.table-team-cell{flex-direction:column;gap:.15rem;display:flex}.table-team-name{font-size:1rem;font-weight:700}.table-team-players{color:var(--grit-muted);font-size:.8rem}.league-matches-list{flex-direction:column;gap:.625rem;display:flex}.league-match-row{background:var(--grit-soft);border:1px solid var(--grit-line);border-radius:14px;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.round-tag{background:var(--grit-soft);color:var(--grit-muted);text-transform:uppercase;border-radius:4px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.match-vs-row{align-items:center;gap:.75rem;display:flex}.match-team-text{color:var(--grit-muted);font-size:.875rem;font-weight:600}.match-team-text.win{color:var(--grit-text);font-weight:700}.vs-tag{color:var(--grit-muted);font-size:.75rem;font-weight:700}.match-row-score{font-family:var(--font-manrope), system-ui, sans-serif;color:var(--grit-brand);font-size:.95rem;font-weight:700}.match-row-time{color:var(--grit-muted);font-size:.75rem}.registration-container{background:var(--grit-soft);border:1px solid var(--grit-line);border-radius:20px;padding:2rem}.reg-title{font-family:var(--font-manrope), system-ui, sans-serif;color:var(--grit-text);margin-bottom:.375rem;font-size:1.25rem;font-weight:700}.reg-subtitle{color:var(--grit-muted);margin-bottom:1.5rem;font-size:.8rem}.reg-form{flex-direction:column;gap:1.25rem;display:flex}.partner-selected-box{background:var(--grit-accent-soft);border:1px solid var(--grit-line);color:var(--grit-brand);border-radius:12px;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.9rem;font-weight:700;display:flex}.clear-partner-btn{color:var(--grit-muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem}.clear-partner-btn:hover{color:var(--grit-danger)}.player-dropdown{background:var(--grit-surface);border:1px solid var(--grit-line);z-index:100;box-shadow:var(--grit-shadow);border-radius:14px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}.player-dropdown-option{border:none;border-bottom:1px solid var(--grit-line);width:100%;color:var(--grit-muted);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.85rem;display:flex}.player-dropdown-option:hover{background:var(--grit-accent-soft);color:var(--grit-brand)}.player-dropdown-option:last-child{border-bottom:none}.player-drop-level{text-transform:uppercase;color:var(--grit-muted);font-size:.75rem}.dropdown-empty{text-align:center;color:var(--grit-muted);padding:1rem;font-size:.8rem}.reg-submit-btn{background:var(--grit-accent);color:var(--grit-ink);cursor:pointer;box-shadow:var(--grit-shadow);border:none;border-radius:12px;margin-top:.5rem;padding:.9rem;font-size:.925rem;font-weight:700;transition:all .2s}.reg-submit-btn:hover{box-shadow:var(--grit-shadow)}.reg-submit-btn:disabled{opacity:.5;cursor:not-allowed}.division-filter-tabs{background:var(--grit-soft);border:1px solid var(--grit-line);border-radius:12px;gap:.375rem;margin-bottom:1rem;padding:.25rem;display:flex}.division-filter-tab{color:var(--grit-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:.5rem .75rem;font-size:.75rem;font-weight:700;transition:all .2s}.division-filter-tab:hover{color:var(--grit-muted)}.division-filter-tab.active{background:var(--grit-accent-soft);color:var(--grit-brand);border:1px solid var(--grit-line)}.division-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:6px;flex-shrink:0;align-items:center;padding:.1rem .45rem;font-size:.75rem;font-weight:700;display:inline-flex}.division-badge.div-a{background:var(--grit-accent-soft);color:var(--grit-brand);border:1px solid var(--grit-line)}.division-badge.div-b{color:#fb923c;background:#fb923c1f;border:1px solid #fb923c40}.playoff-zone-row td{position:relative}.playoff-zone-row td:first-child:before{content:"";background:var(--grit-accent);width:3px;color:var(--grit-ink);border-radius:2px;position:absolute;top:4px;bottom:4px;left:0}.elimination-zone-row td{opacity:.45}.phase-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:6px;align-items:center;padding:.125rem .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.phase-badge.regular{color:var(--grit-info);background:#60a5fa1a;border:1px solid #60a5fa33}.phase-badge.playoff{color:var(--grit-warning);background:#fbbf241a;border:1px solid #fbbf2433}.bo3-badge{color:var(--grit-info);text-transform:uppercase;background:#a855f71a;border:1px solid #a855f740;border-radius:5px;align-items:center;padding:.1rem .4rem;font-size:.75rem;font-weight:700;display:inline-flex}.division-assign-panel{background:var(--grit-soft);border:1px solid var(--grit-line);border-radius:20px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.division-assign-header{justify-content:space-between;align-items:center;display:flex}.division-assign-header h4{color:var(--grit-text);font-size:1rem;font-weight:700}.division-counts{gap:.75rem;display:flex}.division-count-badge{border-radius:8px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.division-count-badge.div-a{background:var(--grit-accent-soft);color:var(--grit-brand);border:1px solid var(--grit-line)}.division-count-badge.div-b{color:#fb923c;background:#fb923c1a;border:1px solid #fb923c33}.division-assign-list{flex-direction:column;gap:.375rem;display:flex}.division-assign-team{background:var(--grit-soft);border:1px solid var(--grit-line);border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .875rem;display:flex}.division-assign-team-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.division-assign-team-name{color:var(--grit-text);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:700;overflow:hidden}.division-assign-team-players{color:var(--grit-muted);font-size:.75rem}.division-assign-btns{flex-shrink:0;gap:.25rem;display:flex}.division-assign-btn{background:var(--grit-soft);border:1px solid var(--grit-line);color:var(--grit-muted);cursor:pointer;border-radius:8px;padding:.3rem .65rem;font-size:.75rem;font-weight:700;transition:all .2s}.division-assign-btn:hover{background:var(--grit-soft);color:var(--grit-muted)}.division-assign-btn.active-a{background:var(--grit-accent-soft);border-color:var(--grit-line);color:var(--grit-brand)}.division-assign-btn.active-b{color:#fb923c;background:#fb923c26;border-color:#fb923c66}.playoff-bracket-container{flex-direction:column;gap:2rem;display:flex}.playoff-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--grit-muted);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.75rem;font-weight:700;display:flex}.playoff-section-title:after{content:"";background:var(--grit-soft);flex:1;height:1px}.playoff-bracket-round{flex-direction:column;gap:.5rem;display:flex}.playoff-bracket-round-title{text-transform:uppercase;letter-spacing:.06em;color:var(--grit-muted);margin-bottom:.375rem;padding-left:.25rem;font-size:.75rem;font-weight:700}.playoff-match-card{background:var(--grit-soft);border:1px solid var(--grit-line);border-radius:14px;flex-direction:column;transition:all .2s;display:flex;overflow:hidden}.playoff-match-card:hover{border-color:var(--grit-line);background:var(--grit-soft)}.playoff-match-card.completed{border-color:var(--grit-line)}.playoff-match-team{justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem .875rem;display:flex}.playoff-match-team+.playoff-match-team{border-top:1px solid var(--grit-line)}.playoff-match-team-name{color:var(--grit-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8rem;font-weight:600;overflow:hidden}.playoff-match-team.winner .playoff-match-team-name{color:var(--grit-text);font-weight:700}.playoff-match-seed{color:var(--grit-muted);text-align:center;flex-shrink:0;width:20px;font-size:.75rem;font-weight:700}.playoff-match-score{font-family:var(--font-manrope), system-ui, sans-serif;color:var(--grit-muted);flex-shrink:0;font-size:.85rem;font-weight:700}.playoff-match-team.winner .playoff-match-score{color:var(--grit-brand)}.playoff-match-team.tbd .playoff-match-team-name{color:var(--grit-muted);font-style:italic}.playoff-match-meta{background:var(--grit-soft);border-top:1px solid var(--grit-line);justify-content:space-between;align-items:center;padding:.35rem .875rem;display:flex}.championship-final-card{background:linear-gradient(135deg,#fbbf240a,#fb923c0a);border:1px solid #fbbf2426;border-radius:20px;position:relative;overflow:hidden}.championship-final-card:before{content:"";background:linear-gradient(90deg,#fbbf24,#fb923c,#fbbf24);height:3px;position:absolute;top:0;left:0;right:0}.championship-final-header{text-transform:uppercase;letter-spacing:.06em;color:var(--grit-warning);justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:.75rem;font-weight:700;display:flex}.championship-teams{justify-content:center;align-items:center;gap:1.5rem;padding:.5rem 1.5rem 1.25rem;display:flex}.championship-team{text-align:center;flex-direction:column;flex:1;align-items:center;gap:.375rem;display:flex}.championship-team-name{color:var(--grit-muted);font-size:.9rem;font-weight:700}.championship-team.winner .championship-team-name{color:var(--grit-warning);font-size:1rem;font-weight:700}.championship-vs{color:var(--grit-muted);background:var(--grit-soft);border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:700}.championship-score{font-family:var(--font-manrope), system-ui, sans-serif;color:var(--grit-muted);margin-top:.125rem;font-size:.8rem;font-weight:700}.championship-team.winner .championship-score{color:var(--grit-warning)}.match-phase-filter{gap:.375rem;margin-bottom:.75rem;display:flex}.match-phase-btn{background:var(--grit-soft);border:1px solid var(--grit-line);color:var(--grit-muted);cursor:pointer;border-radius:8px;padding:.35rem .75rem;font-size:.75rem;font-weight:700;transition:all .2s}.match-phase-btn:hover{color:var(--grit-muted)}.match-phase-btn.active{background:var(--grit-accent-soft);border-color:var(--grit-line);color:var(--grit-brand)}.week-filter-select{background:var(--grit-soft);border:1px solid var(--grit-line);color:var(--grit-muted);cursor:pointer;appearance:auto;-webkit-appearance:menulist;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;outline:none;padding:.35rem .75rem;font-size:.75rem;font-weight:600}.week-filter-select option{background:var(--grit-surface);color:var(--grit-text)}.format-toggle-group{gap:.5rem;display:flex}.format-toggle-btn{background:var(--grit-soft);border:1px solid var(--grit-line);color:var(--grit-muted);cursor:pointer;text-align:center;border-radius:12px;flex:1;padding:.75rem .5rem;font-size:.8rem;font-weight:700;transition:all .2s}.format-toggle-btn.active{background:var(--grit-accent-soft);border-color:var(--grit-line);color:var(--grit-brand)}.format-info-box{color:var(--grit-muted);background:#60a5fa0d;border:1px solid #60a5fa26;border-radius:12px;padding:.875rem;font-size:.75rem;line-height:1.5}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-label{color:var(--grit-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.form-input{background:var(--grit-soft);border:1px solid var(--grit-line);color:var(--grit-text);border-radius:12px;outline:none;padding:.75rem 1rem;font-size:.9rem;transition:border-color .2s}.form-input:focus{border-color:var(--grit-line)}.form-input::placeholder{color:var(--grit-muted)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--grit-surface);border:1px solid var(--grit-line);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--grit-shadow);border-radius:24px;padding:2rem;overflow-y:auto}.modal-title{font-family:var(--font-manrope), system-ui, sans-serif;color:var(--grit-text);margin-bottom:1.5rem;font-size:1.25rem;font-weight:700}.modal-form{flex-direction:column;gap:1rem;display:flex}.modal-actions{gap:.75rem;margin-top:.5rem;display:flex}.modal-cancel-btn{background:var(--grit-soft);border:1px solid var(--grit-line);color:var(--grit-muted);cursor:pointer;border-radius:12px;flex:1;padding:.75rem;font-size:.85rem;font-weight:600}.modal-submit-btn{background:var(--grit-accent);color:var(--grit-ink);cursor:pointer;box-shadow:var(--grit-shadow);border:none;border-radius:12px;flex:1;padding:.75rem;font-size:.85rem;font-weight:700}.modal-submit-btn:disabled{opacity:.5;cursor:not-allowed}.score-modal-grid{flex-direction:column;gap:.5rem;display:flex}.score-team-headers{text-transform:uppercase;color:var(--grit-muted);grid-template-columns:1.5fr 1fr 1fr 1fr;gap:.5rem;padding:.5rem 0;font-size:.75rem;font-weight:700;display:grid}.score-team-row{grid-template-columns:1.5fr 1fr 1fr 1fr;align-items:center;gap:.5rem;display:grid}.score-team-name{color:var(--grit-text);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:700;overflow:hidden}.score-input-box{background:var(--grit-soft);border:1px solid var(--grit-line);color:var(--grit-text);text-align:center;border-radius:10px;outline:none;width:100%;padding:.6rem .5rem;font-size:1rem;font-weight:700;transition:border-color .2s}.score-input-box:focus{border-color:var(--grit-line)}.score-hint-text{color:var(--grit-muted);margin-top:.25rem;font-size:.75rem;font-style:italic}@media (max-width:480px){.detail-tabs{flex-wrap:wrap}.detail-tab{padding:.6rem .75rem;font-size:.78rem}.standings-table{font-size:.8rem}.standings-table th,.standings-table td{padding:.6rem .35rem}.division-assign-team{padding:.5rem .65rem}.championship-teams{gap:1rem;padding:.5rem 1rem 1rem}.playoff-match-team{padding:.5rem .65rem}}@keyframes sheetFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.leagues-wrapper .modal-card{color:#142d4e;background:#fff;max-height:calc(100dvh - 24px);overflow-y:auto}.leagues-wrapper .modal-card :is(input,select,textarea){box-sizing:border-box;min-width:0;max-width:100%;min-height:44px}.leagues-wrapper .modal-card .form-group{min-width:0}.leagues-wrapper .modal-card .modal-actions{z-index:2;background:#fff;padding-block:12px;position:sticky;bottom:-1px}.leagues-wrapper .modal-card :is(button,.form-input),.leagues-wrapper .detail-tabs button{min-height:44px}@media (max-width:600px){.leagues-wrapper .modal-overlay{padding:12px!important}.leagues-wrapper .modal-card{max-width:100%!important;padding:20px 16px!important}.leagues-wrapper .modal-card .score-inputs-row{grid-template-columns:minmax(0,1fr)!important}.leagues-wrapper .modal-card :is(input,select,textarea){width:100%;font-size:16px}.leagues-wrapper .modal-card .form-row{grid-template-columns:minmax(0,1fr);display:grid}.leagues-wrapper .modal-card [style*=grid-template-columns]{grid-template-columns:minmax(0,1fr)!important}}
