:root { --ink:#090a0c; --panel:#121417; --panel-2:#1a1d20; --line:#2d3035; --paper:#f4f1eb; --muted:#a4a5a6; --lime:#d7ff3f; --lime-deep:#a5d400; --font-display:"Barlow Condensed",sans-serif; --font-body:"DM Sans",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:var(--font-body); }
button,select { font:inherit; } button { cursor:pointer; }
.login-screen { min-height:100vh; display:grid; place-items:center; position:relative; isolation:isolate; overflow:hidden; background:#090a0c; padding:42px 20px; }.login-art{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(8,9,11,.9) 0%,rgba(8,9,11,.78) 37%,rgba(8,9,11,.18)),url("assets/hero-player.png") center / cover no-repeat;filter:grayscale(1)}.login-screen:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 24% 45%,rgba(215,255,63,.08),transparent 18rem)}.login-brand{position:absolute;top:32px;left:4.8vw;display:flex;align-items:center;gap:10px;font:700 24px var(--font-display);letter-spacing:.06em}.login-brand img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:50%}.login-brand b{color:var(--lime)}.login-card{width:min(100%,420px);margin-left:-33vw;background:rgba(17,19,22,.92);border:1px solid rgba(255,255,255,.16);padding:38px;box-shadow:0 28px 80px rgba(0,0,0,.38);backdrop-filter:blur(12px)}.login-card h1{font:800 54px/.86 var(--font-display);text-transform:uppercase;margin:0}.login-card h1 em{font-style:normal;color:var(--lime)}.login-card>p:not(.eyebrow){color:#bfc0c2;font-size:13px;line-height:1.6;margin:18px 0 25px}.login-card form{display:grid;gap:16px}.login-card label:not(.remember){display:grid;gap:7px;color:#d7d8d9;font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.login-card input[type=text],.login-card input[type=password]{border:1px solid #414448;background:#0c0e10;color:#fff;padding:13px;border-radius:2px;outline:none;font:500 13px var(--font-body)}.login-card input:focus{border-color:var(--lime)}.remember{display:flex;gap:8px;align-items:center;color:#b7b9ba;font-size:12px;cursor:pointer}.remember input{accent-color:var(--lime)}.login-card .primary-button{margin-top:5px;width:100%;display:flex;justify-content:space-between;align-items:center}.login-note{font-size:10px!important;color:#7e8083!important;margin:20px 0 0!important}.login-footer{position:absolute;bottom:28px;color:#9a9ca0;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.login-footer span{color:var(--lime);padding:0 5px}.logout{border:1px solid #3a3d41;background:transparent;color:#bfc1c2;border-radius:3px;padding:7px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.site-shell { min-height:100vh; overflow:hidden; background:radial-gradient(circle at 80% 0%,#23272a 0,transparent 24rem),var(--ink); }
.topbar { height:76px; display:flex; align-items:center; gap:26px; padding:0 4.8vw; border-bottom:1px solid rgba(255,255,255,.12); background:rgba(9,10,12,.9); position:sticky; top:0; z-index:10; backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; gap:9px; color:var(--paper); text-decoration:none; letter-spacing:.06em; font-family:var(--font-display); font-size:22px; white-space:nowrap; }.brand img { width:37px; height:37px; object-fit:contain; background:white; border-radius:50%; }.brand b{ color:var(--lime); }
.main-nav { display:flex; align-items:stretch; gap:19px; flex:1; height:100%; }.nav-link { border:0; color:#b7b8ba; background:transparent; font-size:13px; font-weight:600; padding:3px 0 0; border-bottom:2px solid transparent; }.nav-link:hover,.nav-link.active { color:var(--paper); border-color:var(--lime); }
.account { color:var(--paper); font-size:12px; display:grid; grid-template-columns:auto 1fr; column-gap:7px; align-items:center; white-space:nowrap; }.account small{grid-column:2;color:var(--muted);font-size:10px}.dot{width:7px;height:7px;border-radius:50%;background:var(--lime)}
.hero { min-height:408px; position:relative; padding:72px 10vw 54px; display:flex; align-items:center; isolation:isolate; border-bottom:1px solid var(--line); }.hero-art { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,#0a0b0d 13%,rgba(10,11,13,.78) 48%,rgba(10,11,13,.2)),url("assets/hero-player.png") center 27% / cover no-repeat; opacity:.93; }.hero:after { content:""; position:absolute; inset:auto 0 0; height:110px; background:linear-gradient(transparent,var(--ink)); z-index:-1; }
.hero-copy { max-width:585px; }.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--lime);font-size:11px;font-weight:700;margin:0 0 10px}.hero h1{font:800 clamp(52px,6vw,86px)/.83 var(--font-display);letter-spacing:.01em;text-transform:uppercase;margin:0;}.hero h1 em{font-style:normal;color:var(--lime)}.hero-text{color:#d3d3d4;max-width:410px;line-height:1.65;font-size:15px;margin:20px 0 25px}.hero-actions{display:flex;gap:19px;align-items:center}.primary-button,.outline-button{border:1px solid var(--lime);background:var(--lime);color:#101204;font-weight:700;padding:13px 18px;border-radius:3px}.primary-button span{margin-left:12px;font-size:20px;line-height:0}.text-button{border:0;background:transparent;color:var(--paper);font-size:13px;font-weight:700}.text-button:hover{text-decoration:underline}.primary-button.disabled{opacity:.52;cursor:not-allowed}.outline-button{background:transparent;color:var(--lime);width:100%;margin-top:18px}
.phase-card{position:absolute;right:7.5vw;bottom:42px;width:230px;background:rgba(17,19,22,.88);border:1px solid rgba(255,255,255,.17);padding:21px;backdrop-filter:blur(8px)}.phase-card h2{font:700 32px/1 var(--font-display);text-transform:uppercase;margin:0 0 5px}.phase-card>p:not(.eyebrow){font-size:12px;color:#c9c9ca;margin:0 0 18px}.phase-progress{height:4px;background:#34373a;margin-bottom:14px}.phase-progress span{display:block;width:35%;height:100%;background:var(--lime)}.phase-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;font-size:10px;color:#bbb}.phase-meta b{font-size:11px;color:#fff}.phase-meta span{text-align:right}
.quick-strip{display:grid;grid-template-columns:repeat(4,1fr);max-width:1170px;margin:-1px auto 0;border-left:1px solid var(--line);border-right:1px solid var(--line)}.quick-strip div{padding:23px 26px;border-right:1px solid var(--line)}.quick-strip div:last-child{border:0}.quick-strip span{font:700 34px/1 var(--font-display);color:var(--paper)}.quick-strip small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--muted);margin-top:6px}
.workspace{max-width:1170px;margin:0 auto;padding:70px 0 78px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:0 2px 25px}.section-heading h2{font:700 43px/.95 var(--font-display);text-transform:uppercase;margin:0}.section-heading p:not(.eyebrow){margin:9px 0 0;color:var(--muted);font-size:13px}.year-picker{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:bold}.year-picker select{display:block;margin-top:6px;background:var(--panel);color:var(--paper);border:1px solid var(--line);padding:9px 34px 9px 10px;border-radius:3px}
.view-panel{display:none}.view-panel.active{display:block}.toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:16px}.team-pills{display:flex;gap:6px;overflow:auto;padding-bottom:4px}.team-pill{border:1px solid var(--line);background:#121417;color:#bfc0c1;padding:8px 11px;border-radius:2px;white-space:nowrap;font-size:11px;font-weight:700}.team-pill.active,.team-pill:hover{color:#101204;background:var(--lime);border-color:var(--lime)}.value-switch{display:flex;border:1px solid var(--line);background:#111315;border-radius:3px;overflow:hidden}.value-tab{border:0;border-right:1px solid var(--line);background:transparent;color:#aaa;padding:9px 10px;font-size:10px;font-weight:700;white-space:nowrap}.value-tab:last-child{border:0}.value-tab.active{background:#2b2e32;color:#fff}
.roster-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px}.table-card,.insight-card,.planner-card,.placeholder-panel{border:1px solid var(--line);background:var(--panel)}.table-topline{display:flex;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);text-transform:uppercase;font:700 17px var(--font-display);letter-spacing:.05em}.table-topline span:last-child{font:500 10px var(--font-body);color:var(--muted);letter-spacing:.1em;padding-top:5px}.table-header,.roster-row{display:grid;grid-template-columns:56px 1.5fr 1fr 110px;gap:8px;align-items:center;padding:0 20px}.table-header{height:35px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:9px;border-bottom:1px solid #25272a}.table-header span:last-child,.roster-row .value{text-align:right}.roster-row{height:51px;border-bottom:1px solid #202226;font-size:12px}.roster-row:last-child{border-bottom:0}.position{font:700 13px var(--font-display);color:var(--lime);letter-spacing:.05em}.player-name{font-weight:700}.player-detail{color:var(--muted);font-size:10px;margin-top:3px}.acquisition{font-size:11px;color:#c8c9c9}.value{font-family:var(--font-display);font-weight:700;font-size:19px}.value.na{color:#65686c;font:500 12px var(--font-body)}.insight-card{padding:23px;background:linear-gradient(155deg,#1b1e22,#0d0e10)}.insight-card h3,.planner-card h3{font:700 28px/.96 var(--font-display);text-transform:uppercase;margin:0 0 13px}.insight-card>p:not(.eyebrow),.planner-card p:not(.eyebrow){color:#b9babc;font-size:12px;line-height:1.65}.lens-stat{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.lens-stat b{font:700 20px var(--font-display);color:var(--paper)}
.planner-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.planner-card{min-height:260px;padding:30px}.planner-card.dark{background:linear-gradient(135deg,#1c2023,#0e1012)}.allocation{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:13px 0;color:var(--muted);font-size:12px}.allocation:first-of-type{margin-top:23px}.allocation strong{font:700 25px var(--font-display);color:var(--paper)}.allocation small{font:500 15px var(--font-body);color:var(--muted)}.portrait{padding:0;display:flex;overflow:hidden}.portrait img{width:43%;object-fit:cover;filter:grayscale(1);opacity:.78}.portrait div{padding:30px}.placeholder-panel{padding:44px;min-height:230px}.placeholder-panel h3{font:700 36px var(--font-display);text-transform:uppercase;margin:0}.placeholder-panel p:not(.eyebrow){color:var(--muted);max-width:430px;line-height:1.6;font-size:13px}
footer{max-width:1170px;margin:auto;padding:25px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px}
@media (max-width:950px){.topbar{padding:0 20px}.main-nav{gap:12px;overflow:auto}.account{display:none}.hero{padding:62px 7vw 144px}.phase-card{left:7vw;right:auto;bottom:26px}.workspace{padding:50px 20px}.quick-strip{margin:0}.roster-layout{grid-template-columns:1fr}.insight-card{display:none}.toolbar{align-items:flex-start;flex-direction:column}.value-switch{max-width:100%;overflow:auto}.planner-grid{grid-template-columns:1fr}.login-card{margin:100px auto 0}.login-art{background:linear-gradient(180deg,rgba(8,9,11,.6),rgba(8,9,11,.9)),url("assets/hero-player.png") center / cover no-repeat}}
@media (max-width:650px){.brand span,.main-nav{display:none}.topbar{justify-content:space-between}.topbar:after{content:"Menu";font-size:12px;text-transform:uppercase;letter-spacing:.1em}.hero h1{font-size:56px}.quick-strip{grid-template-columns:repeat(2,1fr)}.quick-strip div:nth-child(2){border-right:0}.quick-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-heading{align-items:flex-start;flex-direction:column}.table-card{overflow-x:auto}.table-card>div{min-width:610px}.portrait{display:none}.planner-grid{grid-template-columns:1fr}footer{margin:0 20px}.login-brand{left:20px;top:22px;font-size:20px}.login-card{padding:27px;margin-top:60px}.login-card h1{font-size:48px}}
/* Forms that are not part of the active authentication step must never be
   revealed by the generic form layout rule below. */
[hidden] { display: none !important; }
[hidden] { display: none !important; }

.keeper-actions { margin-top: 20px; background: #fff; border: 1px solid #e5e7eb; border-radius: 18px; padding: 24px; }
.keeper-actions-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.keeper-actions-heading h3 { margin: 4px 0 0; font-size: 1.25rem; }
.keeper-deadline { color: #5b6470; font-size: .8rem; font-weight: 700; }
.keeper-player { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; border-top: 1px solid #e8eaed; }
.keeper-player strong { margin-left: 8px; font-size: 1rem; }
.keeper-player small { display: block; margin: 6px 0 0 36px; color: #667085; }
.keeper-choices { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.keeper-choices .primary-button, .keeper-choices .outline-button, .cut-button { min-height: 36px; padding: 0 12px; font-size: .78rem; }
.cap-hit { color: #ad2d2d; font-size: .78rem; font-weight: 800; }
.cut-button { border: 1px solid #e4b6b6; background: #fff7f7; color: #a51c1c; border-radius: 7px; font-weight: 800; cursor: pointer; }
.keeper-choices .selected-action { background: var(--lime); border-color: var(--lime); color: #101204; box-shadow: inset 0 0 0 1px rgba(0,0,0,.16); }
.keeper-validation { margin: 12px 0 0; color: #b9babc; font-size: .76rem; line-height: 1.4; }
.keeper-validation.invalid { color: #ffb6b6; }
.all-values-card { margin-top: 20px; background: #fff; border: 1px solid #e5e7eb; border-radius: 18px; padding: 24px; }
.all-values-scroll { overflow-x: auto; }
.all-values-card table { width: 100%; border-collapse: collapse; min-width: 820px; font-size: .82rem; }
.all-values-card th { text-align: right; color: #667085; font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; padding: 0 10px 10px; white-space: nowrap; }
.all-values-card th:first-child, .all-values-card td:first-child { text-align: left; padding-left: 0; }
.all-values-card td { text-align: right; border-top: 1px solid #e8eaed; padding: 12px 10px; color: #20242a; white-space: nowrap; }
.all-values-card td small { display: block; margin-top: 3px; color: #7b8490; font-size: .7rem; }
@media (max-width: 720px) { .keeper-actions-heading, .keeper-player { align-items: flex-start; flex-direction: column; } .keeper-choices { justify-content: flex-start; } }
