:root{--red: #c8102e;--red-dark: #a30d26;--navy: #0c2340;--navy-soft: #1d3a5f;--gray: #c1c6c8;--gray-light: #e6e8e9;--bg: #f6f7f8;--surface: #ffffff;--text: #1a2431;--muted: #5b6773;--win: #1e7d43;--loss: #c8102e;--push: #8a6d1a;--radius: 10px;--shadow: 0 1px 3px rgba(12, 35, 64, .08), 0 4px 16px rgba(12, 35, 64, .05)}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{color:var(--navy);line-height:1.2;margin:0 0 .5rem}h2{font-size:1.5rem}h3{font-size:1.05rem}p{margin:.35rem 0}a{color:var(--navy)}.muted{color:var(--muted);font-size:.9rem}.error-text{color:var(--loss);font-size:.9rem;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:var(--radius);padding:.55rem 1.1rem;font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--red);color:#fff}.btn.primary:not(:disabled):hover{background:var(--red-dark)}.btn.navy{background:var(--navy);color:#fff}.btn.navy:not(:disabled):hover{background:var(--navy-soft)}.btn.ghost{background:transparent;color:var(--navy);border-color:var(--gray)}.btn.ghost:not(:disabled):hover{border-color:var(--navy)}.btn.link{background:none;border:none;color:var(--red);padding:.25rem 0;text-decoration:underline}.btn.small{padding:.3rem .7rem;font-size:.85rem}.btn.wide{width:100%}.btn.step{background:var(--gray-light);color:var(--navy);border-radius:6px;padding:.25rem .6rem;font-size:.9rem}.btn.step:hover{background:var(--gray)}.badge{display:inline-block;border-radius:999px;padding:.12rem .6rem;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle;background:var(--gray-light);color:var(--navy)}.badge.demo,.badge.role,.badge.role-manager{background:var(--navy);color:#fff}.badge.role-player{background:var(--gray-light);color:var(--navy)}.badge.status-open,.badge.ok{background:#e2f2e8;color:var(--win)}.badge.status-draft,.badge.idle{background:var(--gray-light);color:var(--muted)}.badge.status-locked,.badge.pending{background:#fdf1d7;color:var(--push)}.badge.status-scored,.badge.status-archived{background:#e8ecf3;color:var(--navy)}.badge.adjusted{background:#fbe4e8;color:var(--red)}.badge.role{margin-left:.5rem}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--navy);color:#fff;box-shadow:var(--shadow)}.topbar-inner{max-width:1080px;margin:0 auto;padding:.65rem 1.25rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:#fff}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:8px;background:var(--red);color:#fff;font-weight:800;font-size:.9rem;letter-spacing:.02em}.brand-mark.large{width:3.2rem;height:3.2rem;font-size:1.2rem;margin:0 auto .75rem}.brand-name{font-weight:700;font-size:1.05rem}.main-nav{display:flex;gap:.25rem}.main-nav a{color:#ffffffbf;text-decoration:none;font-weight:600;font-size:.95rem;padding:.35rem .75rem;border-radius:8px}.main-nav a:hover{color:#fff}.main-nav a.active{color:#fff;background:#ffffff1f}.user-area{margin-left:auto;display:flex;align-items:center;gap:.75rem}.user-name{font-size:.9rem;font-weight:600}.topbar .btn.ghost{color:#fff;border-color:#ffffff59}.topbar .btn.ghost:hover{border-color:#fff}.page{width:100%;max-width:1080px;margin:0 auto;padding:1.5rem 1.25rem 3rem;flex:1}.page-head{margin-bottom:1rem}.footer{border-top:1px solid var(--gray-light);padding:1rem 1.25rem;text-align:center;color:var(--muted);font-size:.85rem}.splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;text-align:center;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--gray-light);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.25rem;margin-bottom:1.25rem}.panel.highlight{border-top:4px solid var(--red)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.panel-head h3{margin:0}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.dash-grid .panel{margin-bottom:0}.deadline-line{color:var(--muted);font-size:.95rem}.deadline-line strong{color:var(--navy)}.countdown{display:inline-block;font-weight:700;color:var(--red);font-variant-numeric:tabular-nums}.countdown.expired{color:var(--muted)}.notice{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#fbe4e8;color:var(--red-dark);border:1px solid #f3c2cb;border-radius:var(--radius);padding:.6rem .9rem;margin-bottom:1rem;font-size:.92rem}.notice-close{background:none;border:none;color:inherit;font-size:1.2rem;cursor:pointer;line-height:1}.progress-track{height:6px;border-radius:999px;background:var(--gray-light);overflow:hidden;margin:.5rem 0}.progress-fill{height:100%;background:var(--red);border-radius:999px;transition:width .2s ease}.status-list,.week-list,.demo-users{list-style:none;margin:.5rem 0;padding:0}.status-list li,.week-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--gray-light);font-size:.95rem}.status-list li:last-child,.week-list li:last-child{border-bottom:none}.user-actions{display:inline-flex;align-items:center;gap:.5rem}.audit-list{list-style:none;margin:.5rem 0;padding:0}.audit-row{display:flex;align-items:baseline;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--gray-light);font-size:.9rem}.audit-row:last-child{border-bottom:none}.audit-action{flex-shrink:0;min-width:8.5rem;text-align:center}.audit-summary{flex:1}.audit-meta{flex-shrink:0;font-size:.8rem}@media (max-width: 640px){.audit-row{flex-wrap:wrap}.audit-meta{width:100%}}.deadline-edit{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.5rem;margin:.25rem 0 0;font-size:.9rem}.deadline-edit label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.manual-game-form{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--gray-light)}.manual-game-form h4{margin:0 0 .5rem}.manual-game-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem}.manual-game-fields label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.manual-game-actions{display:flex;gap:.5rem;margin-top:.6rem}.season-form{display:flex;flex-direction:column;gap:.75rem;width:min(320px,90vw);text-align:left}.season-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.validation-list{margin:.5rem 0;padding-left:1.2rem;color:var(--red-dark);font-size:.9rem}.hint{color:var(--push);font-size:.85rem;margin:.25rem 0 0}.game-list,.card-list,.pool-list{list-style:none;margin:.75rem 0;padding:0}.game-row{padding:.75rem 0;border-bottom:1px solid var(--gray-light)}.game-row:last-child{border-bottom:none}.game-meta{font-size:.8rem;color:var(--muted);margin-bottom:.35rem}.side-buttons{display:flex;align-items:stretch;gap:.5rem}.side-buttons .at{align-self:center;color:var(--muted);font-size:.8rem;text-transform:uppercase}.side{flex:1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:1.5px solid var(--gray);border-radius:var(--radius);background:var(--surface);padding:.55rem .8rem;font-size:.95rem;cursor:pointer;transition:border-color .15s ease,background .15s ease}.side:hover{border-color:var(--navy)}.side.selected{border-color:var(--red);background:#fdf3f5;box-shadow:inset 0 0 0 1px var(--red)}.side .team{font-weight:600;color:var(--navy);text-align:left}.side .spread{font-weight:700;color:var(--red);font-variant-numeric:tabular-nums}.submit-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem}.builder{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1.25rem;align-items:start}.builder .panel{margin-bottom:0}.week-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0}.tab{border:1px solid var(--gray);background:var(--surface);color:var(--navy);border-radius:999px;padding:.3rem .9rem;font-size:.88rem;font-weight:600;cursor:pointer}.tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.card-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.7rem 0;border-bottom:1px solid var(--gray-light)}.card-row:last-child{border-bottom:none}.card-row-main{flex:1;min-width:0}.matchup{font-weight:600;color:var(--navy);font-size:.95rem}.line-block{margin-top:.35rem}.line-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.line{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;font-size:.92rem}.line.push-risk{color:var(--push)}.pool-list li{margin-bottom:.4rem}.pool-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:1px solid var(--gray-light);border-radius:var(--radius);background:var(--surface);padding:.5rem .75rem;font-size:.88rem;cursor:pointer;text-align:left}.pool-item:hover{border-color:var(--navy)}.pool-item.selected{border-color:var(--red);background:#fdf3f5}.pool-item .spread{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.score-inputs{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.score-inputs label{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--muted)}.score-inputs input{width:4.5rem;padding:.35rem .5rem;border:1px solid var(--gray);border-radius:8px;font-size:.95rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--gray-light)}thead th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.num{text-align:right;font-variant-numeric:tabular-nums}.standings tbody tr:first-child td{font-weight:700}.reveal th.game-cell{min-width:13rem;font-weight:500}.reveal .line,.reveal .score{font-size:.8rem;color:var(--muted);font-weight:500}.reveal td.pick{white-space:nowrap;font-weight:600}.reveal td.nopick{color:var(--gray)}.reveal td.outcome-win{color:var(--win)}.reveal td.outcome-loss{color:var(--loss);text-decoration:line-through;text-decoration-thickness:1px}.reveal td.outcome-push,.reveal td.outcome-void{color:var(--push)}.reveal .side-counts{font-size:.78rem;color:var(--muted);margin-top:.15rem}.reveal-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.player-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;margin-top:.75rem}.player-card{border:1px solid var(--gray-light);border-radius:10px;padding:.75rem .9rem}.player-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.player-card-list{list-style:none;margin:0;padding:0;font-size:.88rem}.player-card-list li{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;padding:.28rem 0;border-bottom:1px solid var(--gray-light)}.player-card-list li:last-child{border-bottom:none}.player-card-list .pick-team{font-weight:600;white-space:nowrap}.player-card-list .pick-context{color:var(--muted);font-size:.78rem;text-align:right}.player-card-list li.outcome-win .pick-team{color:var(--win)}.player-card-list li.outcome-loss .pick-team{color:var(--loss);text-decoration:line-through;text-decoration-thickness:1px}.player-card-list li.outcome-push .pick-team,.player-card-list li.outcome-void .pick-team{color:var(--push)}.player-card-list li.nopick .pick-team{color:var(--gray)}.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(160deg,#0c2340f0,#0c2340e0),var(--navy)}.signin-card{width:100%;max-width:26rem;background:var(--surface);border-radius:14px;box-shadow:0 12px 40px #00000059;padding:2rem;text-align:center}.signin-card h1{font-size:1.5rem;margin-bottom:.25rem}.tagline{color:var(--muted);font-size:.92rem;margin-bottom:1.25rem}.divider{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin:1rem 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--gray-light)}.email-form{display:flex;flex-direction:column;gap:.75rem;text-align:left}.email-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;font-weight:600;color:var(--navy)}.email-form input{padding:.55rem .75rem;border:1px solid var(--gray);border-radius:8px;font-size:.95rem}.email-form input:focus{outline:2px solid var(--navy);outline-offset:1px}.demo-panel{margin-top:.75rem}.demo-users li{margin-bottom:.4rem}.demo-users .btn{justify-content:space-between}.small-print{margin-top:1rem;font-size:.8rem}@media (max-width: 860px){.builder{grid-template-columns:1fr}}@media (max-width: 720px){.dash-grid{grid-template-columns:1fr}.topbar-inner{gap:.75rem}.user-name{display:none}.side-buttons{flex-direction:column}.side-buttons .at{display:none}.page{padding:1rem .9rem 2.5rem}}
