/* Final semantic bridge: tenant Branding tokens must win over legacy N+1
   palette constants for rendered cards and primary actions. */
body[data-theme-mode] .tabPane.active :is(.panel,.heroCard,.card,.savedKpiCard){background:var(--card-background,var(--surface-secondary))!important;color:var(--card-text,var(--text-primary))!important}
body[data-theme-mode] .tabPane.active :is(.kpi,.metric,.statMini,.qualityMetric){background:var(--vcard-background,var(--surface-secondary))!important;color:var(--vcard-text,var(--text-primary))!important}
:is(.btn.primary,button.primary,#newBtn){background:var(--interactive-primary)!important;border-color:var(--interactive-primary)!important;color:var(--interactive-primary-text)!important}
html,body,.shell,.main{max-width:100%;overflow-x:clip}
.revupFixedLogoLink img{width:auto!important;height:96px!important;max-width:260px!important;object-fit:contain}
.revupHeaderLogo{flex:0 0 56px!important;width:56px!important;min-width:56px!important;max-width:56px!important;height:56px!important;display:flex!important;align-items:center;justify-content:center}
.revupHeaderLogo img{width:auto!important;height:50px!important;max-width:50px!important;object-fit:contain}
.topbar .brand{min-width:260px;flex:1 1 280px;gap:12px}.topbar .brandIdentity{flex:1 1 auto;min-width:0}.topbar .brand h1{white-space:normal;overflow-wrap:anywhere}.topbar .actions{flex:0 1 auto}
.sidebarControls{grid-template-columns:42px minmax(96px,1fr)!important}
body[data-visual-system="nplus1"] .sidebar .sidebarControlBtn,.sidebarControlBtn{height:42px!important;border-radius:12px!important;background:var(--interactive-primary,#146ce6)!important;border:1px solid color-mix(in srgb,var(--interactive-primary,#146ce6),#fff 25%)!important;color:var(--interactive-primary-text)!important;box-shadow:0 7px 18px rgba(20,108,230,.24)}
#sidebarCollapseBtn{width:42px!important;min-width:42px!important;padding-inline:0!important}
#sidebarPinBtn{width:auto!important;min-width:96px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding-inline:12px!important;overflow:visible!important;white-space:nowrap!important}
#sidebarPinBtn span{display:inline-block!important;min-width:max-content!important;color:inherit!important}
body[data-sidebar-collapsed="1"] .sidebarControls{grid-template-columns:42px!important;justify-content:center!important}
body[data-sidebar-collapsed="1"] #sidebarPinBtn{display:none!important;visibility:hidden!important;pointer-events:none!important}
body .sidebar .sidebarControlBtn .sidebarChevronLabel{color:inherit!important;font-size:17px!important;font-weight:900!important;letter-spacing:-3px}
#tab-executive-summary .riDashGrid4{align-items:stretch!important;grid-auto-rows:1fr!important}
#tab-executive-summary .riDashGrid4>.panel{height:100%!important;min-height:0!important;margin:0!important;align-self:stretch!important;transform:none!important;box-sizing:border-box!important}
#tab-executive-summary .riDashGrid4>.panel>.sectionTitle{margin-top:0!important}
#tab-executive-summary .riPdfMini,#tab-executive-summary .riSignal{background:var(--theme-cardBackground,var(--surface-secondary,#f3f8ff))!important;border-color:var(--border-default,#b9cce3)!important;color:var(--theme-cardText,var(--text-primary,#071a36))!important}
#tab-executive-summary .riPdfMini :is(h4,.big),#tab-executive-summary .riSignal strong{color:var(--theme-cardText,var(--text-primary,#071a36))!important}
#tab-executive-summary .riPdfMini small,#tab-executive-summary .riSignal small{color:var(--theme-cardSecondaryText,var(--text-secondary,#4f6480))!important}
#tab-executive-summary .riSignal>span{color:var(--interactive-primary,#0871e8)!important}
.brandingPreview:not(.darkPreview){--text-primary:var(--theme-textPrimary,#eef6ff);--text-secondary:var(--theme-textSecondary,#b7c9df);--text-muted:var(--text-secondary);--rv-n1-text:var(--text-primary);--rv-n1-muted:var(--text-secondary)}
.brandingPreview{min-height:430px;display:grid;align-content:start;gap:15px;background:var(--surface-page);color:var(--text-primary);border-color:var(--interactive-primary)}
.brandingPreview>.eyebrow{color:#10233f!important;background:#fff;padding:5px 9px;border-radius:999px;width:max-content;box-shadow:0 0 0 1px rgba(16,35,63,.18)}
.brandingPreviewLogo{width:min(336px,100%)!important;height:208px!important;overflow:hidden;display:grid;place-items:center}
#brandingPreviewLogo.brandingPreviewLogo img{width:min(280px,85%)!important;height:min(180px,86%)!important;max-width:none!important;max-height:none!important;object-fit:contain;transform:none!important}
.brandingLogoPlaceholder{font-size:34px;font-weight:900;color:var(--text-primary)}
.brandingPreviewComponents{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;padding:16px;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-primary)}
.brandingPreviewComponents label{display:grid;gap:7px;color:var(--text-primary);font-weight:750}
.brandingPreviewComponents input{min-height:44px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-secondary);color:var(--text-primary);padding:0 12px}
.brandingPreviewStatus{grid-column:1/-1;color:var(--text-secondary);font-weight:700}
.brandingRemoveLogo{display:flex!important;align-items:center;gap:8px;margin-top:8px}
.brandingRemoveLogo input{width:18px!important;height:18px!important}
.cardActionRail,.revupHelpActionRail{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;margin-left:auto!important;position:relative!important;z-index:4!important;flex:0 0 auto!important;min-width:max-content!important}
.cardActionRail.revupTopActionRail,.revupHelpActionRail.revupTopActionRail{width:100%!important;min-height:40px!important;margin:0 0 10px!important;padding:0!important;box-sizing:border-box!important;align-self:stretch!important}
#tab-kpis .cardActionRail,#tab-kpis .revupHelpActionRail{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;isolation:isolate!important}
#tab-kpis .cardActionRail>:is(.favoriteStar,.revupHelpButton),#tab-kpis .revupHelpActionRail>:is(.favoriteStar,.revupHelpButton){position:static!important;inset:auto!important;transform:none!important;flex:0 0 40px!important;width:40px!important;height:40px!important;margin:0!important}
/* Dashboard pairs share one grid row and one internal content height. This
   prevents charts, rankings and their action rails from moving sibling cards
   to different vertical baselines as data is rendered. */
#tab-kpis .kpiAlignedPair{align-items:stretch!important;grid-auto-rows:1fr!important}
#tab-kpis .kpiAlignedPair>.panel{align-self:stretch!important;height:auto!important;min-height:0!important;margin:0!important;display:flex!important;flex-direction:column!important;transform:none!important;box-sizing:border-box!important}
#tab-kpis .kpiAlignedPair>.panel>.sectionTitle{flex:0 0 auto!important;min-height:50px!important;margin:0 0 14px!important}
#tab-kpis .kpiAlignedPair>.panel>:is(#weeklyChart,#clientBars){flex:1 1 auto!important;min-height:280px!important;margin:0!important;box-sizing:border-box!important}
#tab-kpis .kpiAlignedPair #clientBars{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;padding:12px 10px 8px!important;border:1px solid var(--border-default,var(--line))!important;border-radius:14px!important;overflow:auto!important}
@media(max-width:1050px){#tab-kpis .kpiAlignedPair{grid-auto-rows:auto!important}#tab-kpis .kpiAlignedPair>.panel{height:auto!important}#tab-kpis .kpiAlignedPair>.panel>.sectionTitle{min-height:0!important}#tab-kpis .kpiAlignedPair>.panel>:is(#weeklyChart,#clientBars){min-height:240px!important}}
#tab-kpis .categoryKpiRow{align-items:stretch!important;grid-auto-rows:1fr!important}
#tab-kpis .categoryKpiRow>.panel{align-self:stretch!important;height:auto!important;min-height:0!important;margin:0!important;transform:none!important;box-sizing:border-box!important}
#tab-kpis .categoryDistributionPanel{display:flex!important;flex-direction:column!important}
#tab-kpis .categoryKpiHeader{display:flex!important;align-items:flex-start!important;min-height:50px!important;margin:0 0 14px!important;gap:14px!important}
#tab-kpis .categoryKpiHeader>.cardActionRail{margin-left:auto!important;align-self:flex-start!important}
#tab-kpis .categoryKpiBody{flex:1 1 auto!important;align-content:center!important}
@media(max-width:1250px){#tab-kpis .categoryKpiRow{grid-auto-rows:auto!important}#tab-kpis .categoryKpiRow>.panel{height:auto!important}#tab-kpis .categoryKpiHeader{min-height:0!important}}
#tab-kpis .kpiAnalyticsAlignedPair{align-items:stretch!important;grid-auto-rows:1fr!important}
#tab-kpis .kpiAnalyticsAlignedPair>.panel{align-self:stretch!important;height:auto!important;min-height:0!important;margin:0!important;display:flex!important;flex-direction:column!important;transform:none!important;box-sizing:border-box!important}
#tab-kpis .kpiAnalyticsAlignedPair>.panel>.sectionTitle{flex:0 0 auto!important;min-height:50px!important;margin:0 0 14px!important}
#tab-kpis .kpiAnalyticsAlignedPair>.panel>:is(.chart,.compareTable,#statInsights){flex:1 1 auto!important;min-height:280px!important;margin:0!important;box-sizing:border-box!important}
#tab-kpis .kpiAnalyticsAlignedPair>.panel>:is(.compareTable,#statInsights){padding:12px 10px 8px!important;border:1px solid var(--border-default,var(--line))!important;border-radius:14px!important;overflow:auto!important}
@media(max-width:900px){#tab-kpis .kpiAnalyticsAlignedPair{grid-auto-rows:auto!important}#tab-kpis .kpiAnalyticsAlignedPair>.panel{height:auto!important}#tab-kpis .kpiAnalyticsAlignedPair>.panel>.sectionTitle{min-height:0!important}#tab-kpis .kpiAnalyticsAlignedPair>.panel>:is(.chart,.compareTable,#statInsights){min-height:240px!important}}
.sectionTitle{align-items:flex-start!important;gap:14px!important;flex-wrap:wrap!important}
.sectionTitle>div:first-child{min-width:0!important;flex:1 1 240px!important}
.sectionTitle small,.sectionTitle p{display:block!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.45!important}
.cardActionRail .favoriteStar,.revupHelpActionRail .favoriteStar{order:10!important;position:static!important;inset:auto!important;margin:0!important}
.favoriteStar{background:var(--interactive-primary,#0969e8)!important;color:var(--interactive-primary-text,#fff)!important;border-color:var(--interactive-primary,#0969e8)!important;-webkit-text-stroke:0!important}

/* Canonical legibility guard. Tenant branding may change accents, never semantic text contrast. */
.tabPane .panel,.tabPane .card,.tabPane .metric,.tabPane .kpi,.modal,.modalCard,.notificationPanel{color:var(--text-primary,#0b172a)}
.tabPane .panel h1,.tabPane .panel h2,.tabPane .panel h3,.tabPane .panel h4,.tabPane .card h1,.tabPane .card h2,.tabPane .card h3,.tabPane .card h4,.modal h1,.modal h2,.modal h3,.modal h4{color:var(--text-primary,#0b172a)!important}
.tabPane label,.modal label{color:var(--text-primary,#0b172a)!important;font-weight:700}
#tab-activities .expandActivityBtn,#tab-activities .expandActivityBtn .arrow{color:#0758c2!important;-webkit-text-fill-color:currentColor!important;font-weight:750!important}
.modalCard,.calendarEventModalCard,.calendarCreateModalCard{background:var(--surface-primary,#fff)!important;color:var(--text-primary,#0b172a)!important}
.modalCard :is(h1,h2,h3,h4,strong,label,legend),.calendarEventModalCard :is(h1,h2,h3,h4,strong,label,legend),.calendarCreateModalCard :is(h1,h2,h3,h4,strong,label,legend){color:var(--text-primary,#0b172a)!important}
.modalCard :is(p,small,dd,dt),.calendarEventModalCard :is(p,small,dd,dt),.calendarCreateModalCard :is(p,small,dd,dt){color:var(--text-secondary,#5f718a)!important}

/* Calendar dialogs use their own overlay element (rather than the older
   .modalBackdrop > .modal structure). Keep the geometry explicit so a theme
   or legacy modal rule cannot turn the dialog into full-page content. */
#calendarEventModal,#calendarCreateModal{
  position:fixed!important;inset:0!important;z-index:10040!important;
  display:none!important;align-items:flex-start!important;justify-content:center!important;
  width:auto!important;max-width:none!important;max-height:none!important;margin:0!important;
  padding:clamp(12px,3vw,32px)!important;border:0!important;border-radius:0!important;
  overflow:hidden!important;background:rgba(3,10,20,.7)!important;
  backdrop-filter:blur(6px)
}
#calendarEventModal.open,#calendarCreateModal.open{display:flex!important}
#calendarCreateModal{background:linear-gradient(135deg,rgba(244,249,255,.98),rgba(229,240,255,.96))!important;backdrop-filter:blur(8px) saturate(.92)!important}
#calendarEventModal .modalCard,#calendarCreateModal .modalCard{
  position:relative!important;width:min(760px,100%)!important;max-width:760px!important;
  max-height:min(860px,calc(100dvh - 32px))!important;margin:0!important;
  padding:clamp(20px,3vw,30px)!important;overflow:auto!important;
  border:1px solid var(--border-default,#d9e4f2)!important;border-radius:24px!important;
  box-shadow:0 28px 80px rgba(3,15,35,.28)!important
}
#calendarEventModal .modalHeader,#calendarCreateModal .modalHeader{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;
  gap:20px!important;padding:0 0 18px!important;border-bottom:1px solid var(--border-default,#d9e4f2)
}
#calendarEventModal .modalHeader h3,#calendarCreateModal .modalHeader h3{
  margin:5px 0 0!important;font-size:clamp(24px,3vw,32px)!important;line-height:1.15!important
}
#calendarEventModal .modalClose,#calendarCreateModal .modalClose{
  position:static!important;flex:0 0 44px!important;width:44px!important;height:44px!important;
  min-height:44px!important;padding:0!important;display:grid!important;place-items:center!important;
  border:1px solid var(--border-default,#d9e4f2)!important;border-radius:12px!important;
  background:var(--surface-secondary,#f5f8fc)!important;color:var(--text-primary,#0b172a)!important;
  font-size:25px!important;line-height:1!important
}
#calendarEventModal .modalClose:hover,#calendarCreateModal .modalClose:hover{
  border-color:var(--interactive-primary,#0f6ee8)!important;background:var(--surface-elevated,#eef4fb)!important
}
#calendarEventModal .modalClose:focus-visible,#calendarCreateModal .modalClose:focus-visible{
  outline:3px solid color-mix(in srgb,var(--interactive-primary,#0f6ee8) 30%,transparent)!important;
  outline-offset:2px!important
}
#calendarCreateModal .modalCard{
  display:flex!important;flex-direction:column!important;width:min(940px,100%)!important;max-width:940px!important;padding:24px 28px!important;
  overflow:hidden!important;
  border-radius:22px!important;background:#fff!important;color:#0b1f3a!important
}
#calendarCreateModal .modalHeader{position:relative!important;z-index:2!important;flex:0 0 auto!important;padding-bottom:14px!important;border-bottom:0!important;background:#fff!important}
.calendarCreateHeading{display:flex!important;align-items:flex-start!important;gap:18px!important;min-width:0!important}
.calendarCreateHeadingIcon{
  display:grid!important;place-items:center!important;flex:0 0 54px!important;width:54px!important;height:54px!important;
  border-radius:14px!important;background:#eaf3ff!important;color:#156ddf!important
}
.calendarCreateHeadingIcon svg{width:28px!important;height:28px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
#calendarCreateModal .modalHeader .eyebrow{display:block!important;margin:1px 0 4px!important;color:#3977bd!important;font-size:11px!important;font-weight:850!important;letter-spacing:.18em!important}
#calendarCreateModal .modalHeader h3{margin:0!important;color:#081b36!important;font-size:30px!important;line-height:1.1!important}
#calendarCreateModal .modalHeader p{margin:5px 0 0!important;color:#61738e!important;font-size:14px!important;line-height:1.4!important}
#calendarCreateForm{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px 18px!important;min-height:0!important;margin-top:4px!important;padding-right:4px!important;overflow-y:auto!important;overscroll-behavior:contain!important}
body.calendarCreateScrollLocked{overflow:hidden!important}
#calendarCreateForm .field{display:grid!important;align-content:start!important;gap:6px!important;min-width:0!important;margin:0!important}
#calendarCreateForm .field.span2{grid-column:1/-1!important}
#calendarCreateForm :is(input,select,textarea){width:100%!important;box-sizing:border-box!important;border:1px solid #b7c5d6!important;border-radius:9px!important;background:#fff!important;color:#10233f!important;box-shadow:none!important}
#calendarCreateForm :is(input,select){min-height:42px!important;padding:9px 13px!important}
#calendarCreateForm textarea{padding:10px 13px!important;resize:vertical!important}
#calendarCreateForm select[multiple]{min-height:118px!important;padding:8px 12px!important;line-height:1.55!important}
#calendarCreateForm label{color:#10233f!important;font-size:13px!important;font-weight:800!important}
#calendarCreateForm small{color:#60728b!important;font-size:12px!important;line-height:1.4!important}
#calendarCreateForm :is(input,select,textarea):focus{outline:3px solid rgba(21,109,223,.18)!important;outline-offset:0!important;border-color:#156ddf!important}
.calendarConferenceChoice{padding:12px 14px!important;border:1px solid #9bc7f7!important;border-radius:11px!important;background:#eef7ff!important}
#calendarCreateForm .calendarConferenceChoice .toggleLine{display:flex!important;align-items:flex-start!important;gap:12px!important;padding:0!important;border:0!important;background:transparent!important;color:#10233f!important}
#calendarCreateForm .calendarConferenceChoice input{position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;opacity:0!important;pointer-events:none!important}
.calendarConferenceCheck{display:grid!important;place-items:center!important;flex:0 0 40px!important;width:40px!important;height:40px!important;border:1px solid #156ddf!important;border-radius:9px!important;background:#156ddf!important;color:#fff!important;font-size:25px!important;font-weight:900!important;line-height:1!important}
#calendarCreateConference:not(:checked)+.calendarConferenceCheck{background:#fff!important;color:transparent!important}
#calendarCreateConference:focus-visible+.calendarConferenceCheck{outline:3px solid rgba(21,109,223,.28)!important;outline-offset:2px!important}
.calendarConferenceChoice strong{display:block!important;margin:1px 0 3px!important;color:#10233f!important;font-size:14px!important}
.calendarConferenceChoice small{display:block!important;color:#60728b!important;font-weight:500!important}
#calendarCreateModal .miCreateAssist{min-height:72px!important;padding:13px 15px!important;border-color:#a9cdfd!important;border-radius:11px!important;background:#eef6ff!important;box-sizing:border-box!important}
#calendarCreateModal .miCreateAssist .miIcon{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:11px!important;background:#e0edff!important;color:#156ddf!important;font-size:22px!important}
#calendarCreateModal .miCreateAssist strong{color:#156ddf!important}
.calendarCreateActions .actions{display:flex!important;justify-content:flex-start!important;gap:10px!important;margin:0!important}
#calendarCreateSubmit{min-height:44px!important;padding:10px 20px!important;background:#156ddf!important;border-color:#156ddf!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#calendarCreateSubmit:hover,#calendarCreateSubmit:focus-visible{background:#0f5fc5!important;border-color:#0f5fc5!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#calendarCreateSubmit:disabled{background:#9abbe5!important;border-color:#9abbe5!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.calendarEventDetail{padding:22px 0 4px!important}
.calendarDetailList{display:grid!important;gap:0!important;margin:0!important}
.calendarDetailList>div{
  display:grid!important;grid-template-columns:minmax(130px,170px) minmax(0,1fr)!important;
  gap:18px!important;padding:14px 0!important;border-bottom:1px solid var(--border-default,#d9e4f2)!important
}
.calendarDetailList>div:last-child{border-bottom:0!important}
.calendarDetailList dt{margin:0!important;font-weight:800!important;color:var(--text-primary,#0b172a)!important}
.calendarDetailList dd{margin:0!important;min-width:0!important;line-height:1.55!important;overflow-wrap:anywhere!important}
.calendarAttendeeList{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.calendarAttendee{
  display:inline-flex!important;align-items:center!important;gap:7px!important;
  padding:7px 10px!important;border:1px solid var(--border-default,#d9e4f2)!important;
  border-radius:999px!important;background:var(--surface-secondary,#f5f8fc)!important;
  color:var(--text-primary,#0b172a)!important
}
.calendarAttendee small{
  display:inline-flex!important;padding:2px 7px!important;border-radius:999px!important;
  background:var(--surface-elevated,#e8f0fa)!important;color:var(--text-secondary,#5f718a)!important;
  font-size:11px!important;font-weight:800!important
}
#calendarMeetingPrepBtn{margin:14px 0 0!important}
#calendarEventResponseActions{
  display:flex!important;justify-content:flex-end!important;gap:10px!important;
  margin-top:20px!important;padding-top:18px!important;border-top:1px solid var(--border-default,#d9e4f2)!important
}
@media(max-width:640px){
  #calendarEventModal,#calendarCreateModal{align-items:flex-start!important;padding:8px!important}
  #calendarEventModal .modalCard,#calendarCreateModal .modalCard{
    width:100%!important;max-height:calc(100dvh - 16px)!important;padding:18px!important;border-radius:20px!important
  }
  #calendarCreateForm{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  #calendarCreateForm .field,#calendarCreateForm .field.span2{grid-column:1!important}
  .calendarCreateHeading{gap:12px!important}.calendarCreateHeadingIcon{flex-basis:46px!important;width:46px!important;height:46px!important}
  #calendarCreateModal .modalHeader h3{font-size:25px!important}
  .calendarCreateActions .actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .calendarCreateActions .btn{width:100%!important;justify-content:center!important}
  .calendarDetailList>div{grid-template-columns:1fr!important;gap:5px!important;padding:12px 0!important}
  #calendarEventResponseActions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  #calendarEventResponseActions .btn,#calendarMeetingPrepBtn{
    display:flex!important;align-items:center!important;justify-content:center!important;
    width:100%!important;min-width:100%!important;max-width:none!important;box-sizing:border-box!important
  }
}
.favoriteEligible{padding-top:16px!important}.favoriteEligible>.cardActionRail:first-child{position:static!important;width:100%!important;margin:0 0 12px!important;padding:0!important}
.tabPane input,.tabPane select,.tabPane textarea,.modal input,.modal select,.modal textarea{background:var(--theme-inputBackground,var(--surface-primary,#fff))!important;color:var(--theme-inputText,var(--text-primary,#0b172a))!important;border-color:var(--theme-inputBorder,var(--border-strong,#aebfd3))!important}
.tabPane input::placeholder,.tabPane textarea::placeholder,.modal input::placeholder,.modal textarea::placeholder{color:var(--theme-inputPlaceholder,var(--text-secondary,#5f718a))!important;-webkit-text-fill-color:var(--theme-inputPlaceholder,var(--text-secondary,#5f718a))!important;opacity:1}
.notificationRow,.notificationRowV466{background:var(--surface-primary,#fff)!important;color:var(--text-primary,#0b172a)!important;border:1px solid var(--border-default,#d7e2ef)!important;border-radius:12px!important;padding:12px!important}
.notificationRow strong,.notificationRowV466 strong{color:var(--text-primary,#0b172a)!important}.notificationRow small,.notificationRow time,.notificationRowV466 small,.notificationRowV466 time{color:var(--text-secondary,#5f718a)!important}
.sideBtn,.sideSubBtn,.sideNav a{text-decoration:none!important}.sideBtn:hover,.sideSubBtn:hover,.sideNav a:hover,.sideBtn:visited,.sideSubBtn:visited,.sideNav a:visited{text-decoration:none!important}

/* Navigation must remain visually stable. Hover no longer changes geometry,
   background, border or text; active/focus states remain explicit and usable. */
.sidebar .sideBtn,.sidebar .sideSubBtn,.sidebar .sideNav a{transition:none!important;transform:none!important}
.sidebar .sideBtn:hover,.sidebar .sideSubBtn:hover,.sidebar .sideNav a:hover{background:inherit!important;border-color:transparent!important;color:inherit!important;transform:none!important;filter:none!important;box-shadow:none!important}
body .sidebar .sideBtn.active:hover,body .sidebar .sideSubBtn.active:hover{background:var(--interactive-primary,#146ce6)!important;color:var(--interactive-primary-text)!important;border-color:color-mix(in srgb,var(--interactive-primary,#146ce6),#fff 28%)!important;box-shadow:0 7px 18px color-mix(in srgb,var(--interactive-primary,#146ce6),transparent 76%)!important}
.sidebar :is(.sideBtn,.sideSubBtn).active:hover :is(span,svg){color:var(--interactive-primary-text)!important}

.qaPlanQuickControl{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border,#cbd9ea);border-radius:12px;background:var(--surface,#fff)}
.qaPlanQuickControl[hidden]{display:none!important}.qaPlanQuickControl label{font-size:12px;font-weight:800;white-space:nowrap}.qaPlanQuickControl select{min-width:170px;max-width:220px;padding:8px}
@media(max-width:900px){.qaPlanQuickControl{order:10;width:100%;flex-wrap:wrap}.qaPlanQuickControl label{width:100%}.qaPlanQuickControl select{flex:1;min-width:150px}.qaPlanQuickControl .btn{flex:1}}

/* The tenant palette is authoritative for page, panels, text and accent.
   Semantic derivatives are calculated only when contrast would otherwise fail. */
body[data-visual-system="nplus1"]{background:var(--surface-page,var(--bg))!important;color:var(--text-on-canvas,var(--text))!important}
body[data-visual-system="nplus1"] .shell{background:var(--surface-page,var(--bg))!important}
body[data-visual-system="nplus1"] :is(.panel,.card,.heroCard,.ruPreferenceCard,.clientCard,.savedKpiCard,.topbar){background:var(--theme-cardBackground,var(--surface-secondary,var(--panel)))!important;color:var(--theme-cardText,var(--text-primary,var(--text)))!important;border-color:var(--border-default,var(--line))!important}
body[data-visual-system="nplus1"] :is(.metric,.kpi){background:var(--theme-vcardBackground,var(--surface-secondary,var(--panel)))!important;color:var(--theme-vcardText,var(--text-primary,var(--text)))!important;border-color:var(--border-default,var(--line))!important}

.riCanonicalComposer{grid-template-columns:minmax(0,1fr) 44px 48px!important;gap:8px!important;align-items:center!important}
.riCanonicalVoiceButton{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:0 0 44px!important;padding:0!important;border-radius:50%!important;display:inline-grid!important;place-items:center!important;background:var(--surface-elevated,var(--panel2))!important;color:var(--interactive-primary,var(--accent))!important;border:1px solid var(--border-strong,var(--line))!important;box-shadow:none!important}
.riCanonicalVoiceButton svg{width:22px;height:22px;fill:currentColor;pointer-events:none}
.riCanonicalVoiceButton[data-listening="1"]{background:var(--interactive-primary,var(--accent))!important;color:var(--interactive-primary-text,#fff)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--interactive-primary,var(--accent)),transparent 72%)!important}
.riCanonicalVoiceButton:focus-visible{outline:3px solid color-mix(in srgb,var(--interactive-primary,var(--accent)),transparent 55%)!important;outline-offset:2px!important}
.riCanonicalVoiceButton:disabled{opacity:.48!important;cursor:not-allowed!important}

/* Calendar and activity forms use semantic surfaces in both light and dark themes. */
#tab-calendar .modal,#tab-activities .modal{background:var(--surface-primary,#fff)!important;color:var(--text-primary,#0b172a)!important}

/* Activities: scoped semantic tags and action contrast. */
#tab-activities .activityBadge{display:inline-flex!important;align-items:center;justify-content:center;max-width:100%;min-height:32px;padding:6px 11px!important;border:1px solid #9fb7d2!important;border-radius:999px!important;background:#eef5ff!important;color:#17365d!important;-webkit-text-fill-color:#17365d!important;font-weight:750!important;line-height:1.25!important;text-align:center;white-space:normal;overflow-wrap:anywhere}
#tab-activities .activityBadge--source{border-color:#7db8b3!important;background:#e8f7f5!important;color:#124c49!important;-webkit-text-fill-color:#124c49!important}
#tab-activities .activityBadge--manual{border-color:#9b83d1!important;background:#f1ecff!important;color:#49337d!important;-webkit-text-fill-color:#49337d!important}
#tab-activities .activityBadge--review{border-color:#b78618!important;background:#fff4cc!important;color:#624700!important;-webkit-text-fill-color:#624700!important}
#tab-activities .activityBadge--confirmed{border-color:#55a777!important;background:#e7f8ed!important;color:#14532d!important;-webkit-text-fill-color:#14532d!important}
#tab-activities .activityBadge--rejected{border-color:#d77a87!important;background:#ffebee!important;color:#8b1e2d!important;-webkit-text-fill-color:#8b1e2d!important}
#tab-activities .activityEditBtn{display:inline-flex!important;align-items:center;justify-content:center;min-width:76px!important;min-height:40px!important;padding:8px 14px!important;border:1px solid #1768c4!important;border-radius:10px!important;background:#eaf3ff!important;color:#0b4f9c!important;-webkit-text-fill-color:#0b4f9c!important;font-weight:800!important;box-shadow:none!important}
#tab-activities .activityEditBtn:hover,#tab-activities .activityEditBtn:focus-visible{background:#0b63ce!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#tab-activities .activityDetailTable{width:100%!important;min-width:1540px!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important}
#tab-activities .activityDetailColumns col:nth-child(1){width:9%}#tab-activities .activityDetailColumns col:nth-child(2){width:10%}#tab-activities .activityDetailColumns col:nth-child(3){width:20%}#tab-activities .activityDetailColumns col:nth-child(4){width:14%}#tab-activities .activityDetailColumns col:nth-child(5){width:13%}#tab-activities .activityDetailColumns col:nth-child(6){width:13%}#tab-activities .activityDetailColumns col:nth-child(7){width:12%}#tab-activities .activityDetailColumns col:nth-child(8){width:12%}#tab-activities .activityDetailColumns col:nth-child(9){width:10%}#tab-activities .activityDetailColumns col:nth-child(10){width:9%}
#tab-activities .activityDetailTable th,#tab-activities .activityDetailTable td{box-sizing:border-box!important;padding:16px 14px!important;vertical-align:middle!important;text-align:left!important;line-height:1.35!important;overflow-wrap:anywhere!important}
#tab-activities .activityDetailTable thead th{white-space:nowrap!important}
#tab-activities .activityDetailTable tbody tr{height:104px!important}
#tab-activities .activityDetailTable .activityCell{height:104px!important}
#tab-activities .activityDetailTable .activityCell--date,#tab-activities .activityDetailTable .activityCell--time{white-space:nowrap!important}
#tab-activities .activityDetailTable .activityCell--summary strong{display:block!important;max-width:100%!important}
#tab-activities .activityDetailTable .activityCell--actions .rowActions{display:flex!important;align-items:center!important;justify-content:flex-start!important;height:100%!important}
#tab-activities .tableWrap{max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;overscroll-behavior-inline:contain!important}

/* Public API: readable responsive scope selector instead of intrinsic checkbox rows. */
#tab-public-api #publicApiKeyForm{align-items:start}
#tab-public-api #publicApiScopes{grid-column:1/-1;min-width:0;padding:16px;border:1px solid var(--theme-cardBorder,#b8c8da);border-radius:14px;background:var(--theme-cardBackground,#fff);color:var(--theme-cardText,#0b172a)}
#tab-public-api #publicApiScopes legend{padding:0 7px;color:var(--theme-cardText,#0b172a);font-weight:800}
#publicApiScopeChoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:6px}
.publicApiScopeChoice{display:flex;align-items:center;gap:10px;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--theme-inputBorder,#a7b7c9);border-radius:11px;background:var(--theme-inputBackground,#f7faff);color:var(--theme-inputText,#12243d);font-weight:700;cursor:pointer}
.publicApiScopeChoice:hover,.publicApiScopeChoice:focus-within{border-color:var(--interactive-primary,#0b63ce);box-shadow:0 0 0 3px color-mix(in srgb,var(--interactive-primary,#0b63ce) 18%,transparent)}
.publicApiScopeChoice input{box-sizing:border-box;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;margin:0;accent-color:var(--interactive-primary,#0b63ce)}
.publicApiScopeChoice span{min-width:0;overflow-wrap:anywhere}
#tab-public-api #publicApiKeyForm>.actions{grid-column:1/-1;justify-content:flex-end}
@media(max-width:620px){#publicApiScopeChoices{grid-template-columns:1fr}}

/* Calendar import: the modal owns its palette so portal theme tokens cannot
   produce near-white text on a white processing surface. */
.processModal{background:#fff!important;color:#10233f!important;-webkit-text-fill-color:currentColor}
.processModal .processHeader{color:#10233f!important}.processModal .processHeader .eyebrow{color:#075fc4!important}.processModal .processHeader h3{color:#071a33!important}.processModal .processHeader p{color:#475569!important}
.processModal :is(#processLabel,#processPercent){color:#17365d!important}
.processModal .processTrack{background:#dfe8f2!important}.processModal .processFill{background:linear-gradient(90deg,#16a67f,#1688e8)!important}
.processModal .processStep{border-color:#b8c8da!important;background:#f4f8fc!important;color:#10233f!important;-webkit-text-fill-color:#10233f!important}
.processModal .processStep small{color:#475569!important;-webkit-text-fill-color:#475569!important}
.processModal .processStepIcon{background:#dbeafe!important;color:#174a88!important;-webkit-text-fill-color:#174a88!important;font-weight:800}
.processModal .processStep.active{border-color:#287dcc!important;background:#eaf4ff!important}.processModal .processStep.done{border-color:#57a979!important;background:#e9f8ef!important}.processModal .processStep.done .processStepIcon{background:#176a3b!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.processModal .processResult{border-color:#5f9f77!important;background:#e9f8ef!important;color:#164e2d!important;-webkit-text-fill-color:#164e2d!important}
#tab-calendar .calendarDay,#tab-calendar .calendarEvent,#tab-calendar .calendarGrid{border-color:var(--border-default,#d7e2ef)!important}

@media(max-width:760px){.revupHelpDefinition{grid-template-columns:1fr}.revupHelpDefinition dt{border-bottom:0;padding-bottom:3px}.revupHelpDefinition dd{padding-top:3px}.sectionTitle{display:flex!important}.cardActionRail,.revupHelpActionRail{width:auto!important}}
@media(max-width:760px){.revupFixedLogoLink img{height:74px!important;max-width:200px!important}.revupHeaderLogo{flex:0 0 48px!important;width:48px!important;min-width:48px!important;max-width:48px!important;height:48px!important}.revupHeaderLogo img{width:auto!important;height:42px!important;max-width:42px!important}.brandingPreviewLogo{height:clamp(132px,42vw,188px)!important}#brandingPreviewLogo.brandingPreviewLogo img{width:min(220px,82%)!important;height:min(150px,82%)!important}.brandingPreviewComponents{grid-template-columns:1fr}.brandingPreviewButton{width:100%}}

/* Legacy intelligence and operation overlays consume the same semantic
   surface contract in branding and dark modes. */
body[data-visual-system="nplus1"] :is(.riPageHeader,.riKpiCard,.riClientHero,.processModal,.opsDetailModal,.kanbanModalForm,.opportunityChecklist,.oppCommentsList article){background:var(--surface-secondary,var(--panel))!important;color:var(--text-primary,var(--text))!important;border-color:var(--border-default,var(--line))!important}
body[data-visual-system="nplus1"] :is(.riPageHeader,.riKpiCard,.riClientHero,.processModal,.opsDetailModal,.kanbanModalForm,.opportunityChecklist,.oppCommentsList article) :is(h1,h2,h3,h4,strong,label,legend){color:var(--text-primary,var(--text))!important}
body[data-visual-system="nplus1"] :is(.riPageHeader,.riKpiCard,.riClientHero,.processModal,.opsDetailModal,.kanbanModalForm,.opportunityChecklist,.oppCommentsList article) :is(p,span,small,em){color:var(--text-secondary,var(--muted))!important}
body[data-visual-system="nplus1"] :is(.processModal,.opsDetailModal) :is(input,select,textarea){background:var(--theme-inputBackground,var(--surface-elevated,var(--panel2)))!important;color:var(--theme-inputText,var(--text-primary,var(--text)))!important;-webkit-text-fill-color:var(--theme-inputText,var(--text-primary,var(--text)))!important;border-color:var(--theme-inputBorder,var(--border-strong,var(--line)))!important}
.opsDetailModal,.processModal{width:min(920px,calc(100vw - 32px))!important;max-height:calc(100dvh - 32px)!important;overflow:auto!important}
.processModal>.modalHeader,.opsDetailModal>.modalHeader{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important}
@media(max-width:640px){.opsDetailModal,.processModal{width:100%!important;max-height:calc(100dvh - 12px)!important;border-radius:18px 18px 0 0!important}}

/* Revenue OS owns an accessible palette for AI output and approval editing.
   Tenant branding remains available around these surfaces without being able
   to collapse foreground and background into the same color. */
body[data-visual-system="nplus1"] #tab-revenueos .revenueCopilotResult{
  background:#f3f8ff!important;color:#10233f!important;-webkit-text-fill-color:#10233f!important;
  border:1px solid #91b8e4!important;border-radius:14px!important;padding:16px!important;
  line-height:1.55!important;overflow-wrap:anywhere!important;
}
body[data-visual-system="nplus1"][data-theme-mode="dark"] #tab-revenueos .revenueCopilotResult{
  background:#102840!important;color:#f5f9ff!important;-webkit-text-fill-color:#f5f9ff!important;border-color:#5e92c4!important;
}
body[data-visual-system="nplus1"] .opsDetailModal:has(.revenueApprovalEditor){background:#fff!important;color:#10233f!important;-webkit-text-fill-color:#10233f!important;border-color:#9db6d1!important}
body[data-visual-system="nplus1"] .opsDetailModal:has(.revenueApprovalEditor) :is(h2,h3,strong,label,legend){color:#10233f!important;-webkit-text-fill-color:#10233f!important}
body[data-visual-system="nplus1"] .opsDetailModal:has(.revenueApprovalEditor) :is(p,small,span){color:#405875!important;-webkit-text-fill-color:#405875!important}
body[data-visual-system="nplus1"] #opsDetailBody .revenueApprovalEditor :is(input,select,textarea){background:#fff!important;color:#10233f!important;-webkit-text-fill-color:#10233f!important;border-color:#8098b2!important}
body[data-visual-system="nplus1"] .revenueApprovalEditor .roRow{background:#f3f7fc!important;color:#10233f!important;border:1px solid #b8c9dc!important}
body[data-visual-system="nplus1"] .revenueApprovalEditor hr{border:0!important;border-top:1px solid #b8c9dc!important;margin:16px 0!important}
body[data-visual-system="nplus1"][data-theme-mode="dark"] .opsDetailModal:has(.revenueApprovalEditor){background:#10233a!important;color:#f5f9ff!important;-webkit-text-fill-color:#f5f9ff!important;border-color:#6688ad!important}
body[data-visual-system="nplus1"][data-theme-mode="dark"] .opsDetailModal:has(.revenueApprovalEditor) :is(h2,h3,strong,label,legend){color:#f5f9ff!important;-webkit-text-fill-color:#f5f9ff!important}
body[data-visual-system="nplus1"][data-theme-mode="dark"] .opsDetailModal:has(.revenueApprovalEditor) :is(p,small,span){color:#d3e2f2!important;-webkit-text-fill-color:#d3e2f2!important}
body[data-visual-system="nplus1"][data-theme-mode="dark"] #opsDetailBody .revenueApprovalEditor :is(input,select,textarea){background:#fff!important;color:#10233f!important;-webkit-text-fill-color:#10233f!important;border-color:#8ba6c2!important}
body[data-visual-system="nplus1"][data-theme-mode="dark"] .revenueApprovalEditor .roRow{background:#173552!important;color:#f5f9ff!important;border-color:#6688ad!important}
body[data-visual-system="nplus1"] .revenueApprovalEditor{min-width:0}.revenueApprovalEditor .grid2>*{min-width:0}.revenueApprovalEditor .roRow{min-width:0;overflow-wrap:anywhere}
.revenueApprovalEditor .revenueApprovalSave,
.revenueApprovalEditor .revenueApprovalSave:hover,
.revenueApprovalEditor .revenueApprovalSave:active,
.revenueApprovalEditor .revenueApprovalSave:focus-visible,
.revenueApprovalEditor .revenueApprovalSave:disabled{color:#fff!important;-webkit-text-fill-color:#fff!important}
.revenueApprovalEditor .revenueApprovalSave:focus-visible{outline:3px solid #8bc5ff!important;outline-offset:3px!important}
.revenueApprovalEditor .revenueApprovalSave:disabled{opacity:.68!important;cursor:not-allowed!important}
@media(max-width:640px){body[data-visual-system="nplus1"] .revenueApprovalEditor .grid2{grid-template-columns:1fr!important}}
/* Final semantic bridge: tenant Branding tokens must win over legacy N+1
   palette constants for rendered cards and primary actions. */
body[data-visual-system="nplus1"] .tabPane.active :is(.panel,.heroCard,.card,.kpi,.metric,.statMini,.qualityMetric,.savedKpiCard){
  color:var(--text-primary)!important;
}
body[data-visual-system="nplus1"] :is(.btn.primary,button.primary,#newBtn){
  background:var(--interactive-primary)!important;
  border-color:var(--interactive-primary)!important;
  color:var(--interactive-primary-text)!important;
}

/* Revenue OS: keep the Waterfall and Forecast Accuracy cards on one baseline. */
body[data-visual-system="nplus1"] #tab-revenueos :is(.revenueForecastPair,.revenuePipelinePair,.revenueAlignedPair){
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}
body[data-visual-system="nplus1"] #tab-revenueos :is(.revenueForecastPair,.revenuePipelinePair,.revenueAlignedPair)>.panel{
  align-self:stretch!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
}
body[data-visual-system="nplus1"] #tab-revenueos :is(.revenueForecastPair,.revenuePipelinePair,.revenueAlignedPair)>.panel>.sectionTitle{
  flex:0 0 auto;
  min-height:58px;
  margin:0 0 14px!important;
  align-items:flex-start!important;
}
body[data-visual-system="nplus1"] #tab-revenueos :is(.revenueForecastPair,.revenuePipelinePair)>:is(.panel)>:is(#revenueWaterfall,#forecastAccuracy,#pipelineCoverage,#pipelineHygiene,#pipelineIntegrity){
  flex:1 1 auto;
  min-height:0;
}
@media(max-width:820px){
  body[data-visual-system="nplus1"] #tab-revenueos :is(.revenueForecastPair,.revenuePipelinePair,.revenueAlignedPair){grid-auto-rows:auto!important}
  body[data-visual-system="nplus1"] #tab-revenueos :is(.revenueForecastPair,.revenuePipelinePair,.revenueAlignedPair)>.panel{height:auto!important}
  body[data-visual-system="nplus1"] #tab-revenueos :is(.revenueForecastPair,.revenuePipelinePair,.revenueAlignedPair)>.panel>.sectionTitle{min-height:0}
}

/* Client 360 sections must remain visually distinct even when global panel
   normalization removes margins between adjacent cards. */
body[data-visual-system="nplus1"] #tab-client360 .client360SeparatedPanel{
  margin-top:18px!important;
}
@media(max-width:820px){
  body[data-visual-system="nplus1"] #tab-client360 .client360SeparatedPanel{margin-top:14px!important}
}

/* New follow-up keeps a deliberately dark surface. Its headings, field
   labels and helper copy therefore use the on-dark palette independently of
   the tenant's light-theme text tokens. Form controls remain light. */
body[data-visual-system="nplus1"] #followupBackdrop>.modal{
  background:#0d1b2a!important;
  color:#fff!important;
  border-color:#587592!important;
}
body[data-visual-system="nplus1"] #followupBackdrop>.modal :is(h3,label){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body[data-visual-system="nplus1"] #followupBackdrop>.modal :is(.modalHeader small,.followupClientLockNote){
  color:#d9e8f7!important;
  -webkit-text-fill-color:#d9e8f7!important;
  opacity:1!important;
}
body[data-visual-system="nplus1"] #followupBackdrop>.modal :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:#fff!important;
  color:#0b172a!important;
  -webkit-text-fill-color:#0b172a!important;
  border-color:#9eb9d5!important;
}
body[data-visual-system="nplus1"] #followupBackdrop>.modal :is(input,textarea)::placeholder{
  color:#60738d!important;
  -webkit-text-fill-color:#60738d!important;
  opacity:1!important;
}

/* New/edit activity uses the same dark dialog surface as follow-up. Keep all
   instructional copy readable without changing the light form controls. */
body[data-visual-system="nplus1"] #modalBackdrop>.modal{
  background:#0d1b2a!important;
  color:#fff!important;
  border-color:#587592!important;
}
body[data-visual-system="nplus1"] #modalBackdrop>.modal :is(#modalTitle,.field>label){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body[data-visual-system="nplus1"] #modalBackdrop>.modal :is(.fieldHelp,.field>small){
  color:#d9e8f7!important;
  -webkit-text-fill-color:#d9e8f7!important;
  opacity:1!important;
}
body[data-visual-system="nplus1"] #modalBackdrop>.modal :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:#fff!important;
  color:#0b172a!important;
  -webkit-text-fill-color:#0b172a!important;
  border-color:#9eb9d5!important;
}
body[data-visual-system="nplus1"] #modalBackdrop>.modal :is(input,textarea)::placeholder{
  color:#60738d!important;
  -webkit-text-fill-color:#60738d!important;
  opacity:1!important;
}

/* Client contact create/edit dialog also uses a dark surface. Scope the
   on-dark palette to headings, helper copy and field labels while preserving
   the existing dark text inside its white controls and option tiles. */
#clientContactBackdrop>.clientContactModal{
  background:#0d1b2a!important;
  color:#fff!important;
  border-color:#587592!important;
}
#clientContactBackdrop>.clientContactModal :is(#clientContactModalTitle,.clientContactForm>.field>label){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#clientContactBackdrop>.clientContactModal .modalHeader small{
  color:#d9e8f7!important;
  -webkit-text-fill-color:#d9e8f7!important;
  opacity:1!important;
}
#clientContactBackdrop>.clientContactModal :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:#fff!important;
  color:#0b172a!important;
  -webkit-text-fill-color:#0b172a!important;
  border-color:#9eb9d5!important;
}
#clientContactBackdrop>.clientContactModal :is(input,textarea)::placeholder{
  color:#60738d!important;
  -webkit-text-fill-color:#60738d!important;
  opacity:1!important;
}
#clientContactBackdrop>.clientContactModal .contactFlagGrid label{
  color:#0b172a!important;
  -webkit-text-fill-color:#0b172a!important;
}

/* Clients · canonical contact editor approved 2026-10-06. */
#clientContactBackdrop{padding:18px;background:rgba(15,23,42,.38)!important;align-items:center!important}
#clientContactBackdrop>.clientContactModal{
  width:min(1300px,calc(100vw - 36px))!important;
  max-height:calc(100vh - 36px)!important;
  padding:0!important;
  overflow:auto!important;
  background:#fff!important;
  color:#10233f!important;
  border:1px solid #dbe7f3!important;
  border-radius:24px!important;
  box-shadow:0 24px 70px rgba(24,53,91,.22)!important;
}
#clientContactBackdrop>.clientContactModal .clientContactHero{
  display:grid!important;grid-template-columns:80px 1fr 54px;align-items:center;gap:18px;
  padding:26px 28px 20px!important;border:0!important;background:#fff!important;
}
#clientContactBackdrop>.clientContactModal .clientContactHero h3{margin:0 0 3px!important;font-size:34px!important;line-height:1.1!important;color:#10233f!important;-webkit-text-fill-color:#10233f!important}
#clientContactBackdrop>.clientContactModal #clientContactModalTitle{color:#10233f!important;-webkit-text-fill-color:#10233f!important}
#clientContactBackdrop>.clientContactModal .clientContactHero small{font-size:17px!important;color:#6c7f99!important;-webkit-text-fill-color:#6c7f99!important}
#clientContactBackdrop>.clientContactModal .clientContactClose{width:54px;height:54px;padding:0!important;border-radius:12px!important;background:#f6f9fc!important;border:1px solid #cfdeec!important;color:#24364f!important;font-size:24px!important}
#clientContactBackdrop>.clientContactModal .clientContactIcon{width:64px;height:64px;display:grid;place-items:center;flex:0 0 64px;border-radius:50%;background:#dfedff;color:#0d67e8;font-size:30px;font-weight:900}
#clientContactBackdrop>.clientContactModal .clientContactPersonIcon{font-size:0}
#clientContactBackdrop>.clientContactModal .clientContactPersonIcon::before{content:'●';font-size:20px;line-height:1;transform:translateY(-7px)}
#clientContactBackdrop>.clientContactModal .clientContactPersonIcon::after{content:'';position:absolute;width:27px;height:14px;border-radius:18px 18px 7px 7px;background:#0d67e8;transform:translateY(11px)}
#clientContactBackdrop>.clientContactModal .clientContactPersonIcon{position:relative}
#clientContactBackdrop>.clientContactModal .clientContactContext{margin:0 24px 18px;padding:16px 20px;display:grid;grid-template-columns:68px 1fr auto;align-items:center;gap:16px;border-radius:14px;background:#edf5ff;color:#10233f}
#clientContactBackdrop>.clientContactModal .clientContactContext .clientContactIcon{width:54px;height:54px;flex-basis:54px;font-size:27px;background:#d3e6ff}
#clientContactBackdrop>.clientContactModal .clientContactContext small,#clientContactBackdrop>.clientContactModal .clientContactContext strong{display:block}
#clientContactBackdrop>.clientContactModal .clientContactContext small{font-size:14px;font-weight:800;color:#314968}
#clientContactBackdrop>.clientContactModal .clientContactContext strong{font-size:21px;color:#10233f}
#clientContactBackdrop>.clientContactModal .clientContactContext>span:last-child{color:#71839b;font-size:15px}
#clientContactBackdrop>.clientContactModal .clientContactIdentity{margin:0 24px 18px;padding:14px 18px;display:grid;grid-template-columns:82px 1fr auto;align-items:center;gap:16px;border:1px solid #cfe0f2;border-radius:14px;background:#fff;color:#10233f}
#clientContactBackdrop>.clientContactModal .contactCanonicalAvatar{width:76px;height:76px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#dfedff;color:#0d67e8;font-size:28px;font-weight:900}
#clientContactBackdrop>.clientContactModal :is(.contactCanonicalAvatar,.contactAvatar) img{width:100%;height:100%;object-fit:cover;display:block}
.contactAvatar{overflow:hidden}.contactAvatar img{width:100%;height:100%;object-fit:cover;display:block}
#clientContactBackdrop>.clientContactModal .clientContactIdentity strong,#clientContactBackdrop>.clientContactModal .clientContactIdentity small{display:block}.clientContactIdentity small{color:#70839b;margin-top:4px}.clientContactIdentity p{min-height:18px;margin:4px 0 0;color:#526982}
#clientContactBackdrop>.clientContactModal .contactIdentityActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.contactIdentityActions .btn{white-space:nowrap}
#clientContactBackdrop>.clientContactModal .clientContactSection{margin:0 24px 16px;padding:16px 20px;border-radius:16px;background:#f6f9fc;color:#10233f}
#clientContactBackdrop>.clientContactModal .clientContactSection>header{display:flex;align-items:center;gap:14px;margin-bottom:12px}
#clientContactBackdrop>.clientContactModal .clientContactSection>header .clientContactIcon{width:54px;height:54px;flex-basis:54px;font-size:24px}
#clientContactBackdrop>.clientContactModal .clientContactSection h4{margin:0;font-size:20px;color:#10233f}
#clientContactBackdrop>.clientContactModal .clientContactSection header small{display:block;margin-top:2px;font-size:14px;color:#70839b}
#clientContactBackdrop>.clientContactModal .clientContactSectionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
#clientContactBackdrop>.clientContactModal .field{display:grid;gap:6px}
#clientContactBackdrop>.clientContactModal .field label{font-size:15px;font-weight:800;color:#10233f!important;-webkit-text-fill-color:#10233f!important}
#clientContactBackdrop>.clientContactModal .field label em{color:#c43446;font-style:normal}
#clientContactBackdrop>.clientContactModal :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){width:100%;min-height:48px;padding:10px 14px!important;border:1px solid #b9c9da!important;border-radius:9px!important;background:#fff!important;color:#10233f!important;-webkit-text-fill-color:#10233f!important;font-size:16px!important;box-sizing:border-box}
#clientContactBackdrop>.clientContactModal .clientContactTypes .contactFlagGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
#clientContactBackdrop>.clientContactModal .contactFlagGrid label{min-height:64px;justify-content:center;gap:16px;padding:10px 14px!important;border:1px solid #c4d1df!important;border-radius:10px!important;background:#fff!important;font-size:15px;font-weight:800;cursor:pointer}
#clientContactBackdrop>.clientContactModal .contactFlagGrid label:has(input:checked){border-color:#1970ee!important;background:#f1f6ff!important;box-shadow:0 0 0 1px #1970ee inset}
#clientContactBackdrop>.clientContactModal .contactFlagGrid input{appearance:none;width:30px;height:30px;margin:0;border:1px solid #aebdce;border-radius:5px;background:#fff;display:grid;place-items:center;cursor:pointer}
#clientContactBackdrop>.clientContactModal .contactFlagGrid input:checked{background:#1469e8;border-color:#1469e8}
#clientContactBackdrop>.clientContactModal .contactFlagGrid input:checked::after{content:'✓';color:#fff;font-size:24px;font-weight:900;line-height:1}
#clientContactBackdrop>.clientContactModal .clientContactNotes{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:14px;background:#fff;padding-top:0}
#clientContactBackdrop>.clientContactModal .clientContactNotes>header{margin:0;min-width:70px}
#clientContactBackdrop>.clientContactModal .clientContactNotes textarea{min-height:88px!important;resize:vertical}
#clientContactBackdrop>.clientContactModal .modalActions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:12px;padding:16px 24px!important;background:rgba(255,255,255,.96)!important;border-top:1px solid #dbe7f3!important;backdrop-filter:blur(8px)}
#clientContactBackdrop>.clientContactModal .modalActions .btn{min-height:52px;padding:0 28px!important;border-radius:10px!important;font-size:16px!important;font-weight:800!important}
#clientContactBackdrop>.clientContactModal .modalActions .primary{background:#1267df!important;color:#fff!important;border-color:#1267df!important}
@media(max-width:760px){
 #clientContactBackdrop{padding:8px}
 #clientContactBackdrop>.clientContactModal{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;border-radius:16px!important}
 #clientContactBackdrop>.clientContactModal .clientContactHero{grid-template-columns:54px 1fr 44px;padding:18px 16px 14px!important;gap:10px}
 #clientContactBackdrop>.clientContactModal .clientContactHero h3{font-size:24px!important}
 #clientContactBackdrop>.clientContactModal .clientContactHero small{font-size:14px!important}
 #clientContactBackdrop>.clientContactModal .clientContactIcon{width:48px;height:48px;flex-basis:48px}
 #clientContactBackdrop>.clientContactModal .clientContactContext{margin:0 12px 12px;padding:12px;grid-template-columns:50px 1fr}
 #clientContactBackdrop>.clientContactModal .clientContactContext>span:last-child{display:none}
 #clientContactBackdrop>.clientContactModal .clientContactIdentity{margin:0 12px 12px;grid-template-columns:62px 1fr}.contactIdentityActions{grid-column:1/-1;justify-content:stretch!important}.contactIdentityActions .btn{flex:1}
 #clientContactBackdrop>.clientContactModal .clientContactSection{margin:0 12px 12px;padding:14px}
 #clientContactBackdrop>.clientContactModal .clientContactSectionGrid{grid-template-columns:1fr}
 #clientContactBackdrop>.clientContactModal .clientContactTypes .contactFlagGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #clientContactBackdrop>.clientContactModal .clientContactNotes{grid-template-columns:1fr}
 #clientContactBackdrop>.clientContactModal .clientContactNotes>header{min-width:0}
 #clientContactBackdrop>.clientContactModal .modalActions{padding:12px!important}
 #clientContactBackdrop>.clientContactModal .modalActions .btn{flex:1;padding:0 12px!important}
}

/* Notification center: use one dark, high-contrast visual language for the
   panel and its records. Action buttons remain light for clear affordance. */
body[data-visual-system="nplus1"] #notificationPanel{
  background:#0b1928!important;
  color:#fff!important;
  border-color:#587592!important;
}

/* AI consumption must use bar-chart geometry from its first render. */
#tab-ai-consumption #openaiUsageChart:not(:has(.openaiZeroState)){
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(72px,1fr)!important;
  align-items:end!important;
  gap:8px!important;
  min-height:320px!important;
  height:320px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
#tab-ai-consumption #openaiUsageChart .spendBarCol{min-width:72px!important;width:auto!important}
#tab-ai-consumption #openaiUsageChart .spendBarCol :is(.spendBarValue,small){white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.openaiUserUsageTotals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.openaiUserUsageTotals>article{display:grid;gap:6px;min-height:86px;padding:14px 16px;border:1px solid var(--border-default,var(--line));border-radius:14px;background:var(--surface-elevated,var(--panel));color:var(--text-primary,var(--text));box-sizing:border-box}
.openaiUserUsageTotals span{color:var(--text-secondary,var(--muted));font-size:13px;font-weight:750}
.openaiUserUsageTotals strong{font-size:clamp(20px,2vw,28px);line-height:1.15;overflow-wrap:anywhere}
#openaiUserUsageTable tfoot{display:table-footer-group!important}
#openaiUserUsageTable tfoot th{font-weight:850!important;border-top:2px solid var(--border-strong,var(--line))!important;background:var(--surface-elevated,var(--panel2))!important}
@media(max-width:680px){.openaiUserUsageTotals{grid-template-columns:1fr}.openaiUserUsageTotals>article{min-height:76px}}
body[data-visual-system="nplus1"] #notificationPanel :is(.sectionTitle h3,.sectionTitle small){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
}
body[data-visual-system="nplus1"] #notificationPanel :is(.notificationRow,.notificationRowV466){
  background:#10263a!important;
  color:#fff!important;
  border-color:#3f5f7d!important;
}
body[data-visual-system="nplus1"] #notificationPanel :is(.notificationRow,.notificationRowV466) :is(strong,small,time){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
}
body[data-visual-system="nplus1"] #notificationPanel :is(.notificationRow,.notificationRowV466).read{opacity:.84!important}
body[data-visual-system="nplus1"] #notificationPanel :is(#markNotificationsRead,.notificationActionBtn,.notificationResolveBtn){
  background:#fff!important;
  color:#0b172a!important;
  -webkit-text-fill-color:#0b172a!important;
  border-color:#c8d9ea!important;
}
body[data-visual-system="nplus1"] #notificationPanel #closeNotificationPanel{
  background:#10263a!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#c8d9ea!important;
}

/* Dynamic Analysis uses light drag-and-drop cards. Keep their text dark;
   feature-specific button and state colors continue to come from its own CSS. */
body[data-visual-system="nplus1"] #tab-pivot :is(.pivotFieldPool,.pivotDropZone,.pivotZoneItems,.pivotFieldCard,.pivotChip){
  color:#213957!important;
}

/* Keep both dynamic-analysis outputs on the same baseline and height. This
   scoped rule intentionally overrides legacy generic grid alignment rules. */
body[data-visual-system="nplus1"] #tab-pivot .pivotResultsGrid{
  display:grid!important;
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}
body[data-visual-system="nplus1"] #tab-pivot .pivotResultsGrid>.pivotResultPanel{
  height:100%!important;
  min-height:420px!important;
  margin:0!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
}
body[data-visual-system="nplus1"] #tab-pivot .pivotResultPanel>.sectionTitle{
  min-height:58px!important;
  align-items:flex-start!important;
}
body[data-visual-system="nplus1"] #tab-pivot :is(.pivotTableWrap,#pivotChartArea){
  flex:1 1 auto!important;
  min-height:260px!important;
}
@media(max-width:900px){
  body[data-visual-system="nplus1"] #tab-pivot .pivotResultsGrid>.pivotResultPanel{min-height:340px!important}
}
/* Client maintenance status pills sit on a dark header and require a fixed,
   theme-independent foreground for readable contrast. */
#clientsAccordion .clientCardHead .clientHeaderBadge{color:#fff!important}

/* Roles and services: align each control with a full-width readable label. */
#tab-roles .permissionGrid{display:grid!important;grid-template-columns:repeat(3,minmax(210px,1fr))!important;gap:10px!important;align-items:stretch!important}
#tab-roles .permissionGrid>label{display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;align-items:center!important;justify-content:start!important;gap:10px!important;width:100%!important;min-width:0!important;min-height:52px!important;box-sizing:border-box!important;text-align:left!important}
#tab-roles .permissionGrid>label>input{width:20px!important;height:20px!important;margin:0!important;justify-self:center!important}
#tab-roles .permissionGrid>label>span{min-width:0!important;line-height:1.3!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}
@media(max-width:1100px){#tab-roles .permissionGrid{grid-template-columns:repeat(2,minmax(210px,1fr))!important}}
@media(max-width:700px){#tab-roles .permissionGrid{grid-template-columns:1fr!important}}

/* RIVA is a self-contained light assistant surface. Tenant dark tokens must
   not produce white labels on its white canvas. */
.riCanonicalRiva.riGlobalRivaPanel{background:#fff!important;color:#17202b!important;border-color:#d4deeb!important}
.riGlobalRivaPanel .riCanonicalRivaHeader h2{color:var(--interactive-primary,#0871e8)!important;-webkit-text-fill-color:var(--interactive-primary,#0871e8)!important}
.riGlobalRivaPanel .riCanonicalRivaHeader p{color:#6b7f9d!important;-webkit-text-fill-color:#6b7f9d!important}
.riGlobalRivaPanel .rivaDisplaySettings{background:#f7faff!important;color:#17202b!important;border-color:#d4deeb!important}
.riGlobalRivaPanel .rivaDisplaySettings label{color:var(--interactive-primary,#0871e8)!important;-webkit-text-fill-color:var(--interactive-primary,#0871e8)!important;opacity:1!important}
.riGlobalRivaPanel .riCanonicalRivaBody{background:#fff!important;color:#17202b!important;border-color:#d4deeb!important}
.riGlobalRivaPanel .riCanonicalRivaBody :is(h3,strong,p,li){-webkit-text-fill-color:currentColor!important;opacity:1!important}
.riGlobalRivaPanel :is(.riCanonicalVoiceStatus,.riCanonicalNewConversation){color:#475467!important;-webkit-text-fill-color:#475467!important}

/* My Day: every two-card row owns one shared baseline and equal card height. */
#tab-myday .myDayGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important;grid-auto-rows:1fr!important;margin:18px 0!important}
#tab-myday .myDayGrid>.panel{display:flex!important;flex-direction:column!important;align-self:stretch!important;height:auto!important;min-height:210px!important;margin:0!important;transform:none!important;box-sizing:border-box!important}
#tab-myday .myDayGrid>.panel>.sectionTitle{flex:0 0 auto!important;min-height:62px!important;margin:0 0 14px!important;align-items:flex-start!important}
#tab-myday .myDayGrid>.panel>:last-child{flex:1 1 auto!important;min-width:0!important}
#tab-myday .myDayGrid>.panel>:last-child>.notice,#tab-myday .myDayGrid>.panel>.notice{width:100%!important;box-sizing:border-box!important;margin:0!important}
@media(max-width:1100px){#tab-myday .myDayGrid{grid-template-columns:1fr!important;grid-auto-rows:auto!important}#tab-myday .myDayGrid>.panel{min-height:0!important}#tab-myday .myDayGrid>.panel>.sectionTitle{min-height:0!important}}

/* Workflows already provides contextual RIVA help in its lower dock. Keep the
   global launcher available everywhere else without covering workflow tools. */
body[data-active-tab="workflows"] .riGlobalRivaLauncher,
body[data-active-tab="workflows"] .riGlobalRivaPanel{display:none!important}

/* Final calendar-process precedence: generic N+1 surface rules above are
   intentionally broad, so the light processing dialog closes the cascade. */
body[data-visual-system="nplus1"] .processModal #processTitle{color:#071a33!important;-webkit-text-fill-color:#071a33!important}
body[data-visual-system="nplus1"] .processModal #processSubtitle{color:#475569!important;-webkit-text-fill-color:#475569!important}
body[data-visual-system="nplus1"] .processModal .processHeader .eyebrow{color:#075fc4!important;-webkit-text-fill-color:#075fc4!important}
.clientKamBulkPanel{margin-top:18px!important;border-color:color-mix(in srgb,var(--brand-primary,#1266d6) 32%,var(--border,#dbe4ef))!important;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary,#1266d6) 6%,var(--surface,#fff)),var(--surface,#fff) 56%)}
.clientKamBulkGrid{display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr) auto auto;gap:12px;align-items:end}.clientKamBulkArrow{align-self:center;color:var(--brand-primary,#1266d6);font-size:24px;font-weight:800}.clientKamBulkResult{min-height:28px;margin-top:10px;font-weight:700;color:var(--muted,#586b82)}.clientKamBulkResult.ready{color:var(--brand-primary,#1266d6)}.clientKamBulkResult.success{color:#16794b}.clientKamBulkResult.error{color:#a61b2b}
@media(max-width:900px){.clientKamBulkGrid{grid-template-columns:1fr}.clientKamBulkArrow{display:none}.clientKamBulkGrid .btn{width:100%}}
.rolePermissionList[data-expanded="0"]>label:nth-of-type(n+11){display:none!important}
.rolePermissionDisclosure{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.65rem}
.rolePermissionDisclosure small{color:var(--muted,#64748b)}
/* Calendar markup is rendered before every deferred enhancement has finished.
   Keep the canonical seven-column month layout in the final stylesheet layer
   so legacy tenant/theme CSS cannot demote it to normal block flow. */
.calendarWeekdays,.calendarMonthCells{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;min-width:840px}
.calendarMonthCells{grid-auto-rows:minmax(118px,1fr)}

/* Activities · canonical create/edit modal approved 2026-10-06. */
#modalBackdrop{padding:12px!important;background:rgba(15,23,42,.42)!important;align-items:center!important}
body[data-visual-system="nplus1"] #modalBackdrop>.activityEditorModal{
  width:min(1000px,calc(100vw - 24px))!important;
  max-height:calc(100vh - 24px)!important;
  padding:0!important;
  overflow:auto!important;
  background:#fff!important;
  color:#10233f!important;
  border:1px solid #dbe7f3!important;
  border-radius:24px!important;
  box-shadow:0 24px 70px rgba(15,35,68,.2)!important;
}
.activityEditorHero{display:grid;grid-template-columns:68px minmax(0,1fr) 48px;align-items:center;gap:16px;padding:24px 30px 18px}
.activityEditorHeroIcon,.activityEditorSectionIcon{display:grid;place-items:center;color:#0871e8;background:#eaf4ff;border:1px solid #cfe4fb;border-radius:16px}
.activityEditorHeroIcon{width:68px;height:68px}
.activityEditorHeroIcon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body[data-visual-system="nplus1"] #modalBackdrop>.activityEditorModal #modalTitle{margin:0!important;color:#0b2344!important;-webkit-text-fill-color:#0b2344!important;font-size:34px!important;line-height:1.08!important;letter-spacing:-.02em!important}
.activityEditorHero p{margin:6px 0 0;color:#667b98;font-size:17px;line-height:1.35}
.activityEditorClose{align-self:start;width:48px!important;height:48px!important;border:0!important;border-radius:12px!important;background:#f1f5f9!important;color:#536781!important;font-size:22px!important}
.activityEditorBody{display:grid;gap:16px;padding:0 30px 16px}
.activityEditorSection{overflow:hidden;border:1px solid #d7e6f4;border-radius:16px;background:#f8fbfe}
.activityEditorSectionHeader{display:flex;align-items:center;gap:14px;padding:10px 18px;background:linear-gradient(90deg,#edf6ff,#f8fbfe)}
.activityEditorSectionIcon{flex:0 0 48px;width:48px;height:48px;border-radius:13px}
.activityEditorSectionIcon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body[data-visual-system="nplus1"] #modalBackdrop>.activityEditorModal .activityEditorSectionHeader h4{margin:0;color:#0b3979!important;-webkit-text-fill-color:#0b3979!important;font-size:19px;line-height:1.2}
.activityEditorSectionHeader p{margin:2px 0 0;color:#657995;font-size:14px;line-height:1.3}
.activityEditorGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 28px!important;padding:14px 20px 18px!important}
.activityEditorGrid>.field{min-width:0!important;display:flex;flex-direction:column!important;gap:7px!important}
.activityEditorGrid>.activityEditorSpan2{grid-column:1/-1!important}
body[data-visual-system="nplus1"] #modalBackdrop#modalBackdrop>.activityEditorModal .activityEditorGrid>.field>label:not(.kamClearCard){color:#10233f!important;-webkit-text-fill-color:#10233f!important;font-size:14px!important;font-weight:800!important}
body[data-visual-system="nplus1"] #modalBackdrop>.activityEditorModal .activityEditorGrid :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){width:100%!important;box-sizing:border-box!important;background:#fff!important;color:#10233f!important;-webkit-text-fill-color:#10233f!important;border:1px solid #b9ccdf!important;border-radius:10px!important;box-shadow:0 1px 2px rgba(15,35,68,.04)!important}
body[data-visual-system="nplus1"] #modalBackdrop>.activityEditorModal .activityEditorGrid :is(input:not([type="checkbox"]):not([type="radio"]),select:not([multiple])){min-height:50px!important;padding:10px 14px!important}
body[data-visual-system="nplus1"] #modalBackdrop>.activityEditorModal #fProducts{min-height:142px!important;padding:8px 12px!important}
body[data-visual-system="nplus1"] #modalBackdrop>.activityEditorModal #fNotes{min-height:80px!important;padding:12px 14px!important;resize:vertical!important}
body[data-visual-system="nplus1"] #modalBackdrop>.activityEditorModal :is(.fieldHelp,.field>small){color:#6d809b!important;-webkit-text-fill-color:#6d809b!important;font-size:13px!important;opacity:1!important}
.activityEditorNotesGrid{padding-top:10px!important}
.activityEditorActions{position:sticky;bottom:0;z-index:2;margin:0!important;padding:16px 30px!important;background:rgba(255,255,255,.96)!important;border-top:1px solid #dbe7f3!important;backdrop-filter:blur(8px)}
.activityEditorActions .btn{min-height:48px!important;padding:0 24px!important;border-radius:10px!important;font-weight:800!important}
.activityEditorActions #saveBtn{box-shadow:0 8px 20px rgba(8,113,232,.22)}
@media(max-width:700px){
  #modalBackdrop{padding:0!important;align-items:stretch!important}
  body[data-visual-system="nplus1"] #modalBackdrop>.activityEditorModal{width:100%!important;max-height:100vh!important;border-radius:0!important;border:0!important}
  .activityEditorHero{grid-template-columns:52px minmax(0,1fr) 42px;gap:12px;padding:18px 16px 14px}
  .activityEditorHeroIcon{width:52px;height:52px;border-radius:14px}.activityEditorHeroIcon svg{width:30px;height:30px}
  body[data-visual-system="nplus1"] #modalBackdrop>.activityEditorModal #modalTitle{font-size:26px!important}
  .activityEditorHero p{font-size:14px}.activityEditorClose{width:42px!important;height:42px!important}
  .activityEditorBody{gap:12px;padding:0 12px 12px}
  .activityEditorSectionHeader{padding:10px 12px}.activityEditorSectionIcon{flex-basis:42px;width:42px;height:42px}
  .activityEditorSectionHeader h4{font-size:17px}.activityEditorSectionHeader p{font-size:13px}
  .activityEditorGrid{grid-template-columns:1fr!important;gap:12px!important;padding:12px!important}
  .activityEditorGrid>.activityEditorSpan2{grid-column:auto!important}
  .activityEditorActions{padding:12px!important;gap:8px!important}.activityEditorActions .btn{min-width:0!important;padding:0 14px!important}
}
