:root {
    --bg: #070b12;
    --panel: #0e151f;
    --panel-2: #111a26;
    --line: #202b38;
    --line-hot: #a8ef39;
    --text: #f4f7f1;
    --muted: #83909e;
    --acid: #b8ff3d;
    --cyan: #31d7ff;
    --red: #ff5470;
    --yellow: #ffca3a;
    --green: #45e5a1;
    --blue: #4d91ff;
}

.learning-status { margin: 16px 32px 0; color: var(--muted); font-size: .8rem; }
.learning-status > summary { display: flex; align-items: center; gap: 9px; cursor: pointer; min-height: 32px; }
.learning-status > summary small { margin-left: auto; }
.learning-status > div { padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.activity-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); }
.activity-dot.busy { background: var(--acid); box-shadow: 0 0 12px #b8ff3d66; }
.history-panel { padding: 24px; margin-bottom: 20px; }
.history-panel p { color: var(--muted); line-height: 1.6; }
.history-metrics { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 16px; margin: 24px 0; }
.history-metrics strong { display: block; font-size: 1.7rem; color: var(--acid); }
.history-metrics span { font-size: .8rem; color: var(--muted); }
.history-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin: 20px 0; }
.history-controls label { display: grid; gap: 8px; color: var(--muted); font-size: .85rem; }
.history-controls input { width: 150px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: var(--bg); }
.history-controls select, .history-panel .section-head select { max-width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: var(--bg); }
.history-controls .account-remember { display: flex; align-items: center; gap: 9px; }
.history-controls input[type=checkbox] { width: 18px; height: 18px; padding: 0; flex: 0 0 18px; accent-color: var(--acid); }
.decision-history summary { cursor: pointer; padding: 12px 0; border-bottom: 1px solid var(--line); }
.lineup-choice { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 16px; }
.lineup-choice small { color: var(--muted); }
@media (max-width: 700px) { .learning-status { margin: 12px 16px 0; } .history-controls label,.history-controls input { width: 100%; } }

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
body {
    color: var(--text);
    background:
        radial-gradient(circle at 72% -20%, rgba(68, 125, 73, .18), transparent 34rem),
        radial-gradient(circle at 20% 85%, rgba(31, 93, 122, .12), transparent 38rem),
        var(--bg);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: .01em;
}
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 230px minmax(0, 1fr); }
.sidebar {
    position: sticky; top: 0; height: 100vh; padding: 28px 18px 20px;
    border-right: 1px solid var(--line); background: rgba(8, 13, 20, .92); backdrop-filter: blur(20px);
    display: flex; flex-direction: column; z-index: 10;
}
.brand { display: flex; align-items: center; gap: 12px; padding: 0 10px 38px; }
.brand-mark {
    width: 38px; height: 38px; display: grid; place-items: center; color: #091007;
    background: var(--acid); font-weight: 950; letter-spacing: -.08em; clip-path: polygon(10% 0,100% 0,100% 78%,82% 100%,0 100%,0 20%);
    box-shadow: 0 0 28px rgba(184,255,61,.28);
}
.brand div { display: grid; }
.brand strong { font-size: 15px; letter-spacing: .1em; }
.brand small { font-size: 8px; color: var(--acid); letter-spacing: .22em; margin-top: 2px; }
.sidebar nav { display: flex; flex-direction: column; gap: 5px; }
.nav-label { color: #586574; font-size: 9px; font-weight: 800; letter-spacing: .2em; padding: 0 12px 9px; }
.nav-label.second { margin-top: 23px; }
.nav-link { height: 46px; padding: 0 12px; display: flex; align-items: center; gap: 12px; color: #8e9aa8; border-radius: 8px; position: relative; font-size: 13px; font-weight: 650; }
.nav-link i { width: 20px; color: #64707d; font-style: normal; font-size: 20px; text-align: center; }
.nav-link b { position: absolute; width: 3px; height: 20px; right: 0; background: var(--acid); opacity: 0; box-shadow: 0 0 14px var(--acid); }
.nav-link:hover { color: #e8efe3; background: #111923; }
.nav-link.active { color: white; background: linear-gradient(90deg, rgba(184,255,61,.13), rgba(184,255,61,.015)); }
.nav-link.active i { color: var(--acid); }
.nav-link.active b { opacity: 1; }
.nav-link.new-auction { margin-top: 5px; border: 1px dashed #354421; color: var(--acid); justify-content: center; }
.nav-link.desktop-exit { width: 100%; margin-top: 12px; border: 0; background: transparent; }
.nav-link.desktop-exit:hover { color: #ff8798; background: rgba(255,84,112,.05); }
.nav-link.desktop-exit:hover i { color: #ff8798; }
.sidebar-foot { margin-top: auto; border-top: 1px solid var(--line); padding: 19px 8px 0; display: flex; align-items: center; justify-content: space-between; }
.sidebar-foot div { display: grid; grid-template-columns: 9px auto; align-items: center; }
.sidebar-foot .live-dot { grid-row: span 2; }
.sidebar-foot small { color: #64717e; font-size: 8px; letter-spacing: .18em; }
.sidebar-foot strong { font-size: 9px; color: var(--acid); letter-spacing: .08em; }
.sidebar-foot > span { border: 1px solid var(--line); border-radius: 50%; width: 35px; height: 35px; display: grid; place-items: center; font-size: 10px; color: #9ca7b1; }
main { min-width: 0; }
.content { max-width: 1580px; margin: 0 auto; padding: 34px 38px 70px; }
.mobile-top { display: none; }

.page-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.page-head h1, .form-page h1 { font-size: clamp(30px, 4vw, 52px); line-height: 1; letter-spacing: -.045em; margin: 8px 0 9px; font-weight: 860; }
.page-head p, .form-page > p { color: var(--muted); margin: 0; font-size: 13px; }
.head-actions { display: flex; gap: 9px; }
.title-with-action, .archive-title { display: flex; align-items: center; gap: 10px; }
.title-with-action h1, .archive-title h2 { margin-right: 2px; }
.rename-button { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; border: 1px solid transparent; background: transparent; color: #64717d; cursor: pointer; font-size: 15px; }
.rename-button:hover { color: var(--acid); border-color: #354421; background: rgba(184,255,61,.05); }
.rename-inline { display: flex; align-items: center; gap: 7px; margin: 8px 0 9px; }
.rename-inline input, .archive-rename input { height: 40px; min-width: min(430px, 55vw); color: white; background: #0a1118; border: 1px solid rgba(184,255,61,.42); border-radius: 5px; padding: 0 12px; outline: none; font-weight: 750; }
.eyebrow { color: var(--acid); font-size: 9px; font-weight: 850; letter-spacing: .18em; }
.live-dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; background: var(--acid); margin-right: 5px; box-shadow: 0 0 12px var(--acid); animation: blink 2s infinite; }
@keyframes blink { 50% { opacity: .35; } }

.btn-neon, .btn-ghost, .btn-danger-ghost { border: 0; min-height: 43px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; cursor: pointer; font-weight: 800; font-size: 12px; border-radius: 5px; transition: .2s ease; }
.btn-neon { color: #0a1008; background: var(--acid); box-shadow: 0 0 28px rgba(184,255,61,.12); }
.btn-neon:hover { background: #caff6f; transform: translateY(-1px); box-shadow: 0 0 28px rgba(184,255,61,.25); }
.btn-neon:disabled { opacity: .35; pointer-events: none; }
.btn-neon.compact { min-height: 36px; padding: 0 13px; font-size: 10px; }
.btn-neon.wide { width: 100%; margin-top: 26px; }
.btn-ghost { color: #b3bdc7; background: #101821; border: 1px solid var(--line); }
.btn-ghost:hover { color: white; border-color: #3c4855; }
.btn-ghost.small { min-height: 35px; font-size: 10px; padding: 0 12px; }
.btn-danger-ghost { min-height: 36px; font-size: 9px; padding: 0 10px; color: #ff8798; background: rgba(255,84,112,.05); border: 1px solid rgba(255,84,112,.22); }
.opponent-list { max-height: 270px; overflow-y: auto; }
.opponent-search { height: 38px; margin: 10px 12px 5px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid #26313c; border-radius: 5px; background: #090f16; }
.opponent-search:focus-within { border-color: rgba(184,255,61,.5); }
.opponent-search > span { color: var(--acid); font-size: 17px; }
.opponent-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: white; font-size: 9px; }
.opponent-search button { width: 23px; height: 23px; border: 0; border-radius: 50%; background: transparent; color: #71808d; cursor: pointer; font-size: 15px; }
.opponent-search button:hover { color: var(--acid); background: #17212a; }
.opponent-row { grid-template-columns: 25px minmax(0,1fr) 58px auto; }
.opponent-price { height: 29px; display: flex; align-items: center; overflow: hidden; border: 1px solid #354421; border-radius: 4px; background: rgba(184,255,61,.04); }
.opponent-price input { width: 36px; min-width: 0; height: 100%; padding: 0 2px 0 6px; border: 0; outline: 0; color: var(--acid); background: transparent; font-size: 10px; font-weight: 850; text-align: right; appearance: textfield; }
.opponent-price input::-webkit-inner-spin-button, .opponent-price input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.opponent-price span { padding-right: 5px; color: #71808d; font-size: 7px; font-weight: 850; }
.opponent-price:focus-within { border-color: var(--acid); }
.restore-market { min-height: 29px; padding: 0 9px; border: 1px solid #354421; border-radius: 4px; color: var(--acid); background: rgba(184,255,61,.04); cursor: pointer; font-size: 8px; font-weight: 800; white-space: nowrap; }
.restore-market:hover { background: rgba(184,255,61,.11); border-color: var(--acid); }
.panel { background: linear-gradient(150deg, rgba(17,26,38,.95), rgba(10,16,24,.98)); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 18px 50px rgba(0,0,0,.16); }
.panel-head { min-height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid var(--line); }
.panel-head > div { display: flex; align-items: center; gap: 10px; }
.panel-head h2 { font-size: 13px; margin: 0; letter-spacing: -.01em; }
.panel-index { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; color: #54606e; font-size: 8px; }
.data-badge, .count-badge { border: 1px solid #2c3844; border-radius: 4px; color: #84919e; padding: 5px 7px; font-size: 8px; letter-spacing: .1em; }
.data-badge.large { padding: 8px 10px; color: var(--acid); border-color: #354421; }

.kpi-grid { display: grid; grid-template-columns: 1.25fr repeat(3, 1fr); gap: 10px; margin-bottom: 10px; }
.kpi-card { min-height: 140px; position: relative; overflow: hidden; border: 1px solid var(--line); background: linear-gradient(145deg,#111923,#0d141d); padding: 19px 20px; border-radius: 8px; }
.kpi-card.primary { border-color: rgba(184,255,61,.3); background: linear-gradient(145deg,rgba(184,255,61,.10),#0d1613 65%); }
.kpi-card.primary:after { content: ""; position: absolute; width: 130px; height: 130px; background: var(--acid); filter: blur(90px); opacity: .10; right: -30px; top: -30px; }
.kpi-label { color: #8f9aa6; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; display: flex; justify-content: space-between; }
.kpi-label > span { color: var(--acid); font-size: 7px; }
.kpi-value { font-size: 44px; font-weight: 860; line-height: 1; margin: 17px 0 12px; letter-spacing: -.05em; }
.kpi-value.accent { color: var(--acid); text-shadow: 0 0 30px rgba(184,255,61,.18); }
.muted-value { color: #4f5b68; font-size: 22px; }
.kpi-foot { display: flex; justify-content: space-between; color: #697582; font-size: 9px; }
.meter { height: 2px; background: #1b2630; margin-top: 10px; }
.meter i { display: block; height: 100%; background: var(--acid); box-shadow: 0 0 8px var(--acid); }
.info-chip { border: 1px solid #39434d; border-radius: 50%; color: #707b86 !important; width: 14px; height: 14px; display: grid !important; place-items: center; }
.slot-dots { display: flex; flex-wrap: wrap; gap: 4px; max-width: 190px; }
.slot-dots i { width: 12px; height: 3px; border-radius: 3px; background: #26313c; }
.slot-dots i.filled { background: var(--acid); box-shadow: 0 0 5px rgba(184,255,61,.4); }
.positive { color: var(--green) !important; }
.negative { color: var(--red) !important; }

.role-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 10px; }
.rebalance-banner { min-height: 48px; margin: 0 0 10px; padding: 9px 14px; display: flex; align-items: center; gap: 11px; color: var(--acid); border: 1px solid rgba(184,255,61,.2); border-radius: 7px; background: linear-gradient(90deg,rgba(184,255,61,.07),rgba(184,255,61,.015)); }
.rebalance-banner > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: rgba(184,255,61,.11); font-size: 15px; }
.rebalance-banner div { display: grid; gap: 2px; }
.rebalance-banner strong { font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.rebalance-banner small { color: #8d9a85; font-size: 8px; line-height: 1.4; }
.role-stat { min-width: 0; background: #0d141d; color: var(--text); border: 1px solid var(--line); padding: 13px 14px 10px; border-radius: 7px; display: grid; grid-template-columns: 35px 1fr; gap: 10px; text-align: left; cursor: pointer; }
.role-stat.active { border-color: #465361; background: #121b25; }
.role-code, .role-avatar, .mini-role { display: grid; place-items: center; font-weight: 900; border-radius: 4px; }
.role-code { width: 34px; height: 34px; color: #07100e; }
.role-data { display: grid; align-content: center; gap: 3px; min-width: 0; }
.role-data strong { font-size: 11px; }
.role-data small { color: #6f7b88; font-size: 9px; }
.role-bar { grid-column: span 2; height: 2px; background: #202a34; margin-top: 2px; }
.role-bar i { height: 100%; display: block; background: currentColor; }
.role-p .role-code, .role-avatar.role-p, .mini-role.role-p, .roster-title.role-p span { background: var(--yellow); color: #171204; }
.role-d .role-code, .role-avatar.role-d, .mini-role.role-d, .roster-title.role-d span { background: var(--blue); color: #07101e; }
.role-c .role-code, .role-avatar.role-c, .mini-role.role-c, .roster-title.role-c span { background: var(--green); color: #06150f; }
.role-a .role-code, .role-avatar.role-a, .mini-role.role-a, .roster-title.role-a span { background: var(--red); color: #1c070b; }

.auction-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr); gap: 10px; }
.right-stack { display: grid; gap: 10px; align-content: start; }
.search-wrap { height: 45px; margin: 14px 16px 10px; background: #090f16; border: 1px solid #26313c; border-radius: 5px; display: flex; align-items: center; padding: 0 12px; gap: 10px; }
.search-wrap:focus-within { border-color: rgba(184,255,61,.55); box-shadow: 0 0 0 2px rgba(184,255,61,.05); }
.search-wrap > span { color: var(--acid); font-size: 20px; }
.search-wrap input { flex: 1; min-width: 0; background: transparent; border: 0; color: white; outline: 0; font-size: 12px; }
.search-wrap kbd { color: #66727e; font-size: 8px; font-family: inherit; background: transparent; }
.filter-row { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 16px 12px; }
.filter-pill { border: 1px solid #293440; background: #0d141c; color: #7f8b98; height: 29px; padding: 0 11px; border-radius: 15px; font-size: 9px; font-weight: 750; cursor: pointer; }
.filter-pill:hover, .filter-pill.active { color: white; border-color: #64717d; background: #17212b; }
.filter-pill.active.role-p { color: var(--yellow); border-color: rgba(255,202,58,.4); }
.filter-pill.active.role-d { color: #72a9ff; border-color: rgba(77,145,255,.4); }
.filter-pill.active.role-c { color: var(--green); border-color: rgba(69,229,161,.4); }
.filter-pill.active.role-a { color: #ff7b91; border-color: rgba(255,84,112,.4); }
.player-list { max-height: 515px; overflow: auto; border-top: 1px solid var(--line); }
.player-row, .watch-row { min-height: 54px; display: flex; align-items: center; gap: 11px; padding: 7px 13px 7px 16px; border-bottom: 1px solid #19232d; cursor: pointer; transition: .15s ease; }
.player-row:hover, .player-row.selected { background: rgba(184,255,61,.035); }
.player-row.selected { box-shadow: inset 2px 0 var(--acid); }
.role-avatar { flex: 0 0 29px; width: 29px; height: 29px; font-size: 10px; }
.player-main { flex: 1; min-width: 0; display: grid; gap: 2px; }
.player-main strong { font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.player-main small { color: #697582; font-size: 8px; text-transform: uppercase; }
.radar-availability { display: grid; gap: 3px; margin-top: 4px; font-size: 10px; line-height: 1.45; color: #9bc8bb; }
.radar-availability.has-warning .radar-availability-summary { color: #ffca7c; }
.radar-injury-note { color: #b5a796; font-size: 10px; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.radar-availability.detailed .radar-injury-note { display: block; overflow: visible; }
.radar-data-date { color: #8c9aab; font-size: 9px; }
.bid-availability { grid-column: 1 / -1; grid-row: 2; }
.fvm-cell { width: 56px; display: grid; text-align: right; }
.fvm-cell small { color: #5c6874; font-size: 7px; letter-spacing: .09em; }
.fvm-cell strong { font-size: 17px; color: var(--acid); }
.icon-btn { flex: 0 0 27px; width: 27px; height: 27px; border: 0; color: #71808d; background: transparent; cursor: pointer; border-radius: 50%; font-size: 18px; }
.icon-btn:hover { color: var(--acid); background: #17212a; }
.target-tag { color: var(--acid); border: 1px solid rgba(184,255,61,.18); background: rgba(184,255,61,.04); padding: 4px 6px; font-size: 7px; border-radius: 3px; white-space: nowrap; }
.no-results { color: #6d7985; text-align: center; padding: 35px 18px; font-size: 11px; }
.compact-empty { padding: 24px 12px; }
.bid-dock { display: grid; grid-template-columns: 1.1fr 80px 1fr auto auto; gap: 9px; align-items: end; padding: 13px 15px; border-top: 1px solid rgba(184,255,61,.25); background: #0a1117; }
.bid-player { display: flex; align-items: center; gap: 9px; min-width: 0; }
.bid-player div { display: grid; min-width: 0; }
.bid-player strong { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bid-player small { color: #6d7883; font-size: 8px; }
.bid-dock label { color: #687481; font-size: 7px; text-transform: uppercase; letter-spacing: .1em; }
.bid-dock input, .strategy-row input[type=number] { display: block; margin-top: 4px; width: 100%; height: 34px; background: #111a23; color: white; border: 1px solid #293440; border-radius: 4px; padding: 0 8px; outline: none; }

.pulse { color: var(--acid); font-size: 7px; letter-spacing: .12em; }
.advisor-hero { margin: 15px; padding: 14px; border: 1px solid rgba(184,255,61,.16); background: linear-gradient(100deg,rgba(184,255,61,.07),transparent); display: flex; gap: 12px; align-items: start; border-radius: 5px; }
.advisor-orb { flex: 0 0 31px; height: 31px; border-radius: 50%; display: grid; place-items: center; color: #0b1107; background: var(--acid); box-shadow: 0 0 24px rgba(184,255,61,.25); }
.advisor-hero strong { font-size: 11px; }
.advisor-hero p { margin: 5px 0 0; color: #8b97a2; font-size: 9px; line-height: 1.55; }
.role-budget-list { padding: 0 15px 7px; }
.role-budget-list > div { min-height: 44px; display: flex; gap: 9px; align-items: center; }
.mini-role { width: 23px; height: 23px; flex: 0 0 23px; font-size: 8px; }
.grow { flex: 1; min-width: 0; }
.role-budget-list .grow { display: grid; gap: 5px; }
.role-budget-list .grow strong { font-size: 9px; }
.role-budget-list .grow i { height: 2px; display: block; background: #212c36; }
.role-budget-list .grow b { height: 100%; display: block; background: #8c9ba8; }
.budget-numbers { display: flex; gap: 3px; align-items: baseline; min-width: 46px; justify-content: end; }
.budget-numbers strong { font-size: 12px; }
.budget-numbers small { color: #5e6a76; font-size: 8px; }
.delta { min-width: 35px; text-align: right; color: var(--green); font-size: 8px; }
.delta.over { color: var(--red); }
.panel-link { height: 40px; border-top: 1px solid var(--line); padding: 0 16px; display: flex; align-items: center; justify-content: space-between; color: #8d99a5; font-size: 9px; }
.panel-link:hover { color: var(--acid); }
.watch-row { min-height: 48px; padding-left: 14px; cursor: default; }
.priority { width: 19px; height: 19px; border: 1px solid #42505c; border-radius: 50%; display: grid; place-items: center; color: #8b98a4; font-size: 7px; }

.roster-panel { margin-top: 10px; }
.completion-panel { margin-top: 10px; overflow: hidden; border-color: rgba(184,255,61,.2); }
.completion-head-actions { display: flex !important; align-items: center; gap: 8px !important; }
.completion-summary { min-height: 70px; padding: 13px 16px; display: flex; align-items: center; gap: 12px; background: linear-gradient(90deg,rgba(184,255,61,.065),transparent); }
.completion-summary.warning { background: linear-gradient(90deg,rgba(255,84,112,.07),transparent); }
.completion-summary > div:nth-child(2) { flex: 1; display: grid; gap: 4px; }
.completion-summary strong { font-size: 10px; }
.completion-summary small { color: #75818c; font-size: 8px; line-height: 1.4; }
.completion-kpi { min-width: 82px; display: grid; justify-items: end; gap: 2px; }
.completion-kpi strong { color: var(--acid); font-size: 24px; }
.completion-columns { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; border-top: 1px solid var(--line); background: var(--line); }
.completion-role { min-width: 0; background: #0b1219; }
.completion-role-head { min-height: 52px; display: flex; align-items: center; gap: 9px; padding: 8px 11px; border-bottom: 1px solid var(--line); }
.completion-role-head > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 4px; font-size: 9px; font-weight: 900; }
.completion-role-head.role-p > span { background: var(--yellow); color: #171204; }
.completion-role-head.role-d > span { background: var(--blue); color: #07101e; }
.completion-role-head.role-c > span { background: var(--green); color: #06150f; }
.completion-role-head.role-a > span { background: var(--red); color: #1c070b; }
.completion-role-head div { min-width: 0; display: grid; gap: 2px; }
.completion-role-head strong { font-size: 9px; }
.completion-role-head small { color: #63707c; font-size: 7px; }
.completion-player { width: 100%; min-height: 43px; padding: 6px 9px 6px 11px; display: grid; grid-template-columns: minmax(0,1fr) auto 33px; align-items: center; gap: 7px; border: 0; border-bottom: 1px solid #19232c; color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.completion-player:hover { background: rgba(184,255,61,.045); }
.completion-player > span { min-width: 0; display: grid; gap: 2px; }
.completion-player > span:nth-child(2) { justify-items: end; }
.completion-player strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.completion-player small { color: #65717d; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 7px; text-transform: uppercase; }
.completion-player > span:nth-child(2) strong { color: var(--acid); font-size: 12px; }
.completion-player i { color: #72808b; font-size: 7px; font-style: normal; text-transform: uppercase; }
.completion-role-total { min-height: 36px; padding: 0 10px; display: flex; align-items: center; justify-content: space-between; color: #65717d; font-size: 7px; }
.completion-role-total strong { color: #9eabb5; font-size: 8px; }
.completion-missing { padding: 14px 10px; color: #ff8497; font-size: 8px; line-height: 1.4; }
.roster-columns { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); }
.roster-role { background: #0c131b; min-width: 0; }
.roster-title { height: 48px; display: flex; align-items: center; gap: 9px; padding: 0 12px; border-bottom: 1px solid var(--line); }
.roster-title > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 3px; font-size: 8px; font-weight: 900; }
.roster-title strong { flex: 1; font-size: 10px; }
.roster-title small { color: #626e79; font-size: 8px; }
.roster-player, .empty-slot { height: 39px; display: flex; align-items: center; gap: 7px; padding: 0 9px 0 12px; border-bottom: 1px solid #19232c; }
.roster-player > span:first-child { flex: 1; display: grid; min-width: 0; }
.roster-player strong { font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.roster-player small { color: #5c6874; font-size: 7px; }
.roster-price { font-size: 11px; font-weight: 800; }
.value-delta { min-width: 25px; font-size: 7px; }
.roster-player .icon-btn { width: 20px; flex-basis: 20px; font-size: 14px; }
.empty-slot { color: #43505b; font-size: 8px; border-bottom-style: dashed; }
.empty-slot span { width: 18px; height: 18px; display: grid; place-items: center; border: 1px dashed #34414d; border-radius: 50%; }

.toast-line { margin: -15px 0 12px; border: 1px solid rgba(69,229,161,.25); background: rgba(69,229,161,.06); color: var(--green); padding: 9px 12px; font-size: 10px; border-radius: 5px; }
.toast-line.error { color: #ff8497; border-color: rgba(255,84,112,.25); background: rgba(255,84,112,.06); }
.empty-hero { min-height: calc(100vh - 105px); display: flex; flex-direction: column; justify-content: center; max-width: 970px; margin: auto; }
.empty-hero h1 { font-size: clamp(52px, 8vw, 106px); line-height: .9; letter-spacing: -.07em; margin: 20px 0 30px; }
.empty-hero h1 span { color: transparent; -webkit-text-stroke: 1px #536251; }
.empty-hero > p { max-width: 610px; color: #8c99a4; font-size: 15px; line-height: 1.7; }
.hero-actions { display: flex; gap: 10px; margin-top: 25px; }
.hero-stats { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); margin-top: 65px; padding-top: 25px; }
.hero-stats div { display: grid; border-right: 1px solid var(--line); padding-left: 22px; }
.hero-stats div:first-child { padding-left: 0; }
.hero-stats strong { font-size: 25px; color: var(--acid); }
.hero-stats span { color: #66727f; text-transform: uppercase; font-size: 8px; letter-spacing: .14em; }

.form-page { max-width: 720px; margin: 8vh auto 0; }
.setup-card { margin-top: 30px; padding: 25px; }
.setup-card > label { color: #778490; font-size: 9px; text-transform: uppercase; letter-spacing: .14em; }
.big-input { width: 100%; display: block; height: 58px; margin-top: 8px; background: #0a1118; color: white; border: 1px solid #2b3742; border-radius: 5px; padding: 0 16px; font-size: 16px; outline: 0; }
.big-input:focus { border-color: var(--acid); }
.setup-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 18px; }
.setup-grid > div { border: 1px solid var(--line); background: #0b1219; padding: 15px; display: grid; }
.setup-grid span, .setup-grid small { color: #6e7a86; font-size: 8px; text-transform: uppercase; }
.setup-grid strong { font-size: 27px; margin: 7px 0 2px; }
.target-preview { display: flex; height: 38px; margin-top: 8px; }
.target-preview span { display: flex; align-items: center; justify-content: space-between; padding: 0 9px; color: #8c98a4; font-size: 8px; border-right: 1px solid #091016; }
.target-preview span:nth-child(1) { width: 8%; min-width: 52px; background: rgba(255,202,58,.14); }
.target-preview span:nth-child(2) { width: 14%; min-width: 70px; background: rgba(77,145,255,.14); }
.target-preview span:nth-child(3) { width: 22%; min-width: 90px; background: rgba(69,229,161,.14); }
.target-preview span:nth-child(4) { flex: 1; background: rgba(255,84,112,.14); }

.archive-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.archive-card { border: 1px solid var(--line); background: linear-gradient(145deg,#111923,#0b121a); border-radius: 9px; padding: 20px; }
.archive-card.current { border-color: rgba(184,255,61,.28); box-shadow: inset 0 2px var(--acid); }
.archive-top { display: flex; justify-content: space-between; color: #5f6b77; font-size: 8px; }
.status-pill { color: var(--acid); }
.status-pill.done { color: #7e8a96; }
.archive-card h2 { margin: 20px 0 5px; font-size: 19px; }
.archive-title { margin-top: 20px; }
.archive-title h2 { margin: 0 0 5px; }
.archive-rename { display: flex; align-items: center; gap: 7px; margin: 15px 0 8px; }
.archive-rename input { min-width: 0; flex: 1; }
.archive-card > p { color: #697582; font-size: 9px; }
.archive-metrics { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 18px 0; }
.archive-metrics div { display: grid; padding: 12px 6px; border-right: 1px solid var(--line); }
.archive-metrics div:last-child { border: 0; }
.archive-metrics small { color: #64707b; font-size: 7px; text-transform: uppercase; }
.archive-metrics strong { margin-top: 4px; font-size: 16px; }
.archive-actions { min-height: 36px; display: flex; justify-content: end; gap: 8px; }
.delete-confirm { width: 100%; display: flex; align-items: center; justify-content: end; gap: 8px; color: #ff93a3; font-size: 9px; }
.btn-delete-confirm { min-height: 35px; padding: 0 12px; border-radius: 5px; border: 1px solid var(--red); background: var(--red); color: #19070b; font-size: 9px; font-weight: 850; cursor: pointer; }
.btn-delete-confirm:hover { background: #ff738a; }

.catalog-panel { overflow: hidden; }
.catalog-sync-line { min-height: 28px; margin: -5px 0 12px; display: flex; align-items: center; flex-wrap: wrap; gap: 5px; color: #667480; font-size: 8px; }
.catalog-sync-line strong { margin-left: auto; font-weight: 600; }
.sync-success { color: var(--green); }
.sync-error { color: #ff91a1; }
.catalog-tools { display: grid; grid-template-columns: 1fr auto; align-items: center; border-bottom: 1px solid var(--line); }
.catalog-tools .search-wrap { margin-right: 5px; }
.catalog-tools .filter-row { padding: 0 16px 0 0; }
.table-wrap { overflow: auto; max-height: calc(100vh - 285px); }
.fanta-table { width: 100%; border-collapse: collapse; }
.fanta-table th { position: sticky; top: 0; z-index: 1; background: #101923; color: #687582; text-align: left; text-transform: uppercase; letter-spacing: .11em; font-size: 8px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.fanta-table td { height: 48px; padding: 6px 16px; border-bottom: 1px solid #19232d; color: #8d99a5; font-size: 10px; }
.fanta-table tr:hover td { background: rgba(184,255,61,.025); }
.fanta-table td strong { color: #e8ede8; }
.big-fvm { color: var(--acid); font-size: 16px; font-weight: 850; }
.table-note { text-align: center; padding: 12px; color: #64707b; font-size: 8px; }

.strategy-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 12px; }
.preset-row { display: flex; gap: 6px; padding: 15px 18px 5px; }
.strategy-row { display: flex; align-items: center; gap: 13px; min-height: 70px; padding: 10px 18px; border-bottom: 1px solid var(--line); }
.strategy-row .grow { display: grid; min-width: 130px; }
.strategy-row strong { font-size: 11px; }
.strategy-row small { color: #697582; font-size: 8px; }
.strategy-row input[type=range] { flex: 1; accent-color: var(--acid); }
.strategy-row label { display: flex; align-items: center; color: #74808c; font-size: 9px; }
.strategy-row input[type=number] { width: 60px; margin: 0 5px 0 0; }
.strategy-grid .btn-neon { margin: 14px 18px; }
.save-message { color: var(--green); font-size: 9px; }
.research-card { align-self: start; }
.principle { display: flex; gap: 14px; padding: 18px; border-bottom: 1px solid var(--line); }
.principle > span { color: var(--acid); font: 8px ui-monospace,monospace; }
.principle strong { font-size: 11px; }
.principle p { color: #7a8793; font-size: 9px; line-height: 1.55; margin: 5px 0 0; }

#blazor-error-ui { display: none; position: fixed; left: 240px; right: 10px; bottom: 10px; z-index: 1000; background: #2b1520; border: 1px solid var(--red); color: white; padding: 12px; border-radius: 5px; font-size: 11px; }
#blazor-error-ui .dismiss { float: right; cursor: pointer; }

@media (max-width: 1100px) {
    .app-shell { grid-template-columns: 78px minmax(0,1fr); }
    .sidebar { padding: 25px 12px; }
    .brand { padding: 0 8px 35px; }
    .brand div, .nav-link span, .nav-label, .sidebar-foot div { display: none; }
    .brand-mark { width: 35px; height: 35px; }
    .nav-link { justify-content: center; padding: 0; }
    .nav-link i { margin: 0; }
    .sidebar-foot { justify-content: center; }
    .auction-grid { grid-template-columns: 1fr; }
    .right-stack { grid-template-columns: 1fr 1fr; }
    .completion-columns { grid-template-columns: 1fr 1fr; }
    .roster-columns { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
    .app-shell { display: block; }
    .sidebar { position: fixed; top: auto; bottom: 0; width: 100%; height: 62px; padding: 6px 8px; border-right: 0; border-top: 1px solid var(--line); }
    .brand, .nav-label, .sidebar-foot { display: none; }
    .sidebar nav { display: grid; grid-template-columns: repeat(5,1fr); gap: 1px; }
    .nav-link { height: 48px; }
    .nav-link i { font-size: 18px; }
    .nav-link b { width: 18px; height: 2px; right: auto; bottom: 0; }
    .nav-link.new-auction { margin: 0; border: 0; }
    .mobile-top { height: 55px; padding: 0 18px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); }
    .mobile-top .brand-mark { width: 28px; height: 28px; font-size: 11px; }
    .mobile-top strong { font-size: 11px; letter-spacing: .12em; }
    .content { padding: 25px 14px 90px; }
    .page-head { align-items: start; flex-direction: column; }
    .kpi-grid { grid-template-columns: 1fr 1fr; }
    .role-strip { grid-template-columns: 1fr 1fr; }
    .right-stack { grid-template-columns: 1fr; }
    .completion-columns { grid-template-columns: 1fr; }
    .completion-head-actions { align-items: end !important; flex-direction: column; }
    .completion-summary { align-items: start; }
    .bid-dock { grid-template-columns: 1fr 70px; }
    .bid-player, .note-field { grid-column: span 2; }
    .roster-columns { grid-template-columns: 1fr; }
    .archive-grid, .strategy-grid { grid-template-columns: 1fr; }
    .catalog-tools { grid-template-columns: 1fr; }
    .catalog-tools .filter-row { padding: 0 16px 13px; }
    .hero-stats { grid-template-columns: 1fr 1fr; gap: 20px; }
    .hero-stats div:nth-child(2) { border: 0; }
    .setup-grid { grid-template-columns: 1fr; }
    .archive-metrics { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 460px) {
    .kpi-grid, .role-strip { grid-template-columns: 1fr; }
    .kpi-card { min-height: 126px; }
    .empty-hero h1 { font-size: 50px; }
    .hero-actions { flex-direction: column; }
    .target-preview { overflow: hidden; }
}
.insights-status { color: #9baaba; padding: 12px 16px; font-size: 12px; line-height: 1.65; }
.insights-status a { color: #80f5d2; }
.player-insights { min-width: 240px; max-width: 360px; }
.player-insights small { display: block; white-space: normal; color: #a3b2c1; margin-top: 4px; }
.completion-player .suggestion-insight { white-space: normal; color: #9bc8bb; line-height: 1.45; margin-top: 5px; }
.radar-sports-context { display: block; color: #94dad0; font-size: .72rem; line-height: 1.5; white-space: normal; }
.lineup-panel { padding: 24px; margin: 22px 0; }
.lineup-panel .section-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; }
.lineup-module { display: flex; flex-direction: column; gap: 7px; color: var(--muted); font-size: .8rem; }
.lineup-module select { background: #101b28; border: 1px solid #324355; border-radius: 10px; color: #e7f9ff; padding: 10px; }
.lineup-rules { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 14px 0; color: var(--muted); font-size: .8rem; }
.lineup-rules label { display: flex; align-items: center; gap: 8px; }
.lineup-rules select { background: var(--panel-2); color: var(--text); border: 1px solid var(--line); border-radius: 8px; padding: 8px; }
.lineup-switch-toggle input { accent-color: var(--acid); }
.lineup-totals { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0; }
.lineup-totals > span { flex: 1 1 160px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 12px; font-size: .76rem; color: var(--muted); }
.lineup-totals strong { display: block; margin-top: 6px; color: var(--acid); font-size: 1.25rem; }
.lineup-switch-card { padding: 18px; border-radius: 12px; background: #123d3a45; border: 1px solid #31d7ff55; margin: 16px 0; }
.lineup-switch-card h3 { margin: 12px 0; }
.lineup-switch-card p, .lineup-switch-card small { color: #b6c9ce; line-height: 1.65; }
.lineup-method { color: var(--muted); font-size: .84rem; line-height: 1.6; }
.lineup-warning { border-left: 2px solid #e7bd6a; padding: 8px 12px; margin: 8px 0; background: #e7bd6a0c; color: #e7c78a; font-size: .8rem; }
.lineup-pitch { display: grid; gap: 18px; padding: 28px 18px; margin: 22px 0; border: 1px solid #39d6b93b; border-radius: 18px; background: radial-gradient(ellipse at center, #16423970, #081b26), repeating-linear-gradient(0deg, #0f2a2750 0 80px, transparent 80px 160px); }
.lineup-row { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.lineup-player { display: flex; flex: 1 1 135px; max-width: 240px; flex-direction: column; gap: 7px; align-items: center; text-align: center; padding: 15px 10px; border: 1px solid #54d0c33b; border-radius: 12px; background: #101b28dd; min-width: 0; }
.lineup-player > span:not(.role-avatar) { font-size: .75rem; color: #94a6b7; }
.lineup-player .lineup-score { color: #62ead2 !important; }
.lineup-player details { font-size: .7rem; color: #b5c7d7; }
.lineup-player summary { cursor: pointer; }
.lineup-player .radar-availability { margin-top: 0; }
.lineup-alternatives { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 24px; }
.archive-actions { flex-wrap: wrap; gap: 8px; }
.account-panel { padding: 24px; margin: 20px 0; max-width: 900px; }
.account-panel form { display: grid; gap: 16px; }
.account-panel label:not(.account-remember) { display: grid; gap: 8px; color: var(--muted); }
.account-panel input:not([type=checkbox]), .account-panel select, .defense-bands input { background: var(--panel-2); color: var(--text); border: 1px solid var(--line); border-radius: 9px; padding: 11px; min-width: 0; }
.account-panel > label:not(.account-remember) { margin-top: 18px; }
.account-panel select:disabled { opacity: .55; }
.leghe-selection { border: 0; padding: 0; margin: 18px 0; display: grid; gap: 16px; min-width: 0; }
.leghe-confirm { border: 1px solid var(--acid); border-radius: 12px; padding: 20px; margin-top: 20px; }
.leghe-send-panel { max-width: none; }
.account-remember, .defense-settings > label { display: flex; align-items: center; gap: 9px; }
.account-panel input[type=checkbox], .defense-settings input[type=checkbox] { accent-color: var(--acid); }
.account-panel p { color: var(--muted); line-height: 1.65; }
.account-panel h3 { margin-top: 28px; }
.account-panel .history-controls { margin: 20px 0; }
.account-panel .history-controls label:has(input[type=checkbox]) { display: flex; align-items: center; gap: 8px; }
.account-panel > input[type=file] { max-width: 100%; color: var(--muted); }
.upload-button { position: relative; overflow: hidden; cursor: pointer; }
.upload-button:focus-within { outline: 2px solid var(--acid); outline-offset: 4px; }
.upload-button:has(input:disabled) { opacity: .55; cursor: wait; }
.upload-button .file-trigger { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: inherit; }
.lineup-export textarea { display: block; width: 100%; max-width: 720px; box-sizing: border-box; margin: 14px 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); color: var(--text); font: inherit; line-height: 1.7; resize: vertical; }
.lineup-export [role=status] { display: inline-block; margin: 8px 12px; }
.defense-settings { padding: 18px; margin: 14px 0; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); }
.defense-settings > label { margin: 12px 0; font-size: .85rem; }
.defense-bands { display: grid; gap: 10px; margin: 16px 0; }
.defense-bands > div { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.defense-bands label { display: grid; gap: 6px; font-size: .8rem; color: var(--muted); }
.defense-bands input { width: 120px; }
@media (max-width: 680px) { .lineup-panel { padding: 14px; } .lineup-pitch { padding: 16px 8px; } .lineup-player { flex-basis: 110px; } }
.lineup-config-summary { color: var(--muted); font-size: .8rem; margin: 0 0 14px; }
.lineup-disclosure { color: var(--muted); font-size: .8rem; margin: 12px 0; }
.lineup-disclosure summary { cursor: pointer; padding: 8px 0; }
.lineup-disclosure p { line-height: 1.65; max-width: 80ch; }
.lineup-panel .lineup-pitch { background: radial-gradient(ellipse at center, #10332d80, #0b1720); border-color: #ffffff12; gap: 14px; padding: 22px 14px; }
.lineup-panel .lineup-player { border-color: #ffffff0d; background: #101923e8; gap: 5px; padding: 12px 8px; border-radius: 14px; }
.lineup-panel .lineup-player strong { font-size: .88rem; }
.lineup-panel .lineup-player details { width: 100%; }
.lineup-panel .lineup-player details[open] { text-align: left; padding-top: 8px; }
.lineup-panel .lineup-switch-card { padding: 14px 18px; border-color: #ffffff13; background: #ffffff03; }
.lineup-panel .lineup-switch-card h3 { font-size: 1rem; margin: 6px 0; }
.lineup-panel .lineup-totals { gap: 12px; }
.lineup-bench { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; margin: 16px 0 24px; }
.bench-player { min-width: 0; border-bottom: 1px solid var(--line); padding: 9px 0; }
.bench-player summary { display: flex; align-items: center; gap: 10px; cursor: pointer; list-style: none; }
.bench-player summary::-webkit-details-marker { display: none; }
.bench-player strong { font-size: .85rem; flex: 1; }
.bench-number { color: var(--muted); font-size: .75rem; width: 18px; }
.bench-grade { color: var(--muted); font-size: .75rem; }
.bench-player > p { color: var(--muted); font-size: .8rem; line-height: 1.6; }
.lineup-delivery { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); padding-top: 20px; }
.lineup-delivery small { display: block; color: var(--muted); margin-top: 4px; }
.delivery-label { font-weight: 650; font-size: .9rem; }
.delivery-status, .settings-status { color: var(--mint, #62ead2); font-size: .85rem; line-height: 1.6; }
.delivery-overlay { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 24px; background: #03080dc9; backdrop-filter: blur(8px); }
.delivery-dialog { width: min(640px, 100%); max-height: calc(100dvh - 48px); overflow-y: auto; background: #101821; border: 1px solid #ffffff20; border-radius: 20px; padding: 28px; box-shadow: 0 24px 100px #0009; }
.delivery-dialog h2 { margin: 8px 0; }
.delivery-dialog { color: var(--text); }
.delivery-dialog::backdrop { background: #03080dc9; backdrop-filter: blur(8px); }
.delivery-dialog p, .delivery-dialog small { color: var(--muted); font-size: .85rem; line-height: 1.65; }
.delivery-dialog .head-actions { justify-content: flex-end; margin-top: 24px; }
.delivery-players { border-block: 1px solid var(--line); padding: 16px 0; margin: 18px 0; }
.delivery-players strong { font-size: .8rem; }
.delivery-players p { margin: 6px 0 14px; }
.delivery-destinations { display: grid; gap: 8px; font-size: .8rem; margin-bottom: 18px; }
.delivery-warning { color: #d9bc7d !important; font-size: .78rem !important; }
.roster-settings { max-width: 900px; padding: 24px; }
.roster-settings .defense-settings { margin-top: 24px; }
.price-context { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px; padding: 24px; margin-bottom: 18px; }
.price-context h2 { margin: 0 0 8px; }
.price-context p, .price-method p { color: var(--muted); font-size: .85rem; line-height: 1.7; max-width: 95ch; }
.price-inputs { display: flex; gap: 16px; }
.price-inputs label { display: grid; gap: 8px; color: var(--muted); font-size: .8rem; }
.price-inputs input { width: 140px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-2); color: var(--text); font: inherit; }
.price-toggle { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .8rem; }
.price-market-caption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin: 24px 0 12px; font-size: .8rem; }
.price-market-caption span { color: var(--muted); }
.price-role-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.price-role { display: grid; gap: 12px; padding: 22px; border-top: 2px solid currentColor; }
.price-role > strong { font-size: 2rem; color: var(--text); }
.price-role small { color: var(--muted); font-size: .75rem; line-height: 1.5; }
.price-role.role-p { border-top-color: var(--yellow); }
.price-role.role-d { border-top-color: var(--blue); }
.price-role.role-c { border-top-color: var(--green); }
.price-role.role-a { border-top-color: var(--red); }
.price-method { margin: 18px 0; padding: 20px 24px; }
.price-method summary { cursor: pointer; font-size: .9rem; }
.price-table .role-avatar { display: inline-flex; vertical-align: middle; margin-right: 8px; width: 28px; height: 28px; font-size: .75rem; }
.price-table td:last-child { max-width: 32ch; color: var(--muted); font-size: .8rem; }
@media (max-width: 850px) { .price-role-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .price-context { padding: 18px; } .price-inputs { flex-wrap: wrap; } .price-role { padding: 16px; } }
.roster-inventory > summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; font-weight: 650; font-size: 1.05rem; }
.roster-inventory[open] > summary { margin-bottom: 20px; }
@media (max-width: 680px) {
    .lineup-bench { grid-template-columns: 1fr; }
    .lineup-delivery { align-items: flex-start; flex-direction: column; }
    .lineup-delivery button { width: 100%; }
    .delivery-overlay { padding: 12px; }
    .delivery-dialog { padding: 20px; max-height: calc(100dvh - 24px); }
}
.advisor-preferences { max-width: 720px; padding: 28px; }
.advisor-mode-label { display: flex; flex-direction: column; gap: 10px; margin: 24px 0 16px; color: var(--muted); }
.advisor-mode-label select { width: 100%; max-width: 360px; padding: 12px 14px; border-radius: 12px; background: #101923; border: 1px solid #293440; color: #f4f7f1; font: inherit; }
.advisor-background-status { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; margin-bottom: 20px; color: var(--muted); font-size: .82rem; border: 1px solid var(--line); border-radius: 12px; background: #101923; }
.advisor-progress-heading { display: flex; align-items: center; gap: 10px; color: var(--text); }
.advisor-progress-track { height: 5px; overflow: hidden; border-radius: 999px; background: #ffffff12; }
.advisor-progress-track > span { display: block; height: 100%; border-radius: inherit; background: var(--acid); transition: width .3s ease; }
.advisor-progress-track.indeterminate > span { width: 30%; animation: advisor-progress-pulse 1.8s ease-in-out infinite; }
.advisor-progress-caption { display: flex; justify-content: space-between; gap: 8px 20px; flex-wrap: wrap; font-size: .75rem; }
@keyframes advisor-progress-pulse { from { transform: translateX(-110%); } to { transform: translateX(440%); } }
@media (prefers-reduced-motion: reduce) { .advisor-progress-track > span { transition: none; } .advisor-progress-track.indeterminate > span { animation: none; width: 100%; opacity: .4; } }
