:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#172033;background:#f7f8fb}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#121826;color:white;position:sticky;top:0;z-index:5}header a{color:white;text-decoration:none;margin-right:16px}main{padding:24px;max-width:1500px;margin:auto}h1,h2,h3{margin-top:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.team-logo-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.card{display:block;background:white;border:1px solid #dde3ef;border-radius:12px;padding:14px;text-decoration:none;color:#172033;box-shadow:0 1px 2px #0001;margin-bottom:16px}.team-card b{display:block;font-size:22px;margin-bottom:4px}.logo-card{display:flex;align-items:center;justify-content:center;min-height:92px;padding:12px}.logo-card img{display:block;max-width:82px;max-height:82px;object-fit:contain}.logo-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0002}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.muted{color:#64748b}.small{font-size:12px}.warn{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;padding:10px}.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.metric-grid,.totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:10px}.metric{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px}.metric span{display:block;color:#64748b;font-size:12px}.metric b{font-size:20px}.projection-section{background:white;border:1px solid #dde3ef;border-radius:12px;margin:16px 0;overflow:hidden}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#f8fafc;border-bottom:1px solid #dde3ef}.section-title h3{margin:0;font-size:22px}.section-title select{max-width:520px}.table-wrap{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;background:white}th,td{border:1px solid #dde3ef;padding:6px 8px;text-align:left;vertical-align:top}th{background:#eef2f7;white-space:nowrap;font-size:12px}td{font-size:13px}.sticky-col{position:sticky;left:0;background:inherit;z-index:2;min-width:170px}.projection-table th.sticky-col{background:#eef2f7;z-index:3}.input-head{background:#e0f2fe}.output-head{background:#dcfce7}.calc{background:#f0fdf4;font-variant-numeric:tabular-nums}input,select{padding:5px;border:1px solid #ccd4e0;border-radius:6px;background:white}input{width:72px}button{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:6px 10px;cursor:pointer}button.primary{background:#2563eb;color:white;border-color:#1d4ed8}button.ghost{color:#64748b}.savebar{position:sticky;bottom:0;background:#fff;border:1px solid #dde3ef;border-radius:12px;padding:10px;margin-top:10px;box-shadow:0 -4px 18px #0001}.report{white-space:pre-wrap;background:#0f172a;color:#e5e7eb;padding:16px;border-radius:12px;overflow:auto}pre{white-space:pre-wrap;max-height:360px;overflow:auto}@media(max-width:800px){main{padding:14px}.page-title,.section-title{display:block}.section-title select{max-width:100%;margin:8px 0}.metric b{font-size:16px}.team-logo-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr))}.logo-card{min-height:76px}.logo-card img{max-width:64px;max-height:64px}}
.toolbar{display:flex;align-items:center;gap:10px;margin:0 0 12px}.player-cell{display:flex;align-items:center;justify-content:space-between;gap:10px}.mini{font-size:12px;padding:3px 7px}.danger{border-color:#fecaca;background:#fff1f2;color:#be123c}.danger:hover{background:#ffe4e6}
.player-main{display:flex;align-items:center;gap:8px;min-width:190px}.headshot{width:34px;height:34px;border-radius:999px;object-fit:cover;background:#e2e8f0;flex:0 0 auto}.headshot.placeholder{display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:#64748b}.row-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}.player-cell{min-width:330px}.player-cell b{line-height:1.1}
.view-toggle{display:inline-flex;border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;background:#fff}.view-toggle button{border:0;border-right:1px solid #cbd5e1;border-radius:0}.view-toggle button:last-child{border-right:0}.view-toggle button.active{background:#0f172a;color:white}.toolbar .view-toggle,.savebar .view-toggle{margin-left:6px;margin-right:6px}.notes-toggle.active{background:#0f172a;color:white;border-color:#0f172a}.notes-toggle{white-space:nowrap}
.projection-table input{width:25px;min-width:25px;box-sizing:border-box;padding:3px 2px;font-size:12px;text-align:center}.projection-table th{padding:5px 4px;text-align:center}.projection-table td{padding:5px 4px}.projection-table .sticky-col{text-align:left}.input-head,.output-head{font-size:11px;letter-spacing:-.02em}.calc{text-align:center}
.xbtn{width:18px;height:18px;line-height:14px;padding:0;border-radius:999px;font-size:16px;font-weight:800;text-align:center}.notes-input{width:150px!important;min-width:150px!important;text-align:left!important;padding:3px 5px!important}.projection-table th:nth-child(2){min-width:150px}.row-actions{gap:3px}
/* Compact stat grid pass */
.projection-table{table-layout:auto}.projection-table th.input-head,.projection-table th.output-head{width:34px;min-width:34px;max-width:34px;padding-left:2px;padding-right:2px}.projection-table td{box-sizing:border-box}.projection-table td input:not(.notes-input){display:block;width:100%!important;min-width:0!important;max-width:34px;box-sizing:border-box;margin:0 auto;padding-left:1px!important;padding-right:1px!important}.player-cell{min-width:175px!important;width:175px;max-width:175px}.player-main{min-width:0!important;gap:6px;flex:1 1 auto;overflow:hidden}.player-main b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:92px}.headshot{width:26px;height:26px}.row-actions{flex:0 0 auto}.row-actions .mini{padding:2px 5px}.xbtn{width:16px;height:16px;font-size:14px;line-height:12px}.notes-input{width:115px!important;min-width:115px!important;max-width:115px!important}
/* Restore readable player/notes columns while keeping stat inputs compact */
.player-cell{min-width:330px!important;width:330px!important;max-width:none!important}.player-main{min-width:220px!important;max-width:none!important}.player-main b{max-width:none!important;white-space:nowrap;overflow:visible;text-overflow:clip}.headshot{width:34px;height:34px}.notes-input{width:330px!important;min-width:330px!important;max-width:330px!important}.projection-table th:nth-child(2){min-width:330px}.projection-table th.input-head,.projection-table th.output-head{width:38px;min-width:38px;max-width:38px}.projection-table td input:not(.notes-input){max-width:38px}
/* Layout balance: Player + Notes should be about half the row, stats get the other half */
.projection-table{table-layout:fixed;width:100%}.projection-table col.player-col{width:25%}.projection-table col.notes-col{width:25%}.projection-table col.stat-col{width:auto}.player-cell{min-width:0!important;width:auto!important;max-width:none!important}.player-main{min-width:0!important;max-width:none!important;flex:1 1 auto}.player-main b{max-width:none!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-input{display:block;width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box}.projection-table th:nth-child(2){min-width:0!important}.projection-table th.input-head,.projection-table th.output-head{width:auto!important;min-width:0!important;max-width:none!important}.projection-table td input:not(.notes-input){max-width:none!important;width:100%!important}.row-actions{margin-left:6px}
.team-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0f172a,#1e3a8a);color:white;border-radius:22px;padding:22px;margin-bottom:18px;box-shadow:0 18px 40px #0f172a26}.team-hero:after{content:"";position:absolute;right:-80px;top:-120px;width:320px;height:320px;border-radius:999px;background:rgba(255,255,255,.08)}.hero-left,.hero-actions,.hero-metrics,.hero-review{position:relative;z-index:1}.team-hero .back-link{color:#bfdbfe;text-decoration:none;font-size:13px}.hero-title{display:flex;align-items:center;gap:18px;margin-top:10px}.hero-logo{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 8px 18px #0006)}.hero-title h1{font-size:46px;line-height:1;margin:0}.hero-title p{margin:8px 0 0;color:#dbeafe}.hero-actions{position:absolute;right:22px;top:22px}.hero-actions .primary{background:#f8fafc;color:#0f172a;border-color:#f8fafc;font-weight:700}.hero-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:10px;margin-top:20px;max-width:900px}.hero-metric{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:10px 12px;backdrop-filter:blur(4px)}.hero-metric span{display:block;color:#bfdbfe;font-size:12px}.hero-metric b{font-size:22px}.hero-review{margin-top:12px;background:rgba(251,191,36,.16);border:1px solid rgba(251,191,36,.35);color:#fff7ed;border-radius:12px;padding:10px 12px}.builder-card{padding:0;overflow:hidden}.builder-heading{padding:16px 18px;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#fff,#f8fafc)}.builder-heading h2{margin-bottom:4px}@media(max-width:800px){.hero-actions{position:static;margin-top:14px}.hero-logo{width:72px;height:72px}.hero-title h1{font-size:34px}.hero-metrics{grid-template-columns:repeat(2,1fr)}}
.team-hero{background:radial-gradient(circle at 92% 12%,color-mix(in srgb,var(--team-secondary) 78%,white 10%),transparent 28%),linear-gradient(135deg,var(--team-primary),color-mix(in srgb,var(--team-primary) 62%,black 38%) 48%,var(--team-secondary))!important}.team-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.06));pointer-events:none}.hero-metric{background:rgba(255,255,255,.15)}
.hero-metrics{grid-template-columns:repeat(9,minmax(76px,1fr))!important;max-width:none!important;gap:8px}.hero-metric{padding:9px 10px}.hero-metric span{font-size:11px}.hero-metric b{font-size:22px}@media(max-width:1100px){.hero-metrics{grid-template-columns:repeat(5,minmax(76px,1fr))!important}}@media(max-width:800px){.hero-metrics{grid-template-columns:repeat(2,1fr)!important}}
.env-hero{background:linear-gradient(135deg,#0f172a,#1d4ed8);color:white;border-radius:22px;padding:26px;margin-bottom:18px;box-shadow:0 18px 40px #0f172a22}.env-hero h1{font-size:42px;margin:0 0 8px}.env-hero p{max-width:780px;color:#dbeafe}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:#bfdbfe!important;margin:0 0 6px}.env-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(335px,1fr));gap:16px}.env-card{position:relative;overflow:hidden;text-decoration:none;color:#172033;background:white;border:1px solid #dde3ef;border-radius:18px;padding:14px;box-shadow:0 8px 22px #0000000d}.env-card:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,var(--team-primary),var(--team-secondary))}.env-card-top{display:flex;align-items:center;gap:12px;margin:6px 0 12px}.env-card-top img{width:56px;height:56px;object-fit:contain}.env-card-top h2{font-size:20px;margin:0}.env-card-top span{color:#64748b;font-size:12px}.env-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.env-stat-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px}.env-stat-grid span{display:block;color:#64748b;font-size:11px}.env-stat-grid b{font-size:18px}.env-card:hover{transform:translateY(-1px);box-shadow:0 14px 30px #00000017}@media(max-width:800px){.env-grid{grid-template-columns:1fr}.env-hero h1{font-size:32px}}
.hero-stat-block{position:relative;z-index:1;margin-top:16px}.hero-stat-block h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#dbeafe}.hero-stat-block+.hero-stat-block{margin-top:12px}.env-metrics .hero-metric{background:rgba(15,23,42,.18);border-color:rgba(255,255,255,.16)}.manual-metrics .hero-metric{background:rgba(255,255,255,.16)}
/* Wider calculated result cells for clean 4-digit numbers */
.projection-table col.stat-col{min-width:42px}.projection-table th.output-head{width:56px!important;min-width:56px!important}.projection-table td.calc{min-width:56px;padding-left:6px;padding-right:6px}.projection-table th.input-head{width:38px!important;min-width:38px!important}.projection-table td input:not(.notes-input){max-width:38px!important}
.manual-metrics .hero-metric.over-env{background:rgba(248,113,113,.26)!important;border-color:rgba(252,165,165,.7)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.manual-metrics .hero-metric.over-env span,.manual-metrics .hero-metric.over-env b{color:#fff5f5}
.env-actions{display:flex;align-items:center;gap:10px;margin-top:16px}.editable-env-card{display:block}.env-card-top a{text-decoration:none;color:inherit}.env-card-top{align-items:center}.env-reset{margin-left:auto;font-size:12px;padding:5px 8px}.env-stat-grid label{display:block;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px}.env-stat-grid label span{display:block;color:#64748b;font-size:11px}.env-stat-grid label input{width:100%;box-sizing:border-box;border:0;background:transparent;font-size:18px;font-weight:800;color:#172033;padding:2px 0}.env-stat-grid label input:focus{outline:2px solid #93c5fd;border-radius:6px;background:white;padding-left:4px}.env-hero .muted{color:#dbeafe}
.clear-btn{font-weight:800;color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.clear-btn:hover{background:#dbeafe}
/* Top nav cleanup / active tab state */
header{justify-content:flex-start!important}.topbar-left{display:flex;align-items:center;gap:18px}.brand{font-weight:800;white-space:nowrap}header nav{display:flex;align-items:center;gap:8px}header nav a{margin-right:0;padding:7px 11px;border-radius:999px;color:#cbd5e1}header nav a.active{background:#e0f2fe;color:#0f172a;font-weight:800;box-shadow:0 0 0 1px #bae6fd inset}header nav a:not(.active):hover{background:rgba(255,255,255,.1);color:white}
.research-notes{background:white;border:1px solid #dde3ef;border-radius:18px;padding:16px 18px;margin:0 0 16px;box-shadow:0 8px 22px #0000000d}.research-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.research-head h2{margin:0 0 3px;font-size:20px}.research-head p{margin:0;color:#64748b}.research-head>span{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;white-space:nowrap}.research-kpis{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-bottom:12px}.research-kpis div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px}.research-kpis span{display:block;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.research-kpis b{display:block;margin-top:3px}.research-flags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.research-flags span{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:700}.research-list{margin:8px 0 0;padding-left:19px;color:#334155}.research-list li{margin:5px 0;line-height:1.35}@media(max-width:900px){.research-kpis{grid-template-columns:repeat(2,1fr)}}
/* Simplified research notes */
.research-head{align-items:center}.research-head h2{margin:0}.research-kpis{grid-template-columns:repeat(3,minmax(180px,1fr))}.new-badge{display:inline-block;margin-left:5px;background:#dcfce7;color:#166534;border:1px solid #86efac;border-radius:999px;padding:1px 6px;font-style:normal;font-size:10px;font-weight:900;letter-spacing:.05em;vertical-align:middle}.research-notes .research-head p,.research-flags,.research-list{display:none!important}@media(max-width:900px){.research-kpis{grid-template-columns:1fr}}
.conference-section{margin:22px 0}.conference-section>h2{font-size:26px;margin:0 0 10px;color:#0f172a}.division-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px}.division-card{background:white;border:1px solid #dde3ef;border-radius:16px;padding:12px;box-shadow:0 6px 18px #0000000a}.division-card h3{margin:0 0 10px;color:#475569;font-size:14px;text-transform:uppercase;letter-spacing:.08em}.division-teams{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.division-teams .logo-card{min-height:82px;margin:0;flex-direction:column;gap:5px}.division-teams .logo-card img{max-width:56px;max-height:56px}.division-teams .logo-card span{font-size:12px;font-weight:800;color:#334155}@media(max-width:1100px){.division-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.division-grid{grid-template-columns:1fr}}
.home-hero{position:relative;min-height:132px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:8px}.home-hero h1{margin-top:0;padding-top:8px}.udk-brand-mark{position:absolute;right:0;top:-8px;width:min(310px,34vw);max-height:150px;object-fit:contain;filter:drop-shadow(0 10px 24px #0002)}@media(max-width:800px){.home-hero{min-height:92px}.udk-brand-mark{width:170px;opacity:.9}.home-hero h1{max-width:55%;font-size:28px}}
/* Polished home masthead */
.home-hero{min-height:172px!important;align-items:center!important;background:linear-gradient(135deg,#ffffff,#eef2f7);border:1px solid #dde3ef;border-radius:22px;padding:22px 28px;margin-bottom:24px;box-shadow:0 10px 28px #0000000b;overflow:hidden}.home-hero:after{content:"";position:absolute;right:-70px;top:-120px;width:360px;height:360px;border-radius:999px;background:radial-gradient(circle,#cbd5e1 0,#e2e8f0 45%,transparent 70%);opacity:.55}.home-hero h1{position:relative;z-index:1;font-size:44px;line-height:1.05;margin:0!important;letter-spacing:-.04em;color:#0f172a}.udk-brand-mark{position:relative!important;z-index:1;right:auto!important;top:auto!important;width:min(360px,32vw)!important;max-height:190px!important;filter:drop-shadow(0 14px 24px #0003)!important}@media(max-width:800px){.home-hero{min-height:128px!important;padding:18px}.home-hero h1{font-size:30px;max-width:58%}.udk-brand-mark{width:180px!important}}
.actuals-metrics .hero-metric{background:rgba(15,23,42,.24);border-color:rgba(255,255,255,.14)}.actuals-metrics .hero-metric span{color:#e2e8f0}
/* Cleaner compact hero stat rows */
.team-hero{padding:20px 22px 18px!important}.hero-stat-block{margin-top:14px!important}.hero-stat-block h3{font-size:12px!important;margin-bottom:6px!important;color:#fff!important;opacity:.95}.hero-metrics{display:grid!important;grid-template-columns:repeat(11,minmax(72px,1fr))!important;gap:6px!important}.hero-metric{min-height:46px;padding:7px 9px!important;border-radius:10px!important;background:rgba(15,23,42,.20)!important;border-color:rgba(255,255,255,.13)!important;box-shadow:none!important}.manual-metrics .hero-metric{background:rgba(255,255,255,.14)!important}.env-metrics .hero-metric,.actuals-metrics .hero-metric{background:rgba(15,23,42,.22)!important}.hero-metric span{font-size:10px!important;line-height:1;text-transform:uppercase;letter-spacing:.02em;color:#e2e8f0!important}.hero-metric b{display:block;margin-top:4px;font-size:21px!important;line-height:1;font-variant-numeric:tabular-nums}.hero-stat-block+.hero-stat-block{border-top:1px solid rgba(255,255,255,.12);padding-top:10px;margin-top:12px!important}.manual-metrics .hero-metric.over-env{background:rgba(248,113,113,.28)!important;border-color:rgba(252,165,165,.65)!important}@media(max-width:1250px){.hero-metrics{grid-template-columns:repeat(6,minmax(72px,1fr))!important}}@media(max-width:800px){.hero-metrics{grid-template-columns:repeat(3,1fr)!important}.hero-metric b{font-size:18px!important}}

.scoring-controls{display:flex;align-items:center;gap:10px;background:#f8fafc;border:1px solid #dde3ef;border-radius:12px;padding:10px 12px;margin:0 0 10px}.scoring-label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#475569}.player-name-stack{display:flex;flex-direction:column;gap:3px;min-width:0}.player-name-line{display:flex;align-items:center;gap:6px;min-width:0}.rank-pill{display:inline-flex;align-items:center;width:max-content;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:900;line-height:1.3;white-space:nowrap}.rookie-badge{display:inline-flex;align-items:center;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:900;line-height:1.3;white-space:nowrap}.last-year-row td{background:#f8fafc!important;color:#64748b;font-size:11px;line-height:1.25;padding:3px 8px;border-top:0}.last-year-row span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projection-table tr[data-key] td{border-bottom-color:#eef2f7}@media(max-width:800px){.scoring-controls{align-items:flex-start;flex-direction:column}.last-year-row span{white-space:normal}}
/* 2025 actuals now align directly under projected/input columns */
.last-year-row td{background:#f8fafc!important;color:#64748b!important;font-size:10px!important;line-height:1.15;padding:2px 4px!important;text-align:center;border-top:0}.last-year-row .last-year-label{font-weight:900;text-align:left;color:#334155!important;text-transform:uppercase;letter-spacing:.04em}.last-year-row .actual-note{text-align:left;font-size:10px;color:#94a3b8!important}.last-year-row .actual-cell{font-variant-numeric:tabular-nums}.last-year-row .sticky-col{background:#f8fafc!important;z-index:2}
/* Split fantasy/rank pill into individual chips + rookie draft capital */
.rank-pill{display:flex!important;align-items:center;gap:4px;background:transparent!important;border:0!important;padding:0!important;color:inherit!important;width:auto!important}.rank-chip{display:inline-flex;align-items:center;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:900;line-height:1.3;white-space:nowrap}.draft-badge{display:inline-flex;align-items:center;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:900;line-height:1.3;white-space:nowrap}.no-stats-badge{display:inline-flex;align-items:center;background:#f8fafc;color:#64748b;border:1px solid #cbd5e1;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:900;line-height:1.3;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em}.player-name-line{flex-wrap:wrap}
/* Player rankings page */
.rankings-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:18px;background:radial-gradient(circle at 85% 5%,#60a5fa66,transparent 26%),linear-gradient(135deg,#0f172a,#1e3a8a 55%,#2563eb);color:white;border-radius:24px;padding:28px 30px;margin-bottom:18px;box-shadow:0 18px 44px #0f172a25}.rankings-hero h1{font-size:48px;line-height:1;margin:0 0 8px;letter-spacing:-.04em}.rankings-hero p:not(.eyebrow){max-width:760px;margin:0;color:#dbeafe;font-size:16px}.rankings-hero-card{position:relative;z-index:1;min-width:130px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:16px;text-align:center;backdrop-filter:blur(5px)}.rankings-hero-card span{display:block;color:#bfdbfe;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.rankings-hero-card b{display:block;font-size:38px;line-height:1;margin-top:5px}.rankings-shell{background:white;border:1px solid #dde3ef;border-radius:18px;padding:14px;box-shadow:0 10px 28px #0000000b}.rankings-controls{display:flex;align-items:center;gap:10px;padding:6px 4px 14px}.rankings-controls>span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#475569}.ranking-grid{display:grid;grid-template-columns:repeat(4,minmax(235px,1fr));gap:14px}.ranking-column{overflow:hidden;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px}.ranking-column-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;background:linear-gradient(180deg,#fff,#eef2f7);border-bottom:1px solid #e2e8f0}.ranking-column-head h2{margin:0;font-size:24px;letter-spacing:-.03em}.ranking-column-head span{font-size:11px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.ranking-list{display:flex;flex-direction:column;gap:8px;padding:10px;max-height:72vh;overflow:auto}.ranking-player{position:relative;display:grid;grid-template-columns:28px 42px minmax(0,1fr);align-items:center;gap:9px;text-decoration:none;color:#172033;background:white;border:1px solid #e2e8f0;border-radius:14px;padding:8px 9px;box-shadow:0 3px 10px #00000008;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.ranking-player:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 999px 999px 0;background:linear-gradient(180deg,var(--team-primary),var(--team-secondary))}.ranking-player:hover{transform:translateY(-1px);box-shadow:0 10px 22px #00000014;border-color:#bfdbfe}.ranking-rank{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#0f172a;color:white;font-weight:900;font-size:12px;font-variant-numeric:tabular-nums}.ranking-headshot,.ranking-placeholder{width:42px;height:42px;border-radius:999px;object-fit:cover;background:#e2e8f0;flex:0 0 auto}.ranking-placeholder{align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#64748b}.ranking-info{min-width:0}.ranking-name{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.ranking-name b{font-size:14px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.ranking-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:4px}.ranking-meta span{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:900;line-height:1.25;white-space:nowrap}.ranking-meta span:first-child{background:#f1f5f9;color:#475569;border-color:#cbd5e1}@media(max-width:1250px){.ranking-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}@media(max-width:760px){.rankings-hero{display:block;padding:22px}.rankings-hero h1{font-size:36px}.rankings-hero-card{margin-top:16px}.rankings-controls{align-items:flex-start;flex-direction:column}.ranking-grid{grid-template-columns:1fr}.ranking-list{max-height:none}.ranking-name b{max-width:210px}}
/* Fantasy Footballers profile links */
.player-photo-link,.ranking-photo-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;flex:0 0 auto}.player-profile-link,.ranking-profile-link{text-decoration:none;color:inherit}.player-profile-link:hover b,.ranking-profile-link:hover b{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px}.ranking-player{color:#172033}.ranking-meta a{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:900;line-height:1.25;white-space:nowrap;text-decoration:none}.ranking-meta a:hover{background:#e2e8f0;color:#0f172a}.ranking-photo-link .ranking-headshot,.ranking-photo-link .ranking-placeholder{display:flex}
/* Position-colored ranking/points badges */
.rank-chip{text-decoration:none;transition:transform .12s ease,filter .12s ease}.rank-chip:hover{transform:translateY(-1px);filter:brightness(.97)}.rank-chip.pos-qb,.ranking-stat.pos-qb{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important}.rank-chip.pos-rb,.ranking-stat.pos-rb{background:#ecfdf5!important;color:#047857!important;border-color:#a7f3d0!important}.rank-chip.pos-wr,.ranking-stat.pos-wr{background:#fff7ed!important;color:#c2410c!important;border-color:#fed7aa!important}.rank-chip.pos-te,.ranking-stat.pos-te{background:#f5f3ff!important;color:#6d28d9!important;border-color:#ddd6fe!important}.ranking-player.pos-qb .ranking-rank{background:#1d4ed8}.ranking-player.pos-rb .ranking-rank{background:#047857}.ranking-player.pos-wr .ranking-rank{background:#c2410c}.ranking-player.pos-te .ranking-rank{background:#6d28d9}
/* Stats leaderboards page */
.stats-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:18px;background:radial-gradient(circle at 88% 8%,#34d39966,transparent 25%),linear-gradient(135deg,#0f172a,#064e3b 55%,#047857);color:white;border-radius:24px;padding:28px 30px;margin-bottom:18px;box-shadow:0 18px 44px #0f172a25}.stats-hero h1{font-size:48px;line-height:1;margin:0 0 8px;letter-spacing:-.04em}.stats-hero p:not(.eyebrow){max-width:820px;margin:0;color:#d1fae5;font-size:16px}.stats-hero-card{min-width:160px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:16px;text-align:center;backdrop-filter:blur(5px)}.stats-hero-card span{display:block;color:#bbf7d0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.stats-hero-card b{display:block;font-size:38px;line-height:1;margin-top:5px}.stats-shell{background:white;border:1px solid #dde3ef;border-radius:18px;padding:14px;box-shadow:0 10px 28px #0000000b}.stats-group{margin-bottom:22px}.stats-group:last-child{margin-bottom:0}.stats-group-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:2px 2px 12px}.stats-group-head h2{margin:0;font-size:28px;letter-spacing:-.035em}.stats-group-head p{margin:4px 0 0;color:#64748b}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:12px}.stat-column{overflow:hidden;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px}.stat-column-head{display:flex;align-items:center;justify-content:space-between;padding:12px 13px;background:linear-gradient(180deg,#fff,#eef2f7);border-bottom:1px solid #e2e8f0}.stat-column-head h3{margin:0;font-size:16px;letter-spacing:-.02em}.stat-column-head span{font-size:10px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.stat-list{display:flex;flex-direction:column;gap:7px;padding:9px;max-height:520px;overflow:auto}.stat-player{position:relative;display:grid;grid-template-columns:24px 36px minmax(0,1fr) auto;align-items:center;gap:8px;background:white;border:1px solid #e2e8f0;border-radius:13px;padding:7px 8px;box-shadow:0 2px 8px #00000006}.stat-player:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:4px;border-radius:0 999px 999px 0;background:#94a3b8}.stat-player.pos-qb:before{background:#1d4ed8}.stat-player.pos-rb:before{background:#047857}.stat-player.pos-wr:before{background:#c2410c}.stat-player.pos-te:before{background:#6d28d9}.stat-rank{width:23px;height:23px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#0f172a;color:white;font-size:11px;font-weight:900}.stat-player.pos-qb .stat-rank{background:#1d4ed8}.stat-player.pos-rb .stat-rank{background:#047857}.stat-player.pos-wr .stat-rank{background:#c2410c}.stat-player.pos-te .stat-rank{background:#6d28d9}.stat-photo-link{display:inline-flex;text-decoration:none}.stat-headshot,.stat-placeholder{width:36px;height:36px;border-radius:999px;object-fit:cover;background:#e2e8f0}.stat-placeholder{align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#64748b}.stat-info{min-width:0}.stat-name{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.stat-name a{min-width:0;text-decoration:none;color:#172033}.stat-name a:hover b{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px}.stat-name b{display:block;font-size:13px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:155px}.stat-meta{display:flex;align-items:center;gap:5px;margin-top:3px}.stat-meta a,.stat-meta span{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:900;line-height:1.25;text-decoration:none}.stat-meta a:hover{background:#e2e8f0;color:#0f172a}.stat-player strong{font-size:18px;font-variant-numeric:tabular-nums;color:#0f172a}@media(max-width:760px){.stats-hero{display:block;padding:22px}.stats-hero h1{font-size:36px}.stats-hero-card{margin-top:16px}.stats-grid{grid-template-columns:1fr}.stat-list{max-height:none}.stat-name b{max-width:210px}}
/* Rank numbers are team-page links */
.ranking-rank,.stat-rank{text-decoration:none}.ranking-rank:hover,.stat-rank:hover{filter:brightness(1.08);transform:translateY(-1px)}
/* Team-page environment editor */
.team-env-editor{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,460px);gap:16px;align-items:center;background:radial-gradient(circle at 92% 0,#bfdbfe80,transparent 28%),linear-gradient(135deg,#ffffff,#eef6ff);border:1px solid #bfdbfe;border-radius:18px;padding:16px 18px;margin:0 0 12px;box-shadow:0 10px 26px #1d4ed812}.team-env-editor-copy h2{margin:2px 0 5px;font-size:24px;letter-spacing:-.035em;color:#0f172a}.team-env-editor-copy p{margin:0;color:#475569;line-height:1.35}.team-env-editor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.team-env-editor-grid label{display:block;background:white;border:1px solid #dbeafe;border-radius:14px;padding:9px;box-shadow:0 3px 12px #00000008}.team-env-editor-grid label span{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.team-env-editor-grid input{width:100%;box-sizing:border-box;border:0;background:transparent;padding:0;font-size:26px;font-weight:900;color:#0f172a;text-align:left}.team-env-editor-grid input:focus{outline:2px solid #93c5fd;border-radius:8px;background:#f8fafc;padding:2px 4px}.team-env-derived{grid-column:1 / -1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.team-env-derived span{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900}.team-env-derived b{font-variant-numeric:tabular-nums}.team-env-derived em{font-style:normal;color:#64748b;font-size:12px;margin-left:auto}@media(max-width:900px){.team-env-editor{grid-template-columns:1fr}.team-env-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-env-derived em{margin-left:0}}@media(max-width:560px){.team-env-editor-grid{grid-template-columns:1fr}.team-env-editor-grid input{font-size:22px}}
/* Compact up/down controls for team environment editor */
.env-stepper{display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:6px}.env-stepper>div{display:flex;flex-direction:column;gap:2px}.env-stepper button{width:22px;height:17px;padding:0;border-radius:6px;border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:9px;line-height:1;font-weight:900}.env-stepper button:hover{background:#dbeafe}.team-env-editor-grid .env-stepper input{min-width:0}
/* Polished team environment control panel */
.team-env-editor{grid-template-columns:minmax(310px,1fr) minmax(360px,520px)!important;padding:18px 20px!important;background:radial-gradient(circle at 98% 0,#dbeafe,transparent 30%),linear-gradient(135deg,#ffffff,#f8fbff 45%,#eef6ff)!important;border-color:#dbeafe!important}.team-env-editor-copy{display:flex;flex-direction:column;justify-content:center}.team-env-editor-copy .eyebrow{color:#93c5fd!important;margin-bottom:3px}.team-env-editor-copy h2{font-size:25px!important;margin-bottom:10px!important}.team-env-editor-grid label{position:relative;padding:11px 12px!important;border-color:#e0edff!important;border-radius:16px!important;box-shadow:0 8px 22px #1d4ed812!important}.team-env-editor-grid label:before{content:"";position:absolute;inset:0 0 auto;height:4px;border-radius:16px 16px 0 0;background:linear-gradient(90deg,#3b82f6,#93c5fd)}.team-env-editor-grid label span{color:#475569!important}.env-stepper{grid-template-columns:minmax(0,1fr) 20px!important;gap:8px!important}.team-env-editor-grid input{font-size:24px!important;letter-spacing:-.03em}.env-stepper button{width:20px!important;height:16px!important;border-radius:999px!important;font-size:8px!important;background:#f8fafc!important;border-color:#cbd5e1!important;color:#2563eb!important}.env-stepper button:hover{background:#dbeafe!important;border-color:#93c5fd!important}.team-env-derived{margin-top:-4px}.team-env-derived span{background:white!important;border-color:#dbeafe!important;color:#1d4ed8!important;box-shadow:0 3px 12px #1d4ed80d}.team-env-derived span b{font-size:13px}.team-env-derived em{color:#94a3b8!important}@media(max-width:900px){.team-env-editor{grid-template-columns:1fr!important}.team-env-editor-grid{max-width:none}}
/* Center hero metric text */
.hero-metric{text-align:center!important}.hero-metric span,.hero-metric b{text-align:center!important}
/* Season/per-game toggle for hero stats */
.hero-display-row{position:relative;z-index:1;display:flex;justify-content:flex-end;margin:8px 0 -2px}.hero-display-toggle{display:inline-flex;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(15,23,42,.22);backdrop-filter:blur(5px)}.hero-display-toggle button{border:0;border-right:1px solid rgba(255,255,255,.18);border-radius:0;background:transparent;color:#dbeafe;padding:6px 11px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.hero-display-toggle button:last-child{border-right:0}.hero-display-toggle button.active{background:#f8fafc;color:#0f172a}.hero-display-toggle button:hover:not(.active){background:rgba(255,255,255,.12);color:white}
/* Rankings quick compare */
.compare-tray{display:grid;grid-template-columns:minmax(170px,1fr) auto auto auto;align-items:center;gap:12px;background:radial-gradient(circle at 92% 0,#60a5fa55,transparent 28%),linear-gradient(135deg,#0f172a,#1e3a8a);color:white;border:1px solid #bfdbfe33;border-radius:18px;padding:13px 15px;margin:0 0 14px;box-shadow:0 12px 30px #0f172a1f}.compare-tray .eyebrow{color:#bfdbfe!important}.compare-tray h2{margin:2px 0 0;font-size:20px;letter-spacing:-.03em}.compare-slots{display:flex;align-items:center;gap:7px}.compare-slot{width:46px;height:46px;border-radius:999px;border:1px dashed rgba(255,255,255,.36);background:rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center;color:#bfdbfe;font-weight:900;text-decoration:none;overflow:hidden;position:relative}.compare-slot.filled{border-style:solid;background:#fff;padding:0;cursor:pointer}.compare-slot img{width:100%;height:100%;object-fit:cover}.compare-slot span{position:absolute;left:3px;right:3px;bottom:2px;background:rgba(15,23,42,.72);color:white;border-radius:999px;font-size:8px;line-height:1;padding:2px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-button{font-weight:900}.compare-button:disabled,.compare-clear:disabled{opacity:.45;cursor:not-allowed}.compare-clear{background:rgba(255,255,255,.12);color:#dbeafe;border-color:rgba(255,255,255,.22)}.ranking-player{cursor:pointer}.ranking-player.selected{border-color:#60a5fa!important;box-shadow:0 0 0 2px #60a5fa55,0 10px 22px #00000014}.compare-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:999;display:flex;align-items:center;justify-content:center;padding:18px}.compare-modal{width:min(980px,96vw);max-height:90vh;overflow:auto;background:white;border-radius:22px;border:1px solid #dbeafe;box-shadow:0 26px 80px #0008}.compare-modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:white;padding:18px 20px}.compare-modal-head h2{margin:2px 0 0;font-size:28px}.compare-modal-head button{width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.22);color:white;font-size:24px;line-height:1;padding:0}.compare-modal-players{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;padding:14px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.compare-modal-player{display:grid;grid-template-columns:46px minmax(0,1fr);gap:9px;align-items:center;background:white;border:1px solid #e2e8f0;border-radius:14px;padding:9px}.compare-modal-player img{grid-row:span 2;width:46px;height:46px;border-radius:999px;object-fit:cover;background:#e2e8f0}.compare-modal-player b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-modal-player span{color:#64748b;font-size:12px;font-weight:800}.compare-table-wrap{padding:14px;overflow:auto}.compare-table{width:100%;border-collapse:separate;border-spacing:0}.compare-table th,.compare-table td{text-align:center;padding:9px 10px;border-bottom:1px solid #e2e8f0}.compare-table th:first-child,.compare-table td:first-child{text-align:left;font-weight:900;color:#475569}.compare-table thead th{position:sticky;top:70px;background:#eef2f7;z-index:1}.compare-table tbody td:not(:first-child){font-variant-numeric:tabular-nums;font-weight:800}@media(max-width:760px){.compare-tray{grid-template-columns:1fr}.compare-slots{justify-content:flex-start}.compare-table thead th{top:0}}
/* Center compare modal player card info */
.compare-modal-player{text-align:center!important;grid-template-columns:1fr!important;justify-items:center!important}.compare-modal-player img{grid-row:auto!important}.compare-modal-player b,.compare-modal-player span{text-align:center!important}
/* Compare modal header should not cover the first stat rows */
.compare-table thead th{position:static!important;top:auto!important;z-index:auto!important}.compare-table thead{display:table-header-group!important}
/* Compare modal: player cards align exactly over stat columns */
.compare-player-grid,.compare-grid-table{display:grid;gap:0}.compare-player-grid{padding:14px;background:#f8fafc;border-bottom:1px solid #e2e8f0;column-gap:10px}.compare-stat-spacer{min-height:1px}.compare-player-grid .compare-modal-player{min-width:0}.compare-grid-table{padding:14px;overflow:auto}.compare-grid-head,.compare-grid-label,.compare-grid-cell{padding:9px 10px;border-bottom:1px solid #e2e8f0}.compare-grid-head{background:#eef2f7;font-weight:900;text-align:center}.compare-grid-head:first-child{text-align:left;color:#475569}.compare-grid-label{text-align:left;font-weight:900;color:#475569}.compare-grid-cell{text-align:center;font-variant-numeric:tabular-nums;font-weight:800}.compare-grid-cell .last-year-compare{color:#64748b;font-size:11px;font-weight:850}.compare-table-wrap,.compare-table{display:none!important}@media(max-width:760px){.compare-player-grid,.compare-grid-table{overflow-x:auto}}
/* Position section summary rows */
.section-summary-row td{background:#ecfeff!important;border-top:2px solid #67e8f9!important;font-weight:900;color:#164e63;text-align:center}.section-summary-row .sticky-col{background:#cffafe!important;color:#155e75!important;text-align:left;z-index:2}.summary-label{text-transform:uppercase;letter-spacing:.04em}.summary-note{font-size:11px;color:#0e7490!important}.summary-cell{font-variant-numeric:tabular-nums}.projection-table .section-summary-row td{padding-top:7px!important;padding-bottom:7px!important}
/* Bold projected stat totals in green cells */
.projection-table td.calc{font-weight:800!important}.section-summary-row .summary-cell{font-weight:950!important}
/* Per-player number locking */
.lock-btn{background:#f8fafc;border-color:#cbd5e1;color:#334155;min-width:28px}.lock-btn.locked{background:#fef3c7!important;border-color:#f59e0b!important;color:#92400e!important}.locked-badge{display:inline-flex;align-items:center;background:#fef3c7;color:#92400e;border:1px solid #f59e0b;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:900;line-height:1.3;white-space:nowrap}.locked-row td{background:#fffbeb}.locked-row input:disabled{background:#f8fafc!important;color:#64748b!important;border-color:#e2e8f0!important;cursor:not-allowed}.clear-btn:disabled{opacity:.45;cursor:not-allowed}
/* Team stats leaderboard */
.team-stats-shell{background:#fff;border:1px solid #dbeafe;border-radius:20px;box-shadow:0 12px 32px rgba(15,23,42,.08);overflow:auto}.team-stats-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;table-layout:fixed}.team-stats-table th{background:#eff6ff;color:#1e3a8a;padding:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em;vertical-align:middle;border-color:#dbeafe}.team-stats-table th:first-child{width:28%}.team-stats-table th:not(:first-child){width:14.4%;text-align:center}.team-sort-button{display:flex;align-items:center;gap:7px;width:100%;height:100%;min-height:48px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:950;text-transform:inherit;letter-spacing:inherit;padding:14px 18px;text-align:inherit}.team-stats-table th:not(:first-child) .team-sort-button{justify-content:center}.team-sort-button:hover{background:#dbeafe}.sort-indicator{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:10px;line-height:1}.team-stats-table td{padding:16px 18px;border-top:1px solid #e2e8f0;vertical-align:middle;text-align:center}.team-stats-table tbody tr:hover td{background:#f8fafc}.team-stats-table b{display:block;font-size:22px;line-height:1.05;color:#0f172a;font-variant-numeric:tabular-nums}.team-stat-rank{display:inline-flex;align-items:center;justify-content:center;min-width:27px;background:#dcfce7;color:#166534;border:1px solid #86efac;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:950;margin-bottom:6px}.team-stat-team{text-align:left!important}.team-stat-team a{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;text-decoration:none;color:#0f172a;font-weight:900}.team-stat-team img{width:36px;height:36px;object-fit:contain}.team-stat-copy{display:flex;align-items:baseline;gap:9px;min-width:0}.team-stat-copy strong{font-size:14px;letter-spacing:.02em}.team-stat-team small,.team-stats-table small{display:block;color:#64748b;font-size:11px;font-weight:800;line-height:1.15}.team-stats-table td:not(.team-stat-team) small{margin-top:4px}.gut-control{display:flex;align-items:center;justify-content:center;gap:4px}.gut-input{width:48px!important;text-align:center}.gut-step{font-weight:900;min-width:24px}@media(max-width:800px){.team-stats-table{min-width:880px}.team-stats-table td{padding:14px 12px}.team-stat-copy{display:block}.team-stat-team small{margin-top:2px}.team-stats-table b{font-size:20px}}
.team-stat-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:88px;border:0;border-radius:12px;background:transparent;padding:8px;color:inherit}.team-stat-box:hover{background:#eff6ff;box-shadow:inset 0 0 0 1px #bfdbfe}.team-stat-box:focus-visible{outline:3px solid #93c5fd;outline-offset:-3px}.team-stat-box small{margin-top:0!important;color:#64748b}.team-stat-modal[hidden]{display:none}.team-stat-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:22px}.team-stat-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52);backdrop-filter:blur(2px)}.team-stat-modal-card{position:relative;z-index:1;width:min(640px,100%);background:#fff;border:1px solid #dbeafe;border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.35);padding:20px}.team-stat-modal-card h2{margin:0 0 14px;font-size:26px}.team-stat-modal-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:999px;font-size:22px;line-height:1;font-weight:900}.team-stat-staff{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 14px}.team-stat-staff div{display:flex;align-items:center;gap:9px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px}.coach-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:linear-gradient(135deg,#1d4ed8,#0f172a);color:white;font-size:12px;font-weight:950;box-shadow:0 4px 12px #1e3a8a22;flex:0 0 auto}.coach-photo{object-fit:cover;background:#e2e8f0}.team-stat-staff p{margin:0;min-width:0}.team-stat-staff em{display:block;color:#64748b;font-size:10px;font-style:normal;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.team-stat-staff strong{display:block;color:#0f172a;font-size:13px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-stat-staff a{display:inline-block;margin-top:2px;color:#2563eb;font-size:10px;font-weight:900;text-decoration:none}.team-stat-modal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.team-stat-modal-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px;text-align:center}.team-stat-modal-grid span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.team-stat-modal-grid b{display:block;margin:5px 0;font-size:30px;color:#0f172a}.team-stat-modal-grid small{display:block;color:#475569;font-size:12px;font-weight:800;line-height:1.25}.season-coaches{margin:9px 0 0;padding-top:8px;border-top:1px solid #e2e8f0;color:#334155;font-size:11px;font-weight:850;line-height:1.35;text-align:left}.season-coaches em{font-style:normal;color:#64748b;font-weight:950;text-transform:uppercase;font-size:9px;letter-spacing:.05em}@media(max-width:800px){.team-stat-staff,.team-stat-modal-grid{grid-template-columns:1fr}.team-stat-box{min-height:78px}}
/* Compact Gut +/- control */
.projection-table td.gut-cell{padding-left:2px!important;padding-right:2px!important}.projection-table td.gut-cell input.gut-input{width:22px!important;min-width:22px!important;max-width:22px!important;border:0!important;background:transparent!important;padding:0!important;margin:0!important;font-size:11px!important;font-weight:900;color:#0f172a;text-align:center;box-shadow:none!important}.gut-control{display:inline-flex!important;align-items:center;justify-content:center;gap:0!important;border:1px solid #cbd5e1;border-radius:999px;background:#fff;overflow:hidden;height:24px;min-width:72px;box-shadow:0 1px 2px rgba(15,23,42,.08)}.gut-step{display:flex;align-items:center;justify-content:center;width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;border:0!important;border-radius:0!important;background:#f8fafc!important;color:#0f172a!important;font-size:15px!important;font-weight:950!important;line-height:1}.gut-step:hover{background:#e0f2fe!important}.gut-step:disabled{opacity:.45;cursor:not-allowed}.gut-control:has(.gut-input:not([value=""])){border-color:#38bdf8;background:#f0f9ff}
/* Gut column fixed width so controls do not bleed into projected stats */
.projection-table col.gut-col{width:86px!important;min-width:86px!important;max-width:86px!important}.projection-table th.input-head:has(+ th){ } .projection-table th.input-head,.projection-table td.gut-cell{overflow:visible}.projection-table td.gut-cell{width:86px!important;min-width:86px!important;max-width:86px!important}.projection-table td.gut-cell + td.calc,.projection-table th.input-head + th.output-head{border-left-width:2px}.gut-control{width:74px!important;min-width:74px!important;max-width:74px!important}.projection-table td.gut-cell input.gut-input{width:24px!important;min-width:24px!important;max-width:24px!important}.gut-step{width:25px!important;min-width:25px!important}.projection-table th.input-head:nth-last-child(n){overflow:hidden}

/* Team Confidence */
.confidence-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin:26px 0 20px}.confidence-hero h1{margin:4px 0 8px}.confidence-hero p{max-width:760px;color:#64748b;margin:0}.confidence-counts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.confidence-count{min-width:92px;border:1px solid #e2e8f0;border-radius:16px;padding:10px 12px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.08)}.confidence-count span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.confidence-count b{font-size:1.6rem}.confidence-shell{display:grid;gap:16px}.confidence-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;color:#475569;font-size:.88rem}.confidence-legend span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px}.confidence-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:18px;background:white;box-shadow:0 18px 45px rgba(15,23,42,.08)}.confidence-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1120px}.confidence-table th,.confidence-table td{padding:12px 10px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:middle}.confidence-table th{position:sticky;top:0;background:#f8fafc;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:#475569;z-index:1}.confidence-table tbody tr:hover{background:#f8fafc}.confidence-team a{display:flex;align-items:center;gap:8px;font-weight:800;color:#0f172a;text-decoration:none}.confidence-team img{width:30px;height:30px;object-fit:contain}.confidence-team small{display:block;color:#64748b;margin-left:38px;margin-top:2px}.confidence-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-weight:800;font-size:.78rem;text-transform:uppercase;background:#e2e8f0;color:#334155;white-space:nowrap}.confidence-pill.target{background:#eef2ff;color:#3730a3}.confidence-high{--conf:#16a34a}.confidence-medium-high{--conf:#65a30d}.confidence-medium{--conf:#f59e0b}.confidence-low-medium{--conf:#f97316}.confidence-low{--conf:#dc2626}.confidence-pill.confidence-high{background:#dcfce7;color:#166534}.confidence-pill.confidence-medium-high{background:#ecfccb;color:#3f6212}.confidence-pill.confidence-medium{background:#fef3c7;color:#92400e}.confidence-pill.confidence-low-medium{background:#ffedd5;color:#9a3412}.confidence-pill.confidence-low{background:#fee2e2;color:#991b1b}.confidence-row{border-left:4px solid var(--conf,#cbd5e1)}.confidence-check{text-align:center!important;font-size:1.2rem;font-weight:900}.confidence-check.verified span{color:#16a34a}.confidence-check.open span{color:#cbd5e1}.confidence-notes{min-width:260px}.confidence-notes span{display:inline-block;margin:2px 4px 2px 0;padding:4px 8px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:.78rem;font-weight:700}.confidence-notes .all-clear{background:#dcfce7;color:#166534}
@media (max-width: 800px){.confidence-hero{display:block}.confidence-counts{justify-content:flex-start;margin-top:14px}.confidence-table{min-width:980px}}
.confidence-notes p{margin:6px 0 0;color:#64748b;font-size:.8rem;line-height:1.35;max-width:420px}

/* Output export preview */
.sheet-export-status{margin-top:10px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:10px}.sheet-export-status b,.sheet-export-status span,.sheet-export-status small{display:block}.sheet-export-status b{font-size:13px}.sheet-export-status span{color:#334155;font-weight:800}.sheet-export-status small{color:#64748b;margin-top:2px}.sheet-export-status.ok{border-color:#86efac;background:#f0fdf4}.sheet-export-status.bad{border-color:#fecaca;background:#fef2f2}.sheet-export-status.bad span,.sheet-export-status.bad small{color:#991b1b}.output-button[disabled]{opacity:.65;cursor:wait}
.output-hero { display:flex; justify-content:space-between; gap:1rem; align-items:flex-end; margin-bottom:1rem; }
.output-actions { display:flex; gap:.5rem; flex-wrap:wrap; }
.output-actions a { text-decoration:none; }
.output-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin:1rem 0; }
.output-summary div { background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:1rem; box-shadow:0 1px 2px rgba(15,23,42,.04); }
.output-summary span { display:block; color:#64748b; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; }
.output-summary b { display:block; font-size:1.5rem; margin-top:.25rem; }
.output-table-wrap { overflow:auto; max-height:70vh; border:1px solid #e5e7eb; border-radius:14px; background:#fff; }
.output-table { width:max-content; min-width:100%; border-collapse:separate; border-spacing:0; font-size:.82rem; }
.output-table th, .output-table td { padding:.45rem .55rem; border-bottom:1px solid #edf2f7; white-space:nowrap; text-align:right; }
.output-table th { position:sticky; top:0; background:#f8fafc; z-index:1; color:#334155; font-size:.72rem; text-transform:uppercase; letter-spacing:.035em; }
.output-table th:nth-child(-n+5), .output-table td:nth-child(-n+5), .output-table th:last-child, .output-table td:last-child { text-align:left; }
.output-table tr:hover td { background:#f8fafc; }
@media (max-width: 800px) { .output-hero { display:block; } .output-summary { grid-template-columns:1fr; } }

/* Reporter sentiment */
.section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; margin-bottom:.75rem; }
.section-head a { color:#2563eb; font-weight:700; text-decoration:none; }
.home-trending, .sentiment-trending { margin:1rem 0 1.5rem; }
.trending-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.75rem; }
.trending-card { position:relative; display:block; min-height:132px; padding:1rem 3.25rem 1rem 1rem; border:1px solid #e5e7eb; border-radius:18px; background:#fff; color:#0f172a; text-decoration:none; box-shadow:0 1px 3px rgba(15,23,42,.06); overflow:hidden; }
.trending-card:before { content:""; position:absolute; inset:0 auto 0 0; width:6px; background:#94a3b8; }
.trending-card.tone-positive:before { background:#22c55e; }
.trending-card.tone-mixed:before { background:#f59e0b; }
.trending-card.tone-watch:before { background:#3b82f6; }
.trending-card.tone-negative:before { background:#ef4444; }
.trending-card span { display:block; color:#64748b; font-size:.74rem; text-transform:uppercase; letter-spacing:.04em; }
.trending-card b { display:block; margin:.35rem 0; font-size:1.05rem; }
.trending-card small { display:block; color:#475569; line-height:1.3; }
.trending-card em { position:absolute; right:.9rem; top:.9rem; width:2.25rem; height:2.25rem; border-radius:999px; display:grid; place-items:center; background:#f1f5f9; color:#0f172a; font-style:normal; font-weight:800; }
.sentiment-hero { display:flex; justify-content:space-between; gap:1rem; align-items:flex-end; margin-bottom:1rem; }
.sentiment-hero p { max-width:780px; }
.sentiment-updated { background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:.8rem 1rem; min-width:220px; }
.sentiment-updated span { display:block; color:#64748b; font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; }
.sentiment-updated b { display:block; margin-top:.2rem; font-size:.9rem; }
.sentiment-legend { display:flex; gap:.5rem; flex-wrap:wrap; margin:1rem 0 1.25rem; }
.source-pill { border-radius:999px; padding:.45rem .7rem; font-size:.78rem; border:1px solid #e5e7eb; background:#fff; color:#475569; }
.source-pill b { color:#0f172a; }
.heat-single { --heat:#3b82f6; --heat-bg:#eff6ff; }
.heat-multi { --heat:#f59e0b; --heat-bg:#fffbeb; }
.heat-hot { --heat:#22c55e; --heat-bg:#f0fdf4; }
.source-pill.heat-single, .source-pill.heat-multi, .source-pill.heat-hot { border-color:color-mix(in srgb, var(--heat) 35%, #e5e7eb); background:var(--heat-bg); }
.sentiment-division { margin:1.25rem 0 1.75rem; }
.sentiment-division h2 { margin:.5rem 0 .75rem; }
.sentiment-team-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:1rem; align-items:start; }
.sentiment-team-card { background:#fff; border:1px solid #e5e7eb; border-radius:20px; box-shadow:0 1px 3px rgba(15,23,42,.06); overflow:hidden; }
.sentiment-team-card:before { content:""; display:block; height:5px; background:linear-gradient(90deg,var(--team-primary),var(--team-secondary)); }
.sentiment-team-head { display:flex; gap:.75rem; align-items:center; padding:1rem 1rem .55rem; }
.sentiment-team-head img { width:44px; height:44px; object-fit:contain; }
.sentiment-team-head h3 { margin:0; font-size:1.25rem; }
.sentiment-team-head span { color:#64748b; font-size:.85rem; }
.sentiment-player { margin:.75rem 1rem 1rem; border:1px solid #e5e7eb; border-radius:16px; background:#f8fafc; overflow:hidden; }
.sentiment-player-head { display:flex; justify-content:space-between; gap:.75rem; padding:.8rem .9rem .3rem; }
.sentiment-player-head b { display:block; }
.sentiment-player-head span { display:block; color:#64748b; font-size:.78rem; margin-top:.15rem; }
.sentiment-player-head em { align-self:flex-start; border-radius:999px; padding:.22rem .5rem; background:#e2e8f0; color:#334155; font-style:normal; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.sentiment-player.tone-positive .sentiment-player-head em { background:#dcfce7; color:#166534; }
.sentiment-player.tone-mixed .sentiment-player-head em { background:#fef3c7; color:#92400e; }
.sentiment-player.tone-watch .sentiment-player-head em { background:#dbeafe; color:#1d4ed8; }
.sentiment-player.tone-negative .sentiment-player-head em { background:#fee2e2; color:#991b1b; }
.sentiment-player p { margin:.15rem .9rem .65rem; color:#334155; font-size:.9rem; line-height:1.35; }
.sentiment-player ul { list-style:none; margin:0; padding:.15rem .75rem .8rem; display:grid; gap:.45rem; }
.sentiment-player li { display:grid; grid-template-columns:auto 1fr auto; gap:.55rem; align-items:start; border:1px solid color-mix(in srgb, var(--heat) 28%, #e5e7eb); border-radius:12px; background:var(--heat-bg); padding:.55rem .6rem; color:#1e293b; font-size:.86rem; line-height:1.28; }
.sentiment-player li small { display:block; margin-top:.22rem; color:#64748b; font-size:.72rem; }
.sentiment-player li strong { color:var(--heat); font-size:.78rem; }
.topic-dot { width:.65rem; height:.65rem; margin-top:.2rem; border-radius:999px; background:var(--heat); box-shadow:0 0 0 3px color-mix(in srgb, var(--heat) 16%, transparent); }
.sentiment-empty { padding:0 1rem 1rem; color:#94a3b8; }
@media (max-width: 800px) { .sentiment-hero { display:block; } .sentiment-team-grid { grid-template-columns:1fr; } }

/* Output polish */
.output-hero { position:relative; align-items:stretch; padding:1.25rem; border-radius:24px; overflow:hidden; background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 52%,#0f766e 100%); color:#fff; box-shadow:0 16px 40px rgba(15,23,42,.18); }
.output-hero:after { content:""; position:absolute; width:320px; height:320px; right:-120px; top:-150px; border-radius:999px; background:rgba(255,255,255,.13); }
.output-copy { position:relative; z-index:1; max-width:720px; }
.output-copy .eyebrow { color:#bfdbfe; }
.output-copy h1 { margin-bottom:.35rem; font-size:clamp(2rem,4vw,3.4rem); letter-spacing:-.05em; }
.output-copy p:not(.eyebrow) { max-width:660px; color:#dbeafe; font-size:1.02rem; }
.output-actions { margin-top:1rem; align-items:center; }
.output-button { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:.55rem .9rem; border:1px solid rgba(255,255,255,.35); border-radius:999px; color:#fff; background:rgba(255,255,255,.12); font-weight:800; text-decoration:none; backdrop-filter:blur(8px); }
.output-button.primary { background:#fff; color:#1e3a8a; border-color:#fff; box-shadow:0 8px 20px rgba(15,23,42,.18); }
.output-panel { position:relative; z-index:1; min-width:340px; display:grid; gap:.75rem; align-content:end; }
.output-status, .output-mini-grid div { border:1px solid rgba(255,255,255,.22); border-radius:18px; background:rgba(255,255,255,.12); backdrop-filter:blur(10px); }
.output-status { padding:1rem; }
.output-status span, .output-mini-grid span { display:block; color:#bfdbfe; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.output-status b { display:block; font-size:2.25rem; line-height:1; margin:.3rem 0; }
.output-status small { color:#dbeafe; }
.output-mini-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.6rem; }
.output-mini-grid div { padding:.8rem; }
.output-mini-grid b { display:block; margin-top:.25rem; font-size:1.35rem; color:#fff; }
.output-table-wrap { margin-top:1rem; box-shadow:0 8px 28px rgba(15,23,42,.08); }
@media (max-width: 800px) { .output-hero { padding:1rem; } .output-panel { min-width:0; margin-top:1rem; } .output-mini-grid { grid-template-columns:1fr; } }

/* Team page share audit */
.share-audit{display:grid;grid-template-columns:minmax(260px,.85fr) 1.4fr;gap:1rem;align-items:stretch;margin:1rem 0;padding:1rem;border:1px solid #dbeafe;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#ffffff);box-shadow:0 4px 18px rgba(15,23,42,.06)}
.share-audit h2{margin:.1rem 0 .25rem}.share-audit p:not(.eyebrow){margin:.2rem 0 0;color:#475569;line-height:1.35}.share-audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.share-audit-card{position:relative;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:.9rem 1rem;box-shadow:0 1px 2px rgba(15,23,42,.05)}.share-audit-card:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:#94a3b8}.share-audit-card span:first-child{display:block;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.share-audit-card b{display:block;margin:.15rem 0;font-size:2rem;line-height:1}.share-audit-card em{display:inline-flex;border-radius:999px;padding:.18rem .5rem;font-style:normal;font-weight:900;font-size:.76rem}.share-audit-card small{display:block;margin-top:.45rem;color:#64748b}.share-breakdown{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.55rem}.share-breakdown span{display:inline-flex!important;border:1px solid #e2e8f0;border-radius:999px;padding:.18rem .45rem;background:#f8fafc;color:#334155!important;font-size:.72rem!important;text-transform:none!important;letter-spacing:0!important;font-weight:800}.share-good:before{background:#22c55e}.share-good em{background:#dcfce7;color:#166534}.share-watch:before{background:#f59e0b}.share-watch em{background:#fef3c7;color:#92400e}.share-under:before{background:#3b82f6}.share-under em{background:#dbeafe;color:#1d4ed8}.share-over:before{background:#ef4444}.share-over em{background:#fee2e2;color:#991b1b}@media(max-width:900px){.share-audit{grid-template-columns:1fr}.share-audit-grid{grid-template-columns:1fr}}

/* ADP badges/page */
.rank-chip.adp-rank,.rank-chip.adp-round{background:#fdf2f8!important;color:#be185d!important;border-color:#fbcfe8!important}.rank-chip.adp-round{background:#f0f9ff!important;color:#0369a1!important;border-color:#bae6fd!important}.rank-pill{gap:3px}.player-name-line .draft-badge{font-size:10px;padding:1px 6px}.adp-hero{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:1rem;padding:1.25rem;border:1px solid #e5e7eb;border-radius:22px;background:linear-gradient(135deg,#fff,#f0f9ff);box-shadow:0 4px 18px rgba(15,23,42,.06)}.adp-hero h1{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:.25rem}.adp-hero p:not(.eyebrow){max-width:760px;color:#475569}.adp-updated{min-width:220px;border:1px solid #bae6fd;background:#fff;border-radius:16px;padding:.85rem 1rem}.adp-updated span,.adp-source-card span{display:block;color:#64748b;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.adp-updated b{display:block;margin-top:.2rem;font-size:.88rem}.adp-sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem;margin:1rem 0}.adp-source-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:.9rem;box-shadow:0 1px 2px rgba(15,23,42,.05)}.adp-source-card b{display:block;margin:.2rem 0}.adp-source-card small{display:block;color:#64748b}.adp-source-card a{display:inline-block;margin-top:.45rem;color:#2563eb;font-weight:800;text-decoration:none}.adp-status{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:1rem;margin:1rem 0}.adp-status ul{margin:.5rem 0 0;padding-left:1.15rem;color:#475569}.adp-table-wrap{overflow:auto;max-height:70vh;border:1px solid #e5e7eb;border-radius:16px;background:#fff}.adp-table{width:100%;border-collapse:separate;border-spacing:0}.adp-table th,.adp-table td{padding:.45rem .55rem;border-bottom:1px solid #edf2f7;white-space:nowrap}.adp-table th{position:sticky;top:0;background:#f8fafc;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em;color:#334155}.adp-table td:nth-child(2){font-weight:800}@media(max-width:800px){.adp-hero{display:block}.adp-updated{margin-top:1rem;min-width:0}}
.share-last-year{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;margin-top:.45rem;padding-top:.45rem;border-top:1px dashed #e2e8f0}.share-last-year b{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-right:.1rem}.share-last-year span{display:inline-flex;border:1px solid #e2e8f0;border-radius:999px;padding:.14rem .4rem;background:#fff;color:#64748b;font-size:.68rem;font-weight:800}

/* ADP interactive board */
.adp-shell{display:grid;gap:1rem}.adp-controls{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(180px,.6fr) auto;gap:.75rem;align-items:end;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:1rem;box-shadow:0 1px 2px rgba(15,23,42,.05)}.control-label{display:block;color:#64748b;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900;margin-bottom:.35rem}.adp-controls select{width:100%;min-height:38px;border-radius:10px;border:1px solid #cbd5e1}.adp-toggle{display:flex;gap:.35rem;flex-wrap:wrap}.adp-toggle button,.adp-source-pill{border:1px solid #dbeafe;background:#fff;color:#1e3a8a;border-radius:999px;font-weight:900}.adp-toggle button.active,.adp-source-pill.active{background:#2563eb;color:#fff;border-color:#1d4ed8}.adp-source-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.55rem}.adp-source-pill{border-radius:16px;text-align:left;padding:.7rem .8rem;color:#0f172a}.adp-source-pill span{display:block;color:#64748b;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.adp-source-pill.active span{color:#dbeafe}.adp-source-pill b{display:block;font-size:.9rem}.adp-source-pill small{display:block;margin-top:.2rem;color:#64748b;font-weight:700;line-height:1.25}.adp-source-pill.active small{color:#dbeafe}.adp-source-note{margin:.15rem 0 .75rem;color:#64748b;font-size:.86rem}.adp-table th button{border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:900;text-transform:inherit;letter-spacing:inherit}.adp-table td a{color:#1d4ed8;text-decoration:none;font-weight:900}.adp-table tr:hover td{background:#f8fafc}.adp-pos-badge{display:inline-flex;border-radius:999px;background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd;padding:.16rem .45rem;font-weight:900;font-size:.78rem}.adp-col-chips{display:flex;gap:.25rem;flex-wrap:wrap}.adp-col-chips span{display:inline-flex;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;padding:.14rem .4rem;font-size:.7rem;font-weight:800}@media(max-width:950px){.adp-controls{grid-template-columns:1fr}.adp-source-strip{grid-template-columns:1fr}}

/* Insights tab */
.insights-hero{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:1rem;padding:1.35rem;border:1px solid #e5e7eb;border-radius:24px;background:linear-gradient(135deg,#0f172a,#312e81);color:#fff;box-shadow:0 18px 40px rgba(15,23,42,.18)}.insights-hero h1{font-size:clamp(2.1rem,4vw,3.6rem);margin:0 0 .25rem}.insights-hero p:not(.eyebrow){max-width:860px;color:#dbeafe}.insights-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}.insights-actions a,.insights-actions button{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:.5rem .8rem;font-weight:950;text-decoration:none}.insights-actions button:hover,.insights-actions a:hover{background:rgba(255,255,255,.2)}.insights-rules{display:grid;gap:.45rem;min-width:230px}.insights-rules span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.12);border-radius:999px;padding:.4rem .7rem;font-weight:900;color:#fff}.insight-section{margin:1rem 0 1.25rem}.insight-section .section-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:.65rem}.insight-section .section-head h2{margin:.05rem 0;font-size:1.8rem}.insight-section .section-head p{margin:0;color:#64748b;max-width:780px}.insight-section .section-head>span{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:.35rem .65rem;font-weight:950}.insight-pos-group{margin:.75rem 0 1rem}.insight-pos-group h3{display:inline-flex;align-items:center;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:.25rem .65rem;margin:0 0 .55rem;font-size:.9rem}.insight-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.insight-card{display:block;text-decoration:none;color:#172033;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:.85rem;box-shadow:0 2px 10px rgba(15,23,42,.06);position:relative;overflow:hidden}.insight-card.highlighted{border-color:#f59e0b!important;box-shadow:0 0 0 2px #fde68a inset,0 10px 24px rgba(245,158,11,.15)}.insight-card.highlighted:after{content:"★";position:absolute;right:12px;bottom:10px;color:#f59e0b;font-size:22px;font-weight:950}.insight-card-main{display:block;text-decoration:none;color:inherit}.insight-card-actions{position:absolute;right:8px;top:8px;z-index:2;display:flex;gap:4px}.insight-card-actions button{width:25px;height:25px;border-radius:999px;padding:0;font-weight:950;line-height:1}.insight-card-actions [data-insight-highlight]{background:#fffbeb;color:#b45309;border-color:#fde68a}.insight-card-actions [data-insight-remove]{background:#fef2f2;color:#991b1b;border-color:#fecaca}.insight-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:#64748b}.insight-card:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,23,42,.12)}.insight-my-guys:before{background:linear-gradient(90deg,#f59e0b,#ef4444)}.insight-breakout:before{background:#22c55e}.insight-sleeper:before{background:#8b5cf6}.insight-value:before{background:#2563eb}.insight-bust:before{background:#ef4444}.insight-player{display:flex;gap:.65rem;align-items:center}.insight-player img,.insight-player>span{width:42px;height:42px;border-radius:999px;object-fit:cover;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-weight:950;color:#475569}.insight-player b{display:block;padding-right:54px}.insight-player small{color:#64748b;font-weight:800}.insight-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;margin:.75rem 0}.insight-kpis span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.38rem}.insight-kpis em{display:block;color:#64748b;font-style:normal;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;font-weight:950}.insight-kpis strong{font-size:.92rem}.insight-card p{margin:.45rem 0 0;color:#475569;font-size:.86rem;line-height:1.3}@media(max-width:800px){.insights-hero{display:block}.insights-rules{margin-top:1rem}.insight-section .section-head{display:block}.insight-grid{grid-template-columns:1fr}}

/* ADP cleanup */
.adp-table th:nth-child(1),.adp-table td:nth-child(1){width:110px}.adp-table th:nth-child(2),.adp-table td:nth-child(2){width:72px}.adp-table td:nth-child(3){font-weight:900}.adp-player-link{display:inline-flex;align-items:center;gap:.55rem}.adp-player-link img,.adp-photo-placeholder{width:34px;height:34px;border-radius:999px;object-fit:cover;background:#e2e8f0;flex:0 0 auto}.adp-pos-badge.pos-qb{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.adp-pos-badge.pos-rb{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.adp-pos-badge.pos-wr{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.adp-pos-badge.pos-te{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.adp-col-chips{display:none!important}
.ranking-stat.adp-rank-badge{background:#fdf2f8!important;color:#be185d!important;border-color:#fbcfe8!important}

/* Projection grid alignment cleanup */
.projection-table td:not(.sticky-col) input:not(.notes-input){text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.projection-table td.calc{text-align:center!important;font-variant-numeric:tabular-nums!important}
.projection-table th.input-head,.projection-table th.output-head{text-align:center!important}
.projection-table .gut-control{justify-content:center!important}

/* Projection grid vertical centering */
.projection-table tbody td:not(.sticky-col),
.projection-table tbody td.calc,
.projection-table tbody td.gut-cell{
  vertical-align:middle!important;
  line-height:1.15!important;
}
.projection-table tbody td:not(.sticky-col){
  height:34px;
}
.projection-table tbody td:not(.sticky-col) input:not(.notes-input){
  display:block!important;
  margin-top:auto!important;
  margin-bottom:auto!important;
  line-height:1.15!important;
}
.projection-table td.calc{
  line-height:1.2!important;
}
.projection-table .gut-control{
  align-items:center!important;
  height:100%!important;
}

/* Gut± compact size */
.projection-table col.gut-col{width:62px!important;min-width:62px!important;max-width:62px!important}
.projection-table td.gut-cell{width:62px!important;min-width:62px!important;max-width:62px!important;padding:3px 2px!important;text-align:center!important}
.projection-table .gut-control{width:56px!important;min-width:56px!important;max-width:56px!important;height:20px!important;min-height:20px!important;border-radius:999px!important}
.projection-table .gut-step{width:18px!important;min-width:18px!important;height:20px!important;min-height:20px!important;font-size:12px!important;line-height:1!important}
.projection-table td.gut-cell input.gut-input{width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;font-size:10px!important;line-height:20px!important}

/* Team row ADP chips use one visual color */
.rank-chip.adp-rank,.rank-chip.adp-round{
  background:#fdf2f8!important;
  color:#be185d!important;
  border-color:#fbcfe8!important;
}

/* Hero-level team action buttons */
.hero-actions{display:flex!important;gap:8px!important;align-items:center!important}
.hero-complete-btn{background:#ecfdf5!important;color:#166534!important;border-color:#86efac!important;font-weight:900!important}
.hero-complete-btn.active{background:#22c55e!important;color:#fff!important;border-color:#16a34a!important;box-shadow:0 0 0 2px rgba(187,247,208,.55)!important}
.hero-lock-btn{background:#fdf2f8!important;color:#be185d!important;border-color:#fbcfe8!important;font-weight:900!important}
.hero-lock-btn.active{background:#be185d!important;color:#fff!important;border-color:#9d174d!important}

/* Reviewed team checkmark */
.logo-card{position:relative}
.review-check{position:absolute;right:8px;top:8px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#22c55e;color:#fff;font-style:normal;font-weight:950;font-size:13px;box-shadow:0 2px 8px rgba(22,101,52,.28);z-index:2}
.team-reviewed{border-color:#86efac!important;box-shadow:0 0 0 1px #bbf7d0 inset,0 1px 2px #0001!important}

/* 2025 stats 17-game pace button */
.pace17-btn{margin-left:8px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:950;line-height:1.1;vertical-align:middle}
.pace17-btn:hover{background:#dbeafe}.pace17-btn:disabled{opacity:.45;cursor:not-allowed}

/* 17-game pace display toggle for 2025 rows */
.last-year-label{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.pace17-btn{margin-left:auto!important;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:950;line-height:1.1;vertical-align:middle}
.pace17-btn:hover{background:#dbeafe}.pace17-btn.active{background:#2563eb;color:#fff;border-color:#1d4ed8}.paced17-row .actual-cell{background:#eff6ff!important;color:#1e3a8a!important;font-weight:800}

/* Align share-audit position chips across current and 2025 rows */
.share-breakdown,.share-last-year{display:grid!important;grid-template-columns:118px repeat(4,max-content);align-items:center;column-gap:.35rem;row-gap:.35rem}.share-row-label{width:118px;justify-content:flex-start!important}.share-breakdown .share-row-label{visibility:hidden;padding:0!important;border:0!important;background:transparent!important}.share-last-year b.share-row-label{margin:0!important}@media(max-width:560px){.share-breakdown,.share-last-year{grid-template-columns:82px repeat(2,max-content)}.share-row-label{width:82px}}

/* Regression tab */
.regression-hero{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:1rem;padding:1.35rem;border:1px solid #e5e7eb;border-radius:24px;background:linear-gradient(135deg,#111827,#065f46);color:#fff;box-shadow:0 18px 40px rgba(15,23,42,.18)}
.regression-hero h1{font-size:clamp(2.1rem,4vw,3.6rem);margin:0 0 .25rem}.regression-hero p:not(.eyebrow){max-width:880px;color:#dcfce7}.regression-hero small{color:#bbf7d0;font-weight:800}.regression-baselines{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:.55rem;min-width:330px}.regression-baselines div{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.12);border-radius:16px;padding:.65rem}.regression-baselines span,.regression-baselines small{display:block;color:#d1fae5;font-weight:850}.regression-baselines b{display:block;font-size:1.45rem;color:#fff}.regression-formula{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;border:1px solid #d1fae5;background:#ecfdf5;color:#065f46;border-radius:16px;padding:.75rem 1rem;margin-bottom:1rem}.regression-formula code{background:#fff;border:1px solid #bbf7d0;border-radius:10px;padding:.35rem .55rem;color:#064e3b}.regression-section{margin:1rem 0 1.25rem}.regression-section .section-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:.65rem}.regression-section .section-head h2{margin:.05rem 0;font-size:1.55rem}.regression-section .section-head p{margin:0;color:#64748b;max-width:850px}.regression-section .section-head>span{background:#ecfdf5;color:#047857;border:1px solid #bbf7d0;border-radius:999px;padding:.35rem .65rem;font-weight:950}.regression-table-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.05)}.regression-table{width:100%;border-collapse:separate;border-spacing:0;min-width:980px}.regression-table th{position:sticky;top:0;background:#f8fafc;color:#475569;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;text-align:right;padding:.55rem;border-bottom:1px solid #e5e7eb}.regression-table th:first-child,.regression-table td:first-child{text-align:left}.regression-table td{padding:.52rem .55rem;border-bottom:1px solid #f1f5f9;text-align:right}.regression-table td:first-child small{display:block;color:#64748b;font-weight:800;margin-top:.1rem}.regression-table a{color:#0f172a;text-decoration:none}.regression-table a:hover{text-decoration:underline}.regression-good td:nth-child(7) strong{color:#047857}.regression-bad td:nth-child(7) strong{color:#dc2626}.regression-neutral td:nth-child(7) strong{color:#475569}.regression-good{background:linear-gradient(90deg,rgba(220,252,231,.65),transparent 40%)}.regression-bad{background:linear-gradient(90deg,rgba(254,226,226,.6),transparent 40%)}@media(max-width:800px){.regression-hero{display:block}.regression-baselines{grid-template-columns:1fr 1fr;min-width:0;margin-top:1rem}.regression-section .section-head{display:block}}

/* Web auth / read-only mode */
.auth-role{display:inline-flex;align-items:center;border:1px solid #bbf7d0;background:#ecfdf5;color:#047857;border-radius:999px;padding:.35rem .6rem;font-weight:950;font-size:.78rem}.auth-role.readonly{border-color:#fde68a;background:#fffbeb;color:#b45309}.readonly-banner{background:#fffbeb;border-bottom:1px solid #fde68a;color:#92400e;text-align:center;font-weight:900;padding:.55rem 1rem}.role-guest #save-top,.role-guest #complete-top,.role-guest #bulk-lock-top,.role-guest [data-insight-remove],.role-guest [data-insight-highlight],.role-guest [data-insight-rerun],.role-guest [data-restore-insight],.role-guest #export-sheet-now,.role-guest .env-reset,.role-guest #env-undo,.role-guest [data-add-pos]{opacity:.45;pointer-events:none}.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0f172a,#1e3a8a);padding:1rem}.login-card{width:min(440px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 24px 70px rgba(15,23,42,.28);padding:1.4rem}.login-card h1{margin:.1rem 0 .35rem;font-size:2.2rem}.login-card p:not(.eyebrow){color:#64748b}.login-card label{display:block;margin:.85rem 0}.login-card label span{display:block;font-weight:900;color:#334155;margin-bottom:.25rem}.login-card input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:.7rem .8rem;font:inherit}.login-card button{width:100%;margin-top:.35rem}.login-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:12px;padding:.65rem .75rem;font-weight:900;margin:.75rem 0}
