/* ISMS-Framework-WEB V2.9 — visuelle Harmonisierung nach ISMS-GRC-WEB V2.20
   Fachliche Struktur und didaktische Kreisgrafiken bleiben unverändert. */

:root{
  --grc-bg:#161826;
  --grc-bg-deep:#12141f;
  --grc-surface-1:#20222f;
  --grc-surface-2:#262936;
  --grc-text:#e9e9ed;
  --grc-text-strong:#f3f5fe;
  --grc-muted:#b2b6ca;
  --grc-muted-2:#9397ab;
  --grc-border:#3f424d;
  --grc-divider:rgba(233,233,237,.16);
  --grc-hair:rgba(233,233,237,.10);
  --grc-accent:#9184d9;
  --grc-accent-light:#d2cefd;
  --grc-accent-soft:rgba(145,132,217,.12);
  --grc-radius:8px;
}

/* Grundfläche und zentrale Rahmen — Farbwelt aus GRC */
body{background:var(--grc-bg-deep)!important;color:var(--grc-text)!important;}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 520px at 82% -6%,rgba(145,132,217,.13),transparent 70%),radial-gradient(760px 460px at 4% 108%,rgba(145,132,217,.07),transparent 70%);}
.shell,.catalog-shell,.home-section{background:var(--grc-bg)!important;border:1px solid var(--grc-border)!important;box-shadow:0 0 0 1px rgba(0,0,0,.14),0 10px 28px rgba(0,0,0,.28)!important;}
.article,main{background:var(--grc-bg)!important;color:var(--grc-text)!important;}
.side{background:linear-gradient(180deg,var(--grc-surface-1),#1b1d29)!important;border-right:1px solid var(--grc-border)!important;color:var(--grc-muted)!important;}

/* Typografie */
.article h1,.article h2,.article h3,.article h4,main h1,main h2,main h3,main h4,.catalog-shell h1,.catalog-shell h2,.catalog-shell h3,.home-section h2{color:var(--grc-text-strong)!important;}
.lead,.section-intro,.intro,.crumb,.article>p,main>p,.catalog-hero p{color:var(--grc-muted)!important;}
.eyebrow,.section-kicker,.kicker,.tag{color:var(--grc-accent-light)!important;}
a{color:var(--grc-accent-light);}a:hover{color:#b5abfc;}
.page-hero,.section{border-color:var(--grc-divider)!important;}
.side-label,.status-note{color:var(--grc-muted-2)!important;}
.side-nav a,.side-back{color:var(--grc-muted)!important;}
.side-nav a:hover{background:rgba(233,233,237,.055)!important;color:var(--grc-text-strong)!important;border-left-color:var(--grc-accent)!important;}
.side-meta{border-color:var(--grc-divider)!important;}
.side-note{background:var(--grc-surface-2)!important;border:1px solid var(--grc-border)!important;color:var(--grc-muted)!important;}
.side-note strong{color:var(--grc-text-strong)!important;}
.pill,.site-badge,.audit-pill{background:var(--grc-accent-soft)!important;color:var(--grc-accent-light)!important;border:1px solid rgba(145,132,217,.22)!important;}

/* Kartenfamilie: gleiche dunkle Flächen, klare Konturen, ruhige Abstände */
.card,.mini-card,.link-card,.source-card,.deepening-card,.capability-link-card,.depth-card,.path-card,.role-flow-card,.reg-special,.doc-card,.criterion,.use-card,.audit-question,.audit-toc a,.architecture-summary>div,.arch-step,.principle-grid>div,.rating-grid>div,.gspp-five>div,.system-chain a,.system-chain div,.practice-bridge a,.change-trigger,.prompt-meta>div{
  background:linear-gradient(168deg,var(--grc-surface-2),var(--grc-surface-1) 70%)!important;
  border:1px solid var(--grc-border)!important;
  border-radius:var(--grc-radius)!important;
  box-shadow:none!important;
  color:var(--grc-text)!important;
}
.card:hover,.link-card:hover,.capability-link-card:hover,.path-card:hover,.audit-toc a:hover,.practice-bridge a:hover{border-color:rgba(145,132,217,.55)!important;background:linear-gradient(168deg,#2a2d3b,#222531 70%)!important;box-shadow:none!important;}
.card h3,.mini-card h3,.deepening-card h3,.depth-card h3,.reg-special h3,.doc-card h3,.criterion h3,.capability-link-card strong,.source-card strong,.link-card strong,.practice-bridge a,.role-flow-card strong,.system-chain a,.system-chain div,.use-card strong,.architecture-summary strong{color:var(--grc-text-strong)!important;}
.card p,.mini-card p,.deepening-card p,.depth-card p,.reg-special p,.doc-card p,.doc-card li,.source-card span,.link-card small,.capability-link-card small,.practice-bridge small,.role-flow-card span,.system-chain small,.criterion p,.rating-grid span,.principle-grid span{color:var(--grc-muted)!important;}
.mini-card .num,.capability-link-type,.audit-type,.audit-count,.doc-basis,.criterion-no{color:var(--grc-accent-light)!important;}

/* Fluss-, Hinweis- und Beispielkomponenten */
.flow-step,.roles-feedback,.framework-system-map,.roles-capability-bridge,.scope-note,.guide-intro,.prompt-box,.prompt-note,.module-box,.audit-detail div,.evidence-line{background:var(--grc-surface-1)!important;border-color:var(--grc-border)!important;color:var(--grc-muted)!important;}
.flow-step strong,.roles-feedback strong,.scope-note strong,.audit-detail strong{color:var(--grc-text-strong)!important;}
.example,.cycle-example{background:linear-gradient(168deg,var(--grc-surface-2),var(--grc-surface-1) 74%)!important;border:1px solid var(--grc-border)!important;border-left:3px solid var(--grc-accent)!important;box-shadow:none!important;color:var(--grc-text)!important;}
.cycle-example h3,.example-step b{color:var(--grc-text-strong)!important;}
.example-step p,.example-insight,.example-result{color:var(--grc-muted)!important;}
.example-step-icon{background:var(--grc-accent-soft)!important;color:var(--grc-accent-light)!important;}
.example-step:not(:last-child):after{border-left-color:rgba(145,132,217,.35)!important;}
.key-message,.change-hub{background:linear-gradient(135deg,#262a60,#20222f)!important;border:1px solid rgba(145,132,217,.42)!important;color:var(--grc-text-strong)!important;box-shadow:none!important;}
.key-message p{color:var(--grc-text)!important;}

/* Startseite / Katalog */
.hero-home{background:linear-gradient(135deg,#20222f 0%,#262a60 70%,#20222f 100%)!important;border:1px solid var(--grc-border)!important;box-shadow:none!important;}
.hero-home p{color:#cfd3e5!important;}
.search{background:var(--grc-surface-1)!important;border:1px solid var(--grc-border)!important;padding:4px!important;}
.search input,.matrix-tools input,.matrix-tools select{background:var(--grc-surface-1)!important;color:var(--grc-text)!important;border:1px solid var(--grc-border)!important;}
.search input::placeholder{color:var(--grc-muted-2)!important;}

/* Tabellen / Regulatory / Evidence */
table,.matrix-wrap,.audit-table-wrap{border-color:var(--grc-border)!important;background:var(--grc-surface-1)!important;}
th,.audit-overview-table th{background:var(--grc-surface-2)!important;color:var(--grc-text-strong)!important;border-color:var(--grc-divider)!important;}
td,.audit-overview-table td{color:var(--grc-muted)!important;border-color:var(--grc-divider)!important;}
.audit-overview-table td strong{color:var(--grc-text-strong)!important;}
.audit-overview-table tbody tr:hover{background:rgba(145,132,217,.07)!important;}
.footer{color:var(--grc-muted-2)!important;border-color:var(--grc-divider)!important;}

/* Semantische Statusfarben bleiben unterscheidbar, werden aber dunkler eingebettet */
.reg-alert,.warn,.important-box{background:#332914!important;border-color:#5b4820!important;color:#e8d69b!important;}
.note{background:#192a2a!important;border-color:#3a6965!important;color:#c7dfdc!important;}
.backref{background:#321f25!important;border-color:#673946!important;}
.verified{background:#183126!important;color:#9bd7b8!important;}
.proposal{background:#332914!important;color:#e8d69b!important;}
.conditional{background:#252742!important;color:#c9c8ef!important;}

/* Wichtig: Die didaktischen Kreise selbst werden NICHT verändert.
   Keine Regel in diesem Stylesheet adressiert process-wheel, wheel-ring, wheel-node, wheel-center,
   wheel-label, wheel-desc, wheel-num, wheel-arrow, wheel-node-icon oder cycle-visual. */

/* V2.9 Kontrastkorrektur: alle normalen Inhaltsfelder folgen der dunklen GRC-Oberfläche.
   Didaktische Kreis-/Wheel-Elemente bleiben weiterhin ausdrücklich ausgenommen. */
.catalog-merksatz,
.capability-explainer,
.capability-overview-card,
.capability-triad span,
#v21-capability-definition .capability-triad > div,
.layer-panel,
.glossary-entry,
.glossary-alpha button,
.hub-item,
.side-merksatz,
.roles-center,
.roles-node,
.role-stage,
.pillar-box,
.search-empty{
  background:linear-gradient(168deg,var(--grc-surface-2),var(--grc-surface-1) 70%)!important;
  border:1px solid var(--grc-border)!important;
  color:var(--grc-text)!important;
  box-shadow:none!important;
}
.catalog-merksatz p,
.capability-explainer p,
.capability-overview-card p,
.capability-triad span,
#v21-capability-definition .capability-triad > div,
#v21-capability-definition .capability-triad > div small,
.layer-panel p,
.layer-question,
.glossary-entry p,
.glossary-entry span,
.roles-center small,
.roles-node span,
.role-stage span,
.pillar-box{
  color:var(--grc-muted)!important;
}
.capability-explainer h2,
.capability-overview-card h3,
.capability-triad span b,
#v21-capability-definition .capability-triad > div strong,
.layer-panel h3,
.layer-panel .layer-question,
.glossary-entry strong,
.roles-center strong,
.roles-node b,
.role-stage b{
  color:var(--grc-text-strong)!important;
}
.capability-overview-card span,
.capability-triad b,
.layer-panel .layer-no,
.glossary-alpha button{
  color:var(--grc-accent-light)!important;
}

/* Helle semantische Sonderflächen, die bewusst hell bleiben, bekommen explizit dunkle Schrift.
   So kann ein heller Spezialkasten niemals durch die globale Dark-Typografie unlesbar werden. */
.example-insight,
.example-result,
.framework-status-card.is-warning{
  color:#34465a!important;
}
.example-result strong{color:#0d6e76!important;}
.framework-status-card.is-warning h3,
.framework-status-card.is-warning strong{color:#563a20!important;}

/* Geschützte didaktische Kreise: vorhandene V2.9-Farbgebung vollständig beibehalten. */
.process-wheel,.wheel-ring,.wheel-node,.wheel-center,.wheel-label,.wheel-desc,.wheel-num,.wheel-arrow,.wheel-node-icon,.cycle-visual,
.framework-wheel-center,.fw-node,.tm-node,.role-loop-center{
  /* absichtlich keine Farb- oder Flächenüberschreibung */
}

/* V2.9 zweite Flächenprüfung: verbliebene helle Framework-Felder konsequent in die GRC-Oberflächenhierarchie überführen. */
.framework-stack>div,
.pillar,
.home-merksatz,
.home-relationship-panel,
.asset-banner,
.management-callout,
.timebox,
.criteria-grid .criterion,
.roles-system,
.roles-capability-bridge,
.framework-system-map,
.capability-explainer,
.home-help-card,
.term-help,
.relationship-chain a,
.glossary-search input,
.search-empty,
.prompt-toolbar,
.audit-table-wrap{
  background:linear-gradient(168deg,var(--grc-surface-2),var(--grc-surface-1) 72%)!important;
  border-color:var(--grc-border)!important;
  color:var(--grc-text)!important;
  box-shadow:none!important;
}
.framework-stack b,
.pillar strong,
.home-merksatz p,
.home-relationship-panel h3,
.asset-banner h2,
.management-callout strong,
.timebox strong,
.criteria-grid .criterion strong,
.roles-system h2,
.roles-capability-bridge h2,
.framework-system-map h2,
.capability-explainer h2,
.home-help-card h2,
.relationship-chain a{
  color:var(--grc-text-strong)!important;
}
.framework-stack span,
.pillar small,
.home-relationship-panel p,
.asset-banner p,
.management-callout span,
.timebox span,
.roles-system .section-intro,
.roles-capability-bridge .section-intro,
.framework-system-map .section-intro,
.capability-explainer p,
.home-help-card p,
.term-help{
  color:var(--grc-muted)!important;
}
.home-merksatz b,
.framework-stack b:first-child{color:var(--grc-accent-light)!important;}
.relationship-chain a{border:1px solid var(--grc-border)!important;}
.glossary-search input{color:var(--grc-text)!important;}
.glossary-search input::placeholder{color:var(--grc-muted-2)!important;}

/* Startseiten-Felder: gleiche Kontur und dunkle Fläche, ohne die didaktischen Kreisgrafiken anzutasten. */
.home-pillars .pillar,
.home-relationship-panel,
.home-merksatz{border:1px solid var(--grc-border)!important;}

/* Regulatory/Evidence: verbliebene weiße Arbeitsflächen. */
.regulatory-shell .card,
.evidence-shell .card,
.doc-card,
.criterion,
.use-card,
.audit-question,
.audit-toc a,
.prompt-meta>div,
.audit-table-wrap{
  background:linear-gradient(168deg,var(--grc-surface-2),var(--grc-surface-1) 72%)!important;
  border-color:var(--grc-border)!important;
}

/* Bewusst NICHT enthalten: wheel-node, wheel-ring, wheel-center, framework-wheel-center,
   fw-node, tm-node, role-loop-center und andere didaktische Kreisbestandteile. */

/* V2.9.3 – vollständige Prüfung heller Feldflächen.
   Ziel: keine weißen/hellgrauen Inhalts-, Arbeits- oder Regulatory/Evidence-Felder mehr.
   Ausgenommen bleiben ausschließlich didaktische Kreisbestandteile und kleine Symbolflächen. */

/* Framework: verbleibende helle Inhalts- und Navigationsfelder */
.flow-step,
.criterion,
.timebox,
.asset-banner,
.management-callout,
.framework-stack>div,
.hub-item,
.home-merksatz,
.catalog-merksatz,
.side-merksatz,
.pillar,
.role-stage,
.cycle-example,
.example-result,
.home-relationship-panel,
.relationship-chain a,
.deepening-card,
.capability-link-card,
.capability-overview-card,
.capability-explainer,
.capability-triad span,
.roles-system,
.roles-capability-bridge,
.role-flow-card,
.roles-feedback,
.change-trigger,
.practice-bridge a,
.reg-special,
.framework-system-map,
.system-chain a,
.system-chain div,
.depth-card,
.scope-note,
.path-card,
.search-empty,
.home-help-card,
.glossary-search input,
.glossary-alpha button,
.glossary-entry,
.term-help,
.layer-panel,
#v21-capability-definition .capability-triad > div,
.pyramid-v08 {
  background:linear-gradient(168deg,var(--grc-surface-2),var(--grc-surface-1) 72%)!important;
  border-color:var(--grc-border)!important;
  color:var(--grc-text)!important;
  box-shadow:none!important;
}

/* Framework-Tabellen und aktive Filter ebenfalls ohne weiße Flächen */
.coverage-table th,
.search-filters button,
.search-filters button:hover,
.search-filters button.active {
  background:var(--grc-surface-2)!important;
  border-color:var(--grc-border)!important;
  color:var(--grc-text)!important;
}
.search-filters button.active{color:var(--grc-accent-light)!important;border-color:rgba(145,132,217,.55)!important;}

/* Regulatory / Evidence: sämtliche Arbeitsflächen in die dunkle GRC-Flächenhierarchie überführen */
.regulatory-shell,
.evidence-shell,
.regulatory-shell .shell,
.evidence-shell .shell,
.regulatory-shell .card,
.evidence-shell .card,
.arch-step,
.architecture-summary>div,
.doc-card,
.guide-intro,
.criterion,
.prompt-box,
.use-card,
.gspp-five>div,
.principle-grid>div,
.evidence-line,
.audit-question,
.audit-detail div,
.audit-toc a,
.portable-prompt,
.prompt-meta>div,
.prompt-note,
.module-box,
.audit-table-wrap,
.matrix-tools input,
.matrix-tools select {
  background:linear-gradient(168deg,var(--grc-surface-2),var(--grc-surface-1) 72%)!important;
  border-color:var(--grc-border)!important;
  color:var(--grc-text)!important;
  box-shadow:none!important;
}

/* Regulatory-/Evidence-Hilfs- und Quellen-Badges: keine hellen Pastellflächen */
.source-reg,
.source-help,
.source-bsi,
.source-bsi-legacy,
.audit-pill,
.doc-status,
.arch-step .num,
.criterion-no,
.prompt-open,
.prompt-open:hover {
  background:var(--grc-accent-soft)!important;
  border-color:rgba(145,132,217,.30)!important;
  color:var(--grc-accent-light)!important;
}

/* Semantische Hinweise bleiben farblich unterscheidbar, aber dunkel */
.note,
.prompt-note {
  background:#192a2a!important;
  border-color:#3a6965!important;
  color:#c7dfdc!important;
}
.warn,
.reg-alert,
.important-box,
.doc-note,
.status.proposal {
  background:#332914!important;
  border-color:#5b4820!important;
  color:#e8d69b!important;
}
.master-matrix .fwref {
  background:#321f25!important;
  color:#e2b8c2!important;
}
.conditional {
  background:#252742!important;
  color:#c9c8ef!important;
}

/* Audit-/Matrix-Tabellen: auch Hover und Kopfbereich dunkel */
.audit-overview-table th,
.master-matrix th,
th {
  background:var(--grc-surface-2)!important;
  color:var(--grc-text-strong)!important;
  border-color:var(--grc-divider)!important;
}
.audit-overview-table tbody tr:hover,
.master-matrix tbody tr:hover,
tbody tr:hover {
  background:rgba(145,132,217,.07)!important;
}

/* Textkontrast innerhalb aller umgestellten Regulatory-/Evidence-Flächen */
.regulatory-shell h1,.regulatory-shell h2,.regulatory-shell h3,.regulatory-shell h4,
.evidence-shell h1,.evidence-shell h2,.evidence-shell h3,.evidence-shell h4,
.doc-card h3,.criterion h3,.use-card strong,.audit-question h3,.audit-detail strong,
.architecture-summary strong,.gspp-five strong,.principle-grid strong {
  color:var(--grc-text-strong)!important;
}
.regulatory-shell p,.regulatory-shell li,.regulatory-shell td,
.evidence-shell p,.evidence-shell li,.evidence-shell td,
.doc-card p,.doc-card li,.criterion p,.audit-detail div,.evidence-line,
.architecture-summary span,.gspp-five span,.principle-grid span {
  color:var(--grc-muted)!important;
}
.portable-prompt,.module-box,.prompt-box{color:var(--grc-text)!important;}

/* Geschützte Ausnahmen: didaktische Kreise/Wheels bleiben vollständig V2.9. */
.process-wheel,.wheel-ring,.wheel-ring:after,.wheel-node,.wheel-center,.wheel-label,.wheel-desc,.wheel-num,.wheel-arrow,.wheel-node-icon,.cycle-visual,
.framework-wheel-center,.fw-node,.tm-node,.role-loop-center,.application-stage .wheel-center,.application-stage .wheel-arrow {
  /* absichtlich keine neue Farbdefinition */
}

/* House model: readable text inside Bewertungs-/Steuerungs-/Handlungsboxen */
.pillar-box p {
  color: var(--grc-muted) !important;
}
