/* FRA Prop HQ v10.1.0 — Product System rebuild
   Structural signed-in redesign: ambient masthead + grounded content stage,
   real progressive disclosure, flat readable data, and Tradecopia-inspired Copy Desk. */

:root{
  --fra101-bg:#eef1ee;
  --fra101-stage:#f7f8f6;
  --fra101-surface:#ffffff;
  --fra101-surface-2:#f2f4f1;
  --fra101-text:#151a17;
  --fra101-text-2:#414a45;
  --fra101-muted:#7d8781;
  --fra101-line:#d9dfda;
  --fra101-line-2:#cbd3cd;
  --fra101-lime:#a9e83e;
  --fra101-lime-2:#8fc92e;
  --fra101-good:#258d5c;
  --fra101-bad:#c95a64;
  --fra101-warn:#a96e2d;
  --fra101-graphite:#202428;
  --fra101-graphite-2:#272c30;
  --fra101-graphite-3:#30363a;
  --fra101-width:1380px;
}

/* ---------- one app, not floating widgets ---------- */
html,body{background:var(--fra101-bg)!important;color:var(--fra101-text)!important;}
body:not(.signed-out){background:var(--fra101-bg)!important;}
html body:not(.signed-out).terminal-trial #appShell.app-shell,
html body:not(.signed-out).terminal-trial #appShell > .main-content{
  width:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  background:var(--fra101-bg)!important;
}
html body:not(.signed-out).terminal-trial #appShell > .sidebar{display:none!important;}

/* Ambient animation now lives only in the masthead zone. */
body:not(.signed-out) #fraAmbientWash,
body:not(.signed-out) #fraAmbient{
  clip-path:inset(72px 0 calc(100vh - 360px) 0)!important;
  opacity:.92!important;
}
body:not(.signed-out) #fraAmbientWash{
  background:
    linear-gradient(180deg,rgba(226,231,227,.92),rgba(232,236,233,.86)),
    radial-gradient(circle at 15% 0%,rgba(169,232,62,.08),transparent 38rem)!important;
}

/* ---------- horizontal navigation ---------- */
html body:not(.signed-out).terminal-trial #appShell .topbar{
  position:sticky!important;top:0!important;z-index:300!important;
  width:100%!important;height:72px!important;min-height:72px!important;margin:0!important;padding:0 32px!important;
  display:flex!important;align-items:center!important;gap:22px!important;
  background:rgba(250,251,249,.97)!important;border:0!important;border-bottom:1px solid var(--fra101-line)!important;box-shadow:none!important;
  backdrop-filter:blur(18px)!important;
}
body:not(.signed-out) .topbar-left{flex:0 0 165px!important;min-width:165px!important;overflow:visible!important;}
body:not(.signed-out) .topbar-left>div{display:none!important;}
body:not(.signed-out) .topbar-left .v811-stroke-brand{display:block!important;width:152px!important;max-width:152px!important;height:34px!important;}
.fra-v9-nav{flex:1 1 auto!important;justify-content:center!important;gap:3px!important;overflow:visible!important;}
.fra-v9-home,.fra-v9-group-button{
  min-height:38px!important;height:38px!important;padding:0 12px!important;border:0!important;border-radius:8px!important;background:transparent!important;
  color:#657069!important;font-size:11px!important;font-weight:680!important;box-shadow:none!important;
}
.fra-v9-home:hover,.fra-v9-group-button:hover,.fra-v9-group.open>.fra-v9-group-button{background:#f0f3ef!important;color:var(--fra101-text)!important;}
.fra-v9-home.active,.fra-v9-group-button.active{background:#eaf5da!important;color:#4f6d20!important;}
.fra-v9-menu{border:1px solid var(--fra101-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 16px 40px rgba(35,45,39,.12)!important;}
.topbar-actions{flex:0 0 auto!important;gap:8px!important;}
.topbar-actions #loginButton{background:var(--fra101-lime)!important;border-color:#99d335!important;color:#18210f!important;box-shadow:none!important;}

/* ---------- alerts are attached status strips, never black floating blocks ---------- */
html body:not(.signed-out).terminal-trial #appShell .guardrail-global-banner,
html body:not(.signed-out).terminal-trial #appShell .macro-risk-strip,
html body:not(.signed-out).terminal-trial #appShell .demo-banner{
  width:100%!important;max-width:none!important;margin:0!important;padding:10px max(24px,calc((100vw - var(--fra101-width))/2 + 24px))!important;
  border-radius:0!important;border-left:0!important;border-right:0!important;box-shadow:none!important;
  min-height:42px!important;
}
html body:not(.signed-out).terminal-trial #appShell .guardrail-global-banner{
  background:#fff3e9!important;border-color:#ead8c7!important;color:#72583c!important;
}
html body:not(.signed-out).terminal-trial #appShell .guardrail-global-banner strong,
html body:not(.signed-out).terminal-trial #appShell .guardrail-global-banner span{color:#72583c!important;}
html body:not(.signed-out).terminal-trial #appShell .guardrail-global-banner .button{background:#fff!important;border-color:#dfcbbb!important;color:#72583c!important;}
html body:not(.signed-out).terminal-trial #appShell .macro-risk-strip{background:#fff7e8!important;border-color:#eadbbd!important;color:#6d5b36!important;}

/* ---------- dashboard is a masthead + one grounded stage ---------- */
html body:not(.signed-out).terminal-trial #appShell > .main-content > #view-dashboard.view.active{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;overflow:visible!important;
}
.v101-dashboard-shell{width:100%;}
.v101-dashboard-masthead{
  position:relative;z-index:3;min-height:270px;
  background:linear-gradient(180deg,rgba(238,241,238,.15),rgba(238,241,238,.48));
  border-bottom:1px solid rgba(201,209,203,.8);
}
.v101-dashboard-masthead-inner{width:min(var(--fra101-width),calc(100% - 48px));margin:0 auto;padding:52px 0 0;}
#view-dashboard .v801-command-hero{
  min-height:150px!important;margin:0!important;padding:0!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:32px!important;
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
#view-dashboard .v801-hero-copy{max-width:720px!important;}
#view-dashboard .v801-hero-copy h2{margin:7px 0 8px!important;font-size:clamp(40px,4.8vw,64px)!important;line-height:.98!important;font-weight:640!important;letter-spacing:-.065em!important;color:var(--fra101-text)!important;}
#view-dashboard .v801-hero-copy p{max-width:620px!important;margin:0!important;color:#68736d!important;font-size:13px!important;line-height:1.55!important;}
#view-dashboard .v801-hero-actions{display:flex!important;gap:8px!important;align-items:center!important;}
#view-dashboard .dashboard-sync-button{background:rgba(255,255,255,.86)!important;border:1px solid var(--fra101-line)!important;color:#5c6761!important;}
#view-dashboard #addAccountButton{background:var(--fra101-lime)!important;border-color:#99d335!important;color:#18210f!important;}

.v101-dashboard-tabs{display:flex;gap:28px;height:58px;align-items:flex-end;margin-top:24px;}
.v101-dashboard-tab{
  position:relative;height:58px;padding:0;border:0;background:transparent;color:#7a847e;font:inherit;font-size:11px;font-weight:720;cursor:pointer;
}
.v101-dashboard-tab:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:99px;background:transparent;}
.v101-dashboard-tab.active{color:var(--fra101-text);}
.v101-dashboard-tab.active:after{background:var(--fra101-lime-2);}

.v101-dashboard-stage{position:relative;z-index:4;background:var(--fra101-stage);min-height:640px;padding:42px 0 80px;}
.v101-dashboard-stage-inner{width:min(var(--fra101-width),calc(100% - 48px));margin:0 auto;}
.v101-dashboard-pane{display:none;}
.v101-dashboard-pane.active{display:block;animation:v101Pane .24s cubic-bezier(.22,1,.36,1) both;}
@keyframes v101Pane{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}
.v101-legacy-hidden{display:none!important;}
#view-dashboard>.fra-v91-tabs{display:none!important;}
#view-dashboard .fra-v91-section-off{display:block!important;}

/* Overview: one metric board rather than 5 floating cards. */
#view-dashboard #kpiGrid{
  display:grid!important;grid-template-columns:minmax(340px,1.35fr) repeat(2,minmax(190px,1fr))!important;grid-template-rows:repeat(2,minmax(112px,auto))!important;
  gap:0!important;margin:0!important;padding:0!important;background:#fff!important;border:1px solid var(--fra101-line)!important;border-radius:18px!important;overflow:hidden!important;box-shadow:none!important;
}
#view-dashboard #kpiGrid .kpi-card{
  min-width:0!important;min-height:112px!important;margin:0!important;padding:20px 22px!important;background:#fff!important;border:0!important;border-right:1px solid var(--fra101-line)!important;border-bottom:1px solid var(--fra101-line)!important;border-radius:0!important;box-shadow:none!important;
}
#view-dashboard #kpiGrid .kpi-card:first-child{grid-row:1/3!important;min-height:224px!important;padding:28px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
#view-dashboard #kpiGrid .kpi-card:nth-child(3),#view-dashboard #kpiGrid .kpi-card:nth-child(5){border-right:0!important;}
#view-dashboard #kpiGrid .kpi-card:nth-child(4),#view-dashboard #kpiGrid .kpi-card:nth-child(5){border-bottom:0!important;}
#view-dashboard #kpiGrid .kpi-label{color:#8b948f!important;font-size:9px!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-weight:800!important;}
#view-dashboard #kpiGrid .kpi-value{margin-top:8px!important;color:var(--fra101-text)!important;font-size:27px!important;font-weight:700!important;letter-spacing:-.04em!important;}
#view-dashboard #kpiGrid .kpi-card:first-child .kpi-value{font-size:48px!important;line-height:1!important;}
#view-dashboard #kpiGrid .kpi-sub{margin-top:8px!important;color:#858f89!important;font-size:10px!important;}
#view-dashboard #kpiGrid .kpi-spark{margin-top:auto!important;opacity:.65!important;}

#view-dashboard #onboardingChecklist{margin:24px 0 0!important;background:#f1f6eb!important;border:1px solid #dce9cf!important;border-radius:14px!important;box-shadow:none!important;}

/* Accounts: one solid book, no side rail. */
#view-dashboard .accounts-panel{
  margin:0!important;padding:0!important;background:#fff!important;border:1px solid var(--fra101-line)!important;border-radius:18px!important;overflow:hidden!important;box-shadow:none!important;
}
#view-dashboard .accounts-panel .panel-head{padding:22px 24px 16px!important;margin:0!important;border-bottom:1px solid var(--fra101-line)!important;background:#fff!important;}
#view-dashboard .accounts-panel .panel-head h2{margin:4px 0 0!important;font-size:22px!important;letter-spacing:-.035em!important;}
#view-dashboard .accounts-panel .table-wrap{height:auto!important;max-height:620px!important;margin:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;}
#view-dashboard .accounts-panel .data-table{background:#fff!important;}
#view-dashboard .accounts-panel .data-table th{position:sticky!important;top:0!important;z-index:3!important;background:#f3f5f2!important;color:#7b857f!important;border-bottom:1px solid var(--fra101-line)!important;}
#view-dashboard .accounts-panel .data-table td{background:#fff!important;color:#444e48!important;border-bottom:1px solid #edf0ed!important;}
#view-dashboard .accounts-panel .data-table tbody tr:nth-child(even) td{background:#fafbf9!important;}
#view-dashboard .accounts-panel .data-table tbody tr:hover td{background:#f3f7ef!important;}

/* Data health: contained analytical board. */
.v101-health-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:20px;align-items:start;}
#view-dashboard #v7DataConfidence,
#view-dashboard .v801-dashboard-rail>section{
  margin:0!important;background:#fff!important;border:1px solid var(--fra101-line)!important;border-radius:16px!important;box-shadow:none!important;
}
#view-dashboard .v801-dashboard-rail{display:grid!important;grid-template-columns:1fr!important;gap:20px!important;}
#view-dashboard .zone-quote-card{display:none!important;}

/* ---------- all other pages are a single grounded workspace ---------- */
html body:not(.signed-out).terminal-trial #appShell > .main-content > .view.active:not(#view-dashboard):not(#view-copier){
  width:min(var(--fra101-width),calc(100% - 48px))!important;max-width:var(--fra101-width)!important;min-height:calc(100vh - 118px)!important;
  margin:34px auto 70px!important;padding:34px!important;background:var(--fra101-stage)!important;border:1px solid var(--fra101-line)!important;border-radius:18px!important;box-shadow:none!important;overflow:visible!important;
}
body:not(.signed-out) .view:not(#view-copier) .panel{
  background:#fff!important;border:1px solid var(--fra101-line)!important;border-radius:14px!important;box-shadow:none!important;
}
body:not(.signed-out) .view:not(#view-copier) .panel+.panel{margin-top:18px!important;}
body:not(.signed-out) .view:not(#view-copier) .table-wrap{background:#fff!important;border:0!important;box-shadow:none!important;}
body:not(.signed-out) .view:not(#view-copier) .data-table th{background:#f2f4f1!important;color:#7b857f!important;border-color:var(--fra101-line)!important;}
body:not(.signed-out) .view:not(#view-copier) .data-table td{background:#fff!important;color:#46504a!important;border-color:#edf0ed!important;}
body:not(.signed-out) .view:not(#view-copier) .data-table tbody tr:nth-child(even) td{background:#fafbf9!important;}

/* Charts sit on one intentional graphite surface. */
body:not(.signed-out) .view:not(#view-copier) .chart-container,
body:not(.signed-out) .view:not(#view-copier) .nt-chart-wrap,
body:not(.signed-out) .view:not(#view-copier) .v760-history-wrap{
  background:#353b3f!important;border:0!important;border-radius:12px!important;box-shadow:none!important;
}
body:not(.signed-out),.terminal-trial{--chart-muted:#d1d6d3;--chart-grid:rgba(255,255,255,.10);--chart-fill:rgba(169,232,62,.17);--chart-fill-end:rgba(169,232,62,0);}

/* ---------- COPY DESK: intentionally dark and dense, like a real routing console ---------- */
html body:not(.signed-out).terminal-trial #appShell > .main-content > #view-copier.view.active{
  width:100%!important;max-width:none!important;margin:0!important;padding:0 0 48px!important;background:var(--fra101-graphite)!important;color:#edf1ee!important;overflow:hidden!important;
}
#view-copier .copydesk-page-head{max-width:none!important;margin:0!important;padding:24px 28px 18px!important;background:#1e2226!important;border-bottom:1px solid #343a3e!important;}
#view-copier .copydesk-page-head h2{font-size:24px!important;color:#f3f5f3!important;}
#view-copier .copydesk-page-head p{color:#909a94!important;}
#view-copier .copydesk-console{max-width:none!important;margin:0!important;background:#202428!important;border:0!important;border-radius:0!important;}
#view-copier .copydesk-group-summary{background:#252a2e!important;border-bottom:1px solid #373d41!important;}
#view-copier .copydesk-summary-cell{padding:12px 14px!important;border-right:1px solid #363c40!important;}
#view-copier .copydesk-summary-cell>span{color:#747e78!important;font-size:7px!important;}
#view-copier .copydesk-summary-cell strong{color:#edf1ee!important;font-size:10px!important;}
#view-copier .copydesk-summary-cell small{color:#6f7973!important;}
#view-copier .copydesk-tabs{height:42px!important;background:#202428!important;border-bottom:1px solid #363c40!important;}
#view-copier .copydesk-tabs button{height:42px!important;color:#838d87!important;}
#view-copier .copydesk-tabs button.active{color:#fff!important;border-bottom-color:#8a7bf4!important;}
#view-copier .copydesk-table-toolbar{padding:8px 12px!important;background:#252a2e!important;border-bottom:1px solid #353b3f!important;}
#view-copier .copydesk-table-wrap{background:#202428!important;}
#view-copier .copydesk-table{min-width:1260px!important;background:#202428!important;}
#view-copier .copydesk-table th{height:34px!important;padding:0 11px!important;background:#292e32!important;color:#77817b!important;border-bottom:1px solid #3a4044!important;font-size:7px!important;}
#view-copier .copydesk-table td{height:46px!important;padding:8px 11px!important;background:#23282c!important;color:#d2d8d4!important;border-bottom:1px solid #343a3e!important;font-size:9px!important;}
#view-copier .copydesk-table tbody tr:nth-child(even) td{background:#262b2f!important;}
#view-copier .copydesk-table tbody tr:hover td{background:#2c3236!important;}
#view-copier .copydesk-leader-row td{background:#272d31!important;border-bottom-color:#47504a!important;}
#view-copier .copydesk-leader-mark{color:#f4cf45;font-size:12px;margin-right:6px;}
#view-copier .copydesk-position-chip{display:inline-flex;align-items:center;min-height:20px;padding:0 6px;border-radius:4px;background:#1f8f72;color:#eafff8;font-size:7px;font-weight:800;}
#view-copier .copydesk-flat-button{height:25px;padding:0 8px;border:1px solid #474e52;border-radius:5px;background:#30363a;color:#aeb6b1;font-size:7px;font-weight:750;}
#view-copier .copydesk-flat-button:disabled{opacity:.45;cursor:not-allowed;}
#view-copier .copydesk-action.primary,#view-copier .copydesk-save{background:#7867ef!important;border-color:#7867ef!important;color:#fff!important;}
#view-copier .copydesk-action.danger{background:#cc4054!important;border-color:#cc4054!important;color:#fff!important;}

/* ---------- motion ---------- */
@media(prefers-reduced-motion:no-preference){
  body:not(.signed-out) .view.fra-view-enter{animation:v101View .24s cubic-bezier(.22,1,.36,1) both!important;}
  body:not(.signed-out) .view.fra-view-enter>*{animation:none!important;}
  @keyframes v101View{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
}

/* ---------- responsive ---------- */
@media(max-width:1040px){
  html body:not(.signed-out).terminal-trial #appShell .topbar{padding:10px 16px 8px!important;height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;}
  body:not(.signed-out) .topbar-left{min-width:0!important;flex-basis:auto!important;}
  .fra-v9-nav{grid-column:1/-1!important;grid-row:2!important;justify-content:flex-start!important;overflow-x:auto!important;scrollbar-width:none!important;}
  .topbar-actions{grid-column:2!important;grid-row:1!important;}
  .v101-dashboard-masthead-inner,.v101-dashboard-stage-inner{width:min(100% - 28px,var(--fra101-width));}
  #view-dashboard #kpiGrid{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;}
  #view-dashboard #kpiGrid .kpi-card:first-child{grid-row:auto!important;grid-column:1/-1!important;min-height:170px!important;}
  #view-dashboard #kpiGrid .kpi-card{border-right:1px solid var(--fra101-line)!important;border-bottom:1px solid var(--fra101-line)!important;}
  #view-dashboard #kpiGrid .kpi-card:nth-child(3),#view-dashboard #kpiGrid .kpi-card:nth-child(5){border-right:1px solid var(--fra101-line)!important;}
  #view-dashboard #kpiGrid .kpi-card:nth-child(3),#view-dashboard #kpiGrid .kpi-card:nth-child(5){ }
  #view-dashboard #kpiGrid .kpi-card:nth-child(odd):not(:first-child){border-right:0!important;}
  .v101-health-grid{grid-template-columns:1fr!important;}
  html body:not(.signed-out).terminal-trial #appShell > .main-content > .view.active:not(#view-dashboard):not(#view-copier){width:calc(100% - 28px)!important;margin:22px auto 50px!important;padding:24px!important;}
}
@media(max-width:680px){
  body:not(.signed-out) #fraAmbientWash,body:not(.signed-out) #fraAmbient{clip-path:inset(108px 0 calc(100vh - 335px) 0)!important;}
  .v101-dashboard-masthead{min-height:230px;}
  .v101-dashboard-masthead-inner{padding-top:30px;}
  #view-dashboard .v801-command-hero{min-height:130px!important;align-items:flex-start!important;flex-direction:column!important;gap:18px!important;}
  #view-dashboard .v801-hero-copy h2{font-size:38px!important;}
  .v101-dashboard-tabs{margin-top:10px;gap:22px;overflow-x:auto;}
  .v101-dashboard-stage{padding-top:22px;}
  #view-dashboard #kpiGrid{display:block!important;}
  #view-dashboard #kpiGrid .kpi-card{min-height:0!important;border-right:0!important;border-bottom:1px solid var(--fra101-line)!important;}
  #view-dashboard #kpiGrid .kpi-card:first-child{min-height:145px!important;}
  #view-dashboard #kpiGrid .kpi-card:last-child{border-bottom:0!important;}
  html body:not(.signed-out).terminal-trial #appShell > .main-content > .view.active:not(#view-dashboard):not(#view-copier){width:100%!important;margin:0!important;padding:20px 14px 42px!important;border-radius:0!important;border-left:0!important;border-right:0!important;}
}
