/* 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}
}
