/* Franchise Portal V34 RC1 Workspace bundle. Source order intentionally preserved. */

/* ===== fp-v3392e-salary-workspace-global-ui.css ===== */

/* Franchise Portal V33.92E — Salary Workspace is the canonical portal UI.
   Presentation only. No hydration, permission, routing, or data logic lives here.
   The Global Phone stylesheet is intentionally loaded after this file on phone-enabled pages. */
:root{
  --fp-ui-bg:#03060b;
  --fp-ui-surface:rgba(7,13,22,.78);
  --fp-ui-surface-strong:rgba(7,13,22,.90);
  --fp-ui-surface-soft:rgba(255,255,255,.065);
  --fp-ui-input:rgba(5,11,19,.90);
  --fp-ui-line:rgba(255,255,255,.20);
  --fp-ui-line-soft:rgba(255,255,255,.12);
  --fp-ui-text:#f7f9fd;
  --fp-ui-muted:#b7c3d5;
  --fp-ui-gold:#d6a62c;
  --fp-ui-blue:#183b63;
  --fp-ui-danger:#c41230;
  --fp-ui-success:#55e68a;
  --fp-ui-radius:18px;
  --fp-ui-radius-small:12px;
  --fp-ui-shadow:0 18px 55px rgba(0,0,0,.34);
  --fp-ui-font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

html{color-scheme:dark}
body.fp-salary-unified{
  color:var(--fp-ui-text)!important;
  font-family:var(--fp-ui-font)!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.fp-salary-unified :where(button,input,select,textarea,table,th,td,a,label,summary){font-family:var(--fp-ui-font)!important}
body.fp-salary-unified :where(h1,h2,h3,h4,h5,h6){color:var(--fp-ui-text)!important;font-family:var(--fp-ui-font)!important;text-wrap:balance}
body.fp-salary-unified h1{font-size:clamp(22px,1.65vw,32px)!important;line-height:1.08!important;letter-spacing:.14em!important;text-transform:uppercase!important;font-weight:900!important}
body.fp-salary-unified h2{font-size:clamp(17px,1.15vw,24px)!important;line-height:1.14!important;letter-spacing:.13em!important;text-transform:uppercase!important;font-weight:900!important}
body.fp-salary-unified h3{font-size:clamp(13px,.78vw,17px)!important;line-height:1.22!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-weight:900!important}
body.fp-salary-unified h4{font-size:clamp(12px,.72vw,15px)!important;line-height:1.25!important;letter-spacing:.09em!important;text-transform:uppercase!important;font-weight:850!important}
body.fp-salary-unified :where(p,small,.muted,.subhead,.subtitle,.description,.notice,.status,.meta,.helper,.hint){color:var(--fp-ui-muted)!important;line-height:1.5!important}
body.fp-salary-unified :where(.eyebrow,.kicker,.section-kicker,.section-label,.overline,.label,.field-label,.metric-label){color:var(--fp-ui-muted)!important;font-size:clamp(10px,.58vw,12px)!important;letter-spacing:.11em!important;text-transform:uppercase!important;font-weight:850!important}
body.fp-salary-unified :where(a){color:inherit}

/* Canonical Salary Workspace glass language. Keep each page's artwork/layout, unify the UI layered over it. */
body.fp-salary-unified :where(.topbar,.top-shell,.top,.header-shell,.nav-shell,.toolbar,.command-bar){
  border-color:var(--fp-ui-line)!important;
  background:var(--fp-ui-surface-strong)!important;
  color:var(--fp-ui-text)!important;
  box-shadow:var(--fp-ui-shadow)!important;
  backdrop-filter:blur(15px) saturate(118%)!important;
  -webkit-backdrop-filter:blur(15px) saturate(118%)!important;
}
body.fp-salary-unified :where(.panel,.module,.card,.league-card,.team-card,.data-tile,.health-tile,.candidate,.auth-card,.ranking-card,.power-card,.gm-card,.gm-brief,.trade-card,.stats-card,.screen-card,.office-card,.action-card,.settings-card,.section-card,.content-card,.workspace){
  border-color:var(--fp-ui-line)!important;
  background:var(--fp-ui-surface)!important;
  color:var(--fp-ui-text)!important;
  box-shadow:var(--fp-ui-shadow)!important;
  backdrop-filter:blur(14px) saturate(115%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(115%)!important;
}
body.fp-salary-unified :where(.card,.panel,.module,.league-card,.team-card,.data-tile,.health-tile,.candidate,.auth-card,.ranking-card,.power-card,.gm-card,.gm-brief,.trade-card,.stats-card,.screen-card,.office-card,.action-card,.settings-card,.section-card,.content-card){border-radius:var(--fp-ui-radius)!important}
body.fp-salary-unified :where(.metric,.summary-card,.cap-card,.asset-row,.builder-side,.scout-chip,.scout-prompt,.gm-mini,.gm-row,.row,.stat-card,.mini-card,.tile,.chip-card){
  border-color:var(--fp-ui-line-soft)!important;
  background:var(--fp-ui-surface-soft)!important;
  color:var(--fp-ui-text)!important;
  border-radius:var(--fp-ui-radius-small)!important;
}

/* Same Salary Workspace team-accent treatment everywhere. */
body.fp-salary-unified :where(.workspace,.hero,.panel,.module,.card,.gm-card,.trade-card,.screen-card)[data-accent],
body.fp-salary-unified.fp-salary-page .workspace{
  border-top-color:color-mix(in srgb,var(--team-primary,var(--fp-ui-blue)) 72%,var(--fp-ui-gold))!important;
}
body.fp-salary-unified :where(.accent-line,.hero-accent,.team-accent,.workspace-accent){
  background:linear-gradient(90deg,var(--team-primary,var(--fp-ui-gold)),var(--team-secondary,var(--fp-ui-blue)),var(--team-primary,var(--fp-ui-gold)))!important;
}

/* Canonical controls: Salary Workspace pill/glass controls and accent state. */
body.fp-salary-unified :where(button,.btn,a.btn,.pill,.tab,[role="button"]){
  min-height:40px;
  border:1px solid var(--fp-ui-line)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.075)!important;
  color:var(--fp-ui-text)!important;
  font-weight:850!important;
  letter-spacing:.065em!important;
  text-transform:uppercase;
  box-shadow:none!important;
}
body.fp-salary-unified :where(.pill,.tab,.chip,.badge){border-radius:999px!important}
body.fp-salary-unified :where(button,.btn,a.btn,.pill,.tab,[role="button"]):hover{
  border-color:rgba(214,166,44,.58)!important;
  background:rgba(255,255,255,.13)!important;
}
body.fp-salary-unified :where(button.primary,.btn.primary,a.btn.primary,.tab.active,.pill.active,.btn.gold,.primary,.active-action,.gm-action,.gm-actions a,.market-tabs button.active,.asset-filter-bar button.active){
  background:linear-gradient(105deg,var(--team-primary,var(--fp-ui-gold)),var(--team-secondary,var(--fp-ui-blue)))!important;
  border-color:transparent!important;
  color:#fff!important;
}
body.fp-salary-unified :where(button.danger,.btn.danger,.danger,.destructive){background:rgba(196,18,48,.24)!important;border-color:rgba(255,96,120,.42)!important;color:#ffe9ee!important}
body.fp-salary-unified :where(button,.btn,[role="button"],a,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--team-secondary,var(--fp-ui-gold)) 72%,white)!important;outline-offset:3px!important}
body.fp-salary-unified :where(button,.btn,[role="button"]):disabled{opacity:.52!important;filter:saturate(.45);transform:none!important;cursor:not-allowed!important}

body.fp-salary-unified :where(input,select,textarea,.input,.select){
  border:1px solid var(--fp-ui-line)!important;
  border-radius:11px!important;
  background:var(--fp-ui-input)!important;
  color:var(--fp-ui-text)!important;
  box-shadow:none!important;
}
body.fp-salary-unified :where(input,select,textarea)::placeholder{color:#8997aa!important;opacity:1}
body.fp-salary-unified select option{background:#081018;color:var(--fp-ui-text)}

/* Tables, lists and empty states use the exact same visual hierarchy as Salary Workspace. */
body.fp-salary-unified :where(.table-wrap,.table-shell,.list-wrap){border-color:var(--fp-ui-line)!important;border-radius:14px!important;background:rgba(5,11,19,.66)!important}
body.fp-salary-unified table{color:var(--fp-ui-text)!important;border-color:var(--fp-ui-line-soft)!important}
body.fp-salary-unified table th{background:rgba(7,15,25,.97)!important;color:#f1c85b!important;letter-spacing:.10em!important;text-transform:uppercase!important;font-size:clamp(10px,.6vw,12px)!important}
body.fp-salary-unified table td{border-bottom-color:rgba(255,255,255,.09)!important;color:var(--fp-ui-text)!important}
body.fp-salary-unified table tbody tr:hover{background:rgba(255,255,255,.06)!important}
body.fp-salary-unified :where(.empty,.empty-state,.placeholder-state,.no-data){border-color:rgba(255,255,255,.18)!important;background:rgba(3,9,16,.20)!important;color:var(--fp-ui-muted)!important;border-radius:12px!important}

/* Common status language. */
body.fp-salary-unified :where(.success,.status-good,.ready){color:var(--fp-ui-success)!important}
body.fp-salary-unified :where(.warning,.status-warning,.pending){color:#f1c85b!important}
body.fp-salary-unified :where(.error,.status-error,.critical){color:#ff7389!important}

/* Salary-style modals/drawers. */
body.fp-salary-unified :where(.modal,.overlay,.drawer-backdrop){background-color:rgba(0,0,0,.70)!important}
body.fp-salary-unified :where(.modal-card,.dialog,.drawer.active,.drawer-panel){border:1px solid var(--fp-ui-line)!important;border-radius:20px!important;background:rgba(8,15,24,.97)!important;color:var(--fp-ui-text)!important;box-shadow:0 28px 90px rgba(0,0,0,.62)!important;backdrop-filter:blur(18px)!important}

/* Salary Workspace typography rhythm for public and League Office surfaces too. */
body.fp-salary-unified.fp-public-page :where(.hero p,.brand p,.subtitle,.subhead),
body.fp-salary-unified.fp-league-office-page :where(.hero p,.office-subtitle,.module-copy){color:var(--fp-ui-muted)!important}
body.fp-salary-unified :where(.brand h1,.screen-title h1,.screen-title h2,.page-title,.hero h1){letter-spacing:.15em!important;text-transform:uppercase!important}
body.fp-salary-unified :where(.brand p,.screen-title p,.page-subtitle,.hero .eyebrow){letter-spacing:.11em!important;text-transform:uppercase!important}

/* Unified scrollbar color; keeps Salary Workspace's restrained gold cue. */
body.fp-salary-unified *{scrollbar-color:rgba(214,166,44,.42) transparent}
body.fp-salary-unified *::-webkit-scrollbar{width:8px;height:8px}
body.fp-salary-unified *::-webkit-scrollbar-track{background:transparent}
body.fp-salary-unified *::-webkit-scrollbar-thumb{background:rgba(214,166,44,.30);border-radius:999px}

@media(max-width:900px){
  body.fp-salary-unified h1{font-size:clamp(20px,6vw,28px)!important}
  body.fp-salary-unified h2{font-size:clamp(16px,4.7vw,22px)!important}
  body.fp-salary-unified h3{font-size:clamp(13px,3.8vw,16px)!important}
  body.fp-salary-unified :where(.panel,.module,.card,.gm-card,.trade-card,.screen-card,.workspace){border-radius:15px!important}
  body.fp-salary-unified :where(button,.btn,a.btn,.pill,.tab,[role="button"]){min-height:44px}
}


/* ===== fp-v3392g-ux-repair.css ===== */

/* Franchise Portal V33.92G — unified interaction, player-name, scroll and projected-lineup repair
   Salary Workspace remains the canonical visual system. Phone UI is intentionally loaded after this file. */

/* One document scroll owner. Do not trap mouse-wheel/trackpad scrolling in page shells. */
html{
  min-height:100%!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:scroll!important;
  overscroll-behavior-y:auto!important;
  scrollbar-gutter:stable;
}
body.fp-salary-unified{
  min-height:100vh!important;
  height:auto!important;
  overflow-x:clip!important;
  overflow-y:visible!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y!important;
}
body.fp-salary-unified:not(.modal-open):not(.fp-modal-open):not(.fp-player-modal-open){
  overflow-y:visible!important;
}
body.fp-salary-unified :where(.operations-room,.salary-room,.scouting-room,.page,.main,.workspace,.ops-grid,.screen-grid){
  max-height:none!important;
  overflow-y:visible!important;
}
/* Horizontal data surfaces may scroll sideways, but never become a second vertical wheel owner. */
body.fp-salary-unified :where(.table-wrap,.contract-table-wrap,.ownership-table-wrap){
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-y:auto!important;
}

/* Player-name controls are content controls, not generic portal CTA buttons. */
body.fp-salary-unified :where(
  button.player-link,
  button.player-name-link,
  button.lineup-player,
  button.position-room-player,
  button[data-open-profile],
  button[data-room-player],
  button[data-choice-profile]
){
  text-decoration:none!important;
  text-transform:none!important;
}
body.fp-salary-unified :where(button.player-link,button.player-name-link){
  min-height:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  letter-spacing:normal!important;
}
body.fp-salary-unified :where(button.player-link,button.player-name-link):hover,
body.fp-salary-unified :where(button.player-link,button.player-name-link):focus-visible,
body.fp-salary-unified :where(button.player-link,button.player-name-link):hover b{
  text-decoration:none!important;
}

/* Canonical player-name bubble: padded, centered and never underlined. */
body.fp-salary-unified :where(
  .player-link b,
  .player-name-link,
  .lineup-player-copy b,
  .position-room-player b,
  .depth-choice-copy b,
  button[onclick*="openFPPlayer"] b,
  button[onclick*="openStatsLeaderProfile"] b,
  [data-player-name] b,
  .v2785-player-info b,
  .v2785-player-info strong
){
  display:block!important;
  width:fit-content;
  max-width:100%;
  min-height:26px;
  margin:0 auto 7px!important;
  padding:5px 10px!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.065)!important;
  color:var(--fp-ui-text,#f7f9fd)!important;
  text-align:center!important;
  text-decoration:none!important;
  line-height:1.15!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-shadow:none!important;
}
body.fp-salary-unified :where(
  .player-link b,
  .player-name-link,
  .lineup-player-copy b,
  .position-room-player b,
  .depth-choice-copy b,
  button[onclick*="openFPPlayer"] b,
  button[onclick*="openStatsLeaderProfile"] b,
  [data-player-name] b
):hover{
  text-decoration:none!important;
}
body.fp-salary-unified :where(
  .lineup-player-copy span,
  .position-room-player small,
  .depth-choice-copy span,
  .gm-player-card>span>span,
  .gm-row>span
){
  margin-top:0!important;
  text-align:center!important;
}

/* Team Operations projected lineup: non-overlapping 16-column football board. */
body.fp-team-operations-page .projected-lineup-module{
  overflow:visible!important;
}
body.fp-team-operations-page .depth-field{
  min-height:930px!important;
  overflow:hidden!important;
}
body.fp-team-operations-page .depth-field:after{
  top:50%!important;
  box-shadow:0 -188px 0 rgba(255,255,255,.045),0 188px 0 rgba(255,255,255,.045)!important;
}
body.fp-team-operations-page .depth-field-title.defense{top:14px!important}
body.fp-team-operations-page .depth-field-title.offense{top:51%!important}
body.fp-team-operations-page .projected-starter-grid{
  inset:46px 18px 24px!important;
  grid-template-columns:repeat(16,minmax(0,1fr))!important;
  grid-template-rows:repeat(8,96px)!important;
  column-gap:8px!important;
  row-gap:10px!important;
  align-content:space-between!important;
}
body.fp-team-operations-page .lineup-slot{
  align-self:stretch!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
body.fp-team-operations-page .lineup-slot-label{
  min-height:24px!important;
  padding:5px 8px!important;
  line-height:1.1!important;
}
body.fp-team-operations-page button.lineup-player{
  min-height:0!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:6px 8px!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  align-self:stretch!important;
}
body.fp-team-operations-page button.lineup-player:hover{
  border:0!important;
  background:rgba(255,255,255,.075)!important;
  transform:none!important;
}
body.fp-team-operations-page .lineup-player-copy b{
  width:100%!important;
  min-height:23px!important;
  margin:0 0 5px!important;
  padding:4px 7px!important;
  font-size:10px!important;
}
body.fp-team-operations-page .lineup-player-copy span{
  font-size:7.5px!important;
  line-height:1.25!important;
}
body.fp-team-operations-page button.lineup-change{
  min-height:27px!important;
  height:27px!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.04)!important;
  padding:4px 7px!important;
  font-size:7px!important;
  line-height:1!important;
  letter-spacing:.09em!important;
  box-shadow:none!important;
}
body.fp-team-operations-page button.lineup-change:hover{
  border-top-color:rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.10)!important;
  transform:none!important;
}
body.fp-team-operations-page button.position-room-player{
  min-height:0!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.04)!important;
  padding:9px 10px!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  box-shadow:none!important;
}
body.fp-team-operations-page .position-room-player b{
  width:100%!important;
  margin:0 0 6px!important;
}
body.fp-team-operations-page .position-room-player small{text-align:center!important}
body.fp-team-operations-page .depth-choice-copy b{
  margin:0 0 7px!important;
}
body.fp-team-operations-page .depth-choice-actions button{
  min-height:32px!important;
  padding:6px 10px!important;
}

/* Team Schedule: make the restored Week 1–18 coverage easy to scan. */
body.fp-salary-unified .fp-schedule-week-strip{
  display:grid;
  grid-template-columns:repeat(9,minmax(0,1fr));
  gap:7px;
  margin:12px 0 16px;
}
body.fp-salary-unified .fp-schedule-week-chip{
  min-width:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:rgba(255,255,255,.05);
  padding:8px 6px;
  text-align:center;
}
body.fp-salary-unified .fp-schedule-week-chip b{
  display:block;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.fp-salary-unified .fp-schedule-week-chip span{
  display:block;
  margin-top:3px;
  color:var(--fp-ui-muted,#b7c3d5);
  font-size:8px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.fp-salary-unified .fp-schedule-week-chip.bye{
  border-style:dashed;
  opacity:.8;
}
body.fp-salary-unified tr.fp-schedule-bye td{
  color:var(--fp-ui-muted,#b7c3d5)!important;
  background:rgba(255,255,255,.025)!important;
}

@media(max-width:1100px){
  body.fp-team-operations-page .projected-lineup-module{overflow-x:auto!important;overflow-y:visible!important}
  body.fp-team-operations-page .depth-field{min-width:1050px!important}
  body.fp-salary-unified .fp-schedule-week-strip{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(max-width:700px){
  body.fp-salary-unified .fp-schedule-week-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}
body.fp-salary-unified .fp-schedule-week-chip.pending{border-style:dotted;opacity:.66}
body.fp-salary-unified tr.fp-schedule-pending td{color:var(--fp-ui-muted,#b7c3d5)!important;background:rgba(255,255,255,.018)!important}


/* ===== fp-v3392h-workspace-unification.css ===== */

/* Franchise Portal V33.92H — final Workspace UI authority and text containment audit.
   Salary Workspace remains the visual source of truth. Phone UI is intentionally loaded after this file. */
:root{
  --fp-h-navy:#07111d;
  --fp-h-navy-2:#0b1b2d;
  --fp-h-line:rgba(255,255,255,.18);
}

/* Non-team surfaces use the same dark Workspace language, never legacy yellow/gold ombres. */
body.fp-salary-unified.fp-league-office-page,
body.fp-salary-unified.fp-public-page{
  --team-primary:var(--fp-h-navy-2);
  --team-secondary:#183b63;
}

/* Every textual control must contain and center its label. */
body.fp-salary-unified :where(button,.btn,a.btn,.tab,.pill,.command,.fp-action-btn,.fp3385-btn){
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.2!important;
  padding:10px 14px!important;
}
body.fp-salary-unified :where(.command){width:100%!important}
body.fp-salary-unified :where(.command b,.command span,.btn span,button span,a.btn span,.fp3385-btn span){
  max-width:100%!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
body.fp-salary-unified :where(.toolbar,.actions,.button-row,.nav-actions,.fp3385-tabs,.fp3385-links,.fp3385-actions){
  align-items:stretch!important;
}

/* V33.85 League Operations was the remaining visual exception. Bring it fully into Workspace. */
body.fp-salary-unified .fp3385-ops{
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
  border:1px solid var(--fp-ui-line)!important;
  border-radius:var(--fp-ui-radius)!important;
  background:var(--fp-ui-surface)!important;
  color:var(--fp-ui-text)!important;
  box-shadow:var(--fp-ui-shadow)!important;
  backdrop-filter:blur(14px) saturate(115%)!important;
  overflow:hidden!important;
}
body.fp-salary-unified .fp3385-ops>summary{
  min-height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:16px 18px!important;
  color:var(--fp-ui-text)!important;
  background:rgba(7,15,25,.94)!important;
  border-bottom:1px solid var(--fp-ui-line-soft)!important;
  text-align:left!important;
}
body.fp-salary-unified .fp3385-body{padding:16px 18px 18px!important;background:transparent!important}
body.fp-salary-unified .fp3385-tabs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;margin-bottom:14px!important}
body.fp-salary-unified .fp3385-tabs button,
body.fp-salary-unified .fp3385-btn,
body.fp-salary-unified .fp3385-btn.gold{
  min-width:0!important;
  min-height:42px!important;
  border:1px solid var(--fp-ui-line)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.075)!important;
  color:var(--fp-ui-text)!important;
  box-shadow:none!important;
}
body.fp-salary-unified .fp3385-tabs button.active,
body.fp-salary-unified .fp3385-btn.gold{
  background:linear-gradient(105deg,#0b1b2d,#183b63)!important;
  border-color:rgba(116,162,211,.40)!important;
  color:#fff!important;
}
body.fp-salary-unified .fp3385-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
body.fp-salary-unified .fp3385-note,
body.fp-salary-unified .fp3385-item{
  border:1px solid var(--fp-ui-line-soft)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.04)!important;
  color:var(--fp-ui-muted)!important;
}
body.fp-salary-unified .fp3385-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
body.fp-salary-unified .fp3385-fields label{min-width:0!important;color:var(--fp-ui-muted)!important}
body.fp-salary-unified .fp3385-fields input,
body.fp-salary-unified .fp3385-fields select,
body.fp-salary-unified .fp3385-fields textarea{min-width:0!important;width:100%!important;background:var(--fp-ui-input)!important;color:var(--fp-ui-text)!important}
body.fp-salary-unified .fp3385-panel[data-panel="links"]>[data-create-cycle],
body.fp-salary-unified [data-create-cycle]{margin-top:12px!important;width:auto!important;max-width:100%!important}

/* League Office legacy gold classes are status accents only; never panel backgrounds. */
body.fp-salary-unified.fp-league-office-page :where(.btn.gold,.status-taken,.notice,.eli-step b,.admin summary){
  color:var(--fp-ui-text)!important;
}
body.fp-salary-unified.fp-league-office-page :where(.btn.gold){background:linear-gradient(105deg,#0b1b2d,#183b63)!important;border-color:rgba(116,162,211,.40)!important}
body.fp-salary-unified.fp-league-office-page :where(.auth-warning,.eli-editor){background:rgba(7,15,25,.82)!important;border-color:var(--fp-ui-line)!important;color:var(--fp-ui-muted)!important}

/* Shared Back to Team HQ bar. */
.fp-hq-return-bar{
  position:relative;
  z-index:55;
  width:100%;
  display:flex;
  justify-content:flex-start;
  padding:10px clamp(14px,2vw,28px);
  border-bottom:1px solid rgba(255,255,255,.12);
  background:rgba(3,8,14,.92);
  backdrop-filter:blur(14px);
}
.fp-hq-return-bar .fp-back-hq{
  min-height:38px!important;
  text-decoration:none!important;
  padding:8px 14px!important;
  border:1px solid var(--fp-ui-line,rgba(255,255,255,.18))!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.075)!important;
  color:var(--fp-ui-text,#f7f9fd)!important;
  font-weight:850!important;
  letter-spacing:.065em!important;
  text-transform:uppercase!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

/* Player-name bubble refinement: no underline, centered, and no collision with metadata. */
body.fp-salary-unified :where(.player-link,.player-name-link,[data-open-profile],[data-room-player],[data-choice-profile]){
  text-decoration:none!important;
}
body.fp-salary-unified :where(.player-link b,.player-name-link,.lineup-player-copy b,.position-room-player b,.depth-choice-copy b,[data-player-name] b){
  margin-bottom:8px!important;
  text-decoration:none!important;
  text-align:center!important;
}
body.fp-salary-unified :where(.lineup-player-copy span,.position-room-player small,.depth-choice-copy span){
  display:block!important;
  padding-top:1px!important;
  line-height:1.25!important;
  text-align:center!important;
}

/* Power Rankings uses performance score + Madden/starter ratings, all in Workspace styling. */
body.fp-salary-unified.fp-power-rankings-page :where(.rank-badge,.circle,.big-rank){
  background:#0b1b2d!important;
  border-color:rgba(116,162,211,.34)!important;
  color:#fff!important;
}
body.fp-salary-unified.fp-power-rankings-page .capbar i{background:linear-gradient(90deg,#183b63,#355f8c)!important}

/* Do not let old public page button grids eject labels from their boxes. */
body.fp-salary-unified :where(.auth-card,.join-side,.hero,.card,.module,.panel,.fp3385-ops) *{min-width:0}
body.fp-salary-unified :where(.auth-actions,.auth-links,.secondary-actions,.quick-actions){gap:10px!important}

@media(max-width:850px){
  body.fp-salary-unified .fp3385-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.fp-salary-unified .fp3385-links{grid-template-columns:1fr!important}
  body.fp-salary-unified .fp3385-fields{grid-template-columns:1fr!important}
}

/* League-wide/non-team surfaces use a consistent Workspace navy accent until a real team context sets team colors. */
body.fp-salary-unified:not(.fp-salary-page):not(.fp-team-hq-page):not(.fp-team-operations-page):not(.fp-war-room-page):not(.fp-trade-page):not(.fp-scouting-page){
  --team-primary:#0b1b2d;
  --team-secondary:#183b63;
}


/* ===== fp-v34-product.css ===== */

/* Franchise Portal V34 RC — final product/accessibility authority. */
:root{--fp-focus:#9ec8ff;--fp-state-border:rgba(255,255,255,.17)}
html{scroll-behavior:smooth}
body.fp-v34-product{min-width:0}
body.fp-v34-product :where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--fp-focus)!important;outline-offset:3px!important;box-shadow:0 0 0 5px rgba(20,87,150,.22)!important}
body.fp-v34-product :where(button,.btn,a.btn){min-height:40px;line-height:1.2;text-align:center;align-items:center;justify-content:center}
body.fp-v34-product :where(input,select,textarea){max-width:100%}
body.fp-v34-product :where(.card,.panel,.module,.workspace,.shell,.page-shell){min-width:0}
.fp-v34-state{display:grid;gap:8px;place-items:center;text-align:center;padding:24px;border:1px dashed var(--fp-state-border);border-radius:14px;background:rgba(5,11,19,.55);color:#f7f9fd}
.fp-v34-state span{color:#b7c3d5;max-width:720px}.fp-v34-state-error{border-color:rgba(196,18,48,.55)}
.fp-v34-command-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.fp-v34-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.fp-v34-kpi{padding:16px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(6,12,20,.55);text-align:center}.fp-v34-kpi b{display:block;font-size:1.45rem}.fp-v34-kpi span{color:#b7c3d5;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:720px){body.fp-v34-product :where(button,.btn,a.btn){min-height:44px}.fp-v34-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
