/* STRATEGIA WORKFORCE · SHARED DESIGN CORE V4.2 · BLUE/ANTHRACITE · STAGING · 2026-09-03
   Darstellungs-Core only: keine Session-, Summary-, WriteFlow- oder Fachlogik. */
:root{
  --wf4-bg:#06111c;
  --wf4-bg-2:#091724;
  --wf4-panel:#0d1c2a;
  --wf4-panel-2:#122435;
  --wf4-panel-3:#172c3f;
  --wf4-line:rgba(99,164,224,.24);
  --wf4-line-strong:rgba(99,171,238,.42);
  --wf4-blue:#5aa9ff;
  --wf4-blue-strong:#268aff;
  --wf4-blue-soft:#a9d4ff;
  --wf4-text:#f5f9fd;
  --wf4-muted:#98aec1;
  --wf4-success:#74dda6;
  --wf4-warn:#f2c66d;
  --wf4-danger:#ff8e9a;
  --wf4-violet:#b798ff;
  --wf4-shadow:0 20px 58px rgba(0,0,0,.3);
  --wf4-radius:18px;
  color-scheme:dark;
}
html,body{background:radial-gradient(circle at 10% 0,rgba(37,105,171,.2),transparent 32%),radial-gradient(circle at 95% 5%,rgba(79,141,207,.09),transparent 28%),var(--wf4-bg)!important;color:var(--wf4-text)!important}
body{min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body,button,input,select,textarea{font-family:Inter,"Segoe UI",Arial,sans-serif}
::selection{background:rgba(57,143,233,.38);color:#fff}
/* Core surfaces. Specific module layout dimensions remain untouched. */
.card,.panel,.topbar,.hero,.profileCard,.loadcard,.moduleHead,.toolbar,.side,.chat,.modal-card,.dialog,.sheet,.section,.stat,.statusBox,.employee-card,.item,.thread,.day,.content-card{
  border-color:var(--wf4-line)!important;
  box-shadow:var(--wf4-shadow);
}
.card,.panel,.profileCard,.loadcard,.statusBox,.employee-card,.item,.thread,.content-card{
  background:linear-gradient(145deg,rgba(16,34,50,.97),rgba(8,21,33,.98))!important;
}
.topbar,.moduleHead,.toolbar,.side,.chat{
  background:linear-gradient(145deg,rgba(18,38,56,.96),rgba(9,22,35,.97))!important;
  border-color:var(--wf4-line)!important;
}
h1,h2,h3,h4,strong,.title,.moduleTitle,.brandname,.brandcopy{color:var(--wf4-text)!important}
.muted,.meta,.sectionHint,.hint,.subtitle,.small,.mini,.ey,.eyebrow{color:var(--wf4-muted)!important}
a{color:var(--wf4-blue-soft)}
/* Inputs */
input,select,textarea{
  border-color:var(--wf4-line)!important;
  background:#081724!important;
  color:var(--wf4-text)!important;
  outline:none;
}
input:focus,select:focus,textarea:focus{border-color:var(--wf4-blue)!important;box-shadow:0 0 0 3px rgba(58,147,240,.12)!important}
/* Buttons – only common button classes; domain colors like danger/success stay semantic. */
.btn,.button,.toolbar-button,.secondaryAction,.secondary-button,.editBtn,.tab,.return,.ghost{
  border-color:var(--wf4-line)!important;
  background:linear-gradient(145deg,#172b3d,#102131)!important;
  color:var(--wf4-text)!important;
}
.btn:hover,.button:hover,.toolbar-button:hover,.secondaryAction:hover,.secondary-button:hover,.editBtn:hover,.tab:hover,.return:hover,.ghost:hover{border-color:var(--wf4-blue)!important;filter:brightness(1.06)}
.primary,.primary-button,.btn.primary,.button.primary,.tab.active{
  border-color:transparent!important;
  background:linear-gradient(135deg,var(--wf4-blue-strong),#6ebaff)!important;
  color:#04101b!important;
  box-shadow:0 8px 24px rgba(38,138,255,.2)!important;
}
.danger,.danger-button{border-color:rgba(255,142,154,.34)!important;background:rgba(132,43,54,.18)!important;color:#ffc1c7!important}
.good,.success,.ok{color:var(--wf4-success)!important}.warning,.warn{color:var(--wf4-warn)!important}.error,.failed,.bad{color:var(--wf4-danger)!important}
.badge,.pill,.status,.chip{border-color:var(--wf4-line)!important}
/* Tables and lists */
table{border-color:var(--wf4-line)!important}th{background:rgba(35,67,94,.55)!important;color:#c7daeb!important}td,th{border-color:rgba(92,146,194,.14)!important}tbody tr:hover{background:rgba(57,119,180,.07)}
/* Module headers and navigation */
.brandmark,.moduleMark,.heroIcon{border-color:rgba(84,166,244,.4)!important;background:linear-gradient(145deg,#123b61,#0a2138)!important;color:var(--wf4-blue-soft)!important}
.nav,.tabs,.app-navigation{border-color:var(--wf4-line)!important;background:rgba(8,22,34,.94)!important}
.nav .active,.tabs .active,.app-nav-button.active{border-color:rgba(90,169,255,.45)!important;background:rgba(49,124,195,.17)!important;color:#eaf5ff!important}
/* Scrollbars */
*{scrollbar-width:thin;scrollbar-color:#315b7d #091724}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#091724}::-webkit-scrollbar-thumb{background:#315b7d;border:2px solid #091724;border-radius:999px}
/* iPhone / mobile safe area is shared throughout Workforce. */
body{
  padding-top:env(safe-area-inset-top,0px);
  padding-right:env(safe-area-inset-right,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  padding-left:env(safe-area-inset-left,0px);
}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--wf4-blue)!important;outline-offset:2px}
@media(max-width:760px){
  .card,.panel,.topbar,.hero,.profileCard{border-radius:15px!important}
  button,.btn,.button,.toolbar-button,input,select,textarea{min-height:44px}
  input,select,textarea{font-size:16px!important}
  .modal-card,.dialog,.sheet{max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 20px)!important}
}
@media(max-width:420px){
  .btn,.button,.toolbar-button{padding-left:12px!important;padding-right:12px!important}
}

/* V4.2 · Cross-module aliases: alte Modulvariablen werden nur visuell auf den
   gemeinsamen Blau/Anthrazit-Core projiziert. Fachlogik bleibt unangetastet. */
:root{
  --bg:var(--wf4-bg)!important;
  --background:var(--wf4-bg)!important;
  --surface:var(--wf4-panel)!important;
  --surface-alt:var(--wf4-panel-2)!important;
  --surface-soft:var(--wf4-panel-2)!important;
  --surface2:var(--wf4-panel-2)!important;
  --surface-2:var(--wf4-panel-2)!important;
  --surface3:var(--wf4-panel-3)!important;
  --surface-3:var(--wf4-panel-3)!important;
  --soft:var(--wf4-panel-2)!important;
  --text:var(--wf4-text)!important;
  --muted:var(--wf4-muted)!important;
  --line:var(--wf4-line)!important;
  --line-soft:var(--wf4-line)!important;
  --line-strong:var(--wf4-line-strong)!important;
  --primary:#173a5b!important;
  --primary-rgb:23,58,91!important;
  --accent:var(--wf4-blue)!important;
  --accent2:var(--wf4-blue-soft)!important;
  --accent-rgb:90,169,255!important;
  --blue:var(--wf4-blue)!important;
  --gold:var(--wf4-blue)!important;
  --gold-light:var(--wf4-blue-soft)!important;
  --ok:var(--wf4-success)!important;
  --success:var(--wf4-success)!important;
  --warn:var(--wf4-warn)!important;
  --danger:var(--wf4-danger)!important;
}

/* Vollständige gemeinsame Oberflächen – beseitigt helle Inseln in alten
   Fachshells (u.a. W20 und S10), ohne Maße oder Fachzustände zu verändern. */
.kpi,.row,.requestRow,.dialog,.empty,.table-wrap,.data-table,.data-table tbody,
.modal-card,.page-head,.navigation,.rate-card,.approvalValues,.approvalEmpty,
.wf-v31-right,.wf-v31-delegation,.wf-v31-summary,.wf-v34-module-card{
  background:linear-gradient(145deg,rgba(16,34,50,.97),rgba(8,21,33,.98))!important;
  border-color:var(--wf4-line)!important;
  color:var(--wf4-text)!important;
}
.row.pending,.requestRow.open{background:rgba(34,70,101,.34)!important;border-color:var(--wf4-line-strong)!important}
.kpi small,.kpi span,.cell-sub,.field span,.fieldNote,.requestRow small,.row small{color:var(--wf4-muted)!important}
.kpi strong,.kpi b,.cell-main,.row strong,.requestRow strong,.panel h3{color:var(--wf4-text)!important}
.controls select,.field input,.field select,.field textarea,.filter-bar input,.filter-bar select{
  background:#081724!important;color:var(--wf4-text)!important;border-color:var(--wf4-line-strong)!important;
}
.close,.editBtn{background:#102131!important;color:var(--wf4-text)!important;border-color:var(--wf4-line)!important}
.close:hover,.editBtn:hover{background:#183149!important;border-color:var(--wf4-blue)!important}
.empty{border-style:dashed!important;color:var(--wf4-muted)!important}
.rights.show{background:rgba(242,198,109,.08)!important;color:#f4dca8!important;border-color:rgba(242,198,109,.3)!important}
.bootError{background:rgba(145,43,55,.18)!important;color:#ffc7ce!important;border-color:rgba(255,142,154,.38)!important}
.data-table th{background:#13283a!important;color:#bad0e3!important;border-color:var(--wf4-line)!important}
.data-table td{background:transparent!important;color:var(--wf4-text)!important;border-color:rgba(92,146,194,.14)!important}
.button.secondary,.button.ghost{background:linear-gradient(145deg,#172b3d,#102131)!important;color:var(--wf4-text)!important;border-color:var(--wf4-line)!important}
.nav-button.active,.navigation .active{background:linear-gradient(135deg,var(--wf4-blue-strong),#6ebaff)!important;color:#04101b!important}

/* Druck/PDF bleibt bewusst neutral und wird durch den App-Design-Core nicht
   dunkel eingefärbt. */
@media print{
  html,body{background:#fff!important;color:#111!important}
  .print-sheet,.monthly-print,.modal-card,.data-table,.data-table tbody,.data-table td,.data-table th{
    background:#fff!important;color:#111!important;box-shadow:none!important;
  }
  .data-table th{background:#eee!important;color:#222!important}
}
