:root {
  --dan-ref-primary: #0a6e4e;
  --dan-ref-primary-dark: #064d37;
  --dan-ref-primary-soft: #d9efe7;
  --dan-ref-accent: #d4a017;
  --dan-ref-surface: #ffffff;
  --dan-ref-surface-soft: #f4f8f6;
  --dan-ref-border: #cfe3da;
  --dan-ref-text: #1e2d27;
  --dan-ref-muted: #64748b;
  --dan-ref-shadow: 0 12px 30px rgba(6, 77, 55, 0.08);
  --dan-ref-radius: 14px;
}

body {
  background: linear-gradient(180deg, #f4f8f6 0%, #edf4f1 100%);
  color: var(--dan-ref-text);
}

.app-header,
.hdr,
.header {
  background: linear-gradient(135deg, var(--dan-ref-primary-dark) 0%, var(--dan-ref-primary) 62%, #0f8a62 100%);
  color: #fff;
  box-shadow: 0 10px 26px rgba(6, 77, 55, 0.2);
}

.hdr,
.header {
  border-bottom: 0;
  min-height: 72px;
}

.header {
  text-align: left;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.header h1,
.page-title,
.topbar-title,
.dashboard-heading h2,
.card-title,
.section-title,
.table-header h3,
.detail-section h4 {
  color: var(--dan-ref-primary-dark);
}

.header p,
.page-sub,
.subtitle,
.panel-copy,
.section-subtitle,
.dashboard-heading p,
.kpi-label,
.kpi-sub,
.stat-label,
.alert-sub,
.detail-item label,
.table-empty,
.muted {
  color: var(--dan-ref-muted);
}

.tabs-bar,
.tabs,
.nav,
.tab-buttons {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  align-items: center;
  padding: 0 16px;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--dan-ref-border);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.nav {
  margin-bottom: 0;
}

.tabs,
.tab-buttons {
  padding-top: 10px;
  padding-bottom: 0;
}

.tab-btn,
.tab,
.nav a {
  border: none;
  background: transparent;
  color: var(--dan-ref-muted);
  border-bottom: 3px solid transparent;
  border-radius: 10px 10px 0 0;
  font-weight: 600;
}

.tab-btn.active,
.tab.active,
.nav a.active,
.nav a:hover {
  color: var(--dan-ref-primary-dark);
  border-bottom-color: var(--dan-ref-primary);
  background: linear-gradient(180deg, rgba(217, 239, 231, 0.8) 0%, rgba(217, 239, 231, 0.28) 100%);
}

.main,
.page,
.container,
.content {
  max-width: 1480px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}

.page,
.container,
.content {
  padding-top: 24px;
  padding-bottom: 40px;
}

.card,
.section,
.panel,
.metric,
.hero-card,
.quick-actions,
.receipt-panel,
.alert-card,
.cashbox-card,
.report-card,
.detail-section,
.form-section,
.table-wrap,
.table-card,
.integration-item,
.choice-card,
.connector-card,
.status-card,
.stat-card,
.kpi-card,
.overview-card,
.detail-card,
.form-card,
.data-card,
.kpi-box {
  background: var(--dan-ref-surface);
  border: 1px solid var(--dan-ref-border);
  border-radius: var(--dan-ref-radius);
  box-shadow: var(--dan-ref-shadow);
}

.stat-card,
.kpi-card,
.kpi-box,
.metric {
  border-top: 3px solid var(--dan-ref-primary);
  border-left-width: 0;
}

.section-header,
.section-head,
.table-header,
.panel-head,
.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.topbar {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--dan-ref-border);
  border-radius: var(--dan-ref-radius);
  padding: 14px 18px;
  margin-bottom: 18px;
  box-shadow: var(--dan-ref-shadow);
}

.btn,
.btn-back,
.btn-accueil {
  border-radius: 10px;
  font-weight: 600;
}

.btn-primary,
.btn-indigo,
.btn-accent,
.btn-success,
.choice-nouvelle {
  background: linear-gradient(135deg, var(--dan-ref-primary) 0%, #0f8a62 100%);
  color: #fff;
}

.btn-outline,
.btn-ghost,
.btn-secondary,
.btn-back,
.btn-accueil,
.choice-stopper {
  background: #fff;
  color: var(--dan-ref-primary-dark);
  border: 1px solid var(--dan-ref-border);
}

.btn-warning,
.badge-warning,
.badge-orange,
.badge-accent {
  background: #fff3cd;
  color: #8a5a00;
}

.btn-danger,
.badge-danger,
.badge-red,
.badge-blocked {
  background: #fce8e6;
  color: #b42318;
}

.btn:hover,
.btn-back:hover,
.btn-accueil:hover,
.integration-item:hover,
.choice-card:hover,
.connector-card:hover,
.task-item:hover,
.appointment-item:hover,
.card:hover {
  transform: translateY(-1px);
}

.filters,
.filter-bar,
.search-row,
.search-bar,
.filters input,
.filters select,
.filter-bar input,
.filter-bar select,
.search-input,
.form-group input,
.form-group select,
.form-group textarea,
.mapping-table input,
.mapping-table select {
  border-color: var(--dan-ref-border);
}

.filters,
.filter-bar,
.search-row {
  background: transparent;
  padding: 0;
}

table,
.tbl,
.std-table {
  width: 100%;
  border-collapse: collapse;
}

th,
.tbl th,
.std-table thead th {
  background: #eef6f2;
  color: var(--dan-ref-primary-dark);
  border-bottom: 1px solid var(--dan-ref-border);
}

td,
.tbl td,
.std-table tbody td {
  border-bottom: 1px solid #e7efeb;
}

tr:hover td,
.tbl tr:hover td,
.std-table tbody tr:hover td {
  background: #f7fbf9;
}

.badge,
.badge-pill,
.status-pill,
.tag,
.module-chip {
  border-radius: 999px;
}

.modal,
.modal-content,
.modal-box,
.overlay .modal {
  border: 1px solid var(--dan-ref-border);
  border-radius: 18px;
  box-shadow: 0 20px 56px rgba(15, 23, 42, 0.22);
}

.overlay,
.modal,
.modal-bg,
.modal-overlay {
  backdrop-filter: blur(2px);
}

.dashboard-grid,
.stats-grid,
.grid-kpi,
.cards-grid,
.kpi-grid,
.kpi-grid-4 {
  gap: 16px;
}

@media (max-width: 980px) {
  .main,
  .page,
  .container,
  .content {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 720px) {
  .tabs-bar,
  .tabs,
  .nav,
  .tab-buttons {
    padding-left: 10px;
    padding-right: 10px;
  }

  .header,
  .hdr {
    padding-left: 16px;
    padding-right: 16px;
  }
}

body.conformite-unified-ui {
  background: #f8f9fa !important;
  color: #333 !important;
}

body.conformite-unified-ui .app-header,
body.conformite-unified-ui .hdr,
body.conformite-unified-ui .header {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%) !important;
  color: #fff !important;
  padding: 1rem 2rem !important;
  min-height: 0 !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
}

body.conformite-unified-ui .app-header-left h1,
body.conformite-unified-ui .header h1,
body.conformite-unified-ui .page-title,
body.conformite-unified-ui .topbar-title,
body.conformite-unified-ui .dashboard-heading h2 {
  color: #fff !important;
  font-size: 1.8rem !important;
  margin: 0 0 0.5rem !important;
  font-weight: 700 !important;
}

body.conformite-unified-ui .subtitle,
body.conformite-unified-ui .page-sub,
body.conformite-unified-ui .header p,
body.conformite-unified-ui .app-header .subtitle {
  color: rgba(255, 255, 255, 0.9) !important;
  opacity: 1 !important;
  margin: 0 !important;
  font-size: 0.95rem !important;
}

body.conformite-unified-ui .app-header-right,
body.conformite-unified-ui .hdr-right {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-wrap: nowrap !important;
}

body.conformite-unified-ui .btn-accueil,
body.conformite-unified-ui .btn-back {
  display: inline-block !important;
  background: #3498db !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 0.75rem 1.5rem !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

body.conformite-unified-ui .tabs-bar,
body.conformite-unified-ui .tabs,
body.conformite-unified-ui .nav,
body.conformite-unified-ui .tab-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  background: #fff !important;
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: 1400px !important;
  border: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  overflow: auto !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07) !important;
}

body.conformite-unified-ui .tabs-bar .tab-btn,
body.conformite-unified-ui .tabs .tab,
body.conformite-unified-ui .nav a,
body.conformite-unified-ui .tab-buttons .tab-btn {
  flex: 1 1 140px !important;
  min-width: 140px !important;
  padding: 1rem !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #333 !important;
  text-align: center !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

body.conformite-unified-ui .tabs-bar .tab-btn.active,
body.conformite-unified-ui .tabs .tab.active,
body.conformite-unified-ui .nav a.active,
body.conformite-unified-ui .tab-buttons .tab-btn.active {
  background: #f8f9fa !important;
  border-bottom-color: #3498db !important;
  color: #3498db !important;
  font-weight: 600 !important;
}

body.conformite-unified-ui .main,
body.conformite-unified-ui .content,
body.conformite-unified-ui .container,
body.conformite-unified-ui .page {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 2rem !important;
}

body.conformite-unified-ui .topbar {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 1.5rem !important;
}

body.conformite-unified-ui .tab-content,
body.conformite-unified-ui .tab-panel,
body.conformite-unified-ui .page.active,
body.conformite-unified-ui .tab-content.active,
body.conformite-unified-ui .tab-panel.active {
  background: #fff !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07) !important;
  padding: 2rem !important;
}

body.conformite-unified-ui .dashboard-grid,
body.conformite-unified-ui .stats-grid,
body.conformite-unified-ui .cards-grid,
body.conformite-unified-ui .kpi-grid,
body.conformite-unified-ui .grid-kpi,
body.conformite-unified-ui .hero-strip,
body.conformite-unified-ui .two-col,
body.conformite-unified-ui .three-col,
body.conformite-unified-ui .four-col {
  gap: 1.5rem !important;
}

body.conformite-unified-ui .dashboard-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
}

body.conformite-unified-ui .kpi-grid,
body.conformite-unified-ui .stats-grid,
body.conformite-unified-ui .grid-kpi {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
}

body.conformite-unified-ui .card,
body.conformite-unified-ui .section,
body.conformite-unified-ui .panel,
body.conformite-unified-ui .detail-section,
body.conformite-unified-ui .form-section,
body.conformite-unified-ui .hero-card,
body.conformite-unified-ui .quick-actions,
body.conformite-unified-ui .integration-item,
body.conformite-unified-ui .choice-card,
body.conformite-unified-ui .connector-card,
body.conformite-unified-ui .status-card,
body.conformite-unified-ui .table-wrap,
body.conformite-unified-ui .overview-card,
body.conformite-unified-ui .detail-card,
body.conformite-unified-ui .form-card,
body.conformite-unified-ui .data-card,
body.conformite-unified-ui .stat-card,
body.conformite-unified-ui .kpi-card,
body.conformite-unified-ui .kpi-box,
body.conformite-unified-ui .metric,
body.conformite-unified-ui .monitor-card,
body.conformite-unified-ui .plan-card,
body.conformite-unified-ui .ticket-card {
  background: #fff !important;
  border: 0 !important;
  border-left: 0 !important;
  border-top: 0 !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07) !important;
}

body.conformite-unified-ui .kpi-card,
body.conformite-unified-ui .kpi-box,
body.conformite-unified-ui .stat-card,
body.conformite-unified-ui .metric {
  background: #f8f9fa !important;
  text-align: center !important;
}

body.conformite-unified-ui .card-title,
body.conformite-unified-ui .section-title,
body.conformite-unified-ui h2,
body.conformite-unified-ui h3,
body.conformite-unified-ui h4,
body.conformite-unified-ui .table-header h3 {
  color: #2c3e50 !important;
}

body.conformite-unified-ui .stat-value,
body.conformite-unified-ui .kpi-value,
body.conformite-unified-ui .kpi-val,
body.conformite-unified-ui .monitor-value {
  color: #3498db !important;
  font-weight: 700 !important;
}

body.conformite-unified-ui .stat-label,
body.conformite-unified-ui .kpi-label,
body.conformite-unified-ui .kpi-lbl,
body.conformite-unified-ui .monitor-label,
body.conformite-unified-ui .monitor-sub,
body.conformite-unified-ui .panel-copy,
body.conformite-unified-ui p,
body.conformite-unified-ui .empty,
body.conformite-unified-ui .empty-state,
body.conformite-unified-ui .table-empty {
  color: #7f8c8d !important;
}

body.conformite-unified-ui .btn,
body.conformite-unified-ui button,
body.conformite-unified-ui input[type="button"],
body.conformite-unified-ui input[type="submit"] {
  border-radius: 8px !important;
}

body.conformite-unified-ui .btn-primary,
body.conformite-unified-ui .btn-success,
body.conformite-unified-ui .btn-indigo,
body.conformite-unified-ui .btn-accent,
body.conformite-unified-ui .btn-info,
body.conformite-unified-ui .choice-nouvelle,
body.conformite-unified-ui .btn:not(.btn-danger):not(.btn-warning):not(.btn-outline):not(.btn-ghost):not(.btn-secondary):not(.btn-back):not(.btn-accueil) {
  background: #3498db !important;
  color: #fff !important;
  border: 0 !important;
}

body.conformite-unified-ui .btn-danger,
body.conformite-unified-ui .btn-annuler {
  background: #e74c3c !important;
  color: #fff !important;
  border: 0 !important;
}

body.conformite-unified-ui .btn-warning,
body.conformite-unified-ui .btn-reporter {
  background: #f39c12 !important;
  color: #fff !important;
  border: 0 !important;
}

body.conformite-unified-ui .btn-outline,
body.conformite-unified-ui .btn-ghost,
body.conformite-unified-ui .btn-secondary {
  background: #3498db !important;
  color: #fff !important;
  border: 0 !important;
}

body.conformite-unified-ui table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 1rem !important;
}

body.conformite-unified-ui th,
body.conformite-unified-ui td {
  padding: 10px !important;
  text-align: left !important;
  border-bottom: 1px solid #ddd !important;
}

body.conformite-unified-ui th {
  background: #f8f9fa !important;
  font-weight: 600 !important;
  color: #333 !important;
}

body.conformite-unified-ui input,
body.conformite-unified-ui textarea,
body.conformite-unified-ui select,
body.conformite-unified-ui .search-input,
body.conformite-unified-ui .search-bar,
body.conformite-unified-ui .form-input {
  width: 100% !important;
  padding: 10px !important;
  margin: 5px 0 !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #333 !important;
}

body.conformite-unified-ui .sub-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  margin-bottom: 1.5rem !important;
}

body.conformite-unified-ui .sub-tab {
  padding: 0.5rem 1rem !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  background: #f8f9fa !important;
  color: #333 !important;
}

body.conformite-unified-ui .sub-tab.active {
  background: #3498db !important;
  color: #fff !important;
}

body.conformite-unified-ui .modal,
body.conformite-unified-ui .modal-overlay,
body.conformite-unified-ui .overlay,
body.conformite-unified-ui .modal-bg {
  background: rgba(0, 0, 0, 0.6) !important;
}

body.conformite-unified-ui .modal-content,
body.conformite-unified-ui .modal-box,
body.conformite-unified-ui .overlay .modal,
body.conformite-unified-ui .modal-bg > .modal {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
}

body.conformite-unified-ui.dan-premium-shell .tabs-bar {
  gap: 4px !important;
  padding: 16px 14px 14px !important;
  background: #ffffff !important;
  border-right: 1px solid #dde4ea !important;
  box-shadow: 10px 0 24px rgba(0, 0, 0, 0.06) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  flex-wrap: nowrap !important;
  flex-direction: column !important;
  align-items: stretch !important;
  max-height: none !important;
  /* lock to left side under header */
  position: fixed !important;
  top: var(--bridge-header-h) !important;
  left: 0 !important;
  width: var(--bridge-sidebar-w) !important;
  bottom: 0 !important;
  z-index: 900 !important;
}

body.conformite-unified-ui.dan-premium-shell .dan-sidebar-brand {
  padding: 4px 8px 14px !important;
  margin-bottom: 10px !important;
  border-bottom: 1px solid #e8edf2 !important;
  flex-shrink: 0 !important;
}

body.conformite-unified-ui.dan-premium-shell .tab-btn {
  flex: none !important;
  min-width: 0 !important;
  min-height: 40px !important;
  padding: 10px 16px !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: #5f6f82 !important;
  text-align: left !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  white-space: nowrap !important;

  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  box-shadow: none !important;
  white-space: normal !important;
  word-break: break-word !important;
  flex-shrink: 0 !important;
}

body.conformite-unified-ui.dan-premium-shell .tab-btn:hover {
  background: #f8f9fa !important;
  color: #2c3e50 !important;
  border-color: #e1e8ef !important;
  transform: none !important;
}

body.conformite-unified-ui.dan-premium-shell .tab-btn.active {
  background: #f8f9fa !important;
  color: #3498db !important;
  border-color: #dbe7f3 !important;
  box-shadow: inset 3px 0 0 #3498db !important;
}

body.conformite-unified-ui.dan-premium-shell .dan-sidebar-footer {
  padding: 12px 10px 8px !important;
  border-top: 1px solid #e8edf2 !important;
  margin-top: auto !important;
  flex-shrink: 0 !important;
}

body.conformite-unified-ui .dan-module-context-bar {
  display: flex !important;
  justify-content: flex-start !important;
  margin: 0 0 16px !important;
}

body.conformite-unified-ui .dan-module-context-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 12px 14px !important;
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07) !important;
}

body.conformite-unified-ui .dan-module-context-actions .btn,
body.conformite-unified-ui .dan-module-context-actions .btn-outline,
body.conformite-unified-ui .dan-module-context-actions .btn-primary,
body.conformite-unified-ui .dan-module-context-actions .btn-accueil,
body.conformite-unified-ui .dan-module-context-actions .btn-back,
body.conformite-unified-ui .dan-module-context-actions .platform-badge,
body.conformite-unified-ui .dan-module-context-actions .solde-badge,
body.conformite-unified-ui .dan-module-context-actions .pos-pill,
body.conformite-unified-ui .dan-module-context-actions .notif-bell-wrap {
  margin: 0 !important;
  min-height: 38px !important;
}

body.conformite-unified-ui .dan-module-context-actions .platform-badge,
body.conformite-unified-ui .dan-module-context-actions .solde-badge,
body.conformite-unified-ui .dan-module-context-actions .pos-pill {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  background: #f8f9fa !important;
  color: #2c3e50 !important;
  border: 1px solid #dde4ea !important;
  font-size: 0.86rem !important;
  line-height: 1.2 !important;
}

body.conformite-unified-ui.dan-premium-shell {
  --bridge-header-h: 60px;
  --bridge-sidebar-w: 240px;
  --dan-header-h: 60px;
  --dan-sidebar-w: 240px;
  overflow: hidden !important;
}

body.conformite-unified-ui.dan-premium-shell .app-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: var(--bridge-header-h) !important;
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
  border-bottom: 0 !important;
  backdrop-filter: none !important;
  z-index: 1000 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  flex-wrap: nowrap !important;
}

body.conformite-unified-ui.dan-premium-shell .app-header::after {
  display: none !important;
}

body.conformite-unified-ui.dan-premium-shell .app-header-left h1 {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

body.conformite-unified-ui.dan-premium-shell .btn-accueil,
body.conformite-unified-ui.dan-premium-shell .btn-signaler-probleme,
body.conformite-unified-ui.dan-premium-shell .dan-header-icon,
body.conformite-unified-ui.dan-premium-shell .dan-user-chip {
  border-radius: 8px !important;
  height: 38px !important;
  font-size: 0.84rem !important;
  box-shadow: none !important;
}

body.conformite-unified-ui.dan-premium-shell .btn-accueil {
  background: #3498db !important;
  border: 0 !important;
}

body.conformite-unified-ui.dan-premium-shell .btn-signaler-probleme,
body.conformite-unified-ui.dan-premium-shell .dan-header-icon,
body.conformite-unified-ui.dan-premium-shell .dan-user-chip {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

body.conformite-unified-ui.dan-premium-shell > .main,
body.conformite-unified-ui.dan-premium-shell > .content,
body.conformite-unified-ui.dan-premium-shell > .container,
body.conformite-unified-ui.dan-premium-shell > .main-content,
body.conformite-unified-ui.dan-premium-shell > .page-body,
body.conformite-unified-ui.dan-premium-shell > .page,
body.conformite-unified-ui.dan-premium-shell > .module-container,
body.conformite-unified-ui.dan-premium-shell > .tab-content {
  background: #f8f9fa !important;
  /* explicitly lock to right of sidebar under header */
  position: absolute !important;
  top: var(--bridge-header-h) !important;
  left: var(--bridge-sidebar-w) !important;
  right: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  height: calc(100vh - var(--bridge-header-h)) !important;
  overflow-y: auto !important;
  overflow-x: auto !important; /* Allow horizontal scrolling for Kanban boards and tables */
  margin: 0 !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  z-index: 1 !important; /* Ensure content stays behind header/sidebar but above body */
}

body.conformite-unified-ui .dan-module-context-actions .notif-dropdown {
  right: 0 !important;
  left: auto !important;
}

@media (max-width: 768px) {
  body.conformite-unified-ui .main,
  body.conformite-unified-ui .content,
  body.conformite-unified-ui .container,
  body.conformite-unified-ui .page {
    padding: 1rem !important;
  }

  body.conformite-unified-ui .tabs-bar .tab-btn,
  body.conformite-unified-ui .tabs .tab,
  body.conformite-unified-ui .nav a,
  body.conformite-unified-ui .tab-buttons .tab-btn {
    min-width: 100% !important;
  }

  body.conformite-unified-ui .dan-module-context-bar,
  body.conformite-unified-ui .dan-module-context-actions {
    justify-content: flex-start !important;
  }
}
body.conformite-unified-ui.dan-premium-shell .modal-overlay { z-index: 2000 !important; }
body.conformite-unified-ui.dan-premium-shell .modal { z-index: 2001 !important; }

