/* Thème intranet — bouton bascule (clair + sombre) et surcharges mode sombre */

.toreg-theme-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  color:#0b2a4a;
  padding:8px 14px;
  border-radius:10px;
  cursor:pointer;
  font:inherit;
  font-weight:600;
  font-size:13px;
  line-height:1;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}

.toreg-theme-toggle:hover{
  background:rgba(0,0,0,.05);
}

.toreg-theme-toggle:focus-visible{
  outline:2px solid rgba(31,78,121,.45);
  outline-offset:2px;
}

.toreg-theme-toggle--header{
  background:linear-gradient(135deg,#3d84bc 0%,#1f4e79 52%,#0b2a4a 100%);
  border:1px solid #0b2a4a;
  color:#fff;
  font-weight:700;
  box-shadow:0 3px 12px rgba(11,42,74,.32);
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease;
}

.toreg-theme-toggle--header:hover{
  background:linear-gradient(135deg,#4d97cf 0%,#2a6496 52%,#1f4e79 100%);
  border-color:#1f4e79;
  box-shadow:0 5px 16px rgba(11,42,74,.38);
  transform:translateY(-1px);
}

[data-theme="dark"] .toreg-theme-toggle--header{
  background:linear-gradient(135deg,#fcd34d 0%,#f59e0b 52%,#d97706 100%);
  border-color:#b45309;
  color:#1a1205;
  box-shadow:0 3px 12px rgba(245,158,11,.38);
}

[data-theme="dark"] .toreg-theme-toggle--header:hover{
  background:linear-gradient(135deg,#fde68a 0%,#fbbf24 52%,#f59e0b 100%);
  border-color:#d97706;
  box-shadow:0 5px 16px rgba(245,158,11,.45);
}

.toreg-theme-toggle-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  flex:0 0 18px;
}

.toreg-theme-toggle-icon svg{
  display:block;
}

.toreg-theme-toggle-icon-sun{
  display:none;
}

[data-theme="dark"] .toreg-theme-toggle .toreg-theme-toggle-icon--moon > svg:first-child{
  display:none;
}

[data-theme="dark"] .toreg-theme-toggle .toreg-theme-toggle-icon-sun{
  display:block;
}

.toreg-theme-toggle--compact .toreg-theme-toggle-label{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.toreg-theme-toggle--floating{
  position:fixed;
  top:16px;
  right:16px;
  z-index:4000;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}

.intra-toolbar .intra-menu-wrap,
.intra-toolbar .intra-public-wrap{
  margin-top:0;
}

/* ── Variables mode sombre ── */
[data-theme="dark"]{
  color-scheme:dark;
  --toreg-bg-page:#0f1419;
  --toreg-bg-surface:#1a2332;
  --toreg-bg-elevated:#222d3d;
  --toreg-bg-muted:#1e2836;
  --toreg-bg-accent:#243044;
  --toreg-bg-input:#161e2a;
  --toreg-border:#334155;
  --toreg-border-subtle:rgba(255,255,255,.08);
  --toreg-text:#e2e8f0;
  --toreg-text-muted:#94a3b8;
  --toreg-text-heading:#f1f5f9;
  --toreg-link:#7eb8e8;
  --toreg-link-hover:#a8d4f5;
  --toreg-header-bg:rgba(15,20,28,.96);
  --toreg-shadow:0 4px 16px rgba(0,0,0,.35);
  --intra-table-header-gradient:linear-gradient(135deg,#1a3352 0%,#2a4a6b 100%);
}

[data-theme="dark"] body{
  background:var(--toreg-bg-page);
  color:var(--toreg-text);
}

/* Header intranet / client */
[data-theme="dark"] .intra-header,
[data-theme="dark"] .client-header{
  background:var(--toreg-header-bg);
  border-bottom-color:var(--toreg-border-subtle);
  box-shadow:var(--toreg-shadow);
}

[data-theme="dark"] .intra-title,
[data-theme="dark"] .client-title,
[data-theme="dark"] .intra-user-name,
[data-theme="dark"] .client-user-name{
  color:var(--toreg-text-heading);
}

[data-theme="dark"] .intra-title{
  border-color:rgba(126,184,232,.2);
  background:linear-gradient(135deg,rgba(34,45,61,.98),rgba(24,36,50,.96));
  box-shadow:0 10px 26px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.05);
}

[data-theme="dark"] .intra-title-prefix{
  color:#f1f5f9;
}

[data-theme="dark"] .intra-title-brand{
  background:linear-gradient(105deg,#8ac7f2 8%,#5eb6dc 46%,#63d98e 92%);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

[data-theme="dark"] .intra-subtitle,
[data-theme="dark"] .client-subtitle,
[data-theme="dark"] .intra-user-role,
[data-theme="dark"] .client-user-role,
[data-theme="dark"] .client-user-client{
  color:var(--toreg-text-muted);
}

[data-theme="dark"] .client-lang-row,
[data-theme="dark"] .client-lang-switch a.client-lang-link{
  color:#e2e8f0 !important;
  opacity:1 !important;
}

[data-theme="dark"] .client-lang-switch a.client-lang-link.is-active,
[data-theme="dark"] .client-lang-switch a.client-lang-link:hover{
  color:#ffffff !important;
}

[data-theme="dark"] .client-lang-sep{
  color:#94a3b8 !important;
}
[data-theme="dark"] .client-user-badge{
  background:var(--toreg-bg-accent);
  border-color:var(--toreg-border);
  color:var(--toreg-text);
}

[data-theme="dark"] .intra-menu-btn,
[data-theme="dark"] .intra-public-btn,
[data-theme="dark"] .client-action-link,
[data-theme="dark"] .toreg-theme-toggle:not(.toreg-theme-toggle--header){
  background:var(--toreg-bg-elevated);
  border-color:var(--toreg-border);
  color:var(--toreg-text);
}

[data-theme="dark"] .intra-menu-btn:hover,
[data-theme="dark"] .intra-public-btn:hover,
[data-theme="dark"] .client-action-link:hover,
[data-theme="dark"] .toreg-theme-toggle:not(.toreg-theme-toggle--header):hover{
  background:var(--toreg-bg-accent);
}

[data-theme="dark"] .intra-dropdown,
[data-theme="dark"] .intra-submenu{
  background:var(--toreg-bg-elevated);
  border-color:var(--toreg-border);
  box-shadow:0 10px 30px rgba(0,0,0,.45);
}

[data-theme="dark"] .intra-link{
  color:var(--toreg-text);
}

[data-theme="dark"] .intra-link:hover,
[data-theme="dark"] .intra-link.is-active{
  color:var(--toreg-link-hover);
  background:rgba(126,184,232,.12);
}

[data-theme="dark"] .intra-menu-group-label{
  color:var(--toreg-text-muted);
}

[data-theme="dark"] .intra-sep{
  background:var(--toreg-border-subtle);
}

[data-theme="dark"] .intra-tag{
  color:#fbbf24;
  background:rgba(251,191,36,.15);
  border-color:rgba(251,191,36,.3);
}

/* Composants métiers */
[data-theme="dark"] .metier-card,
[data-theme="dark"] .metier-kpi-card,
[data-theme="dark"] .metier-row,
[data-theme="dark"] .metier-empty,
[data-theme="dark"] .management-validation-card.is-standard{
  background:var(--toreg-bg-surface);
  border-color:var(--toreg-border);
  box-shadow:var(--toreg-shadow);
}

[data-theme="dark"] .metier-item,
[data-theme="dark"] .metier-panel,
[data-theme="dark"] .metier-notice{
  background:var(--toreg-bg-muted);
  border-color:var(--toreg-border);
}

[data-theme="dark"] .metier-title,
[data-theme="dark"] .metier-item h3,
[data-theme="dark"] .metier-panel h3,
[data-theme="dark"] .metier-row-title,
[data-theme="dark"] .metier-kpi-value,
[data-theme="dark"] .metier-notice,
[data-theme="dark"] .metier-validation-title,
[data-theme="dark"] .validation-ok-standard,
[data-theme="dark"] .management-validation-card.is-standard .management-validation-card-title{
  color:var(--toreg-text-heading);
}

[data-theme="dark"] .metier-breadcrumb,
[data-theme="dark"] .metier-subtitle,
[data-theme="dark"] .metier-item p,
[data-theme="dark"] .metier-row-subtitle,
[data-theme="dark"] .metier-row-meta,
[data-theme="dark"] .metier-kpi-label,
[data-theme="dark"] .metier-kpi-help,
[data-theme="dark"] .metier-empty,
[data-theme="dark"] .management-validation-subtitle{
  color:var(--toreg-text-muted);
}

[data-theme="dark"] .metier-breadcrumb a{
  color:var(--toreg-link);
}

[data-theme="dark"] .metier-status{
  color:var(--toreg-link-hover);
}

[data-theme="dark"] .management-validation-card.is-alert{
  background:rgba(127,29,29,.25);
  border-color:rgba(248,113,113,.35);
}

[data-theme="dark"] .management-validation-card.is-standard .management-validation-card-value{
  background:var(--toreg-bg-accent);
  border-color:var(--toreg-border);
  color:var(--toreg-link-hover);
}

/* Hub commercial */
[data-theme="dark"] .commercial-hub-alert{
  background:rgba(180,130,20,.18);
  border-color:rgba(232,217,160,.35);
  color:#fde68a;
}

[data-theme="dark"] .commercial-hub-accent-block,
[data-theme="dark"] .commercial-hub-kpi-section{
  background:linear-gradient(180deg,var(--toreg-bg-muted) 0%,var(--toreg-bg-accent) 100%);
  border-color:var(--toreg-border);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

[data-theme="dark"] .commercial-hub-kpi,
[data-theme="dark"] .commercial-hub-tile,
[data-theme="dark"] .commercial-hub-panel,
[data-theme="dark"] .intranet-hub-panel,
[data-theme="dark"] .admin-hub-panel,
[data-theme="dark"] .management-hub-panel,
[data-theme="dark"] .achats-hub-panel,
[data-theme="dark"] .smi-hub-panel{
  background:var(--toreg-bg-surface);
  border-color:var(--toreg-border);
  box-shadow:var(--toreg-shadow);
}

[data-theme="dark"] .commercial-hub-section-head h2,
[data-theme="dark"] .commercial-hub-accent-block .commercial-hub-section-head h2,
[data-theme="dark"] .commercial-hub-kpi-section .commercial-hub-section-head h2{
  color:var(--toreg-text-muted);
}

[data-theme="dark"] .commercial-hub-kpi-value,
[data-theme="dark"] .commercial-hub-tile h3,
[data-theme="dark"] .commercial-hub-panel h3{
  color:var(--toreg-text-heading);
}

/* TDB moderne */
[data-theme="dark"] .tdb-modern-highlight{
  background:var(--toreg-bg-surface);
  border-color:var(--toreg-border);
  box-shadow:var(--toreg-shadow);
}

[data-theme="dark"] .tdb-modern-highlight-label,
[data-theme="dark"] .tdb-modern-highlight-value{
  color:var(--toreg-text-heading);
}

[data-theme="dark"] .tdb-modern-highlight-sub{
  color:var(--toreg-text-muted);
}

/* Tableaux */
[data-theme="dark"] .intranet-table,
[data-theme="dark"] .history-table,
[data-theme="dark"] .trait-table,
[data-theme="dark"] .validation-table,
[data-theme="dark"] .param-table,
[data-theme="dark"] .stock-table,
[data-theme="dark"] .users-table,
[data-theme="dark"] .clients-table,
[data-theme="dark"] .fournisseurs-table,
[data-theme="dark"] .workflow-table,
[data-theme="dark"] .tdb-table,
[data-theme="dark"] .tdb-modern-table,
[data-theme="dark"] .da-table,
[data-theme="dark"] .po-so-table,
[data-theme="dark"] .devis-table,
[data-theme="dark"] .reglement-table{
  background:var(--toreg-bg-surface);
  border-color:var(--toreg-border);
}

[data-theme="dark"] .intranet-table td,
[data-theme="dark"] .history-table td,
[data-theme="dark"] .trait-table td,
[data-theme="dark"] .validation-table td,
[data-theme="dark"] .param-table td,
[data-theme="dark"] .stock-table td,
[data-theme="dark"] .users-table td,
[data-theme="dark"] .clients-table td,
[data-theme="dark"] .fournisseurs-table td,
[data-theme="dark"] .workflow-table td,
[data-theme="dark"] .tdb-table td,
[data-theme="dark"] .tdb-modern-table td,
[data-theme="dark"] .da-table td,
[data-theme="dark"] .po-so-table td,
[data-theme="dark"] .devis-table td,
[data-theme="dark"] .reglement-table td{
  background:var(--toreg-bg-surface);
  border-color:var(--toreg-border);
  color:var(--toreg-text);
}

[data-theme="dark"] .intranet-table tbody tr:nth-child(even) td,
[data-theme="dark"] .history-table tbody tr:nth-child(even) td,
[data-theme="dark"] .users-table tbody tr:nth-child(even) td,
[data-theme="dark"] .clients-table tbody tr:nth-child(even) td,
[data-theme="dark"] .fournisseurs-table tbody tr:nth-child(even) td{
  background:var(--toreg-bg-muted);
}

[data-theme="dark"] .intranet-table tbody tr:hover td,
[data-theme="dark"] .history-table tbody tr:hover td,
[data-theme="dark"] .users-table tbody tr:hover td{
  background:var(--toreg-bg-accent);
}

/* Formulaires */
[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
[data-theme="dark"] select,
[data-theme="dark"] textarea{
  background:var(--toreg-bg-input);
  border-color:var(--toreg-border);
  color:var(--toreg-text);
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder{
  color:var(--toreg-text-muted);
}

[data-theme="dark"] .ca-filter-label,
[data-theme="dark"] .ca-filter-toolbar select,
[data-theme="dark"] .ca-filter-field select{
  color:var(--toreg-text);
  background:var(--toreg-bg-input);
  border-color:var(--toreg-border);
}

[data-theme="dark"] label{
  color:var(--toreg-text);
}

/* Modales */
[data-theme="dark"] .toreg-broadcast-dialog,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .client-modal-content,
[data-theme="dark"] .activity-modal-content{
  background:var(--toreg-bg-elevated);
  border-color:var(--toreg-border);
  color:var(--toreg-text);
}

[data-theme="dark"] .toreg-broadcast-header:not(.toreg-modal-header-hub),
[data-theme="dark"] .toreg-broadcast-footer,
[data-theme="dark"] .modal-header:not(.toreg-modal-header-hub),
[data-theme="dark"] .modal-footer{
  background:var(--toreg-bg-muted);
  border-color:var(--toreg-border);
}

[data-theme="dark"] .toreg-broadcast-body h2,
[data-theme="dark"] .modal-title:not(.toreg-modal-header-hub .modal-title){
  color:var(--toreg-text-heading);
}

[data-theme="dark"] .toreg-broadcast-meta,
[data-theme="dark"] .toreg-broadcast-content{
  color:var(--toreg-text-muted);
}

[data-theme="dark"] .toreg-broadcast-close{
  color:var(--toreg-text-muted);
}

[data-theme="dark"] .toreg-broadcast-close:hover{
  color:var(--toreg-text-heading);
}

/* Page login portail */
[data-theme="dark"] body.portal-login-page{
  background:#0a1018;
  color:var(--toreg-text);
}

[data-theme="dark"] .portal-login-page .login-container{
  background:var(--toreg-bg-surface);
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}

[data-theme="dark"] .portal-login-page .login-form-wrapper{
  background:var(--toreg-bg-surface);
}

[data-theme="dark"] .portal-login-page .form-header h1,
[data-theme="dark"] .portal-login-page .form-header p,
[data-theme="dark"] .portal-login-page .form-group label{
  color:var(--toreg-text-heading);
}

[data-theme="dark"] .portal-login-page .form-group input{
  background:var(--toreg-bg-input);
  border-color:var(--toreg-border);
  color:var(--toreg-text);
}

[data-theme="dark"] .portal-login-page .form-footer,
[data-theme="dark"] .portal-login-page .form-back a{
  color:var(--toreg-text-muted);
}

[data-theme="dark"] .portal-login-page .login-alert{
  background:rgba(127,29,29,.3);
  border-color:rgba(248,113,113,.4);
  color:#fecaca;
}

/* Surcharges génériques (pages avec styles inline) */
[data-theme="dark"] .page-wrapper,
[data-theme="dark"] main.container{
  color:var(--toreg-text);
}

[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4{
  color:var(--toreg-text-heading);
}

[data-theme="dark"] a:not(.intra-link):not(.metier-btn):not([class*="btn"]){
  color:var(--toreg-link);
}

[data-theme="dark"] a:not(.intra-link):not(.metier-btn):not([class*="btn"]):hover{
  color:var(--toreg-link-hover);
}

[data-theme="dark"] .card,
[data-theme="dark"] .panel,
[data-theme="dark"] .box,
[data-theme="dark"] .section-card,
[data-theme="dark"] .param-card,
[data-theme="dark"] .workflow-card,
[data-theme="dark"] .journal-card{
  background:var(--toreg-bg-surface);
  border-color:var(--toreg-border);
  color:var(--toreg-text);
}

[data-theme="dark"] hr{
  border-color:var(--toreg-border);
}

[data-theme="dark"] pre,
[data-theme="dark"] code{
  background:var(--toreg-bg-muted);
  color:var(--toreg-text);
  border-color:var(--toreg-border);
}

/* Boutons toolbar commercial en mode sombre */
[data-theme="dark"] body .page-wrapper a.metier-btn.ca-toolbar-action-btn,
[data-theme="dark"] body .page-wrapper a.metier-btn.ca-toolbar-action-btn:link,
[data-theme="dark"] body .page-wrapper a.metier-btn.ca-toolbar-action-btn:visited{
  background:var(--toreg-bg-accent) !important;
  background-color:var(--toreg-bg-accent) !important;
  border-color:var(--toreg-border) !important;
  color:var(--toreg-text-heading) !important;
}

[data-theme="dark"] body .page-wrapper a.metier-btn.ca-toolbar-action-btn:hover{
  background:#2d3f56 !important;
  background-color:#2d3f56 !important;
  color:var(--toreg-text-heading) !important;
}

/* Espace client */
[data-theme="dark"] .client-hub-subtitle,
[data-theme="dark"] .client-hub-pagination-info,
[data-theme="dark"] .client-hub-empty{
  color:var(--toreg-text-muted);
}

[data-theme="dark"] .client-hub-filters,
[data-theme="dark"] .client-hub-pagination-wrap,
[data-theme="dark"] .client-summary-box,
[data-theme="dark"] .cm-line,
[data-theme="dark"] .cm-card{
  background:var(--toreg-bg-muted);
  border-color:var(--toreg-border);
}

[data-theme="dark"] .client-hub-table-wrap,
[data-theme="dark"] .client-history-table,
[data-theme="dark"] .cm-block,
[data-theme="dark"] .cm-photo-card{
  background:var(--toreg-bg-surface);
  border-color:var(--toreg-border);
}

[data-theme="dark"] .client-history-table td,
[data-theme="dark"] .client-history-table th{
  border-color:var(--toreg-border);
  color:var(--toreg-text);
}

[data-theme="dark"] .client-history-table tbody tr:nth-child(odd) td{
  background:var(--toreg-bg-surface);
}

[data-theme="dark"] .client-history-table tbody tr:nth-child(even) td{
  background:var(--toreg-bg-muted);
}

[data-theme="dark"] .client-history-table tbody tr:hover td{
  background:var(--toreg-bg-accent);
}

[data-theme="dark"] .client-hub-filter-group label,
[data-theme="dark"] .cm-card strong{
  color:var(--toreg-text-muted);
}

[data-theme="dark"] .client-hub-filter-group select,
[data-theme="dark"] .client-hub-filter-group input[type="date"],
[data-theme="dark"] .client-hub-filter-group input[type="search"]{
  background:var(--toreg-bg-input);
  border-color:var(--toreg-border);
  color:var(--toreg-text);
}

[data-theme="dark"] .client-modal-dialog,
[data-theme="dark"] .client-welcome-modal{
  background:var(--toreg-bg-elevated);
  border-color:var(--toreg-border);
  color:var(--toreg-text);
}

[data-theme="dark"] .client-modal-header:not(.toreg-modal-header-hub),
[data-theme="dark"] .client-modal-loading,
[data-theme="dark"] .client-modal-error{
  background:var(--toreg-bg-muted);
  border-color:var(--toreg-border);
  color:var(--toreg-text-muted);
}

[data-theme="dark"] .client-modal-body{
  background:var(--toreg-bg-surface);
}

[data-theme="dark"] .client-modal-close{
  background:var(--toreg-bg-elevated);
  border-color:var(--toreg-border);
  color:var(--toreg-text);
}

[data-theme="dark"] .client-modal-error{
  background:rgba(127,29,29,.25);
  border-color:rgba(248,113,113,.35);
  color:#fecaca;
}

[data-theme="dark"] .client-welcome-title,
[data-theme="dark"] .client-summary-box strong,
[data-theme="dark"] .cm-block-title{
  color:var(--toreg-text-heading);
}

[data-theme="dark"] .client-welcome-subtitle,
[data-theme="dark"] .client-summary-box span{
  color:var(--toreg-text-muted);
}

[data-theme="dark"] .client-action-link.logout-link:hover{
  color:#fca5a5;
  border-color:rgba(248,113,113,.35);
  background:rgba(127,29,29,.25);
}

[data-theme="dark"] .client-hub-pagination-link,
[data-theme="dark"] .client-hub-pagination-go{
  background:var(--toreg-bg-accent);
  border-color:var(--toreg-border);
  color:var(--toreg-link-hover);
}

[data-theme="dark"] .client-reception-card,
[data-theme="dark"] .reception-detail-card,
[data-theme="dark"] .reception-info-box{
  background:var(--toreg-bg-surface);
  border-color:var(--toreg-border);
  color:var(--toreg-text);
}

[data-theme="dark"] .client-reception-highlight{
  background:var(--toreg-bg-muted);
  border-color:var(--toreg-border);
}

@media (max-width:768px){
  .toreg-theme-toggle--floating{
    top:12px;
    right:12px;
  }
}

@media print{
  [data-theme="dark"]{
    color-scheme:light;
  }

  [data-theme="dark"] body,
  [data-theme="dark"] .metier-card,
  [data-theme="dark"] .intranet-table td{
    background:#fff !important;
    color:#000 !important;
  }
}
