/* RESTWERK: shared neutral palette from the current homepage. */
:root{--rw-paper:#f4f6f3;--rw-ink:#182d33;--rw-muted:#586b64;--rw-line:#dce4e2;--rw-forest:#173b33;--rw-lime:#a3d65b;--rw-tint:#edf4e5}
body.rw-site{margin:0;background:var(--rw-paper);color:var(--rw-ink);font-family:Arial,Helvetica,sans-serif;color-scheme:light}
body.rw-site :is(button,input,select,textarea){font-family:inherit}
body.rw-site ::selection{background:#cfe8ad;color:#182d33}
body.rw-site :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #366e4b;outline-offset:4px}
/* Global aliases serve retained Next.js information pages and calculators. */
body.rw-next{--paper:#f4f6f3;--surface:#f7faf4;--raised:#fff;--ink:#182d33;--muted:#586b64;--line:#dce4e2;--line-soft:#e8ede6;--tanne:#173b33;--tanne-hell:#edf4e5;--on-tanne:#fff;--orange:#173b33;--orange-dark:#254d3c;--orange-light:#3e7043;--terracotta:#173b33;--dark:#f4f6f3;--dark2:#fff;--dark3:#edf4e5;--cream:#182d33;--sand:#586b64;--sand-light:#586b64;--border:#dce4e2;--font-sans:Arial,Helvetica,sans-serif}
body.rw-next{--white:#fff;--mid:#586b64;--brown:#182d33;--brown-l:#586b64;--marker:#a3d65b;--nav-bg:#f4f6f3f5;--header-bg:#f4f6f3f5;--shadow:#182d3312}
body.rw-next :is(h1,h2,h3,h4,.font-bebas,.font-display,.font-barlow-condensed){font-family:Arial,Helvetica,sans-serif}
body.rw-site::-webkit-scrollbar-track{background:#f4f6f3}
body.rw-site::-webkit-scrollbar-thumb{background:#46694d}
body.rw-next :is(.gc,.kk,.hs,.tga-host,.werkzeug,.rw-tools,.kk-page){--paper:#f4f6f3;--surface:#f7faf4;--raised:#fff;--ink:#182d33;--muted:#586b64;--line:#dce4e2;--line-soft:#e8ede6;--tanne:#173b33;--tanne-hell:#edf4e5;--on-tanne:#fff;font-family:Arial,Helvetica,sans-serif}
body.rw-next .hs{--hs-dark:#173b33;--hs-muted:#586b64}
body.rw-next .werkzeug{--wz-grund:#f4f6f3;--wz-tinte:#182d33;--wz-leise:#586b64;--wz-linie:#dce4e2;--wz-akzent:#173b33;--wz-akzent-dunkel:#254d3c;--wz-akzent-hell:#edf4e5;--wz-font:Arial,Helvetica,sans-serif}
body.rw-next .kk-page{--navy:#173b33;--navy-2:#254d3c;--blau:#3e7043;--sky:#476b3d;--sky-soft:#edf4e5;--bg:#f4f6f3;--ink:#182d33;--ink-soft:#586b64;--line:#dce4e2;--markt:#173b33}
/* Service pages use the same hero, content width, cards and actions as the homepage. */
body.rw-service-site{--paper:#f4f6f3;--ink:#182d33;--muted:#586b64;--line:#dce4e2;--accent:#173b33;--accent-dark:#254d3c;--tint:#edf4e5;--radius:12px}
body.rw-service-site .wrap{width:min(1224px,calc(100% - 48px))}
body.rw-service-site :is(h1,h2,h3){font-family:inherit;font-weight:500}
body.rw-service-site em{font-family:inherit;font-style:normal;font-weight:500;color:#3e7043}
body.rw-service-site .brand-symbol{border-color:#173b33}
body.rw-service-site .brand-symbol::after{background:#173b33}
body.rw-service-site .topbar{min-height:98px;height:auto;position:relative;gap:24px;background:transparent}
body.rw-service-site .nav{gap:20px;font-size:14px}
body.rw-service-site .brand{flex-shrink:0;font-size:26px;letter-spacing:-.075em}
body.rw-service-site .brand small{font-size:10px;letter-spacing:.15em}
body.rw-service-site .button{min-height:48px;border-radius:8px;background:#173b33;border-color:#173b33;color:#fff;gap:12px;padding:12px 18px;font-size:14px}
body.rw-service-site .button:hover{background:#254d3c;border-color:#254d3c}
body.rw-service-site .secondary-nav{gap:8px;border:0;padding:12px 0;flex-wrap:wrap}
body.rw-service-site .secondary-nav a{border:1px solid #dce4e2;background:#edf4e5;border-radius:8px;padding:9px 14px;color:#173b33;font-size:13px;font-weight:600}
body.rw-service-site .rw-hero,body.rw-service-site .page-intro{position:relative;overflow:hidden;margin:40px 0 0;padding:42px 44px;border-radius:18px;background:radial-gradient(circle at 82% 18%,#4f7552 0,transparent 30%),linear-gradient(120deg,#122f2a,#254d3c);color:#fff;box-shadow:0 24px 70px #1029231f}
body.rw-service-site .rw-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:40px;align-items:center}
body.rw-service-site .rw-hero h1,body.rw-service-site .page-intro h1{font-size:clamp(40px,5vw,66px);line-height:1.12;letter-spacing:-.05em}
body.rw-service-site .rw-hero em,body.rw-service-site .page-intro em{color:#b6e176}
body.rw-service-site .rw-hero .lead,body.rw-service-site .page-intro .lead{color:#dce8d8;font-size:17px;margin-top:20px;max-width:850px}
body.rw-service-site .rw-hero .eyebrow,body.rw-service-site .page-intro .eyebrow{color:#d0e1c5}
body.rw-service-site .eyebrow{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.13em;margin-bottom:18px}
body.rw-service-site .eyebrow::before{content:"";width:8px;height:8px;flex:none;border-radius:50%;background:#a3d65b}
body.rw-service-site .rw-hero .actions,body.rw-service-site .page-intro .actions{margin-top:28px;gap:10px;display:flex;flex-wrap:wrap}
body.rw-service-site .rw-hero .button.light,body.rw-service-site .page-intro .button{background:#a3d65b;border-color:#a3d65b;color:#213727}
body.rw-service-site .rw-hero .button.secondary{background:transparent;border-color:#92ad9e;color:#fff}
body.rw-service-site .rw-hero .text-link,body.rw-service-site .page-intro .text-link{color:#dce8d8;border-color:#92ad9e}
body.rw-service-site .page-intro{margin-bottom:32px}
body.rw-service-site :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border:1px solid #dce4e2;border-radius:7px;background:#fff;color:#182d33}
.rw-hero-aside{padding:24px;border:1px solid #b6e17655;border-radius:12px;background:#ffffff0b;font-size:16px;color:#dce8d8}
.rw-hero-aside-label{display:block;color:#b6e176;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.rw-process-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.rw-process-tags span{font-size:11px;border:1px solid #ffffff30;padding:6px 9px;border-radius:6px}
body.rw-service-site .section{padding:56px 0}
body.rw-service-site .section h2{font-size:clamp(28px,3.5vw,44px);margin-bottom:24px}
body.rw-service-site .coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
body.rw-service-site :is(.panel,.service-card,.form-panel,.value-menu,.note,.scope-note){min-width:0;border:1px solid #dce4e2;border-radius:12px;background:#fff;box-shadow:0 8px 26px #152c3205;padding:24px}
body.rw-service-site .panel{display:flex;flex-direction:column;gap:12px}
body.rw-service-site .panel h3{font-size:21px;letter-spacing:-.025em}
body.rw-service-site .panel p{font-size:15px;line-height:1.75;color:#586b64}
body.rw-service-site .panel .text-link{margin-top:auto;font-size:14px;color:#173b33;align-self:flex-start}
.rw-step{display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;width:48px;height:42px;border-radius:9px;background:#edf4e5;color:#294a34;font-size:24px;margin-bottom:6px}
.rw-result{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:38px;border:1px solid #d5dfda;border-radius:18px;background:linear-gradient(145deg,#fff,#f8fbf5);box-shadow:0 18px 55px #152c3210}
.rw-service-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.rw-service-list li{padding:0 0 14px 20px;border-bottom:1px solid #dce4e2;position:relative;color:#3b5048;font-size:15px}
.rw-service-list li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:3px;border-radius:2px;background:#78b53c}
body.rw-service-site .rw-service-cta{margin:0;grid-template-columns:1.3fr .7fr}
body.rw-service-site .rw-service-cta p{color:#d0decc;max-width:700px;font-size:16px}
body.rw-service-site .rw-service-cta .actions{display:grid;margin:0}
body.rw-service-site .footer{background:#173b33;color:#e4eee7;padding:50px 0 25px}
body.rw-service-site .footer :is(.brand-symbol){border-color:#b6e176}
body.rw-service-site .footer .brand-symbol::after{background:#b6e176}
body.rw-service-site .footer-bottom{color:#c2d5c9;border-color:#ffffff26}
.rw-transparency{margin-top:20px;font-size:12px;color:#c2d5c9}.rw-transparency a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1200px){body.rw-service-site .menu-toggle{display:block;border-radius:8px}body.rw-service-site .nav{display:none;position:absolute;z-index:30;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;padding:16px 20px;background:#f4f6f3;border:1px solid #dce4e2;border-radius:12px;box-shadow:0 18px 30px #173b331a}body.rw-service-site .nav.open{display:flex}body.rw-service-site .nav a{padding:10px}}
@media(max-width:850px){body.rw-service-site .rw-hero,body.rw-service-site .rw-result,body.rw-service-site .rw-service-cta{grid-template-columns:1fr;gap:24px;padding:30px}.rw-hero-aside{padding:20px}body.rw-service-site .coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.rw-service-site .footer-top{flex-direction:column;gap:24px}}
@media(max-width:600px){body.rw-service-site .wrap{width:calc(100% - 32px)}body.rw-service-site .rw-hero,body.rw-service-site .page-intro,body.rw-service-site .rw-result{padding:26px 22px;border-radius:14px;margin-top:24px}body.rw-service-site .rw-hero h1,body.rw-service-site .page-intro h1{font-size:clamp(32px,9vw,46px)}body.rw-service-site .coverage-grid{grid-template-columns:1fr}body.rw-service-site .section{padding:36px 0}body.rw-service-site .secondary-nav a{font-size:12px}body.rw-service-site .brand small{font-size:8px}body.rw-service-site .footer-bottom{flex-direction:column}body.rw-service-site input,body.rw-service-site select,body.rw-service-site textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){body.rw-site *{scroll-behavior:auto!important}body.rw-site :is(.button,.text-link){transition:none;transform:none}}
@media print{body.rw-site{background:#fff!important;color:#000!important}.rw-hero,.rw-result{box-shadow:none!important}.rw-service-site .rw-hero{background:#fff!important;color:#000!important}.rw-service-site .rw-hero em,.rw-service-site .rw-hero .lead{color:#000!important}}

/* RESTWERK Hausservice appearance for the explicit tool allowlist in
   werkzeuge-navigation.js. Works both standalone and inside GebäudeCheck.
   Existing layouts, visibility, status colours and canvas/SVG drawings stay owned
   by each tool. The eight independently designed core modules are not included. */
body.rw-tool{
  --rw-hs-ink:#182d33;--rw-hs-muted:#586b64;--rw-hs-green:#a3d65b;
  --rw-hs-dark:#173b33;--rw-hs-line:#dce4e2;--rw-hs-bg:#f4f6f3;
  --rw-hs-panel:#fff;--rw-hs-accent:#476b3d;
  /* Neutral aliases used by the different generations of Fachwerkzeuge.
     Semantic red/amber/green/blue and the legacy danger accent are untouched. */
  --paper:var(--rw-hs-bg);--bg:var(--rw-hs-bg);--bg2:#fff;--bg3:#f0f4ec;--bg4:#e9eedf;
  --card:#fff;--card2:#f7faf4;--ink:var(--rw-hs-ink);--text:var(--rw-hs-ink);
  --fg:var(--rw-hs-ink);--text2:var(--rw-hs-muted);--text-dim:var(--rw-hs-muted);
  --muted:var(--rw-hs-muted);--line:var(--rw-hs-line);--border:var(--rw-hs-line);
  --border2:#c6d4ce;--sand:var(--rw-hs-ink);--sand2:var(--rw-hs-muted);
  --sand-dim:var(--rw-hs-muted);--dark:var(--rw-hs-dark);
  --shadow:none;--sh:none;--radius:10px;--card-radius:10px;
  /* Older studio palettes define their own neutral tokens. */
  --fs-bg:var(--rw-hs-bg);--fs-panel:#fff;--fs-border:var(--rw-hs-line);
  --fs-text:var(--rw-hs-ink);--fs-sub:var(--rw-hs-muted);--fs-gold:var(--rw-hs-ink);
  --fs-gold2:var(--rw-hs-muted);--fs-accent:var(--rw-hs-accent);
  --hl-bg:var(--rw-hs-bg);--hl-panel:#fff;--hl-border:var(--rw-hs-line);
  --hl-text:var(--rw-hs-ink);--hl-sub:var(--rw-hs-muted);--hl-gold:var(--rw-hs-ink);
  --hl-gold2:var(--rw-hs-muted);--hl-accent:var(--rw-hs-accent);
  --tp-bg:var(--rw-hs-bg);--tp-panel:#fff;--tp-border:var(--rw-hs-line);
  --tp-text:var(--rw-hs-ink);--tp-sub:var(--rw-hs-muted);--tp-gold:var(--rw-hs-ink);
  --tp-gold2:var(--rw-hs-muted);--tp-accent:var(--rw-hs-accent);
  --fr-bg:var(--rw-hs-bg);--fr-panel:#fff;--fr-line:var(--rw-hs-line);
  --fr-text:var(--rw-hs-ink);--fr-muted:var(--rw-hs-muted);--fr-accent:var(--rw-hs-accent);
  --hr-bg:var(--rw-hs-bg);--hr-panel:#fff;--hr-line:var(--rw-hs-line);
  --hr-text:var(--rw-hs-ink);--hr-muted:var(--rw-hs-muted);--hr-accent:var(--rw-hs-accent);
  --ic-bg:var(--rw-hs-bg);--ic-panel:#fff;--ic-line:var(--rw-hs-line);
  --ic-text:var(--rw-hs-ink);--ic-muted:var(--rw-hs-muted);--ic-accent:var(--rw-hs-accent);
  --is-bg:var(--rw-hs-bg);--is-panel:#fff;--is-panel2:#f7faf4;--is-border:var(--rw-hs-line);
  --is-text:var(--rw-hs-ink);--is-muted:var(--rw-hs-muted);--is-gold:var(--rw-hs-ink);
  --is-accent:var(--rw-hs-accent);
  --ws-bg:var(--rw-hs-bg);--ws-panel:#fff;--ws-panel2:#f7faf4;--ws-border:var(--rw-hs-line);
  --ws-text:var(--rw-hs-ink);--ws-muted:var(--rw-hs-muted);--ws-gold:var(--rw-hs-ink);
  --ws-accent:var(--rw-hs-accent);
  --sp-bg:var(--rw-hs-bg);--sp-panel:#fff;--sp-line:var(--rw-hs-line);--sp-border:var(--rw-hs-line);
  --sp-text:var(--rw-hs-ink);--sp-muted:var(--rw-hs-muted);--sp-gold:var(--rw-hs-ink);
  --sp-accent:var(--rw-hs-accent);--sp-accent2:#2f5139;--sp-tint:#eef4e9;--sp-shadow:none;
  --wp-bg:var(--rw-hs-bg);--wp-panel:#fff;--wp-line:var(--rw-hs-line);--wp-border:var(--rw-hs-line);
  --wp-text:var(--rw-hs-ink);--wp-muted:var(--rw-hs-muted);--wp-gold:var(--rw-hs-ink);
  --wp-accent:var(--rw-hs-accent);--wp-accent2:#2f5139;--wp-tint:#eef4e9;--wp-shadow:none;
  /* The cost tools also consume the pre-existing Kosten-theme. Reuse its tokens
     rather than recolouring financial risks or replacing its layout rules. */
  --rw-tanne:var(--rw-hs-ink);--rw-tanne-2:#264c4e;--rw-grund:var(--rw-hs-bg);
  --rw-card:#fff;--rw-linie:var(--rw-hs-line);--rw-muted:var(--rw-hs-muted);
  --rw-akzent:var(--rw-hs-accent);--rw-akzent-soft:#eef4e9;
  margin:0;background:var(--rw-hs-bg);color:var(--rw-hs-ink);
  font-family:Arial,Helvetica,sans-serif!important;line-height:1.5;
}
body.rw-tool *{box-sizing:border-box}
body.rw-tool :is(button,input,select,textarea){font-family:inherit}
body.rw-tool :is(h1,h2,h3,h4){color:var(--rw-hs-ink);letter-spacing:-.02em}
body.rw-tool :is(.muted,.hint,.sub){color:var(--rw-hs-muted)}
body.rw-tool :is(.eyebrow.accent,.section-title,.card-title,.rw-kicker){color:var(--rw-hs-accent)}

/* Only app headers get a dark background. Section headings, report headers,
   dialogs and authentication forms remain on their own surface. */
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header),
body.rw-tool>header:not(.work-heading):not(.auth-brand){
  --ink:#fff;--text:#fff;--text2:#b8cbce;--muted:#b8cbce;--sand:#fff;
  --fs-text:#fff;--fs-gold:#fff;--fs-gold2:#b8cbce;--fs-sub:#b8cbce;
  --tp-text:#fff;--tp-gold:#fff;--tp-gold2:#b8cbce;--tp-sub:#b8cbce;
  background:var(--rw-hs-dark)!important;color:#fff!important;
  border-color:#2d454a!important;box-shadow:none!important;
}
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header) :is(h1,h2,.app-title,.logo-name),
body.rw-tool>header:not(.work-heading):not(.auth-brand) :is(h1,h2){color:#fff!important}
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header) :is(.sub,.app-sub,.breadcrumb,.breadcrumbs,small){color:#b8cbce!important}
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header) :is(.brand,.logo){color:#fff}
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header) :is(.logo span,.topbar-center){color:var(--rw-hs-green)}
body.rw-tool :is(.topbar,.site-header,.app-header) nav{background:transparent;border-color:#2d454a}
body.rw-tool :is(.topbar,.site-header,.app-header) :is(nav a,.breadcrumb a){color:#dce7e4}
body.rw-tool :is(.topbar,.site-header,.app-header) nav a:is(:hover,[aria-current=page]){color:var(--rw-hs-green)}
body.rw-tool .topbar .nav a[aria-current=page]::after{background:var(--rw-hs-green)}
body.rw-tool .brand-symbol{border-color:var(--rw-hs-green)}
body.rw-tool .brand-symbol::after{background:var(--rw-hs-green)}
body.rw-tool .topbar .tb-btn{color:#dce7e4;border-color:#476168}
body.rw-tool .topbar .menu-toggle{color:#fff;border-color:#476168;background:transparent}
body.rw-tool .topbar.wrap{padding-inline:20px;border-radius:0 0 10px 10px}

body.rw-tool :is(main,.main,.content,.cockpit-main,.bki-main){min-width:0;color:var(--rw-hs-ink)}
body.rw-tool :is(.card,.panel,.box,.project-card,.project-header,.cockpit-shell,.work-section,.section){
  background:#fff;border-color:var(--rw-hs-line);border-radius:10px;box-shadow:none;
}
body.rw-tool :is(.kpi,.metric){border-radius:9px;border-color:var(--rw-hs-line)}
body.rw-tool .cockpit-heading{background:#fff;color:var(--rw-hs-ink);border-color:var(--rw-hs-line)}
body.rw-tool .cockpit-heading h2{color:var(--rw-hs-ink)}
body.rw-tool :is(.work-heading,.page-intro) h1{font-size:clamp(28px,3.4vw,42px);font-weight:750;line-height:1.15}
body.rw-tool :is(.work-heading,.page-intro) h1 em{font-family:inherit;font-style:normal;color:var(--rw-hs-accent)}
body.rw-tool :is(.fs-toolbar,.fs-status,.tp-toolbar,.toolbar,.modal-head,.modal-footer){background:#fff;border-color:var(--rw-hs-line)}
body.rw-tool :is(.tabs,.tabbar,.tab-bar,.tab-nav,.cockpit-nav,.step-nav,#mainNav){background:#fff;border-color:var(--rw-hs-line)}
body.rw-tool :is(.tab-btn,.tabs button,.cockpit-nav button,.step-btn,#mainNav button){color:var(--rw-hs-muted);border-radius:6px 6px 0 0}
body.rw-tool :is(.tab-btn.on,.tab-btn.active,.tabs button.active,.cockpit-nav button[aria-selected=true],.step-btn.active,#mainNav button.act){
  color:#3f6435;border-color:var(--rw-hs-green);background:#eef4e9;
}
body.rw-tool :is(.tb-btn.active,.hr-step.active){background:#eef4e9;color:#3f6435;border-color:#a3c18b}
body.rw-tool :is(.btn,button.primary,.button,.tb-btn){border-radius:7px}
body.rw-tool :is(.btn-primary,button.primary,.button:not(.secondary):not(.light),.button.dark){
  background:var(--rw-hs-dark);border-color:var(--rw-hs-dark);color:#fff;
}
body.rw-tool :is(.btn-primary,button.primary,.button:not(.secondary):not(.light)):hover{background:#264c4e}
body.rw-tool :is(.btn-green,.btn-success,button.success){background:var(--rw-hs-green);border-color:var(--rw-hs-green);color:#213727}
body.rw-tool :is(.btn-sec,.btn-secondary,.btn-ghost,.btn.secondary,button.secondary,.button.secondary,.button.light){
  background:#fff;border-color:var(--rw-hs-line);color:var(--rw-hs-ink);
}
body.rw-tool :is(.btn-sec,.btn-secondary,.btn-ghost,.button.secondary):hover{background:#f7faf4;border-color:#93a69b}
body.rw-tool :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=image]),select,textarea){
  border:1px solid var(--rw-hs-line);border-radius:7px;background:#fff;color:var(--rw-hs-ink);
}
body.rw-tool :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--rw-hs-accent)}
body.rw-tool select option{background:#fff;color:var(--rw-hs-ink)}
body.rw-tool .inp-grp select option{background:#fff;color:var(--rw-hs-ink)}
body.rw-tool table{border-color:var(--rw-hs-line)}
body.rw-tool th{background:#f8faf6;color:#65745d;border-color:#e8ece7}
body.rw-tool td{border-color:#e9eee4}
/* Neutral row hover in the two legacy dark tables. Deliberately leave selected,
   risk/status, subtotal and individually highlighted rows/cells to their tools. */
body.rw-tool :is(.layer-table,.ctbl) tr:not(.selected,.active,.on,.warning,.danger,.error,.success,.kg-hd,.tot,[class*="risk"],[class*="status"],[aria-selected=true],[style*="background"]):hover td:not(.selected,.active,.on,.warning,.danger,.error,.success,.kg-hd,.tot,[class*="risk"],[class*="status"],[aria-selected=true],[style*="background"]){background:#fafcf9}
body.rw-tool .preset-btn:hover{background:#eef4e9}
body.rw-tool [data-tip]:hover::after{background:var(--rw-hs-dark);color:#fff}
/* Keep semantic state classes, inline risk colours, selected table rows and
   graphs intact; do not globally recolour result boxes, cells or badges. */
body.rw-tool :is(button,a,input,select,textarea,summary):focus-visible{
  outline:3px solid #78b53c!important;outline-offset:3px;
}
body.rw-tool :is(button,.btn):disabled{cursor:not-allowed;opacity:.5}

/* The project report uses literal light text and dark surfaces rather than
   palette tokens. Restrict this adapter to that report's own unique structure. */
body.rw-tool:has(.project-header .meta-grid) :is(.meta-item,.kpi,.footer-note,.tool-badge){
  background:#f7faf4;border-color:var(--rw-hs-line);
}
body.rw-tool:has(.project-header .meta-grid) :is(.meta-item span,.kpi .value,td){color:var(--rw-hs-ink)}
body.rw-tool:has(.project-header .meta-grid) :is(.meta-item label,.kpi .label,.footer-note,.tool-badge){color:var(--rw-hs-muted)}
body.rw-tool:has(.project-header .meta-grid) tr:hover td{background:#fafcf9}

@media(max-width:1320px){
  body.rw-tool .topbar .nav{background:var(--rw-hs-dark);border:1px solid #2d454a}
}
@media(max-width:800px){
  body.rw-tool :is(main,.main,.content,.cockpit-main,.bki-main){max-width:100%}
  body.rw-tool :is(.btn,.button,.tab-btn,.step-btn){min-height:42px}
  body.rw-tool :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}
  body.rw-tool .topbar.wrap{padding-inline:14px}
}
@media print{
  body.rw-tool{background:#fff!important;color:#000!important}
  #rw-workspace-navigation{display:none!important}
}


/* Tool-neutral aliases. Result/status/chart colours remain owned by each module. */
body.rw-tool{--accent:#173b33;--accent-dark:#254d3c;--accent2:#254d3c;--tint:#edf4e5;--tint2:#f7faf4;--surface:#f7faf4;--raised:#fff;--line-soft:#e8ede6;--tanne:#173b33;--tanne-hell:#edf4e5;--on-tanne:#fff;--bg0:#f4f6f3;--bg1:#fff;--font:Arial,Helvetica,sans-serif;--sub:#586b64;--sa-bg:#f4f6f3;--sa-panel:#fff;--sa-ink:#182d33;--sa-line:#dce4e2;--sa-accent:#173b33;background:#f4f6f3!important;color:#182d33!important}
body.rw-tool .rail{background:#f7faf4;border-color:#dce4e2}
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header),body.rw-tool>header:not(.work-heading):not(.auth-brand){background:linear-gradient(120deg,#122f2a,#254d3c)!important}
/* Literal legacy header colours need explicit contrast on the shared forest. */
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header) :is(.brand,.logo,.sf-brand,a:not(.btn):not(.button)),
body.rw-tool>header:not(.work-heading):not(.auth-brand) :is(.brand,.logo,.sf-brand,a:not(.btn):not(.button)){color:#fff!important}
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header) :is(.sub,.app-sub,.breadcrumb,.breadcrumbs,small),
body.rw-tool>header:not(.work-heading):not(.auth-brand) :is(.sub,.app-sub,.breadcrumb,.breadcrumbs,small,.sf-brand span){color:#d0e1c5!important}
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header) :is(.btn-sec,.btn-secondary,.btn-ghost,.btn.secondary,button.secondary,.button.secondary,.button.light),
body.rw-tool>header:not(.work-heading):not(.auth-brand) :is(.btn-sec,.btn-secondary,.btn-ghost,.btn.secondary,button.secondary,.button.secondary,.button.light){background:#fff;border-color:#dce4e2!important;color:#173b33!important}

/* Retained SOLWERK3D panels use literal blue surfaces. Scope their adaptation
   to the distinctive PV viewport; keep the scene and its result colours intact. */
body.rw-tool:has(.vp #canvas) :is(.rp-tabs,.modal,.mod-table th){background:#fff;color:#182d33}
body.rw-tool:has(.vp #canvas) :is(button.on,.mod-item.on,.rp-tab.on,.mod-table tr.sel td){background:#edf4e5;color:#173b33;border-color:#83a475}
body.rw-tool:has(.vp #canvas) :is(.hint,.vp-badge){background:#ffffffed;color:#586b64}
body.rw-tool:has(.vp #canvas) footer{background:#173b33;color:#d0e1c5}
body.rw-tool:has(.vp #canvas) header .brand span{color:#d0e1c5}
body.rw-tool:has(.vp #canvas) :is(button.export,button.pdf-btn){background:#fff}

/* CONCEPT03 BEGIN — presentation only. No semantic colour tokens are reassigned.
   Geometry, canvas/SVG palettes, risk/status classes and all controls keep their
   original owners. Shared aliases below describe chrome and neutral surfaces. */
body.rw-site{--rw-paper:#f8f7f3;--rw-ink:#242926;--rw-muted:#6a6864;--rw-line:#e0deda;--rw-forest:#242926;--rw-tint:#efeee7;--rw-copper:#aa4e2b;background:var(--rw-paper);color:var(--rw-ink)}
body.rw-site ::selection{background:#eedbce;color:#242926}
body.rw-site :is(a,button,input,select,textarea,summary):focus-visible{outline-color:#aa4e2b}
body.rw-next{--paper:#f8f7f3;--surface:#efeee7;--raised:#fff;--ink:#242926;--muted:#6a6864;--line:#e0deda;--line-soft:#eae8e4;--tanne:#242926;--tanne-hell:#efeee7;--on-tanne:#fff;--dark:#f8f7f3;--dark2:#fff;--dark3:#efeee7;--cream:#242926;--sand:#6a6864;--sand-light:#6a6864;--border:#e0deda;--mid:#6a6864;--brown:#242926;--brown-l:#6a6864;--nav-bg:#f8f7f3f5;--header-bg:#f8f7f3f5;--shadow:#24292612}
body.rw-next :is(.gc,.kk,.hs,.tga-host,.werkzeug,.rw-tools,.kk-page){--paper:#f8f7f3;--surface:#efeee7;--raised:#fff;--ink:#242926;--muted:#6a6864;--line:#e0deda;--line-soft:#eae8e4;--tanne:#242926;--tanne-hell:#efeee7;--on-tanne:#fff}
body.rw-next .hs{--hs-dark:#242926;--hs-muted:#6a6864}
body.rw-next .werkzeug{--wz-grund:#f8f7f3;--wz-tinte:#242926;--wz-leise:#6a6864;--wz-linie:#e0deda;--wz-akzent:#242926;--wz-akzent-dunkel:#454944;--wz-akzent-hell:#efeee7}
body.rw-next .kk-page{--navy:#242926;--navy-2:#454944;--blau:#aa4e2b;--sky:#aa4e2b;--sky-soft:#f3e8df;--bg:#f8f7f3;--ink:#242926;--ink-soft:#6a6864;--line:#e0deda;--markt:#242926}
body.rw-next .rw-tools{--rw-ink:#242926;--rw-muted:#6a6864;--rw-line:#e0deda;--rw-line-soft:#eae8e4;--rw-surface:#f8f7f3;--rw-raised:#fff;--rw-tanne:#242926;--rw-tanne-hell:#efeee7;--rw-on-tanne:#fff;background:#f8f7f3}
body.rw-next .rw-tools-kopf{background:transparent;color:#242926;padding:12px 0 28px;border-radius:0;box-shadow:none;border-bottom:1px solid #e0deda}
body.rw-next .rw-tools-kopf h1{font-size:clamp(32px,3.6vw,52px);font-weight:500;letter-spacing:-.05em}
body.rw-next .rw-tools-kopf :is(.rw-tools-eyebrow,.rw-tools-actions a){color:#aa4e2b}
body.rw-next .rw-tools-kopf .rw-tools-lead{color:#6a6864}
body.rw-next .rw-tools-kopf .rw-tools-primary{background:#242926;color:#fff;border-radius:3px}
body.rw-next .rw-tools :is(.rw-tools-panel,.rw-tools-core-card,.rw-tools-card,.rw-tools-group,.rw-tools-note){border-radius:4px;box-shadow:none}
body.rw-next .rw-tools-core-card{--rw-tools-accent:#aa4e2b!important}
body.rw-next .rw-tools-core-art{background:#efeee7}
body.rw-next .rw-tools-core-name{color:#aa4e2b}
body.rw-next .rw-tools-core-card:hover{border-color:#aa4e2b;box-shadow:none;transform:none}
/* Legacy standalone and embedded workspaces receive the same neutral chrome.
   --rw-hs-green remains unchanged: existing success buttons consume it. */
body.rw-tool{--rw-hs-ink:#242926;--rw-hs-muted:#6a6864;--rw-hs-dark:#242926;--rw-hs-line:#e0deda;--rw-hs-bg:#f8f7f3;--rw-hs-panel:#fff;--rw-hs-accent:#aa4e2b;--bg3:#efeee7;--bg4:#e6e3dd;--card2:#faf9f6;--border2:#c7c3bb;--radius:4px;--card-radius:4px;--rw-tanne-2:#454944;--rw-akzent-soft:#f3e8df;--sp-accent2:#80432e;--sp-tint:#f3e8df;--wp-accent2:#80432e;--wp-tint:#f3e8df}
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header),body.rw-tool>header:not(.work-heading):not(.auth-brand){--text2:#cbc8c2;--muted:#cbc8c2;--fs-gold2:#cbc8c2;--fs-sub:#cbc8c2;--tp-gold2:#cbc8c2;--tp-sub:#cbc8c2;border-color:#484b46!important}
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header) :is(.sub,.app-sub,.breadcrumb,.breadcrumbs,small){color:#cbc8c2!important}
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header) :is(.logo span,.topbar-center){color:#deb297}
body.rw-tool :is(.topbar,.site-header,.app-header) nav a:is(:hover,[aria-current=page]){color:#deb297}
body.rw-tool .topbar .nav a[aria-current=page]::after,body.rw-tool .brand-symbol::after{background:#deb297}
body.rw-tool .brand-symbol{border-color:#deb297}
body.rw-tool :is(.card,.panel,.box,.project-card,.project-header,.cockpit-shell,.work-section,.section,.kpi,.metric){border-radius:4px}
body.rw-tool :is(.tab-btn.on,.tab-btn.active,.tabs button.active,.cockpit-nav button[aria-selected=true],.step-btn.active,#mainNav button.act,.tb-btn.active,.hr-step.active){color:#80432e;border-color:#aa4e2b;background:#f3e8df}
body.rw-tool :is(.btn,button.primary,.button,.tb-btn){border-radius:3px}
body.rw-tool :is(.btn-primary,button.primary,.button:not(.secondary):not(.light)):hover{background:#454944}
body.rw-tool :is(.btn-sec,.btn-secondary,.btn-ghost,.button.secondary):hover{background:#efeee7;border-color:#c7c3bb}
body.rw-tool :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=image]),select,textarea){border-radius:3px}
body.rw-tool th{background:#f2f0ea;color:#6a6864;border-color:#eae8e4}
body.rw-tool td{border-color:#eae8e4}
body.rw-tool :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #aa4e2b!important;outline-offset:3px}
/* Public service shell: no replacement of forms or their event handlers. */
body.rw-service-site{--paper:#f8f7f3;--ink:#242926;--muted:#6a6864;--line:#e0deda;--accent:#242926;--accent-dark:#454944;--tint:#efeee7;--radius:4px}
body.rw-service-site .button{background:#242926;border-color:#242926;border-radius:3px}
body.rw-service-site .button:hover{background:#454944;border-color:#454944}
body.rw-service-site .secondary-nav a{background:#efeee7;color:#242926;border-color:#e0deda;border-radius:3px}
body.rw-service-site :is(.rw-hero,.page-intro){background:#242926;box-shadow:none;border-radius:4px}
body.rw-service-site :is(.rw-hero,.page-intro) em{color:#deb297}
body.rw-service-site :is(.rw-hero,.page-intro) :is(.lead,.eyebrow){color:#ddd9d1}
body.rw-service-site .eyebrow::before{background:#aa4e2b;border-radius:0;width:22px;height:1px}
body.rw-service-site .rw-hero .button.light,body.rw-service-site .page-intro .button{background:#f8f7f3;border-color:#f8f7f3;color:#242926}
body.rw-service-site :is(.panel,.service-card,.form-panel,.value-menu,.note,.scope-note,.rw-result){border-color:#e0deda;border-radius:4px;box-shadow:none;background:#fff}
body.rw-service-site .rw-result{background:#fff}
body.rw-service-site .panel p{color:#6a6864}
body.rw-service-site :is(.panel .text-link,.rw-step){color:#aa4e2b}
body.rw-service-site .rw-step{background:#f3e8df;border-radius:3px}
body.rw-service-site .rw-hero-aside{border-color:#827366;border-radius:4px;color:#ddd9d1}
body.rw-service-site .rw-hero-aside-label{color:#deb297}
body.rw-service-site .footer{background:#242926;color:#eae6df}
body.rw-service-site .footer-bottom,body.rw-service-site .rw-transparency{color:#cbc8c2}
body.rw-service-site .brand-symbol{border-color:#aa4e2b}body.rw-service-site .brand-symbol::after{background:#aa4e2b}
/* CONCEPT03 END */
/* Dense workspaces keep their layouts, scroll areas, tabs and field geometry. */
body.rw-next .gc{--font:Arial,Helvetica,sans-serif;font-family:Arial,Helvetica,sans-serif}
body.rw-next .gc :is(h1,h2,h3){font-weight:500;letter-spacing:-.035em}
body.rw-next .gc h1{font-size:clamp(1.6rem,2.5vw,2.2rem)}
body.rw-next :is(.gc-rail,.kk-rail){background:#efeee7;border-color:#e0deda}
body.rw-next .gc-schritte button[aria-selected=true]{border-bottom-color:#aa4e2b}
body.rw-next :is(.gc .gc-knopf,.kk .gc-knopf,.kk-context,.kk-core-shortcuts,.gc .gc-karte,.gc .gc-panel,.kk .km-panel){border-radius:4px}
body.rw-next .gc-3d-return-context{background:#f3e8df;border-color:#dfc6b8;border-left-color:#aa4e2b;border-radius:4px}
body.rw-next .gc-3d-return-context small{color:#6a6864}
/* Management chrome only; task tones, overdue, evidence-quality and risk states stay unchanged. */
body.rw-next .kk{background:#f8f7f3}
body.rw-next .kk :is(.km-command,.km-briefing){background:#242926;color:#f8f7f3;border-radius:4px;box-shadow:none}
body.rw-next .kk :is(.km-command,.km-briefing) .km-eyebrow{color:#deb297}
body.rw-next .kk :is(.km-command p:not(.km-eyebrow),.km-briefing p,.km-command-actions>span){color:#d8d4cd}
body.rw-next .kk :is(.km-command-actions,.km-briefing-actions) .gc-btn{background:#f8f7f3;color:#242926;border-color:#f8f7f3;border-radius:3px}
body.rw-next .kk :is(.km-command-actions,.km-briefing-actions) .gc-btn.leise,body.rw-next .kk .km-briefing-actions .gc-btn:not(:first-child){background:transparent;color:#f8f7f3;border-color:#94918b}
body.rw-next .kk :is(.km-workspaces button,.km-quickfilters button)[aria-pressed=true]{background:#242926;border-color:#242926;color:#fff}
body.rw-next .kk :is(.km-workspaces button,.km-quickfilters button)[aria-pressed=true] span{color:#dedad3}
body.rw-next .kk .km-quickfilters button:not([aria-pressed=true]){background:#efeee7;border-color:#e0deda;color:#6a6864}
body.rw-next .kk .km-quickfilters button:not([aria-pressed=true]) span{background:#e6e3dd}
body.rw-next .kk :is(.km-costs,.km-detail-next){background:#f2f0ea;border-color:#e0deda;border-radius:4px}
body.rw-next .kk .km-team-symbol{background:#f3e8df;color:#aa4e2b}
body.rw-next .kk :is(.kk-panel,.km-metrics>button,.km-workspaces>button){border-radius:4px;box-shadow:none}
body.rw-site::-webkit-scrollbar-track{background:#f8f7f3}body.rw-site::-webkit-scrollbar-thumb{background:#8e8a82}

body.rw-service-site .rw-brand-mark{width:29px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7;border:0!important;flex:none}
/* Literal legacy backgrounds have higher priority than their token aliases.
   Override only neutral chrome; never --green/--warn/--zA..D or result states. */
body.rw-tool{--accent:#242926;--accent-dark:#454944;--accent2:#454944;--tint:#efeee7;--tint2:#faf9f6;--surface:#faf9f6;--line-soft:#eae8e4;--tanne:#242926;--tanne-hell:#efeee7;--bg0:#f8f7f3;--bg1:#fff;--sub:#6a6864;--sa-bg:#f8f7f3;--sa-panel:#fff;--sa-ink:#242926;--sa-line:#e0deda;--sa-accent:#242926;--is-panel2:#faf9f6;--ws-panel2:#faf9f6;background:#f8f7f3!important;color:#242926!important}
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header),body.rw-tool>header:not(.work-heading):not(.auth-brand){background:#242926!important}
body.rw-tool :is(.topbar,.top-bar,.app-header,.site-header,.fs-header,.tp-header,#appHeader,#header) :is(.btn-sec,.btn-secondary,.btn-ghost,.btn.secondary,button.secondary,.button.secondary,.button.light),body.rw-tool>header:not(.work-heading):not(.auth-brand) :is(.btn-sec,.btn-secondary,.btn-ghost,.btn.secondary,button.secondary,.button.secondary,.button.light){color:#242926!important;border-color:#e0deda!important}
body.rw-tool .rail{background:#efeee7;border-color:#e0deda}
body.rw-tool:has(.vp #canvas) :is(button.on,.mod-item.on,.rp-tab.on,.mod-table tr.sel td){background:#f3e8df;color:#80432e;border-color:#aa4e2b}
body.rw-tool:has(.vp #canvas) footer{background:#242926;color:#cbc8c2}
body.rw-tool:has(.vp #canvas) header .brand span{color:#cbc8c2}
@media(max-width:1320px){body.rw-tool .topbar .nav{background:#242926;border-color:#484b46}}
@media(max-width:1200px){body.rw-service-site .nav{background:#f8f7f3;border-color:#e0deda;border-radius:4px}}
@media print{body.rw-tool{background:#fff!important;color:#000!important}}


/* TGA header buttons sit on white surfaces inside a dark app header.
   Do not inherit the header's white --ink token into these buttons. */
body.rw-tool>header .headeractions button{color:#242926;background:#fff;border-color:#c7c3bb;white-space:normal;line-height:1.4}
body.rw-tool>header .headeractions button:hover:not(:disabled){color:#242926;background:#efeee7;border-color:#8e918a}
body.rw-tool>header .headeractions button.primary{color:#fff;background:#242926;border-color:#71756e}
body.rw-tool>header .headeractions button.primary:hover:not(:disabled){color:#fff;background:#454944}
