/* VBA 2.49.1 — Season 2 Run 2: mobile Free Agency + Franchise Command Center */

/* ---------- Free Agency roster-building surface ---------- */
.fa-build-hero{
  margin:0 0 12px;padding:16px;border:1px solid var(--edge);border-radius:16px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--orange) 8%,var(--surface)),var(--surface));
}
.fa-build-title span{font:800 8px var(--mono);letter-spacing:.16em;color:var(--orange)}
.fa-build-title h2{margin:4px 0 3px;font:32px/1 var(--display);letter-spacing:.02em}
.fa-build-title p{margin:0;color:var(--muted);font:10px/1.45 var(--mono)}
.fa-build-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:14px}
.fa-build-metrics>button,.fa-build-metrics>div{
  min-width:0;min-height:78px;padding:10px;border:1px solid var(--edge);border-radius:11px;background:var(--bg);
  color:var(--text);text-align:left
}
.fa-build-metrics>button{cursor:pointer}
.fa-build-metrics span{display:block;font:700 7px var(--mono);letter-spacing:.13em;color:var(--muted)}
.fa-build-metrics b{display:block;margin-top:5px;font:22px/1 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa-build-metrics b.bad{color:#ff6b6b}
.fa-build-metrics small{display:block;margin-top:5px;font:7px/1.25 var(--mono);color:var(--muted)}
.fa-build-alert{margin-top:10px;padding:9px 10px;border:1px solid color-mix(in srgb,#ff6b6b 40%,var(--edge));border-radius:9px;background:color-mix(in srgb,#ff6b6b 8%,transparent);font:8px/1.45 var(--mono);color:var(--text)}
.fa-filter-stack{display:grid;gap:6px;margin-bottom:10px}
.fa-filter-row{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap!important}
.fa-filter-row::-webkit-scrollbar{display:none}
.fa-filter-row button{flex:0 0 auto}
.fa-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fa-player-card{overflow:hidden;border:1px solid var(--edge);border-radius:14px;background:var(--surface);box-shadow:0 12px 28px rgba(0,0,0,.08)}
.fa-player-card.fa-player-blocked{opacity:.86}
.fa-player-main{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:12px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.fa-player-face{width:58px;height:68px;display:grid;place-items:center;overflow:hidden}
.fa-player-face img{width:100%;height:100%;object-fit:contain}
.fa-player-copy{min-width:0}
.fa-player-copy b{display:block;font:18px/1.05 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa-player-copy small,.fa-player-copy i{display:block;margin-top:3px;font:7px/1.25 var(--mono);color:var(--muted);font-style:normal}
.fa-player-copy i{color:var(--orange);letter-spacing:.07em}
.fa-player-ovr{text-align:center;min-width:42px}
.fa-player-ovr strong{display:block;font:28px/.9 var(--display)}
.fa-player-ovr small{font:7px var(--mono);color:var(--muted)}
.fa-player-contract{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline;padding:9px 12px;border-top:1px solid var(--edge);background:color-mix(in srgb,var(--bg) 78%,transparent)}
.fa-player-contract span{font:700 7px var(--mono);letter-spacing:.12em;color:var(--muted)}
.fa-player-contract b{justify-self:end;font:17px var(--display)}
.fa-player-contract small{grid-column:1/-1;font:7px var(--mono);color:var(--muted);text-align:right}
.fa-sign-now{width:calc(100% - 16px);min-height:44px;margin:8px;border:0;border-radius:9px;background:var(--orange);color:#101010;font:900 9px var(--mono);letter-spacing:.08em;cursor:pointer}
.fa-sign-now:disabled{background:var(--surface-2);color:var(--muted);border:1px solid var(--edge);cursor:not-allowed}
.fa-mobile-safe-note{margin:10px 0 2px;padding:9px 4px;color:var(--muted);font:8px/1.45 var(--mono)}
.fa-mobile-safe-note b{color:var(--text)}

/* Signing offer sheet: the submit control never drops behind mobile browser/PWA chrome. */
.fa-sign-sheet{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}
.fa-sign-submit-dock{position:sticky;bottom:0;z-index:4;margin:12px -14px -14px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--edge);background:color-mix(in srgb,var(--bg-2) 94%,transparent);backdrop-filter:blur(14px)}
.fa-sign-submit-dock .om-btn-block{min-height:50px;margin:0;font-size:11px}
.fa-sign-error{min-height:0;margin-top:7px;text-align:center;color:#ff6b6b;font:9px/1.35 var(--mono)}

/* ---------- Franchise HQ command strip ---------- */
.fs-command-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:2px 0 8px}
.fs-command-card{position:relative;min-width:0;min-height:126px;padding:13px;border:1px solid var(--edge);border-radius:14px;background:linear-gradient(145deg,var(--surface),var(--bg-2));color:var(--text);text-align:left;cursor:pointer;overflow:hidden}
.fs-command-card:after{content:"";position:absolute;inset:auto -24px -34px auto;width:92px;height:92px;border-radius:50%;background:color-mix(in srgb,var(--fs-team) 9%,transparent);pointer-events:none}
.fs-command-card-primary{border-color:color-mix(in srgb,var(--fs-team) 42%,var(--edge));background:linear-gradient(145deg,color-mix(in srgb,var(--fs-team) 10%,var(--surface)),var(--bg-2))}
.fs-command-card>span{display:block;font:800 7px var(--mono);letter-spacing:.16em;color:var(--muted)}
.fs-command-card>b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:7px;font:20px/1.02 var(--display)}
.fs-command-card>small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:7px;font:7.5px/1.4 var(--mono);color:var(--muted)}
.fs-command-card>i{position:absolute;left:13px;bottom:11px;font:800 7px var(--mono);letter-spacing:.08em;color:var(--fs-team);font-style:normal}

@media(max-width:900px){
  .fa-build-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-command-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .fa-build-hero{padding:13px;border-radius:13px}.fa-build-title h2{font-size:27px}
  .fa-build-metrics{gap:6px}.fa-build-metrics>button,.fa-build-metrics>div{min-height:70px;padding:9px}.fa-build-metrics b{font-size:20px}
  .fa-player-grid{grid-template-columns:1fr;gap:7px}
  .fa-player-card{border-radius:12px}
  .fa-player-main{grid-template-columns:56px minmax(0,1fr) 42px;padding:10px;gap:8px}
  .fa-player-face{width:54px;height:62px}.fa-player-copy b{font-size:17px}.fa-player-ovr strong{font-size:26px}
  .fa-sign-now{min-height:48px;font-size:10px}
  .fs-command-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:7px;padding-bottom:2px;scrollbar-width:none}
  .fs-command-cards::-webkit-scrollbar{display:none}
  .fs-command-card{flex:0 0 82%;min-height:120px;scroll-snap-align:start}
}
@media(max-width:380px){
  .fa-build-metrics{grid-template-columns:1fr 1fr}.fa-build-metrics>button,.fa-build-metrics>div{min-height:66px}
  .fa-player-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .fs-command-card{flex-basis:88%}
}

/* Owner bottom sheets must sit above the persistent Franchise mobile nav (z-index 1220). */
body.owner-mode .bsheet-bg{z-index:1520}
@media(max-width:820px){
  body.owner-mode .fa-sign-sheet{width:100%;max-width:none;max-height:calc(100dvh - 8px);border-radius:18px 18px 0 0}
}
@media(max-width:620px){
  .fa-mobile-safe-note{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
}
