/*
 * SYSTEMA - Design System Bova Capaldo
 * Tema centrale condiviso da gestionale, scrivania utente e area cliente.
 */

html.bc-theme-light {
  min-height: 100%;
  color-scheme: light;
  background: var(--bc-page-bg);
  font-family: Inter,"SF Pro Display","Segoe UI",Arial,sans-serif;
}

html.bc-theme-light *,
html.bc-theme-light *::before,
html.bc-theme-light *::after {
  box-sizing: border-box;
}

html.bc-theme-light body {
  min-height: 100vh;
  color: var(--bc-text-primary) !important;
  background: var(--bc-page-bg) !important;
  background-attachment: fixed !important;
  font-family: inherit;
}

html.bc-theme-light body::before {
  position: fixed !important;
  z-index: 0 !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  content: "" !important;
  opacity: .018 !important;
  pointer-events: none !important;
  background:
    url("../../assets/logo-bova-capaldo-3d.jpeg") 72% 38px / min(36vw,560px) min(36vw,560px) no-repeat,
    linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px) !important;
  background-size: min(36vw,560px) min(36vw,560px),52px 52px,52px 52px !important;
  filter: grayscale(1) saturate(0) contrast(.72) brightness(.72) !important;
  mask-image: linear-gradient(to bottom,#000 0 72%,transparent 100%) !important;
}

html.bc-theme-light body::after {
  position: fixed !important;
  z-index: 0 !important;
  top: -57vw !important;
  right: -19vw !important;
  bottom: auto !important;
  left: auto !important;
  width: 86vw !important;
  height: 86vw !important;
  border: clamp(14px,1.4vw,28px) solid rgba(49,95,134,.42) !important;
  border-radius: 50% !important;
  content: "" !important;
  opacity: 0 !important;
  pointer-events: none !important;
  background: transparent !important;
  box-shadow:
    0 0 0 clamp(5px,.45vw,9px) rgba(239,242,244,.95),
    0 0 0 clamp(18px,2vw,38px) rgba(94,134,170,.18),
    0 0 0 clamp(26px,2.8vw,54px) rgba(230,235,238,.9),
    0 0 0 clamp(46px,5vw,96px) rgba(133,149,160,.12) !important;
}

html.bc-theme-light body > *,
html.bc-theme-light .app-shell {
  position: relative;
  z-index: 1;
}

html.bc-theme-light :where(#root,#app,[data-app-root],.route-container,.module-shell,.app-shell) {
  color: var(--bc-text-primary) !important;
  background-color: transparent !important;
}

html.bc-theme-light :where(button,input,select,textarea) {
  font: inherit;
}

html.bc-theme-light :where(h1,h2,h3,h4,h5,h6,strong,b,legend) {
  color: var(--bc-text-primary) !important;
  text-shadow: none !important;
}

html.bc-theme-light :where(p,small,.muted,.subtitle,.description,.help-text) {
  color: var(--bc-text-secondary) !important;
  opacity: 1 !important;
}

html.bc-theme-light :where(.eyebrow,.mini-eyebrow,.kicker,.section-label,.card-kicker) {
  color: var(--bc-primary-light) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

html.bc-theme-light :where(
  .dashboard-shell,.staff-shell,.archive-shell,.desk-shell,.portal-shell,.ticket-shell,main.main
) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 26px clamp(18px,2vw,34px) 58px !important;
}

html.bc-theme-light.bc-shell-injected body {
  padding-left: var(--bc-sidebar-width) !important;
}

html.bc-theme-light.bc-shell-native .app-shell {
  grid-template-columns: var(--bc-sidebar-width) minmax(0,1fr) !important;
}

html.bc-theme-light .app-shell > :where(.main,.workspace) {
  min-width: 0 !important;
  padding: 24px clamp(18px,2vw,32px) 54px !important;
}

html.bc-theme-light .bc-app-sidebar {
  z-index: 9990 !important;
  display: flex !important;
  width: var(--bc-sidebar-width) !important;
  height: 100vh !important;
  padding: 18px 12px 14px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  flex-direction: column !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid rgba(185,188,187,.82) !important;
  border-left: 0 !important;
  border-radius: 0 22px 22px 0 !important;
  background: linear-gradient(180deg,rgba(249,248,244,.99),rgba(234,235,232,.98)) !important;
  box-shadow: 8px 0 30px rgba(40,50,58,.065),inset -1px 0 rgba(255,255,255,.58) !important;
  scrollbar-color: #a5adb2 #e7e6e2;
  scrollbar-width: thin;
}

html.bc-theme-light .bc-app-sidebar:not(.is-native) {
  position: fixed !important;
  inset: 0 auto 0 0 !important;
}

html.bc-theme-light .bc-app-sidebar.is-native {
  position: sticky !important;
  top: 0 !important;
}

html.bc-theme-light .bc-sidebar-brand {
  display: grid !important;
  grid-template-columns: 48px minmax(0,1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  min-height: 66px !important;
  padding: 3px 8px 14px !important;
  border-bottom: 1px solid #e5e9ef !important;
}

html.bc-theme-light .bc-sidebar-brand img {
  width: 48px !important;
  height: 48px !important;
  object-fit: cover;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 7px 18px rgba(23,63,115,.15),0 0 0 1px #ccd5df !important;
}

html.bc-theme-light .bc-sidebar-brand strong {
  display: block;
  color: var(--bc-primary) !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  letter-spacing: .075em !important;
  white-space: nowrap;
}

html.bc-theme-light .bc-sidebar-brand span {
  display: block;
  margin-top: 4px !important;
  color: var(--bc-text-secondary) !important;
  font-size: 7px !important;
  font-weight: 600 !important;
  letter-spacing: .16em !important;
}

html.bc-theme-light .bc-sidebar-label,
html.bc-theme-light .bc-local-label {
  margin: 17px 8px 8px !important;
  color: #536a87 !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

html.bc-theme-light .bc-sidebar-nav {
  display: grid !important;
  gap: 5px !important;
}

html.bc-theme-light .bc-nav-item {
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) !important;
  gap: 9px !important;
  align-items: center !important;
  min-height: 45px !important;
  padding: 5px 8px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 10px !important;
  background: linear-gradient(145deg,var(--bc-surface-elevated),var(--bc-surface-soft)) !important;
  box-shadow: 0 4px 11px rgba(40,58,72,.04),inset 0 1px rgba(255,255,255,.45) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  transition: background var(--bc-transition-base),border-color var(--bc-transition-base),box-shadow var(--bc-transition-base),transform var(--bc-transition-fast);
}

html.bc-theme-light .bc-nav-item:hover {
  border-color: rgba(47,111,181,.28) !important;
  background: var(--bc-primary-softer) !important;
  transform: translateX(1px);
}

html.bc-theme-light .bc-nav-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: var(--bc-primary) !important;
  border-radius: 8px;
  background: var(--bc-surface-muted) !important;
  font-size: 9px;
  font-weight: 600;
}

html.bc-theme-light .bc-nav-item.is-active {
  color: #fff !important;
  border-color: rgba(16,47,85,.22) !important;
  background: linear-gradient(135deg,var(--bc-primary-light),var(--bc-primary)) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light .bc-nav-item.is-active .bc-nav-icon {
  color: #fff !important;
  background: rgba(255,255,255,.16) !important;
}

html.bc-theme-light .bc-local-toggle {
  display: flex !important;
  min-height: 38px !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 12px !important;
  padding: 7px 9px !important;
  color: #31577f !important;
  border: 1px solid #e0e6ed !important;
  border-radius: 9px !important;
  background: #f7f9fb !important;
  box-shadow: inset 0 1px #fff !important;
  font-size: 9px !important;
  font-weight: 600 !important;
}

html.bc-theme-light .bc-local-toggle b {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  color: var(--bc-primary-light) !important;
  border-radius: 6px;
  background: var(--bc-primary-softer);
  font-size: 14px;
}

html.bc-theme-light .bc-local-navigation {
  margin-top: 12px !important;
  padding-top: 1px;
  border-top: 1px solid #e5e9ef !important;
}

html.bc-theme-light .bc-native-navigation-store {
  display: none !important;
}

html.bc-theme-light .bc-page-navigation {
  display: grid !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 14px 16px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: var(--bc-radius-lg) !important;
  background: var(--bc-surface-glass) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light .bc-page-navigation-title {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
}

html.bc-theme-light .bc-page-navigation-title strong {
  color: var(--bc-text-primary) !important;
  font-size: 13px !important;
}

html.bc-theme-light .bc-page-navigation-title span {
  color: var(--bc-text-muted) !important;
  font-size: 11px !important;
}

html.bc-theme-light .bc-page-navigation :where(nav,aside.bc-function-navigation) {
  display: flex !important;
  width: 100% !important;
  gap: 8px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light .bc-page-navigation :where(nav,aside.bc-function-navigation) > :where(
  .dashboard-link,.dashboardLink,.nav-link,.navGroup,.nav-group,.nav-group-label
) {
  display: none !important;
}

html.bc-theme-light .bc-page-navigation :where(
  .nav-button,
  button.nav,
  .bc-function-navigation > button,
  .bc-function-navigation > a
) {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 40px !important;
  grid-template-columns: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 8px 12px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border) !important;
  border-radius: 10px !important;
  background: var(--bc-surface-soft) !important;
  box-shadow: var(--bc-shadow-xs) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

html.bc-theme-light .bc-page-navigation :where(
  .nav-button,
  button.nav,
  .bc-function-navigation > button,
  .bc-function-navigation > a
):hover {
  color: var(--bc-primary) !important;
  border-color: rgba(47,111,181,.3) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light .bc-page-navigation :where(
  .nav-button,
  button.nav,
  .bc-function-navigation > button,
  .bc-function-navigation > a
).active {
  color: #fff !important;
  border-color: var(--bc-primary-light) !important;
  background: linear-gradient(135deg,var(--bc-primary-light),var(--bc-primary)) !important;
  box-shadow: 0 6px 15px rgba(23,63,115,.18) !important;
}

html.bc-theme-light .bc-page-navigation :where(
  .nav-button,
  button.nav,
  .bc-function-navigation > button,
  .bc-function-navigation > a
).active :where(span,strong) {
  color: #fff !important;
}

html.bc-theme-light .bc-page-navigation :where(.nav-icon,button.nav > span:first-child) {
  display: inline-grid !important;
  width: 27px !important;
  height: 27px !important;
  place-items: center !important;
  flex: 0 0 27px !important;
  color: var(--bc-primary) !important;
  border-radius: 7px !important;
  background: var(--bc-primary-softer) !important;
  font-size: 9px !important;
}

html.bc-theme-light .bc-page-navigation :where(.nav-button,button.nav).active :where(.nav-icon,span:first-child) {
  color: #fff !important;
  background: rgba(255,255,255,.16) !important;
}

html.bc-theme-light .compliance-layout.bc-has-page-navigation {
  grid-template-columns: minmax(0,1fr) !important;
}

html.bc-theme-light .compliance-layout.bc-has-page-navigation > :where(.bc-page-navigation,.compliance-content) {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
}

@media (max-width: 680px) {
  html.bc-theme-light .bc-page-navigation {
    padding: 11px !important;
  }

  html.bc-theme-light .bc-page-navigation-title span {
    display: none !important;
  }

  html.bc-theme-light .bc-page-navigation :where(nav,aside.bc-function-navigation) {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  html.bc-theme-light .bc-page-navigation :where(
    .nav-button,
    button.nav,
    .bc-function-navigation > button,
    .bc-function-navigation > a
  ) {
    flex: 0 0 auto !important;
  }
}

html.bc-theme-light .bc-local-navigation > :where(.brand,.sidebar-card) {
  display: none !important;
}

html.bc-theme-light .bc-sidebar-footer {
  display: grid;
  gap: 10px;
  margin-top: auto;
  padding: 18px 7px 3px;
  border-top: 1px solid #e5e9ef;
}

html.bc-theme-light .bc-sidebar-footer > div {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 8px;
  align-items: center;
  color: var(--bc-text-secondary);
  font-size: 8px;
  line-height: 1.25;
}

html.bc-theme-light .bc-sidebar-footer img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
}

html.bc-theme-light .bc-sidebar-footer strong {
  color: var(--bc-primary) !important;
  font-size: 9px;
}

html.bc-theme-light .bc-sidebar-footer a {
  display: flex;
  min-height: 34px;
  align-items: center;
  padding: 0 8px;
  color: #244567 !important;
  border-radius: 8px;
  font-size: 9px;
  font-weight: 600;
  text-decoration: none;
}

html.bc-theme-light .bc-sidebar-footer a::before {
  margin-right: 8px;
  content: "\21AA";
  color: var(--bc-primary-light);
  font-size: 15px;
}

html.bc-theme-light :where(
  header.hero,section.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,.staff-header,
  .portal-header,.compliance-hero,.client-compliance-hero
) {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  min-height: 172px !important;
  padding: 30px 36px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border) !important;
  border-radius: var(--bc-radius-xl) !important;
  background: linear-gradient(145deg,rgba(251,250,247,.98),rgba(231,235,237,.96)) !important;
  box-shadow: var(--bc-shadow-md),inset 0 1px rgba(255,255,255,.5) !important;
}

html.bc-theme-light :where(
  header.hero,section.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,.staff-header,
  .portal-header,.compliance-hero,.client-compliance-hero
)::before {
  position: absolute !important;
  z-index: -2 !important;
  top: -50px !important;
  right: 10px !important;
  bottom: auto !important;
  left: auto !important;
  width: clamp(280px,34vw,520px) !important;
  height: clamp(280px,34vw,520px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  content: "" !important;
  opacity: .04 !important;
  pointer-events: none !important;
  background: url("../../assets/logo-bova-capaldo-3d.jpeg") center/contain no-repeat !important;
  filter: grayscale(1) !important;
  mask-image: none !important;
}

html.bc-theme-light :where(
  header.hero,section.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,.staff-header,
  .portal-header,.compliance-hero,.client-compliance-hero
)::after {
  position: absolute !important;
  z-index: -1 !important;
  top: -225px !important;
  right: -120px !important;
  bottom: auto !important;
  left: auto !important;
  width: 410px !important;
  height: 410px !important;
  border: 17px solid rgba(69,109,143,.48) !important;
  border-radius: 50% !important;
  content: "" !important;
  opacity: .7 !important;
  pointer-events: none !important;
  background: transparent !important;
  box-shadow: 0 0 0 7px #f0efeb,0 0 0 22px rgba(169,173,176,.2),0 0 0 29px rgba(228,234,238,.88) !important;
}

html.bc-theme-light :where(
  header.hero,section.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,.staff-header,
  .portal-header,.compliance-hero,.client-compliance-hero
) > * {
  position: relative !important;
  z-index: 1 !important;
}

html.bc-theme-light :where(
  header.hero,section.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,.staff-header,
  .portal-header,.compliance-hero,.client-compliance-hero
) h1 {
  max-width: 760px;
  margin: 8px 0 10px !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(30px,3vw,48px) !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
}

html.bc-theme-light :where(
  header.hero,section.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,.staff-header,
  .portal-header,.compliance-hero,.client-compliance-hero
) :where(p,.hero-text) {
  max-width: 720px;
  color: var(--bc-text-secondary) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

html.bc-theme-light :where(.hero,.client-ticket-header,.contract-header) {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  min-height: 172px !important;
  padding: 30px 36px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border) !important;
  border-radius: var(--bc-radius-xl) !important;
  background: linear-gradient(145deg,rgba(251,250,247,.98),rgba(231,235,237,.96)) !important;
  box-shadow: var(--bc-shadow-md),inset 0 1px rgba(255,255,255,.5) !important;
}

html.bc-theme-light :where(.hero,.client-ticket-header,.contract-header)::before {
  position: absolute !important;
  z-index: -2 !important;
  top: -50px !important;
  right: 10px !important;
  bottom: auto !important;
  left: auto !important;
  width: clamp(280px,34vw,520px) !important;
  height: clamp(280px,34vw,520px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  content: "" !important;
  opacity: .04 !important;
  pointer-events: none !important;
  background: url("../../assets/logo-bova-capaldo-3d.jpeg") center/contain no-repeat !important;
  filter: grayscale(1) !important;
}

html.bc-theme-light :where(.hero,.client-ticket-header,.contract-header)::after {
  position: absolute !important;
  z-index: -1 !important;
  top: -225px !important;
  right: -120px !important;
  bottom: auto !important;
  left: auto !important;
  width: 410px !important;
  height: 410px !important;
  border: 17px solid rgba(69,109,143,.48) !important;
  border-radius: 50% !important;
  content: "" !important;
  opacity: .7 !important;
  pointer-events: none !important;
  background: transparent !important;
  box-shadow: 0 0 0 7px #f0efeb,0 0 0 22px rgba(169,173,176,.2),0 0 0 29px rgba(228,234,238,.88) !important;
}

html.bc-theme-light :where(.hero,.client-ticket-header,.contract-header) > * {
  position: relative !important;
  z-index: 1 !important;
}

html.bc-theme-light :where(.hero,.client-ticket-header,.contract-header) :where(h1,h2) {
  color: var(--bc-text-primary) !important;
  text-transform: none !important;
  text-shadow: none !important;
  letter-spacing: -.035em !important;
}

html.bc-theme-light .topbar,
html.bc-theme-light :where(.header-actions,.deadline-toolbar,.compliance-toolbar,.session-card) {
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border) !important;
  border-radius: var(--bc-radius-md) !important;
  background: var(--bc-surface-glass) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light .topbar {
  min-height: 70px !important;
  padding: 14px 18px !important;
}

html.bc-theme-light :where(.header-actions,.deadline-toolbar,.compliance-toolbar,.session-card) {
  padding: 12px 14px !important;
}

html.bc-theme-light :where(
  .panel,.card,[class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "],
  .studio-card,.toolbar,[class$="-toolbar"],[class*="-toolbar "],.filters,[class$="-filters"],
  [class*="-filters "],.status-strip,.summary-strip,.scope-switch,.data-block,.document-folder,
  .client-document-group,.moduleCard,.miniKpis > div
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-sm) !important;
  text-shadow: none !important;
}

html.bc-theme-light :where(
  .panel,.card,[class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "],
  .studio-card,.toolbar,[class$="-toolbar"],[class*="-toolbar "],.filters,[class$="-filters"],
  [class*="-filters "],.status-strip,.summary-strip,.scope-switch,.data-block,.document-folder,
  .client-document-group,.moduleCard
) {
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: var(--bc-radius-lg) !important;
}

html.bc-theme-light :where(
  .studio-login-brand,.login-brand,.studio-cloud-state,.access-message,.workspace-tabs,.case-controls,
  .agenda-task,.agenda-side,.agenda-notes,.agenda-checklist,.agenda-client-results,.agenda-toast,
  .mail-trace,.bootCheck,.connection-pill,.preview-pill,.portal-view,.kpi-strip,.ticket-kpis,
  .client-ticket-summary,.management-bar,.client-communications-layout,.client-thread-form,
  .message-form,.status-banner,.email-box
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-sm) !important;
  text-shadow: none !important;
}

html.bc-theme-light :where(
  .studio-login-brand,.login-brand,.studio-cloud-state,.access-message,.workspace-tabs,.case-controls,
  .agenda-task,.agenda-side,.agenda-notes,.agenda-checklist,.agenda-client-results,.agenda-toast,
  .mail-trace,.portal-view,.kpi-strip,.ticket-kpis,.client-ticket-summary,.management-bar,
  .client-communications-layout,.client-thread-form,.message-form,.status-banner,.email-box
) {
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: var(--bc-radius-lg) !important;
}

html.bc-theme-light :where(
  .control-kpis,.kpi-grid,.kpis,[class$="-kpis"],.summary-strip,.status-strip,
  .dashboard-summary-grid,.miniKpis
) :where(span,small) {
  color: var(--bc-text-secondary) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

html.bc-theme-light :where(
  .control-kpis,.kpi-grid,.kpis,[class$="-kpis"],.dashboard-summary-grid,.miniKpis
) {
  gap: 12px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light :where(
  .dashboard-card,.studio-card,[class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "]
) :where(p,small,label) {
  opacity: 1 !important;
  text-shadow: none !important;
}

html.bc-theme-light :where(
  .panel,.card,[class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "],
  .portal-view,.ticket-kpis,.client-ticket-summary,.status-strip,.summary-strip,
  .toolbar,[class$="-toolbar"],[class*="-toolbar "]
) :where(label,span,small) {
  color: var(--bc-text-secondary) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

html.bc-theme-light :where(.panel,.card,[class$="-card"],[class*="-card "]) > :where(
  .panel-heading,.card-header,.section-heading
) {
  padding: 15px 18px !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
  background: linear-gradient(90deg,rgba(69,111,150,.055),rgba(190,174,146,.035),transparent 72%) !important;
}

html.bc-theme-light :where(
  .role-cards,.module-grid,[class$="-cards"],[class$="-grid"]
) > :where(article,.card,[class$="-card"]) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light .module-code {
  display: grid !important;
  width: 42px !important;
  height: 42px !important;
  place-items: center !important;
  color: var(--bc-primary-strong) !important;
  border: 1px solid rgba(69,111,150,.24) !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg,#edf2f4,#d8e1e6) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.72),0 5px 12px rgba(40,50,58,.1) !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

html.bc-theme-light .module-card:hover .module-code {
  color: var(--bc-primary-deep) !important;
  border-color: rgba(69,111,150,.4) !important;
  background: linear-gradient(145deg,#f2f6f8,#dce8ef) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.8),0 7px 15px rgba(40,50,58,.12) !important;
}

html.bc-theme-light .cloud-card .module-code {
  color: #405064 !important;
  border-color: rgba(116,125,132,.25) !important;
  background: linear-gradient(145deg,#ececeb,#d2d7da) !important;
}

html.bc-theme-light :where(
  .kpi,.metric,.stat-card,.control-kpis > article,.kpis > article,[class$="-kpis"] > article,
  [class*="-kpis "] > article,.kpi-strip > article,.kpi-strip > div,.summary-card,
  .dashboard-summary-grid > article,.dashboard-summary-grid > div,.miniKpis > div,
  .client-ticket-summary > article
) {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  min-height: 96px !important;
  padding: 16px 18px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: var(--bc-radius-lg) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-sm) !important;
  text-shadow: none !important;
}

html.bc-theme-light :where(
  .kpi,.metric,.stat-card,.control-kpis > article,.kpis > article,[class$="-kpis"] > article,
  [class*="-kpis "] > article,.kpi-strip > article,.kpi-strip > div,.summary-card,
  .dashboard-summary-grid > article,.dashboard-summary-grid > div,.miniKpis > div,
  .client-ticket-summary > article
)::after {
  position: absolute !important;
  z-index: -1 !important;
  right: -22px !important;
  bottom: -36px !important;
  width: 74px !important;
  height: 74px !important;
  border: 10px solid rgba(47,111,181,.13) !important;
  border-radius: 50% !important;
  content: "" !important;
  background: rgba(47,111,181,.04) !important;
  box-shadow: none !important;
}

html.bc-theme-light :where(
  .kpi,.metric,.stat-card,.control-kpis > article,.kpis > article,[class$="-kpis"] > article,
  [class*="-kpis "] > article,.kpi-strip > article,.kpi-strip > div,.summary-card,
  .dashboard-summary-grid > article,.dashboard-summary-grid > div,.miniKpis > div,
  .client-ticket-summary > article
):nth-child(3n+2)::after {
  border-color: rgba(183,135,58,.18) !important;
  background: rgba(183,135,58,.05) !important;
}

html.bc-theme-light :where(
  .kpi,.metric,.stat-card,.control-kpis > article,.kpis > article,[class$="-kpis"] > article,
  [class*="-kpis "] > article,.kpi-strip > article,.kpi-strip > div,.summary-card,
  .dashboard-summary-grid > article,.dashboard-summary-grid > div,.miniKpis > div,
  .client-ticket-summary > article
):nth-child(3n+3)::after {
  border-color: rgba(77,138,111,.18) !important;
  background: rgba(77,138,111,.05) !important;
}

html.bc-theme-light :where(input,select,textarea,.locked-field,.money-display,.money-edit) {
  width: 100%;
  min-height: 44px;
  padding: 10px 13px;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border) !important;
  border-radius: var(--bc-radius-sm) !important;
  outline: 0;
  background: var(--bc-surface-elevated) !important;
  box-shadow: inset 0 1px 2px rgba(16,47,85,.03) !important;
  transition: border-color var(--bc-transition-base),box-shadow var(--bc-transition-base),background var(--bc-transition-base);
}

html.bc-theme-light :where(textarea) {
  min-height: 96px;
  resize: vertical;
}

html.bc-theme-light :where(input,select,textarea):focus {
  border-color: var(--bc-primary-light) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(47,111,181,.12) !important;
}

html.bc-theme-light :where(input,textarea)::placeholder {
  color: var(--bc-text-muted) !important;
}

html.bc-theme-light :where(input,select,textarea):disabled {
  color: var(--bc-text-disabled) !important;
  background: var(--bc-surface-muted) !important;
  cursor: not-allowed;
}

html.bc-theme-light :where(input[type="checkbox"],input[type="radio"]) {
  width: 18px !important;
  min-height: 18px !important;
  padding: 0 !important;
  accent-color: var(--bc-primary-light);
}

html.bc-theme-light :where(
  button,.button,.btn,.action-button,.primary-button,.secondary-button,.ghost-button,.ghost-action,
  .header-back-link,.table-action,.row-action,.icon-button,.pagination button
) {
  display: inline-flex;
  min-height: 42px !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 16px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: 12px !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-xs) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-shadow: none !important;
  cursor: pointer;
  transition: background var(--bc-transition-base),color var(--bc-transition-base),border-color var(--bc-transition-base),box-shadow var(--bc-transition-base),transform var(--bc-transition-fast);
}

html.bc-theme-light :where(
  .primary,.primary-button,.action-button:not(.secondary):not(.danger),.save-button,.blueAction,
  .greenAction,.saveTopBtn,.sdm-primary,#sdmOpen,.pwa-install-button,
  .tab-button.active,.workspace-tab.active,.queue-tabs button.active,
  .scope-button.active,.compliance-nav.active,.nav-button.active
) {
  color: #fff !important;
  border-color: rgba(16,47,85,.28) !important;
  background: linear-gradient(135deg,var(--bc-primary-light),var(--bc-primary)) !important;
  box-shadow: 0 6px 16px rgba(23,63,115,.18) !important;
}

html.bc-theme-light :where(
  .primary,.primary-button,.action-button:not(.secondary):not(.danger),.save-button,.blueAction,
  .greenAction,.saveTopBtn,.sdm-primary,#sdmOpen,.pwa-install-button,
  .tab-button.active,.workspace-tab.active,.queue-tabs button.active,
  .scope-button.active,.compliance-nav.active,.nav-button.active
) :where(strong,b,span) {
  color: #fff !important;
}

html.bc-theme-light :where(button,.button,.btn):hover:not(:disabled) {
  border-color: rgba(47,111,181,.35) !important;
  background: var(--bc-primary-softer) !important;
  transform: translateY(-1px);
}

html.bc-theme-light :where(
  .primary,.primary-button,.action-button:not(.secondary):not(.danger),.save-button,.blueAction,
  .greenAction,.saveTopBtn,.sdm-primary,#sdmOpen,.pwa-install-button
):hover:not(:disabled) {
  color: #fff !important;
  background: linear-gradient(135deg,#2764a5,var(--bc-primary-strong)) !important;
  box-shadow: 0 8px 20px rgba(23,63,115,.22) !important;
}

html.bc-theme-light :where(button,.button,.btn):active:not(:disabled) {
  transform: translateY(0);
}

html.bc-theme-light :where(button,.button,.btn):disabled,
html.bc-theme-light :where(button,.button,.btn).is-disabled {
  color: #9ca7b4 !important;
  border-color: #d8dde4 !important;
  background: #e4e8ed !important;
  box-shadow: none !important;
  opacity: .78 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

html.bc-theme-light :where(.danger-button,.redAction,.row-action.danger,.btn.danger,.action-button.danger) {
  color: #fff !important;
  border-color: rgba(181,54,67,.3) !important;
  background: var(--bc-danger) !important;
}

html.bc-theme-light :where(.text-button,.back-button,.picker-actions button) {
  min-height: auto !important;
  padding: 3px 0 !important;
  color: var(--bc-primary-light) !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light .contract-header a {
  display: inline-flex !important;
  min-height: 42px !important;
  align-items: center !important;
  padding: 9px 16px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: 12px !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-xs) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html.bc-theme-light :where(.table-wrap,.table-scroll,.deadline-table-wrap,.audit-table,.client-list,.thread-list,
  .ticket-list,.simple-list,.version-list,.folder-tree,.message-thread,.timeline,.tableWrap) {
  max-width: 100%;
  overflow: auto !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: var(--bc-radius-lg) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light :where(
  .traffic-list,.priority-list,.activity-list,.agenda-list,.document-list,.notification-list
) {
  color: var(--bc-text-primary) !important;
  background: transparent !important;
}

html.bc-theme-light :where(
  .traffic-list > a,.priority-list > a,.priority-list > div,.activity-list > *,
  .agenda-list > *,.document-list > *,.notification-list > *
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

html.bc-theme-light table {
  width: 100% !important;
  color: var(--bc-text-primary) !important;
  border-collapse: collapse !important;
  background: var(--bc-surface-elevated) !important;
}

html.bc-theme-light thead th {
  padding: 13px 16px !important;
  color: var(--bc-text-secondary) !important;
  border-color: var(--bc-border) !important;
  background: var(--bc-surface-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase;
  opacity: 1 !important;
}

html.bc-theme-light tbody td {
  padding: 14px 16px !important;
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
  opacity: 1 !important;
}

html.bc-theme-light tbody tr:nth-child(even) td {
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light tbody tr:hover td {
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light :where(
  .assignment,.activity,.priority-row,.client-row,.version-row,.folder-button,.ticket-card,.client-button,
  .thread-button,.client-document-row,.client-document-preview-row,.message-bubble,.timeline-event,
  .control-row,.deadline-row,.sdm-row,.client-ticket-event,.client-ticket-button
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

html.bc-theme-light :where(
  .assignment,.activity,.priority-row,.client-row,.version-row,.folder-button,.ticket-card,.client-button,
  .thread-button,.client-document-row,.client-document-preview-row,.timeline-event,.deadline-row,.sdm-row,
  .client-ticket-event,.client-ticket-button
):nth-child(even) {
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light :where(
  .assignment,.activity,.priority-row,.client-row,.version-row,.folder-button,.ticket-card,.client-button,
  .thread-button,.client-document-row,.client-document-preview-row,.timeline-event,.deadline-row,.sdm-row,
  .client-ticket-event,.client-ticket-button
):hover {
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light :where(
  .ticket-card,.client-ticket-button,.client-button,.thread-button,.client-thread-button
).active {
  color: var(--bc-text-primary) !important;
  border-color: rgba(47,111,181,.24) !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: inset 4px 0 0 var(--bc-primary-light) !important;
}

html.bc-theme-light .client-ticket-event.cliente {
  color: var(--bc-text-primary) !important;
  border-color: rgba(47,111,181,.22) !important;
  background: var(--bc-info-soft) !important;
}

html.bc-theme-light :where(.badge,.pill,[class*="badge"],[class*="pill"],[class*="status"],[class*="state"]) {
  border-radius: 999px !important;
  opacity: 1 !important;
}

html.bc-theme-light :where(.status-pill.success,.compliance-status.regular,.workflow-status.status-completed) {
  color: var(--bc-success-strong) !important;
  border-color: rgba(47,157,103,.18) !important;
  background: var(--bc-success-soft) !important;
}

html.bc-theme-light :where(.status-pill.warning,.compliance-status.attention,.cloud-pill.warning) {
  color: var(--bc-warning-strong) !important;
  border-color: rgba(216,154,34,.18) !important;
  background: var(--bc-warning-soft) !important;
}

html.bc-theme-light :where(.status-pill.danger,.compliance-status.critical,.pill.urgent,.mini-badge.urgent) {
  color: var(--bc-danger-strong) !important;
  border-color: rgba(216,75,87,.18) !important;
  background: var(--bc-danger-soft) !important;
}

html.bc-theme-light :where(dialog,.modal,.dialog-card,.modal-body,#sdmModal,.salary-email-dialog) {
  width: min(760px,calc(100vw - 32px));
  max-height: calc(100vh - 40px);
  overflow: auto;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border) !important;
  border-radius: var(--bc-radius-xl) !important;
  background: linear-gradient(145deg,rgba(251,250,247,.99),rgba(232,235,236,.98)) !important;
  box-shadow: var(--bc-shadow-lg) !important;
}

html.bc-theme-light :where(dialog,.modal,#sdmModal)::backdrop,
html.bc-theme-light :where(.modal-backdrop,.bc-modal-overlay) {
  background: rgba(10,26,45,.34) !important;
  backdrop-filter: none !important;
}

html.bc-theme-light :where(.dialog-heading,.modal-header,.sdm-head,.dialog-actions,.sdm-actions) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: transparent !important;
}

html.bc-theme-light :where(
  .studio-notification-panel,.studio-message-toast,.client-message-toast,.pwa-install-toast,
  .agenda-toast,.toast,[role="alert"]
) {
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border) !important;
  border-left: 4px solid var(--bc-info) !important;
  border-radius: var(--bc-radius-md) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-lg) !important;
}

html.bc-theme-light :where(
  .studio-notification-head,.studio-notification-tools,.studio-notification-list,
  .studio-notification-item,.studio-message-toast-inner
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
}

html.bc-theme-light :where(
  .studio-notification-copy strong,.studio-notification-copy span,.studio-notification-time,
  .studio-message-toast-copy strong,.studio-message-toast-copy span
) {
  color: var(--bc-text-primary) !important;
  opacity: 1 !important;
}

html.bc-theme-light .studio-message-bell {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  color: #fff !important;
  border-radius: 50% !important;
  background: linear-gradient(145deg,var(--bc-primary-light),var(--bc-primary)) !important;
}

html.bc-theme-light :where(
  .pwa-install-toast,.agenda-toast,.studio-notification-panel,.client-message-toast
) :where(p,span,small,strong) {
  opacity: 1 !important;
  text-shadow: none !important;
}

html.bc-theme-light .bc-preview-badge,
html.bc-theme-light .studio-real-preview-badge {
  position: fixed !important;
  z-index: 10020 !important;
  right: 18px !important;
  bottom: 16px !important;
  display: grid !important;
  gap: 2px !important;
  min-width: 184px !important;
  padding: 12px 16px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: 14px !important;
  background: var(--bc-surface-glass) !important;
  box-shadow: var(--bc-shadow-md) !important;
  pointer-events: none !important;
}

html.bc-theme-light :where(.bc-preview-badge,.studio-real-preview-badge) strong {
  color: var(--bc-primary) !important;
  font-size: 11px !important;
  letter-spacing: .06em !important;
}

html.bc-theme-light :where(.bc-preview-badge,.studio-real-preview-badge) span {
  color: var(--bc-text-secondary) !important;
  font-size: 10px !important;
}

html.bc-theme-light :where(.drawer,[class$="-drawer"],[class*="-drawer "]) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-lg) !important;
}

html.bc-theme-light :where(.tooltip,[role="tooltip"],[data-tooltip]::after) {
  color: #fff !important;
  border: 1px solid rgba(16,47,85,.18) !important;
  background: var(--bc-primary-strong) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light :where(.tabs,[class$="-tabs"],[role="tablist"],.pagination,.pager) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-translucent) !important;
}

html.bc-theme-light :where(.loading,.loader,[class*="spinner"]) {
  color: var(--bc-primary) !important;
  border-color: var(--bc-silver-light) !important;
  border-top-color: var(--bc-primary-light) !important;
}

html.bc-theme-light :where(.personal-agenda,.agenda-dialog) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border) !important;
  background: linear-gradient(145deg,rgba(251,250,247,.98),rgba(232,235,236,.96)) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light #sdmModal {
  width: min(1180px,calc(100vw - 24px)) !important;
}

html.bc-theme-light .personal-agenda.is-loading::after {
  color: var(--bc-primary) !important;
  background: rgba(242,244,247,.94) !important;
  backdrop-filter: none !important;
}

html.bc-theme-light :where(.agenda-calendar,.agenda-calendar-grid,.calendar-grid,.calendar) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
}

html.bc-theme-light :where(.client-ticket-timeline,[class$="-timeline"]) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: #f8f9fb !important;
}

html.bc-theme-light :where(.readonly-badge,.connection-pill,.preview-pill) {
  color: var(--bc-info-strong) !important;
  border-color: rgba(54,127,208,.2) !important;
  background: var(--bc-info-soft) !important;
}

html.bc-theme-light :where(.auth-success) {
  color: var(--bc-success-strong) !important;
  border-color: rgba(47,157,103,.22) !important;
  background: var(--bc-success-soft) !important;
}

html.bc-theme-light .client-document-group-heading {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light :where(.agenda-calendar-day,.calendar-day,.day-cell,.agenda-day) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
}

html.bc-theme-light :where(.agenda-calendar-day,.calendar-day,.day-cell,.agenda-day).today {
  color: var(--bc-primary) !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: inset 0 0 0 1px rgba(47,111,181,.3) !important;
}

html.bc-theme-light :where(.agenda-calendar-day,.calendar-day,.day-cell,.agenda-day).selected {
  color: var(--bc-primary) !important;
  background: #eaf2fb !important;
  box-shadow: inset 0 0 0 2px var(--bc-primary-light) !important;
}

html.bc-theme-light :where(
  .agenda-day-row,.agenda-row-menu-panel,.agenda-client-results,.agenda-task-meta b,.agenda-task-meta i
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light .agenda-weekdays span {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light :where(.empty-state,.empty,.sdm-empty) {
  position: relative;
  min-height: 150px;
  padding: 34px 24px !important;
  color: var(--bc-text-secondary) !important;
  border: 1px dashed var(--bc-border) !important;
  border-radius: var(--bc-radius-lg) !important;
  background:
    linear-gradient(rgba(247,245,241,.93),rgba(247,245,241,.93)),
    url("../../assets/logo-bova-capaldo-3d.jpeg") center/110px 110px no-repeat !important;
  text-align: center;
}

html.bc-theme-light :where(.bc-skeleton,.skeleton,[class*="skeleton"]) {
  border-radius: var(--bc-radius-sm);
  background: linear-gradient(90deg,#edf0f4 25%,#f7f8fa 50%,#edf0f4 75%) !important;
  background-size: 200% 100% !important;
  animation: bcSkeleton 1.3s ease-in-out infinite;
}

html.bc-theme-light :where(iframe) {
  color-scheme: light;
  border: 0;
  background: var(--bc-page-bg) !important;
}

html.bc-theme-light :where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid rgba(47,111,181,.2) !important;
  outline-offset: 2px !important;
}

html.bc-theme-light :where(.route-container,.module-shell,.view.active,.portal-view.active,.workspace-view.active) {
  animation: bcRouteEnter 160ms ease both;
}

html.bc-theme-light ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

html.bc-theme-light ::-webkit-scrollbar-track {
  background: #edf0f4;
}

html.bc-theme-light ::-webkit-scrollbar-thumb {
  border: 2px solid #edf0f4;
  border-radius: 999px;
  background: #b4bdc8;
}

html.bc-theme-light ::-webkit-scrollbar-thumb:hover {
  background: #8f9aaa;
}

@keyframes bcSkeleton {
  from { background-position: 200% 0; }
  to { background-position: -200% 0; }
}

@keyframes bcRouteEnter {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 900px) {
  html.bc-theme-light {
    --bc-sidebar-width: 88px;
  }
  html.bc-theme-light .bc-app-sidebar {
    padding-inline: 8px !important;
  }
  html.bc-theme-light .bc-sidebar-brand {
    display: block !important;
    padding-inline: 4px !important;
  }
  html.bc-theme-light .bc-sidebar-brand img {
    display: block;
    margin: auto;
  }
  html.bc-theme-light .bc-sidebar-brand div,
  html.bc-theme-light .bc-sidebar-label,
  html.bc-theme-light .bc-local-toggle,
  html.bc-theme-light .bc-local-navigation,
  html.bc-theme-light .bc-sidebar-footer,
  html.bc-theme-light .bc-nav-item > span {
    display: none !important;
  }
  html.bc-theme-light .bc-nav-item {
    grid-template-columns: 1fr !important;
    min-height: 54px !important;
    padding: 5px !important;
    place-items: center !important;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light {
    --bc-sidebar-width: 0px;
  }
  html.bc-theme-light .bc-app-sidebar {
    position: sticky !important;
    inset: auto !important;
    top: 0 !important;
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    padding: 7px 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex-direction: row !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bc-border) !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 8px 24px rgba(21,43,69,.09) !important;
  }
  html.bc-theme-light .bc-sidebar-nav {
    display: flex !important;
    width: 100% !important;
    gap: 5px !important;
    overflow-x: auto !important;
  }
  html.bc-theme-light .bc-nav-item {
    flex: 0 0 52px !important;
    min-height: 48px !important;
    padding: 4px !important;
  }
  html.bc-theme-light .bc-nav-icon {
    width: 32px !important;
    height: 32px !important;
  }
  html.bc-theme-light.bc-shell-injected body {
    padding-left: 0 !important;
  }
  html.bc-theme-light.bc-shell-native .app-shell {
    display: block !important;
  }
  html.bc-theme-light :where(
    .dashboard-shell,.staff-shell,.archive-shell,.desk-shell,.portal-shell,.ticket-shell,main.main,
    .app-shell > .main,.app-shell > .workspace
  ) {
    padding: 12px 10px 42px !important;
  }
  html.bc-theme-light :where(
    header.hero,section.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,.staff-header,
    .portal-header,.compliance-hero,.client-compliance-hero
  ) {
    min-height: 0 !important;
    padding: 22px 20px !important;
    border-radius: var(--bc-radius-lg) !important;
  }
  html.bc-theme-light :where(.hero,.client-ticket-header,.contract-header) {
    min-height: 0 !important;
    padding: 22px 20px !important;
    border-radius: var(--bc-radius-lg) !important;
  }
  html.bc-theme-light :where(
    header.hero,section.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,.staff-header,
    .portal-header,.compliance-hero,.client-compliance-hero
  ) h1 {
    font-size: clamp(28px,10vw,38px) !important;
  }
  html.bc-theme-light :where(.control-kpis,.kpi-grid,.kpis,[class$="-kpis"],.dashboard-summary-grid) {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light :where(.filters,[class$="-filters"],[class*="-filters "],.filter-panel,.toolbar) {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light :where(dialog,.modal,.dialog-card,#sdmModal) {
    width: calc(100vw - 18px) !important;
    max-height: calc(100vh - 18px) !important;
    border-radius: var(--bc-radius-md) !important;
  }
}

/* ==========================================================================
   Correzioni finali dei componenti legacy
   Il blu resta un accento: nessuna grande superficie operativa scura.
   ========================================================================== */

/* Navigazioni interne trasferite nella barra laterale condivisa. */
html.bc-theme-light .bc-app-sidebar .bc-local-navigation .sidebar,
html.bc-theme-light .bc-app-sidebar .bc-local-navigation nav {
  color: var(--bc-text-primary) !important;
  background: transparent !important;
}

html.bc-theme-light .bc-app-sidebar .bc-local-navigation .nav-label {
  color: var(--bc-text-muted) !important;
}

html.bc-theme-light .bc-app-sidebar .bc-local-navigation .nav-button,
html.bc-theme-light .bc-app-sidebar .bc-local-navigation a.nav,
html.bc-theme-light .bc-app-sidebar .bc-local-navigation button.nav,
html.bc-theme-light .bc-app-sidebar .bc-local-navigation .dashboardLink {
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  background: linear-gradient(145deg,var(--bc-surface-elevated),var(--bc-surface-soft)) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light .bc-app-sidebar .bc-local-navigation .nav-button:hover,
html.bc-theme-light .bc-app-sidebar .bc-local-navigation a.nav:hover,
html.bc-theme-light .bc-app-sidebar .bc-local-navigation button.nav:hover,
html.bc-theme-light .bc-app-sidebar .bc-local-navigation .dashboardLink:hover {
  color: var(--bc-primary) !important;
  border-color: rgba(47,111,181,.28) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light .bc-app-sidebar .bc-local-navigation .nav-button.active,
html.bc-theme-light .bc-app-sidebar .bc-local-navigation a.nav.active,
html.bc-theme-light .bc-app-sidebar .bc-local-navigation button.nav.active,
html.bc-theme-light .bc-app-sidebar .bc-local-navigation .dashboardLink.active {
  color: #fff !important;
  border-color: var(--bc-primary-light) !important;
  background: linear-gradient(135deg,var(--bc-primary-light),var(--bc-primary)) !important;
  box-shadow: 0 7px 16px rgba(23,63,115,.18) !important;
}

html.bc-theme-light .bc-app-sidebar .bc-local-navigation .nav-icon {
  color: var(--bc-primary) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light .bc-app-sidebar .bc-local-navigation .nav-button.active .nav-icon,
html.bc-theme-light .bc-app-sidebar .bc-local-navigation a.nav.active .nav-icon,
html.bc-theme-light .bc-app-sidebar .bc-local-navigation button.nav.active .nav-icon {
  color: #fff !important;
  background: rgba(255,255,255,.15) !important;
}

html.bc-theme-light .bc-app-sidebar .bc-local-navigation .sidebar-card {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-soft) !important;
  box-shadow: none !important;
}

/* Avvisi Bonari: KPI e riepiloghi tornano satinati e leggibili. */
html.bc-theme-light .avvisi-dashboard-kpis {
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light .avvisi-dashboard-kpis .kpi {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background:
    radial-gradient(circle at 96% 108%,rgba(47,111,181,.09) 0 17%,transparent 17.5%),
    #fff !important;
  box-shadow: none !important;
}

html.bc-theme-light .avvisi-dashboard-kpis .kpi-label,
html.bc-theme-light .avvisi-dashboard-kpis .kpi-sub {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light .avvisi-dashboard-kpis .kpi-value {
  color: var(--bc-text-primary) !important;
}

html.bc-theme-light .avvisi-dashboard-section {
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light .avvisi-booking-summary {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light .avvisi-booking-summary .stat-row,
html.bc-theme-light .avvisi-dashboard-section .stat-row {
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light .avvisi-booking-summary .stat-row span,
html.bc-theme-light .avvisi-dashboard-section .stat-row span {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light .avvisi-booking-summary .stat-row strong,
html.bc-theme-light .avvisi-dashboard-section .stat-row strong {
  color: var(--bc-text-primary) !important;
}

html.bc-theme-light .avvisi-dashboard-section .table-wrap {
  background: var(--bc-surface-elevated) !important;
}

html.bc-theme-light .rank-card,
html.bc-theme-light .email-preview,
html.bc-theme-light .choice-card,
html.bc-theme-light .booking-pinned {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

/* Comunicazioni: filtri, conversazioni e permessi sono superfici chiare. */
html.bc-theme-light .filters-bar,
html.bc-theme-light .case-controls,
html.bc-theme-light .audit-filters,
html.bc-theme-light .internal-peers,
html.bc-theme-light .internal-conversation,
html.bc-theme-light .permission-box,
html.bc-theme-light .closures-card {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light .filters-bar label,
html.bc-theme-light .case-controls label,
html.bc-theme-light .audit-filters label,
html.bc-theme-light .internal-peers > label,
html.bc-theme-light .reply-form label {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light .message-thread {
  color: var(--bc-text-primary) !important;
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light .message-bubble {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light .message-bubble.studio {
  border-color: rgba(47,111,181,.22) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light .internal-peer,
html.bc-theme-light .client-button,
html.bc-theme-light .thread-button {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
}

html.bc-theme-light .internal-peer:hover,
html.bc-theme-light .internal-peer.active,
html.bc-theme-light .client-button:hover,
html.bc-theme-light .client-button.active,
html.bc-theme-light .thread-button:hover,
html.bc-theme-light .thread-button.active {
  color: var(--bc-primary) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light .permission-grid label,
html.bc-theme-light .weekday-grid label,
html.bc-theme-light .enforce-check,
html.bc-theme-light .client-assignment-grid label,
html.bc-theme-light .scope-all,
html.bc-theme-light .role-cards article {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light .app-chip,
html.bc-theme-light .status-pill {
  color: var(--bc-primary) !important;
  border-color: rgba(47,111,181,.18) !important;
  background: var(--bc-primary-softer) !important;
}

/* Superfici residue presenti nei singoli applicativi. */
html.bc-theme-light .representative-guidance,
html.bc-theme-light .client-options,
html.bc-theme-light .deadline-list-head,
html.bc-theme-light .quick-status,
html.bc-theme-light .quarterStatusCard,
html.bc-theme-light .movementBulkBar,
html.bc-theme-light .salary-registry-summary,
html.bc-theme-light .salary-results > div,
html.bc-theme-light .inail-results > div,
html.bc-theme-light .salary-debt-row,
html.bc-theme-light .drive-preview pre,
html.bc-theme-light .queue-tabs,
html.bc-theme-light .client-compliance-side article,
html.bc-theme-light .compliance-privacy-note,
html.bc-theme-light .compliance-dialog {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-xs) !important;
  text-shadow: none !important;
}

html.bc-theme-light .deadline-list-head,
html.bc-theme-light .queue-tabs,
html.bc-theme-light .drive-preview pre {
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light .representative-guidance,
html.bc-theme-light .carbon-locked-notice,
html.bc-theme-light .quarterStatusCard.locked {
  color: var(--bc-success-strong) !important;
  border-color: rgba(47,157,103,.2) !important;
  background: var(--bc-success-soft) !important;
}

html.bc-theme-light .salary-registry-summary span,
html.bc-theme-light .salary-results > div span,
html.bc-theme-light .inail-results > div span,
html.bc-theme-light .client-compliance-side article p {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light .salary-registry-summary strong,
html.bc-theme-light .salary-results > div strong,
html.bc-theme-light .inail-results > div strong {
  color: var(--bc-text-primary) !important;
}

html.bc-theme-light .placeholder-help code {
  color: var(--bc-primary-strong) !important;
  border: 1px solid var(--bc-border-soft) !important;
  background: var(--bc-primary-softer) !important;
}

/*
 * Contratto cromatico delle etichette di stato.
 * È volutamente in coda: i singoli applicativi non devono poter ripristinare
 * fondi scuri con testo grigio o rosso con testo blu.
 */
html.bc-theme-light body :is(
  .pill,
  .status-pill,
  .status-badge,
  .priority-badge,
  .compliance-status,
  .workflow-status,
  .mini-badge
) {
  border: 1px solid var(--bc-status-info-border) !important;
  color: var(--bc-status-info-text) !important;
  background: var(--bc-status-info-bg) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
  font-weight: 600 !important;
}

/* Pagamenti ancora dovuti: ambra chiara, non grigio scuro. */
html.bc-theme-light body :is(
  .pill.payment,
  .status-pill.payment,
  .status-badge.payment,
  .status-badge.to-pay
) {
  border-color: var(--bc-status-payment-border) !important;
  color: var(--bc-status-payment-text) !important;
  background: var(--bc-status-payment-bg) !important;
}

/* Scaduti, errori e urgenze: rosso polvere chiaro con testo bordeaux. */
html.bc-theme-light body :is(
  .pill.red,
  .pill.danger,
  .pill.urgent,
  .status-pill.danger,
  .status-pill.error,
  .status-badge.danger,
  .status-badge.expired,
  .priority-badge.urgent,
  .priority-badge.high,
  .compliance-status.critical,
  .workflow-status.status-error,
  .workflow-status.status-overdue,
  .mini-badge.urgent
) {
  border-color: var(--bc-status-danger-border) !important;
  color: var(--bc-status-danger-text) !important;
  background: var(--bc-status-danger-bg) !important;
}

/* Regolari e completati: verde salvia tenue con testo verde profondo. */
html.bc-theme-light body :is(
  .pill.green,
  .pill.success,
  .status-pill.success,
  .status-badge.success,
  .status-badge.regular,
  .compliance-status.regular,
  .workflow-status.status-completed,
  .workflow-status.status-success
) {
  border-color: var(--bc-status-success-border) !important;
  color: var(--bc-status-success-text) !important;
  background: var(--bc-status-success-bg) !important;
}

/* In scadenza, prenotati e da verificare: ambra chiara e leggibile. */
html.bc-theme-light body :is(
  .pill.gold,
  .pill.warning,
  .status-pill.warning,
  .status-badge.warning,
  .status-badge.pending,
  .priority-badge.medium,
  .compliance-status.attention,
  .workflow-status.status-pending
) {
  border-color: var(--bc-status-payment-border) !important;
  color: var(--bc-status-payment-text) !important;
  background: var(--bc-status-payment-bg) !important;
}

/* Stati neutri: grigio perla con testo ardesia. */
html.bc-theme-light body :is(
  .pill.gray,
  .pill.neutral,
  .status-pill.neutral,
  .status-badge.neutral,
  .priority-badge.low,
  .compliance-status.neutral,
  .workflow-status.status-neutral
) {
  border-color: var(--bc-status-neutral-border) !important;
  color: var(--bc-status-neutral-text) !important;
  background: var(--bc-status-neutral-bg) !important;
}

/* Anche eventuali elementi interni ereditano il contrasto della pillola. */
html.bc-theme-light body :is(
  .pill,
  .status-pill,
  .status-badge,
  .priority-badge,
  .compliance-status,
  .workflow-status,
  .mini-badge
) :where(span,strong,b,small) {
  color: inherit !important;
  text-shadow: none !important;
}

/* ==========================================================================
   SYSTEMA · Design System ufficiale
   Grafite satinata, petrolio marginale, un solo linguaggio per ogni area.
   Questo blocco è il contratto finale e prevale sui temi legacy dei moduli.
   ========================================================================== */

html.bc-theme-light body {
  accent-color: var(--bc-primary);
}

html.bc-theme-light body :is(h1,h2,h3,h4,h5,h6,strong,b,legend) {
  color: var(--bc-text-primary) !important;
  text-shadow: none !important;
}

html.bc-theme-light body :is(p,small,label,.section-copy,.helper,.muted,.subtitle,.description) {
  color: var(--bc-text-secondary) !important;
  text-shadow: none !important;
}

html.bc-theme-light body :is(.eyebrow,.mini-eyebrow,.kicker,.section-label,.card-kicker) {
  color: var(--bc-primary-light) !important;
  letter-spacing: .085em !important;
}

html.bc-theme-light body :is(a,.link,.text-link) {
  color: var(--bc-primary-light) !important;
}

html.bc-theme-light body ::selection {
  color: var(--bc-text-inverse) !important;
  background: rgba(24,182,177,.42) !important;
}

/* Sidebar globale: elementi inattivi fusi nel grafite, petrolio solo sull'attivo. */
html.bc-theme-light body .bc-app-sidebar {
  color: var(--bc-text-primary) !important;
  border: 0 !important;
  border-right: 1px solid var(--bc-border-soft) !important;
  border-radius: 0 !important;
  background: #14181d !important;
  box-shadow: 10px 0 34px rgba(8,12,16,.17),inset -1px 0 rgba(255,255,255,.018) !important;
  scrollbar-color: #39434d #171b20 !important;
}

html.bc-theme-light body .bc-sidebar-brand {
  border-color: var(--bc-border-soft) !important;
  background: transparent !important;
}

html.bc-theme-light body .bc-sidebar-brand img {
  border: 1px solid rgba(255,255,255,.1) !important;
  background: var(--bc-surface-soft) !important;
  box-shadow: 0 8px 22px rgba(8,12,16,.2) !important;
  filter: saturate(.72) contrast(.95) brightness(.92) !important;
}

html.bc-theme-light body .bc-sidebar-brand strong {
  color: var(--bc-text-primary) !important;
}

html.bc-theme-light body .bc-sidebar-brand span,
html.bc-theme-light body :is(.bc-sidebar-label,.bc-local-label) {
  color: var(--bc-text-muted) !important;
}

html.bc-theme-light body .bc-nav-item {
  color: var(--bc-text-secondary) !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

html.bc-theme-light body .bc-nav-item:hover {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: rgba(255,255,255,.032) !important;
  box-shadow: none !important;
  transform: none !important;
}

html.bc-theme-light body .bc-nav-icon {
  color: var(--bc-text-muted) !important;
  background: rgba(255,255,255,.035) !important;
}

html.bc-theme-light body .bc-nav-item.is-active {
  color: var(--bc-text-inverse) !important;
  border-color: rgba(24,182,177,.28) !important;
  background: var(--bc-primary-strong) !important;
  box-shadow: 0 8px 24px rgba(20,163,155,.15),inset 0 1px rgba(255,255,255,.08) !important;
}

html.bc-theme-light body .bc-nav-item.is-active .bc-nav-icon {
  color: var(--bc-text-inverse) !important;
  background: rgba(255,255,255,.11) !important;
}

html.bc-theme-light body :is(.bc-local-toggle,.bc-sidebar-footer,.bc-sidebar-footer > div) {
  color: var(--bc-text-secondary) !important;
  border-color: var(--bc-border-soft) !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body .bc-local-toggle b {
  color: var(--bc-primary-light) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body .bc-local-navigation {
  border-color: var(--bc-border-soft) !important;
}

html.bc-theme-light body .bc-sidebar-footer a {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body .bc-sidebar-footer a:hover {
  color: var(--bc-primary-light) !important;
  background: rgba(255,255,255,.03) !important;
}

html.bc-theme-light body .bc-app-sidebar .bc-local-navigation :is(
  .nav-button,a.nav,button.nav,.dashboardLink
) {
  color: var(--bc-text-secondary) !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body .bc-app-sidebar .bc-local-navigation :is(
  .nav-button,a.nav,button.nav,.dashboardLink
):hover {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: rgba(255,255,255,.032) !important;
}

html.bc-theme-light body .bc-app-sidebar .bc-local-navigation :is(
  .nav-button.active,a.nav.active,button.nav.active,.dashboardLink.active
) {
  color: var(--bc-text-inverse) !important;
  border-color: rgba(24,182,177,.28) !important;
  background: var(--bc-primary-strong) !important;
  box-shadow: 0 8px 24px rgba(20,163,155,.15) !important;
}

html.bc-theme-light body .bc-app-sidebar .bc-local-navigation .nav-icon {
  color: var(--bc-text-muted) !important;
  background: rgba(255,255,255,.035) !important;
}

html.bc-theme-light body .bc-app-sidebar .bc-local-navigation :is(
  .nav-button.active,a.nav.active,button.nav.active
) .nav-icon {
  color: var(--bc-text-inverse) !important;
  background: rgba(255,255,255,.11) !important;
}

html.bc-theme-light body .bc-app-sidebar .bc-local-navigation .sidebar-card {
  color: var(--bc-text-secondary) !important;
  border-color: var(--bc-border-soft) !important;
  background: rgba(255,255,255,.025) !important;
  box-shadow: none !important;
}

/* Navigazione di pagina, tab e barre superiori. */
html.bc-theme-light body :is(
  .bc-page-navigation,.topbar,.header-actions,.deadline-toolbar,.compliance-toolbar,.session-card,
  .workspace-tabs,.case-controls,.tabs,[class$="-tabs"],[role="tablist"],.pagination,.pager
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-translucent) !important;
  box-shadow: var(--bc-shadow-xs) !important;
  backdrop-filter: none !important;
}

html.bc-theme-light body :is(
  .bc-page-nav-link,.workspace-tab,[role="tab"],.tab,.queue-tab,.scope-tab
) {
  color: var(--bc-text-secondary) !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  .bc-page-nav-link,.workspace-tab,[role="tab"],.tab,.queue-tab,.scope-tab
):hover {
  color: var(--bc-text-primary) !important;
  background: rgba(255,255,255,.035) !important;
}

html.bc-theme-light body :is(
  .bc-page-nav-link.is-active,.workspace-tab.active,[role="tab"][aria-selected="true"],
  .tab.active,.queue-tab.active,.scope-tab.active
) {
  color: var(--bc-text-inverse) !important;
  border-color: rgba(24,182,177,.3) !important;
  background: var(--bc-primary-strong) !important;
  box-shadow: 0 7px 20px rgba(20,163,155,.13) !important;
}

/* Hero e header: superficie satinata, logo appena percepibile, nessun blu dominante. */
html.bc-theme-light body :is(
  header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,
  .staff-header,.portal-header,.compliance-hero,.client-compliance-hero,.client-ticket-header,
  .contract-header
) {
  min-height: 148px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: var(--bc-radius-lg) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-sm),inset 0 1px rgba(255,255,255,.025) !important;
}

html.bc-theme-light body :is(
  header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,
  .staff-header,.portal-header,.compliance-hero,.client-compliance-hero,.client-ticket-header,
  .contract-header
)::before {
  opacity: .025 !important;
  background: url("../../assets/logo-bova-capaldo-3d.jpeg") center/contain no-repeat !important;
  filter: grayscale(1) saturate(0) brightness(.68) contrast(.8) !important;
}

html.bc-theme-light body :is(
  header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,
  .staff-header,.portal-header,.compliance-hero,.client-compliance-hero,.client-ticket-header,
  .contract-header
)::after {
  top: -285px !important;
  right: -145px !important;
  width: 390px !important;
  height: 390px !important;
  border: 1px solid rgba(24,182,177,.2) !important;
  opacity: .55 !important;
  background: transparent !important;
  box-shadow: 0 0 0 12px rgba(24,182,177,.018),0 0 0 32px rgba(255,255,255,.012) !important;
}

html.bc-theme-light body :is(
  header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,
  .staff-header,.portal-header,.compliance-hero,.client-compliance-hero,.client-ticket-header,
  .contract-header
) :is(h1,h2) {
  color: var(--bc-text-primary) !important;
  text-shadow: none !important;
}

html.bc-theme-light body :is(
  header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,
  .staff-header,.portal-header,.compliance-hero,.client-compliance-hero,.client-ticket-header,
  .contract-header
) :is(p,.hero-text) {
  color: var(--bc-text-secondary) !important;
}

/* Superfici condivise: un'unica profondità e un unico raggio. */
html.bc-theme-light body :is(
  .panel,.card,[class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "],
  .studio-card,.toolbar,[class$="-toolbar"],[class*="-toolbar "],.filters,[class$="-filters"],
  [class*="-filters "],.filter-panel,.status-strip,.summary-strip,.scope-switch,.data-block,
  .document-folder,.client-document-group,.moduleCard,.portal-view,.management-bar,
  .client-communications-layout,.client-thread-form,.message-form,.status-banner,.email-box,
  .studio-login-brand,.login-brand,.studio-cloud-state,.access-message,.agenda-task,.agenda-side,
  .agenda-notes,.agenda-checklist,.agenda-client-results,.mail-trace,.connection-pill,.preview-pill
) {
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: var(--bc-radius-lg) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-sm),inset 0 1px rgba(255,255,255,.018) !important;
  text-shadow: none !important;
  backdrop-filter: none !important;
}

html.bc-theme-light body :is(
  .panel,.card,[class$="-card"],[class*="-card "]
) > :is(.panel-heading,.card-header,.section-heading) {
  border-color: var(--bc-border-soft) !important;
  background: transparent !important;
}

html.bc-theme-light body :is(
  .role-cards,.module-grid,[class$="-cards"],[class$="-grid"]
) > :is(article,.card,[class$="-card"]) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body .module-code {
  color: var(--bc-primary-light) !important;
  border: 1px solid rgba(24,182,177,.18) !important;
  border-radius: var(--bc-radius-sm) !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

html.bc-theme-light body :is(.module-card:hover .module-code,.cloud-card .module-code) {
  color: var(--bc-primary-light) !important;
  border-color: rgba(24,182,177,.28) !important;
  background: var(--bc-primary-soft) !important;
  box-shadow: none !important;
}

/* KPI: numeri leggibili, dettaglio petrolio minimale, nessun cerchio decorativo. */
html.bc-theme-light body :is(
  .control-kpis,.kpi-grid,.kpis,[class$="-kpis"],.dashboard-summary-grid,.miniKpis
) {
  gap: 12px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  .kpi,.metric,.stat-card,.control-kpis > article,.kpis > article,[class$="-kpis"] > article,
  [class*="-kpis "] > article,.kpi-strip > article,.kpi-strip > div,.summary-card,
  .dashboard-summary-grid > article,.dashboard-summary-grid > div,.miniKpis > div,
  .client-ticket-summary > article
) {
  min-height: 94px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: var(--bc-radius-lg) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs),inset 0 1px rgba(255,255,255,.018) !important;
}

html.bc-theme-light body :is(
  .kpi,.metric,.stat-card,.control-kpis > article,.kpis > article,[class$="-kpis"] > article,
  [class*="-kpis "] > article,.kpi-strip > article,.kpi-strip > div,.summary-card,
  .dashboard-summary-grid > article,.dashboard-summary-grid > div,.miniKpis > div,
  .client-ticket-summary > article
)::after {
  z-index: 1 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  left: 18px !important;
  width: 28px !important;
  height: 2px !important;
  border: 0 !important;
  border-radius: 0 0 2px 2px !important;
  opacity: .72 !important;
  background: var(--bc-primary) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  .kpi,.metric,.stat-card,.control-kpis > article,.kpis > article,[class$="-kpis"] > article,
  [class*="-kpis "] > article,.kpi-strip > article,.kpi-strip > div,.summary-card,
  .dashboard-summary-grid > article,.dashboard-summary-grid > div,.miniKpis > div,
  .client-ticket-summary > article
) :is(span,small,p) {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body :is(
  .kpi,.metric,.stat-card,.control-kpis > article,.kpis > article,[class$="-kpis"] > article,
  [class*="-kpis "] > article,.kpi-strip > article,.kpi-strip > div,.summary-card,
  .dashboard-summary-grid > article,.dashboard-summary-grid > div,.miniKpis > div,
  .client-ticket-summary > article
) :is(strong,.value,.kpi-value) {
  color: var(--bc-text-primary) !important;
}

/* Pulsanti: primario petrolio, secondario superficie, terziario solo testo. */
html.bc-theme-light body :is(
  button,.button,.btn,.action-button,.primary-button,.primary-action,.btn-primary,
  .save-button,.create-button,.open-button
) {
  color: var(--bc-text-inverse) !important;
  border: 1px solid rgba(24,182,177,.3) !important;
  border-radius: var(--bc-radius-sm) !important;
  background: var(--bc-primary-strong) !important;
  box-shadow: 0 7px 20px rgba(20,163,155,.12),inset 0 1px rgba(255,255,255,.07) !important;
  text-shadow: none !important;
  transition:
    color 180ms ease,
    background 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease !important;
}

html.bc-theme-light body :is(
  button,.button,.btn,.action-button,.primary-button,.primary-action,.btn-primary,
  .save-button,.create-button,.open-button
):hover:not(:disabled) {
  color: var(--bc-text-inverse) !important;
  border-color: rgba(66,197,192,.42) !important;
  background: var(--bc-primary-hover) !important;
  box-shadow: 0 9px 24px rgba(20,163,155,.16),inset 0 1px rgba(255,255,255,.09) !important;
  transform: translateY(-1px) !important;
}

html.bc-theme-light body :is(
  .secondary,.button.secondary,.btn.secondary,.btn-secondary,.secondary-button,.ghost-button,
  .ghost-action,.mini,.table-action,.row-action,.icon-button,.pagination button,.pager button,
  .header-back-link,.cancel-button,.close-button
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-strong) !important;
  background: var(--bc-surface-soft) !important;
  box-shadow: var(--bc-shadow-xs),inset 0 1px rgba(255,255,255,.018) !important;
}

html.bc-theme-light body :is(
  .secondary,.button.secondary,.btn.secondary,.btn-secondary,.secondary-button,.ghost-button,
  .ghost-action,.mini,.table-action,.row-action,.icon-button,.pagination button,.pager button,
  .header-back-link,.cancel-button,.close-button
):hover:not(:disabled) {
  color: var(--bc-primary-light) !important;
  border-color: rgba(24,182,177,.25) !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body :is(
  .text-button,.back-button,.link-button,.picker-actions button,.btn-tertiary
) {
  min-height: auto !important;
  padding-inline: 0 !important;
  color: var(--bc-primary-light) !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  .danger-button,.redAction,.row-action.danger,.btn.danger,.action-button.danger
) {
  color: var(--bc-text-inverse) !important;
  border-color: rgba(239,68,68,.3) !important;
  background: #b93636 !important;
  box-shadow: 0 7px 20px rgba(185,54,54,.11) !important;
}

html.bc-theme-light body :is(button,.button,.btn):disabled {
  color: var(--bc-text-disabled) !important;
  border-color: var(--bc-border-soft) !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

html.bc-theme-light body :is(button,.button,.btn) :is(span,strong,b,small) {
  color: inherit !important;
}

/* Campi premium e controlli. */
html.bc-theme-light body :is(input,select,textarea,.locked-field,.money-display,.money-edit) {
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: var(--bc-radius-sm) !important;
  background: var(--bc-surface-soft) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.015) !important;
}

html.bc-theme-light body :is(input,select,textarea)::placeholder {
  color: var(--bc-text-muted) !important;
  opacity: .78 !important;
}

html.bc-theme-light body :is(input,select,textarea):hover:not(:disabled) {
  border-color: rgba(255,255,255,.13) !important;
}

html.bc-theme-light body :is(input,select,textarea):focus {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-primary) !important;
  background: #20262e !important;
  box-shadow: 0 0 0 3px rgba(24,182,177,.13) !important;
}

html.bc-theme-light body :is(input[type="checkbox"],input[type="radio"]) {
  accent-color: var(--bc-primary) !important;
}

html.bc-theme-light body :is(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 2px solid rgba(24,182,177,.5) !important;
  outline-offset: 2px !important;
}

/* Tabelle e liste: separatori sottili, nessuna griglia invasiva. */
html.bc-theme-light body :is(
  .table-wrap,.table-scroll,.deadline-table-wrap,.audit-table,.client-list,.thread-list,
  .ticket-list,.simple-list,.version-list,.folder-tree,.message-thread,.timeline,.tableWrap
) {
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: var(--bc-radius-lg) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body table {
  color: var(--bc-text-primary) !important;
  background: var(--bc-surface) !important;
}

html.bc-theme-light body thead th {
  color: var(--bc-text-secondary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light body tbody td {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
}

html.bc-theme-light body tbody tr:nth-child(even) td {
  background: rgba(255,255,255,.012) !important;
}

html.bc-theme-light body tbody tr:hover td {
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body :is(
  .assignment,.activity,.priority-row,.client-row,.version-row,.folder-button,.ticket-card,
  .client-button,.thread-button,.client-document-row,.client-document-preview-row,.message-bubble,
  .timeline-event,.control-row,.deadline-row,.sdm-row,.client-ticket-event,.client-ticket-button
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  .assignment,.activity,.priority-row,.client-row,.version-row,.folder-button,.ticket-card,
  .client-button,.thread-button,.client-document-row,.client-document-preview-row,.timeline-event,
  .deadline-row,.sdm-row,.client-ticket-event,.client-ticket-button
):nth-child(even) {
  background: rgba(255,255,255,.012) !important;
}

html.bc-theme-light body :is(
  .assignment,.activity,.priority-row,.client-row,.version-row,.folder-button,.ticket-card,
  .client-button,.thread-button,.client-document-row,.client-document-preview-row,.timeline-event,
  .deadline-row,.sdm-row,.client-ticket-event,.client-ticket-button
):hover {
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body :is(
  .ticket-card.active,.client-ticket-button.active,.client-button.active,.thread-button.active,
  .client-thread-button.active
) {
  color: var(--bc-text-primary) !important;
  border-color: rgba(24,182,177,.24) !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: inset 3px 0 0 var(--bc-primary) !important;
}

/* Modali, popup, notifiche e menu contestuali. */
html.bc-theme-light body :is(dialog,.modal,.dialog-card,.modal-body,.salary-email-dialog) {
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: var(--bc-radius-lg) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-lg),inset 0 1px rgba(255,255,255,.02) !important;
}

html.bc-theme-light body #sdmModal {
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: var(--bc-radius-lg) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-lg) !important;
}

html.bc-theme-light body :is(dialog,.modal,#sdmModal)::backdrop,
html.bc-theme-light body :is(.modal-backdrop,.bc-modal-overlay) {
  background: rgba(8,12,16,.68) !important;
  backdrop-filter: none !important;
}

html.bc-theme-light body :is(
  .studio-notification-panel,.studio-message-toast,.client-message-toast,.pwa-install-toast,
  .agenda-toast,.toast,[role="alert"],.drawer,[class$="-drawer"],[class*="-drawer "],
  .tooltip,[role="tooltip"]
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-strong) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light body :is(
  .studio-notification-head,.studio-notification-tools,.studio-notification-list,
  .studio-notification-item,.studio-message-toast-inner
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-elevated) !important;
}

html.bc-theme-light body :is(.bc-preview-badge,.studio-real-preview-badge) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-strong) !important;
  background: var(--bc-surface-glass) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light body :is(.bc-preview-badge,.studio-real-preview-badge) strong {
  color: var(--bc-primary-light) !important;
}

/* Agenda, calendario, stati vuoti e caricamenti. */
html.bc-theme-light body :is(
  .personal-agenda,.agenda-dialog,.agenda-calendar,.agenda-calendar-grid,.calendar-grid,.calendar
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body :is(.agenda-calendar-day,.calendar-day,.day-cell,.agenda-day) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
}

html.bc-theme-light body :is(.agenda-calendar-day,.calendar-day,.day-cell,.agenda-day).today {
  color: var(--bc-primary-light) !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: inset 0 0 0 1px rgba(24,182,177,.28) !important;
}

html.bc-theme-light body :is(.agenda-calendar-day,.calendar-day,.day-cell,.agenda-day).selected {
  color: var(--bc-text-inverse) !important;
  background: var(--bc-primary-strong) !important;
  box-shadow: inset 0 0 0 1px var(--bc-primary-light) !important;
}

html.bc-theme-light body :is(.empty-state,.empty,.sdm-empty) {
  color: var(--bc-text-secondary) !important;
  border-color: var(--bc-border-strong) !important;
  background:
    linear-gradient(rgba(26,31,38,.96),rgba(26,31,38,.96)),
    url("../../assets/logo-bova-capaldo-3d.jpeg") center/110px 110px no-repeat !important;
}

html.bc-theme-light body :is(.bc-skeleton,.skeleton,[class*="skeleton"]) {
  background: linear-gradient(90deg,#1a1f26 25%,#242b33 50%,#1a1f26 75%) !important;
  background-size: 200% 100% !important;
}

html.bc-theme-light body .personal-agenda.is-loading::after {
  color: var(--bc-primary-light) !important;
  background: rgba(17,20,24,.92) !important;
  backdrop-filter: none !important;
}

/* Accesso, area collaboratori e portale clienti condividono la stessa materia. */
html.bc-theme-light body :is(
  .login-shell,.auth-shell,.access-shell,.client-login,.collaborator-login,.portal-shell,
  .login-panel,.auth-panel,.access-panel,.client-access-card
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light body :is(
  .filters-bar,.case-controls,.audit-filters,.internal-peers,.internal-conversation,
  .permission-box,.closures-card,.message-thread,.message-bubble,.permission-grid label,
  .weekday-grid label,.enforce-check,.client-assignment-grid label,.scope-all,.role-cards article,
  .rank-card,.email-preview,.choice-card,.booking-pinned,.representative-guidance,.client-options,
  .deadline-list-head,.quick-status,.quarterStatusCard,.movementBulkBar,.salary-registry-summary,
  .salary-results > div,.inail-results > div,.salary-debt-row,.drive-preview pre,.queue-tabs,
  .client-compliance-side article,.compliance-privacy-note,.compliance-dialog
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body :is(.message-bubble.studio,.client-ticket-event.cliente) {
  color: var(--bc-text-primary) !important;
  border-color: rgba(24,182,177,.2) !important;
  background: var(--bc-primary-softer) !important;
}

/* Correzioni finali dei moduli più legacy. */
html.bc-theme-light body :is(
  .avvisi-dashboard-kpis,.avvisi-dashboard-section,.avvisi-booking-summary,
  .avvisi-dashboard-section .table-wrap
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body .avvisi-dashboard-kpis .kpi {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  .avvisi-dashboard-kpis .kpi-label,.avvisi-dashboard-kpis .kpi-sub
) {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body :is(
  .agenda-day-row,.agenda-row-menu-panel,.agenda-client-results,.agenda-task-meta b,
  .agenda-task-meta i,.client-ticket-timeline,[class$="-timeline"]
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body :is(.readonly-badge,.connection-pill,.preview-pill) {
  color: var(--bc-status-info-text) !important;
  border-color: var(--bc-status-info-border) !important;
  background: var(--bc-status-info-bg) !important;
}

html.bc-theme-light body :is(.representative-guidance,.carbon-locked-notice,.quarterStatusCard.locked) {
  color: var(--bc-status-success-text) !important;
  border-color: var(--bc-status-success-border) !important;
  background: var(--bc-status-success-bg) !important;
}

html.bc-theme-light body iframe {
  color-scheme: dark !important;
  background: var(--bc-page-bg) !important;
}

html.bc-theme-light body ::-webkit-scrollbar-track {
  background: #14181d !important;
}

html.bc-theme-light body ::-webkit-scrollbar-thumb {
  border: 2px solid #14181d !important;
  background: #3a444e !important;
}

html.bc-theme-light body ::-webkit-scrollbar-thumb:hover {
  background: #4b5762 !important;
}

html.bc-theme-light body :is(
  .route-container,.module-shell,.view.active,.portal-view.active,.workspace-view.active
) {
  animation: systemaRouteEnter 220ms ease both !important;
}

@keyframes systemaRouteEnter {
  from { opacity: .82; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ==========================================================================
   SYSTEMA · Fondazione 01
   Contratto grafico unico per Studio, Admin, Operatori, Collaboratori e Clienti.
   Solo presentazione: nessuna regola altera struttura, eventi o comportamento.
   ========================================================================== */

html.bc-theme-light {
  --systema-type-display: clamp(28px,3vw,46px);
  --systema-type-title: clamp(22px,2vw,32px);
  --systema-type-section: clamp(17px,1.25vw,21px);
  --systema-type-body: 14px;
  --systema-type-small: 12px;
  --systema-line-tight: 1.18;
  --systema-line-body: 1.55;
  --systema-component-radius: var(--bc-radius-md);
  --systema-focus-ring: 0 0 0 3px var(--bc-primary-soft);
  --systema-layer-base: 1;
  --systema-layer-nav: 100;
  --systema-layer-popup: 500;
  --systema-layer-modal: 1000;
  --systema-layer-toast: 1200;
}

html.bc-theme-light body {
  font-family: var(--systema-font-sans) !important;
  font-size: var(--systema-type-body);
  line-height: var(--systema-line-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-synthesis: none;
}

html.bc-theme-light body :where(
  .hero,.dashboard-header,.deadline-hero,.compliance-hero,.archive-header,
  .desk-header,.client-ticket-header,.contract-header
) :where(h1,.page-title) {
  max-width: 24ch;
  margin-block: 0 var(--bc-space-2) !important;
  font-size: var(--systema-type-display) !important;
  font-weight: 700 !important;
  line-height: var(--systema-line-tight) !important;
  letter-spacing: -.035em !important;
}

html.bc-theme-light body :where(
  .panel-heading,.card-heading,.dialog-heading,.section-title,.client-panel-heading
) :where(h2,h3,.title),
html.bc-theme-light body :where(h2.systema-title,h3.systema-title) {
  margin-block: 0 var(--bc-space-2) !important;
  font-size: var(--systema-type-section) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -.015em !important;
}

html.bc-theme-light body :where(
  .dashboard-grid,.module-grid,.kpi-grid,.control-grid,.client-kpis,
  .compliance-kpis,.avvisi-dashboard-grid,.systema-grid
) {
  gap: var(--systema-component-gap) !important;
}

html.bc-theme-light body :where(
  .panel,.card,.studio-card,.dashboard-card,.data-card,.control-card,.custom-card,
  .session-card,.cloud-card,.drive-card,.rank-card,.choice-card,.due-card,
  .systema-card,[data-systema-component="card"]
) {
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: var(--systema-component-radius) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body :where(
  .panel-heading,.card-heading,.card-header,.dashboard-header,.archive-header,
  .dialog-heading,.systema-card-header,[data-systema-component="card-header"]
) {
  border-color: var(--bc-border-soft) !important;
}

html.bc-theme-light body :where(
  .systema-card,.studio-card,.dashboard-card,.data-card,.control-card,.custom-card,
  [data-systema-component="card"]
) {
  padding: var(--systema-card-padding) !important;
}

html.bc-theme-light body :where(
  .button,.btn,.action-button,.primary-button,.secondary-button,
  .save-button,.back-button,.blueAction,.greenAction,.ghostAction,
  .dangerButton,.danger-button,.systema-button,[data-systema-component="button"]
) {
  min-height: var(--systema-control-height);
  gap: var(--bc-space-2);
  align-items: center;
  justify-content: center;
  border-radius: var(--bc-radius-sm) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -.005em;
  text-decoration: none !important;
  transition:
    color var(--bc-transition-base),
    border-color var(--bc-transition-base),
    background var(--bc-transition-base),
    box-shadow var(--bc-transition-base),
    transform var(--bc-transition-fast) !important;
}

html.bc-theme-light body :where(
  button,.button,.btn,.action-button,.primary-button,.secondary-button,
  .save-button,.back-button,.blueAction,.greenAction,.ghostAction,
  .dangerButton,.danger-button,.systema-button,a,input,select,textarea,[tabindex]
):focus-visible {
  outline: 2px solid var(--bc-primary-light) !important;
  outline-offset: 2px !important;
  box-shadow: var(--systema-focus-ring) !important;
}

html.bc-theme-light body :where(
  button,.button,.btn,.action-button,.primary-button,.secondary-button,
  .save-button,.blueAction,.greenAction,.ghostAction,.dangerButton,.danger-button
):not(:disabled):active {
  transform: translateY(1px) !important;
}

html.bc-theme-light body :where(
  button,.button,.btn,.action-button,.primary-button,.secondary-button,
  .save-button,.blueAction,.greenAction,.ghostAction,.dangerButton,.danger-button,
  input,select,textarea
):disabled {
  cursor: not-allowed !important;
  opacity: .48 !important;
  filter: saturate(.55) !important;
}

html.bc-theme-light body :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,textarea,.systema-field,[data-systema-component="field"]
) {
  min-height: var(--systema-control-height);
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: var(--bc-radius-sm) !important;
  background: var(--bc-surface-soft) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.018) !important;
  line-height: 1.35 !important;
}

html.bc-theme-light body :where(textarea) {
  min-height: 104px;
  resize: vertical;
}

html.bc-theme-light body :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,textarea,.systema-field
):hover:not(:disabled) {
  border-color: var(--bc-border-focus) !important;
}

html.bc-theme-light body :where(.table-wrap,.table-scroll,.systema-table-wrap) {
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: var(--systema-component-radius) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body :where(table,.systema-table) {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  font-variant-numeric: tabular-nums;
}

html.bc-theme-light body :where(table,.systema-table) :where(th,td) {
  padding: 12px 14px !important;
  border-right: 0 !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
  vertical-align: middle !important;
}

html.bc-theme-light body :where(table,.systema-table) thead th {
  position: sticky;
  z-index: 2;
  top: 0;
  color: var(--bc-text-secondary) !important;
  background: var(--bc-surface-soft) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase;
}

html.bc-theme-light body :where(table,.systema-table) tbody tr:last-child > * {
  border-bottom: 0 !important;
}

html.bc-theme-light body :where(table,.systema-table) tbody tr {
  transition: background var(--bc-transition-fast);
}

html.bc-theme-light body :where(table,.systema-table) tbody tr:hover > * {
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body :where(
  dialog,.modal,.dialog,.dialog-card,.compliance-dialog,.agenda-dialog,
  .client-ticket-dialog,.carbonLockDialog,.systema-modal,[role="dialog"]
) {
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: var(--bc-radius-lg) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-lg) !important;
}

html.bc-theme-light body :where(
  .toast,.notification,.studio-message-toast-inner,.systema-toast,
  [data-systema-component="toast"]
) {
  z-index: var(--systema-layer-toast) !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: var(--bc-radius-md) !important;
  background: var(--bc-surface-elevated) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light body :where(
  .bc-nav-icon,.module-icon,.kpi-icon,.card-icon,.systema-icon
) {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: var(--bc-radius-xs);
}

html.bc-theme-light body :where(
  .status-pill,.status-badge,.priority-badge,.compliance-status,.pill,
  .mini-badge,.systema-status,[data-systema-component="status"]
) {
  min-height: 24px;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase;
}

html.bc-theme-light body :where(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,.client-document-groups
) :where(
  .button,.btn,.primary-button,.secondary-button,.systema-button,
  input:not([type="checkbox"]):not([type="radio"]),select
) {
  min-height: var(--systema-control-height-client);
}

html.bc-theme-light body :where(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,.client-document-groups
) :where(
  .panel,.card,.client-thread-panel,.client-conversation-panel,
  .client-ticket-list-panel,.client-ticket-detail-panel
) {
  padding: clamp(18px,2vw,26px) !important;
}

html.bc-theme-light body :where(
  .empty-state,.empty-detail,.client-ticket-empty,.systema-empty
) {
  min-height: 160px;
  display: grid;
  place-content: center;
  text-align: center;
}

html.bc-theme-light body :where(.letterhead,.letterhead *) {
  font-synthesis: initial;
}

/* ==========================================================================
   SYSTEMA · Identità visiva 02
   Palette ufficiale Bova Capaldo, materiali satinati e superfici Enterprise.
   Questo blocco è definitivo e prevale su qualsiasi colore legacy dei moduli.
   ========================================================================== */

html.bc-theme-light {
  --bc-page-bg: #F6F8FB;
  --bc-page-bg-alt: #F6F8FB;
  --bc-page-bg-light: #F6F8FB;
  --bc-surface: #FFFFFF;
  --bc-surface-soft: #FFFFFF;
  --bc-surface-muted: #F6F8FB;
  --bc-surface-elevated: #FFFFFF;
  --bc-surface-glass: #FFFFFF;
  --bc-surface-translucent: #FFFFFF;
  --bc-primary: #234E8B;
  --bc-primary-strong: #234E8B;
  --bc-primary-deep: #1D3F73;
  --bc-primary-light: #234E8B;
  --bc-primary-hover: #1D3F73;
  --bc-primary-secondary: #4F79B4;
  --bc-primary-soft: rgba(35,78,139,.09);
  --bc-primary-softer: rgba(35,78,139,.055);
  --bc-silver: #C7CDD4;
  --bc-silver-dark: #9DA7B2;
  --bc-silver-light: #E7EBEF;
  --bc-silver-soft: #F6F8FB;
  --bc-text-primary: #17263A;
  --bc-text-secondary: #5E6B7A;
  --bc-text-muted: #7D8996;
  --bc-text-disabled: #A5AFBA;
  --bc-text-inverse: #FFFFFF;
  --bc-border: rgba(199,205,212,.52);
  --bc-border-soft: rgba(199,205,212,.34);
  --bc-border-strong: rgba(199,205,212,.72);
  --bc-border-focus: #234E8B;
  --bc-success: #22C55E;
  --bc-success-strong: #22C55E;
  --bc-success-soft: rgba(34,197,94,.08);
  --bc-warning: #F59E0B;
  --bc-warning-strong: #F59E0B;
  --bc-warning-soft: rgba(245,158,11,.09);
  --bc-danger: #EF4444;
  --bc-danger-strong: #EF4444;
  --bc-danger-soft: rgba(239,68,68,.08);
  --bc-info: #234E8B;
  --bc-info-strong: #234E8B;
  --bc-info-soft: rgba(35,78,139,.08);
  --bc-neutral: #C7CDD4;
  --bc-neutral-soft: #F6F8FB;
  --bc-status-payment-bg: #FFFFFF;
  --bc-status-payment-text: #17263A;
  --bc-status-payment-border: #F59E0B;
  --bc-status-danger-bg: #FFFFFF;
  --bc-status-danger-text: #17263A;
  --bc-status-danger-border: #EF4444;
  --bc-status-success-bg: #FFFFFF;
  --bc-status-success-text: #17263A;
  --bc-status-success-border: #22C55E;
  --bc-status-info-bg: #FFFFFF;
  --bc-status-info-text: #17263A;
  --bc-status-info-border: #234E8B;
  --bc-status-neutral-bg: #FFFFFF;
  --bc-status-neutral-text: #5E6B7A;
  --bc-status-neutral-border: #C7CDD4;
  --bc-shadow-xs: 0 1px 2px rgba(35,78,139,.018),0 8px 24px rgba(35,78,139,.032);
  --bc-shadow-sm: 0 2px 6px rgba(35,78,139,.026),0 14px 38px rgba(35,78,139,.045);
  --bc-shadow-md: 0 6px 18px rgba(35,78,139,.04),0 22px 56px rgba(35,78,139,.06);
  --bc-shadow-lg: 0 10px 28px rgba(35,78,139,.052),0 30px 80px rgba(35,78,139,.075);
  --bc-radius-xs: 12px;
  --bc-radius-sm: 12px;
  --bc-radius-md: 12px;
  --bc-radius-lg: 12px;
  --bc-radius-xl: 12px;
  --bc-space-1: 4px;
  --bc-space-2: 8px;
  --bc-space-3: 12px;
  --bc-space-4: 16px;
  --bc-space-5: 20px;
  --bc-space-6: 24px;
  --bc-space-8: 32px;
  --bc-space-10: 40px;
  --bc-space-12: 48px;
  --bc-sidebar-width: clamp(224px,15vw,252px);
  color-scheme: light !important;
  color: var(--bc-text-primary) !important;
  background: var(--bc-page-bg) !important;
}

html.bc-theme-light body {
  color: var(--bc-text-primary) !important;
  background: var(--bc-page-bg) !important;
  background-image: none !important;
}

html.bc-theme-light body::before,
html.bc-theme-light body::after {
  display: none !important;
  content: none !important;
}

html.bc-theme-light body :is(h1,h2,h3,h4,h5,h6,strong,b,legend) {
  color: var(--bc-text-primary) !important;
}

html.bc-theme-light body :is(
  p,small,label,.section-copy,.helper,.muted,.subtitle,.description,.help-text
) {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body :is(.eyebrow,.mini-eyebrow,.kicker,.section-label,.card-kicker) {
  color: var(--bc-primary) !important;
}

html.bc-theme-light body :is(a,.link,.text-link,.text-button,.back-button,.link-button) {
  color: var(--bc-primary) !important;
}

html.bc-theme-light body :is(a,.link,.text-link,.text-button,.back-button,.link-button):hover {
  color: var(--bc-primary-hover) !important;
}

html.bc-theme-light body ::selection {
  color: #FFFFFF !important;
  background: #234E8B !important;
}

html.bc-theme-light body .bc-app-sidebar {
  color: var(--bc-text-primary) !important;
  border: 0 !important;
  border-right: 1px solid var(--bc-border-soft) !important;
  border-radius: 0 !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: 8px 0 32px rgba(35,78,139,.045) !important;
  scrollbar-color: #C7CDD4 #F6F8FB !important;
}

html.bc-theme-light body .bc-sidebar-brand {
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
}

html.bc-theme-light body .bc-sidebar-brand img {
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: 0 8px 22px rgba(35,78,139,.08) !important;
  filter: none !important;
}

html.bc-theme-light body .bc-sidebar-brand strong {
  color: var(--bc-primary) !important;
}

html.bc-theme-light body .bc-sidebar-brand span,
html.bc-theme-light body :is(.bc-sidebar-label,.bc-local-label) {
  color: var(--bc-text-muted) !important;
}

html.bc-theme-light body .bc-nav-item,
html.bc-theme-light body .bc-app-sidebar .bc-local-navigation :is(
  .nav-button,a.nav,button.nav,.dashboardLink
) {
  color: var(--bc-text-secondary) !important;
  border-color: transparent !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}

html.bc-theme-light body .bc-nav-item:hover,
html.bc-theme-light body .bc-app-sidebar .bc-local-navigation :is(
  .nav-button,a.nav,button.nav,.dashboardLink
):hover {
  color: var(--bc-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body :is(.bc-nav-icon,.bc-app-sidebar .nav-icon) {
  color: var(--bc-primary-secondary) !important;
  background: #F6F8FB !important;
}

html.bc-theme-light body .bc-nav-item.is-active,
html.bc-theme-light body .bc-app-sidebar .bc-local-navigation :is(
  .nav-button.active,a.nav.active,button.nav.active,.dashboardLink.active
) {
  color: var(--bc-text-inverse) !important;
  border-color: var(--bc-primary) !important;
  background: var(--bc-primary) !important;
  background-image: none !important;
  box-shadow: var(--systema-primary-action-shadow) !important;
}

html.bc-theme-light body .bc-nav-item.is-active .bc-nav-icon,
html.bc-theme-light body .bc-app-sidebar .bc-local-navigation :is(
  .nav-button.active,a.nav.active,button.nav.active
) .nav-icon {
  color: var(--bc-text-inverse) !important;
  background: rgba(255,255,255,.14) !important;
}

html.bc-theme-light body :is(
  .bc-local-toggle,.bc-sidebar-footer,.bc-sidebar-footer > div,
  .bc-app-sidebar .bc-local-navigation .sidebar-card
) {
  color: var(--bc-text-secondary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  .bc-page-navigation,.topbar,.header-actions,.deadline-toolbar,.compliance-toolbar,.session-card,
  .workspace-tabs,.case-controls,.tabs,[class$="-tabs"],[role="tablist"],.pagination,.pager
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: var(--bc-shadow-xs) !important;
  backdrop-filter: none !important;
}

html.bc-theme-light body :is(
  .bc-page-nav-link,.workspace-tab,[role="tab"],.tab,.queue-tab,.scope-tab
) {
  color: var(--bc-text-secondary) !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  .bc-page-nav-link,.workspace-tab,[role="tab"],.tab,.queue-tab,.scope-tab
):hover {
  color: var(--bc-primary) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body :is(
  .bc-page-nav-link.is-active,.workspace-tab.active,[role="tab"][aria-selected="true"],
  .tab.active,.queue-tab.active,.scope-tab.active
) {
  color: var(--bc-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,
  .staff-header,.portal-header,.compliance-hero,.client-compliance-hero,.client-ticket-header,
  .contract-header
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: var(--systema-header-shadow) !important;
}

html.bc-theme-light body :is(
  header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,
  .staff-header,.portal-header,.compliance-hero,.client-compliance-hero,.client-ticket-header,
  .contract-header
)::before {
  display: block !important;
  content: "" !important;
  opacity: .025 !important;
  background: url("../../assets/logo-bova-capaldo-3d.jpeg") center/contain no-repeat !important;
  filter: grayscale(1) saturate(0) brightness(1.15) contrast(.72) !important;
}

html.bc-theme-light body :is(
  header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,
  .staff-header,.portal-header,.compliance-hero,.client-compliance-hero,.client-ticket-header,
  .contract-header
)::after {
  display: none !important;
  content: none !important;
}

html.bc-theme-light body :is(
  .panel,.card,[class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "],
  .studio-card,.toolbar,[class$="-toolbar"],[class*="-toolbar "],.filters,[class$="-filters"],
  [class*="-filters "],.filter-panel,.status-strip,.summary-strip,.scope-switch,.data-block,
  .document-folder,.client-document-group,.moduleCard,.portal-view,.management-bar,
  .client-communications-layout,.client-thread-form,.message-form,.status-banner,.email-box,
  .studio-login-brand,.login-brand,.studio-cloud-state,.access-message,.agenda-task,.agenda-side,
  .agenda-notes,.agenda-checklist,.agenda-client-results,.mail-trace,.connection-pill,.preview-pill,
  .filters-bar,.case-controls,.audit-filters,.internal-peers,.internal-conversation,
  .permission-box,.closures-card,.message-thread,.message-bubble,.permission-grid label,
  .weekday-grid label,.enforce-check,.client-assignment-grid label,.scope-all,.role-cards article,
  .rank-card,.email-preview,.choice-card,.booking-pinned,.representative-guidance,.client-options,
  .deadline-list-head,.quick-status,.quarterStatusCard,.movementBulkBar,.salary-registry-summary,
  .salary-results > div,.inail-results > div,.salary-debt-row,.drive-preview pre,.queue-tabs,
  .client-compliance-side article,.compliance-privacy-note,.compliance-dialog,
  .login-shell,.auth-shell,.access-shell,.client-login,.collaborator-login,.portal-shell,
  .login-panel,.auth-panel,.access-panel,.client-access-card
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: var(--systema-card-shadow) !important;
  backdrop-filter: none !important;
}

html.bc-theme-light body :is(
  .role-cards,.module-grid,[class$="-cards"],[class$="-grid"]
) > :is(article,.card,[class$="-card"]) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: var(--systema-card-shadow) !important;
}

html.bc-theme-light body :is(
  .kpi,.metric,.stat-card,.control-kpis > article,.kpis > article,[class$="-kpis"] > article,
  [class*="-kpis "] > article,.kpi-strip > article,.kpi-strip > div,.summary-card,
  .dashboard-summary-grid > article,.dashboard-summary-grid > div,.miniKpis > div,
  .client-ticket-summary > article
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: var(--systema-card-shadow) !important;
}

html.bc-theme-light body :is(
  .kpi,.metric,.stat-card,.control-kpis > article,.kpis > article,[class$="-kpis"] > article,
  [class*="-kpis "] > article,.kpi-strip > article,.kpi-strip > div,.summary-card,
  .dashboard-summary-grid > article,.dashboard-summary-grid > div,.miniKpis > div,
  .client-ticket-summary > article
) :is(strong,.value,.kpi-value) {
  color: var(--bc-text-primary) !important;
}

html.bc-theme-light body :is(.module-code,.bc-local-toggle b) {
  color: var(--bc-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-page-bg) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  button,.button,.btn
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-strong) !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  button,.button,.btn
):hover:not(:disabled) {
  color: var(--bc-primary) !important;
  border-color: var(--bc-primary-secondary) !important;
  background: var(--bc-page-bg) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  .action-button:not(.secondary):not(.danger),.primary-button,.primary-action,.btn-primary,
  .save-button,.create-button,.open-button
) {
  color: var(--bc-text-inverse) !important;
  border-color: var(--bc-primary) !important;
  background: var(--bc-primary) !important;
  background-image: none !important;
  box-shadow: var(--systema-primary-action-shadow) !important;
}

html.bc-theme-light body :is(
  .action-button:not(.secondary):not(.danger),.primary-button,.primary-action,.btn-primary,
  .save-button,.create-button,.open-button
):hover:not(:disabled) {
  color: var(--bc-text-inverse) !important;
  border-color: var(--bc-primary-hover) !important;
  background: var(--bc-primary-hover) !important;
  box-shadow: var(--systema-primary-action-shadow-hover) !important;
}

html.bc-theme-light body :is(
  .secondary,.button.secondary,.btn.secondary,.btn-secondary,.secondary-button,.ghost-button,
  .ghost-action,.mini,.table-action,.row-action,.icon-button,.pagination button,.pager button,
  .header-back-link,.cancel-button,.close-button
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-strong) !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  .secondary,.button.secondary,.btn.secondary,.btn-secondary,.secondary-button,.ghost-button,
  .ghost-action,.mini,.table-action,.row-action,.icon-button,.pagination button,.pager button,
  .header-back-link,.cancel-button,.close-button
):hover:not(:disabled) {
  color: var(--bc-primary-hover) !important;
  border-color: var(--bc-silver) !important;
  background: var(--bc-page-bg) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  .danger-button,.redAction,.row-action.danger,.btn.danger,.action-button.danger
) {
  color: var(--bc-text-inverse) !important;
  border-color: var(--bc-danger) !important;
  background: var(--bc-danger) !important;
  box-shadow: var(--systema-danger-action-shadow) !important;
}

html.bc-theme-light body :is(button,.button,.btn):disabled {
  color: var(--bc-text-disabled) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-page-bg) !important;
  box-shadow: none !important;
  opacity: .62 !important;
}

html.bc-theme-light body :is(input,select,textarea,.locked-field,.money-display,.money-edit) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-strong) !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: var(--systema-field-inset) !important;
}

html.bc-theme-light body :is(input,select,textarea)::placeholder {
  color: var(--bc-text-muted) !important;
  opacity: 1 !important;
}

html.bc-theme-light body :is(input,select,textarea):hover:not(:disabled) {
  border-color: var(--bc-primary-secondary) !important;
}

html.bc-theme-light body :is(input,select,textarea):focus {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-primary) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--systema-focus-ring) !important;
}

html.bc-theme-light body :is(input[type="checkbox"],input[type="radio"]) {
  accent-color: var(--bc-primary) !important;
}

html.bc-theme-light body :is(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline-color: #234E8B !important;
  box-shadow: 0 0 0 3px rgba(35,78,139,.1) !important;
}

html.bc-theme-light body :is(
  .table-wrap,.table-scroll,.deadline-table-wrap,.audit-table,.client-list,.thread-list,
  .ticket-list,.simple-list,.version-list,.folder-tree,.message-thread,.timeline,.tableWrap
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: var(--systema-card-shadow) !important;
}

html.bc-theme-light body table,
html.bc-theme-light body tbody td {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
}

html.bc-theme-light body thead th {
  color: var(--bc-text-secondary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-page-bg) !important;
}

html.bc-theme-light body tbody tr:nth-child(even) td {
  background: var(--bc-surface) !important;
}

html.bc-theme-light body tbody tr:hover td {
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body :is(
  .assignment,.activity,.priority-row,.client-row,.version-row,.folder-button,.ticket-card,
  .client-button,.thread-button,.client-document-row,.client-document-preview-row,.message-bubble,
  .timeline-event,.control-row,.deadline-row,.sdm-row,.client-ticket-event,.client-ticket-button
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(
  .assignment,.activity,.priority-row,.client-row,.version-row,.folder-button,.ticket-card,
  .client-button,.thread-button,.client-document-row,.client-document-preview-row,.timeline-event,
  .deadline-row,.sdm-row,.client-ticket-event,.client-ticket-button
):nth-child(even) {
  background: var(--bc-surface) !important;
}

html.bc-theme-light body :is(
  .assignment,.activity,.priority-row,.client-row,.version-row,.folder-button,.ticket-card,
  .client-button,.thread-button,.client-document-row,.client-document-preview-row,.timeline-event,
  .deadline-row,.sdm-row,.client-ticket-event,.client-ticket-button
):hover {
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body :is(
  .ticket-card.active,.client-ticket-button.active,.client-button.active,.thread-button.active,
  .client-thread-button.active
) {
  color: var(--bc-text-primary) !important;
  border-color: #234E8B !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: inset 3px 0 0 #234E8B !important;
}

html.bc-theme-light body :is(
  dialog,.modal,.dialog-card,.modal-body,.salary-email-dialog,#sdmModal,
  .studio-notification-panel,.studio-message-toast,.client-message-toast,.pwa-install-toast,
  .agenda-toast,.toast,[role="alert"],.drawer,[class$="-drawer"],[class*="-drawer "],
  .tooltip,[role="tooltip"],.bc-preview-badge,.studio-real-preview-badge
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-strong) !important;
  background: #FFFFFF !important;
  background-image: none !important;
  box-shadow: var(--bc-shadow-md) !important;
  backdrop-filter: none !important;
}

html.bc-theme-light body :is(dialog,.modal,#sdmModal)::backdrop,
html.bc-theme-light body :is(.modal-backdrop,.bc-modal-overlay) {
  background: rgba(23,38,58,.28) !important;
  backdrop-filter: none !important;
}

html.bc-theme-light body :is(
  .personal-agenda,.agenda-dialog,.agenda-calendar,.agenda-calendar-grid,.calendar-grid,.calendar,
  .agenda-calendar-day,.calendar-day,.day-cell,.agenda-day
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: #FFFFFF !important;
  background-image: none !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body :is(.agenda-calendar-day,.calendar-day,.day-cell,.agenda-day).today {
  color: #234E8B !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: inset 0 0 0 1px #4F79B4 !important;
}

html.bc-theme-light body :is(.agenda-calendar-day,.calendar-day,.day-cell,.agenda-day).selected {
  color: #FFFFFF !important;
  background: #234E8B !important;
  box-shadow: none !important;
}

html.bc-theme-light body :is(.empty-state,.empty,.sdm-empty) {
  color: var(--bc-text-secondary) !important;
  border-color: var(--bc-border-soft) !important;
  background: #FFFFFF !important;
  background-image: none !important;
}

html.bc-theme-light body :is(.bc-skeleton,.skeleton,[class*="skeleton"]) {
  background: #E7EBEF !important;
  background-image: none !important;
}

html.bc-theme-light body .personal-agenda.is-loading::after {
  color: #234E8B !important;
  background: #FFFFFF !important;
  backdrop-filter: none !important;
}

html.bc-theme-light body :is(
  .pill,.status-pill,.status-badge,.priority-badge,.compliance-status,
  .workflow-status,.mini-badge
) {
  color: var(--bc-text-primary) !important;
  border-color: #234E8B !important;
  border-radius: 12px !important;
  background: #FFFFFF !important;
  box-shadow: inset 3px 0 0 #234E8B !important;
}

html.bc-theme-light body :is(
  .pill.payment,.status-pill.payment,.status-badge.payment,.status-badge.to-pay,
  .pill.gold,.pill.warning,.status-pill.warning,.status-badge.warning,.status-badge.pending,
  .priority-badge.medium,.compliance-status.attention,.workflow-status.status-pending
) {
  color: var(--bc-text-primary) !important;
  border-color: #F59E0B !important;
  background: #FFFFFF !important;
  box-shadow: inset 3px 0 0 #F59E0B !important;
}

html.bc-theme-light body :is(
  .pill.red,.pill.danger,.pill.urgent,.status-pill.danger,.status-pill.error,
  .status-badge.danger,.status-badge.expired,.priority-badge.urgent,.priority-badge.high,
  .compliance-status.critical,.workflow-status.status-error,.workflow-status.status-overdue,
  .mini-badge.urgent
) {
  color: var(--bc-text-primary) !important;
  border-color: #EF4444 !important;
  background: #FFFFFF !important;
  box-shadow: inset 3px 0 0 #EF4444 !important;
}

html.bc-theme-light body :is(
  .pill.green,.pill.success,.status-pill.success,.status-badge.success,.status-badge.regular,
  .compliance-status.regular,.workflow-status.status-completed,.workflow-status.status-success
) {
  color: var(--bc-text-primary) !important;
  border-color: #22C55E !important;
  background: #FFFFFF !important;
  box-shadow: inset 3px 0 0 #22C55E !important;
}

html.bc-theme-light body :is(
  .pill.gray,.pill.neutral,.status-pill.neutral,.status-badge.neutral,.priority-badge.low,
  .compliance-status.neutral,.workflow-status.status-neutral
) {
  color: var(--bc-text-secondary) !important;
  border-color: #C7CDD4 !important;
  background: #FFFFFF !important;
  box-shadow: inset 3px 0 0 #C7CDD4 !important;
}

html.bc-theme-light body :is(
  .pill,.status-pill,.status-badge,.priority-badge,.compliance-status,
  .workflow-status,.mini-badge
) :where(span,strong,b,small) {
  color: inherit !important;
}

html.bc-theme-light body :is(.message-bubble.studio,.client-ticket-event.cliente) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: #F6F8FB !important;
}

html.bc-theme-light body :is(.readonly-badge,.connection-pill,.preview-pill) {
  color: #234E8B !important;
  border-color: #234E8B !important;
  background: #FFFFFF !important;
}

html.bc-theme-light body :is(.representative-guidance,.carbon-locked-notice,.quarterStatusCard.locked) {
  color: var(--bc-text-primary) !important;
  border-color: #22C55E !important;
  background: #FFFFFF !important;
  box-shadow: inset 3px 0 0 #22C55E !important;
}

html.bc-theme-light body iframe {
  color-scheme: light !important;
  background: #F6F8FB !important;
}

html.bc-theme-light body ::-webkit-scrollbar-track {
  background: #F6F8FB !important;
}

html.bc-theme-light body ::-webkit-scrollbar-thumb {
  border: 2px solid #F6F8FB !important;
  background: #C7CDD4 !important;
}

html.bc-theme-light body ::-webkit-scrollbar-thumb:hover {
  background: #4F79B4 !important;
}

html.bc-theme-light body :is(
  .chart,.chart-bar,.progress,.progress-bar,.kpi-progress,[role="progressbar"]
) {
  accent-color: #234E8B !important;
}

html.bc-theme-light body :is(.chart-bar,.progress-bar,[role="progressbar"] > span) {
  background: #234E8B !important;
  background-image: none !important;
}

/* ==========================================================================
   SYSTEMA · Architettura visiva 03
   Griglia modulare da 8px, gerarchia e densità coerenti in ogni area.
   ========================================================================== */

html.bc-theme-light {
  --systema-grid-unit: 8px;
  --systema-space-1: 8px;
  --systema-space-2: 16px;
  --systema-space-3: 24px;
  --systema-space-4: 32px;
  --systema-space-5: 40px;
  --systema-space-6: 48px;
  --systema-space-7: 56px;
  --systema-space-8: 64px;
  --systema-page-gutter: 32px;
  --systema-page-bottom: 64px;
  --systema-section-gap: 32px;
  --systema-component-gap: 16px;
  --systema-card-padding: 24px;
  --systema-control-height: 40px;
  --systema-control-height-client: 48px;
  --systema-content-max: 1600px;
  --bc-sidebar-width: 240px;
}

html.bc-theme-light :where(
  .dashboard-shell,.staff-shell,.archive-shell,.desk-shell,.portal-shell,.ticket-shell,
  .compliance-shell,.deadline-shell,.client-ticket-shell,main.main
) {
  width: min(100%,var(--systema-content-max)) !important;
  max-width: var(--systema-content-max) !important;
  margin-inline: auto !important;
  padding: var(--systema-page-gutter) var(--systema-page-gutter) var(--systema-page-bottom) !important;
}

html.bc-theme-light .app-shell > :where(.main,.workspace) {
  min-width: 0 !important;
  padding: var(--systema-page-gutter) var(--systema-page-gutter) var(--systema-page-bottom) !important;
}

html.bc-theme-light body :where(
  .dashboard-shell,.staff-shell,.archive-shell,.desk-shell,.portal-shell,.ticket-shell,
  .compliance-shell,.client-ticket-shell
) > :where(
  header,.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,
  .staff-header,.portal-header,.compliance-hero,.client-compliance-hero,.client-ticket-header
) {
  margin-block: 0 var(--systema-section-gap) !important;
}

html.bc-theme-light body :where(
  header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,
  .staff-header,.portal-header,.compliance-hero,.client-compliance-hero,.client-ticket-header,
  .contract-header
) {
  padding: var(--systema-card-padding) !important;
}

html.bc-theme-light body :where(
  header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,
  .staff-header,.portal-header,.compliance-hero,.client-compliance-hero,.client-ticket-header,
  .contract-header
) :where(.header-copy,.hero-text,.heading-copy) {
  display: grid;
  gap: var(--systema-space-1) !important;
  align-content: start;
}

html.bc-theme-light body :where(
  header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,
  .staff-header,.portal-header,.compliance-hero,.client-compliance-hero,.client-ticket-header,
  .contract-header
) :where(.header-actions,.actions,.hero-actions) {
  display: flex;
  gap: var(--systema-space-2) !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

html.bc-theme-light body :where(
  .dashboard-grid,.module-grid,.kpi-grid,.control-grid,.client-kpis,.compliance-kpis,
  .avvisi-dashboard-grid,.dashboard-summary-grid,.miniKpis,.role-cards,.choice-grid,
  .systema-grid
) {
  gap: var(--systema-component-gap) !important;
  align-items: stretch !important;
}

html.bc-theme-light body :where(
  .dashboard-grid,.module-grid,.kpi-grid,.control-grid,.client-kpis,.compliance-kpis,
  .avvisi-dashboard-grid,.dashboard-summary-grid,.miniKpis,.role-cards,.choice-grid,
  .systema-grid
) > :where(article,.card,[class$="-card"],[class$="-panel"]) {
  min-width: 0;
  height: 100%;
}

html.bc-theme-light body :where(
  .panel,.card,.studio-card,.dashboard-card,.data-card,.control-card,.custom-card,
  .session-card,.cloud-card,.drive-card,.rank-card,.choice-card,.due-card,
  .systema-card,[data-systema-component="card"]
) {
  padding: var(--systema-card-padding) !important;
}

html.bc-theme-light body :where(
  .panel-heading,.card-heading,.card-header,.section-heading,.dialog-heading,
  .client-panel-heading,.systema-card-header
) {
  display: flex;
  min-width: 0;
  gap: var(--systema-space-2) !important;
  align-items: flex-start;
  justify-content: space-between;
  margin: 0 !important;
  padding: 0 0 var(--systema-space-2) !important;
}

html.bc-theme-light body :where(
  .panel-heading,.card-heading,.card-header,.section-heading,.dialog-heading,
  .client-panel-heading,.systema-card-header
) + :where(.card-body,.panel-body,.content,.table-wrap,.table-scroll,form) {
  margin-top: var(--systema-space-2) !important;
}

html.bc-theme-light body :where(
  section,.section,.dashboard-section,.avvisi-dashboard-section,.activity-panel,
  .assignments-panel,.documents-panel,.folder-panel,.detail-panel,.conversation-panel,
  .clients-panel,.cases-panel,.queue-panel,.systema-section
) + :where(
  section,.section,.dashboard-section,.avvisi-dashboard-section,.activity-panel,
  .assignments-panel,.documents-panel,.folder-panel,.detail-panel,.conversation-panel,
  .clients-panel,.cases-panel,.queue-panel,.systema-section
) {
  margin-top: var(--systema-section-gap) !important;
}

html.bc-theme-light body :where(
  .toolbar,[class$="-toolbar"],[class*="-toolbar "],.filters,[class$="-filters"],
  [class*="-filters "],.filter-panel,.filters-bar,.compact-filters,.case-controls,
  .audit-filters,.deadline-toolbar,.control-toolbar,.systema-filters
) {
  display: flex;
  gap: var(--systema-space-2) !important;
  align-items: end;
  flex-wrap: wrap;
  padding: var(--systema-space-2) !important;
  margin-block: 0 var(--systema-space-3) !important;
}

html.bc-theme-light body :where(
  .toolbar,[class$="-toolbar"],[class*="-toolbar "],.filters,[class$="-filters"],
  [class*="-filters "],.filter-panel,.filters-bar,.compact-filters,.case-controls,
  .audit-filters,.deadline-toolbar,.control-toolbar,.systema-filters
) > :where(label,.field,.form-field,.filter-field) {
  display: grid;
  min-width: min(100%,192px);
  gap: var(--systema-space-1) !important;
}

html.bc-theme-light body :where(
  form,.form-grid,.dialog-fields,.client-ticket-fields,.client-thread-fields,
  .check-grid,.permission-grid,.systema-form
) {
  gap: var(--systema-space-2) !important;
}

html.bc-theme-light body :where(
  .form-actions,.dialog-actions,.header-actions,.filter-actions,.compact-actions,
  .dialog-actions,.client-dialog-actions,.client-ticket-actions,.systema-actions
) {
  display: flex;
  gap: var(--systema-space-2) !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

html.bc-theme-light body :where(
  button,.button,.btn,.action-button,.primary-button,.secondary-button,
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select
) {
  min-height: var(--systema-control-height);
}

html.bc-theme-light body textarea {
  min-height: 112px;
  padding: var(--systema-space-2) !important;
}

html.bc-theme-light body :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select
) {
  padding-inline: var(--systema-space-2) !important;
}

html.bc-theme-light body :where(table,.systema-table) :where(th,td) {
  padding: var(--systema-space-2) !important;
}

html.bc-theme-light body :where(
  .table-wrap,.table-scroll,.deadline-table-wrap,.audit-table,.tableWrap
) {
  margin-top: var(--systema-space-2) !important;
}

html.bc-theme-light body :where(
  .pagination,.pager,.due-pagination,.folder-pager
) {
  display: flex;
  gap: var(--systema-space-1) !important;
  align-items: center;
  justify-content: center;
  margin-top: var(--systema-space-3) !important;
}

html.bc-theme-light body :where(
  .status-strip,.summary-strip,.control-kpis,.kpi-strip,.kpi-grid,.kpis,
  [class$="-kpis"],.dashboard-summary-grid,.miniKpis
) {
  margin-block: 0 var(--systema-space-3) !important;
}

html.bc-theme-light body :where(
  .kpi,.metric,.stat-card,.control-kpis > article,.kpis > article,[class$="-kpis"] > article,
  [class*="-kpis "] > article,.kpi-strip > article,.kpi-strip > div,.summary-card,
  .dashboard-summary-grid > article,.dashboard-summary-grid > div,.miniKpis > div,
  .client-ticket-summary > article
) {
  padding: var(--systema-space-3) !important;
}

html.bc-theme-light body :where(
  .login-shell,.auth-shell,.access-shell,.client-login,.collaborator-login
) {
  gap: var(--systema-space-4) !important;
  padding: var(--systema-space-4) !important;
}

html.bc-theme-light body :where(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,.client-document-groups
) {
  --systema-component-gap: 24px;
  --systema-card-padding: 32px;
}

html.bc-theme-light body :where(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,.client-document-groups
) :where(
  .module-grid,.kpi-grid,.client-kpis,.client-document-groups,.dashboard-grid
) {
  gap: var(--systema-space-3) !important;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr));
}

html.bc-theme-light body :where(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,.client-document-groups
) :where(
  .button,.btn,.primary-button,.secondary-button,.systema-button,
  input:not([type="checkbox"]):not([type="radio"]),select
) {
  min-height: var(--systema-control-height-client);
}

html.bc-theme-light body :where(
  footer,.footer,.page-footer,.portal-footer,.systema-footer
) {
  margin-top: var(--systema-space-6) !important;
  padding-block: var(--systema-space-3) !important;
}

@media (max-width: 1120px) {
  html.bc-theme-light {
    --systema-page-gutter: 24px;
    --systema-page-bottom: 48px;
    --systema-section-gap: 24px;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light {
    --systema-page-gutter: 16px;
    --systema-page-bottom: 32px;
    --systema-section-gap: 24px;
    --systema-card-padding: 16px;
  }

  html.bc-theme-light :where(
    .dashboard-shell,.staff-shell,.archive-shell,.desk-shell,.portal-shell,.ticket-shell,
    .compliance-shell,.deadline-shell,.client-ticket-shell,main.main
  ) {
    padding: var(--systema-page-gutter) var(--systema-page-gutter) var(--systema-page-bottom) !important;
  }

  html.bc-theme-light body :where(
    header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,.ticket-header,
    .staff-header,.portal-header,.compliance-hero,.client-compliance-hero,.client-ticket-header,
    .contract-header
  ) :where(.header-actions,.actions,.hero-actions),
  html.bc-theme-light body :where(
    .form-actions,.dialog-actions,.filter-actions,.compact-actions,.client-dialog-actions,
    .client-ticket-actions,.systema-actions
  ) {
    width: 100%;
    justify-content: stretch;
  }

  html.bc-theme-light body :where(
    .form-actions,.dialog-actions,.filter-actions,.compact-actions,.client-dialog-actions,
    .client-ticket-actions,.systema-actions
  ) > :where(button,.button,.btn,a) {
    flex: 1 1 100%;
  }
}

/* ==========================================================================
   SYSTEMA · Libreria componenti 04
   Tipografia, icone, controlli e feedback condivisi dall'intero ecosistema.
   Solo presentazione: nessuna regola modifica eventi, dati o comportamento.
   ========================================================================== */

html.bc-theme-light {
  --systema-font-sans: Inter,"SF Pro Text","Segoe UI",Arial,sans-serif;
  --systema-weight-normal: 400;
  --systema-weight-medium: 500;
  --systema-weight-semibold: 600;
  --systema-weight-bold: 700;
  --systema-type-level-1: clamp(32px,3vw,40px);
  --systema-type-level-2: clamp(24px,2vw,32px);
  --systema-type-level-3: 18px;
  --systema-type-level-4: 14px;
  --systema-type-level-5: 12px;
  --systema-line-heading: 1.2;
  --systema-line-content: 1.5;
  --systema-icon-small: 16px;
  --systema-icon-standard: 20px;
  --systema-icon-large: 24px;
  --systema-icon-label-size: 11px;
  --systema-icon-stroke-width: 1.75;
  --systema-line-icon: 1;
  --systema-badge-height: 24px;
}

html.bc-theme-light body {
  font-family: var(--systema-font-sans) !important;
  font-weight: var(--systema-weight-normal);
  line-height: var(--systema-line-content);
}

/* Gerarchia tipografica ufficiale. */
html.bc-theme-light body :where(
  .hero,.dashboard-header,.deadline-hero,.compliance-hero,.archive-header,
  .desk-header,.client-ticket-header,.contract-header,.portal-header,.staff-header
) :where(h1,.page-title),
html.bc-theme-light body :where(h1.systema-title,[data-systema-type="page-title"]) {
  font-size: var(--systema-type-level-1) !important;
  font-weight: var(--systema-weight-bold) !important;
  line-height: var(--systema-line-heading) !important;
  letter-spacing: var(--systema-letter-spacing-page) !important;
  text-transform: none !important;
}

html.bc-theme-light body :where(
  main,section,.section,.dashboard-section,.systema-section
) > :where(h2,.section-title),
html.bc-theme-light body :where(h2.systema-title,[data-systema-type="section-title"]) {
  font-size: var(--systema-type-level-2) !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: var(--systema-line-heading) !important;
  letter-spacing: var(--systema-letter-spacing-section) !important;
  text-transform: none !important;
}

html.bc-theme-light body :where(
  .panel-heading,.card-heading,.card-header,.dialog-heading,.section-heading,
  .client-panel-heading,.systema-card-header
) :where(h2,h3,h4,.title),
html.bc-theme-light body :where(
  h3.systema-title,h4.systema-title,[data-systema-type="card-title"]
) {
  font-size: var(--systema-type-level-3) !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: var(--systema-line-card-title) !important;
  letter-spacing: var(--systema-letter-spacing-card) !important;
  text-transform: none !important;
}

html.bc-theme-light body :where(
  p,label,legend,input,select,textarea,button,.button,.btn,.field-label,
  .form-label,.description,.systema-body,[data-systema-type="body"]
) {
  font-size: var(--systema-type-level-4);
}

html.bc-theme-light body :where(
  small,.small,.caption,.helper-text,.meta,.muted,.secondary-text,
  .systema-caption,[data-systema-type="secondary"]
) {
  font-size: var(--systema-type-level-5) !important;
  font-weight: var(--systema-weight-normal) !important;
  line-height: var(--systema-line-content) !important;
}

html.bc-theme-light body :where(
  h1,h2,h3,h4,h5,h6,p,label,legend,button,.button,.btn,
  .page-title,.section-title,.card-title,.description
) {
  text-transform: none;
}

html.bc-theme-light body :where(strong,b) {
  font-weight: var(--systema-weight-bold);
}

/* Iconografia: segno lineare, dimensioni e allineamento unici. */
html.bc-theme-light body :where(
  .bc-nav-icon,.nav-icon,.module-icon,.module-code,.kpi-icon,.card-icon,
  .systema-icon,[data-systema-component="icon"]
) {
  display: inline-grid !important;
  width: var(--systema-icon-large);
  height: var(--systema-icon-large);
  min-width: var(--systema-icon-large);
  min-height: var(--systema-icon-large);
  flex: 0 0 var(--systema-icon-large);
  place-items: center;
  color: currentColor !important;
  border: var(--systema-border-width) solid var(--systema-icon-border) !important;
  border-radius: var(--systema-icon-radius) !important;
  background: var(--systema-icon-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  font-size: var(--systema-icon-label-size) !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: var(--systema-line-icon) !important;
}

html.bc-theme-light body :where(
  .bc-nav-icon,.nav-icon,.module-icon,.module-code,.kpi-icon,.card-icon,
  .systema-icon,[data-systema-component="icon"]
) :where(svg) {
  width: var(--systema-icon-standard) !important;
  height: var(--systema-icon-standard) !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: var(--systema-icon-stroke-width) !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  filter: none !important;
}

html.bc-theme-light body :where(
  .bc-nav-icon,.nav-icon,.module-icon,.module-code,.kpi-icon,.card-icon,
  .systema-icon,[data-systema-component="icon"]
) :where(img) {
  width: var(--systema-icon-standard) !important;
  height: var(--systema-icon-standard) !important;
  object-fit: contain;
  filter: none !important;
}

html.bc-theme-light body :where(
  .icon-small,[data-systema-icon-size="small"]
) {
  width: var(--systema-icon-small) !important;
  height: var(--systema-icon-small) !important;
  min-width: var(--systema-icon-small) !important;
  min-height: var(--systema-icon-small) !important;
}

html.bc-theme-light body :where(
  .icon-large,[data-systema-icon-size="large"]
) {
  width: var(--systema-icon-large) !important;
  height: var(--systema-icon-large) !important;
}

/* Pulsanti: geometria, tipografia, animazione e stati condivisi. */
html.bc-theme-light body :where(
  button,.button,.btn,.action-button,.primary-button,.secondary-button,
  .save-button,.back-button,.blueAction,.greenAction,.ghostAction,
  .dangerButton,.danger-button,.systema-button,[data-systema-component="button"]
) {
  min-height: var(--systema-accessible-target) !important;
  padding: 0 var(--systema-button-padding-inline) !important;
  gap: var(--systema-control-gap) !important;
  border-radius: var(--systema-control-radius) !important;
  font-size: var(--systema-type-level-4) !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: var(--systema-line-heading) !important;
  letter-spacing: var(--systema-letter-spacing-control) !important;
  text-transform: none !important;
  transition:
    color var(--systema-motion-duration) var(--systema-motion-easing),
    border-color var(--systema-motion-duration) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing),
    box-shadow var(--systema-motion-duration) var(--systema-motion-easing),
    opacity var(--systema-motion-duration) var(--systema-motion-easing),
    transform var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  .icon-button,.table-action,.row-action,
  [data-systema-component="icon-button"]
) {
  display: inline-flex !important;
  width: var(--systema-accessible-target) !important;
  min-width: var(--systema-accessible-target) !important;
  min-height: var(--systema-accessible-target) !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
}

html.bc-theme-light body :where(
  .icon-button,[data-systema-component="icon-button"]
) :where(svg) {
  width: var(--systema-icon-standard) !important;
  height: var(--systema-icon-standard) !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: var(--systema-icon-stroke-width) !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html.bc-theme-light body :where(
  button,.button,.btn,.action-button,.primary-button,.secondary-button,
  .save-button,.back-button,.blueAction,.greenAction,.ghostAction,
  .dangerButton,.danger-button,.systema-button,[data-systema-component="button"]
):not(:disabled):active {
  transform: translateY(1px) !important;
}

html.bc-theme-light body :where(
  button,.button,.btn,.action-button,.primary-button,.secondary-button,
  .save-button,.back-button,.blueAction,.greenAction,.ghostAction,
  .dangerButton,.danger-button,.systema-button,[data-systema-component="button"]
):disabled,
html.bc-theme-light body :where(
  button,.button,.btn,.systema-button,[data-systema-component="button"]
)[aria-disabled="true"] {
  cursor: not-allowed !important;
  opacity: .48 !important;
  transform: none !important;
}

html.bc-theme-light body :where(
  button,.button,.btn,.systema-button,[data-systema-component="button"]
):where([aria-busy="true"],.is-loading,.loading) {
  cursor: progress !important;
  pointer-events: none;
}

html.bc-theme-light body :where(
  button,.button,.btn,.systema-button,[data-systema-component="button"]
):where([aria-busy="true"],.is-loading,.loading)::after {
  width: 16px;
  height: 16px;
  content: "";
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: systemaComponentSpin 720ms linear infinite;
}

@keyframes systemaComponentSpin {
  to { transform: rotate(1turn); }
}

/* Campi, selezioni e controlli binari. */
html.bc-theme-light body :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,textarea,.systema-field,[data-systema-component="field"]
) {
  min-height: var(--systema-control-height) !important;
  padding-inline: 16px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: 12px !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
  font-size: var(--systema-type-level-4) !important;
  font-weight: var(--systema-weight-normal) !important;
  transition:
    border-color var(--systema-motion-duration) var(--systema-motion-easing),
    box-shadow var(--systema-motion-duration) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body textarea {
  min-height: 112px !important;
  padding: 16px !important;
}

html.bc-theme-light body :where(input[type="checkbox"],input[type="radio"]) {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--bc-primary);
}

html.bc-theme-light body :where(
  .switch,.toggle,.toggle-switch,[data-systema-component="switch"]
) {
  color: var(--bc-text-secondary);
  accent-color: var(--bc-primary);
  transition:
    color var(--systema-motion-duration) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing),
    border-color var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where([role="switch"][aria-checked="true"]) {
  color: var(--bc-primary) !important;
  border-color: var(--bc-primary) !important;
  background-color: var(--bc-primary-soft) !important;
}

/* Card e KPI ufficiali. */
html.bc-theme-light body :where(
  .panel,.card,.studio-card,.dashboard-card,.data-card,.control-card,.custom-card,
  .session-card,.cloud-card,.drive-card,.rank-card,.choice-card,.due-card,
  .systema-card,[data-systema-component="card"]
) {
  padding: var(--systema-card-padding) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body :where(
  .kpi,.metric,.stat-card,.control-kpis > article,.kpis > article,
  [class$="-kpis"] > article,[class*="-kpis "] > article,
  .kpi-strip > article,.kpi-strip > div,.summary-card,
  .dashboard-summary-grid > article,.dashboard-summary-grid > div,.miniKpis > div,
  .client-ticket-summary > article
) :where(.label,.title,.kpi-label,.metric-label,small) {
  color: var(--bc-text-secondary) !important;
  font-size: var(--systema-type-level-5) !important;
  font-weight: var(--systema-weight-medium) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html.bc-theme-light body :where(
  .kpi,.metric,.stat-card,.control-kpis > article,.kpis > article,
  [class$="-kpis"] > article,[class*="-kpis "] > article,
  .kpi-strip > article,.kpi-strip > div,.summary-card,
  .dashboard-summary-grid > article,.dashboard-summary-grid > div,.miniKpis > div,
  .client-ticket-summary > article
) :where(.value,.number,.kpi-value,.metric-value,strong) {
  color: var(--bc-text-primary) !important;
  font-size: 32px !important;
  font-weight: var(--systema-weight-bold) !important;
  line-height: 1.1 !important;
  letter-spacing: -.016em !important;
}

html.bc-theme-light body :where(
  .kpi,.metric,.stat-card,.summary-card,[data-systema-component="kpi"]
)::after {
  width: 24px;
  height: 2px;
  border-radius: 2px;
}

/* Badge e stati: struttura identica, cambia solo il colore semantico. */
html.bc-theme-light body :where(
  .badge,.pill,.status-pill,.status-badge,.priority-badge,.compliance-status,
  .workflow-status,.mini-badge,.systema-status,
  [data-systema-component="badge"],[data-systema-component="status"]
) {
  display: inline-flex !important;
  min-height: var(--systema-badge-height) !important;
  padding: 0 8px !important;
  gap: 8px !important;
  align-items: center;
  justify-content: center;
  border-radius: 12px !important;
  font-size: 11px !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: 1 !important;
  letter-spacing: .024em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

/* Tabelle: intestazioni leggibili, righe uniformi e azioni allineate. */
html.bc-theme-light body :where(table,.systema-table) {
  color: var(--bc-text-primary) !important;
  font-size: var(--systema-type-level-4);
}

html.bc-theme-light body :where(table,.systema-table) :where(th,td) {
  height: 48px;
  padding: 8px 16px !important;
  font-weight: var(--systema-weight-normal);
}

html.bc-theme-light body :where(table,.systema-table) thead th {
  color: var(--bc-text-secondary) !important;
  background: var(--bc-page-bg) !important;
  font-size: var(--systema-type-level-5) !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html.bc-theme-light body :where(table,.systema-table) tbody tr {
  transition: background-color var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  .table-actions,.row-actions,[data-systema-component="table-actions"]
) {
  display: flex;
  gap: 8px !important;
  align-items: center;
  justify-content: flex-end;
}

/* Popup, modali, toast e menu condividono la stessa costruzione. */
html.bc-theme-light body :where(
  dialog,.modal,.dialog,.dialog-card,.compliance-dialog,.agenda-dialog,
  .client-ticket-dialog,.carbonLockDialog,.systema-modal,[role="dialog"]
) {
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-lg) !important;
}

html.bc-theme-light body :where(
  .dialog-heading,.modal-header,.sdm-head,.systema-modal-header
) {
  padding: 24px !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
}

html.bc-theme-light body :where(
  .dialog-actions,.modal-footer,.sdm-actions,.client-dialog-actions,
  .systema-modal-footer
) {
  padding: 16px 24px !important;
  border-top: 1px solid var(--bc-border-soft) !important;
}

html.bc-theme-light body :where(
  .toast,.notification,.studio-message-toast,.studio-message-toast-inner,
  .client-message-toast,.pwa-install-toast,.agenda-toast,.systema-toast,
  [data-systema-component="toast"]
) {
  gap: 16px !important;
  padding: 16px !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light body :where(
  .toast,.notification,.studio-message-toast-inner,.systema-toast,
  [data-systema-component="toast"]
) :where(strong,.toast-title) {
  font-size: var(--systema-type-level-4) !important;
  font-weight: var(--systema-weight-semibold) !important;
}

html.bc-theme-light body :where(
  .toast,.notification,.studio-message-toast-inner,.systema-toast,
  [data-systema-component="toast"]
) :where(p,span,.toast-description) {
  color: var(--bc-text-secondary) !important;
  font-size: var(--systema-type-level-5) !important;
}

html.bc-theme-light body :where(
  .dropdown-menu,.context-menu,.popover-menu,.menu-panel,.systema-menu,
  [role="menu"],[data-systema-component="menu"]
) {
  padding: 8px !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 12px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light body :where(
  .dropdown-menu,.context-menu,.popover-menu,.menu-panel,.systema-menu,
  [role="menu"],[data-systema-component="menu"]
) :where(a,button,[role="menuitem"]) {
  min-height: 40px !important;
  padding: 0 12px !important;
  gap: 8px !important;
  color: var(--bc-text-primary) !important;
  border-radius: 8px !important;
  background: transparent !important;
  font-size: var(--systema-type-level-4) !important;
  font-weight: var(--systema-weight-medium) !important;
}

html.bc-theme-light body :where(
  .dropdown-menu,.context-menu,.popover-menu,.menu-panel,.systema-menu,
  [role="menu"],[data-systema-component="menu"]
) :where(a,button,[role="menuitem"]):hover {
  color: var(--bc-primary) !important;
  background: var(--bc-primary-softer) !important;
}

/* Unica grammatica di movimento e accessibilità. */
html.bc-theme-light body :where(
  a,button,.button,.btn,input,select,textarea,.card,.panel,
  [role="menuitem"],[role="tab"],[role="switch"]
) {
  transition-duration: var(--systema-motion-duration) !important;
  transition-timing-function: var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  .route-container,.module-shell,.view.active,.portal-view.active,.workspace-view.active
) {
  animation-duration: var(--systema-motion-duration) !important;
  animation-timing-function: var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  a,button,.button,.btn,input,select,textarea,[role="button"],
  [role="menuitem"],[role="tab"],[role="switch"],[tabindex]
):focus-visible {
  outline: 2px solid var(--bc-primary) !important;
  outline-offset: 2px !important;
  box-shadow: var(--systema-focus-ring) !important;
}

html.bc-theme-light body :where(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,.client-document-groups
) :where(
  button,.button,.btn,.primary-button,.secondary-button,.systema-button,
  input:not([type="checkbox"]):not([type="radio"]),select
) {
  min-height: var(--systema-control-height-client) !important;
}

@media (forced-colors: active) {
  html.bc-theme-light body :where(
    a,button,.button,.btn,input,select,textarea,[role="button"],
    [role="menuitem"],[role="tab"],[role="switch"]
  ):focus-visible {
    outline: 2px solid Highlight !important;
    box-shadow: none !important;
  }

  html.bc-theme-light body :where(
    .badge,.pill,.status-pill,.status-badge,.priority-badge,.compliance-status,
    .workflow-status,.mini-badge,.systema-status
  ) {
    border: 1px solid CanvasText !important;
  }
}

/* ==========================================================================
   SYSTEMA · Navigazione globale 05
   Sidebar, header, breadcrumb e flusso visivo condivisi da tutti i ruoli.
   Il contratto usa la navigazione esistente senza alterare routing o permessi.
   ========================================================================== */

html.bc-theme-light {
  --systema-sidebar-expanded: 240px;
  --systema-sidebar-compact: 80px;
  --systema-header-height: 72px;
  --systema-navigation-height: 40px;
  --systema-navigation-icon: 24px;
  --systema-navigation-gap: 8px;
  --systema-navigation-indent: 32px;
  --systema-tooltip-offset: 12px;
  --systema-notification-size: 40px;
  --bc-sidebar-width: var(--systema-sidebar-expanded);
}

/* Struttura verticale ufficiale: marchio, strumenti, menu e area personale. */
html.bc-theme-light body .bc-app-sidebar {
  display: grid !important;
  grid-template-rows: auto auto minmax(0,1fr) auto;
  align-content: stretch;
  width: var(--bc-sidebar-width) !important;
  padding: 24px 16px 16px !important;
  gap: 16px !important;
  overflow: hidden !important;
  color: var(--bc-text-primary) !important;
  border: 0 !important;
  border-right: 1px solid var(--bc-border-soft) !important;
  border-radius: 0 !important;
  background: var(--bc-surface) !important;
  box-shadow: 8px 0 32px rgba(35,78,139,.045) !important;
  transition:
    width var(--systema-motion-duration) var(--systema-motion-easing),
    padding var(--systema-motion-duration) var(--systema-motion-easing),
    box-shadow var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body .bc-sidebar-brand {
  display: grid !important;
  grid-template-columns: 48px minmax(0,1fr);
  min-height: 64px;
  gap: 12px !important;
  align-items: center;
  padding: 0 8px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

html.bc-theme-light body .bc-sidebar-brand img {
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 50% !important;
  box-shadow: 0 8px 20px rgba(35,78,139,.08) !important;
}

html.bc-theme-light body .bc-sidebar-brand > div {
  min-width: 0;
}

html.bc-theme-light body .bc-sidebar-brand strong {
  display: block;
  color: var(--bc-text-primary) !important;
  font-size: 14px !important;
  font-weight: var(--systema-weight-bold) !important;
  line-height: 1.25 !important;
  letter-spacing: .08em !important;
}

html.bc-theme-light body .bc-sidebar-brand span {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: var(--bc-text-secondary) !important;
  font-size: 10px !important;
  font-weight: var(--systema-weight-medium) !important;
  line-height: 1.25 !important;
  letter-spacing: .08em !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.bc-theme-light body :where(
  .bc-global-search,.bc-sidebar-search,[data-systema-navigation="search"]
) {
  position: relative;
  display: grid;
  grid-template-columns: var(--systema-navigation-icon) minmax(0,1fr);
  min-height: var(--systema-navigation-height);
  gap: var(--systema-navigation-gap);
  align-items: center;
  padding: 0 12px !important;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: 12px !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  .bc-global-search,.bc-sidebar-search,[data-systema-navigation="search"]
) :where(input) {
  min-width: 0;
  min-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body .bc-sidebar-label,
html.bc-theme-light body :where(
  .bc-sidebar-section-title,[data-systema-navigation="section-title"]
) {
  margin: 0 !important;
  padding: 0 12px !important;
  color: var(--bc-text-muted) !important;
  font-size: 11px !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html.bc-theme-light body .bc-sidebar-nav {
  display: flex !important;
  min-height: 0;
  gap: var(--systema-navigation-gap) !important;
  padding: 0 4px 8px 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  flex-direction: column;
  align-items: stretch;
  scrollbar-width: thin;
  scrollbar-color: var(--bc-silver) transparent;
}

html.bc-theme-light body .bc-nav-item,
html.bc-theme-light body .bc-app-sidebar .bc-local-navigation :where(
  .nav-button,a.nav,button.nav,.dashboardLink
) {
  position: relative;
  display: grid !important;
  grid-template-columns: var(--systema-navigation-icon) minmax(0,1fr);
  min-height: var(--systema-navigation-height) !important;
  gap: 12px !important;
  align-items: center;
  padding: 0 12px !important;
  overflow: visible;
  color: var(--bc-text-secondary) !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: var(--systema-weight-medium) !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition:
    color var(--systema-motion-duration) var(--systema-motion-easing),
    border-color var(--systema-motion-duration) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing),
    box-shadow var(--systema-motion-duration) var(--systema-motion-easing),
    transform var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body .bc-nav-item > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.bc-theme-light body .bc-nav-item :where(.bc-nav-icon,.nav-icon),
html.bc-theme-light body .bc-app-sidebar .bc-local-navigation .nav-icon {
  width: var(--systema-navigation-icon) !important;
  height: var(--systema-navigation-icon) !important;
  min-width: var(--systema-navigation-icon) !important;
  min-height: var(--systema-navigation-icon) !important;
  color: var(--bc-primary) !important;
  border: 1px solid currentColor !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body .bc-nav-item:hover,
html.bc-theme-light body .bc-app-sidebar .bc-local-navigation :where(
  .nav-button,a.nav,button.nav,.dashboardLink
):hover {
  color: var(--bc-primary) !important;
  border-color: rgba(35,78,139,.08) !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: none !important;
  transform: none !important;
}

html.bc-theme-light body .bc-nav-item.is-active,
html.bc-theme-light body .bc-app-sidebar .bc-local-navigation :where(
  .nav-button.active,a.nav.active,button.nav.active,.dashboardLink.active
) {
  color: var(--bc-text-inverse) !important;
  border-color: var(--bc-primary) !important;
  background: var(--bc-primary) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body .bc-nav-item.is-active :where(.bc-nav-icon,.nav-icon),
html.bc-theme-light body .bc-app-sidebar .bc-local-navigation :where(
  .nav-button.active,a.nav.active,button.nav.active
) .nav-icon {
  color: var(--bc-text-inverse) !important;
  border-color: rgba(255,255,255,.68) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Sezioni e sottomenu: guida sottile, rientro e movimento uniforme. */
html.bc-theme-light body :where(
  .bc-sidebar-section,.bc-sidebar-favorites,.bc-sidebar-personal,
  .bc-sidebar-settings,[data-systema-navigation="section"]
) {
  display: grid;
  gap: var(--systema-navigation-gap);
}

html.bc-theme-light body :where(
  .bc-submenu,.sidebar-submenu,.nav-submenu,[data-systema-navigation="submenu"]
) {
  display: grid;
  grid-template-rows: 0fr;
  margin-left: var(--systema-navigation-indent);
  padding-left: 12px;
  overflow: hidden;
  border-left: 1px solid var(--bc-border-soft);
  opacity: 0;
  transition:
    grid-template-rows var(--systema-motion-duration) var(--systema-motion-easing),
    opacity var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  .bc-sidebar-section.is-open,.bc-sidebar-section[aria-expanded="true"],
  .bc-nav-item.is-open,.bc-nav-item[aria-expanded="true"]
) + :where(
  .bc-submenu,.sidebar-submenu,.nav-submenu,[data-systema-navigation="submenu"]
),
html.bc-theme-light body :where(
  .bc-submenu.is-open,.sidebar-submenu.is-open,.nav-submenu.is-open,
  [data-systema-navigation="submenu"][data-state="open"]
) {
  grid-template-rows: 1fr;
  opacity: 1;
}

html.bc-theme-light body :where(
  .bc-submenu,.sidebar-submenu,.nav-submenu,[data-systema-navigation="submenu"]
) > :where(div,ul,nav) {
  min-height: 0;
}

html.bc-theme-light body .bc-sidebar-footer {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 16px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--bc-border-soft) !important;
  background: transparent !important;
}

html.bc-theme-light body .bc-sidebar-footer > div {
  display: grid !important;
  grid-template-columns: 32px minmax(0,1fr);
  min-height: 40px;
  gap: 8px !important;
  align-items: center;
  padding: 4px 8px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
}

html.bc-theme-light body .bc-sidebar-footer img {
  width: 32px !important;
  height: 32px !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 50% !important;
}

html.bc-theme-light body .bc-sidebar-footer > div > span {
  min-width: 0;
  overflow: hidden;
  color: var(--bc-text-secondary) !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  text-overflow: ellipsis;
}

html.bc-theme-light body .bc-sidebar-footer a {
  display: grid !important;
  grid-template-columns: var(--systema-navigation-icon) minmax(0,1fr);
  min-height: var(--systema-navigation-height);
  gap: 12px !important;
  align-items: center;
  padding: 0 12px !important;
  color: var(--bc-text-secondary) !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: var(--systema-weight-medium) !important;
  text-decoration: none !important;
}

html.bc-theme-light body .bc-sidebar-footer a:hover {
  color: var(--bc-primary) !important;
  border-color: rgba(35,78,139,.08) !important;
  background: var(--bc-primary-softer) !important;
}

/* Stato compatto predisposto per il medesimo stato persistente su ogni pagina. */
html.bc-theme-light:is(
  [data-bc-sidebar-state="compact"],.bc-sidebar-compact
) {
  --bc-sidebar-width: var(--systema-sidebar-compact);
}

html.bc-theme-light body .bc-app-sidebar.is-compact {
  width: var(--systema-sidebar-compact) !important;
}

html.bc-theme-light:is(
  [data-bc-sidebar-state="compact"],.bc-sidebar-compact
) body .bc-app-sidebar,
html.bc-theme-light body .bc-app-sidebar.is-compact {
  padding-inline: 12px !important;
  overflow: visible !important;
}

html.bc-theme-light:is(
  [data-bc-sidebar-state="compact"],.bc-sidebar-compact
) body .bc-sidebar-brand,
html.bc-theme-light body .bc-app-sidebar.is-compact .bc-sidebar-brand {
  grid-template-columns: 1fr;
  padding-inline: 0 !important;
  justify-items: center;
}

html.bc-theme-light:is(
  [data-bc-sidebar-state="compact"],.bc-sidebar-compact
) body :where(
  .bc-sidebar-brand > div,.bc-sidebar-label,.bc-sidebar-footer > div,
  .bc-global-search,.bc-sidebar-search
),
html.bc-theme-light body .bc-app-sidebar.is-compact :where(
  .bc-sidebar-brand > div,.bc-sidebar-label,.bc-sidebar-footer > div,
  .bc-global-search,.bc-sidebar-search
) {
  display: none !important;
}

html.bc-theme-light:is(
  [data-bc-sidebar-state="compact"],.bc-sidebar-compact
) body .bc-sidebar-nav,
html.bc-theme-light body .bc-app-sidebar.is-compact .bc-sidebar-nav {
  overflow: visible !important;
  padding-right: 0 !important;
}

html.bc-theme-light:is(
  [data-bc-sidebar-state="compact"],.bc-sidebar-compact
) body .bc-nav-item,
html.bc-theme-light body .bc-app-sidebar.is-compact .bc-nav-item {
  grid-template-columns: 1fr !important;
  padding: 8px !important;
  justify-items: center;
}

html.bc-theme-light:is(
  [data-bc-sidebar-state="compact"],.bc-sidebar-compact
) body .bc-nav-item > span,
html.bc-theme-light body .bc-app-sidebar.is-compact .bc-nav-item > span {
  position: absolute;
  z-index: var(--systema-layer-popup);
  top: 50%;
  left: calc(100% + var(--systema-tooltip-offset));
  display: block !important;
  width: max-content;
  max-width: 224px;
  padding: 8px 12px;
  overflow: visible;
  color: var(--bc-text-inverse) !important;
  border-radius: 8px;
  background: var(--bc-text-primary);
  box-shadow: var(--bc-shadow-md);
  opacity: 0;
  pointer-events: none;
  transform: translate(-4px,-50%);
  white-space: nowrap;
  transition:
    opacity var(--systema-motion-duration) var(--systema-motion-easing),
    transform var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light:is(
  [data-bc-sidebar-state="compact"],.bc-sidebar-compact
) body .bc-nav-item:hover > span,
html.bc-theme-light body .bc-app-sidebar.is-compact .bc-nav-item:hover > span {
  opacity: 1;
  transform: translate(0,-50%);
}

html.bc-theme-light:is(
  [data-bc-sidebar-state="compact"],.bc-sidebar-compact
) body .bc-sidebar-footer a,
html.bc-theme-light body .bc-app-sidebar.is-compact .bc-sidebar-footer a {
  grid-template-columns: 1fr;
  padding: 8px !important;
  justify-items: center;
}

/* Header globale: titolo, percorso, ricerca, notifiche, profilo e azioni rapide. */
html.bc-theme-light body :where(
  .systema-header,.page-header,.global-header,
  header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,
  .ticket-header,.staff-header,.portal-header,.compliance-hero,
  .client-compliance-hero,.client-ticket-header,.contract-header
) {
  min-height: var(--systema-header-height) !important;
  padding: 24px !important;
  gap: 16px 24px !important;
  align-items: center;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body :where(
  .systema-header,.page-header,.global-header,
  header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,
  .ticket-header,.staff-header,.portal-header,.compliance-hero,
  .client-compliance-hero,.client-ticket-header,.contract-header
) :where(h1,.page-title) {
  margin: 0 !important;
  color: var(--bc-text-primary) !important;
}

html.bc-theme-light body :where(
  .breadcrumb,.breadcrumbs,[aria-label="Breadcrumb"],
  [data-systema-navigation="breadcrumb"]
) {
  display: flex !important;
  min-height: 24px;
  gap: 8px !important;
  align-items: center;
  margin: 0 0 8px !important;
  padding: 0 !important;
  overflow: hidden;
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
  font-weight: var(--systema-weight-medium) !important;
  line-height: 1.4 !important;
  list-style: none;
}

html.bc-theme-light body :where(
  .breadcrumb,.breadcrumbs,[aria-label="Breadcrumb"],
  [data-systema-navigation="breadcrumb"]
) > * {
  display: inline-flex;
  min-width: 0;
  gap: 8px;
  align-items: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.bc-theme-light body :where(
  .breadcrumb,.breadcrumbs,[aria-label="Breadcrumb"],
  [data-systema-navigation="breadcrumb"]
) > * + *::before {
  color: var(--bc-silver-dark);
  content: "/";
  font-weight: var(--systema-weight-normal);
}

html.bc-theme-light body :where(
  .breadcrumb,.breadcrumbs,[aria-label="Breadcrumb"],
  [data-systema-navigation="breadcrumb"]
) a {
  color: var(--bc-text-secondary) !important;
  text-decoration: none !important;
}

html.bc-theme-light body :where(
  .breadcrumb,.breadcrumbs,[aria-label="Breadcrumb"],
  [data-systema-navigation="breadcrumb"]
) :where([aria-current="page"],.is-current) {
  color: var(--bc-text-primary) !important;
  font-weight: var(--systema-weight-semibold) !important;
}

html.bc-theme-light body :where(
  .systema-header-search,.header-search,.global-search,
  [data-systema-navigation="global-search"]
) {
  position: relative;
  display: grid;
  grid-template-columns: var(--systema-navigation-icon) minmax(0,1fr);
  width: min(100%,320px);
  min-height: var(--systema-navigation-height);
  gap: 8px;
  align-items: center;
}

html.bc-theme-light body :where(
  .systema-header-search,.header-search,.global-search,
  [data-systema-navigation="global-search"]
) input {
  width: 100%;
  min-height: var(--systema-navigation-height) !important;
}

html.bc-theme-light body :where(
  .notification-button,.notifications-button,.systema-notification-button,
  [data-systema-navigation="notifications"]
) {
  position: relative;
  width: var(--systema-notification-size) !important;
  min-width: var(--systema-notification-size) !important;
  min-height: var(--systema-notification-size) !important;
  padding: 0 !important;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 12px !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  .notification-count,.notification-badge,[data-systema-notification-count]
) {
  position: absolute;
  top: -4px;
  right: -4px;
  display: grid;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  place-items: center;
  color: var(--bc-text-inverse) !important;
  border: 2px solid var(--bc-surface);
  border-radius: 9px;
  background: var(--bc-danger) !important;
  font-size: 10px !important;
  font-weight: var(--systema-weight-bold) !important;
  line-height: 1 !important;
}

html.bc-theme-light body :where(
  .studio-notification-panel,.notification-popover,.notifications-panel,
  [data-systema-navigation="notification-panel"]
) {
  width: min(92vw,384px);
  max-height: min(70vh,560px);
  overflow: auto;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-lg) !important;
}

html.bc-theme-light body :where(
  .profile-button,.user-profile,.profile-summary,
  [data-systema-navigation="profile"]
) {
  display: grid;
  grid-template-columns: 40px minmax(0,1fr) 16px;
  min-height: 48px;
  gap: 8px;
  align-items: center;
  padding: 4px 8px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: transparent !important;
}

html.bc-theme-light body :where(
  .profile-button,.user-profile,.profile-summary,
  [data-systema-navigation="profile"]
) :where(.avatar,img) {
  width: 40px !important;
  height: 40px !important;
  object-fit: cover;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 50% !important;
}

html.bc-theme-light body :where(
  .profile-button,.user-profile,.profile-summary,
  [data-systema-navigation="profile"]
) :where(strong,.profile-name) {
  color: var(--bc-text-primary) !important;
  font-size: 14px !important;
  font-weight: var(--systema-weight-semibold) !important;
}

html.bc-theme-light body :where(
  .profile-button,.user-profile,.profile-summary,
  [data-systema-navigation="profile"]
) :where(small,.profile-role) {
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
}

html.bc-theme-light body :where(
  .header-actions,.quick-actions,.systema-quick-actions,
  [data-systema-navigation="quick-actions"]
) {
  display: flex !important;
  gap: 8px !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

/* Navigazioni di pagina: stessa geometria, nessun secondo linguaggio visivo. */
html.bc-theme-light body .bc-page-navigation {
  display: grid !important;
  gap: 16px !important;
  margin: 0 0 var(--systema-section-gap) !important;
  padding: 16px !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body .bc-page-navigation-title {
  display: grid !important;
  gap: 4px !important;
}

html.bc-theme-light body .bc-page-navigation-title strong {
  color: var(--bc-text-primary) !important;
  font-size: 14px !important;
  font-weight: var(--systema-weight-semibold) !important;
}

html.bc-theme-light body .bc-page-navigation-title span {
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
}

html.bc-theme-light body :where(
  .bc-function-navigation,.workspace-tabs,.portal-tabs,.compliance-navigation,
  [role="tablist"]
) {
  display: flex !important;
  gap: 8px !important;
  align-items: center;
  overflow-x: auto;
}

html.bc-theme-light body :where(
  .bc-page-nav-link,.workspace-tab,.portal-tab,.tab-button,[role="tab"]
) {
  min-height: var(--systema-navigation-height) !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: var(--systema-weight-medium) !important;
}

@media (max-width: 1120px) and (min-width: 681px) {
  html.bc-theme-light {
    --bc-sidebar-width: var(--systema-sidebar-compact);
  }

  html.bc-theme-light body .bc-app-sidebar {
    padding-inline: 12px !important;
    overflow: visible !important;
  }

  html.bc-theme-light body .bc-sidebar-brand {
    grid-template-columns: 1fr;
    padding-inline: 0 !important;
    justify-items: center;
  }

  html.bc-theme-light body :where(
    .bc-sidebar-brand > div,.bc-sidebar-label,.bc-sidebar-footer > div,
    .bc-global-search,.bc-sidebar-search
  ) {
    display: none !important;
  }

  html.bc-theme-light body .bc-sidebar-nav {
    overflow: visible !important;
    padding-right: 0 !important;
  }

  html.bc-theme-light body .bc-nav-item {
    grid-template-columns: 1fr !important;
    padding: 8px !important;
    justify-items: center;
  }

  html.bc-theme-light body .bc-nav-item > span {
    position: absolute;
    z-index: var(--systema-layer-popup);
    top: 50%;
    left: calc(100% + var(--systema-tooltip-offset));
    display: block !important;
    width: max-content;
    max-width: 224px;
    padding: 8px 12px;
    color: var(--bc-text-inverse) !important;
    border-radius: 8px;
    background: var(--bc-text-primary);
    box-shadow: var(--bc-shadow-md);
    opacity: 0;
    pointer-events: none;
    transform: translate(-4px,-50%);
    transition:
      opacity var(--systema-motion-duration) var(--systema-motion-easing),
      transform var(--systema-motion-duration) var(--systema-motion-easing) !important;
  }

  html.bc-theme-light body .bc-nav-item:hover > span {
    opacity: 1;
    transform: translate(0,-50%);
  }

  html.bc-theme-light body .bc-sidebar-footer a {
    grid-template-columns: 1fr;
    padding: 8px !important;
    justify-items: center;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light {
    --bc-sidebar-width: 0px;
  }

  html.bc-theme-light body .bc-app-sidebar {
    display: flex !important;
    width: 100% !important;
    padding: 8px !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  html.bc-theme-light body .bc-sidebar-brand {
    display: grid !important;
    flex: 0 0 48px;
    grid-template-columns: 1fr;
    min-height: 48px;
    padding: 0 !important;
    border-bottom: 0 !important;
    justify-items: center;
  }

  html.bc-theme-light body .bc-sidebar-brand img {
    width: 40px !important;
    height: 40px !important;
  }

  html.bc-theme-light body :where(
    .bc-sidebar-label,.bc-sidebar-footer,.bc-global-search,.bc-sidebar-search
  ) {
    display: none !important;
  }

  html.bc-theme-light body .bc-sidebar-nav {
    display: flex !important;
    width: 100% !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex-direction: row !important;
  }

  html.bc-theme-light body .bc-nav-item {
    flex: 0 0 48px !important;
    grid-template-columns: 1fr !important;
    min-height: 48px !important;
    padding: 8px !important;
    justify-items: center;
  }

  html.bc-theme-light body .bc-nav-item > span {
    display: none !important;
  }

  html.bc-theme-light body :where(
    .systema-header,.page-header,.global-header,
    header.hero,section.hero,.hero,.dashboard-header,.archive-header,.desk-header,
    .ticket-header,.staff-header,.portal-header,.compliance-hero,
    .client-compliance-hero,.client-ticket-header,.contract-header
  ) {
    padding: 16px !important;
  }

  html.bc-theme-light body :where(
    .systema-header-search,.header-search,.global-search,
    [data-systema-navigation="global-search"]
  ) {
    width: 100%;
  }

  html.bc-theme-light body :where(
    .header-actions,.quick-actions,.systema-quick-actions,
    [data-systema-navigation="quick-actions"]
  ) {
    width: 100%;
    justify-content: stretch;
  }
}

/* ==========================================================================
   SYSTEMA · Centro operativo 06
   Dashboard, KPI, widget e home page con gerarchia visiva unica.
   I dati e il loro ordinamento restano affidati alle funzioni esistenti.
   ========================================================================== */

html.bc-theme-light {
  --systema-dashboard-column-min: 224px;
  --systema-dashboard-widget-min: 320px;
  --systema-dashboard-kpi-height: 144px;
  --systema-dashboard-kpi-client-height: 160px;
  --systema-dashboard-row-height: 56px;
  --systema-dashboard-accent-size: 24px;
}

/* Struttura della home operativa. */
html.bc-theme-light body :where(
  .dashboard-shell,.desk-shell,.portal-shell,
  [data-systema-component="dashboard"]
) {
  display: grid !important;
  gap: var(--systema-section-gap) !important;
  align-content: start;
}

html.bc-theme-light body :where(
  .dashboard-shell,.desk-shell,.portal-shell,
  [data-systema-component="dashboard"]
) > * {
  min-width: 0;
  margin-block: 0 !important;
}

html.bc-theme-light body :where(
  .control-toolbar,.commandBar,.dashboard-actions,.dashboard-toolbar,
  .portal-heading-actions,[data-systema-dashboard="quick-actions"]
) {
  display: flex !important;
  gap: 8px 16px !important;
  align-items: end;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 16px !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body :where(
  .control-toolbar,.dashboard-toolbar,[data-systema-dashboard="quick-actions"]
) :where(.toolbar-fields,.dashboard-actions,.header-actions) {
  display: flex !important;
  gap: 8px !important;
  align-items: end;
  justify-content: flex-end;
  flex-wrap: wrap;
}

/* KPI ufficiali: medesima griglia, misura, tipografia e comportamento. */
html.bc-theme-light body :where(
  .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
  .client-ticket-summary,.compliance-kpis,.client-kpis,
  .client-compliance-kpis,.dashboard-summary-grid,.metrics,
  .avvisi-dashboard-kpis,[data-systema-dashboard="kpis"]
) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,var(--systema-dashboard-column-min)),1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
  .client-ticket-summary,.compliance-kpis,.client-kpis,
  .client-compliance-kpis,.dashboard-summary-grid,.metrics,
  .avvisi-dashboard-kpis,[data-systema-dashboard="kpis"]
) > :where(article,div,.kpi,.metric) {
  --systema-kpi-accent: var(--bc-primary);
  position: relative;
  display: grid !important;
  grid-template-rows: auto 1fr auto;
  min-width: 0;
  min-height: var(--systema-dashboard-kpi-height) !important;
  height: 100%;
  padding: 24px !important;
  overflow: hidden;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: var(--bc-shadow-sm) !important;
  transition:
    border-color var(--systema-motion-duration) var(--systema-motion-easing),
    box-shadow var(--systema-motion-duration) var(--systema-motion-easing),
    transform var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
  .client-ticket-summary,.compliance-kpis,.client-kpis,
  .client-compliance-kpis,.dashboard-summary-grid,.metrics,
  .avvisi-dashboard-kpis,[data-systema-dashboard="kpis"]
) > :where(article,div,.kpi,.metric):hover {
  border-color: var(--bc-border-strong) !important;
  box-shadow: var(--bc-shadow-md) !important;
  transform: none;
}

html.bc-theme-light body :where(
  .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
  .client-ticket-summary,.compliance-kpis,.client-kpis,
  .client-compliance-kpis,.dashboard-summary-grid,.metrics,
  .avvisi-dashboard-kpis,[data-systema-dashboard="kpis"]
) > :where(article,div,.kpi,.metric)::before {
  position: absolute;
  top: 24px;
  right: 24px;
  width: var(--systema-dashboard-accent-size);
  height: 2px;
  content: "";
  border: 0 !important;
  border-radius: 2px;
  background: var(--systema-kpi-accent) !important;
  box-shadow: none !important;
  opacity: .72;
}

html.bc-theme-light body :where(
  .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
  .client-ticket-summary,.compliance-kpis,.client-kpis,
  .client-compliance-kpis,.dashboard-summary-grid,.metrics,
  .avvisi-dashboard-kpis,[data-systema-dashboard="kpis"]
) > :where(article,div,.kpi,.metric)::after {
  display: none !important;
}

html.bc-theme-light body :where(
  .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
  .client-ticket-summary,.compliance-kpis,.client-kpis,
  .client-compliance-kpis,.dashboard-summary-grid,.metrics,
  .avvisi-dashboard-kpis,[data-systema-dashboard="kpis"]
) > :where(
  .danger,.red,.kpi-danger,[class*="danger"]
) {
  --systema-kpi-accent: var(--bc-danger);
}

html.bc-theme-light body :where(
  .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
  .client-ticket-summary,.compliance-kpis,.client-kpis,
  .client-compliance-kpis,.dashboard-summary-grid,.metrics,
  .avvisi-dashboard-kpis,[data-systema-dashboard="kpis"]
) > :where(
  .warning,.amber,.gold,.kpi-gold,[class*="warning"]
) {
  --systema-kpi-accent: var(--bc-warning);
}

html.bc-theme-light body :where(
  .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
  .client-ticket-summary,.compliance-kpis,.client-kpis,
  .client-compliance-kpis,.dashboard-summary-grid,.metrics,
  .avvisi-dashboard-kpis,[data-systema-dashboard="kpis"]
) > :where(
  .success,.green,[class*="success"]
) {
  --systema-kpi-accent: var(--bc-success);
}

html.bc-theme-light body :where(
  .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
  .client-ticket-summary,.compliance-kpis,.client-kpis,
  .client-compliance-kpis,.dashboard-summary-grid,.metrics,
  .avvisi-dashboard-kpis,[data-systema-dashboard="kpis"]
) > :where(article,div,.kpi,.metric) :where(
  span,.label,.title,.kpi-label,.metric-label
) {
  align-self: start;
  padding-right: 32px;
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
  font-weight: var(--systema-weight-medium) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html.bc-theme-light body :where(
  .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
  .client-ticket-summary,.compliance-kpis,.client-kpis,
  .client-compliance-kpis,.dashboard-summary-grid,.metrics,
  .avvisi-dashboard-kpis,[data-systema-dashboard="kpis"]
) > :where(article,div,.kpi,.metric) :where(
  strong,.value,.number,.kpi-value,.metric-value
) {
  align-self: center;
  margin: 12px 0 8px !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(28px,2.2vw,32px) !important;
  font-weight: var(--systema-weight-bold) !important;
  line-height: 1.08 !important;
  letter-spacing: -.024em !important;
}

html.bc-theme-light body :where(
  .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
  .client-ticket-summary,.compliance-kpis,.client-kpis,
  .client-compliance-kpis,.dashboard-summary-grid,.metrics,
  .avvisi-dashboard-kpis,[data-systema-dashboard="kpis"]
) > :where(article,div,.kpi,.metric) :where(
  small,.sub,.kpi-sub,.metric-sub,.variation
) {
  align-self: end;
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
  font-weight: var(--systema-weight-normal) !important;
  line-height: 1.4 !important;
}

html.bc-theme-light body :where(
  .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
  .client-ticket-summary,.compliance-kpis,.client-kpis,
  .client-compliance-kpis,.dashboard-summary-grid,.metrics,
  .avvisi-dashboard-kpis,[data-systema-dashboard="kpis"]
) :where(.kpi-icon,.metric-icon,[data-systema-component="icon"]) {
  width: 24px !important;
  height: 24px !important;
  color: var(--systema-kpi-accent,var(--bc-primary)) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Widget operativi: titolo, contenuto e azione sempre riconoscibili. */
html.bc-theme-light body :where(
  .dashboard-grid,.desk-grid,.avvisi-dashboard-grid,.dashboard-document-grid,
  [data-systema-dashboard="widgets"]
) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,var(--systema-dashboard-widget-min)),1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

html.bc-theme-light body :where(
  .dashboard-card,.avvisi-dashboard-section,.dashboard-document-card,
  .desk-grid > .panel,#dashboard.view.active > .panel,
  #dashboard.view.active > .grid > .panel,
  #view-dashboard.portal-view.active > .data-block,
  [data-systema-component="widget"]
) {
  min-width: 0;
  padding: 24px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body :where(
  .card-heading,.panel-heading,.card-header,.panelHead,
  .dashboard-block-heading,.avvisi-dashboard-heading,
  [data-systema-component="widget-header"]
) {
  display: flex !important;
  min-width: 0;
  gap: 16px !important;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
}

html.bc-theme-light body :where(
  .card-heading,.panel-heading,.card-header,.panelHead,
  .dashboard-block-heading,.avvisi-dashboard-heading,
  [data-systema-component="widget-header"]
) :where(h2,h3,.card-title) {
  color: var(--bc-text-primary) !important;
  font-size: 18px !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: 1.3 !important;
}

html.bc-theme-light body :where(
  .card-heading,.panel-heading,.card-header,.panelHead,
  .dashboard-block-heading,.avvisi-dashboard-heading,
  [data-systema-component="widget-header"]
) :where(p,span,.hint) {
  color: var(--bc-text-secondary) !important;
}

/* Priorità, scadenze e attività recenti. */
html.bc-theme-light body :where(
  .priority-list,.assignment-list,.activity-list,.traffic-list,
  .deadline-list,.recent-list,.notification-list,
  #carbonWarnings,[data-systema-dashboard="priority-list"],
  [data-systema-dashboard="recent-list"]
) {
  display: grid !important;
  gap: 0 !important;
  min-width: 0;
}

html.bc-theme-light body :where(
  .priority-list,.assignment-list,.activity-list,.traffic-list,
  .deadline-list,.recent-list,.notification-list,
  #carbonWarnings,[data-systema-dashboard="priority-list"],
  [data-systema-dashboard="recent-list"]
) > * {
  min-width: 0;
  min-height: var(--systema-dashboard-row-height);
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  .priority-list,.assignment-list,.activity-list,.traffic-list,
  .deadline-list,.recent-list,.notification-list,
  #carbonWarnings,[data-systema-dashboard="priority-list"],
  [data-systema-dashboard="recent-list"]
) > *:last-child {
  border-bottom: 0 !important;
}

html.bc-theme-light body :where(
  .priority-list,.assignment-list,.activity-list,.traffic-list,
  .deadline-list,.recent-list,.notification-list,
  #carbonWarnings,[data-systema-dashboard="priority-list"],
  [data-systema-dashboard="recent-list"]
) > *:hover {
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body :where(
  .due-card,.priorities-card,.assignments-panel,
  [data-systema-dashboard="deadlines"],
  [data-systema-dashboard="priorities"]
) {
  border-color: var(--bc-border-strong) !important;
}

html.bc-theme-light body :where(
  .due-filters,.dashboard-filter-panel,[data-systema-dashboard="filters"]
) {
  display: grid !important;
  grid-template-columns: minmax(min(100%,288px),2fr) repeat(auto-fit,minmax(min(100%,176px),1fr));
  gap: 16px !important;
  margin: 16px 0 !important;
  padding: 16px !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-page-bg) !important;
}

/* Report sintetici e grafici: colore informativo, nessun effetto decorativo. */
html.bc-theme-light body :where(
  .chart,.bars,.chart-bar,.progress,.progress-bar,.kpi-progress,
  [role="progressbar"],[data-systema-dashboard="chart"]
) {
  background-image: none !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  .bars,.chart,[data-systema-dashboard="chart"]
) {
  padding: 16px 0 !important;
}

html.bc-theme-light body :where(
  .progress,.progress-bar,.kpi-progress,[role="progressbar"]
) {
  overflow: hidden;
  border-radius: 4px !important;
}

/* Informazioni secondarie e accessi ai moduli restano nella fascia inferiore. */
html.bc-theme-light body :where(
  .module-grid,.clients-control-card,.modules-panel,
  [data-systema-dashboard="secondary"]
) {
  margin-top: 0 !important;
}

html.bc-theme-light body :where(
  .module-card,.client-alert-grid > *,
  [data-systema-dashboard="secondary-card"]
) {
  min-height: 128px;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

/* Area clienti: meno densità, card più ampie e lettura immediata. */
html.bc-theme-light body :where(
  .portal-shell,#view-dashboard.portal-view.active,
  [data-bc-role="client"] [data-systema-component="dashboard"]
) :where(
  .kpi-strip,.dashboard-summary-grid,.client-compliance-kpis
) > :where(article,div,.kpi,.metric) {
  min-height: var(--systema-dashboard-kpi-client-height) !important;
  padding: 24px !important;
}

html.bc-theme-light body #view-dashboard.portal-view.active {
  display: grid !important;
  gap: 24px !important;
}

html.bc-theme-light body #view-dashboard.portal-view.active > * {
  min-width: 0;
  margin: 0 !important;
}

html.bc-theme-light body #view-dashboard.portal-view.active .dashboard-summary-grid {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)) !important;
}

html.bc-theme-light body #view-dashboard.portal-view.active .dashboard-document-grid {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)) !important;
}

@media (max-width: 1120px) {
  html.bc-theme-light body :where(
    .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
    .client-ticket-summary,.compliance-kpis,.client-kpis,
    .client-compliance-kpis,.dashboard-summary-grid,.metrics,
    .avvisi-dashboard-kpis
  ) {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 900px) {
  html.bc-theme-light body :where(
    .dashboard-grid,.desk-grid,.avvisi-dashboard-grid,.dashboard-document-grid
  ) {
    grid-template-columns: 1fr !important;
  }

  html.bc-theme-light body :where(
    .control-toolbar,.commandBar,.dashboard-actions,.dashboard-toolbar,
    .portal-heading-actions
  ) {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light {
    --systema-dashboard-kpi-height: 128px;
    --systema-dashboard-kpi-client-height: 144px;
  }

  html.bc-theme-light body :where(
    .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
    .client-ticket-summary,.compliance-kpis,.client-kpis,
    .client-compliance-kpis,.dashboard-summary-grid,.metrics,
    .avvisi-dashboard-kpis
  ) {
    grid-template-columns: 1fr !important;
  }

  html.bc-theme-light body :where(
    .control-kpis,.kpi-grid,.kpis,.kpi-strip,.ticket-kpis,
    .client-ticket-summary,.compliance-kpis,.client-kpis,
    .client-compliance-kpis,.dashboard-summary-grid,.metrics,
    .avvisi-dashboard-kpis
  ) > :where(article,div,.kpi,.metric),
  html.bc-theme-light body :where(
    .dashboard-card,.avvisi-dashboard-section,.dashboard-document-card,
    .desk-grid > .panel,#dashboard.view.active > .panel,
    #dashboard.view.active > .grid > .panel,
    #view-dashboard.portal-view.active > .data-block
  ) {
    padding: 16px !important;
  }

  html.bc-theme-light body :where(
    .due-filters,.dashboard-filter-panel,[data-systema-dashboard="filters"]
  ) {
    grid-template-columns: 1fr !important;
  }

  html.bc-theme-light body :where(
    .card-heading,.panel-heading,.card-header,.panelHead,
    .dashboard-block-heading,.avvisi-dashboard-heading
  ) {
    align-items: stretch;
    flex-direction: column;
  }
}

/* ==========================================================================
   SYSTEMA · Gestione dati 07
   Form, input, filtri, tabelle, paginazione e stati operativi uniformi.
   Solo presentazione: campi, validazioni, query e azioni restano invariati.
   ========================================================================== */

html.bc-theme-light {
  --systema-field-height: 40px;
  --systema-field-height-client: 48px;
  --systema-field-radius: 12px;
  --systema-field-gap: 8px;
  --systema-form-gap: 16px;
  --systema-form-column-min: 240px;
  --systema-table-row-height: 48px;
  --systema-table-action-size: 40px;
  --systema-empty-icon-size: 48px;
}

/* Form: titolo, descrizione, campi, azioni. */
html.bc-theme-light body :where(
  form,.form-grid,.editor,.dialog-form,.contract-editor,
  .client-ticket-reply,.client-thread-form,[data-systema-component="form"]
) {
  min-width: 0;
  color: var(--bc-text-primary) !important;
}

html.bc-theme-light body :where(
  .form-grid,.salary-form-grid,.dialog-fields,.client-ticket-fields,
  .client-thread-fields,.check-grid,.permission-grid,
  [data-systema-component="form-grid"]
) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,var(--systema-form-column-min)),1fr));
  gap: var(--systema-form-gap) !important;
  align-items: start;
}

html.bc-theme-light body :where(
  .form-grid.two,.form-grid.inner,.form-grid.compact,
  [data-systema-form-columns="2"]
) {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}

html.bc-theme-light body :where(
  .span-2,.wide,[data-systema-field-span="full"]
) {
  grid-column: 1 / -1;
}

html.bc-theme-light body :where(
  .editor-card,.form-section,.salary-fieldset,.form-block,
  [data-systema-component="form-section"]
) {
  min-width: 0;
  margin: 0 !important;
  padding: 24px !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body :where(
  fieldset.form-section,fieldset.salary-fieldset,
  fieldset[data-systema-component="form-section"]
) {
  display: grid;
  gap: 16px;
}

html.bc-theme-light body :where(
  .form-section,.salary-fieldset,.form-block,
  [data-systema-component="form-section"]
) > :where(legend,.form-section-title,h2,h3) {
  width: auto;
  margin: 0;
  padding: 0 8px 0 0;
  color: var(--bc-text-primary) !important;
  font-size: 18px !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: 1.35 !important;
}

html.bc-theme-light body :where(
  .form-section-description,.section-copy,.placeholder-help,
  .inail-help,.security-note,.representative-guidance,
  [data-systema-component="form-help"]
) {
  margin: 0 !important;
  padding: 12px 16px !important;
  color: var(--bc-text-secondary) !important;
  border-left: 2px solid var(--bc-primary-secondary) !important;
  border-radius: 0 8px 8px 0 !important;
  background: var(--bc-primary-softer) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* Label sempre visibili e campi perfettamente allineati. */
html.bc-theme-light body :where(
  form,.form-grid,.editor,.dialog-form,.filter-panel,.filters-panel,
  .dashboard-filter-panel,.toolbar,.due-filters,.audit-toolbar,
  [data-systema-component="form"],[data-systema-component="filters"]
) :where(label,.field,.filter-field,.form-field) {
  position: relative;
  display: grid !important;
  min-width: 0;
  gap: var(--systema-field-gap) !important;
  align-content: start;
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html.bc-theme-light body :where(
  form,.form-grid,.editor,.dialog-form,.filter-panel,.filters-panel,
  .dashboard-filter-panel,.toolbar,.due-filters,.audit-toolbar
) :where(label,.field,.filter-field,.form-field):has(
  > input[required],> select[required],> textarea[required]
)::after {
  position: absolute;
  top: 0;
  right: 0;
  color: var(--bc-primary-secondary);
  content: "•";
  font-size: 14px;
  line-height: 1;
}

html.bc-theme-light body :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,textarea,.systema-field,[data-systema-component="field"]
) {
  width: 100%;
  min-width: 0;
  min-height: var(--systema-field-height) !important;
  padding: 0 16px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: var(--systema-field-radius) !important;
  outline: 0;
  background: var(--bc-surface) !important;
  background-image: none;
  box-shadow: none !important;
  font-family: var(--systema-font-sans) !important;
  font-size: 14px !important;
  font-weight: var(--systema-weight-normal) !important;
  line-height: 1.4 !important;
  transition:
    color var(--systema-motion-duration) var(--systema-motion-easing),
    border-color var(--systema-motion-duration) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing),
    box-shadow var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,textarea,.systema-field,[data-systema-component="field"]
):hover:not(:disabled):not([readonly]) {
  border-color: var(--bc-silver-dark) !important;
}

html.bc-theme-light body :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,textarea,.systema-field,[data-systema-component="field"]
):focus {
  border-color: var(--bc-primary) !important;
  box-shadow: 0 0 0 3px var(--bc-primary-soft) !important;
}

html.bc-theme-light body :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,textarea
):where(:disabled,[readonly]) {
  cursor: not-allowed;
  color: var(--bc-text-muted) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-page-bg) !important;
  opacity: .76;
}

html.bc-theme-light body :where(input,textarea)::placeholder {
  color: var(--bc-text-muted) !important;
  opacity: .82;
}

html.bc-theme-light body textarea {
  min-height: 112px !important;
  padding: 12px 16px !important;
  resize: vertical;
}

html.bc-theme-light body input[type="file"] {
  min-height: var(--systema-field-height) !important;
  padding: 4px !important;
  line-height: 30px !important;
}

html.bc-theme-light body input[type="file"]::file-selector-button {
  min-height: 30px;
  margin-right: 12px;
  padding: 0 12px;
  color: var(--bc-primary);
  border: 0;
  border-radius: 8px;
  background: var(--bc-primary-softer);
  font: inherit;
  font-weight: var(--systema-weight-semibold);
}

html.bc-theme-light body :where(
  input[type="date"],input[type="datetime-local"],input[type="month"],
  input[type="time"],input[type="week"]
) {
  color-scheme: light;
}

html.bc-theme-light body :where(
  input[type="date"],input[type="datetime-local"],input[type="month"],
  input[type="time"],input[type="week"]
)::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: .62;
}

/* Checkbox, radio e switch. */
html.bc-theme-light body :where(
  .check-line,.checkLine,.close-check,.confirm-destination,.choice-card,
  label:has(> input[type="checkbox"]),label:has(> input[type="radio"])
) {
  display: flex !important;
  min-height: 40px;
  gap: 8px !important;
  align-items: center;
  padding: 8px 12px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 12px !important;
  background: var(--bc-surface) !important;
  font-size: 14px !important;
  font-weight: var(--systema-weight-normal) !important;
}

html.bc-theme-light body :where(input[type="checkbox"],input[type="radio"]) {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  margin: 0 !important;
  accent-color: var(--bc-primary);
}

html.bc-theme-light body :where(
  .choice-card,.check-line,.checkLine,.close-check,.confirm-destination,
  label:has(> input[type="checkbox"]),label:has(> input[type="radio"])
):has(input:checked) {
  color: var(--bc-text-primary) !important;
  border-color: rgba(35,78,139,.28) !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  .switch,.toggle,.toggle-switch,[role="switch"],
  [data-systema-component="switch"]
) {
  min-width: 40px;
  min-height: 24px;
  border-radius: 12px !important;
  transition:
    color var(--systema-motion-duration) var(--systema-motion-easing),
    border-color var(--systema-motion-duration) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing),
    transform var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

/* Validazione locale al campo, mai aggressiva. */
html.bc-theme-light body :where(
  [aria-invalid="true"],.is-invalid,.field-error input,.field-error select,
  .field-error textarea,input.error,select.error,textarea.error
) {
  border-color: rgba(239,68,68,.58) !important;
  background: rgba(239,68,68,.025) !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.07) !important;
}

html.bc-theme-light body :where(
  .field-error,.validation-error,.error-message,.inail-validation,
  [data-systema-component="field-error"]
) {
  display: block;
  margin: 0 !important;
  padding: 4px 0 0 !important;
  color: #B4232D !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 12px !important;
  font-weight: var(--systema-weight-medium) !important;
  line-height: 1.45 !important;
}

html.bc-theme-light body :where(
  .field-help,.help-text,.helper-text,label > small,
  [data-systema-component="field-help"]
) {
  display: block;
  margin: 0 !important;
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
  font-weight: var(--systema-weight-normal) !important;
  line-height: 1.45 !important;
}

html.bc-theme-light body :where(
  .form-actions,.editor-actions,.dialog-actions,.filter-actions,
  .dashboard-filter-actions,.compact-actions,
  [data-systema-component="form-actions"]
) {
  display: flex !important;
  min-width: 0;
  gap: 8px !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: 8px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--bc-border-soft);
}

/* Filtri sempre sopra l'elenco e ricerca immediatamente raggiungibile. */
html.bc-theme-light body :where(
  .filters,.filters-panel,.filter-panel,.filter-panel-grid,.filter-toolbar,
  .filter-bar,.filters-bar,.compact-filters,.case-controls,.audit-filters,
  .audit-toolbar,.deadline-toolbar,.due-filters,.dashboard-filter-panel,
  [data-systema-component="filters"]
) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,208px),1fr));
  gap: 16px !important;
  align-items: end;
  margin: 0 0 16px !important;
  padding: 16px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body :where(
  .filters,.filters-panel,.filter-panel,.filter-panel-grid,.filter-toolbar,
  .filter-bar,.filters-bar,.compact-filters,.case-controls,.audit-filters,
  .audit-toolbar,.deadline-toolbar,.due-filters,.dashboard-filter-panel
) :where(
  .filter-search,.due-search,label:has(input[type="search"])
) {
  grid-column: span 2;
}

html.bc-theme-light body :where(
  .filter-summary,.result-summary,.table-summary,
  [data-systema-component="filter-summary"]
) {
  margin: -8px 0 16px !important;
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
  font-weight: var(--systema-weight-medium) !important;
}

/* Tabelle: testata persistente, righe regolari e azioni uniformi. */
html.bc-theme-light body :where(
  .table-wrap,.table-scroll,.deadline-table-wrap,.audit-table,.tableWrap,
  [data-systema-component="table-wrap"]
) {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: auto !important;
  overscroll-behavior-inline: contain;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs) !important;
  scrollbar-width: thin;
  scrollbar-color: var(--bc-silver) transparent;
}

html.bc-theme-light body :where(table,.systema-table) {
  width: 100%;
  min-width: 720px;
  table-layout: auto;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  color: var(--bc-text-primary) !important;
  background: var(--bc-surface) !important;
  font-size: 14px !important;
  font-variant-numeric: tabular-nums;
}

html.bc-theme-light body :where(table,.systema-table) thead th {
  position: sticky;
  z-index: 3;
  top: 0;
  height: 48px;
  padding: 8px 16px !important;
  color: var(--bc-text-secondary) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--bc-border-strong) !important;
  background: var(--bc-page-bg) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-align: left;
  text-transform: none !important;
  white-space: nowrap;
}

html.bc-theme-light body :where(table,.systema-table) tbody :where(th,td) {
  height: var(--systema-table-row-height);
  padding: 8px 16px !important;
  color: var(--bc-text-primary) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  font-size: 14px !important;
  font-weight: var(--systema-weight-normal) !important;
  line-height: 1.4 !important;
  vertical-align: middle !important;
}

html.bc-theme-light body :where(table,.systema-table) tbody tr {
  transition: background-color var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(table,.systema-table) tbody tr:hover > * {
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body :where(table,.systema-table) tbody tr:last-child > * {
  border-bottom: 0 !important;
}

html.bc-theme-light body :where(table,.systema-table) :where(
  .numeric,[data-type="number"],[data-type="currency"]
) {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
}

html.bc-theme-light body :where(table,.systema-table) th:where(
  [aria-sort],[data-sortable="true"],.sortable
) {
  cursor: pointer;
  padding-right: 32px !important;
}

html.bc-theme-light body :where(table,.systema-table) th:where(
  [aria-sort],[data-sortable="true"],.sortable
)::after {
  position: absolute;
  top: 50%;
  right: 12px;
  color: var(--bc-text-muted);
  content: "↕";
  font-size: 12px;
  transform: translateY(-50%);
}

html.bc-theme-light body :where(table,.systema-table) th[aria-sort="ascending"]::after {
  color: var(--bc-primary);
  content: "↑";
}

html.bc-theme-light body :where(table,.systema-table) th[aria-sort="descending"]::after {
  color: var(--bc-primary);
  content: "↓";
}

html.bc-theme-light body :where(table,.systema-table) th:where(
  [data-resizable="true"],.resizable
) {
  resize: horizontal;
  overflow: hidden;
}

html.bc-theme-light body :where(
  .table-actions,.row-actions,.actions-cell,.event-actions,
  [data-systema-component="table-actions"]
) {
  display: flex !important;
  min-width: max-content;
  gap: 8px !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
}

html.bc-theme-light body :where(
  .table-action,.row-action,.actions-cell button,.event-actions button,
  [data-systema-component="table-action"]
) {
  min-width: var(--systema-table-action-size);
  min-height: var(--systema-table-action-size) !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  font-weight: var(--systema-weight-semibold) !important;
  white-space: nowrap;
}

/* Paginazione sempre centrata sotto la tabella. */
html.bc-theme-light body :where(
  .pagination,.pager,.due-pagination,.folder-pager,
  [data-systema-component="pagination"]
) {
  display: flex !important;
  min-height: 40px;
  gap: 8px !important;
  align-items: center;
  justify-content: center;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  color: var(--bc-text-secondary) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  .pagination,.pager,.due-pagination,.folder-pager,
  [data-systema-component="pagination"]
) :where(button,a,.page) {
  min-width: 40px;
  min-height: 40px !important;
  padding: 0 12px !important;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 12px !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  .pagination,.pager,.due-pagination,.folder-pager,
  [data-systema-component="pagination"]
) :where(
  .active,[aria-current="page"],[aria-selected="true"]
) {
  color: var(--bc-text-inverse) !important;
  border-color: var(--bc-primary) !important;
  background: var(--bc-primary) !important;
}

/* Stati vuoti e caricamento: informativi, mai pagine bianche. */
html.bc-theme-light body :where(
  .empty-state,.empty,.empty-detail,.sdm-empty,.client-ticket-empty,
  .systema-empty,[data-systema-component="empty-state"]
) {
  display: grid;
  min-height: 176px;
  gap: 8px;
  place-content: center;
  justify-items: center;
  padding: 24px !important;
  color: var(--bc-text-secondary) !important;
  border: 1px dashed var(--bc-border-strong) !important;
  border-radius: 16px !important;
  background: var(--bc-page-bg) !important;
  box-shadow: none !important;
  text-align: center;
}

html.bc-theme-light body :where(
  .empty-state,.empty,.empty-detail,.sdm-empty,.client-ticket-empty,
  .systema-empty,[data-systema-component="empty-state"]
)::before {
  display: grid;
  width: var(--systema-empty-icon-size);
  height: var(--systema-empty-icon-size);
  margin-bottom: 4px;
  content: "—";
  place-items: center;
  color: var(--bc-primary-secondary);
  border: 1px solid var(--bc-border-strong);
  border-radius: 50%;
  background: var(--bc-surface);
  font-size: 20px;
  font-weight: var(--systema-weight-medium);
}

html.bc-theme-light body :where(
  .empty-state,.empty,.empty-detail,.sdm-empty,.client-ticket-empty,
  .systema-empty,[data-systema-component="empty-state"]
) :where(strong,h2,h3) {
  color: var(--bc-text-primary) !important;
  font-size: 16px !important;
  font-weight: var(--systema-weight-semibold) !important;
}

html.bc-theme-light body :where(
  .bc-skeleton,.skeleton,[class*="skeleton"],
  [data-systema-component="skeleton"]
) {
  position: relative;
  overflow: hidden;
  color: transparent !important;
  border-color: transparent !important;
  border-radius: 8px !important;
  background: var(--bc-silver-light) !important;
  background-image: none !important;
  box-shadow: none !important;
  animation: systemaDataSkeleton 1200ms ease-in-out infinite !important;
}

@keyframes systemaDataSkeleton {
  0%,100% { opacity: .58; }
  50% { opacity: 1; }
}

/* Area clienti: controlli più grandi e lettura meno densa. */
html.bc-theme-light body :where(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,[data-bc-role="client"]
) :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,button,.button,.btn
) {
  min-height: var(--systema-field-height-client) !important;
}

html.bc-theme-light body :where(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,[data-bc-role="client"]
) :where(
  table,.systema-table
) tbody :where(th,td) {
  height: 56px;
}

html.bc-theme-light body :where(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,[data-bc-role="client"]
) :where(
  .filters,.filters-panel,.filter-panel,.dashboard-filter-panel
) {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap: 16px !important;
}

@media (max-width: 900px) {
  html.bc-theme-light body :where(
    .form-grid.two,.form-grid.inner,.form-grid.compact,
    [data-systema-form-columns="2"]
  ) {
    grid-template-columns: 1fr !important;
  }

  html.bc-theme-light body :where(
    .span-2,.wide,[data-systema-field-span="full"]
  ) {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body :where(
    .form-grid,.salary-form-grid,.dialog-fields,.client-ticket-fields,
    .client-thread-fields,.check-grid,.permission-grid,
    .filters,.filters-panel,.filter-panel,.filter-panel-grid,.filter-toolbar,
    .filter-bar,.filters-bar,.compact-filters,.case-controls,.audit-filters,
    .audit-toolbar,.deadline-toolbar,.due-filters,.dashboard-filter-panel
  ) {
    grid-template-columns: 1fr !important;
  }

  html.bc-theme-light body :where(
    .filters,.filters-panel,.filter-panel,.filter-panel-grid,.filter-toolbar,
    .filter-bar,.filters-bar,.compact-filters,.case-controls,.audit-filters,
    .audit-toolbar,.deadline-toolbar,.due-filters,.dashboard-filter-panel
  ) :where(
    .filter-search,.due-search,label:has(input[type="search"])
  ) {
    grid-column: auto;
  }

  html.bc-theme-light body :where(
    .editor-card,.form-section,.salary-fieldset,.form-block
  ) {
    padding: 16px !important;
  }

  html.bc-theme-light body :where(
    .form-actions,.editor-actions,.dialog-actions,.filter-actions,
    .dashboard-filter-actions,.compact-actions
  ) {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  html.bc-theme-light body :where(
    .form-actions,.editor-actions,.dialog-actions,.filter-actions,
    .dashboard-filter-actions,.compact-actions
  ) > :where(button,.button,.btn,a) {
    width: 100%;
  }

  html.bc-theme-light body :where(table,.systema-table) {
    min-width: 640px;
  }
}

/* ==========================================================================
   SYSTEMA · Feedback e dialoghi 08
   Modali, conferme, notifiche, toast e avanzamenti condividono una sola
   grammatica visiva. Le regole non modificano visibilita o comportamento.
   ========================================================================== */

:root {
  --systema-dialog-width: 720px;
  --systema-dialog-width-compact: 560px;
  --systema-dialog-width-wide: 960px;
  --systema-dialog-gutter: 32px;
  --systema-dialog-section-space: 24px;
  --systema-toast-width: 360px;
  --systema-feedback-icon-size: 40px;
  --systema-progress-height: 8px;
  --systema-dialog-backdrop: rgba(23,38,58,.36);
}

/* Contenitore modale: proporzionato al contenuto e sempre consultabile. */
html.bc-theme-light body :where(
  dialog,.systema-modal,[data-systema-component="modal"]
) {
  width: min(calc(100vw - var(--systema-dialog-gutter)),var(--systema-dialog-width)) !important;
  max-width: var(--systema-dialog-width) !important;
  max-height: calc(100vh - var(--systema-dialog-gutter)) !important;
  margin: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-lg) !important;
}

html.bc-theme-light body :where(
  dialog.compact,dialog:has(> .dialog-card.compact),
  .dialog-compact,.systema-modal.compact,
  [data-systema-modal-size="compact"]
) {
  max-width: var(--systema-dialog-width-compact) !important;
}

html.bc-theme-light body :where(
  dialog.wide,.dialog-wide,.wide-dialog,.systema-modal.wide,
  [data-systema-modal-size="wide"]
) {
  width: min(calc(100vw - var(--systema-dialog-gutter)),var(--systema-dialog-width-wide)) !important;
  max-width: var(--systema-dialog-width-wide) !important;
}

html.bc-theme-light body :where(
  .modal-backdrop,.bc-modal-overlay,[data-systema-component="modal-overlay"]
) {
  padding: 16px !important;
  background: var(--systema-dialog-backdrop) !important;
  backdrop-filter: none !important;
}

html.bc-theme-light body :where(
  dialog,.systema-modal,[data-systema-component="modal"]
)::backdrop {
  background: var(--systema-dialog-backdrop) !important;
  backdrop-filter: none !important;
}

html.bc-theme-light body :where(
  .modal-backdrop,.bc-modal-overlay,[data-systema-component="modal-overlay"]
) > :where(
  .modal,[role="dialog"],.systema-modal,[data-systema-component="modal"]
) {
  width: min(calc(100vw - var(--systema-dialog-gutter)),var(--systema-dialog-width)) !important;
  max-width: var(--systema-dialog-width) !important;
  max-height: calc(100vh - var(--systema-dialog-gutter)) !important;
  overflow: hidden !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-lg) !important;
}

html.bc-theme-light body :where(
  dialog[open],.modal-backdrop.active > .modal,
  .bc-modal-overlay.active > .systema-modal,.systema-modal.is-open
) {
  animation: systemaDialogEnter var(--systema-motion-duration) var(--systema-motion-easing) both;
}

@keyframes systemaDialogEnter {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Ogni finestra mantiene la sequenza: titolo, descrizione, contenuto, azioni. */
html.bc-theme-light body :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) > :where(
  form:not(.modal-body):not(.form-grid),
  .dialog-card,.dialog-form,.client-ticket-dialog,.compliance-dialog,
  .carbonLockCard,.systema-modal-card
) {
  display: flex !important;
  width: 100%;
  min-width: 0;
  max-height: calc(100vh - var(--systema-dialog-gutter)) !important;
  flex-direction: column;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  color: var(--bc-text-primary) !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

/* Compatibilita con i dialoghi legacy privi di contenitori header/body. */
html.bc-theme-light body dialog > :where(
  form,.dialog-card,.dialog-form,.carbonLockCard
):not(:has(
  .dialog-heading,.client-dialog-heading,.salary-email-heading,
  .modal-header,.systema-modal-header
)) {
  gap: 16px !important;
  padding: 24px !important;
  overflow: auto;
  scrollbar-gutter: stable;
}

html.bc-theme-light body dialog > :where(
  form,.dialog-card,.dialog-form,.carbonLockCard
):not(:has(
  .dialog-heading,.client-dialog-heading,.salary-email-heading,
  .modal-header,.systema-modal-header
)) > :where(h1,h2,h3):first-child {
  margin: 0 !important;
  padding: 0 0 16px !important;
  color: var(--bc-text-primary) !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
  font-size: 20px !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: 1.3 !important;
}

html.bc-theme-light body dialog > :where(
  form,.dialog-card,.dialog-form,.carbonLockCard
):not(:has(
  .dialog-heading,.client-dialog-heading,.salary-email-heading,
  .modal-header,.systema-modal-header
)) > :where(
  .dialog-actions,.dialogActions,.assignment-dialog-actions,
  .form-actions,.systema-modal-footer
):last-child {
  margin: 8px -24px -24px !important;
}

html.bc-theme-light body dialog :where(
  .assignment-dialog-heading
) {
  display: flex !important;
  min-height: 56px;
  gap: 16px !important;
  align-items: flex-start;
  justify-content: space-between;
  margin: 0 !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
}

html.bc-theme-light body dialog :where(
  .assignment-dialog-heading
) :where(h1,h2,h3) {
  margin: 0 !important;
  color: var(--bc-text-primary) !important;
  font-size: 20px !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: 1.3 !important;
  text-transform: none !important;
}

html.bc-theme-light body dialog :where(
  .assignment-dialog-heading
) :where(
  .dialog-close,[aria-label="Chiudi"]
) {
  display: inline-grid !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  place-items: center;
  padding: 0 !important;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 12px !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
  font-size: 20px !important;
}

html.bc-theme-light body :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) :where(
  .dialog-heading,.client-dialog-heading,.salary-email-heading,
  .modal-header,.sdm-head,.systema-modal-header
) {
  display: flex !important;
  min-height: 72px;
  gap: 16px !important;
  align-items: flex-start;
  justify-content: space-between;
  margin: 0 !important;
  padding: 20px 24px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
}

html.bc-theme-light body :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) :where(
  .dialog-heading,.client-dialog-heading,.salary-email-heading,
  .modal-header,.sdm-head,.systema-modal-header
) :where(h1,h2,h3) {
  margin: 0 !important;
  color: var(--bc-text-primary) !important;
  font-size: 20px !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html.bc-theme-light body :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) :where(
  .dialog-heading,.client-dialog-heading,.salary-email-heading,
  .modal-header,.sdm-head,.systema-modal-header
) :where(p,.description,.dialog-description,small) {
  margin: 4px 0 0 !important;
  color: var(--bc-text-secondary) !important;
  font-size: 14px !important;
  font-weight: var(--systema-weight-normal) !important;
  line-height: 1.5 !important;
  text-transform: none !important;
}

/* Chiusura discreta: nessun elemento ornamentale nell'intestazione. */
html.bc-theme-light body :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) :where(
  .dialog-heading,.client-dialog-heading,.salary-email-heading,
  .modal-header,.sdm-head,.systema-modal-header
) :where(
  .icon-button,.close-button,.modal-close,[aria-label="Chiudi"],[data-close-modal]
) {
  display: inline-grid !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  flex: 0 0 40px;
  place-items: center;
  padding: 0 !important;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 12px !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
  font-size: 20px !important;
  font-weight: var(--systema-weight-medium) !important;
  line-height: 1 !important;
}

html.bc-theme-light body :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) :where(
  .dialog-heading,.client-dialog-heading,.salary-email-heading,
  .modal-header,.sdm-head,.systema-modal-header
) :where(
  .icon-button,.close-button,.modal-close,[aria-label="Chiudi"],[data-close-modal]
):hover {
  color: var(--bc-primary) !important;
  border-color: var(--bc-primary-secondary) !important;
  background: var(--bc-primary-softer) !important;
}

/* Corpo leggibile e scrollabile senza comprimere header e azioni. */
html.bc-theme-light body :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) :where(
  .dialog-fields,.client-ticket-fields,.modal-body,.dialog-body,
  .systema-modal-body,.assignment-dialog-card,.f24-dialog-card
) {
  min-width: 0;
  overflow: auto;
  margin: 0 !important;
  padding: var(--systema-dialog-section-space) !important;
  color: var(--bc-text-primary) !important;
  background: var(--bc-surface) !important;
  scrollbar-gutter: stable;
}

html.bc-theme-light body :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) :where(
  .dialog-body,.modal-body,.systema-modal-body,.dialog-fields,
  .client-ticket-fields,.carbonLockCard
) :where(p,li) {
  color: var(--bc-text-secondary) !important;
  line-height: 1.6 !important;
}

/* Footer stabile; la priorita visiva segue primario, secondario, annulla. */
html.bc-theme-light body :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) :where(
  .dialog-actions,.dialogActions,.client-dialog-actions,.modal-footer,
  .sdm-actions,.form-actions,.assignment-dialog-actions,.systema-modal-footer
) {
  display: flex !important;
  min-height: 72px;
  gap: 8px !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin: 0 !important;
  padding: 16px 24px !important;
  border: 0 !important;
  border-top: 1px solid var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
}

html.bc-theme-light body :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) :where(
  .dialog-actions,.dialogActions,.client-dialog-actions,.modal-footer,
  .sdm-actions,.form-actions,.assignment-dialog-actions,.systema-modal-footer
) :where(
  .primary,.primary-button,.action-button,.button:not(.secondary):not(.danger),
  [data-systema-action="primary"],button[value="default"]:not(.danger)
) {
  color: var(--bc-text-inverse) !important;
  border-color: var(--bc-primary) !important;
  background: var(--bc-primary) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) :where(
  .dialog-actions,.dialogActions,.client-dialog-actions,.modal-footer,
  .sdm-actions,.form-actions,.assignment-dialog-actions,.systema-modal-footer
) :where(
  .secondary,.secondary-button,.ghost-action,[value="cancel"],
  [data-systema-action="secondary"],[data-systema-action="cancel"]
) {
  color: var(--bc-primary) !important;
  border-color: var(--bc-border-strong) !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) :where(
  .danger,.destructive,.delete-button,[data-systema-action="destructive"]
) {
  color: var(--bc-text-inverse) !important;
  border-color: var(--bc-danger) !important;
  background: var(--bc-danger) !important;
  box-shadow: none !important;
}

/* Conferme importanti: testo e conseguenze restano nello stesso blocco. */
html.bc-theme-light body :where(
  .confirmation-dialog,.confirm-dialog,.systema-confirmation,
  [data-systema-dialog="confirmation"]
) :where(
  .confirmation-copy,.confirmation-details,.dialog-description,
  [data-systema-confirmation="details"]
) {
  display: grid;
  gap: 8px;
  margin: 0 !important;
  padding: 16px !important;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-left: 4px solid var(--bc-primary-secondary) !important;
  border-radius: 12px !important;
  background: var(--bc-page-bg) !important;
}

html.bc-theme-light body :where(
  .confirmation-dialog.danger,.confirm-dialog.danger,
  .systema-confirmation.danger,[data-systema-dialog="destructive"]
) :where(
  .confirmation-copy,.confirmation-details,.dialog-description,
  [data-systema-confirmation="details"]
) {
  border-left-color: var(--bc-danger) !important;
}

/* Messaggi permanenti: superfici chiare e un solo accento semantico. */
html.bc-theme-light body :where(
  .system-message,.status-message,.feedback-message,.alert,.notice,
  [data-systema-component="alert"]
) {
  display: grid;
  min-width: 0;
  gap: 4px;
  padding: 12px 16px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-left: 4px solid var(--bc-primary-secondary) !important;
  border-radius: 12px !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  .system-message,.status-message,.feedback-message,.alert,.notice,
  [data-systema-component="alert"]
) :where(p,span,small) {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body :where(
  .system-message.success,.status-message.success,.feedback-message.success,
  .alert-success,[data-systema-status="success"]
) {
  border-left-color: var(--bc-success) !important;
}

html.bc-theme-light body :where(
  .system-message.warning,.status-message.warning,.feedback-message.warning,
  .alert-warning,.warning-message,[data-systema-status="warning"]
) {
  border-left-color: var(--bc-warning) !important;
}

html.bc-theme-light body :where(
  .system-message.error,.status-message.error,.feedback-message.error,
  .alert-error,.alert-danger,.error-message-block,[data-systema-status="error"]
) {
  border-left-color: var(--bc-danger) !important;
}

html.bc-theme-light body :where(
  .form-status,.salary-email-status,.client-ticket-status
):not(:empty) {
  display: block;
  min-height: 0;
  margin: 8px 24px !important;
  padding: 10px 12px !important;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-left: 4px solid var(--bc-primary-secondary) !important;
  border-radius: 10px !important;
  background: var(--bc-page-bg) !important;
}

html.bc-theme-light body :where(
  .form-status.error,.salary-email-status.error,.client-ticket-status.error
):not(:empty) {
  color: #B4232D !important;
  border-left-color: var(--bc-danger) !important;
}

/* Toast temporanei: sempre in basso a destra e fuori dal flusso operativo. */
html.bc-theme-light body :where(
  #toast,.toast,.studio-message-toast,.client-message-toast,
  .pwa-install-toast,.agenda-toast,.systema-toast,
  [data-systema-component="toast"]
) {
  position: fixed !important;
  z-index: var(--systema-layer-toast) !important;
  right: 24px !important;
  bottom: 24px !important;
  left: auto !important;
  width: min(var(--systema-toast-width),calc(100vw - 32px)) !important;
  max-width: var(--systema-toast-width) !important;
  min-height: 56px;
  margin: 0 !important;
  padding: 16px !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-left: 4px solid var(--bc-primary-secondary) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: var(--bc-shadow-md) !important;
  font-family: var(--systema-font-sans) !important;
  line-height: 1.45 !important;
  transition:
    opacity var(--systema-motion-duration) var(--systema-motion-easing),
    transform var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  .toast.success,.studio-message-toast.success,.systema-toast.success,
  [data-systema-toast="success"]
) {
  border-left-color: var(--bc-success) !important;
}

html.bc-theme-light body :where(
  .toast.warning,.studio-message-toast.warning,.systema-toast.warning,
  [data-systema-toast="warning"]
) {
  border-left-color: var(--bc-warning) !important;
}

html.bc-theme-light body :where(
  .toast.error,.studio-message-toast.error,.systema-toast.error,
  [data-systema-toast="error"]
) {
  border-left-color: var(--bc-danger) !important;
}

html.bc-theme-light body :where(
  .studio-message-toast-inner,.toast-content,
  [data-systema-component="toast-content"]
) {
  display: grid !important;
  grid-template-columns: var(--systema-feedback-icon-size) minmax(0,1fr) auto;
  gap: 12px !important;
  align-items: center;
  padding: 0 !important;
  background: transparent !important;
}

html.bc-theme-light body :where(
  .studio-message-toast-icon,.toast-icon,
  [data-systema-component="toast-icon"]
) {
  display: grid !important;
  width: var(--systema-feedback-icon-size) !important;
  height: var(--systema-feedback-icon-size) !important;
  place-items: center;
  color: var(--bc-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 12px !important;
  background: var(--bc-primary-softer) !important;
  background-image: none !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  .studio-message-toast-copy,.toast-copy,
  [data-systema-component="toast-copy"]
) :where(strong,.toast-title) {
  display: block;
  color: var(--bc-text-primary) !important;
  font-size: 14px !important;
  font-weight: var(--systema-weight-semibold) !important;
}

html.bc-theme-light body :where(
  .studio-message-toast-copy,.toast-copy,
  [data-systema-component="toast-copy"]
) :where(span,p,.toast-description) {
  display: block;
  margin: 2px 0 0 !important;
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
}

html.bc-theme-light body :where(
  .studio-message-toast,.client-message-toast,.systema-toast,
  [data-systema-component="toast"]
) :where(
  a,button,.toast-action,[data-systema-toast="action"]
) {
  min-height: 40px !important;
  padding: 0 12px !important;
  color: var(--bc-primary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: 12px !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: var(--systema-weight-semibold) !important;
}

/* Centro notifiche: una riga contiene sempre icona, testo, data e azione. */
html.bc-theme-light body :where(
  .studio-notification-panel,.notification-popover,.notifications-panel,
  [data-systema-navigation="notification-panel"]
) {
  z-index: var(--systema-layer-popup) !important;
  top: 72px !important;
  right: 24px !important;
  bottom: auto !important;
  left: auto !important;
  width: min(384px,calc(100vw - 32px)) !important;
  max-height: min(70vh,560px) !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  background-image: none !important;
  box-shadow: var(--bc-shadow-lg) !important;
}

html.bc-theme-light body :where(
  .studio-notification-head,.notification-panel-header,
  [data-systema-component="notification-header"]
) {
  padding: 16px !important;
  color: var(--bc-text-primary) !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
}

html.bc-theme-light body :where(
  .studio-notification-tools,.notification-panel-tools,
  [data-systema-component="notification-tools"]
) {
  padding: 8px 12px !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
  background: var(--bc-page-bg) !important;
}

html.bc-theme-light body :where(
  .studio-notification-tool,.notification-tool,
  [data-systema-component="notification-action"]
) {
  min-height: 40px !important;
  padding: 0 12px !important;
  color: var(--bc-primary) !important;
  border: 1px solid var(--bc-border-strong) !important;
  border-radius: 12px !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: var(--systema-weight-semibold) !important;
}

html.bc-theme-light body :where(
  .studio-notification-close,.notification-close,
  [data-systema-component="notification-close"]
) {
  display: inline-grid !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  place-items: center;
  padding: 0 !important;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 12px !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  .studio-notification-item,.notification-item,
  [data-systema-component="notification-item"]
) {
  display: grid !important;
  grid-template-columns: var(--systema-feedback-icon-size) minmax(0,1fr) auto;
  min-height: 64px;
  gap: 12px !important;
  align-items: start;
  padding: 12px !important;
  color: var(--bc-text-primary) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
  border-radius: 0 !important;
  background: var(--bc-surface) !important;
}

html.bc-theme-light body :where(
  .studio-notification-item,.notification-item,
  [data-systema-component="notification-item"]
):hover {
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body :where(
  .studio-notification-item-icon,.notification-icon,
  [data-systema-component="notification-icon"]
) {
  display: grid !important;
  width: var(--systema-feedback-icon-size) !important;
  height: var(--systema-feedback-icon-size) !important;
  place-items: center;
  color: var(--bc-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 12px !important;
  background: var(--bc-primary-softer) !important;
  background-image: none !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  .studio-notification-copy,.notification-copy,
  [data-systema-component="notification-copy"]
) :where(strong,.notification-title) {
  color: var(--bc-text-primary) !important;
  font-size: 14px !important;
  font-weight: var(--systema-weight-semibold) !important;
}

html.bc-theme-light body :where(
  .studio-notification-copy,.notification-copy,
  [data-systema-component="notification-copy"]
) :where(span,p,.notification-description) {
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

html.bc-theme-light body :where(
  .studio-notification-time,.notification-date,
  [data-systema-component="notification-date"]
) {
  color: var(--bc-text-muted) !important;
  font-size: 12px !important;
  white-space: nowrap;
}

/* Avanzamento: stato sempre visibile, mai un blocco pieno della pagina. */
html.bc-theme-light body :where(
  progress,.operation-progress,.upload-progress,.progress-track,
  [data-systema-component="progress"]
) {
  width: 100%;
  height: var(--systema-progress-height) !important;
  overflow: hidden;
  color: var(--bc-primary);
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--bc-silver-light) !important;
  box-shadow: none !important;
  accent-color: var(--bc-primary);
}

html.bc-theme-light body progress::-webkit-progress-bar {
  border-radius: 999px;
  background: var(--bc-silver-light);
}

html.bc-theme-light body progress::-webkit-progress-value,
html.bc-theme-light body :where(
  .operation-progress,.upload-progress,.progress-track,
  [data-systema-component="progress"]
) > :where(
  span,.progress-value,[data-systema-progress="value"]
) {
  height: 100%;
  border-radius: 999px;
  background: var(--bc-primary) !important;
  background-image: none !important;
  transition: width var(--systema-motion-duration) var(--systema-motion-easing);
}

html.bc-theme-light body progress::-moz-progress-bar {
  border-radius: 999px;
  background: var(--bc-primary);
}

html.bc-theme-light body :where(
  .progress-status,.progress-label,.loading-status,
  [data-systema-component="progress-status"]
) {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin: 8px 0 0 !important;
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
  font-weight: var(--systema-weight-medium) !important;
}

html.bc-theme-light body :where(
  .loading-indicator,.operation-loading,.upload-loading,
  [data-systema-component="loading-indicator"]
) {
  display: inline-flex !important;
  min-height: 24px;
  gap: 8px;
  align-items: center;
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
}

html.bc-theme-light body :where(
  .loading-indicator,.operation-loading,.upload-loading,
  [data-systema-component="loading-indicator"]
)::before {
  width: 16px;
  height: 16px;
  content: "";
  border: 2px solid var(--bc-border-strong);
  border-top-color: var(--bc-primary);
  border-radius: 50%;
  animation: systemaInlineLoading 720ms linear infinite;
}

@keyframes systemaInlineLoading {
  to { transform: rotate(360deg); }
}

html.bc-theme-light body :where(
  dialog,.systema-modal,.studio-notification-panel,.notification-popover,
  .toast,.studio-message-toast,.client-message-toast,.systema-toast
) :focus-visible {
  outline: 3px solid var(--bc-primary-secondary) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

/* Area Clienti: dialoghi piu semplici, comandi grandi e ben separati. */
html.bc-theme-light body :where(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,[data-bc-role="client"]
) :where(
  dialog,.systema-modal,[data-systema-component="modal"]
),
html.bc-theme-light body:has(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,[data-bc-role="client"]
) > :where(
  dialog,.systema-modal,[data-systema-component="modal"]
) {
  max-width: 600px !important;
}

html.bc-theme-light body :where(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,[data-bc-role="client"]
) :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) :where(
  .dialog-actions,.dialogActions,.client-dialog-actions,.modal-footer,
  .systema-modal-footer
) > :where(button,.button,.btn,a) {
  min-height: 48px !important;
}

html.bc-theme-light body:has(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,[data-bc-role="client"]
) > :where(
  dialog,.systema-modal,[data-systema-component="modal"]
) :where(
  .dialog-actions,.dialogActions,.client-dialog-actions,.modal-footer,
  .systema-modal-footer
) > :where(button,.button,.btn,a) {
  min-height: 48px !important;
}

@media (max-width: 680px) {
  :root {
    --systema-dialog-gutter: 16px;
  }

  html.bc-theme-light body :where(
    dialog,.systema-modal,[data-systema-component="modal"]
  ),
  html.bc-theme-light body :where(
    .modal-backdrop,.bc-modal-overlay,[data-systema-component="modal-overlay"]
  ) > :where(
    .modal,[role="dialog"],.systema-modal,[data-systema-component="modal"]
  ) {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 16px) !important;
  }

  html.bc-theme-light body :where(
    dialog,.modal,.systema-modal,[data-systema-component="modal"]
  ) :where(
    .dialog-heading,.client-dialog-heading,.salary-email-heading,
    .modal-header,.sdm-head,.systema-modal-header,
    .dialog-fields,.client-ticket-fields,.modal-body,.dialog-body,
    .systema-modal-body,.assignment-dialog-card,.f24-dialog-card
  ) {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  html.bc-theme-light body :where(
    dialog,.modal,.systema-modal,[data-systema-component="modal"]
  ) :where(
    .dialog-actions,.dialogActions,.client-dialog-actions,.modal-footer,
    .sdm-actions,.form-actions,.assignment-dialog-actions,.systema-modal-footer
  ) {
    align-items: stretch;
    flex-direction: column;
    padding: 16px !important;
  }

  html.bc-theme-light body :where(
    dialog,.modal,.systema-modal,[data-systema-component="modal"]
  ) :where(
    .dialog-actions,.dialogActions,.client-dialog-actions,.modal-footer,
    .sdm-actions,.form-actions,.assignment-dialog-actions,.systema-modal-footer
  ) > :where(button,.button,.btn,a) {
    width: 100%;
  }

  html.bc-theme-light body :where(
    #toast,.toast,.studio-message-toast,.client-message-toast,
    .pwa-install-toast,.agenda-toast,.systema-toast,
    [data-systema-component="toast"]
  ) {
    right: 8px !important;
    bottom: 8px !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }

  html.bc-theme-light body :where(
    .studio-message-toast-inner,.toast-content,
    [data-systema-component="toast-content"]
  ) {
    grid-template-columns: var(--systema-feedback-icon-size) minmax(0,1fr);
  }

  html.bc-theme-light body :where(
    .studio-message-toast-inner,.toast-content,
    [data-systema-component="toast-content"]
  ) > :where(a,button) {
    grid-column: 1 / -1;
    width: 100%;
  }

  html.bc-theme-light body :where(
    .studio-notification-panel,.notification-popover,.notifications-panel,
    [data-systema-navigation="notification-panel"]
  ) {
    top: 64px !important;
    right: 8px !important;
    width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 80px) !important;
  }
}

/* ==========================================================================
   SYSTEMA · Movimento e microinterazioni 09
   Una sola grammatica di movimento, discreta e performante, per ogni area.
   Le regole forniscono feedback visivo senza modificare eventi o workflow.
   ========================================================================== */

html.bc-theme-light {
  --systema-motion-instant: 90ms;
  --systema-motion-fast: 120ms;
  --systema-motion-duration: 180ms;
  --systema-motion-slow: 240ms;
  --systema-motion-easing: cubic-bezier(.2,.8,.2,1);
  --systema-motion-enter: cubic-bezier(.16,1,.3,1);
  --systema-motion-exit: cubic-bezier(.4,0,1,1);
  --bc-transition-fast: var(--systema-motion-fast) var(--systema-motion-easing);
  --bc-transition-base: var(--systema-motion-duration) var(--systema-motion-easing);
  --bc-transition-slow: var(--systema-motion-slow) var(--systema-motion-easing);
}

/* Lo sfondo viene mantenuto durante la navigazione per evitare flash chiari. */
html.bc-theme-light,
html.bc-theme-light body {
  background-color: var(--bc-page-bg) !important;
}

@view-transition {
  navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
  background-color: var(--bc-page-bg);
  mix-blend-mode: normal;
}

::view-transition-old(root) {
  animation: systemaViewExit var(--systema-motion-fast) var(--systema-motion-exit) both;
}

::view-transition-new(root) {
  animation: systemaViewEnter var(--systema-motion-duration) var(--systema-motion-enter) both;
}

@keyframes systemaViewExit {
  from { opacity: 1; }
  to { opacity: .96; }
}

@keyframes systemaViewEnter {
  from { opacity: .94; }
  to { opacity: 1; }
}

@keyframes systemaPageEnter {
  from {
    opacity: .94;
    transform: translateY(1px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.bc-theme-light body > :where(
    main,.app-shell,.route-container,.module-shell
  ),
  html.bc-theme-light body :where(
    .view.active,.portal-view.active,.workspace-view.active,
    [data-systema-view="active"]
  ) {
    animation: systemaPageEnter var(--systema-motion-duration) var(--systema-motion-enter) both !important;
  }
}

/* Controlli: variazioni cromatiche e di ombra, senza rimbalzi o ingrandimenti. */
html.bc-theme-light body :where(
  button,.button,.btn,.action-button,.primary-button,.secondary-button,
  .save-button,.back-button,.blueAction,.greenAction,.ghostAction,
  .dangerButton,.danger-button,.systema-button,
  [role="button"],[data-systema-component="button"]
) {
  transition:
    color var(--systema-motion-fast) var(--systema-motion-easing),
    border-color var(--systema-motion-duration) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing),
    box-shadow var(--systema-motion-duration) var(--systema-motion-easing),
    opacity var(--systema-motion-fast) var(--systema-motion-easing),
    transform var(--systema-motion-fast) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  a:not(.button):not(.btn),[role="link"]
) {
  transition:
    color var(--systema-motion-fast) var(--systema-motion-easing),
    text-decoration-color var(--systema-motion-fast) var(--systema-motion-easing),
    opacity var(--systema-motion-fast) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  button,.button,.btn,.action-button,.primary-button,.secondary-button,
  .save-button,.back-button,.blueAction,.greenAction,.ghostAction,
  .dangerButton,.danger-button,.systema-button,
  [role="button"],[data-systema-component="button"]
):not(:disabled):active {
  opacity: .92 !important;
  transform: none !important;
}

html.bc-theme-light body :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,textarea,.systema-field,[contenteditable="true"],
  [data-systema-component="field"]
) {
  transition:
    color var(--systema-motion-fast) var(--systema-motion-easing),
    border-color var(--systema-motion-duration) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing),
    box-shadow var(--systema-motion-duration) var(--systema-motion-easing),
    opacity var(--systema-motion-fast) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  input[type="checkbox"],input[type="radio"],
  .switch,.toggle,.toggle-switch,[role="switch"],
  [data-systema-component="switch"]
) {
  transition:
    color var(--systema-motion-fast) var(--systema-motion-easing),
    border-color var(--systema-motion-fast) var(--systema-motion-easing),
    background-color var(--systema-motion-fast) var(--systema-motion-easing),
    box-shadow var(--systema-motion-fast) var(--systema-motion-easing),
    opacity var(--systema-motion-fast) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  input[type="checkbox"],input[type="radio"],
  .switch,.toggle,.toggle-switch,[role="switch"]
):active {
  opacity: .72;
  transform: none !important;
}

/* Card: varia soltanto la profondita percepita, mai la posizione. */
html.bc-theme-light body :where(
  .card,.studio-card,.dashboard-card,.data-card,.control-card,.custom-card,
  .session-card,.cloud-card,.drive-card,.rank-card,.choice-card,.due-card,
  .systema-card,[data-systema-component="card"],
  .kpi,.metric,.stat-card,.summary-card,[data-systema-component="kpi"]
) {
  transition:
    border-color var(--systema-motion-duration) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing),
    box-shadow var(--systema-motion-duration) var(--systema-motion-easing),
    opacity var(--systema-motion-fast) var(--systema-motion-easing) !important;
}

@media (hover: hover) and (pointer: fine) {
  html.bc-theme-light body :where(
    button,.button,.btn,.action-button,.primary-button,.secondary-button,
    .save-button,.back-button,.blueAction,.greenAction,.ghostAction,
    .dangerButton,.danger-button,.systema-button,
    [role="button"],[data-systema-component="button"]
  ):not(:disabled):hover {
    box-shadow: var(--bc-shadow-xs) !important;
    filter: none !important;
    transform: none !important;
  }

  html.bc-theme-light body :where(
    .card,.studio-card,.dashboard-card,.data-card,.control-card,.custom-card,
    .session-card,.cloud-card,.drive-card,.rank-card,.choice-card,.due-card,
    .systema-card,[data-systema-component="card"],
    .kpi,.metric,.stat-card,.summary-card,[data-systema-component="kpi"]
  ):hover {
    border-color: var(--bc-border-strong) !important;
    box-shadow: var(--bc-shadow-xs) !important;
    transform: none !important;
  }

  html.bc-theme-light body :where(
    .calendar-day,.agenda-day,.day-cell,[role="gridcell"],
    [data-systema-component="calendar-day"]
  ):hover {
    border-color: var(--bc-border-strong) !important;
    background-color: var(--bc-primary-softer) !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html.bc-theme-light body :where(table,.systema-table) tbody tr:hover {
    background-color: var(--bc-primary-softer) !important;
    transform: none !important;
  }
}

/* Sidebar e contenuto cambiano misura con lo stesso tempo e la stessa curva. */
html.bc-theme-light body {
  transition:
    padding-left var(--systema-motion-slow) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  .app-shell,[data-systema-layout="shell"]
) {
  transition:
    grid-template-columns var(--systema-motion-slow) var(--systema-motion-easing) !important;
}

html.bc-theme-light body .bc-app-sidebar {
  transition:
    width var(--systema-motion-slow) var(--systema-motion-easing),
    padding var(--systema-motion-slow) var(--systema-motion-easing),
    box-shadow var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  .bc-sidebar-brand > div,.bc-nav-item > span,.bc-sidebar-label,
  .bc-sidebar-footer,.bc-sidebar-section-title
) {
  transition:
    opacity var(--systema-motion-fast) var(--systema-motion-easing),
    visibility var(--systema-motion-fast) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  .bc-nav-item,.bc-app-sidebar .bc-local-navigation .nav-button,
  .bc-app-sidebar .bc-local-navigation a.nav,
  .bc-app-sidebar .bc-local-navigation button.nav,
  [data-systema-navigation="item"]
) {
  transition:
    color var(--systema-motion-fast) var(--systema-motion-easing),
    border-color var(--systema-motion-duration) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing),
    box-shadow var(--systema-motion-duration) var(--systema-motion-easing),
    opacity var(--systema-motion-fast) var(--systema-motion-easing) !important;
}

/* Menu e contenuti espandibili compaiono progressivamente. */
html.bc-theme-light body :where(
  .bc-submenu,.sidebar-submenu,.nav-submenu,
  [data-systema-navigation="submenu"]
) {
  transition:
    grid-template-rows var(--systema-motion-slow) var(--systema-motion-easing),
    opacity var(--systema-motion-duration) var(--systema-motion-easing),
    border-color var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

@keyframes systemaMenuEnter {
  from {
    opacity: 0;
    transform: translateY(-2px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.bc-theme-light body :where(
    .dropdown-menu.open,.dropdown-menu.is-open,.dropdown-menu[data-state="open"],
    .context-menu.open,.context-menu.is-open,.context-menu[data-state="open"],
    .popover-menu.open,.popover-menu.is-open,.popover-menu[data-state="open"],
    .menu-panel.open,.menu-panel.is-open,.menu-panel[data-state="open"],
    .systema-menu.open,.systema-menu.is-open,.systema-menu[data-state="open"],
    details[open] > .agenda-row-menu-panel,
    [role="menu"][data-state="open"],[data-systema-component="menu"][data-state="open"]
  ) {
    transform-origin: top center;
    animation: systemaMenuEnter var(--systema-motion-duration) var(--systema-motion-enter) both !important;
  }
}

/* Popup e sfondo emergono con un movimento minimo e uniforme. */
@keyframes systemaPopupEnter {
  from {
    opacity: 0;
    transform: translateY(2px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes systemaBackdropEnter {
  from { background-color: transparent; }
  to { background-color: var(--systema-dialog-backdrop); }
}

@media (prefers-reduced-motion: no-preference) {
  html.bc-theme-light body :where(
    dialog[open],.modal-backdrop.active > .modal,
    .bc-modal-overlay.active > .systema-modal,.systema-modal.is-open,
    [data-systema-component="modal"][data-state="open"]
  ) {
    animation: systemaPopupEnter var(--systema-motion-duration) var(--systema-motion-enter) both !important;
  }

  html.bc-theme-light body :where(
    dialog[open],.systema-modal.is-open,
    [data-systema-component="modal"][data-state="open"]
  )::backdrop {
    animation: systemaBackdropEnter var(--systema-motion-duration) var(--systema-motion-easing) both;
  }
}

html.bc-theme-light body :where(
  .modal-backdrop,.bc-modal-overlay,[data-systema-component="modal-overlay"]
) {
  transition:
    background-color var(--systema-motion-duration) var(--systema-motion-easing),
    opacity var(--systema-motion-duration) var(--systema-motion-easing),
    visibility var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

/* Toast e centro notifiche: ingresso breve, mai lampeggiante. */
@keyframes systemaToastEnter {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.bc-theme-light body :where(
    #toast.show,#toast.active,.toast.show,.toast.active,.toast.is-open,
    .studio-message-toast.show,.client-message-toast.show,
    .pwa-install-toast.show,.agenda-toast.show,.systema-toast.show,
    [data-systema-component="toast"][data-state="open"]
  ) {
    animation: systemaToastEnter var(--systema-motion-duration) var(--systema-motion-enter) both !important;
  }

  html.bc-theme-light body :where(
    .studio-notification-panel.open,.notification-popover.open,
    .notifications-panel.open,
    [data-systema-navigation="notification-panel"][data-state="open"]
  ) {
    transform-origin: top right;
    animation: systemaPopupEnter var(--systema-motion-duration) var(--systema-motion-enter) both !important;
  }
}

/* Tabelle, risultati e filtri aggiornano soltanto la percezione dei dati. */
html.bc-theme-light body :where(
  table,.systema-table,.table-wrap,.table-scroll,
  .results-list,.search-results,.filtered-results,
  [data-systema-component="results"]
) {
  transition:
    opacity var(--systema-motion-fast) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(table,.systema-table) tbody tr,
html.bc-theme-light body :where(
  .results-list,.search-results,.filtered-results,
  [data-systema-component="results"]
) > * {
  transition:
    color var(--systema-motion-fast) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing),
    border-color var(--systema-motion-duration) var(--systema-motion-easing),
    opacity var(--systema-motion-fast) var(--systema-motion-easing) !important;
}

@keyframes systemaDataRefresh {
  from { opacity: .7; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: no-preference) {
  html.bc-theme-light body :where(
    tr.is-updated,tr.just-updated,.result.is-updated,.result.just-updated,
    [data-systema-state="updated"]
  ) {
    animation: systemaDataRefresh var(--systema-motion-duration) var(--systema-motion-easing) both;
  }
}

html.bc-theme-light body :where(
  .filters,.filters-panel,.filter-panel,.filter-toolbar,.filter-bar,
  .filters-bar,.dashboard-filter-panel,[data-systema-component="filters"]
) :where(
  input,select,button,.button,.btn
) {
  transition:
    color var(--systema-motion-fast) var(--systema-motion-easing),
    border-color var(--systema-motion-duration) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing),
    box-shadow var(--systema-motion-duration) var(--systema-motion-easing),
    opacity var(--systema-motion-fast) var(--systema-motion-easing) !important;
}

/* Il salvataggio attenua solamente il form interessato, mai l'applicazione. */
html.bc-theme-light body :where(
  form,.form-grid,.editor,.dialog-form,[data-systema-component="form"]
) {
  transition:
    opacity var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

html.bc-theme-light body :where(
  form,.form-grid,.editor,.dialog-form,[data-systema-component="form"]
)[aria-busy="true"] {
  opacity: .82;
}

/* Skeleton e avanzamento usano movimenti regolari e a basso costo. */
html.bc-theme-light body :where(
  .bc-skeleton,.skeleton,[class*="skeleton"],
  [data-systema-component="skeleton"]
) {
  animation: systemaMotionSkeleton 1200ms var(--systema-motion-easing) infinite !important;
}

@keyframes systemaMotionSkeleton {
  0%,100% { opacity: .58; }
  50% { opacity: 1; }
}

html.bc-theme-light body :where(
  progress,.operation-progress,.upload-progress,.progress-track,
  [role="progressbar"],[data-systema-component="progress"]
) :where(
  span,.progress-value,[data-systema-progress="value"]
) {
  transition:
    width var(--systema-motion-slow) var(--systema-motion-easing),
    background-color var(--systema-motion-duration) var(--systema-motion-easing) !important;
}

/* Tablet e laptop mantengono la stessa grammatica con percorrenza piu breve. */
@media (max-width: 1120px) {
  html.bc-theme-light {
    --systema-motion-slow: 210ms;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light {
    --systema-motion-slow: 180ms;
  }
}

/* ==========================================================================
   SYSTEMA · Controllo qualità 10
   Guardrail conclusivi: riuso dei componenti e dei soli token ufficiali.
   Nessuna nuova variante grafica viene introdotta da questo livello.
   ========================================================================== */

/* Tipografia: soltanto famiglia, gerarchie e pesi ufficiali. */
html.bc-theme-light body {
  font-family: var(--systema-font-sans) !important;
  font-weight: var(--systema-weight-normal);
  line-height: var(--systema-line-content);
}

html.bc-theme-light body :where(
  h1,.page-title,[data-systema-type="page-title"]
) {
  font-weight: var(--systema-weight-bold) !important;
}

html.bc-theme-light body :where(
  h2,h3,h4,.section-title,.card-title,
  [data-systema-type="section-title"],[data-systema-type="card-title"]
) {
  font-weight: var(--systema-weight-semibold) !important;
}

html.bc-theme-light body :where(
  button,.button,.btn,label,legend,th,
  .systema-button,[data-systema-component="button"]
) {
  font-weight: var(--systema-weight-semibold) !important;
}

html.bc-theme-light body :where(strong,b) {
  font-weight: var(--systema-weight-bold) !important;
}

html.bc-theme-light body :where(
  small,.caption,.helper-text,.meta,.muted,.secondary-text,
  [data-systema-type="secondary"]
) {
  font-weight: var(--systema-weight-normal) !important;
}

/* Robustezza del layout: nessun contenuto forza o spezza la griglia. */
html.bc-theme-light body :where(
  main,section,article,aside,header,footer,nav,form,fieldset,div
) {
  min-width: 0;
}

html.bc-theme-light body :where(
  img,svg,video,canvas,iframe
) {
  max-width: 100%;
}

html.bc-theme-light body :where(
  h1,h2,h3,h4,h5,h6,p,.description,.helper-text,.secondary-text,
  [data-systema-type="secondary"]
) {
  overflow-wrap: anywhere;
}

html.bc-theme-light body :where(
  input,select,textarea,button,.button,.btn,
  .systema-field,.systema-button
) {
  max-width: 100%;
}

html.bc-theme-light body :where(
  .table-wrap,.table-scroll,.table-responsive,.deadline-table-wrap,
  .audit-table,[data-systema-component="table-container"]
) {
  max-width: 100%;
  overflow: auto;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
}

/* Target interattivi e focus condividono le misure già registrate. */
html.bc-theme-light body :where(
  button,.button,.btn,.action-button,.primary-button,.secondary-button,
  .icon-button,.table-action,.row-action,.workspace-tab,.queue-tabs button,
  .bc-nav-item,[role="button"],[role="tab"],[role="menuitem"],
  [data-systema-component="button"]
) {
  min-height: var(--systema-accessible-target) !important;
}

html.bc-theme-light body :where(
  a,button,.button,.btn,input,select,textarea,summary,
  [role="button"],[role="link"],[role="menuitem"],[role="tab"],
  [role="switch"],[tabindex]
):focus-visible {
  outline: var(--systema-focus-outline-width) solid var(--bc-primary) !important;
  outline-offset: var(--systema-focus-outline-offset) !important;
  box-shadow: var(--systema-focus-ring) !important;
}

html.bc-theme-light body :where(
  button,.button,.btn,input,select,textarea,[role="button"],[role="switch"]
):disabled,
html.bc-theme-light body :where(
  button,.button,.btn,[role="button"],[role="switch"]
)[aria-disabled="true"] {
  cursor: not-allowed !important;
  opacity: .48 !important;
}

/* Azioni e intestazioni restano allineate senza creare nuovi layout. */
html.bc-theme-light body :where(
  .header-actions,.hero-actions,.dashboard-actions,.toolbar-actions,
  .form-actions,.dialog-actions,.filter-actions,.table-actions,
  [data-systema-component="actions"]
) {
  gap: 8px !important;
  align-items: center;
  flex-wrap: wrap;
}

html.bc-theme-light body :where(
  .page-header,.dashboard-header,.portal-header,.desk-header,.staff-header,
  .ticket-header,.client-ticket-header,.contract-header,
  [data-systema-component="page-header"]
) {
  max-width: 100%;
  border-color: var(--bc-border-soft) !important;
  background-color: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

/* Area Clienti: target maggiorati senza introdurre varianti di componente. */
html.bc-theme-light body :where(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,[data-bc-role="client"]
) :where(
  button,.button,.btn,input:not([type="checkbox"]):not([type="radio"]),
  select,textarea,[role="button"],[role="tab"],
  [data-systema-component="button"]
) {
  min-height: var(--systema-accessible-target-client) !important;
}

html.bc-theme-light body:has(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,[data-bc-role="client"]
) > :where(
  dialog,.systema-modal,[data-systema-component="modal"]
) :where(
  button,.button,.btn,input:not([type="checkbox"]):not([type="radio"]),
  select,textarea,[role="button"],[role="tab"],
  [data-systema-component="button"]
) {
  min-height: var(--systema-accessible-target-client) !important;
}

/* Responsive: i componenti ufficiali si ricompongono senza uscire dal viewport. */
@media (max-width: 1120px) {
  html.bc-theme-light body :where(
    .header-actions,.hero-actions,.dashboard-actions,.toolbar-actions,
    [data-systema-component="actions"]
  ) {
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body :where(
    .header-actions,.hero-actions,.dashboard-actions,.toolbar-actions,
    .form-actions,.dialog-actions,.filter-actions,
    [data-systema-component="actions"]
  ) {
    width: 100%;
    align-items: stretch;
  }

  html.bc-theme-light body :where(
    .header-actions,.hero-actions,.dashboard-actions,.toolbar-actions,
    .form-actions,.dialog-actions,.filter-actions,
    [data-systema-component="actions"]
  ) > :where(button,.button,.btn,a) {
    max-width: 100%;
  }
}

@media (forced-colors: active) {
  html.bc-theme-light body :where(
    a,button,input,select,textarea,summary,
    [role="button"],[role="menuitem"],[role="tab"],[role="switch"]
  ):focus-visible {
    outline: 2px solid Highlight !important;
    box-shadow: none !important;
  }
}

html.bc-theme-light body [hidden] {
  display: none !important;
}

/* ==========================================================================
   SYSTEMA · Prestazioni visive 11
   Stabilità del layout e costo grafico contenuto, senza alterare la logica.
   ========================================================================== */

/* Lo spazio della barra di scorrimento resta riservato durante gli aggiornamenti. */
html.bc-theme-light {
  color-scheme: light;
  scrollbar-gutter: stable;
}

html.bc-theme-light body {
  scroll-behavior: auto;
}

html.bc-theme-light body iframe {
  background-color: var(--bc-page-bg);
}

/* La struttura persistente non partecipa al ricalcolo percettivo dei risultati. */
html.bc-theme-light body :where(
  .bc-app-sidebar,.bc-app-header,.app-header,.topbar,.top-bar,
  .app-shell,[data-systema-layout="shell"]
) {
  overflow-anchor: none;
}

/* Numeri, date e importi conservano la stessa larghezza mentre cambiano valore. */
html.bc-theme-light body :where(
  .kpi-value,.metric-value,.stat-value,.summary-value,.counter,.count,
  time,[data-systema-value],[data-systema-type="numeric"],
  td.numeric,td.amount,td.currency
) {
  font-variant-numeric: tabular-nums;
}

html.bc-theme-light body :where(
  .kpi-value,.metric-value,.stat-value,.summary-value,.counter,.count,
  [data-systema-value]
) {
  display: inline-block;
  min-width: 2ch;
}

/* Superfici leggere: nessun filtro, sfocatura o decorazione di rendering. */
html.bc-theme-light body :where(
  .panel,.card,.studio-card,.dashboard-card,.data-card,.control-card,
  .custom-card,.session-card,.cloud-card,.drive-card,.rank-card,.choice-card,
  .due-card,.systema-card,[data-systema-component="card"],
  .kpi,.metric,.stat-card,.summary-card,[data-systema-component="kpi"],
  .page-header,.dashboard-header,.portal-header,.desk-header,.staff-header,
  .ticket-header,.client-ticket-header,.contract-header,
  [data-systema-component="page-header"],
  .filters,.filters-panel,.filter-panel,.filter-toolbar,.filter-bar,
  .filters-bar,.dashboard-filter-panel,[data-systema-component="filters"]
) {
  background-image: none !important;
  backdrop-filter: none !important;
  filter: none !important;
  text-shadow: none !important;
}

html.bc-theme-light body :where(
  .panel,.card,.studio-card,.dashboard-card,.data-card,.control-card,
  .custom-card,.session-card,.cloud-card,.drive-card,.rank-card,.choice-card,
  .due-card,.systema-card,[data-systema-component="card"],
  .kpi,.metric,.stat-card,.summary-card,[data-systema-component="kpi"],
  .page-header,.dashboard-header,.portal-header,.desk-header,.staff-header,
  .ticket-header,.client-ticket-header,.contract-header,
  [data-systema-component="page-header"]
) {
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body .bc-app-sidebar {
  backdrop-filter: none !important;
  filter: none !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  input,select,textarea,.systema-field,
  table,.systema-table,.table-wrap,.table-scroll,.table-responsive,
  [data-systema-component="field"],[data-systema-component="table-container"]
) {
  backdrop-filter: none !important;
  filter: none !important;
  box-shadow: none !important;
}

/* Overlay rapidi e leggibili, con la sola profondità necessaria. */
html.bc-theme-light body :where(
  dialog,.modal,.systema-modal,[data-systema-component="modal"]
) {
  backdrop-filter: none !important;
  filter: none !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light body :where(
  .dropdown-menu,.context-menu,.popover-menu,.menu-panel,.systema-menu,
  .agenda-row-menu-panel,.studio-notification-panel,.notification-popover,
  .notifications-panel,#toast,.toast,.studio-message-toast,
  .client-message-toast,.pwa-install-toast,.agenda-toast,.systema-toast,
  [role="menu"],[data-systema-component="menu"],
  [data-systema-component="toast"],
  [data-systema-navigation="notification-panel"]
) {
  backdrop-filter: none !important;
  filter: none !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

@media (prefers-reduced-motion: no-preference) {
  html.bc-theme-light body :where(
    .dropdown-menu.open,.dropdown-menu.is-open,.dropdown-menu[data-state="open"],
    .context-menu.open,.context-menu.is-open,.context-menu[data-state="open"],
    .popover-menu.open,.popover-menu.is-open,.popover-menu[data-state="open"],
    .menu-panel.open,.menu-panel.is-open,.menu-panel[data-state="open"],
    .systema-menu.open,.systema-menu.is-open,.systema-menu[data-state="open"],
    [role="menu"][data-state="open"],[data-systema-component="menu"][data-state="open"]
  ) {
    animation-duration: var(--systema-motion-fast) !important;
  }

  html.bc-theme-light body :where(
    dialog[open],.modal-backdrop.active > .modal,
    .bc-modal-overlay.active > .systema-modal,.systema-modal.is-open,
    .studio-notification-panel.open,.notification-popover.open,
    .notifications-panel.open,
    [data-systema-component="modal"][data-state="open"],
    [data-systema-navigation="notification-panel"][data-state="open"],
    #toast.show,#toast.active,.toast.show,.toast.active,.toast.is-open,
    .studio-message-toast.show,.client-message-toast.show,
    .pwa-install-toast.show,.agenda-toast.show,.systema-toast.show,
    [data-systema-component="toast"][data-state="open"]
  ) {
    animation-duration: var(--systema-motion-fast) !important;
  }
}

/* Scorrimento contenuto e placeholder mantengono dimensioni prevedibili. */
html.bc-theme-light body :where(
  .table-wrap,.table-scroll,.table-responsive,.results-list,.search-results,
  .filtered-results,.dialog-body,.modal-body,.notification-list,
  [data-systema-component="table-container"],
  [data-systema-component="results"]
) {
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scroll-behavior: auto;
}

html.bc-theme-light body :where(
  .bc-skeleton,.skeleton,[class*="skeleton"],
  [data-systema-component="skeleton"]
) {
  min-height: 16px;
  box-shadow: none !important;
  filter: none !important;
}

/* ==========================================================================
   SYSTEMA · Enforcement e Component Library 12
   Un solo registro ufficiale, compatibile e riutilizzabile per ogni area.
   ========================================================================== */

/* Alias semantici: ogni decisione grafica deriva dai token già registrati. */
html.bc-theme-light {
  --systema-component-surface: var(--bc-surface);
  --systema-component-surface-muted: var(--bc-page-bg);
  --systema-component-text: var(--bc-text-primary);
  --systema-component-text-secondary: var(--bc-text-secondary);
  --systema-component-border: var(--bc-border-soft);
  --systema-component-border-strong: var(--bc-border-strong);
  --systema-border-width: 1px;
  --systema-control-radius: var(--bc-radius-md);
  --systema-container-radius: var(--bc-radius-xl);
  --systema-component-shadow: var(--bc-shadow-xs);
  --systema-card-shadow: var(--bc-shadow-xs);
  --systema-header-shadow: var(--bc-shadow-sm);
  --systema-overlay-shadow: var(--bc-shadow-md);
  --systema-component-transition: var(--bc-transition-base);
  --systema-accessible-target: var(--systema-control-height);
  --systema-accessible-target-client: var(--systema-control-height-client);
  --systema-button-padding-inline: var(--systema-space-2);
  --systema-control-gap: var(--systema-space-1);
  --systema-icon-radius: var(--bc-radius-sm);
  --systema-icon-border: var(--bc-border-soft);
  --systema-icon-surface: var(--bc-page-bg);
  --systema-focus-outline-width: 2px;
  --systema-focus-outline-offset: 2px;
  --systema-focus-ring-danger: 0 0 0 3px var(--bc-danger-soft);
  --systema-primary-action-shadow: 0 2px 8px rgba(35,78,139,.1);
  --systema-primary-action-shadow-hover: 0 4px 12px rgba(35,78,139,.12);
  --systema-danger-action-shadow: 0 2px 8px rgba(239,68,68,.08);
  --systema-field-inset: inset 0 1px rgba(35,78,139,.015);
  --systema-letter-spacing-page: -.024em;
  --systema-letter-spacing-section: -.016em;
  --systema-letter-spacing-card: -.008em;
  --systema-letter-spacing-control: 0;
  --systema-line-card-title: 1.35;
  --systema-reading-measure: var(--systema-readable-line);
}

/* Namespace ufficiale e fondazione comune per tutti i componenti futuri. */
html.bc-theme-light body :where(
  [class^="systema-"],[class*=" systema-"],[data-systema-component]
) {
  box-sizing: border-box;
  min-width: 0;
  font-family: var(--systema-font-sans);
}

/* Superfici riutilizzabili: Card, KPI, Widget e card specialistiche. */
html.bc-theme-light body :where(
  .systema-card,.systema-kpi-card,.systema-statistic-card,.systema-widget,
  .systema-chart-container,.systema-file-card,.systema-customer-card,
  .systema-user-card,
  [data-systema-component="card"],[data-systema-component="kpi-card"],
  [data-systema-component="statistic-card"],[data-systema-component="widget"],
  [data-systema-component="chart-container"],[data-systema-component="file-card"],
  [data-systema-component="customer-card"],[data-systema-component="user-card"]
) {
  color: var(--systema-component-text) !important;
  border: var(--systema-border-width) solid var(--systema-component-border) !important;
  border-radius: var(--systema-container-radius) !important;
  background: var(--systema-component-surface) !important;
  box-shadow: var(--systema-card-shadow) !important;
}

html.bc-theme-light body :where(
  .systema-card,.systema-file-card,.systema-customer-card,.systema-user-card,
  [data-systema-component="card"],[data-systema-component="file-card"],
  [data-systema-component="customer-card"],[data-systema-component="user-card"]
) {
  padding: var(--systema-card-padding) !important;
}

html.bc-theme-light body :where(
  .systema-card-header,.systema-widget-header,
  [data-systema-component="card-header"],[data-systema-component="widget-header"]
) {
  display: flex;
  gap: var(--systema-space-1);
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: var(--systema-space-2);
  border-bottom: var(--systema-border-width) solid var(--systema-component-border);
}

html.bc-theme-light body :where(
  .systema-card-header,.systema-widget-header,
  [data-systema-component="card-header"],[data-systema-component="widget-header"]
) :where(h2,h3,h4,.systema-card-title) {
  margin: 0;
  color: var(--systema-component-text) !important;
  font-size: var(--systema-type-level-3) !important;
  font-weight: var(--systema-weight-semibold) !important;
  line-height: var(--systema-line-heading) !important;
}

/* Button ufficiale: un solo componente con varianti semantiche dichiarate. */
html.bc-theme-light body :where(
  .systema-button,[data-systema-component="button"]
) {
  appearance: none;
  display: inline-flex;
  min-height: var(--systema-accessible-target) !important;
  gap: var(--systema-control-gap);
  align-items: center;
  justify-content: center;
  padding-inline: var(--systema-space-2) !important;
  color: var(--systema-component-text) !important;
  border: var(--systema-border-width) solid var(--systema-component-border-strong) !important;
  border-radius: var(--systema-control-radius) !important;
  background: var(--systema-component-surface) !important;
  box-shadow: none !important;
  font-weight: var(--systema-weight-semibold) !important;
  white-space: nowrap;
}

html.bc-theme-light body :where(
  .systema-button,[data-systema-component="button"]
):where(
  [data-systema-variant="primary"],[data-systema-tone="primary"]
) {
  color: var(--bc-text-inverse) !important;
  border-color: var(--bc-primary) !important;
  background: var(--bc-primary) !important;
  box-shadow: var(--systema-primary-action-shadow) !important;
}

html.bc-theme-light body :where(
  .systema-button,[data-systema-component="button"]
):where(
  [data-systema-variant="primary"],[data-systema-tone="primary"]
):hover:not(:disabled) {
  border-color: var(--bc-primary-hover) !important;
  background: var(--bc-primary-hover) !important;
  box-shadow: var(--systema-primary-action-shadow-hover) !important;
}

html.bc-theme-light body :where(
  .systema-button,[data-systema-component="button"]
):where(
  [data-systema-variant="danger"],[data-systema-tone="danger"]
) {
  color: var(--bc-text-inverse) !important;
  border-color: var(--bc-danger) !important;
  background: var(--bc-danger) !important;
  box-shadow: var(--systema-danger-action-shadow) !important;
}

/* Input, Select, Textarea, Checkbox, Radio e Switch usano la stessa fondazione. */
html.bc-theme-light body :where(
  .systema-input,.systema-select,.systema-textarea,.systema-search-input,
  [data-systema-component="input"],[data-systema-component="select"],
  [data-systema-component="textarea"],[data-systema-component="search-input"]
) {
  width: 100%;
  min-height: var(--systema-control-height) !important;
  padding-inline: var(--systema-space-2) !important;
  color: var(--systema-component-text) !important;
  border: var(--systema-border-width) solid var(--systema-component-border-strong) !important;
  border-radius: var(--systema-control-radius) !important;
  background: var(--systema-component-surface) !important;
  box-shadow: none !important;
  font: inherit;
}

html.bc-theme-light body :where(
  input.systema-checkbox,input.systema-radio,
  .systema-checkbox input[type="checkbox"],.systema-radio input[type="radio"],
  [data-systema-component="checkbox"] input[type="checkbox"],
  [data-systema-component="radio"] input[type="radio"]
) {
  width: var(--systema-icon-standard) !important;
  height: var(--systema-icon-standard) !important;
  margin: 0;
  accent-color: var(--bc-primary);
}

html.bc-theme-light body :where(
  .systema-checkbox,.systema-radio,
  [data-systema-component="checkbox"],[data-systema-component="radio"]
) {
  display: inline-flex;
  min-height: var(--systema-control-height);
  gap: var(--systema-space-1);
  align-items: center;
  color: var(--systema-component-text);
}

/* Badge, Alert e feedback condividono tipografia e superficie. */
html.bc-theme-light body :where(
  .systema-alert,[data-systema-component="alert"]
) {
  display: grid;
  gap: var(--systema-space-1);
  padding: var(--systema-space-2) !important;
  color: var(--systema-component-text) !important;
  border: var(--systema-border-width) solid var(--systema-component-border) !important;
  border-left-color: var(--bc-primary) !important;
  border-left-width: var(--bc-space-1) !important;
  border-radius: var(--systema-control-radius) !important;
  background: var(--systema-component-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body :where(
  .systema-alert,[data-systema-component="alert"]
)[data-systema-tone="success"] {
  border-left-color: var(--bc-success) !important;
}

html.bc-theme-light body :where(
  .systema-alert,[data-systema-component="alert"]
)[data-systema-tone="warning"] {
  border-left-color: var(--bc-warning) !important;
}

html.bc-theme-light body :where(
  .systema-alert,[data-systema-component="alert"]
)[data-systema-tone="danger"] {
  border-left-color: var(--bc-danger) !important;
}

html.bc-theme-light body :where(
  .systema-alert,[data-systema-component="alert"]
) :where(h2,h3,h4,strong) {
  margin: 0;
  color: var(--systema-component-text) !important;
  font-weight: var(--systema-weight-semibold) !important;
}

html.bc-theme-light body :where(
  .systema-alert,[data-systema-component="alert"]
) :where(p,.systema-alert-description) {
  margin: 0;
  color: var(--systema-component-text-secondary) !important;
}

/* Tabs, Accordion, Breadcrumb e Pagination: navigazione interna unica. */
html.bc-theme-light body :where(
  .systema-tabs,[data-systema-component="tabs"]
) {
  display: flex;
  max-width: 100%;
  gap: var(--systema-space-1);
  align-items: center;
  overflow-x: auto;
  padding-bottom: var(--systema-space-1);
  border-bottom: var(--systema-border-width) solid var(--systema-component-border);
  scrollbar-width: thin;
}

html.bc-theme-light body :where(
  .systema-tab,.systema-tabs [role="tab"],
  [data-systema-component="tab"]
) {
  display: inline-flex;
  min-height: var(--systema-control-height) !important;
  align-items: center;
  justify-content: center;
  padding-inline: var(--systema-space-2) !important;
  color: var(--systema-component-text-secondary) !important;
  border: var(--systema-border-width) solid transparent !important;
  border-radius: var(--systema-control-radius) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-weight: var(--systema-weight-semibold) !important;
  white-space: nowrap;
}

html.bc-theme-light body :where(
  .systema-tab,.systema-tabs [role="tab"],
  [data-systema-component="tab"]
):where(
  .active,[aria-selected="true"],[data-state="active"]
) {
  color: var(--bc-primary) !important;
  border-color: var(--systema-component-border) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body :where(
  details.systema-accordion,.systema-accordion,
  [data-systema-component="accordion"]
) {
  color: var(--systema-component-text);
  border: var(--systema-border-width) solid var(--systema-component-border);
  border-radius: var(--systema-container-radius);
  background: var(--systema-component-surface);
  box-shadow: none;
}

html.bc-theme-light body :where(
  details.systema-accordion,.systema-accordion,
  [data-systema-component="accordion"]
) > summary {
  min-height: var(--systema-control-height);
  padding: var(--systema-space-2);
  cursor: pointer;
  font-weight: var(--systema-weight-semibold);
}

html.bc-theme-light body :where(
  details.systema-accordion,.systema-accordion,
  [data-systema-component="accordion"]
)[open] > summary {
  border-bottom: var(--systema-border-width) solid var(--systema-component-border);
}

html.bc-theme-light body :where(
  .systema-accordion-content,[data-systema-component="accordion-content"]
) {
  padding: var(--systema-space-2);
}

html.bc-theme-light body :where(
  .systema-breadcrumb,[data-systema-component="breadcrumb"]
) {
  display: flex;
  min-height: var(--systema-control-height);
  gap: var(--systema-space-1);
  align-items: center;
  flex-wrap: wrap;
  color: var(--systema-component-text-secondary);
  font-size: var(--systema-type-level-5);
}

html.bc-theme-light body :where(
  .systema-breadcrumb,[data-systema-component="breadcrumb"]
) :where(a,[aria-current="page"]) {
  color: inherit;
  font-weight: var(--systema-weight-medium);
}

html.bc-theme-light body :where(
  .systema-breadcrumb,[data-systema-component="breadcrumb"]
) [aria-current="page"] {
  color: var(--systema-component-text);
}

/* Search Box, Empty State, Loading e Skeleton fanno parte della stessa libreria. */
html.bc-theme-light body :where(
  .systema-search,[data-systema-component="search-box"]
) {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  gap: var(--systema-space-1);
  align-items: center;
}

html.bc-theme-light body :where(
  .systema-search,[data-systema-component="search-box"]
) :where(input[type="search"],.systema-search-input) {
  flex: 1 1 auto;
}

html.bc-theme-light body :where(
  .systema-loading,[data-systema-component="loading-state"]
) {
  display: inline-flex;
  min-height: var(--systema-control-height);
  gap: var(--systema-space-1);
  align-items: center;
  justify-content: center;
  color: var(--systema-component-text-secondary);
  font-size: var(--systema-type-level-4);
  font-weight: var(--systema-weight-medium);
}

/* Calendar, Timeline e contenitori informativi riusano le superfici ufficiali. */
html.bc-theme-light body :where(
  .systema-calendar,[data-systema-component="calendar"],
  .systema-timeline,[data-systema-component="timeline"]
) {
  color: var(--systema-component-text);
  border: var(--systema-border-width) solid var(--systema-component-border);
  border-radius: var(--systema-container-radius);
  background: var(--systema-component-surface);
  box-shadow: var(--systema-card-shadow);
}

html.bc-theme-light body :where(
  .systema-calendar,[data-systema-component="calendar"]
) {
  padding: var(--systema-card-padding);
}

html.bc-theme-light body :where(
  .systema-calendar-grid,[data-systema-component="calendar-grid"]
) {
  display: grid;
  grid-template-columns: repeat(7,minmax(var(--systema-control-height),1fr));
  gap: var(--systema-space-1);
}

html.bc-theme-light body :where(
  .systema-calendar-day,[data-systema-component="calendar-day"]
) {
  display: grid;
  min-height: var(--systema-control-height);
  place-items: center;
  color: var(--systema-component-text);
  border: var(--systema-border-width) solid var(--systema-component-border);
  border-radius: var(--systema-control-radius);
  background: var(--systema-component-surface);
}

html.bc-theme-light body :where(
  .systema-calendar-day,[data-systema-component="calendar-day"]
):where(
  .active,[aria-selected="true"],[data-state="active"]
) {
  color: var(--bc-primary);
  border-color: var(--bc-primary);
  background: var(--bc-primary-softer);
}

html.bc-theme-light body :where(
  .systema-timeline,[data-systema-component="timeline"]
) {
  display: grid;
  gap: var(--systema-space-2);
  padding: var(--systema-card-padding);
}

html.bc-theme-light body :where(
  .systema-timeline-item,[data-systema-component="timeline-item"]
) {
  position: relative;
  min-height: var(--systema-control-height);
  padding-left: var(--systema-space-3);
}

html.bc-theme-light body :where(
  .systema-timeline-item,[data-systema-component="timeline-item"]
)::before {
  position: absolute;
  top: var(--systema-space-1);
  left: 0;
  width: var(--systema-space-1);
  height: var(--systema-space-1);
  content: "";
  border-radius: var(--bc-radius-xl);
  background: var(--bc-primary);
}

html.bc-theme-light body :where(
  .systema-chart-container,[data-systema-component="chart-container"]
) {
  display: grid;
  min-height: calc(var(--systema-space-8) * 3);
  place-items: center;
  padding: var(--systema-card-padding);
  overflow: hidden;
}

/* Stati ufficiali: cambiano la resa, non eventi, dati o comportamento. */
html.bc-theme-light body :where(
  [class^="systema-"],[class*=" systema-"],[data-systema-component]
):where(
  [data-systema-state="selected"],[data-systema-state="active"]
) {
  border-color: var(--bc-primary) !important;
}

html.bc-theme-light body :where(
  [class^="systema-"],[class*=" systema-"],[data-systema-component]
):where(
  [data-systema-state="disabled"],[aria-disabled="true"]
) {
  cursor: not-allowed;
  opacity: .48;
}

html.bc-theme-light body :where(
  [class^="systema-"],[class*=" systema-"],[data-systema-component]
):where(
  [data-systema-state="loading"],[aria-busy="true"]
) {
  opacity: .82;
}

/* L'Area Clienti riusa gli stessi componenti con il controllo più leggibile. */
html.bc-theme-light body :where(
  .portal-shell,.client-ticket-shell,.client-communications-layout,
  .client-compliance-layout,[data-bc-role="client"]
) :where(
  .systema-button,.systema-input,.systema-select,.systema-search-input,
  .systema-tab,[data-systema-component="button"],
  [data-systema-component="input"],[data-systema-component="select"],
  [data-systema-component="search-input"],[data-systema-component="tab"]
) {
  min-height: var(--systema-control-height-client) !important;
}

/* ==========================================================================
   SYSTEMA · Dashboard per ruolo 13
   Stessa identità, diversa densità e gerarchia delle informazioni disponibili.
   ========================================================================== */

html.bc-theme-light {
  --systema-dashboard-order-greeting: 10;
  --systema-dashboard-order-context: 15;
  --systema-dashboard-order-kpis: 20;
  --systema-dashboard-order-quick-heading: 29;
  --systema-dashboard-order-quick-actions: 30;
  --systema-dashboard-order-deadlines: 40;
  --systema-dashboard-order-activities: 50;
  --systema-dashboard-order-documents: 60;
  --systema-dashboard-order-communications: 70;
  --systema-dashboard-order-reports: 80;
  --systema-dashboard-order-history: 90;
  --systema-role-dashboard-gap: var(--systema-space-2);
  --systema-role-widget-gap: var(--systema-space-2);
  --systema-role-notification-row: var(--systema-space-8);
}

html.bc-theme-light[data-bc-role="admin"] {
  --systema-role-dashboard-gap: var(--systema-space-2);
  --systema-role-widget-gap: var(--systema-space-2);
}

html.bc-theme-light[data-bc-role="user"] {
  --systema-role-dashboard-gap: var(--systema-space-2);
  --systema-role-widget-gap: var(--systema-space-2);
}

html.bc-theme-light[data-bc-role="client"] {
  --systema-role-dashboard-gap: var(--systema-space-3);
  --systema-role-widget-gap: var(--systema-space-3);
  --systema-role-notification-row: calc(var(--systema-space-8) + var(--systema-space-1));
}

/* Il flusso è identico per ogni ruolo e rimane invariato nel responsive. */
html.bc-theme-light body :where(
  .dashboard-shell,.desk-shell,
  [data-systema-component="dashboard"],
  [data-systema-dashboard="flow"]
) {
  gap: var(--systema-role-dashboard-gap) !important;
}

html.bc-theme-light body :where(
  .dashboard-grid,.desk-grid,.avvisi-dashboard-grid,.dashboard-document-grid,
  [data-systema-dashboard="widgets"]
) {
  gap: var(--systema-role-widget-gap) !important;
}

html.bc-theme-light body [data-systema-dashboard="flow"] > [data-systema-section="greeting"] {
  order: var(--systema-dashboard-order-greeting);
}

html.bc-theme-light body [data-systema-dashboard="flow"] > [data-systema-section="context"] {
  order: var(--systema-dashboard-order-context);
}

html.bc-theme-light body [data-systema-dashboard="flow"] > [data-systema-section="kpis"] {
  order: var(--systema-dashboard-order-kpis);
}

html.bc-theme-light body [data-systema-dashboard="flow"] > [data-systema-section="quick-actions"] {
  order: var(--systema-dashboard-order-quick-actions);
}

html.bc-theme-light body [data-systema-dashboard="flow"] > [data-systema-section="deadlines"] {
  order: var(--systema-dashboard-order-deadlines);
}

html.bc-theme-light body [data-systema-dashboard="flow"] > [data-systema-section="activities"] {
  order: var(--systema-dashboard-order-activities);
}

html.bc-theme-light body [data-systema-dashboard="flow"] > [data-systema-section="documents"] {
  order: var(--systema-dashboard-order-documents);
}

html.bc-theme-light body [data-systema-dashboard="flow"] > [data-systema-section="communications"] {
  order: var(--systema-dashboard-order-communications);
}

html.bc-theme-light body [data-systema-dashboard="flow"] > [data-systema-section="reports"] {
  order: var(--systema-dashboard-order-reports);
}

html.bc-theme-light body [data-systema-dashboard="flow"] > [data-systema-section="history"] {
  order: var(--systema-dashboard-order-history);
}

/* Home Studio: centro operativo completo, senza nascondere contenuti autorizzati. */
html.bc-theme-light[data-bc-role="admin"] body .dashboard-shell > .dashboard-header {
  order: var(--systema-dashboard-order-greeting);
}

html.bc-theme-light[data-bc-role="admin"] body .dashboard-shell > .control-toolbar {
  order: var(--systema-dashboard-order-context);
}

html.bc-theme-light[data-bc-role="admin"] body .dashboard-shell > .control-kpis {
  order: var(--systema-dashboard-order-kpis);
}

html.bc-theme-light[data-bc-role="admin"] body .dashboard-shell > .section-heading:has(+ .module-grid) {
  order: var(--systema-dashboard-order-quick-heading);
}

html.bc-theme-light[data-bc-role="admin"] body .dashboard-shell > .module-grid {
  order: var(--systema-dashboard-order-quick-actions);
}

html.bc-theme-light[data-bc-role="admin"] body .dashboard-shell > .due-card {
  order: var(--systema-dashboard-order-deadlines);
}

html.bc-theme-light[data-bc-role="admin"] body .dashboard-shell > .dashboard-grid {
  order: var(--systema-dashboard-order-activities);
}

html.bc-theme-light[data-bc-role="admin"] body .dashboard-shell > #personalAgendaMount {
  order: var(--systema-dashboard-order-activities);
}

html.bc-theme-light[data-bc-role="admin"] body .dashboard-shell > .clients-control-card {
  order: var(--systema-dashboard-order-history);
}

html.bc-theme-light[data-bc-role="admin"] body .dashboard-shell > .print-dashboard {
  order: var(--systema-dashboard-order-history);
}

/* Home Operatore: incarichi e applicativi personali vengono prima dello storico. */
html.bc-theme-light[data-bc-role="user"] body .desk-shell > .desk-header {
  order: var(--systema-dashboard-order-greeting);
}

html.bc-theme-light[data-bc-role="user"] body .desk-shell > .status-strip {
  order: var(--systema-dashboard-order-context);
}

html.bc-theme-light[data-bc-role="user"] body .desk-shell > .kpis {
  order: var(--systema-dashboard-order-kpis);
}

html.bc-theme-light[data-bc-role="user"] body .desk-shell > .modules-panel {
  order: var(--systema-dashboard-order-quick-actions);
}

html.bc-theme-light[data-bc-role="user"] body .desk-shell > .desk-grid {
  order: var(--systema-dashboard-order-activities);
}

html.bc-theme-light[data-bc-role="user"] body .desk-shell > #personalAgendaMount {
  order: var(--systema-dashboard-order-deadlines);
}

/* Home Cliente: pochi blocchi, card ampie e percorso personale prevedibile. */
html.bc-theme-light[data-bc-role="client"] body #portalView:not([hidden]) {
  display: grid !important;
  gap: var(--systema-role-dashboard-gap) !important;
  align-content: start;
}

html.bc-theme-light[data-bc-role="client"] body #portalView > .portal-header {
  order: var(--systema-dashboard-order-greeting);
}

html.bc-theme-light[data-bc-role="client"] body #portalView > .kpi-strip {
  order: var(--systema-dashboard-order-kpis);
}

html.bc-theme-light[data-bc-role="client"] body #portalView > .bc-page-navigation,
html.bc-theme-light[data-bc-role="client"] body #portalView > .portal-tabs {
  order: var(--systema-dashboard-order-quick-actions);
}

html.bc-theme-light[data-bc-role="client"] body #portalView > .portal-view {
  order: var(--systema-dashboard-order-deadlines);
}

html.bc-theme-light[data-bc-role="client"] body #view-dashboard.portal-view.active > .section-heading {
  order: var(--systema-dashboard-order-greeting);
}

html.bc-theme-light[data-bc-role="client"] body #view-dashboard.portal-view.active > .status-banner {
  order: var(--systema-dashboard-order-context);
}

html.bc-theme-light[data-bc-role="client"] body #view-dashboard.portal-view.active > .dashboard-filter-panel {
  order: var(--systema-dashboard-order-context);
}

html.bc-theme-light[data-bc-role="client"] body #view-dashboard.portal-view.active > .dashboard-summary-grid {
  order: var(--systema-dashboard-order-kpis);
}

html.bc-theme-light[data-bc-role="client"] body #view-dashboard.portal-view.active > .data-block {
  order: var(--systema-dashboard-order-deadlines);
}

html.bc-theme-light[data-bc-role="client"] body #view-dashboard.portal-view.active > .data-block:last-child {
  order: var(--systema-dashboard-order-documents);
}

/* Ricerca globale e azioni rapide condividono un solo slot visivo. */
html.bc-theme-light body :where(
  .bc-global-search,.systema-global-search,.systema-header-search,
  .header-search,.global-search,
  [data-systema-navigation="global-search"]
) {
  flex: 1 1 auto;
  width: min(100%,var(--systema-content-max));
  min-width: min(100%,var(--systema-dashboard-column-min));
}

html.bc-theme-light body :where(
  .quick-actions,.systema-quick-actions,.systema-dashboard-switcher,
  [data-systema-navigation="quick-actions"],
  [data-systema-dashboard="quick-actions"],
  [data-systema-component="dashboard-switcher"]
) {
  display: flex;
  min-width: 0;
  gap: var(--systema-space-1);
  align-items: center;
  flex-wrap: wrap;
}

/* Personalizzazione grafica: gli stati sono pronti per la logica già esistente. */
html.bc-theme-light body :where(
  .systema-widget,[data-systema-component="widget"]
) {
  order: var(--systema-widget-order,0);
}

html.bc-theme-light body :where(
  .systema-widget-handle,[data-systema-dashboard-action="reorder"]
) {
  display: inline-grid;
  width: var(--systema-control-height);
  min-width: var(--systema-control-height);
  min-height: var(--systema-control-height);
  place-items: center;
  color: var(--systema-component-text-secondary);
  border: var(--systema-border-width) solid var(--systema-component-border);
  border-radius: var(--systema-control-radius);
  background: var(--systema-component-surface);
  box-shadow: none;
  cursor: grab;
}

html.bc-theme-light body :where(
  .systema-widget-pin,[data-systema-dashboard-action="pin"]
) {
  display: inline-grid;
  width: var(--systema-control-height);
  min-width: var(--systema-control-height);
  min-height: var(--systema-control-height);
  place-items: center;
  color: var(--systema-component-text-secondary);
  border: var(--systema-border-width) solid var(--systema-component-border);
  border-radius: var(--systema-control-radius);
  background: var(--systema-component-surface);
  box-shadow: none;
}

html.bc-theme-light body :where(
  .systema-widget-pin,[data-systema-dashboard-action="pin"]
):where(
  [aria-pressed="true"],[data-systema-state="active"]
) {
  color: var(--bc-primary);
  border-color: var(--bc-primary);
  background: var(--bc-primary-softer);
}

html.bc-theme-light body :where(
  .systema-widget,[data-systema-component="widget"]
):where(
  [data-systema-pinned="true"],[data-systema-state="pinned"]
) {
  border-color: var(--bc-primary-secondary) !important;
}

html.bc-theme-light body :where(
  .systema-widget,[data-systema-component="widget"]
):where(
  .is-dragging,[data-systema-state="dragging"]
) {
  box-shadow: var(--systema-overlay-shadow) !important;
  opacity: .82;
}

html.bc-theme-light body :where(
  .systema-dashboard-dropzone,[data-systema-component="dashboard-dropzone"]
) {
  min-height: var(--systema-dashboard-row-height);
  border: var(--systema-border-width) dashed var(--systema-component-border-strong);
  border-radius: var(--systema-container-radius);
  background: var(--systema-component-surface-muted);
}

/* Notifiche: stessa riga, densità regolata dal ruolo che le ha già ricevute. */
html.bc-theme-light body :where(
  .notification-list,.systema-notification-list,
  [data-systema-component="notification-list"]
) > :where(
  article,li,.notification,.systema-notification,
  [data-systema-component="notification"]
) {
  min-height: var(--systema-role-notification-row);
}

/* Tablet e laptop mantengono l'ordine informativo, riducendo solo le colonne. */
@media (max-width: 1120px) {
  html.bc-theme-light body :where(
    .systema-quick-actions,[data-systema-navigation="quick-actions"],
    [data-systema-dashboard="quick-actions"]
  ) {
    width: 100%;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body :where(
    .bc-global-search,.systema-global-search,.systema-header-search,
    .header-search,.global-search,
    [data-systema-navigation="global-search"]
  ) {
    width: 100%;
    min-width: 0;
  }
}

/* ==========================================================================
   SYSTEMA · Architettura dei moduli 14
   Contratto grafico unico per applicazioni esistenti e future funzionalità.
   ========================================================================== */

html.bc-theme-light {
  --systema-module-order-header: 10;
  --systema-module-order-title: 20;
  --systema-module-order-primary-actions: 30;
  --systema-module-order-filters: 40;
  --systema-module-order-workspace: 50;
  --systema-module-order-results: 60;
  --systema-module-order-context-actions: 70;
  --systema-module-home-order-kpis: 10;
  --systema-module-home-order-quick-actions: 20;
  --systema-module-home-order-deadlines: 30;
  --systema-module-home-order-activities: 40;
  --systema-module-home-order-recent: 50;
  --systema-module-home-order-statistics: 60;
  --systema-module-gap: var(--systema-space-3);
  --systema-module-content-gap: var(--systema-space-2);
  --systema-readable-line: 72ch;
}

html.bc-theme-light[data-bc-role="client"] {
  --systema-module-gap: var(--systema-space-4);
  --systema-module-content-gap: var(--systema-space-3);
}

/* Scheletro obbligatorio: Header, titolo, azioni, filtri, lavoro e risultati. */
html.bc-theme-light body :where(
  .systema-module,[data-systema-component="module"]
) {
  display: grid;
  width: min(100%,var(--systema-content-max));
  min-width: 0;
  gap: var(--systema-module-gap);
  align-content: start;
  margin-inline: auto;
}

html.bc-theme-light body :where(
  .systema-module,[data-systema-component="module"]
) > * {
  min-width: 0;
  margin-block: 0;
}

html.bc-theme-light body :where(
  .systema-module,[data-systema-component="module"]
) > [data-systema-module="header"] {
  order: var(--systema-module-order-header);
}

html.bc-theme-light body :where(
  .systema-module,[data-systema-component="module"]
) > [data-systema-module="title"] {
  order: var(--systema-module-order-title);
}

html.bc-theme-light body :where(
  .systema-module,[data-systema-component="module"]
) > [data-systema-module="primary-actions"] {
  order: var(--systema-module-order-primary-actions);
}

html.bc-theme-light body :where(
  .systema-module,[data-systema-component="module"]
) > [data-systema-module="filters"] {
  order: var(--systema-module-order-filters);
}

html.bc-theme-light body :where(
  .systema-module,[data-systema-component="module"]
) > [data-systema-module="workspace"] {
  order: var(--systema-module-order-workspace);
}

html.bc-theme-light body :where(
  .systema-module,[data-systema-component="module"]
) > [data-systema-module="results"] {
  order: var(--systema-module-order-results);
}

html.bc-theme-light body :where(
  .systema-module,[data-systema-component="module"]
) > [data-systema-module="context-actions"] {
  order: var(--systema-module-order-context-actions);
}

/* Header e titolo del modulo riusano la stessa geometria delle pagine attuali. */
html.bc-theme-light body :where(
  .systema-module-header,[data-systema-module="header"]
) {
  display: flex;
  min-height: var(--systema-header-height);
  gap: var(--systema-space-2);
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: var(--systema-card-padding);
  color: var(--systema-component-text);
  border: var(--systema-border-width) solid var(--systema-component-border);
  border-radius: var(--systema-container-radius);
  background: var(--systema-component-surface);
  box-shadow: var(--systema-header-shadow);
}

html.bc-theme-light body :where(
  .systema-module-title,[data-systema-module="title"]
) {
  display: grid;
  gap: var(--systema-space-1);
  align-content: start;
}

html.bc-theme-light body :where(
  .systema-module-title,[data-systema-module="title"]
) :where(h1,.systema-title) {
  margin: 0;
  color: var(--systema-component-text);
  font-size: var(--systema-type-level-1);
  font-weight: var(--systema-weight-bold);
  line-height: var(--systema-line-heading);
}

html.bc-theme-light body :where(
  .systema-module-title,[data-systema-module="title"]
) :where(p,.systema-description) {
  max-width: var(--systema-readable-line);
  margin: 0;
  color: var(--systema-component-text-secondary);
}

/* Azioni principali e contestuali sono gruppi del Button ufficiale. */
html.bc-theme-light body :where(
  .systema-module-actions,[data-systema-module="primary-actions"],
  .systema-module-context-actions,[data-systema-module="context-actions"]
) {
  display: flex;
  min-width: 0;
  gap: var(--systema-space-1);
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

html.bc-theme-light body :where(
  .systema-module-context-actions,[data-systema-module="context-actions"]
) {
  padding-top: var(--systema-space-2);
  border-top: var(--systema-border-width) solid var(--systema-component-border);
}

/* Area operativa e risultati mantengono separazione e continuità visiva. */
html.bc-theme-light body :where(
  .systema-module-workspace,[data-systema-module="workspace"]
) {
  display: grid;
  min-width: 0;
  gap: var(--systema-module-content-gap);
  align-content: start;
}

html.bc-theme-light body :where(
  .systema-module-results,[data-systema-module="results"]
) {
  min-width: 0;
  overflow: hidden;
  color: var(--systema-component-text);
  border: var(--systema-border-width) solid var(--systema-component-border);
  border-radius: var(--systema-container-radius);
  background: var(--systema-component-surface);
  box-shadow: var(--systema-card-shadow);
}

html.bc-theme-light body :where(
  .systema-module-results-header,[data-systema-component="results-header"]
) {
  display: flex;
  min-height: var(--systema-control-height);
  gap: var(--systema-space-2);
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: var(--systema-space-2);
  border-bottom: var(--systema-border-width) solid var(--systema-component-border);
}

/* Home del modulo: prima sintesi e azioni, poi lavoro e storico. */
html.bc-theme-light body :where(
  .systema-module-home,[data-systema-module="home"]
) {
  display: grid;
  min-width: 0;
  gap: var(--systema-module-gap);
  align-content: start;
}

html.bc-theme-light body :where(
  .systema-module-home,[data-systema-module="home"]
) > [data-systema-home="kpis"] {
  order: var(--systema-module-home-order-kpis);
}

html.bc-theme-light body :where(
  .systema-module-home,[data-systema-module="home"]
) > [data-systema-home="quick-actions"] {
  order: var(--systema-module-home-order-quick-actions);
}

html.bc-theme-light body :where(
  .systema-module-home,[data-systema-module="home"]
) > [data-systema-home="deadlines"] {
  order: var(--systema-module-home-order-deadlines);
}

html.bc-theme-light body :where(
  .systema-module-home,[data-systema-module="home"]
) > [data-systema-home="activities"] {
  order: var(--systema-module-home-order-activities);
}

html.bc-theme-light body :where(
  .systema-module-home,[data-systema-module="home"]
) > [data-systema-home="recent"] {
  order: var(--systema-module-home-order-recent);
}

html.bc-theme-light body :where(
  .systema-module-home,[data-systema-module="home"]
) > [data-systema-home="statistics"] {
  order: var(--systema-module-home-order-statistics);
}

/* Barra comune: ricerca, preferiti, storico, output, condivisione e aiuto. */
html.bc-theme-light body :where(
  .systema-module-tools,[data-systema-component="module-tools"]
) {
  display: flex;
  min-width: 0;
  gap: var(--systema-space-1);
  align-items: end;
  flex-wrap: wrap;
  padding: var(--systema-space-2);
  color: var(--systema-component-text);
  border: var(--systema-border-width) solid var(--systema-component-border);
  border-radius: var(--systema-container-radius);
  background: var(--systema-component-surface);
  box-shadow: var(--systema-card-shadow);
}

html.bc-theme-light body :where(
  .systema-module-tools,[data-systema-component="module-tools"]
) [data-systema-module-action="search"] {
  flex: 2 1 var(--systema-dashboard-widget-min);
  min-width: min(100%,var(--systema-dashboard-column-min));
}

html.bc-theme-light body :where(
  .systema-module-tools,[data-systema-component="module-tools"]
) [data-systema-module-action="search"] :where(
  input,.systema-input,[data-systema-component="input"]
) {
  width: 100%;
}

html.bc-theme-light body :where(
  .systema-button,[data-systema-component="button"]
)[data-systema-module-action="favorite"]:where(
  [aria-pressed="true"],[data-systema-state="active"]
) {
  color: var(--bc-primary) !important;
  border-color: var(--bc-primary) !important;
  background: var(--bc-primary-softer) !important;
}

/* Breadcrumb e navigazione interna restano una sola continuità di percorso. */
html.bc-theme-light body :where(
  .systema-module-navigation,[data-systema-component="module-navigation"],
  .bc-page-navigation
) {
  min-width: 0;
}

/* L'Area Clienti conserva la libreria e riduce soltanto la complessità. */
html.bc-theme-light[data-bc-role="client"] body :where(
  .systema-module-actions,[data-systema-module="primary-actions"],
  .systema-module-context-actions,[data-systema-module="context-actions"],
  .systema-module-tools,[data-systema-component="module-tools"]
) {
  gap: var(--systema-space-2);
}

@media (max-width: 900px) {
  html.bc-theme-light body :where(
    .systema-module-actions,[data-systema-module="primary-actions"],
    .systema-module-context-actions,[data-systema-module="context-actions"],
    .systema-module-tools,[data-systema-component="module-tools"]
  ) {
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body :where(
    .systema-module-header,[data-systema-module="header"],
    .systema-module-actions,[data-systema-module="primary-actions"],
    .systema-module-context-actions,[data-systema-module="context-actions"],
    .systema-module-tools,[data-systema-component="module-tools"],
    .systema-module-results-header,[data-systema-component="results-header"]
  ) {
    align-items: stretch;
    flex-direction: column;
  }

  html.bc-theme-light body :where(
    .systema-module-actions,[data-systema-module="primary-actions"],
    .systema-module-context-actions,[data-systema-module="context-actions"],
    .systema-module-tools,[data-systema-component="module-tools"]
  ) > :where(
    button,.button,.btn,a,.systema-button,[data-systema-component="button"]
  ) {
    width: 100%;
  }
}

/* ==========================================================================
   SYSTEMA · Esperienza Enterprise e accessibilità 15
   Gerarchia, leggibilità e controllo operativo senza modifiche funzionali.
   ========================================================================== */

/* La lettura segue sempre: titolo, sintesi, azione, contenuto e supporto. */
html.bc-theme-light body :where(
  h1,.page-title,.systema-title,[data-systema-type="page-title"],
  .systema-module-title h1,[data-systema-module="title"] h1
) {
  max-width: var(--systema-reading-measure);
  text-wrap: balance;
}

html.bc-theme-light body :where(
  .page-subtitle,.page-description,.section-description,.card-description,
  .systema-description,.supporting-copy,.intro-copy,
  [data-systema-type="description"],[data-systema-importance="supporting"]
) {
  max-width: var(--systema-reading-measure);
  color: var(--systema-component-text-secondary) !important;
  line-height: var(--systema-line-content);
  text-wrap: pretty;
}

html.bc-theme-light body :where(
  .helper-text,.help-text,.field-help,.form-help,.hint,.caption,
  [data-systema-component="help-text"]
) {
  max-width: var(--systema-reading-measure);
  color: var(--systema-component-text-secondary) !important;
  line-height: var(--systema-line-content);
}

html.bc-theme-light body :where(
  .systema-module,[data-systema-component="module"],
  .systema-module-home,[data-systema-module="home"]
) > :where(
  section,article,aside,header,footer
) {
  scroll-margin-block: var(--systema-space-3);
}

/* Azioni principali e secondarie conservano una posizione e un peso costanti. */
html.bc-theme-light body :where(
  .systema-primary-actions,[data-systema-module="primary-actions"],
  .page-primary-actions,[data-systema-component="primary-actions"]
) {
  display: flex;
  min-width: 0;
  gap: var(--systema-space-1);
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

html.bc-theme-light body :where(
  .systema-secondary-actions,.page-secondary-actions,
  [data-systema-component="secondary-actions"]
) {
  display: flex;
  min-width: 0;
  gap: var(--systema-space-1);
  align-items: center;
  flex-wrap: wrap;
}

html.bc-theme-light body :where(
  .systema-button,.button,.btn,button,
  [data-systema-component="button"]
)[data-systema-importance="secondary"] {
  color: var(--systema-component-text) !important;
  border-color: var(--systema-component-border-strong) !important;
  background: var(--systema-component-surface) !important;
  box-shadow: none !important;
}

/* Navigazione da tastiera visibile in ogni modulo e in ogni ruolo. */
html.bc-theme-light body :where(
  a,button,.button,.btn,input,select,textarea,summary,
  [role="button"],[role="link"],[role="menuitem"],[role="tab"],
  [role="switch"],[tabindex]
) {
  scroll-margin-block: var(--systema-space-2);
}

html.bc-theme-light body summary {
  min-height: var(--systema-accessible-target);
  cursor: pointer;
}

html.bc-theme-light body :where(
  [aria-current="page"],[aria-current="step"],[aria-selected="true"]
) {
  font-weight: var(--systema-weight-semibold) !important;
}

html.bc-theme-light body :where(
  nav,[role="navigation"],.bc-app-sidebar,.systema-module-navigation
) :where(
  [aria-current="page"],[aria-current="step"]
) {
  color: var(--bc-primary) !important;
}

/* Collegamento di salto: disponibile per le pagine che lo dichiarano. */
html.bc-theme-light body :where(
  .skip-link,.systema-skip-link,[data-systema-component="skip-link"]
) {
  position: fixed;
  z-index: var(--systema-layer-toast);
  top: var(--systema-space-1);
  left: var(--systema-space-1);
  min-height: var(--systema-accessible-target);
  padding-inline: var(--systema-space-2);
  transform: translateY(calc(-100% - var(--systema-space-2)));
  color: var(--bc-text-inverse) !important;
  border: var(--systema-border-width) solid var(--bc-primary) !important;
  border-radius: var(--systema-control-radius);
  background: var(--bc-primary) !important;
  box-shadow: var(--systema-component-shadow);
}

html.bc-theme-light body :where(
  .skip-link,.systema-skip-link,[data-systema-component="skip-link"]
):focus-visible {
  transform: translateY(0);
}

/* Errori, aiuti e conferme restano vicini al controllo che li genera. */
html.bc-theme-light body :where(
  .field-error-text,.validation-error,.input-error,.error-text,
  [data-systema-component="field-error"]
) {
  display: block;
  margin-top: var(--systema-space-1);
  color: var(--bc-danger-strong) !important;
  font-size: var(--systema-type-level-5);
  font-weight: var(--systema-weight-semibold);
  line-height: var(--systema-line-content);
}

html.bc-theme-light body :where(
  input,select,textarea,.systema-input,.systema-select,.systema-textarea
)[aria-invalid="true"] {
  border-color: var(--bc-danger) !important;
  box-shadow: var(--systema-focus-ring-danger) !important;
}

html.bc-theme-light body :where(
  .operation-status,.save-status,.sync-status,.form-status,
  .systema-status-message,[data-systema-component="status-message"]
):not(:empty) {
  display: flex;
  min-height: var(--systema-accessible-target);
  gap: var(--systema-space-1);
  align-items: center;
  padding: var(--systema-space-1) var(--systema-space-2);
  color: var(--systema-component-text-secondary) !important;
  border: var(--systema-border-width) solid var(--systema-component-border);
  border-radius: var(--systema-control-radius);
  background: var(--systema-component-surface-muted);
  box-shadow: none;
}

html.bc-theme-light body :where(
  form,.systema-module-workspace,.systema-module-results,
  [data-systema-component="form"],[data-systema-module="workspace"],
  [data-systema-module="results"]
)[aria-busy="true"] {
  cursor: progress;
}

/* Tabelle e risultati dichiarano chiaramente contesto e significato. */
html.bc-theme-light body table caption {
  padding: var(--systema-space-2);
  color: var(--systema-component-text-secondary);
  font-size: var(--systema-type-level-4);
  font-weight: var(--systema-weight-semibold);
  line-height: var(--systema-line-content);
  text-align: left;
}

html.bc-theme-light body :where(
  th,[role="columnheader"],[role="rowheader"]
) {
  text-wrap: balance;
}

html.bc-theme-light body :where(
  .empty-state,.systema-empty,[data-systema-component="empty-state"]
) :where(
  p,.description,[data-systema-type="description"]
) {
  max-width: var(--systema-reading-measure);
  margin-inline: auto;
}

/* Area Clienti: stessa identità, minore densità e comandi più facili. */
html.bc-theme-light[data-bc-role="client"] body :where(
  .systema-module,[data-systema-component="module"]
) {
  --systema-module-content-gap: var(--systema-space-3);
}

html.bc-theme-light[data-bc-role="client"] body :where(
  .page-description,.section-description,.card-description,
  .systema-description,[data-systema-type="description"]
) {
  line-height: var(--systema-line-body);
}

/* Laptop e tablet ricompongono i gruppi senza comprimere i controlli. */
@media (max-width: 900px) {
  html.bc-theme-light body :where(
    .systema-primary-actions,[data-systema-module="primary-actions"],
    .systema-secondary-actions,[data-systema-component="secondary-actions"]
  ) {
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body :where(
    .systema-primary-actions,[data-systema-module="primary-actions"],
    .systema-secondary-actions,[data-systema-component="secondary-actions"]
  ) {
    width: 100%;
    align-items: stretch;
  }

  html.bc-theme-light body :where(
    .systema-primary-actions,[data-systema-module="primary-actions"],
    .systema-secondary-actions,[data-systema-component="secondary-actions"]
  ) > :where(
    button,.button,.btn,a,.systema-button,[data-systema-component="button"]
  ) {
    max-width: 100%;
  }
}

@media (pointer: coarse) {
  html.bc-theme-light body :where(
    button,.button,.btn,.icon-button,.table-action,.row-action,
    input:not([type="checkbox"]):not([type="radio"]),select,textarea,
    [role="button"],[role="tab"],[role="menuitem"],
    [data-systema-component="button"]
  ) {
    min-height: var(--systema-accessible-target-client) !important;
  }
}

@media (prefers-contrast: more) {
  html.bc-theme-light body :where(
    .systema-card,[data-systema-component="card"],
    .systema-module-results,[data-systema-module="results"],
    input,select,textarea,button,.button,.btn
  ) {
    border-color: var(--systema-component-border-strong) !important;
  }

  html.bc-theme-light body :where(
    .helper-text,.help-text,.field-help,.form-help,.hint,.caption,
    .page-description,.section-description,.card-description
  ) {
    color: var(--systema-component-text) !important;
  }
}

/* ==========================================================================
   SYSTEMA · Architettura UI e manutenibilità 16
   I componenti ufficiali sono registrati in COMPONENTS.md.
   Questo livello non aggiunge selettori: token, responsabilità e riuso sono
   consolidati nelle rispettive sezioni centrali per evitare duplicazioni.
   ========================================================================== */

/* ==========================================================================
   SYSTEMA · Esperienza Premium e perfezionamento 17
   La rifinitura è integrata nei token di identità e nei componenti ufficiali:
   superfici satinate, profondità discreta, azioni gerarchiche e blu marginale.
   Nessun livello correttivo o variante locale viene aggiunto in coda.
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  html.bc-theme-light *,
  html.bc-theme-light *::before,
  html.bc-theme-light *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ==========================================================================
   SYSTEMA - Audit globale e unificazione 18
   Le ultime eccezioni locali sono ricondotte ai componenti e ai token
   ufficiali senza modificare struttura, comportamento o flussi applicativi.
   ========================================================================== */

html.bc-theme-light body .systema-actions-flush {
  padding: 0 !important;
}

html.bc-theme-light body .systema-content-inset {
  padding: 0 var(--systema-space-2) var(--systema-space-2) !important;
}

html.bc-theme-light body .systema-section-offset-sm {
  margin-top: var(--systema-space-1) !important;
}

html.bc-theme-light body .systema-section-offset-md {
  margin-top: var(--systema-space-2) !important;
}

html.bc-theme-light body .systema-section-end-md {
  margin-bottom: var(--systema-space-2) !important;
}

html.bc-theme-light body .systema-inline-statuses {
  display: flex;
  gap: var(--systema-space-1);
  align-items: center;
  flex-wrap: wrap;
}

html.bc-theme-light body .systema-note-offset {
  margin: var(--systema-space-1) 0 0 !important;
}

html.bc-theme-light body .systema-inline-choice {
  display: flex !important;
  min-height: var(--systema-accessible-target);
  gap: var(--systema-space-1) !important;
  align-items: center !important;
  color: var(--systema-component-text) !important;
  font-size: var(--systema-type-level-5) !important;
  line-height: var(--systema-line-content);
  text-transform: none !important;
}

html.bc-theme-light body .systema-inline-choice > input:is(
  [type="checkbox"],[type="radio"]
) {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px;
}

html.bc-theme-light body .mail-trace {
  display: flex;
  min-height: var(--systema-accessible-target);
  gap: var(--systema-space-1);
  align-items: center;
  margin-top: var(--systema-space-1);
  padding: var(--systema-space-1) var(--systema-space-2);
  color: var(--systema-component-text-secondary) !important;
  border: var(--systema-border-width) solid var(--bc-success) !important;
  border-radius: var(--systema-control-radius) !important;
  background: var(--bc-success-soft) !important;
  box-shadow: none !important;
  font-size: var(--systema-type-level-5);
  line-height: var(--systema-line-content);
}

html.bc-theme-light body .mail-trace strong {
  display: grid;
  width: 20px;
  min-width: 20px;
  height: 20px;
  place-items: center;
  color: var(--bc-text-inverse) !important;
  border-radius: 50%;
  background: var(--bc-success) !important;
}

html.bc-theme-light body .timeline-event.mail-errore .mail-trace {
  color: var(--bc-danger-strong) !important;
  border-color: var(--bc-danger) !important;
  background: var(--bc-danger-soft) !important;
}

html.bc-theme-light body .timeline-event.mail-errore .mail-trace strong {
  background: var(--bc-danger) !important;
}

html.bc-theme-light body .timeline-event.mail-da_inviare .mail-trace {
  color: var(--bc-warning-strong) !important;
  border-color: var(--bc-warning) !important;
  background: var(--bc-warning-soft) !important;
}

html.bc-theme-light body .timeline-event.mail-da_inviare .mail-trace strong {
  color: var(--bc-text-primary) !important;
  background: var(--bc-warning) !important;
}

/* ==========================================================================
   SYSTEMA - Analisi automatica e miglioramento continuo 19
   Breakpoint, movimento e performance sono consolidati nelle rispettive
   sezioni proprietarie. Nessun nuovo livello visuale viene sovrapposto.
   ========================================================================== */

/* ==========================================================================
   SYSTEMA - Verifica finale e approvazione 20
   Token fondamentali, View Transition e componenti hanno un'unica autorita.
   Le sole ridefinizioni residue sono contestuali a ruolo o breakpoint.
   ========================================================================== */

/* ==========================================================================
   SYSTEMA - Area Studio, home operativa enterprise 21
   Scrivania digitale ordinata per giornata, priorita e accesso immediato.
   L'intervento e circoscritto alla composizione visuale della Home Studio.
   ========================================================================== */

html.bc-theme-light body[data-systema-area="studio-home"] .studio-home {
  display: block;
  color: var(--bc-text-primary);
}

html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(420px,auto) !important;
  gap: var(--systema-space-3) var(--systema-space-4) !important;
  min-height: 0 !important;
  overflow: hidden;
  align-items: center !important;
  padding: var(--systema-space-4) !important;
  border: 1px solid var(--bc-border) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 88% 12%,rgba(35,78,139,.08),transparent 30%),
    linear-gradient(145deg,#FFFFFF 0%,#F8FAFD 64%,#F1F5FA 100%) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header::before {
  top: -250px !important;
  right: -190px !important;
  bottom: auto !important;
  left: auto !important;
  width: 430px !important;
  height: 430px !important;
  opacity: .62;
  border: 18px solid rgba(35,78,139,.13) !important;
  background: transparent !important;
  box-shadow:
    0 0 0 6px rgba(255,255,255,.8),
    0 0 0 28px rgba(199,205,212,.2) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header::after {
  display: none !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header .header-copy {
  max-width: 760px;
}

html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header h1 {
  max-width: 760px;
  margin: 0 !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(36px,4vw,58px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
  text-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header .header-copy > p:not(.eyebrow) {
  max-width: 680px;
  margin: 0 !important;
  color: var(--bc-text-secondary) !important;
  font-size: var(--systema-type-level-3) !important;
  line-height: 1.55 !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header .header-line {
  width: 152px;
  height: 3px;
  margin-top: var(--systema-space-1);
  border-radius: 999px;
  background: linear-gradient(90deg,var(--bc-primary-light),var(--bc-primary),rgba(35,78,139,.08)) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header .header-actions {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: repeat(3,auto);
  justify-content: end !important;
  padding: var(--systema-space-2) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: var(--bc-shadow-xs) !important;
  backdrop-filter: blur(12px);
}

html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header .header-actions > div {
  grid-column: 1/-1;
  width: auto !important;
  margin: 0 0 var(--systema-space-1) !important;
  padding-bottom: var(--systema-space-1);
  border-bottom: 1px solid var(--bc-border-soft);
  text-align: left !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header .sync-state {
  grid-column: 1/-1;
  min-height: 32px !important;
  justify-content: flex-start;
  padding: 0 !important;
  color: var(--bc-success-strong) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header > .control-toolbar {
  position: relative;
  z-index: 1;
  grid-column: 1/-1;
  margin: 0 !important;
  padding: var(--systema-space-2) var(--systema-space-3) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: rgba(246,248,251,.82) !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header > .control-toolbar h2 {
  margin: 0 !important;
  font-size: var(--systema-type-level-2) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-home-kpis {
  grid-template-columns: repeat(6,minmax(0,1fr)) !important;
  gap: var(--systema-space-2) !important;
  margin: 0 0 var(--systema-section-gap) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-home-kpis > article {
  min-height: 154px !important;
  padding: 0 !important;
  border-color: var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg,#FFFFFF,#F8FAFD) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-home-kpis > article::after {
  right: -28px !important;
  bottom: -35px !important;
  width: 96px !important;
  height: 96px !important;
  opacity: .62;
  border: 12px solid var(--bc-primary-softer) !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-home-kpis > article > a {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 154px;
  align-content: start;
  padding: var(--systema-space-2);
  color: inherit !important;
  text-decoration: none !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-home-kpis > article > a::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  border-radius: 16px 0 0 16px;
  content: "";
  background: var(--bc-primary);
  opacity: .78;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-home-kpis > article.kpi-danger > a::before {
  background: var(--bc-danger);
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-home-kpis > article.kpi-gold > a::before {
  background: var(--bc-warning);
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-home-kpis > article em {
  align-self: end;
  margin-top: auto;
  padding-top: var(--systema-space-1);
  color: var(--bc-primary) !important;
  font-size: var(--systema-type-level-5);
  font-style: normal;
  font-weight: 800;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-home-kpis > article:hover {
  border-color: rgba(35,78,139,.28) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-home-kpis > article > a:focus-visible,
html.bc-theme-light body[data-systema-area="studio-home"] .studio-rail-nav a:focus-visible {
  outline: 3px solid rgba(35,78,139,.25);
  outline-offset: 3px;
}

html.bc-theme-light body[data-systema-area="studio-home"] :is(
  #studioAgenda,#studioDeadlines,#studioActivities,#studioUpdates,#studioClients,#studioWidgets
) {
  scroll-margin-top: var(--systema-space-3);
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-home-section {
  margin-bottom: var(--systema-section-gap) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-section-heading {
  margin: 0 0 var(--systema-space-2) !important;
  padding-inline: var(--systema-space-1);
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-section-heading h2 {
  margin: 0 0 4px !important;
  font-size: clamp(25px,2.2vw,34px) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-agenda-section {
  padding: 0 !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] #personalAgendaMount:empty {
  min-height: 180px;
  border: 1px dashed var(--bc-border);
  border-radius: 18px;
  background: rgba(255,255,255,.58);
}

html.bc-theme-light body[data-systema-area="studio-home"] .due-card {
  padding: var(--systema-space-3) !important;
  border-radius: 20px !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .due-card .table-scroll {
  max-height: 460px;
  overflow: auto !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 14px;
}

html.bc-theme-light body[data-systema-area="studio-home"] .due-card thead {
  position: sticky;
  z-index: 2;
  top: 0;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(300px,360px);
  gap: var(--systema-space-3);
  align-items: start;
  margin-bottom: var(--systema-section-gap);
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-workspace-main,
html.bc-theme-light body[data-systema-area="studio-home"] .studio-side-rail {
  display: grid;
  min-width: 0;
  gap: var(--systema-space-3);
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-side-rail {
  position: sticky;
  top: var(--systema-space-3);
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-workspace-grid .dashboard-card {
  margin: 0 !important;
  padding: var(--systema-space-3) !important;
  border-radius: 18px !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-spotlight-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: var(--systema-space-3);
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-spotlight-card {
  display: grid;
  align-content: start;
}

html.bc-theme-light body[data-systema-area="studio-home"] :is(.studio-spotlight-link,.studio-report-link) {
  min-height: 112px !important;
  margin-top: var(--systema-space-2);
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-soft) !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] :is(.studio-spotlight-link,.studio-report-link):hover {
  border-color: rgba(35,78,139,.28) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .traffic-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 0 var(--systema-space-3);
}

html.bc-theme-light body[data-systema-area="studio-home"] .traffic-list > a {
  min-height: 70px;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-rail-nav nav {
  display: grid;
  margin-top: var(--systema-space-1);
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-rail-nav nav > a {
  display: flex;
  min-height: 52px;
  gap: var(--systema-space-2);
  align-items: center;
  justify-content: space-between;
  padding: var(--systema-space-1) 4px;
  color: var(--bc-text-primary) !important;
  border-bottom: 1px solid var(--bc-border-soft);
  text-decoration: none !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-rail-nav nav > a:last-child {
  border-bottom: 0;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-rail-nav nav strong {
  color: var(--bc-primary) !important;
  font-size: var(--systema-type-level-5);
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-side-rail .clients-control-card .card-heading {
  display: grid !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-side-rail .clients-control-card .action-button {
  width: 100%;
  margin-top: var(--systema-space-2);
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-side-rail .client-alert-grid {
  grid-template-columns: 1fr !important;
  max-height: 520px;
  overflow: auto;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-side-rail .client-alert {
  min-width: 0;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-widget-grid {
  grid-template-columns: repeat(4,minmax(220px,1fr)) !important;
  gap: var(--systema-space-2) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-widget-grid > .module-card {
  min-height: 138px !important;
  border-radius: 16px !important;
}

html.bc-theme-light body[data-systema-area="studio-home"] .studio-widget-grid .module-code,
html.bc-theme-light body[data-systema-area="studio-home"] :is(.studio-spotlight-link,.studio-report-link) .module-code {
  color: var(--bc-primary) !important;
  border: 1px solid rgba(35,78,139,.12) !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: none !important;
}

@media (max-width: 1120px) {
  html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header {
    grid-template-columns: minmax(0,1fr) minmax(360px,auto) !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .studio-home-kpis {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .studio-workspace-grid {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .studio-side-rail {
    position: static;
    grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr);
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .studio-widget-grid {
    grid-template-columns: repeat(2,minmax(220px,1fr)) !important;
  }
}

@media (max-width: 900px) {
  html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header .header-actions {
    justify-content: stretch !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header > .control-toolbar {
    display: grid !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header .toolbar-fields {
    justify-content: start !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .studio-spotlight-grid,
  html.bc-theme-light body[data-systema-area="studio-home"] .studio-side-rail {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header {
    gap: var(--systema-space-3) !important;
    padding: var(--systema-space-3) !important;
    border-radius: 18px !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header h1 {
    font-size: clamp(34px,11vw,46px) !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header .header-actions {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header .header-actions > * {
    grid-column: 1 !important;
    width: 100%;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .dashboard-header > .control-toolbar {
    padding: var(--systema-space-2) !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .studio-home-kpis,
  html.bc-theme-light body[data-systema-area="studio-home"] .studio-widget-grid,
  html.bc-theme-light body[data-systema-area="studio-home"] .traffic-list {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .studio-workspace-grid .dashboard-card,
  html.bc-theme-light body[data-systema-area="studio-home"] .due-card {
    padding: var(--systema-space-2) !important;
    border-radius: 16px !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .studio-section-heading {
    align-items: stretch !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"] .studio-section-heading .action-button {
    width: 100%;
  }
}

/* ==========================================================================
   SYSTEMA - Area Clienti Premium 22
   Portale semplice, autorevole e leggibile con densita informativa ridotta.
   ========================================================================== */

html.bc-theme-light body[data-systema-area="client-premium"] {
  color: var(--bc-text-primary);
}

html.bc-theme-light body[data-systema-area="client-premium"] :where(.portal-shell,.client-ticket-shell) {
  max-width: 1480px !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .login-layout {
  min-height: min(760px,calc(100vh - 64px));
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--bc-border) !important;
  border-radius: 28px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-lg) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .login-brand {
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: center;
  padding: clamp(40px,6vw,88px) !important;
  color: var(--bc-text-primary) !important;
  background:
    radial-gradient(circle at 18% 82%,rgba(35,78,139,.09),transparent 34%),
    linear-gradient(145deg,#FFFFFF,#F2F5F9) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .login-brand::after {
  position: absolute;
  z-index: -1;
  right: -190px;
  bottom: -220px;
  width: 520px;
  height: 520px;
  border: 28px solid rgba(35,78,139,.1);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 8px rgba(255,255,255,.8),0 0 0 48px rgba(199,205,212,.2);
}

html.bc-theme-light body[data-systema-area="client-premium"] .login-brand img {
  width: 104px !important;
  height: 104px !important;
  margin-bottom: var(--systema-space-3);
  border: 1px solid var(--bc-border-soft);
  border-radius: 50%;
  box-shadow: var(--bc-shadow-md);
}

html.bc-theme-light body[data-systema-area="client-premium"] .login-brand h1 {
  max-width: 620px;
  margin: 0 0 var(--systema-space-2) !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(40px,5vw,64px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .login-brand > p:not(.eyebrow) {
  max-width: 560px;
  color: var(--bc-text-secondary) !important;
  font-size: var(--systema-type-level-2) !important;
  line-height: 1.65 !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .login-panel {
  align-self: center;
  width: min(100%,520px);
  margin: clamp(24px,5vw,72px);
  padding: clamp(28px,4vw,48px) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 22px !important;
  background: #FFFFFF !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-header,
html.bc-theme-light body[data-systema-area="client-premium"] .client-ticket-header {
  position: relative;
  isolation: isolate;
  min-height: 190px !important;
  overflow: hidden;
  padding: clamp(24px,3vw,40px) !important;
  border: 1px solid var(--bc-border) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 88% 10%,rgba(35,78,139,.09),transparent 31%),
    linear-gradient(145deg,#FFFFFF 0%,#F7F9FC 72%,#EEF3F8 100%) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-header::after,
html.bc-theme-light body[data-systema-area="client-premium"] .client-ticket-header::after {
  position: absolute;
  z-index: -1;
  top: -250px;
  right: -160px;
  width: 430px;
  height: 430px;
  border: 18px solid rgba(35,78,139,.12);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 6px rgba(255,255,255,.8),0 0 0 30px rgba(199,205,212,.18);
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-header .brand-lockup {
  align-items: center !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-header .brand-lockup img {
  width: 84px !important;
  height: 84px !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 50%;
  background: #FFFFFF;
  box-shadow: var(--bc-shadow-sm);
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-header h1,
html.bc-theme-light body[data-systema-area="client-premium"] .client-ticket-header h1 {
  margin: 0 !important;
  font-size: clamp(34px,4vw,52px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-header .readonly-badge,
html.bc-theme-light body[data-systema-area="client-premium"] .client-ticket-header .readonly-badge {
  color: var(--bc-success-strong) !important;
  border-color: rgba(22,101,52,.24) !important;
  background: var(--bc-success-soft) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-overview {
  grid-template-columns: repeat(5,minmax(0,1fr)) !important;
  gap: var(--systema-space-2) !important;
  margin: 0 0 var(--systema-space-3) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-overview > article {
  min-height: 168px !important;
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg,#FFFFFF,#F8FAFD) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-overview > article > a {
  position: relative;
  display: grid;
  min-height: 168px;
  align-content: start;
  padding: var(--systema-space-3);
  color: var(--bc-text-primary) !important;
  text-decoration: none !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-overview > article > a::after {
  position: absolute;
  right: -28px;
  bottom: -35px;
  width: 96px;
  height: 96px;
  border: 12px solid rgba(35,78,139,.08);
  border-radius: 50%;
  content: "";
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-overview > article.client-overview-primary {
  border-color: rgba(35,78,139,.22) !important;
  background: linear-gradient(145deg,#FFFFFF,#F2F6FB) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-overview span,
html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-overview small {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-overview strong {
  margin: var(--systema-space-1) 0 4px;
  color: var(--bc-text-primary) !important;
  font-size: clamp(27px,2.4vw,36px) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-overview em {
  align-self: end;
  margin-top: auto;
  padding-top: var(--systema-space-2);
  color: var(--bc-primary) !important;
  font-size: var(--systema-type-level-5);
  font-style: normal;
  font-weight: 800;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-overview > article:hover {
  border-color: rgba(35,78,139,.3) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light[data-bc-role="client"] .bc-sidebar-nav :is(
  .bc-nav-item[data-bc-hash="avvisi"],
  .bc-nav-item[data-bc-hash="carbon"],
  .bc-nav-item[data-bc-hash="lavoro"],
  .bc-nav-item[data-bc-hash="compliance"]
) {
  display: none !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .bc-page-navigation {
  overflow: visible !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-tabs {
  position: relative;
  overflow: visible !important;
  gap: var(--systema-space-1) !important;
  align-items: center;
  padding: var(--systema-space-1) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.9) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-tabs > :where(.tab-button,.portal-ticket-link),
html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services > summary {
  min-height: 48px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  padding: 0 var(--systema-space-2) !important;
  color: var(--bc-text-primary) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-weight: 750 !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-tabs > .tab-button.active {
  color: #FFFFFF !important;
  border-color: var(--bc-primary) !important;
  background: var(--bc-primary) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services {
  position: relative;
  margin-left: auto;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services > summary {
  display: flex;
  min-width: 150px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  list-style: none;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services > summary::-webkit-details-marker {
  display: none;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services > summary::after {
  margin-left: var(--systema-space-1);
  content: "⌄";
  color: var(--bc-primary);
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services[open] > summary {
  border-color: var(--bc-border) !important;
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services > div {
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  right: 0;
  display: grid;
  width: min(330px,80vw);
  gap: 4px;
  padding: var(--systema-space-1);
  border: 1px solid var(--bc-border);
  border-radius: 14px;
  background: #FFFFFF;
  box-shadow: var(--bc-shadow-lg);
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services > div > .tab-button {
  min-height: 48px !important;
  justify-content: flex-start !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: var(--bc-text-primary) !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services > div > .tab-button:hover,
html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services > div > .tab-button.active {
  color: var(--bc-primary) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-view {
  border-radius: 22px !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-view.active {
  padding: clamp(24px,3vw,40px) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-view > .section-heading {
  margin: 0 0 var(--systema-space-3) !important;
  padding-bottom: var(--systema-space-3);
  border-bottom: 1px solid var(--bc-border-soft);
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-view > .section-heading h2 {
  margin: 0 0 4px !important;
  font-size: clamp(28px,3vw,42px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .portal-view > .section-heading p:last-child {
  margin: 0;
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .status-banner {
  min-height: 52px;
  margin-bottom: var(--systema-space-3);
  padding: var(--systema-space-2) var(--systema-space-3) !important;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 14px !important;
  background: var(--bc-surface-soft) !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-filter-disclosure {
  margin-bottom: var(--systema-space-3);
  border: 1px solid var(--bc-border-soft);
  border-radius: 14px;
  background: #FFFFFF;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-filter-disclosure > summary {
  display: flex;
  min-height: 54px;
  align-items: center;
  padding: 0 var(--systema-space-3);
  color: var(--bc-text-primary);
  cursor: pointer;
  font-weight: 800;
  list-style: none;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-filter-disclosure > summary::-webkit-details-marker {
  display: none;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-filter-disclosure > summary::after {
  margin-left: auto;
  content: "+";
  color: var(--bc-primary);
  font-size: 22px;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-filter-disclosure[open] > summary::after {
  content: "−";
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-filter-disclosure .dashboard-filter-panel {
  margin: 0 !important;
  padding: var(--systema-space-3) !important;
  border-width: 1px 0 0 !important;
  border-radius: 0 0 14px 14px !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .dashboard-summary-grid {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: var(--systema-space-2) !important;
  margin-bottom: var(--systema-space-3) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .dashboard-summary-grid > article {
  min-height: 152px !important;
  padding: var(--systema-space-3) !important;
  border-radius: 16px !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-home > .data-block {
  margin-top: var(--systema-space-3) !important;
  padding: var(--systema-space-3) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 18px !important;
  background: #FFFFFF !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-home .dashboard-block-heading {
  min-height: 68px;
  align-items: center !important;
  margin-bottom: var(--systema-space-2);
  padding-bottom: var(--systema-space-2);
  border-bottom: 1px solid var(--bc-border-soft);
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-home .dashboard-block-heading h3 {
  margin: 0 0 4px !important;
  font-size: clamp(22px,2vw,29px) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-service-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: var(--systema-space-2);
  margin-top: var(--systema-space-3);
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-service-grid > a {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: var(--systema-space-2);
  min-height: 146px;
  align-content: start;
  padding: var(--systema-space-2);
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 16px;
  background: linear-gradient(145deg,#FFFFFF,#F8FAFD);
  box-shadow: var(--bc-shadow-xs);
  text-decoration: none !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-service-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: var(--bc-primary);
  border: 1px solid rgba(35,78,139,.12);
  border-radius: 14px;
  background: var(--bc-primary-softer);
  font-size: 13px;
  font-weight: 900;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-service-grid strong,
html.bc-theme-light body[data-systema-area="client-premium"] .client-service-grid small {
  display: block;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-service-grid small {
  margin-top: 5px;
  color: var(--bc-text-secondary);
  line-height: 1.45;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-service-grid em {
  grid-column: 2;
  align-self: end;
  margin-top: auto;
  color: var(--bc-primary);
  font-size: var(--systema-type-level-5);
  font-style: normal;
  font-weight: 800;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-service-grid > a:hover {
  border-color: rgba(35,78,139,.3);
  background: var(--bc-primary-softer);
  box-shadow: var(--bc-shadow-sm);
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-document-preview-row,
html.bc-theme-light body[data-systema-area="client-premium"] .client-document-row {
  min-height: 72px !important;
  padding: var(--systema-space-2) !important;
  border-radius: 12px !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-home-regularity .dashboard-document-card {
  min-height: 180px !important;
  padding: var(--systema-space-3) !important;
  border-radius: 16px !important;
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] :is(
  .filters-panel,.client-thread-form,.client-conversation-panel,.client-thread-panel,
  .client-compliance-hero,.client-compliance-side > article,.client-ticket-list-panel,
  .client-ticket-detail-panel,.client-ticket-toolbar
) {
  border-radius: 16px !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-ticket-summary {
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: var(--systema-space-2) !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] .client-ticket-summary > article {
  min-height: 142px !important;
  padding: var(--systema-space-3) !important;
  border-radius: 16px !important;
}

html.bc-theme-light body[data-systema-area="client-premium"] :is(
  .client-premium-overview > article > a,.client-service-grid > a
):focus-visible {
  outline: 3px solid rgba(35,78,139,.26);
  outline-offset: 3px;
}

@media (max-width: 1120px) {
  html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-overview {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .client-service-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 900px) {
  html.bc-theme-light body[data-systema-area="client-premium"] .login-layout {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .login-brand {
    min-height: 340px;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .login-panel {
    width: auto;
    margin: var(--systema-space-3);
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .portal-tabs {
    flex-wrap: wrap;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services {
    margin-left: 0;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .dashboard-summary-grid,
  html.bc-theme-light body[data-systema-area="client-premium"] .client-service-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .client-ticket-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body[data-systema-area="client-premium"] .login-layout,
  html.bc-theme-light body[data-systema-area="client-premium"] .portal-header,
  html.bc-theme-light body[data-systema-area="client-premium"] .client-ticket-header,
  html.bc-theme-light body[data-systema-area="client-premium"] .portal-view.active {
    border-radius: 16px !important;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .login-brand {
    min-height: 300px;
    padding: var(--systema-space-4) var(--systema-space-3) !important;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .login-brand h1 {
    font-size: clamp(38px,12vw,50px) !important;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .login-panel {
    margin: var(--systema-space-2);
    padding: var(--systema-space-3) !important;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-overview,
  html.bc-theme-light body[data-systema-area="client-premium"] .dashboard-summary-grid,
  html.bc-theme-light body[data-systema-area="client-premium"] .client-service-grid,
  html.bc-theme-light body[data-systema-area="client-premium"] .client-ticket-summary {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .portal-tabs > :where(.tab-button,.portal-ticket-link),
  html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services {
    width: 100%;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services > summary {
    width: 100%;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .client-more-services > div {
    position: static;
    width: 100%;
    margin-top: var(--systema-space-1);
    box-shadow: var(--bc-shadow-sm);
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .portal-view.active,
  html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-home > .data-block {
    padding: var(--systema-space-2) !important;
  }
  html.bc-theme-light body[data-systema-area="client-premium"] .client-premium-home .table-wrap {
    overflow-x: auto !important;
  }
}

/* ==========================================================================
   SYSTEMA - Area Utenti Workspace Operativo 23
   Scrivania personale, produttiva e coerente con l'ecosistema Enterprise.
   ========================================================================== */

html.bc-theme-light body[data-systema-area="operator-workspace"] {
  color: var(--bc-text-primary) !important;
  background: var(--bc-page-bg) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"]::before {
  opacity: .45 !important;
  background:
    radial-gradient(circle at 78% 8%,rgba(35,78,139,.08),transparent 27%),
    linear-gradient(140deg,rgba(255,255,255,.9),rgba(236,240,245,.45)) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .operator-workspace {
  width: min(100%,1520px) !important;
  max-width: 1520px !important;
  margin-inline: auto !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .desk-header {
  grid-template-columns: 220px minmax(0,1fr) 290px !important;
  gap: var(--systema-space-4) !important;
  min-height: 210px !important;
  padding: clamp(24px,3vw,40px) !important;
  border: 1px solid var(--bc-border) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 82% 10%,rgba(35,78,139,.09),transparent 30%),
    linear-gradient(145deg,#FFFFFF 0%,#F7F9FC 72%,#EEF3F8 100%) !important;
  box-shadow: var(--systema-header-shadow) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .desk-header .brand {
  align-items: center;
  padding-right: var(--systema-space-3);
  border-right: 1px solid var(--bc-border-soft);
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .desk-header .brand img {
  width: 76px !important;
  height: 76px !important;
  border: 1px solid var(--bc-border) !important;
  background: #FFFFFF !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .desk-header .brand p {
  color: var(--bc-text-primary) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .desk-header .brand span,
html.bc-theme-light body[data-systema-area="operator-workspace"] .welcome > p:last-child,
html.bc-theme-light body[data-systema-area="operator-workspace"] .session-card :where(span,small) {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .welcome h1 {
  margin: 0 0 var(--systema-space-1) !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(36px,4vw,52px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .session-card {
  padding: var(--systema-space-3) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.9) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .session-card strong {
  color: var(--bc-text-primary) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .session-card #logoutButton {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border) !important;
  background: #FFFFFF !important;
  box-shadow: var(--bc-shadow-xs) !important;
  text-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .status-strip {
  min-height: 54px;
  margin: 0 0 var(--systema-space-2) !important;
  padding: var(--systema-space-1) var(--systema-space-2) !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .status-strip > span:nth-of-type(2) {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .status-strip #refreshButton,
html.bc-theme-light body[data-systema-area="operator-workspace"] .panel-heading > a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 var(--systema-space-2) !important;
  color: var(--bc-primary) !important;
  border: 1px solid rgba(35,78,139,.28) !important;
  border-radius: 10px !important;
  background: #FFFFFF !important;
  box-shadow: var(--bc-shadow-xs) !important;
  text-decoration: none !important;
  text-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .operator-quick-nav {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: var(--systema-space-2);
  margin-bottom: var(--systema-space-3);
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .operator-quick-nav > a {
  display: flex;
  min-height: 74px;
  align-items: center;
  gap: var(--systema-space-2);
  padding: var(--systema-space-2);
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 14px;
  background: linear-gradient(145deg,#FFFFFF,#F7F9FC);
  box-shadow: var(--bc-shadow-xs);
  text-decoration: none !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .operator-quick-nav span {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  color: var(--bc-primary) !important;
  border: 1px solid rgba(35,78,139,.13);
  border-radius: 12px;
  background: var(--bc-primary-softer);
  font-size: 12px;
  font-weight: 900;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .operator-quick-nav > a:hover {
  border-color: rgba(35,78,139,.3);
  background: var(--bc-primary-softer);
  box-shadow: var(--bc-shadow-sm);
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .panel,
html.bc-theme-light body[data-systema-area="operator-workspace"] .kpis > article {
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  background: #FFFFFF !important;
  box-shadow: var(--systema-card-shadow) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .panel {
  margin-bottom: var(--systema-space-3) !important;
  padding: var(--systema-card-padding) !important;
  border-radius: 20px !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .panel-heading {
  min-height: 76px;
  align-items: center !important;
  margin-bottom: var(--systema-space-2);
  padding-bottom: var(--systema-space-2) !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .panel-heading h2 {
  margin: 0 0 4px !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(24px,2.5vw,34px) !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .panel-heading p:last-child {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .operator-agenda-panel {
  overflow: hidden;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .operator-agenda-panel #personalAgendaMount {
  margin: 0 !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .operator-agenda-panel #personalAgendaMount > :first-child {
  margin-top: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .kpis {
  grid-template-columns: repeat(5,minmax(0,1fr)) !important;
  gap: var(--systema-space-2) !important;
  margin-bottom: var(--systema-space-3) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .kpis > article {
  position: relative;
  min-height: 146px;
  overflow: hidden;
  padding: var(--systema-space-3) !important;
  border-radius: 16px !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .kpis > article::after {
  position: absolute;
  right: -28px;
  bottom: -34px;
  width: 90px;
  height: 90px;
  border: 12px solid rgba(35,78,139,.07);
  border-radius: 50%;
  content: "";
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .kpis :where(span,small) {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .kpis strong {
  margin: var(--systema-space-1) 0 3px !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(28px,2.6vw,38px) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .kpis .danger {
  border-color: rgba(183,48,58,.22) !important;
  background: linear-gradient(145deg,#FFFFFF,var(--bc-danger-soft)) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .kpis .danger strong {
  color: var(--bc-danger-strong) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .operator-priority-legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--systema-space-1);
  margin-bottom: var(--systema-space-1);
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .operator-priority-legend span {
  padding: 6px 10px;
  color: var(--bc-text-secondary);
  border: 1px solid var(--bc-border-soft);
  border-radius: 999px;
  background: var(--bc-surface-soft);
  font-size: 11px;
  font-weight: 800;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .assignment {
  grid-template-columns: 150px minmax(260px,1fr) 150px 130px !important;
  min-height: 82px;
  padding: var(--systema-space-2) !important;
  color: var(--bc-text-primary) !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
  border-radius: 12px;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .assignment:hover {
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .assignment :where(small) {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .assignment .protocol {
  color: var(--bc-primary) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .assignment .due.overdue {
  color: var(--bc-danger-strong) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .assignment .pill {
  color: var(--bc-text-primary) !important;
  background: var(--bc-surface-muted) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .assignment .pill.urgent {
  color: var(--bc-danger-strong) !important;
  background: var(--bc-danger-soft) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .modules-panel {
  margin-top: 0 !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .modules-panel #moduleCount {
  padding: 7px 11px;
  color: var(--bc-primary) !important;
  border: 1px solid rgba(35,78,139,.2);
  border-radius: 999px;
  background: var(--bc-primary-softer);
  font-size: 12px;
  font-weight: 800;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .module-grid {
  grid-template-columns: repeat(4,minmax(210px,1fr)) !important;
  gap: var(--systema-space-2) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .module-card {
  min-height: 100px !important;
  padding: var(--systema-space-2) !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg,#FFFFFF,#F7F9FC) !important;
  box-shadow: var(--bc-shadow-xs) !important;
  transform: none !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .module-card:hover {
  border-color: rgba(35,78,139,.3) !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .module-card b {
  color: var(--bc-primary) !important;
  border: 1px solid rgba(35,78,139,.12);
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .module-card small,
html.bc-theme-light body[data-systema-area="operator-workspace"] .activity span,
html.bc-theme-light body[data-systema-area="operator-workspace"] .empty {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] .activity {
  min-height: 66px;
  padding: var(--systema-space-2) !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
}

html.bc-theme-light body[data-systema-area="operator-workspace"] :is(
  .operator-quick-nav > a,.assignment,.module-card,.panel-heading > a
):focus-visible {
  outline: 3px solid rgba(35,78,139,.26);
  outline-offset: 3px;
}

@media (max-width: 1120px) {
  html.bc-theme-light body[data-systema-area="operator-workspace"] .desk-header {
    grid-template-columns: 180px minmax(0,1fr) 250px !important;
    gap: var(--systema-space-2) !important;
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .kpis {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .module-grid {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width: 900px) {
  html.bc-theme-light body[data-systema-area="operator-workspace"] .desk-header {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .desk-header .brand {
    padding-right: 0;
    padding-bottom: var(--systema-space-2);
    border-right: 0;
    border-bottom: 1px solid var(--bc-border-soft);
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .operator-quick-nav,
  html.bc-theme-light body[data-systema-area="operator-workspace"] .kpis,
  html.bc-theme-light body[data-systema-area="operator-workspace"] .module-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .assignment {
    grid-template-columns: 130px minmax(220px,1fr) 130px !important;
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .assignment .due {
    grid-column: 2 / -1;
    text-align: left !important;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body[data-systema-area="operator-workspace"] .desk-header,
  html.bc-theme-light body[data-systema-area="operator-workspace"] .panel {
    border-radius: 16px !important;
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .desk-header,
  html.bc-theme-light body[data-systema-area="operator-workspace"] .panel {
    padding: var(--systema-space-2) !important;
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .status-strip {
    align-items: flex-start;
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .status-strip #refreshButton {
    width: 100%;
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .operator-quick-nav,
  html.bc-theme-light body[data-systema-area="operator-workspace"] .kpis,
  html.bc-theme-light body[data-systema-area="operator-workspace"] .module-grid {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .panel-heading {
    align-items: stretch !important;
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .panel-heading > a {
    width: 100%;
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .assignment {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="operator-workspace"] .assignment .due {
    grid-column: auto;
  }
}

/* ==========================================================================
   SYSTEMA - Dossier Cliente / Customer Workspace 24
   Centro anagrafico e operativo del singolo cliente, senza nuova logica.
   ========================================================================== */

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView {
  color: var(--bc-text-primary);
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .workspace {
  background: var(--bc-page-bg) !important;
  background-image: none !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView > .section-header {
  min-height: 132px;
  align-items: center !important;
  margin-bottom: var(--systema-space-3) !important;
  padding: var(--systema-space-3) !important;
  border: 1px solid var(--bc-border) !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 90% 5%,rgba(35,78,139,.09),transparent 28%),
    linear-gradient(145deg,#FFFFFF,#F2F5F9) !important;
  box-shadow: var(--systema-header-shadow) !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView > .section-header h2 {
  margin: 0 0 5px !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(32px,3.8vw,48px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView > .section-header p:last-child {
  max-width: 760px;
  margin: 0 !important;
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView > .section-header #newClientButton {
  min-height: 46px;
  white-space: nowrap;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .client-layout {
  grid-template-columns: minmax(280px,330px) minmax(0,1fr) !important;
  gap: var(--systema-space-3) !important;
  align-items: start;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .client-layout > .panel {
  overflow: visible !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 18px !important;
  background: #FFFFFF !important;
  box-shadow: var(--systema-card-shadow) !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .client-layout > .panel:first-child {
  position: sticky;
  top: var(--systema-space-2);
  max-height: calc(100vh - 40px);
  overflow: hidden !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .search-row {
  padding: var(--systema-space-2) !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientSearch {
  min-height: 48px !important;
  background: #FFFFFF !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .client-list {
  max-height: calc(100vh - 150px) !important;
  padding: var(--systema-space-1);
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .client-item {
  min-height: 72px;
  margin-bottom: 4px;
  padding: var(--systema-space-2) !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: transparent !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .client-item:hover,
html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .client-item.active {
  color: var(--bc-text-primary) !important;
  border-color: rgba(35,78,139,.22) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .client-item span {
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .client-layout > .panel:last-child {
  padding: 0 !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-form {
  display: grid !important;
  grid-template-columns: 220px minmax(0,1fr) !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-form > input[type="hidden"] {
  display: none;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-section-nav {
  position: sticky;
  top: var(--systema-space-2);
  align-self: start;
  min-height: 560px;
  max-height: calc(100vh - 40px);
  padding: var(--systema-space-3) var(--systema-space-2);
  overflow-y: auto;
  border-right: 1px solid var(--bc-border-soft);
  border-radius: 18px 0 0 18px;
  background: linear-gradient(180deg,#F8FAFD,#EEF2F6);
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-section-nav > div {
  display: grid;
  gap: 5px;
  margin-bottom: var(--systema-space-2);
  padding-bottom: var(--systema-space-2);
  border-bottom: 1px solid var(--bc-border-soft);
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-section-nav > div > span {
  color: var(--bc-text-secondary);
  font-size: 12px;
  line-height: 1.45;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-section-nav nav {
  display: grid;
  gap: 4px;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-section-nav a {
  display: flex;
  min-height: 42px;
  align-items: center;
  padding: 0 12px;
  color: var(--bc-text-primary) !important;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-section-nav a:hover,
html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-section-nav a:focus-visible {
  color: var(--bc-primary) !important;
  border-color: rgba(35,78,139,.16);
  background: #FFFFFF;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-content {
  display: grid;
  min-width: 0;
  gap: var(--systema-space-3);
  padding: var(--systema-space-3);
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-anchor {
  display: block;
  height: 0;
  scroll-margin-top: var(--systema-space-3);
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-command-bar {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--systema-space-3);
  align-items: center;
  min-height: 138px;
  padding: var(--systema-space-3);
  overflow: hidden;
  border: 1px solid var(--bc-border);
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% -20%,rgba(35,78,139,.1),transparent 35%),
    linear-gradient(145deg,#FFFFFF,#F5F8FC);
  box-shadow: var(--bc-shadow-sm);
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-command-bar h3 {
  margin: 0 0 5px !important;
  font-size: clamp(25px,2.4vw,34px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-command-bar > div > span {
  color: var(--bc-text-secondary);
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-command-bar nav {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(112px,1fr));
  gap: var(--systema-space-1);
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-command-bar a {
  display: grid;
  min-height: 72px;
  place-items: center;
  padding: var(--systema-space-1);
  color: var(--bc-primary) !important;
  border: 1px solid rgba(35,78,139,.16);
  border-radius: 12px;
  background: #FFFFFF;
  box-shadow: var(--bc-shadow-xs);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  text-decoration: none !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-command-bar a:hover {
  border-color: rgba(35,78,139,.32);
  background: var(--bc-primary-softer);
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-content > .form-section,
html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-notes {
  scroll-margin-top: var(--systema-space-3);
  min-width: 0;
  margin: 0 !important;
  padding: var(--systema-space-3) !important;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: #FFFFFF !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-content > .form-section > legend {
  padding: 0 var(--systema-space-1);
  color: var(--bc-text-primary) !important;
  font-size: 17px;
  font-weight: 850;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-content .form-grid.inner {
  color: var(--bc-text-primary) !important;
  background: transparent !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #dossier-overview {
  background: linear-gradient(145deg,#FFFFFF,#F5F8FC) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #dossier-overview .client-logo-editor {
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 14px !important;
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] #dossier-overview .client-logo-preview img {
  border: 1px solid var(--bc-border) !important;
  background: #FFFFFF !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-content :where(
  .choice-pill,.check-grid label,.portal-access-status
) {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-content .choice-pill {
  padding: 0 !important;
  overflow: hidden;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-content .choice-pill span {
  color: var(--bc-text-primary) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-content .choice-pill:has(input:checked) {
  color: var(--bc-primary) !important;
  border-color: rgba(35,78,139,.3) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-content .choice-pill input:checked + span {
  color: var(--bc-primary-deep) !important;
  background: var(--bc-primary-softer) !important;
  background-image: none !important;
  box-shadow: inset 3px 0 0 var(--bc-primary) !important;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-notes {
  display: grid;
  gap: var(--systema-space-1);
  font-weight: 800;
}

html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-content > .actions {
  position: sticky;
  z-index: 20;
  bottom: var(--systema-space-2);
  justify-content: flex-end;
  padding: var(--systema-space-2) !important;
  border: 1px solid var(--bc-border);
  border-radius: 14px;
  background: rgba(255,255,255,.94);
  box-shadow: var(--bc-shadow-md);
  backdrop-filter: blur(12px);
}

html.bc-theme-light body[data-systema-area="customer-workspace"] :is(
  .dossier-section-nav a,.dossier-command-bar a,.client-item
):focus-visible {
  outline: 3px solid rgba(35,78,139,.26);
  outline-offset: 3px;
}

@media (max-width: 1120px) {
  html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .client-layout {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .client-layout > .panel:first-child {
    position: static;
    max-height: none;
  }
  html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .client-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    max-height: 300px !important;
  }
  html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-command-bar {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 900px) {
  html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-form {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-section-nav {
    position: static;
    min-height: 0;
    max-height: none;
    border-right: 0;
    border-bottom: 1px solid var(--bc-border-soft);
    border-radius: 18px 18px 0 0;
  }
  html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-section-nav nav {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-command-bar nav {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView > .section-header {
    align-items: stretch !important;
    padding: var(--systema-space-2) !important;
    border-radius: 16px !important;
  }
  html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView > .section-header #newClientButton {
    width: 100%;
  }
  html.bc-theme-light body[data-systema-area="customer-workspace"] #clientsView .client-list {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-section-nav nav,
  html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-command-bar nav {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-content,
  html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-section-nav {
    padding: var(--systema-space-2);
  }
  html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-command-bar,
  html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-content > .form-section,
  html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-notes {
    padding: var(--systema-space-2) !important;
    border-radius: 14px !important;
  }
  html.bc-theme-light body[data-systema-area="customer-workspace"] .dossier-content > .actions {
    position: static;
  }
}

/* ==========================================================================
   SYSTEMA - Home intelligente / AI Workspace 25
   Centro decisionale costruito esclusivamente sui dati e flussi esistenti.
   ========================================================================== */

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .studio-home {
  display: flex !important;
  flex-direction: column;
  color: var(--bc-text-primary);
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .dashboard-header {
  order: 1;
  margin-bottom: var(--systema-space-4) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-brief {
  order: 2;
  margin-bottom: var(--systema-section-gap);
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] #studioAgenda {
  order: 3;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .studio-workspace-grid {
  order: 4;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] #studioDeadlines {
  order: 5;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] #studioWidgets {
  order: 6;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .studio-widget-grid {
  order: 7;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .print-dashboard {
  order: 8;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-heading {
  display: flex !important;
  gap: var(--systema-space-3);
  align-items: end !important;
  justify-content: space-between;
  margin: 0 0 var(--systema-space-2) !important;
  padding: var(--systema-space-3) !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 0,rgba(35,78,139,.08),transparent 30%),
    linear-gradient(145deg,#FFFFFF,#F7F9FC);
  box-shadow: var(--bc-shadow-sm);
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-heading h2 {
  margin: 0 0 4px !important;
  font-size: clamp(27px,2.5vw,38px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-heading p:last-child {
  max-width: 760px;
  margin: 0 !important;
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--systema-space-1);
  justify-content: flex-end;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-shortcuts a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  color: var(--bc-primary) !important;
  border: 1px solid rgba(35,78,139,.17);
  border-radius: 10px;
  background: #FFFFFF;
  font-size: var(--systema-type-level-5);
  font-weight: 800;
  text-decoration: none !important;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-shortcuts a:hover {
  border-color: rgba(35,78,139,.32);
  background: var(--bc-primary-softer);
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-shortcuts a:focus-visible {
  outline: 3px solid rgba(35,78,139,.25);
  outline-offset: 3px;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-brief .studio-home-kpis {
  margin-bottom: 0 !important;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .studio-workspace-main > .priorities-card {
  border-top: 3px solid rgba(35,78,139,.65) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .studio-side-rail #studioClients {
  order: 1;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .studio-side-rail .studio-rail-nav {
  order: 2;
  background:
    radial-gradient(circle at 100% 0,rgba(35,78,139,.08),transparent 35%),
    linear-gradient(145deg,#FFFFFF,#F7F9FC) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-assistant-note {
  display: grid;
  gap: 4px;
  margin: var(--systema-space-2) 0 !important;
  padding: var(--systema-space-2);
  color: var(--bc-text-primary) !important;
  border: 1px solid rgba(35,78,139,.14);
  border-radius: 12px;
  background: var(--bc-primary-softer);
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-assistant-note strong {
  color: var(--bc-primary-deep) !important;
  font-size: var(--systema-type-level-4);
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-assistant-note span {
  color: var(--bc-text-secondary) !important;
  font-size: var(--systema-type-level-5);
  line-height: 1.45;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] #studioDeadlines {
  margin-bottom: var(--systema-section-gap) !important;
}

html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] :is(
  .systema-decision-heading,.priorities-card,.clients-control-card,.studio-rail-nav
) {
  scroll-margin-top: var(--systema-space-3);
}

@media (max-width: 1120px) {
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-heading {
    align-items: start !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-shortcuts {
    max-width: 360px;
  }
}

@media (max-width: 900px) {
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-heading {
    display: grid !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-shortcuts {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    max-width: none;
    justify-content: stretch;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light.bc-shell-injected body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] {
    padding-left: 0 !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .bc-app-sidebar {
    position: sticky !important;
    z-index: var(--systema-layer-nav) !important;
    inset: auto !important;
    top: 0 !important;
    display: flex !important;
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    padding: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex-direction: row !important;
    gap: 6px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bc-border) !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.98) !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .bc-sidebar-brand {
    display: grid !important;
    flex: 0 0 48px;
    min-height: 48px;
    padding: 0 !important;
    border: 0 !important;
    place-items: center;
  }
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .bc-sidebar-brand img {
    width: 38px !important;
    height: 38px !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] :where(
    .bc-sidebar-brand > div,.bc-sidebar-label,.bc-sidebar-footer,.bc-local-toggle,.bc-local-navigation
  ) {
    display: none !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .bc-sidebar-nav {
    display: flex !important;
    flex: 1 0 auto;
    width: auto !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex-direction: row !important;
    gap: 5px !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .bc-nav-item {
    flex: 0 0 48px !important;
    min-height: 48px !important;
    padding: 6px !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .bc-nav-item > span {
    display: none !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-heading {
    padding: var(--systema-space-2) !important;
    border-radius: 15px;
  }
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"] .systema-decision-shortcuts {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   SYSTEMA - Compliance Center 27
   Centro di controllo costruito sui soli indicatori e workflow reali.
   ========================================================================== */

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-shell {
  display: grid !important;
  gap: var(--systema-section-gap) !important;
  color: var(--bc-text-primary);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-hero {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(400px,560px);
  gap: var(--systema-space-4) !important;
  align-items: center !important;
  min-height: 216px;
  overflow: hidden;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 92% 14%,rgba(35,78,139,.10),transparent 27%),
    linear-gradient(140deg,#FFFFFF 0%,#F7F9FC 72%,#EEF3F9 100%) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-hero::before {
  position: absolute;
  top: -138px;
  right: 8%;
  width: 310px;
  height: 310px;
  content: "";
  border: 28px solid rgba(35,78,139,.07);
  border-radius: 50%;
  pointer-events: none;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-hero-copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: var(--systema-space-1);
  max-width: 780px;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-hero h1 {
  margin: 0 !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(38px,4vw,58px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-hero .hero-text {
  max-width: 720px;
  margin: 0 !important;
  color: var(--bc-text-secondary) !important;
  font-size: clamp(15px,1.4vw,18px) !important;
  line-height: 1.55 !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-toolbar {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: minmax(128px,160px) minmax(0,1fr);
  gap: var(--systema-space-2) !important;
  align-items: end !important;
  padding: var(--systema-space-2) !important;
  border: 1px solid rgba(35,78,139,.13) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.90) !important;
  box-shadow: var(--bc-shadow-sm) !important;
  backdrop-filter: blur(14px);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-toolbar label {
  display: grid;
  gap: 6px;
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-toolbar select {
  width: 100%;
  min-width: 0;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-toolbar-actions {
  display: flex;
  gap: var(--systema-space-1);
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-control-board {
  display: grid;
  gap: var(--systema-space-3);
  padding: var(--systema-space-3) !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 20px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,249,252,.98)) !important;
  box-shadow: var(--bc-shadow-sm);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-control-heading {
  align-items: end !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-control-heading h2 {
  margin: 0 0 4px !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(26px,2.4vw,36px) !important;
  letter-spacing: -.025em !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-control-heading p:last-child {
  max-width: 780px;
  margin: 0 !important;
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-live-status {
  display: inline-flex;
  min-height: 38px;
  gap: 9px;
  align-items: center;
  padding: 0 13px;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 999px;
  background: var(--bc-surface);
  font-size: 12px;
  white-space: nowrap;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-live-status span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--bc-success);
  box-shadow: 0 0 0 4px rgba(22,101,52,.10);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-kpis {
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-kpis > article {
  min-height: 132px !important;
  padding: var(--systema-space-3) !important;
  border-color: var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: #FFFFFF !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-source-links {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--systema-space-2);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-source-links > a {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) auto;
  min-width: 0;
  min-height: 80px;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 16px;
  background: var(--bc-surface);
  box-shadow: var(--bc-shadow-xs);
  text-decoration: none !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-source-links > a:hover {
  border-color: rgba(35,78,139,.28);
  box-shadow: var(--bc-shadow-sm);
  transform: translateY(-1px);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-source-code {
  display: grid;
  width: 42px;
  height: 42px;
  color: var(--bc-primary-deep) !important;
  border: 1px solid rgba(35,78,139,.12);
  border-radius: 12px;
  background: var(--bc-primary-softer);
  font-size: 12px;
  font-weight: 800;
  place-items: center;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-source-links > a > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 3px;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-source-links strong {
  color: var(--bc-text-primary) !important;
  font-size: 14px !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-source-links small {
  overflow: hidden;
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-source-links em {
  color: var(--bc-primary) !important;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-layout {
  display: grid !important;
  grid-template-columns: 216px minmax(0,1fr);
  gap: var(--systema-space-3) !important;
  align-items: start;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-navigation {
  position: sticky;
  top: var(--systema-space-3);
  display: grid !important;
  gap: 6px !important;
  align-content: start;
  padding: var(--systema-space-2) !important;
  overflow: visible !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 16px;
  background: var(--bc-surface);
  box-shadow: var(--bc-shadow-xs);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-navigation-heading {
  display: grid;
  gap: 2px;
  margin-bottom: var(--systema-space-1);
  padding: 4px 6px var(--systema-space-2);
  border-bottom: 1px solid var(--bc-border-soft);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-navigation-heading :is(p,strong) {
  margin: 0 !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-nav {
  display: flex !important;
  min-height: 42px;
  align-items: center;
  padding: 0 12px !important;
  color: var(--bc-text-secondary) !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: left;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-nav:hover {
  color: var(--bc-text-primary) !important;
  background: var(--bc-surface-muted) !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-nav.active {
  color: var(--bc-primary-deep) !important;
  border-color: rgba(35,78,139,.16) !important;
  background: var(--bc-primary-softer) !important;
  box-shadow: inset 3px 0 0 var(--bc-primary);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-content {
  display: grid;
  min-width: 0;
  gap: var(--systema-space-2);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-filters {
  display: grid !important;
  grid-template-columns: minmax(260px,1fr) 220px auto;
  gap: var(--systema-space-2) !important;
  align-items: end !important;
  padding: var(--systema-space-2) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-filters label {
  display: grid;
  gap: 6px;
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-view {
  padding: var(--systema-space-3) !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 18px;
  background: var(--bc-surface);
  box-shadow: var(--bc-shadow-sm);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-view:not(.active) {
  display: none !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-view.active {
  display: block !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .section-title {
  display: flex;
  gap: var(--systema-space-2);
  align-items: start;
  justify-content: space-between;
  margin: 0 0 var(--systema-space-2) !important;
  padding: 0 0 var(--systema-space-2) !important;
  border-bottom: 1px solid var(--bc-border-soft);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .section-title h2 {
  margin: 0 0 4px !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(24px,2vw,32px) !important;
  letter-spacing: -.02em !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .section-title p:last-child {
  max-width: 780px;
  margin: 0 !important;
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-evidence-note {
  display: flex;
  gap: 8px 16px;
  align-items: center;
  margin: 0 0 var(--systema-space-2);
  padding: 12px 14px;
  color: var(--bc-text-secondary);
  border: 1px solid rgba(35,78,139,.12);
  border-radius: 12px;
  background: var(--bc-primary-softer);
  font-size: 12px;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-evidence-note strong {
  color: var(--bc-primary-deep) !important;
  white-space: nowrap;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .table-scroll {
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 14px !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] table {
  min-width: 920px;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .progress-track {
  width: 112px;
  height: 7px;
  border-radius: 999px;
  background: var(--bc-surface-muted) !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .progress-track span {
  background: var(--bc-primary) !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-status {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  padding: 4px 9px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-status.regular {
  color: #166534 !important;
  border-color: rgba(22,101,52,.24) !important;
  background: #ECFDF3 !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-status.attention {
  color: #854D0E !important;
  border-color: rgba(133,77,14,.24) !important;
  background: #FFFBEB !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-status.critical {
  color: #991B1B !important;
  border-color: rgba(153,27,27,.24) !important;
  background: #FEF2F2 !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-method-note {
  display: grid;
  gap: 4px;
  margin-top: var(--systema-space-2);
  padding: var(--systema-space-2);
  border: 1px solid var(--bc-border-soft);
  border-radius: 12px;
  background: var(--bc-surface-muted);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-method-note :is(strong,p) {
  margin: 0 !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-method-note p {
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .client-heading {
  margin-bottom: var(--systema-space-3) !important;
  padding-bottom: var(--systema-space-2);
  border-bottom: 1px solid var(--bc-border-soft);
}

html.bc-theme-light body[data-systema-area="compliance-center"] .client-kpis {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .client-kpis > article,
html.bc-theme-light body[data-systema-area="compliance-center"] .control-card,
html.bc-theme-light body[data-systema-area="compliance-center"] .document-folder {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .control-row {
  border-color: var(--bc-border-soft) !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .control-result.ok {
  color: #166534 !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .control-result.warn {
  color: #854D0E !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .control-result.bad {
  color: #991B1B !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .information-panel {
  border: 1px solid rgba(35,78,139,.14) !important;
  border-left: 3px solid var(--bc-primary) !important;
  border-radius: 12px;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body[data-systema-area="compliance-center"] .information-panel p {
  color: var(--bc-text-secondary) !important;
}

@media (max-width: 1120px) {
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-hero {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-toolbar {
    width: 100%;
    max-width: 680px;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-kpis {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-source-links {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-layout {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-navigation {
    position: static;
    display: flex !important;
    align-items: center;
    overflow-x: auto !important;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-navigation-heading {
    display: none;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-nav {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-control-heading {
    display: grid !important;
    align-items: start !important;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-live-status {
    width: max-content;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-filters {
    grid-template-columns: minmax(0,1fr) minmax(180px,.55fr);
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-filters button {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-hero {
    min-height: 0;
    border-radius: 18px !important;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-hero h1 {
    font-size: clamp(34px,11vw,46px) !important;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-toolbar {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-toolbar-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-toolbar-actions > * {
    width: 100%;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-control-board,
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-view {
    padding: var(--systema-space-2) !important;
    border-radius: 15px;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-kpis,
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-source-links,
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-filters,
  html.bc-theme-light body[data-systema-area="compliance-center"] .client-kpis,
  html.bc-theme-light body[data-systema-area="compliance-center"] .control-grid,
  html.bc-theme-light body[data-systema-area="compliance-center"] .document-folders {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-filters button {
    width: 100%;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .section-title {
    display: grid;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .section-title > :is(button,a) {
    width: 100%;
  }
  html.bc-theme-light body[data-systema-area="compliance-center"] .compliance-evidence-note {
    display: grid;
  }
}

/* ==========================================================================
   SYSTEMA - Workflow Engine 28
   Motore operativo fondato sugli stati e sulle assegnazioni gia esistenti.
   ========================================================================== */

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-engine-shell {
  display: grid !important;
  gap: var(--systema-section-gap) !important;
  color: var(--bc-text-primary);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-hero {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(420px,620px);
  min-height: 224px;
  gap: var(--systema-space-4) !important;
  align-items: center !important;
  overflow: hidden;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 92% 4%,rgba(35,78,139,.10),transparent 29%),
    linear-gradient(142deg,#FFFFFF 0%,#F7F9FC 72%,#EEF3F9 100%) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-hero::before {
  position: absolute;
  top: -150px;
  right: 10%;
  width: 330px;
  height: 330px;
  content: "";
  border: 30px solid rgba(35,78,139,.065);
  border-radius: 50%;
  pointer-events: none;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-hero-copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: var(--systema-space-1);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-hero h1 {
  margin: 0 !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(38px,4vw,58px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-hero .hero-text {
  max-width: 700px;
  margin: 0 !important;
  color: var(--bc-text-secondary) !important;
  font-size: clamp(15px,1.4vw,18px) !important;
  line-height: 1.55 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-toolbar {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: minmax(150px,190px) minmax(0,1fr);
  gap: var(--systema-space-2) !important;
  align-items: center !important;
  padding: var(--systema-space-2) !important;
  border: 1px solid rgba(35,78,139,.13) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: var(--bc-shadow-sm) !important;
  backdrop-filter: blur(14px);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-toolbar-summary {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 3px 12px;
  align-items: center;
  padding-right: var(--systema-space-2);
  border-right: 1px solid var(--bc-border-soft);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-toolbar-summary > span {
  color: var(--bc-text-secondary) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-toolbar-summary > strong {
  grid-row: 1 / span 2;
  grid-column: 2;
  color: var(--bc-text-primary) !important;
  font-size: 28px !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-toolbar-summary :is(.cloud-pill,.save-status) {
  display: block;
  overflow: hidden;
  color: var(--bc-text-secondary) !important;
  font-size: 11px !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-toolbar-actions {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: var(--systema-space-1) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-toolbar-actions > * {
  width: 100%;
  min-width: 0;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-overview {
  display: grid;
  gap: var(--systema-space-3);
  padding: var(--systema-space-3) !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 20px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,249,252,.98));
  box-shadow: var(--bc-shadow-sm);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-overview-heading {
  align-items: end !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-overview-heading h2 {
  margin: 0 0 4px !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(26px,2.4vw,36px) !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-overview-heading p:last-child {
  max-width: 820px;
  margin: 0 !important;
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-context-links {
  display: flex;
  gap: var(--systema-space-1);
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-context-links a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  color: var(--bc-primary-deep) !important;
  border: 1px solid rgba(35,78,139,.16);
  border-radius: 10px;
  background: var(--bc-surface);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-context-links a:hover {
  border-color: rgba(35,78,139,.30);
  background: var(--bc-primary-softer);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: var(--systema-space-2);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map article {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(0,1fr);
  min-width: 0;
  min-height: 94px;
  gap: 12px;
  align-items: center;
  padding: var(--systema-space-2) !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 15px;
  background: var(--bc-surface);
  box-shadow: var(--bc-shadow-xs);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map article:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: -13px;
  width: 10px;
  height: 10px;
  content: "";
  border-top: 2px solid var(--bc-border-strong);
  border-right: 2px solid var(--bc-border-strong);
  background: transparent;
  transform: translateY(-50%) rotate(45deg);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map article > span {
  display: grid;
  width: 40px;
  height: 40px;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 12px;
  background: var(--bc-surface-muted);
  font-size: 12px;
  font-weight: 800;
  place-items: center;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map article > div {
  display: grid;
  min-width: 0;
  gap: 4px;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map strong {
  color: var(--bc-text-primary) !important;
  font-size: 14px !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map small {
  color: var(--bc-text-secondary) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map [data-workflow-stage="progress"] {
  border-color: rgba(35,78,139,.22);
  background: var(--bc-primary-softer);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map [data-workflow-stage="progress"] > span {
  color: var(--bc-primary-deep) !important;
  border-color: rgba(35,78,139,.18);
  background: #FFFFFF;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map [data-workflow-stage="completed"] {
  border-color: rgba(22,101,52,.18);
  background: #F6FCF8;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map [data-workflow-stage="completed"] > span {
  color: #166534 !important;
  border-color: rgba(22,101,52,.18);
  background: #ECFDF3;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-workbench {
  display: grid !important;
  grid-template-columns: minmax(300px,340px) minmax(0,1fr);
  gap: var(--systema-space-3) !important;
  align-items: start;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .control-stack {
  display: grid;
  min-width: 0;
  gap: var(--systema-space-2);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-setup-heading {
  display: grid;
  gap: 4px;
  padding: var(--systema-space-2);
  border: 1px solid var(--bc-border-soft);
  border-radius: 15px;
  background: var(--bc-surface);
  box-shadow: var(--bc-shadow-xs);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-setup-heading :is(p,h2) {
  margin: 0 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-setup-heading h2 {
  color: var(--bc-text-primary) !important;
  font-size: 20px !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-setup-heading p:last-child {
  color: var(--bc-text-secondary) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .control-card,
html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-panel {
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 16px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .control-card {
  padding: var(--systema-space-2) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .control-card :is(.mini-eyebrow,h2,p,label,span) {
  color: inherit;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .operations-panel {
  min-width: 0;
  padding: var(--systema-space-3) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .operations-heading {
  display: flex;
  gap: var(--systema-space-2);
  align-items: start;
  justify-content: space-between;
  margin-bottom: var(--systema-space-2);
  padding-bottom: var(--systema-space-2);
  border-bottom: 1px solid var(--bc-border-soft);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .operations-heading h2 {
  margin: 0 0 4px !important;
  color: var(--bc-text-primary) !important;
  font-size: clamp(25px,2vw,32px) !important;
  letter-spacing: -.02em !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .operations-heading p:not(.mini-eyebrow) {
  max-width: 760px;
  margin: 0 !important;
  color: var(--bc-text-secondary) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .view-counter {
  display: grid;
  min-width: 84px;
  min-height: 68px;
  align-content: center;
  justify-items: center;
  padding: 8px 12px;
  border: 1px solid rgba(35,78,139,.14);
  border-radius: 13px;
  background: var(--bc-primary-softer);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .view-counter strong {
  color: var(--bc-primary-deep) !important;
  font-size: 24px !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .view-counter span {
  color: var(--bc-text-secondary) !important;
  font-size: 10px !important;
  text-transform: uppercase;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .summary-strip {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: var(--systema-space-1) !important;
  margin: 0 0 var(--systema-space-2) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .summary-card {
  position: relative;
  display: grid;
  min-height: 86px;
  align-content: center;
  padding: 14px 16px !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 13px !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-xs) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .summary-card::before {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 18px;
  height: 2px;
  content: "";
  border-radius: 2px;
  background: var(--bc-border-strong);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .summary-card:nth-child(2)::before {
  background: var(--bc-primary);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .summary-card:nth-child(3)::before {
  background: var(--bc-success);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .summary-card:nth-child(4)::before {
  background: var(--bc-text-secondary);
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .summary-card span {
  padding-right: 24px;
  color: var(--bc-text-secondary) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .summary-card strong {
  margin-top: 6px;
  color: var(--bc-text-primary) !important;
  font-size: 26px !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .compact-filters {
  display: grid !important;
  grid-template-columns: minmax(240px,1.3fr) repeat(3,minmax(150px,.7fr));
  gap: var(--systema-space-1) !important;
  margin-bottom: var(--systema-space-2);
  padding: var(--systema-space-2) !important;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 14px !important;
  background: var(--bc-surface-muted) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .collaboration-safety {
  display: flex;
  gap: 8px 14px;
  align-items: center;
  margin: 0 0 var(--systema-space-2);
  padding: 12px 14px;
  color: var(--bc-text-secondary) !important;
  border: 1px solid rgba(35,78,139,.13) !important;
  border-radius: 12px !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .collaboration-safety strong {
  color: var(--bc-primary-deep) !important;
  white-space: nowrap;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .bulk-toolbar {
  border: 1px solid rgba(35,78,139,.18) !important;
  border-radius: 13px !important;
  background: #F2F6FB !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-table-wrap {
  overflow: hidden;
  border: 1px solid var(--bc-border-soft) !important;
  border-radius: 14px !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-list-head {
  color: var(--bc-text-secondary) !important;
  border-color: var(--bc-border-soft) !important;
  background: #F1F4F8 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-row {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-row:hover {
  background: #F8FAFC !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-row.selected {
  background: var(--bc-primary-softer) !important;
  box-shadow: inset 3px 0 0 var(--bc-primary) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .quick-status {
  min-height: 30px;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .quick-status.active[data-status="Da fare"] {
  color: #334155 !important;
  border-color: #CBD5E1 !important;
  background: #F1F5F9 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .quick-status.active[data-status="Presa in carico"] {
  color: var(--bc-primary-deep) !important;
  border-color: rgba(35,78,139,.24) !important;
  background: #EAF1F9 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .quick-status.active[data-status="Terminata"] {
  color: #166534 !important;
  border-color: rgba(22,101,52,.22) !important;
  background: #ECFDF3 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .quick-status.active[data-status="Non dovuto"] {
  color: #5B6472 !important;
  border-color: #CBD1D9 !important;
  background: #F4F5F7 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .agenda-assignment {
  color: var(--bc-text-primary) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-status,
html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-version {
  min-height: 25px;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-soft) !important;
  background: var(--bc-surface-muted) !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-status.status-in_progress {
  color: var(--bc-primary-deep) !important;
  border-color: rgba(35,78,139,.22) !important;
  background: #EAF1F9 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-status.status-completed {
  color: #166534 !important;
  border-color: rgba(22,101,52,.22) !important;
  background: #ECFDF3 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-status.status-cancelled {
  color: #5B6472 !important;
  border-color: #CBD1D9 !important;
  background: #F4F5F7 !important;
}

html.bc-theme-light body[data-systema-area="workflow-engine"] .pagination {
  margin-top: var(--systema-space-2);
}

@media (max-width: 1120px) {
  html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-hero {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-toolbar {
    width: 100%;
    max-width: 760px;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-overview-heading {
    display: grid !important;
    align-items: start !important;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-context-links {
    justify-content: flex-start;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map article::after {
    display: none;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-workbench {
    grid-template-columns: minmax(280px,310px) minmax(0,1fr);
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .summary-strip {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .compact-filters {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 900px) {
  html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-workbench {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .control-stack {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-setup-heading,
  html.bc-theme-light body[data-systema-area="workflow-engine"] .custom-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-hero {
    min-height: 0;
    border-radius: 18px !important;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-hero h1 {
    font-size: clamp(34px,11vw,46px) !important;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-toolbar {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-toolbar-summary {
    padding: 0 0 var(--systema-space-2);
    border-right: 0;
    border-bottom: 1px solid var(--bc-border-soft);
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .deadline-toolbar-actions,
  html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-stage-map,
  html.bc-theme-light body[data-systema-area="workflow-engine"] .control-stack,
  html.bc-theme-light body[data-systema-area="workflow-engine"] .summary-strip,
  html.bc-theme-light body[data-systema-area="workflow-engine"] .compact-filters {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-overview,
  html.bc-theme-light body[data-systema-area="workflow-engine"] .operations-panel {
    padding: var(--systema-space-2) !important;
    border-radius: 15px !important;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .workflow-context-links {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    width: 100%;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .operations-heading {
    display: grid;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .view-counter {
    width: 100%;
    min-height: 56px;
    grid-template-columns: auto auto;
    justify-content: start;
    gap: 8px;
  }
  html.bc-theme-light body[data-systema-area="workflow-engine"] .collaboration-safety {
    display: grid;
  }
}

/* =========================================================
   PROMPT 29 · DOCUMENT INTELLIGENCE CENTER
   Centro documentale fondato su metadati, relazioni e controlli reali
   ========================================================= */

html.bc-theme-light body[data-systema-area="document-intelligence-center"] {
  --document-ink: #172c3f;
  --document-muted: #637383;
  --document-line: #d8dfe4;
  --document-line-strong: #c3ced6;
  --document-paper: rgba(252,251,248,.96);
  --document-paper-soft: rgba(244,245,243,.94);
  --document-blue-soft: #e9f0f7;
  --document-success: #12613e;
  --document-success-bg: #e2f2e9;
  --document-danger: #9e2e3a;
  --document-danger-bg: #f8e6e8;
  --document-warning: #785711;
  --document-warning-bg: #f8eed1;
  color-scheme: light;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-intelligence-shell {
  display: grid;
  gap: var(--systema-space-3);
  padding-top: clamp(18px,2vw,30px) !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] :where(
  .archive-header,.document-control-board,.document-search-card,.panel,.document-capability-grid article
) {
  border: 1px solid var(--document-line) !important;
  background: linear-gradient(145deg,var(--document-paper),var(--document-paper-soft)) !important;
  box-shadow: 0 14px 34px rgba(36,49,59,.075),inset 0 1px rgba(255,255,255,.76) !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero {
  position: relative;
  display: grid !important;
  min-height: 230px;
  grid-template-columns: minmax(0,1.35fr) minmax(420px,.8fr);
  gap: clamp(24px,4vw,74px) !important;
  align-items: center;
  padding: clamp(30px,4vw,58px) !important;
  overflow: hidden;
  border-radius: 26px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero::before,
html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero::after {
  position: absolute;
  z-index: 0;
  width: 360px;
  height: 360px;
  border: 26px solid rgba(38,89,137,.09);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero::before {
  top: -245px;
  right: 28%;
  box-shadow: 0 0 0 10px rgba(255,255,255,.88),0 0 0 31px rgba(122,139,151,.09);
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero::after {
  right: -225px;
  bottom: -250px;
  border-color: rgba(38,89,137,.16);
  box-shadow: 0 0 0 9px rgba(255,255,255,.9),0 0 0 28px rgba(122,139,151,.12);
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero > * {
  position: relative;
  z-index: 1;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero-copy {
  max-width: 850px;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero h1 {
  max-width: 940px;
  margin: 6px 0 12px !important;
  color: var(--document-ink) !important;
  font-size: clamp(42px,4.5vw,78px) !important;
  font-weight: 720 !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero-copy > p:last-child {
  max-width: 760px;
  margin: 0 !important;
  color: var(--document-muted) !important;
  font-size: clamp(16px,1.35vw,21px) !important;
  line-height: 1.55;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero-control {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(195,206,214,.88);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 18px 38px rgba(43,58,69,.09);
  backdrop-filter: blur(10px);
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero-status,
html.bc-theme-light body[data-systema-area="document-intelligence-center"] .header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .connection-pill {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  border: 1px solid #cad5dc !important;
  border-radius: 999px !important;
  padding: 7px 11px !important;
  color: #435563 !important;
  background: #f2f4f3 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero-status .connection-pill:first-child {
  color: #6c500f !important;
  border-color: #dfc776 !important;
  background: #fff7da !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] :where(.secondary-button,.table-action,.icon-button) {
  min-height: 40px;
  border: 1px solid var(--document-line-strong) !important;
  border-radius: 10px !important;
  color: #20384d !important;
  background: rgba(255,255,255,.88) !important;
  box-shadow: 0 4px 12px rgba(38,53,64,.05) !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] :where(.secondary-button,.table-action,.icon-button):hover {
  border-color: #7e9db8 !important;
  background: #f4f7f9 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] :where(.primary-button,.table-action.primary) {
  border-color: #2d6091 !important;
  color: #fff !important;
  background: linear-gradient(135deg,#376e9f,#214f7b) !important;
  box-shadow: 0 7px 17px rgba(33,79,123,.2) !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-control-board,
html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-search-card {
  padding: clamp(20px,2vw,30px) !important;
  border-radius: 20px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-section-heading {
  display: flex;
  gap: 22px;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 20px;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-section-heading h2 {
  margin: 2px 0 4px !important;
  color: var(--document-ink) !important;
  font-size: clamp(23px,2vw,31px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-section-heading p:last-child {
  margin: 0 !important;
  font-size: 13px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .preview-notice {
  max-width: 650px;
  margin: 0 !important;
  border: 1px solid #ded3a8 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  color: #665419 !important;
  background: #fcf7e5 !important;
  box-shadow: none !important;
  font-size: 12px;
  line-height: 1.45;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .preview-notice strong {
  color: #594714 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .kpi-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin: 0 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .kpi-grid article {
  position: relative;
  display: grid;
  min-height: 132px;
  gap: 5px;
  align-content: center;
  overflow: hidden;
  border-radius: 15px !important;
  padding: 20px !important;
  background: rgba(255,255,255,.76) !important;
  box-shadow: 0 8px 20px rgba(46,61,72,.055) !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .kpi-grid article::after {
  position: absolute;
  right: -27px;
  bottom: -38px;
  width: 88px;
  height: 88px;
  border: 12px solid rgba(52,105,153,.09);
  border-radius: 50%;
  content: "";
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .kpi-grid span {
  color: var(--document-muted) !important;
  font-size: 12px;
  font-weight: 650;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .kpi-grid strong {
  color: var(--document-ink) !important;
  font-size: clamp(29px,2.5vw,42px) !important;
  line-height: 1 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .kpi-grid small {
  color: var(--document-muted) !important;
  font-size: 11px;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-capability-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-capability-grid article {
  display: grid;
  min-height: 92px;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 13px;
  align-items: center;
  border-radius: 15px !important;
  padding: 16px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-capability-index {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #c8d6e2;
  border-radius: 12px;
  color: #fff !important;
  background: #2c5f8f;
  box-shadow: 0 6px 14px rgba(39,82,124,.18);
  font-size: 12px;
  font-weight: 800;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-capability-grid article > div {
  display: grid;
  gap: 4px;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-capability-grid strong {
  color: var(--document-ink) !important;
  font-size: 14px;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-capability-grid small {
  color: var(--document-muted) !important;
  font-size: 11px;
  line-height: 1.35;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-search-scope {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  border: 1px solid #d2d9de;
  border-radius: 999px;
  padding: 6px 11px;
  color: #596a78 !important;
  background: #f1f3f3;
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .filters-bar {
  display: grid;
  grid-template-columns: minmax(280px,1.8fr) repeat(4,minmax(135px,.8fr)) auto;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] :where(.filters-bar label,.form-grid label,.folder-tools label) {
  display: grid;
  gap: 6px;
  color: #425564 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] :where(input,select,textarea) {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--document-line-strong) !important;
  border-radius: 10px !important;
  color: var(--document-ink) !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: inset 0 1px 2px rgba(31,46,58,.035) !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] :where(input,select,textarea):focus {
  border-color: #477dab !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(58,112,162,.13) !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .filters-bar button {
  align-self: end;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .archive-layout {
  display: grid;
  grid-template-columns: minmax(235px,.72fr) minmax(680px,2.25fr) minmax(300px,.95fr);
  gap: 12px;
  align-items: start;
  margin: 0 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .panel {
  min-width: 0;
  min-height: 620px;
  overflow: hidden;
  border-radius: 18px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .panel-heading {
  display: flex;
  min-height: 83px;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px !important;
  border-bottom: 1px solid var(--document-line) !important;
  background: rgba(255,255,255,.46);
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .panel-heading h2 {
  margin: 1px 0 0 !important;
  color: var(--document-ink) !important;
  font-size: 21px !important;
  letter-spacing: -.02em !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .panel-intro {
  margin: 0 !important;
  padding: 13px 16px 0;
  color: var(--document-muted) !important;
  font-size: 11px !important;
  line-height: 1.45;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-result-count {
  display: inline-flex;
  min-width: 68px;
  min-height: 38px;
  gap: 5px;
  align-items: center;
  justify-content: center;
  border: 1px solid #c8d5df;
  border-radius: 999px;
  padding: 6px 10px;
  color: var(--document-muted) !important;
  background: #f5f7f8;
  font-size: 11px;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-result-count strong {
  color: #234e76 !important;
  font-size: 15px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .folder-tools {
  display: grid;
  gap: 6px;
  padding: 14px 14px 7px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .folder-tree {
  padding: 7px 10px 12px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .folder-button {
  display: flex;
  width: 100%;
  min-height: 42px;
  gap: 9px;
  align-items: center;
  justify-content: space-between;
  margin: 2px 0;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  padding: 9px 10px !important;
  color: #294154 !important;
  background: transparent !important;
  font-size: 12px;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .folder-button:hover {
  border-color: #d4dee5 !important;
  background: #f2f5f6 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .folder-button.active {
  border-color: #afc5d7 !important;
  color: #173c60 !important;
  background: var(--document-blue-soft) !important;
  box-shadow: inset 3px 0 #2e6698 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .folder-button small {
  color: #687987 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .folder-button.app {
  padding-left: 24px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .folder-button.practice {
  padding-left: 38px !important;
  color: #536674 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .folder-pager {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 7px;
  align-items: center;
  padding: 11px 12px 14px !important;
  border-top: 1px solid var(--document-line) !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .folder-pager span {
  color: var(--document-muted) !important;
  font-size: 10px !important;
  text-align: center;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .folder-pager button {
  min-height: 34px !important;
  padding: 7px !important;
  font-size: 10px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .table-wrap {
  overflow: auto;
  background: rgba(255,255,255,.48) !important;
  scrollbar-color: #aab8c2 #eef1f2;
  scrollbar-width: thin;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] table {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  color: var(--document-ink) !important;
  background: transparent !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] :where(th,td) {
  min-width: 94px;
  padding: 13px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #e0e5e8 !important;
  color: #2c4355 !important;
  background: transparent !important;
  font-size: 11px !important;
  line-height: 1.35;
  white-space: normal !important;
  vertical-align: middle;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] th {
  position: sticky;
  z-index: 2;
  top: 0;
  color: #526776 !important;
  background: #eef1f2 !important;
  font-size: 9px !important;
  font-weight: 750 !important;
  letter-spacing: .045em;
  text-transform: uppercase;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] tbody tr:nth-child(even) {
  background: rgba(235,239,240,.52) !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] tbody tr:hover {
  background: #edf3f7 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-link {
  border: 0 !important;
  padding: 0 !important;
  color: #173f64 !important;
  background: transparent !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  text-align: left;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .file-meta {
  display: block;
  margin-top: 5px;
  color: #6a7a87 !important;
  font-size: 9px !important;
  line-height: 1.35;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] :where(.visibility-pill,.document-state,.practice-lock) {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px !important;
  padding: 5px 8px !important;
  font-size: 9px !important;
  font-weight: 750 !important;
  line-height: 1.1;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .visibility-pill.client,
html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-state.available,
html.bc-theme-light body[data-systema-area="document-intelligence-center"] .practice-lock {
  border-color: #b8dfca !important;
  color: var(--document-success) !important;
  background: var(--document-success-bg) !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .visibility-pill.studio {
  border-color: #c4d5e3 !important;
  color: #254f76 !important;
  background: #e7eff6 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-state.quarantine {
  border-color: #e8bdc2 !important;
  color: var(--document-danger) !important;
  background: var(--document-danger-bg) !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-state.archived {
  border-color: #dfcc93 !important;
  color: var(--document-warning) !important;
  background: var(--document-warning-bg) !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .table-action {
  display: inline-flex;
  min-height: 31px;
  align-items: center;
  padding: 6px 9px !important;
  font-size: 10px !important;
  font-weight: 700;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .empty-row td,
html.bc-theme-light body[data-systema-area="document-intelligence-center"] .empty-detail {
  padding: 36px 22px !important;
  color: var(--document-muted) !important;
  text-align: center;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .detail-content {
  display: grid;
  gap: 16px;
  padding: 20px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .detail-content h3 {
  margin: 0 !important;
  color: var(--document-ink) !important;
  font-size: 21px !important;
  letter-spacing: -.02em !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .detail-content dl {
  display: grid;
  grid-template-columns: 94px minmax(0,1fr);
  gap: 0;
  margin: 0;
  border: 1px solid var(--document-line);
  border-radius: 12px;
  overflow: hidden;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .detail-content :where(dt,dd) {
  margin: 0 !important;
  padding: 9px 10px;
  border-bottom: 1px solid #e2e6e8;
  color: #30485a !important;
  overflow-wrap: anywhere;
  font-size: 10px;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .detail-content dt {
  color: #667785 !important;
  background: #f1f3f3;
  font-weight: 700;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .drive-path {
  border: 1px solid #c6d5df !important;
  border-radius: 10px !important;
  padding: 12px !important;
  color: #2f4a5f !important;
  background: #f1f5f7 !important;
  font-family: "SFMono-Regular",Consolas,monospace;
  font-size: 10px !important;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .version-list {
  display: grid;
  gap: 7px;
  border-top: 1px solid var(--document-line) !important;
  padding-top: 14px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .version-row {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  border: 1px solid #dde3e6;
  border-radius: 9px;
  padding: 9px;
  color: #536674 !important;
  background: #f7f8f7;
  font-size: 9px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .security-note,
html.bc-theme-light body[data-systema-area="document-intelligence-center"] .destination-preview {
  border: 1px solid #ddd19f !important;
  border-left: 3px solid #b99739 !important;
  border-radius: 10px !important;
  padding: 12px 13px !important;
  color: #5d4d1c !important;
  background: #fbf6e5 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .destination-preview span {
  color: #596b78 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] dialog {
  width: min(780px,calc(100% - 28px));
  max-height: calc(100vh - 34px);
  overflow: auto;
  border: 1px solid var(--document-line-strong) !important;
  border-radius: 18px !important;
  color: var(--document-ink) !important;
  background: #f8f8f6 !important;
  box-shadow: 0 30px 90px rgba(25,38,47,.28) !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] dialog::backdrop {
  background: rgba(30,43,52,.46) !important;
  backdrop-filter: blur(4px);
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .dialog-heading {
  border-bottom: 1px solid var(--document-line) !important;
  background: rgba(255,255,255,.62);
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .form-grid {
  gap: 13px;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .confirm-destination {
  border: 1px solid var(--document-line) !important;
  color: #3a5060 !important;
  background: #f0f2f2 !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .audit-table {
  border: 1px solid var(--document-line) !important;
  border-radius: 12px !important;
}

html.bc-theme-light body[data-systema-area="document-intelligence-center"] .operation-name {
  color: #274f73 !important;
}

@media (max-width: 1120px) {
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero-control {
    max-width: 720px;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .kpi-grid,
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-capability-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .filters-bar {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-search-field {
    grid-column: span 2;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .archive-layout {
    grid-template-columns: 245px minmax(0,1fr);
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .detail-panel {
    grid-column: 1 / -1;
    min-height: 0;
  }
}

@media (max-width: 900px) {
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-section-heading {
    display: grid;
    align-items: start;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .preview-notice {
    max-width: none;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .archive-layout {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .detail-panel {
    grid-column: auto;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .panel {
    min-height: 0;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .documents-panel .table-wrap {
    max-height: 650px;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .folder-tree {
    max-height: 390px;
    overflow: auto;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light.bc-shell-injected body[data-systema-area="document-intelligence-center"] .bc-app-sidebar:not(.is-native) {
    position: sticky !important;
    inset: auto !important;
    top: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: 66px !important;
    flex-direction: row !important;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-intelligence-shell {
    gap: 12px;
    padding-inline: 10px !important;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero {
    min-height: 0;
    padding: 24px 20px !important;
    border-radius: 18px !important;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero h1 {
    font-size: clamp(36px,12vw,52px) !important;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero-control {
    padding: 14px;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero-status,
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .header-actions {
    display: grid !important;
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-hero-control .header-actions > * {
    width: 100% !important;
    height: auto !important;
    min-height: 42px !important;
    flex: none !important;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .connection-pill {
    justify-content: center;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .kpi-grid,
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-capability-grid,
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .filters-bar {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-search-field {
    grid-column: auto;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .kpi-grid article {
    min-height: 112px;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-capability-grid article {
    min-height: 82px;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-control-board,
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .document-search-card {
    padding: 18px 15px !important;
    border-radius: 16px !important;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .form-grid,
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .audit-toolbar {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .form-grid .wide {
    grid-column: auto;
  }
  html.bc-theme-light body[data-systema-area="document-intelligence-center"] .linked-practice {
    grid-template-columns: 1fr 1fr;
  }
}

/* =========================================================
   PROMPT 30 · PRACTICE MANAGER
   Workspace operativo per le pratiche reali Avvisi Bonari
   ========================================================= */

html.bc-theme-light body[data-systema-area="practice-manager"] {
  --practice-ink: #172c3f;
  --practice-muted: #647584;
  --practice-line: #d8dfe4;
  --practice-line-strong: #c4ced6;
  --practice-paper: rgba(252,251,248,.97);
  --practice-paper-soft: rgba(244,245,243,.95);
  --practice-blue-soft: #e9f0f7;
  --practice-green: #155d3d;
  --practice-green-soft: #e1f1e8;
  --practice-red: #9c2f3a;
  --practice-red-soft: #f8e5e7;
  --practice-amber: #71520f;
  --practice-amber-soft: #f8edce;
  color-scheme: light;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-shell > .main {
  display: grid;
  gap: var(--systema-space-3);
  align-content: start;
  min-width: 0;
  padding: 26px clamp(18px,2vw,32px) 58px !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .bc-page-navigation {
  display: none !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .topbar {
  display: grid !important;
  grid-template-columns: minmax(0,1.35fr) minmax(430px,.65fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
  margin: 0 !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-hero,
html.bc-theme-light body[data-systema-area="practice-manager"] .top-actions,
html.bc-theme-light body[data-systema-area="practice-manager"] .toolbar,
html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-map,
html.bc-theme-light body[data-systema-area="practice-manager"] .panel > .card,
html.bc-theme-light body[data-systema-area="practice-manager"] .panel > .split > .card,
html.bc-theme-light body[data-systema-area="practice-manager"] .panel > .dashboard-layout > .card {
  border: 1px solid var(--practice-line) !important;
  background: linear-gradient(145deg,var(--practice-paper),var(--practice-paper-soft)) !important;
  box-shadow: 0 14px 34px rgba(36,49,59,.075),inset 0 1px rgba(255,255,255,.76) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-hero {
  position: relative;
  display: block !important;
  min-height: 250px !important;
  padding: clamp(30px,3.5vw,54px) !important;
  overflow: hidden;
  border-radius: 24px !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-hero::before,
html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-hero::after {
  position: absolute;
  z-index: 0;
  width: 330px;
  height: 330px;
  border: 24px solid rgba(45,96,145,.1);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-hero::before {
  top: -238px;
  right: 16%;
  box-shadow: 0 0 0 9px rgba(255,255,255,.86),0 0 0 29px rgba(118,136,149,.09);
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-hero::after {
  right: -220px;
  bottom: -230px;
  border-color: rgba(45,96,145,.16);
  box-shadow: 0 0 0 9px rgba(255,255,255,.9),0 0 0 28px rgba(118,136,149,.11);
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-hero > * {
  position: relative;
  z-index: 1;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-hero h1 {
  margin: 6px 0 12px !important;
  color: var(--practice-ink) !important;
  font-size: clamp(46px,5vw,78px) !important;
  font-weight: 720 !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-hero > p:not(.eyebrow) {
  max-width: 780px;
  margin: 0 !important;
  color: var(--practice-muted) !important;
  font-size: clamp(15px,1.3vw,20px) !important;
  line-height: 1.55 !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-hero .hero-line {
  position: static !important;
  width: min(320px,55%) !important;
  height: 3px !important;
  margin: 22px 0 12px !important;
  border-radius: 999px;
  background: linear-gradient(90deg,#2d6192 0 46%,#c9d2d9 46% 72%,#e6e9e9 72%) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-hero .hero-studio {
  position: static !important;
  color: #536675 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-align: left !important;
  text-transform: uppercase;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .top-actions {
  display: grid !important;
  min-width: 0;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px !important;
  align-content: center;
  padding: 20px !important;
  border-radius: 20px !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .top-actions .cloud-pill {
  grid-column: 1 / -1;
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid #d1d9de !important;
  border-radius: 999px !important;
  padding: 7px 11px !important;
  color: #485c6c !important;
  background: #f1f3f3 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] :where(.btn,.ghost-action) {
  min-height: 40px !important;
  border: 1px solid var(--practice-line-strong) !important;
  border-radius: 10px !important;
  color: #21394e !important;
  background: rgba(255,255,255,.9) !important;
  box-shadow: 0 4px 12px rgba(38,53,64,.045) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] :where(.btn,.ghost-action):hover {
  border-color: #7e9db8 !important;
  background: #f3f6f8 !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] :where(.btn.primary,.btn.is-primary) {
  border-color: #2e6090 !important;
  color: #fff !important;
  background: linear-gradient(135deg,#376f9f,#214f7b) !important;
  box-shadow: 0 7px 17px rgba(33,79,123,.19) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .btn.danger {
  border-color: #e3b6bb !important;
  color: var(--practice-red) !important;
  background: var(--practice-red-soft) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .btn.good {
  border-color: #b7d9c5 !important;
  color: var(--practice-green) !important;
  background: var(--practice-green-soft) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-advanced-actions {
  position: relative;
  grid-column: 1 / -1;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-advanced-actions summary {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--practice-line-strong);
  border-radius: 10px;
  color: #294155;
  background: #f5f6f5;
  cursor: pointer;
  font-size: 11px;
  font-weight: 750;
  list-style: none;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-advanced-actions summary::-webkit-details-marker {
  display: none;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-advanced-actions summary::after {
  margin-left: 8px;
  content: "+";
  color: #315f88;
  font-size: 16px;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-advanced-actions[open] summary::after {
  content: "−";
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-advanced-actions > div {
  position: absolute;
  z-index: var(--systema-layer-popup);
  top: calc(100% + 8px);
  right: 0;
  display: grid;
  width: min(430px,calc(100vw - 44px));
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--practice-line-strong);
  border-radius: 13px;
  background: #f8f8f6;
  box-shadow: 0 20px 50px rgba(31,45,55,.18);
}

html.bc-theme-light body[data-systema-area="practice-manager"] .toolbar {
  display: grid !important;
  grid-template-columns: minmax(260px,1.7fr) repeat(5,minmax(125px,.72fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 18px !important;
  border-radius: 18px !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] :where(.toolbar .field,.form-grid .field) {
  display: grid;
  gap: 6px;
  color: #435665 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] :where(.input,.select,.textarea,input,select,textarea) {
  min-height: 42px;
  border: 1px solid var(--practice-line-strong) !important;
  border-radius: 10px !important;
  color: var(--practice-ink) !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: inset 0 1px 2px rgba(31,46,58,.035) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] :where(.input,.select,.textarea,input,select,textarea):focus {
  border-color: #477dab !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(58,112,162,.13) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-map {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: clamp(20px,2vw,30px);
  border-radius: 20px;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-heading {
  display: flex;
  gap: 22px;
  align-items: flex-end;
  justify-content: space-between;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-heading h2 {
  margin: 3px 0 5px !important;
  color: var(--practice-ink) !important;
  font-size: clamp(24px,2.2vw,34px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-heading p:last-child {
  margin: 0 !important;
  color: var(--practice-muted) !important;
  font-size: 12px !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-scope-pill {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  border: 1px solid #c3d4e1;
  border-radius: 999px;
  padding: 7px 11px;
  color: #254f75 !important;
  background: var(--practice-blue-soft);
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-navigation {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-navigation button {
  display: grid;
  min-height: 88px;
  grid-template-columns: 34px minmax(0,1fr);
  grid-template-rows: auto auto;
  gap: 4px 10px;
  align-content: center;
  border: 1px solid var(--practice-line) !important;
  border-radius: 14px !important;
  padding: 15px !important;
  color: var(--practice-ink) !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 7px 18px rgba(42,57,68,.05) !important;
  text-align: left;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-navigation button:hover {
  border-color: #a9c0d2 !important;
  background: #f1f5f8 !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-navigation button > span {
  display: grid;
  width: 34px;
  height: 34px;
  grid-row: 1 / 3;
  place-items: center;
  border-radius: 10px;
  color: #fff !important;
  background: #2d6292;
  font-size: 10px;
  font-weight: 800;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-navigation strong {
  align-self: end;
  color: var(--practice-ink) !important;
  font-size: 12px !important;
  line-height: 1.2;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-navigation small {
  align-self: start;
  color: var(--practice-muted) !important;
  font-size: 9px !important;
  line-height: 1.3;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-note {
  display: flex;
  gap: 9px 14px;
  align-items: center;
  border: 1px solid #dcd4b2;
  border-radius: 11px;
  padding: 11px 13px;
  color: #62521f !important;
  background: #faf6e7;
  font-size: 10px;
  line-height: 1.4;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-note strong {
  color: #574716 !important;
  white-space: nowrap;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .panel {
  min-width: 0;
  margin: 0 !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .panel > .card,
html.bc-theme-light body[data-systema-area="practice-manager"] .panel > .split > .card,
html.bc-theme-light body[data-systema-area="practice-manager"] .panel > .dashboard-layout > .card {
  overflow: hidden;
  border-radius: 18px !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .avvisi-dashboard-shell {
  padding: clamp(20px,2vw,28px) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .avvisi-dashboard-heading,
html.bc-theme-light body[data-systema-area="practice-manager"] .card-header {
  min-height: 76px;
  padding: 18px 20px !important;
  border-bottom: 1px solid var(--practice-line) !important;
  background: rgba(255,255,255,.46) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .avvisi-dashboard-heading {
  margin: -4px -4px 18px !important;
  border: 1px solid var(--practice-line);
  border-radius: 14px;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .card-title {
  margin: 2px 0 0 !important;
  color: var(--practice-ink) !important;
  font-size: clamp(21px,1.8vw,28px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] :where(.card-kicker,.eyebrow) {
  color: #315f88 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .kpi-grid {
  gap: 9px !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .kpi {
  min-height: 120px !important;
  border: 1px solid var(--practice-line) !important;
  border-radius: 14px !important;
  color: var(--practice-ink) !important;
  background: rgba(255,255,255,.79) !important;
  box-shadow: 0 7px 18px rgba(42,57,68,.05) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .table-wrap {
  border-color: var(--practice-line) !important;
  background: rgba(255,255,255,.54) !important;
  scrollbar-color: #aab8c2 #eef1f2;
  scrollbar-width: thin;
}

html.bc-theme-light body[data-systema-area="practice-manager"] table {
  color: var(--practice-ink) !important;
  background: transparent !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] :where(th,td) {
  border-color: #e0e5e8 !important;
  color: #2d4557 !important;
  background: transparent !important;
  font-size: 10px !important;
  line-height: 1.4;
}

html.bc-theme-light body[data-systema-area="practice-manager"] th {
  color: #526776 !important;
  background: #eef1f2 !important;
  font-size: 9px !important;
  font-weight: 750 !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] tbody tr:nth-child(even) {
  background: rgba(235,239,240,.5) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] tbody tr:hover {
  background: #edf3f7 !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .pill {
  display: inline-flex !important;
  min-height: 25px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 5px 8px !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .pill.green {
  border-color: #b7ddc7 !important;
  color: var(--practice-green) !important;
  background: var(--practice-green-soft) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .pill.red {
  border-color: #e5bac0 !important;
  color: var(--practice-red) !important;
  background: var(--practice-red-soft) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .pill.amber {
  border-color: #dfcb90 !important;
  color: var(--practice-amber) !important;
  background: var(--practice-amber-soft) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] :where(.pill.blue,.pill.cyan) {
  border-color: #bfd2e1 !important;
  color: #244f76 !important;
  background: #e5eef6 !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .pill.silver {
  border-color: #ced5da !important;
  color: #465966 !important;
  background: #eef0f0 !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .form-grid {
  gap: 13px !important;
  padding: 20px !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] .locked-field,
html.bc-theme-light body[data-systema-area="practice-manager"] .field-note,
html.bc-theme-light body[data-systema-area="practice-manager"] .empty {
  color: var(--practice-muted) !important;
}

html.bc-theme-light body[data-systema-area="practice-manager"] :where(
  dialog,.modal,.booking-modal,.payment-modal
) {
  border-color: var(--practice-line-strong) !important;
  color: var(--practice-ink) !important;
  background: #f8f8f6 !important;
}

@media (max-width: 1120px) {
  html.bc-theme-light body[data-systema-area="practice-manager"] .topbar {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .top-actions {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .top-actions .cloud-pill,
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-advanced-actions {
    grid-column: auto;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .toolbar {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-navigation {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 900px) {
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-heading,
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-note {
    display: grid;
    align-items: start;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-note strong {
    white-space: normal;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .avvisi-dashboard-grid,
  html.bc-theme-light body[data-systema-area="practice-manager"] .split,
  html.bc-theme-light body[data-systema-area="practice-manager"] .dashboard-layout {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-navigation {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-shell > .main {
    gap: 12px;
    padding: 12px 10px 42px !important;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-hero {
    min-height: 0 !important;
    padding: 25px 20px !important;
    border-radius: 18px !important;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-manager-hero h1 {
    font-size: clamp(39px,12vw,54px) !important;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .top-actions,
  html.bc-theme-light body[data-systema-area="practice-manager"] .toolbar,
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-navigation {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .top-actions .cloud-pill,
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-advanced-actions {
    grid-column: auto;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-advanced-actions > div {
    position: static;
    width: 100%;
    grid-template-columns: 1fr;
    margin-top: 8px;
    box-shadow: none;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-map {
    gap: 14px;
    padding: 18px 15px;
    border-radius: 16px;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-scope-pill {
    width: max-content;
    max-width: 100%;
    white-space: normal;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .practice-workspace-navigation button {
    min-height: 84px;
  }
  html.bc-theme-light body[data-systema-area="practice-manager"] .form-grid {
    padding: 15px !important;
  }
}

/* ==========================================================================
   SYSTEMA ENTERPRISE - Decision Center 31
   Cabina di regia basata esclusivamente sui dati operativi gia disponibili.
   ========================================================================== */

html.bc-theme-light body[data-systema-decision-center="true"] {
  color: var(--bc-text-primary);
  background: var(--bc-bg) !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .dashboard-header {
  order: 1;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-soft) !important;
  box-shadow: var(--systema-header-shadow) !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .dashboard-header::before {
  opacity: .36;
}

html.bc-theme-light body[data-systema-decision-center="true"] .dashboard-header .header-actions {
  background: var(--bc-surface) !important;
  backdrop-filter: none;
}

html.bc-theme-light body[data-systema-decision-center="true"] .dashboard-header > .control-toolbar {
  background: var(--bc-bg) !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .systema-decision-brief {
  order: 2;
  display: grid;
  gap: var(--systema-space-2);
  padding: var(--systema-space-3);
  border: 1px solid var(--bc-border-soft);
  border-radius: 22px;
  background: var(--bc-surface);
  box-shadow: var(--bc-shadow-sm);
}

html.bc-theme-light body[data-systema-decision-center="true"] .systema-decision-heading {
  align-items: center !important;
  margin: 0 !important;
  padding: 0 0 var(--systema-space-2) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--bc-border-soft) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .systema-decision-heading h2 {
  max-width: 780px;
}

html.bc-theme-light body[data-systema-decision-center="true"] .systema-decision-shortcuts {
  max-width: 520px;
}

html.bc-theme-light body[data-systema-decision-center="true"] .systema-decision-shortcuts a {
  min-height: 40px;
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border) !important;
  background: var(--bc-surface) !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .systema-decision-shortcuts a:hover {
  color: var(--bc-primary) !important;
  border-color: var(--bc-primary-light) !important;
  background: var(--bc-primary-softer) !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .systema-decision-brief .studio-home-kpis {
  margin: 0 !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .studio-home-kpis > article {
  min-height: 146px !important;
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .studio-home-kpis > article::after {
  display: none !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .studio-home-kpis > article > a {
  min-height: 146px;
}

html.bc-theme-light body[data-systema-decision-center="true"] .decision-reading-key {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--systema-space-1);
  padding-top: var(--systema-space-1);
  border-top: 1px solid var(--bc-border-soft);
}

html.bc-theme-light body[data-systema-decision-center="true"] .decision-reading-key > span {
  position: relative;
  display: grid;
  min-height: 58px;
  gap: 2px;
  align-content: center;
  padding: 8px 12px 8px 30px;
  color: var(--bc-text-primary);
  border: 1px solid var(--bc-border-soft);
  border-radius: 12px;
  background: var(--bc-surface-soft);
}

html.bc-theme-light body[data-systema-decision-center="true"] .decision-reading-key > span::before {
  position: absolute;
  top: 50%;
  left: 13px;
  width: 8px;
  height: 8px;
  content: "";
  border-radius: 50%;
  background: var(--bc-text-muted);
  transform: translateY(-50%);
}

html.bc-theme-light body[data-systema-decision-center="true"] .decision-reading-key > span[data-systema-tone="danger"]::before {
  background: var(--bc-danger);
}

html.bc-theme-light body[data-systema-decision-center="true"] .decision-reading-key > span[data-systema-tone="warning"]::before {
  background: var(--bc-warning);
}

html.bc-theme-light body[data-systema-decision-center="true"] .decision-reading-key strong {
  color: var(--bc-text-primary) !important;
  font-size: var(--systema-type-level-5);
}

html.bc-theme-light body[data-systema-decision-center="true"] .decision-reading-key small {
  color: var(--bc-text-secondary) !important;
  font-size: 11px;
}

html.bc-theme-light body[data-systema-decision-center="true"] .studio-workspace-grid {
  order: 3 !important;
  grid-template-columns: minmax(0,1.65fr) minmax(320px,.75fr);
}

html.bc-theme-light body[data-systema-decision-center="true"] #studioAgenda {
  order: 4 !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] #studioDeadlines {
  order: 5 !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] #studioWidgets {
  order: 6 !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .studio-widget-grid {
  order: 7 !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .print-dashboard {
  order: 8 !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .studio-workspace-main > .priorities-card {
  order: 1;
  border-top: 1px solid var(--bc-border-soft) !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .studio-workspace-main > .traffic-card {
  order: 2;
}

html.bc-theme-light body[data-systema-decision-center="true"] .studio-workspace-main > .studio-spotlight-grid {
  order: 3;
}

html.bc-theme-light body[data-systema-decision-center="true"] .studio-workspace-main > .studio-report-card {
  order: 4;
}

html.bc-theme-light body[data-systema-decision-center="true"] .studio-side-rail #studioClients {
  order: 1;
}

html.bc-theme-light body[data-systema-decision-center="true"] .studio-side-rail .studio-rail-nav {
  order: 2;
  background: var(--bc-surface) !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .studio-workspace-grid .dashboard-card {
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] .systema-assistant-note {
  color: var(--bc-text-primary) !important;
  border-color: var(--bc-border-soft) !important;
  background: var(--bc-surface-soft) !important;
}

html.bc-theme-light body[data-systema-decision-center="true"] :is(
  #studioActivities,#studioRisks,#studioSignals,#studioClients,#studioAgenda,#studioDeadlines,#studioReports
) {
  scroll-margin-top: var(--systema-space-3);
}

@media (max-width: 1120px) {
  html.bc-theme-light body[data-systema-decision-center="true"] .studio-workspace-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  html.bc-theme-light body[data-systema-decision-center="true"] .decision-reading-key {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"][data-systema-decision-center="true"] .systema-decision-shortcuts {
    max-width: none !important;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body[data-systema-decision-center="true"] .systema-decision-brief {
    gap: var(--systema-space-2);
    padding: var(--systema-space-2);
    border-radius: 16px;
  }
  html.bc-theme-light body[data-systema-decision-center="true"] .systema-decision-heading {
    padding-bottom: var(--systema-space-2) !important;
  }
  html.bc-theme-light body[data-systema-area="studio-home"][data-systema-home="intelligent-workspace"][data-systema-decision-center="true"] .systema-decision-shortcuts {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  html.bc-theme-light body[data-systema-decision-center="true"] .decision-reading-key > span {
    min-height: 52px;
  }
}

/* ==========================================================================
   SYSTEMA ENTERPRISE - Knowledge Center 32
   Biblioteca digitale costruita sulla memoria documentale realmente attiva.
   ========================================================================== */

html.bc-theme-light body[data-systema-knowledge-center="documental"] {
  color: var(--document-ink);
  background: var(--bc-bg) !important;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-center-shell {
  gap: var(--systema-space-3);
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] :where(
  .archive-header,.document-control-board,.document-search-card,.panel,
  .document-capability-grid article,.knowledge-source-map
) {
  border-color: var(--document-line) !important;
  background: var(--document-paper) !important;
  box-shadow: 0 10px 28px rgba(36,49,59,.065) !important;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .document-hero {
  min-height: 220px;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .document-hero::before,
html.bc-theme-light body[data-systema-knowledge-center="documental"] .document-hero::after {
  opacity: .48;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .document-hero h1 {
  font-size: clamp(44px,4.3vw,70px) !important;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .document-hero-control {
  border-color: var(--document-line) !important;
  background: var(--document-paper-soft) !important;
  box-shadow: 0 10px 24px rgba(43,58,69,.065);
  backdrop-filter: none;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .document-hero-status .connection-pill:first-child {
  color: var(--document-success) !important;
  border-color: var(--bc-success-border) !important;
  background: var(--document-success-bg) !important;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .kpi-grid article {
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .kpi-grid article::after {
  display: none;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .document-capability-grid article {
  background: var(--bc-surface) !important;
  box-shadow: none !important;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .document-capability-index {
  color: var(--bc-primary) !important;
  border-color: var(--document-line-strong);
  background: var(--document-blue-soft);
  box-shadow: none;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-map {
  display: grid;
  gap: var(--systema-space-2);
  padding: clamp(20px,2vw,30px);
  border: 1px solid var(--document-line);
  border-radius: 20px;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-map .document-section-heading {
  margin: 0;
  padding-bottom: var(--systema-space-2);
  border-bottom: 1px solid var(--document-line);
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-navigation {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 10px;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-navigation > a {
  display: grid;
  min-height: 116px;
  grid-template-columns: 38px minmax(0,1fr);
  gap: 5px 11px;
  align-content: center;
  padding: 15px;
  color: var(--document-ink) !important;
  border: 1px solid var(--document-line);
  border-radius: 14px;
  background: var(--bc-surface);
  text-decoration: none !important;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-navigation > a:hover {
  border-color: var(--bc-primary-light);
  background: var(--document-blue-soft);
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-navigation > a:focus-visible {
  outline: 3px solid rgba(35,78,139,.22);
  outline-offset: 3px;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-navigation span {
  display: grid;
  width: 38px;
  height: 38px;
  grid-row: span 2;
  place-items: center;
  color: var(--bc-primary) !important;
  border: 1px solid var(--document-line-strong);
  border-radius: 10px;
  background: var(--document-blue-soft);
  font-size: 10px;
  font-weight: 800;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-navigation strong {
  align-self: end;
  color: var(--document-ink) !important;
  font-size: 13px;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-navigation small {
  color: var(--document-muted) !important;
  font-size: 10px;
  line-height: 1.35;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-search-limits {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
  margin-top: var(--systema-space-2);
  padding-top: var(--systema-space-2);
  border-top: 1px solid var(--document-line);
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-search-limits > span {
  position: relative;
  display: flex;
  min-height: 44px;
  gap: 5px;
  align-items: center;
  padding: 8px 11px 8px 29px;
  color: var(--document-muted) !important;
  border: 1px solid var(--document-line);
  border-radius: 11px;
  background: var(--document-paper-soft);
  font-size: 10px;
  line-height: 1.35;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-search-limits > span::before {
  position: absolute;
  top: 50%;
  left: 12px;
  width: 7px;
  height: 7px;
  content: "";
  border-radius: 50%;
  background: var(--bc-text-muted);
  transform: translateY(-50%);
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-search-limits > span[data-systema-state="available"]::before {
  background: var(--bc-success);
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-search-limits strong {
  color: var(--document-ink) !important;
  font-size: 10px;
}

html.bc-theme-light body[data-systema-knowledge-center="documental"] :where(
  #knowledgeSources,#documentSearch,.archive-layout
) {
  scroll-margin-top: var(--systema-space-3);
}

@media (max-width: 1120px) {
  html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-navigation {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 900px) {
  html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-navigation {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-search-limits {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-map {
    gap: 14px;
    padding: 18px 15px;
    border-radius: 16px;
  }
  html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-navigation {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-knowledge-center="documental"] .knowledge-source-navigation > a {
    min-height: 86px;
  }
}

/* ==========================================================================
   SYSTEMA ENTERPRISE - Customer 360 33
   Cabina cliente costruita solo su profilo e fonti operative reali.
   ========================================================================== */

html.bc-theme-light body[data-systema-customer360="verified-sources"] {
  color: var(--bc-text-primary);
  background: var(--bc-page-bg) !important;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-client-selector {
  display: grid;
  gap: 4px;
  padding: var(--systema-space-2);
  border-bottom: 1px solid var(--bc-border-soft);
  background: linear-gradient(145deg,#FFFFFF,#F4F7FA);
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-client-selector :where(p,strong,span) {
  margin: 0 !important;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-client-selector strong {
  color: var(--bc-text-primary) !important;
  font-size: 16px;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-client-selector > span {
  color: var(--bc-text-secondary) !important;
  font-size: 11px;
  line-height: 1.45;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-command {
  min-height: 0;
  scroll-margin-top: var(--systema-space-3);
  background:
    radial-gradient(circle at 96% 0,rgba(35,78,139,.08),transparent 26%),
    linear-gradient(145deg,#FFFFFF,#F5F7FA) !important;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-command > div {
  display: grid;
  gap: 4px;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: var(--systema-space-2);
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-status-row > span {
  position: relative;
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 10px 6px 25px;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 999px;
  background: var(--bc-surface);
  font-size: 10px;
  font-weight: 750;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-status-row > span::before {
  position: absolute;
  left: 11px;
  width: 7px;
  height: 7px;
  content: "";
  border-radius: 50%;
  background: var(--bc-text-muted);
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-status-row > span[data-systema-state="available"]::before {
  background: var(--bc-success);
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-status-row > span[data-systema-state="linked"]::before {
  background: var(--bc-primary-light);
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-command nav {
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-command nav > a {
  display: grid !important;
  min-height: 84px !important;
  grid-template-columns: 34px minmax(0,1fr);
  grid-template-rows: auto auto;
  gap: 2px 10px;
  place-items: initial !important;
  align-content: center;
  padding: 12px !important;
  color: var(--bc-text-primary) !important;
  text-align: left !important;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-command nav > a > span {
  display: grid;
  width: 34px;
  height: 34px;
  grid-row: 1 / span 2;
  place-items: center;
  color: var(--bc-primary) !important;
  border: 1px solid rgba(35,78,139,.16);
  border-radius: 10px;
  background: var(--bc-primary-softer);
  font-size: 9px;
  font-weight: 850;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-command nav > a > strong {
  align-self: end;
  color: var(--bc-text-primary) !important;
  font-size: 12px;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-command nav > a > small {
  color: var(--bc-text-secondary) !important;
  font-size: 9px;
  line-height: 1.3;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--systema-space-2);
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-card {
  display: flex;
  min-width: 0;
  min-height: 214px;
  flex-direction: column;
  gap: 9px;
  padding: var(--systema-space-3);
  color: var(--bc-text-primary) !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 16px;
  background: var(--bc-surface);
  box-shadow: var(--bc-shadow-xs);
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-card > div {
  display: flex;
  gap: var(--systema-space-1);
  align-items: center;
  justify-content: space-between;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-card :where(p,h4,small) {
  margin: 0 !important;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-card h4 {
  color: var(--bc-text-primary) !important;
  font-size: 21px !important;
  line-height: 1.15 !important;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-card p:not(.eyebrow) {
  color: var(--bc-text-secondary) !important;
  font-size: 12px;
  line-height: 1.55;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-card > small {
  margin-top: auto !important;
  color: var(--bc-text-muted) !important;
  font-size: 10px;
  line-height: 1.45;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-state {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 5px 8px;
  color: var(--bc-text-secondary) !important;
  border: 1px solid var(--bc-border-soft);
  border-radius: 999px;
  background: var(--bc-surface-soft);
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-card[data-systema-state="available"] {
  border-top: 3px solid var(--bc-success);
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-card[data-systema-state="unavailable"] {
  border-top: 3px solid var(--bc-text-muted);
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-card > a {
  align-self: flex-start;
  margin-top: auto;
  color: var(--bc-primary) !important;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none !important;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-card > a:hover {
  text-decoration: underline !important;
}

html.bc-theme-light body[data-systema-customer360="verified-sources"] :where(
  #customer360-command,#dossier-overview,#dossier-representative,#dossier-positions,
  #dossier-contacts,#dossier-profile,#dossier-services,#dossier-portal,
  #dossier-deadlines,#dossier-notes
) {
  scroll-margin-top: var(--systema-space-3);
}

@media (max-width: 1260px) {
  html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-command nav {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-grid {
    grid-template-columns: 1fr;
  }
  html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-card {
    min-height: 0;
  }
}

@media (max-width: 680px) {
  html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-client-selector {
    padding: var(--systema-space-2);
  }
  html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-command nav {
    grid-template-columns: 1fr !important;
  }
  html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-command nav > a {
    min-height: 72px !important;
  }
  html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-card {
    padding: var(--systema-space-2);
  }
  html.bc-theme-light body[data-systema-customer360="verified-sources"] .customer360-summary-card > div {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media print {
  html.bc-theme-light body {
    padding-left: 0 !important;
    color: #111 !important;
    background: #fff !important;
  }
  html.bc-theme-light.bc-shell-native .app-shell {
    display: block !important;
  }
  html.bc-theme-light body::before,
  html.bc-theme-light body::after,
  html.bc-theme-light .bc-app-sidebar,
  html.bc-theme-light .bc-preview-badge {
    display: none !important;
  }
  html.bc-theme-light :where(h1,h2,h3,h4,h5,h6,strong,b,legend) {
    color: #111 !important;
    text-shadow: none !important;
  }
  html.bc-theme-light :where(p,span,small,label,td,th) {
    color: #333 !important;
    text-shadow: none !important;
  }
  html.bc-theme-light :where(
    .panel,.card,[class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "],
    .portal-view,.table-wrap,.table-scroll,table,thead th,tbody td
  ) {
    color: #111 !important;
    border-color: #d7dce5 !important;
    background: #fff !important;
    box-shadow: none !important;
  }
}
