/* Portal Theme Unified V1
   Dashboard-abgeleiteter Light-/Darkmode-Cleanup fuer interne Portal-Seiten.
   Ziel: keine seitenweisen Sonder-Darkmodes mehr, sondern eine gemeinsame Surface-/Body-/Input-Familie.
*/

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth) {
  --bg: #15171b;
  --bg2: #1b1e22;
  --surface: rgba(30,32,37,.96);
  --surface2: rgba(37,40,46,.96);
  --surface3: rgba(28,31,36,.98);
  --border: rgba(255,255,255,.08);
  --border-strong: rgba(255,255,255,.12);
  --border2: rgba(255,255,255,.08);
  --ink: #eef1f3;
  --ink2: rgba(214,222,226,.84);
  --muted: rgba(171,188,194,.72);
  --pill-bg: rgba(37,40,46,.96);
  --teal-glow: rgba(82,125,121,.10);
  --hero-grad: linear-gradient(180deg, rgba(40,43,49,.96), rgba(28,30,35,.98));
  --soft-grad: linear-gradient(180deg, rgba(30,32,37,.96), rgba(22,24,28,.98));
  background: #15171b !important;
  color: #edf1f3 !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)::before {
  background:
    radial-gradient(ellipse 980px 640px at 14% 8%, rgba(82,125,121,.10), transparent 58%),
    radial-gradient(ellipse 760px 520px at 86% 6%, rgba(255,255,255,.02), transparent 56%) !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(.portal-content-surface,.dashboard-shell,.panel,.card,.surface,.box,.section-card,.sectionCard,.tableWrap,.table-wrap,.reportItem,.caseCard,.mini-card,.linkbox,.msg,.flash,.empty,.pageShell,.workspace-kopf,.detail,.ticket-zeile,.leer-zustand,.karte,.history-disclosure,.history-entry,.edit-card,.work-panel,.lookup-result,.identity-zeile,.consent-zeile,.alert-info,.timeline-eintrag,.overviewItem,.detailItem,.splitCol,.hero-right,.hero-main,.kv,.empty-state,.actionCard,.actionInline,.formCard,.passwordCard) {
  background: linear-gradient(180deg, rgba(30,32,37,.96), rgba(22,24,28,.98)) !important;
  border-color: rgba(255,255,255,.08) !important;
  box-shadow: 0 20px 56px rgba(0,0,0,.22) !important;
  color: #edf1f3 !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(.portal-page-head,.pageHead,.page-head,.section-head,.head,.workspace-kopf,.section-headMain,.page-header) {
  border-color: rgba(255,255,255,.08) !important;
  box-shadow: 0 20px 56px rgba(0,0,0,.22) !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(.portal-page-head,.pageHead,.page-head,.section-head,.head) {
  background: linear-gradient(180deg, rgba(40,43,49,.96), rgba(28,30,35,.98)) !important;
}

html[data-theme="dark"] body.portal-support .page-header {
  background: linear-gradient(180deg, rgba(40,43,49,.96), rgba(28,30,35,.98)) !important;
  border-color: rgba(255,255,255,.08) !important;
  box-shadow: 0 20px 56px rgba(0,0,0,.22) !important;
}

html[data-theme="dark"] body.portal-support .page-header::before {
  background:
    linear-gradient(90deg, rgba(20,22,26,.90) 0%, rgba(20,22,26,.76) 40%, rgba(20,22,26,.24) 82%, rgba(20,22,26,0) 100%),
    url('/assets/support-hero.png') center right / cover no-repeat !important;
  opacity: 1 !important;
}

html[data-theme="dark"] body.portal-support .page-header::after {
  background: none !important;
  opacity: 0 !important;
}

html[data-theme="dark"] body.portal-support
:is(.page-kicker,.karte-kopf-kicker,.lookup-result-no,.workspace-titel-oben,.kontakt-label,.detail-kicker,.meta-label,.timeline-time,.timeline-label,.ticket-liste-meta,.workspace-kopf-lead,.ticket-counter,.ticket-stat-label,.identity-email,.kontakt-meta,.workspace-filter-hinweis) {
  color: rgba(171,188,194,.72) !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(h1,h2,h3,h4,.page-title,.portal-page-title,.karte-kopf-titel,.workspace-kopf-titel,.detail-titel,.identity-name,.kontakt-wert,.lookup-result-status,.ticket-title,.section-head h1,.section-head h2,.section-head h3,.pageHeadTitle h1,.pageHeadTitle h2,strong,.ttl) {
  color: #eef1f3 !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(p,.sub,.muted,.hint,.tiny,.mini,.lead,.pageHeadSub,.page-lead,.portal-page-lead,.body,.meta,.small,.summary,.copy,.detail-sub,.lookup-result-hint,.ticket-text,.workspace-kopf-lead,.ticket-summary-subline,.overview-sub,.summary-meta-k,.data-row .k,.history-entry-subtitle,.history-entry-time) {
  color: rgba(214,222,226,.74) !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(.form-input,.form-select,.form-textarea,.suche-feld,.field,.input,input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="tel"],input[type="number"],input[type="date"],input[type="datetime-local"],textarea,select) {
  background: linear-gradient(180deg, rgba(17,19,23,.96), rgba(13,15,18,.98)) !important;
  border-color: rgba(255,255,255,.08) !important;
  color: #edf1f3 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02) !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(.form-input,.form-textarea,.suche-feld,.field,.input,input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="tel"],input[type="number"],input[type="date"],input[type="datetime-local"],textarea)::placeholder {
  color: rgba(171,188,194,.58) !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(.form-input,.form-select,.form-textarea,.suche-feld,.field,.input,input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="tel"],input[type="number"],input[type="date"],input[type="datetime-local"],textarea,select):focus {
  border-color: rgba(255,255,255,.14) !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.04) !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(.btn,.btnGhost,.backBtn,.workspace-zahl,.filter-tab,.history-summary-toggle,.history-summary-count,.btn.secondary,a.btn.secondary,button.btn.secondary):not(.primary):not(.btn-primary):not(.btn-primaer):not(.danger):not(.btn-danger):not(.active) {
  background: linear-gradient(180deg, rgba(37,40,46,.96), rgba(28,31,36,.98)) !important;
  border-color: rgba(255,255,255,.08) !important;
  color: #eef1f3 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(.btn,.btnGhost,.backBtn,.workspace-zahl,.filter-tab,.history-summary-toggle,.history-summary-count,.btn.secondary,a.btn.secondary,button.btn.secondary):not(.primary):not(.btn-primary):not(.btn-primaer):not(.danger):not(.btn-danger):not(.active):hover {
  background: linear-gradient(180deg, rgba(43,47,54,.98), rgba(32,36,42,.99)) !important;
  border-color: rgba(255,255,255,.10) !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(.workspace-zahl.aktiv,.filter-tab.aktiv,.ticket-zeile.aktiv,.ticket-zeile.active,.workspace-zahl.active,.filter-tab.active,.pill.active,.chip.active,.nav-pill a.active,[aria-current="page"]) {
  background: linear-gradient(180deg, rgba(43,47,54,.98), rgba(32,36,42,.99)) !important;
  border-color: rgba(255,255,255,.10) !important;
  color: #eef1f3 !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(.pill,.chip,.badge,.role-pill,.metaPill,.status-main,.statusInline,.btn-badge) {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.08) !important;
  color: #b9d7d1 !important;
  box-shadow: none !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(th,td,.karte-kopf,.detail-kopf,.detail-meta-raster,.antwort-block,.workspace-inhalt,.section-head,.sectionCardHead,.tableWrap table th,.tableWrap table td,.overviewItem,.data-row,.history-toolbar,.history-summary,.history-entry,.ticket-row,.lookup-result,.kontakt-eintrag,.identity-zeile,.workspace-header,.ticket-summary,.timeline-lite,.history-entry-head,.history-entry-body) {
  border-color: rgba(255,255,255,.08) !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(.alert-ok,.msg.ok,.flash.ok) {
  background: rgba(78,118,112,.18) !important;
  border-color: rgba(116,168,160,.22) !important;
  color: #d5ece7 !important;
}

html[data-theme="dark"] body:is([class^="portal-"],[class*=" portal-"],.missing-nearby-page):not(.portal-dashboard):not(.portal-auth)
:is(.alert-err,.msg.err,.flash.err,.err,.warn) {
  background: rgba(92,44,49,.30) !important;
  border-color: rgba(214,131,139,.20) !important;
  color: #ffd6db !important;
}

html[data-theme="dark"] body.portal-support .timeline-eintrag.von-user,
html[data-theme="dark"] body.portal-support .ticket-zeile:hover,
html[data-theme="dark"] body.portal-support .workspace-kopf,
html[data-theme="dark"] body.portal-support .alert-info,
html[data-theme="dark"] body.portal-support .consent-zeile,
html[data-theme="dark"] body.portal-support .identity-zeile,
html[data-theme="dark"] body.portal-support .lookup-result {
  background: linear-gradient(180deg, rgba(37,40,46,.96), rgba(28,31,36,.98)) !important;
  border-color: rgba(255,255,255,.08) !important;
}

html[data-theme="dark"] body.portal-support .btn-primaer,
html[data-theme="dark"] body.portal-support .btn.primary,
html[data-theme="dark"] body.portal-support .btn.btn-primary {
  box-shadow: 0 10px 24px rgba(0,0,0,.22), 0 0 0 1px rgba(255,255,255,.04) inset !important;
}
