.rifShell{position:fixed;inset:0;z-index:10080;color:var(--text-primary,#10213d)}.rifShell[hidden]{display:none}.rifBackdrop{position:absolute;inset:0;background:rgba(3,14,31,.58);backdrop-filter:blur(4px)}.rifPanel{position:absolute;inset:3vh 2vw 3vh auto;width:min(1180px,96vw);display:grid;grid-template-rows:auto auto 1fr;max-height:94vh;overflow:hidden;background:var(--surface-primary,#f7faff);border:1px solid var(--border-default,#cbdcf1);border-radius:22px;box-shadow:0 26px 80px rgba(4,26,58,.3)}.rifPanel>header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,var(--surface-secondary,#fff),color-mix(in srgb,var(--brand-primary,#0867e8) 8%,#fff));border-bottom:1px solid var(--border-default,#d7e4f3)}.rifPanel>header h2{margin:2px 0 0;font-size:28px}.rifPanel>header small{color:var(--brand-primary,#0867e8);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.rifPanel>header button{border:1px solid var(--border-default,#cbdcf1);background:var(--surface-secondary,#fff);color:inherit;border-radius:12px;width:44px;height:44px;font-size:28px}.rifPanel>nav{display:flex;gap:8px;padding:12px 20px;overflow:auto;background:var(--surface-secondary,#fff);border-bottom:1px solid var(--border-default,#d7e4f3)}.rifPanel>nav button,.rifPanel main button{min-height:42px;border:1px solid var(--border-default,#bcd1eb);border-radius:11px;padding:9px 14px;background:var(--surface-secondary,#fff);color:var(--brand-primary,#075dcc);font-weight:750;cursor:pointer}.rifPanel>nav button.active,.rifPanel main button[type=submit]{background:var(--brand-primary,#0867e8);border-color:var(--brand-primary,#0867e8);color:#fff}.rifPanel main{overflow:auto;padding:22px}.rifHero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:18px 20px;background:var(--surface-secondary,#fff);border:1px solid var(--border-default,#cbdcf1);border-radius:16px}.rifHero h3{margin:0 0 4px;font-size:24px}.rifHero p{margin:0;color:var(--text-secondary,#5c6f8d)}.rifScore{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:104px;padding:10px;border-radius:13px;background:color-mix(in srgb,var(--brand-primary,#0867e8) 9%,var(--surface-secondary,#fff))}.rifScore strong{font-size:25px}.rifScore span{font-size:12px;color:var(--text-secondary,#5c6f8d)}.rifCards,.rifColumns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rifCard,.rifColumns>section{padding:18px;background:var(--surface-secondary,#fff);border:1px solid var(--border-default,#cbdcf1);border-radius:16px}.rifCard.danger{border-top:4px solid #ef4451}.rifCard header{display:flex;justify-content:space-between;gap:12px}.rifCard small,.rifTable small,.rifCommittee small{display:block;color:var(--text-secondary,#5c6f8d);margin-top:4px}.rifCard li,.rifColumns li{margin:9px 0}.rifCard li b{display:inline-block;margin-right:8px;color:#d52b3b}.rifScoreRow{display:flex;gap:10px;flex-wrap:wrap}.rifScoreRow .rifScore{flex:1}.rifTable{display:grid;gap:10px}.rifTable article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 16px;background:var(--surface-secondary,#fff);border:1px solid var(--border-default,#cbdcf1);border-radius:13px}.rifPill{padding:6px 10px;border-radius:999px;background:#e5eefb;font-size:12px;font-weight:800}.rifPill.critical,.rifPill.high{background:#ffe1e4;color:#b4232f}.rifPill.medium{background:#fff0c7;color:#8a5a00}.rifPill.low{background:#dff8ea;color:#147a45}.rifCommittee{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rifCommittee article{padding:15px;background:var(--surface-secondary,#fff);border:1px solid var(--border-default,#cbdcf1);border-radius:13px}.rifForm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px;margin-bottom:16px;background:var(--surface-secondary,#fff);border:1px solid var(--border-default,#cbdcf1);border-radius:16px}.rifForm label{display:grid;gap:6px;font-weight:700}.rifForm input,.rifForm select{min-height:43px;border:1px solid var(--border-default,#bcd1eb);border-radius:10px;padding:8px 10px;background:var(--input-background,#fff);color:var(--input-text,#10213d)}.rifForm .rifScoreRow{grid-column:1/-1}.rifNotice,.rifEmpty{padding:18px;background:color-mix(in srgb,var(--brand-primary,#0867e8) 8%,var(--surface-secondary,#fff));border:1px solid var(--border-default,#cbdcf1);border-radius:13px}.rifNotice.error{background:#fff0f1;border-color:#f7aab2;color:#a51928}@media (max-width:760px){.rifPanel{inset:0;width:100vw;max-height:100vh;border-radius:0}.rifPanel main{padding:14px}.rifCards,.rifColumns,.rifCommittee,.rifForm{grid-template-columns:1fr}.rifTable article{grid-template-columns:1fr}.rifHero{align-items:flex-start}.rifPanel>header h2{font-size:22px}}
.rifIntegratedSurface{margin:18px 0;padding:0;overflow:hidden;color:var(--text-primary,#10213d);background:linear-gradient(145deg,color-mix(in srgb,var(--brand-primary,#0867e8) 5%,var(--surface-primary,#fff)),var(--surface-primary,#fff));border:1px solid var(--border-default,#cbdcf1);border-radius:18px;box-shadow:0 10px 30px rgba(14,55,104,.08)}.rifIntegratedHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border-default,#d7e4f3)}.rifIntegratedHeader h2{margin:2px 0 4px;font-size:clamp(20px,2vw,27px)}.rifIntegratedHeader small{color:var(--brand-primary,#0867e8);font-weight:850;letter-spacing:.08em;text-transform:uppercase}.rifIntegratedHeader p{margin:0;color:var(--text-secondary,#5c6f8d)}.rifHelp{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:0;border-radius:13px;background:#ccf8eb;color:#0d3155;font-size:22px;font-weight:900;cursor:pointer}.rifIntegratedTabs{display:flex;gap:8px;overflow:auto;padding:12px 18px;background:var(--surface-secondary,#fff);border-bottom:1px solid var(--border-default,#d7e4f3)}.rifIntegratedTabs button,.rifIntegratedBody button{min-height:40px;padding:8px 13px;border:1px solid var(--border-default,#bcd1eb);border-radius:10px;background:var(--surface-secondary,#fff);color:var(--brand-primary,#075dcc);font-weight:750;cursor:pointer}.rifIntegratedTabs button.active,.rifIntegratedBody button[type=submit]{background:var(--brand-primary,#0867e8);border-color:var(--brand-primary,#0867e8);color:#fff}.rifIntegratedBody{padding:18px}.rifIntegratedBody .rifHero{margin-top:0}.rifIntegratedBody .rifCards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media(max-width:760px){.rifIntegratedHeader{padding:15px}.rifIntegratedBody{padding:12px}.rifIntegratedTabs{padding:10px 12px}.rifIntegratedSurface .rifCards,.rifIntegratedSurface .rifColumns,.rifIntegratedSurface .rifCommittee,.rifIntegratedSurface .rifForm{grid-template-columns:1fr}.rifIntegratedSurface .rifTable article{grid-template-columns:1fr}}
.rifRiskOverview{display:grid;grid-template-columns:1.25fr .8fr .8fr;gap:14px;margin-bottom:14px}.rifRiskOverview>article{display:flex;flex-direction:column;gap:8px;min-height:136px;padding:18px;border:1px solid var(--border-default,#cbdcf1);border-radius:16px;background:var(--surface-secondary,#fff)}.rifRiskOverview .rifRiskPrimary{border-left:5px solid #ef4050}.rifRiskOverview small{color:var(--text-secondary,#5c6f8d);font-weight:750}.rifRiskOverview strong{font-size:clamp(24px,3vw,42px)}.rifRiskOverview .rifRiskPrimary>div{display:flex;align-items:center;gap:12px}.rifRiskOverview em{margin-top:auto;color:var(--text-secondary,#5c6f8d);font-style:normal}.rifRiskTabs{display:flex;gap:30px;margin:0 0 16px;padding:0 12px;border-bottom:1px solid var(--border-default,#d7e4f3);color:var(--text-secondary,#5c6f8d);font-weight:750}.rifRiskTabs span{padding:11px 0}.rifRiskTabs .active{color:var(--brand-primary,#0867e8);border-bottom:3px solid currentColor}.rifRiskMore{margin-top:16px}.rifBuyingCommitteeBody{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px}.rifBuyingCommitteeBody>.rifHero{grid-column:1/-1}.rifCommitteeMap{position:relative;min-height:390px}.rifCommitteeCenter{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:190px;height:190px;padding:18px;text-align:center;transform:translate(-50%,-50%);border:2px solid #a8c8ef;border-radius:50%;background:var(--surface-secondary,#fff)}.rifCommitteeCenter strong{font-size:20px}.rifCommitteeCenter small{color:var(--text-secondary,#5c6f8d)}.rifCommitteeMap article{position:absolute;display:flex;align-items:center;gap:10px;min-width:180px;padding:11px 13px;transform:translate(-50%,-50%);border:1px solid var(--border-default,#cbdcf1);border-radius:12px;background:var(--surface-secondary,#fff);box-shadow:0 6px 18px rgba(15,47,88,.08)}.rifCommitteeMap article:nth-of-type(1){left:18%;top:18%}.rifCommitteeMap article:nth-of-type(2){left:50%;top:8%}.rifCommitteeMap article:nth-of-type(3){left:82%;top:18%}.rifCommitteeMap article:nth-of-type(4){left:88%;top:72%}.rifCommitteeMap article:nth-of-type(5){left:66%;top:92%}.rifCommitteeMap article:nth-of-type(6){left:34%;top:92%}.rifCommitteeMap article:nth-of-type(7){left:12%;top:72%}.rifCommitteeMap article:nth-of-type(8){left:8%;top:42%}.rifAvatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#e8f2ff;color:#075dcc;font-weight:850}.rifCoverage{align-self:start;padding:18px;border:1px solid var(--border-default,#cbdcf1);border-radius:16px;background:var(--surface-secondary,#fff)}.rifCoverage h4{margin-top:0}.rifForecastChart{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:22px;min-height:250px;padding:22px 28px 10px;border-radius:16px;background:linear-gradient(180deg,var(--surface-secondary,#fff),color-mix(in srgb,var(--brand-primary,#0867e8) 5%,var(--surface-secondary,#fff)))}.rifForecastChart>div{display:grid;grid-template-rows:1fr auto auto;align-items:end;text-align:center;height:210px}.rifForecastChart i{display:block;width:min(100px,70%);height:max(8px,var(--bar));margin:auto;background:linear-gradient(#2e86ed,#0867e8);border-radius:8px 8px 2px 2px}.rifForecastChart i.scenario{background:linear-gradient(#2ec4aa,#168e7d)}.rifForecastChart i.target{background:linear-gradient(#ffc154,#e89613)}.rifForecastChart strong{margin-top:8px}.rifForecastChart span{color:var(--text-secondary,#5c6f8d)}@media(max-width:920px){.rifRiskOverview{grid-template-columns:1fr}.rifBuyingCommitteeBody{display:block}.rifCommitteeMap{min-height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rifCommitteeCenter,.rifCommitteeMap article{position:static;width:auto;height:auto;min-width:0;transform:none}.rifCommitteeCenter{grid-column:1/-1;border-radius:16px}.rifCoverage{margin:14px 0 0}.rifForecastChart{padding-inline:10px}}

/* The integrated Revenue Intelligence workspaces are deliberately light
   product surfaces. Their foregrounds must not inherit a white Branding or
   dark-shell token while their cards remain white. */
.rifIntegratedSurface {
  --rif-surface:#f5f8fc;
  --rif-card:#fff;
  --rif-ink:#0b2346;
  --rif-muted:#526681;
  --rif-border:#cbdcf1;
  background:var(--rif-surface) !important;
  color:var(--rif-ink) !important;
}
.rifIntegratedSurface :is(.rifIntegratedHeader,.rifIntegratedTabs,.rifIntegratedBody) {
  background:var(--rif-surface) !important;
  color:var(--rif-ink) !important;
  border-color:var(--rif-border) !important;
}
.rifIntegratedSurface :is(.rifHero,.rifCard,.rifColumns>section,.rifTable article,
  .rifCommittee article,.rifCommitteeCenter,.rifCoverage,.rifForm,.rifRiskOverview>article,
  .rifForecastChart,.rifScore,.rifNotice,.rifEmpty) {
  background-color:var(--rif-card) !important;
  color:var(--rif-ink) !important;
  border-color:var(--rif-border) !important;
}
.rifIntegratedSurface :is(h2,h3,h4,strong,b,label,li,td,th,em) {
  color:var(--rif-ink) !important;
  -webkit-text-fill-color:currentColor !important;
}
.rifIntegratedSurface :is(p,small,.rifHero p,.rifCard small,.rifTable small,.rifCommittee small,
  .rifRiskOverview small,.rifRiskOverview em,.rifForecastChart span) {
  color:var(--rif-muted) !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
}
.rifIntegratedSurface :is(input,select,textarea) {
  background:#fff !important;
  color:var(--rif-ink) !important;
  -webkit-text-fill-color:currentColor !important;
}
.rifIntegratedSurface .rifIntegratedTabs button,
.rifIntegratedSurface .rifIntegratedBody button:not([type=submit]) {
  background:#fff !important;
  color:#075dcc !important;
  -webkit-text-fill-color:#075dcc !important;
  border-color:#9bbbe2 !important;
}
.rifIntegratedSurface .rifIntegratedTabs button.active,
.rifIntegratedSurface .rifIntegratedBody button[type=submit] {
  background:#0867e8 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.rifIntegratedSurface .rifPill.medium { background:#fff0c7 !important; color:#744b00 !important; -webkit-text-fill-color:#744b00 !important; }
.rifIntegratedSurface .rifPill.high,
.rifIntegratedSurface .rifPill.critical { background:#ffe1e4 !important; color:#9f1f2b !important; -webkit-text-fill-color:#9f1f2b !important; }
.rifIntegratedSurface .rifPill.low { background:#dff8ea !important; color:#126b3d !important; -webkit-text-fill-color:#126b3d !important; }

/* Module styles may target their own tab headings after the base Revenue
   Intelligence bundle. These integrated headers always use a light surface,
   therefore their three foreground roles are fixed and theme-independent. */
body[data-visual-system="nplus1"] :is(
  #tab-myday,#tab-activities,#tab-opportunities,#tab-client360,#tab-clients,
  #tab-kams,#tab-kam360,#tab-revenueos,#tab-executive
) .rifIntegratedSurface .rifIntegratedHeader h2 {
  color:var(--rif-ink) !important;
  -webkit-text-fill-color:var(--rif-ink) !important;
}
body[data-visual-system="nplus1"] :is(
  #tab-myday,#tab-activities,#tab-opportunities,#tab-client360,#tab-clients,
  #tab-kams,#tab-kam360,#tab-revenueos,#tab-executive
) .rifIntegratedSurface .rifIntegratedHeader p {
  color:var(--rif-muted) !important;
  -webkit-text-fill-color:var(--rif-muted) !important;
}
body[data-visual-system="nplus1"] :is(
  #tab-myday,#tab-activities,#tab-opportunities,#tab-client360,#tab-clients,
  #tab-kams,#tab-kam360,#tab-revenueos,#tab-executive
) .rifIntegratedSurface .rifIntegratedHeader small {
  color:#075dcc !important;
  -webkit-text-fill-color:#075dcc !important;
  opacity:1 !important;
}

/* Tenant Branding is emitted after the module styles and may target a portal
   tab by id.  Keep every foreground paired with the fixed light analytical
   cards, even when that later stylesheet exposes white text tokens. */
body[data-visual-system="nplus1"] :is(
  #tab-myday,#tab-activities,#tab-opportunities,#tab-client360,#tab-clients,
  #tab-kams,#tab-kam360,#tab-revenueos,#tab-executive
) .rifIntegratedSurface .rifIntegratedBody :is(
  .rifHero,.rifCard,.rifColumns>section,.rifTable article,.rifCommittee article,
  .rifCommitteeCenter,.rifCoverage,.rifForm,.rifRiskOverview>article,
  .rifForecastChart,.rifScore,.rifNotice,.rifEmpty
) :is(h3,h4,strong,b,label,li,td,th) {
  color:var(--rif-ink) !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
}

/* The full Intelligence Suite is a light analytical workspace too.  Pair its
   fixed white cards with local foregrounds instead of tenant Branding tokens. */
body[data-visual-system="nplus1"] #revenueIntelligenceFeatures .rifPanel {
  --surface-primary:#f5f8fc;
  --surface-secondary:#fff;
  --text-primary:#0b2346;
  --text-secondary:#415675;
  --brand-primary:#075dcc;
  --border-default:#cbdcf1;
  --input-background:#fff;
  --input-text:#0b2346;
  background:#f5f8fc !important;
  color:#0b2346 !important;
  -webkit-text-fill-color:currentColor !important;
}
body[data-visual-system="nplus1"] #revenueIntelligenceFeatures .rifPanel :is(h2,h3,h4,strong,b,label,li,td,th,em) {
  color:#0b2346 !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
}
body[data-visual-system="nplus1"] #revenueIntelligenceFeatures .rifPanel :is(p,small) {
  color:#415675 !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
}
body[data-visual-system="nplus1"] #revenueIntelligenceFeatures .rifPanel main :is(
  .rifHero,.rifCard,.rifColumns>section,.rifTable article,.rifCommittee article,
  .rifCommitteeCenter,.rifCoverage,.rifForm,.rifRiskOverview>article,
  .rifForecastChart,.rifScore,.rifNotice,.rifEmpty
) :is(span):not(.rifPill):not(.rifAvatar) {
  color:#415675 !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
}
body[data-visual-system="nplus1"] #revenueIntelligenceFeatures .rifPanel>header small,
body[data-visual-system="nplus1"] #revenueIntelligenceFeatures .rifPanel>nav button,
body[data-visual-system="nplus1"] #revenueIntelligenceFeatures .rifPanel main button:not([type=submit]) {
  color:#075dcc !important;
  -webkit-text-fill-color:currentColor !important;
}
body[data-visual-system="nplus1"] #revenueIntelligenceFeatures .rifPanel>nav button.active,
body[data-visual-system="nplus1"] #revenueIntelligenceFeatures .rifPanel main button[type=submit] {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body[data-visual-system="nplus1"] #revenueIntelligenceFeatures .rifPanel .rifPill.medium { color:#744b00 !important; -webkit-text-fill-color:#744b00 !important; }
body[data-visual-system="nplus1"] #revenueIntelligenceFeatures .rifPanel .rifPill:is(.high,.critical) { color:#9f1f2b !important; -webkit-text-fill-color:#9f1f2b !important; }
body[data-visual-system="nplus1"] #revenueIntelligenceFeatures .rifPanel .rifPill.low { color:#126b3d !important; -webkit-text-fill-color:#126b3d !important; }
body[data-visual-system="nplus1"] :is(
  #tab-myday,#tab-activities,#tab-opportunities,#tab-client360,#tab-clients,
  #tab-kams,#tab-kam360,#tab-revenueos,#tab-executive
) .rifIntegratedSurface .rifIntegratedBody :is(
  .rifHero,.rifCard,.rifColumns>section,.rifTable article,.rifCommittee article,
  .rifCommitteeCenter,.rifCoverage,.rifForm,.rifRiskOverview>article,
  .rifForecastChart,.rifScore,.rifNotice,.rifEmpty
) :is(p,small,em,span):not(.rifPill):not(.rifAvatar) {
  color:var(--rif-muted) !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
}
