/* ELDAXO identity: Klare Linie shared theme, shared across all hosts. */
:root {
  --eldaxo-navy: #06453a;
  --eldaxo-copper: #075545;
  --eldaxo-surface: #f4faf7;
  --eldaxo-ink: #142621;
  --eldaxo-line: #c8dcd4;
  --eldaxo-font: system-ui,-apple-system,'Segoe UI',sans-serif;
  --eldaxo-white: #fff;
  --eldaxo-muted: #49635b;
  --eldaxo-hover: #043b31;
  --eldaxo-error: #9e3324;
  --eldaxo-radius: 3px;
}

/* Adapt the existing style sheets to one palette without replacing layouts. */
.eldaxo-ui {
  --bg: var(--eldaxo-surface);
  --paper: var(--eldaxo-surface);
  --panel: var(--eldaxo-white);
  --line: var(--eldaxo-line);
  --text: var(--eldaxo-ink);
  --muted: var(--eldaxo-muted);
  --accent: var(--eldaxo-copper);
  --rust: var(--eldaxo-copper);
  --navy: var(--eldaxo-navy);
  --wb-ink: var(--eldaxo-navy);
  --wb-copper: var(--eldaxo-copper);
  --wb-paper: var(--eldaxo-surface);
  --wb-line: var(--eldaxo-line);
  --wb-muted: var(--eldaxo-muted);
  --wb-focus: var(--eldaxo-copper);
  margin: 0;
  color: var(--eldaxo-ink);
  background: var(--eldaxo-surface);
  color-scheme: light;
  font-family: var(--eldaxo-font);
  font-size: 16px;
  line-height: 1.55;
}
.eldaxo-ui *, .eldaxo-ui *::before, .eldaxo-ui *::after { box-sizing: border-box; }
.eldaxo-ui [hidden], .eldaxo-ui input[type="hidden"] { display: none !important; }
.eldaxo-ui h1, .eldaxo-ui h2, .eldaxo-ui h3, .eldaxo-ui h4 {
  color: var(--eldaxo-ink);
  font-family: var(--eldaxo-font);
  font-weight: 700;
  letter-spacing: -.025em;
}
.eldaxo-ui p { line-height: 1.65; }
.eldaxo-ui a { color: var(--eldaxo-copper); text-underline-offset: .2em; }
.eldaxo-ui a:hover { text-decoration-thickness: 2px; }
.eldaxo-ui :is(button, input, select, textarea) { font-family: var(--eldaxo-font); }
.eldaxo-ui :is(button, .button, .survey-btn) {
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--eldaxo-copper);
  border-radius: var(--eldaxo-radius);
  background: var(--eldaxo-copper);
  color: var(--eldaxo-white);
  font-size: .94rem;
  font-weight: 650;
  line-height: 1.4;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
}
.eldaxo-ui :is(button, .button, .survey-btn):hover {
  background: var(--eldaxo-hover);
  border-color: var(--eldaxo-hover);
  color: var(--eldaxo-white);
}
.eldaxo-ui :is(.secondary, .subtle).button,
.eldaxo-ui button:is(.secondary, .subtle),
.eldaxo-ui .survey-btn.secondary {
  border-color: #78988c;
  background: transparent;
  color: var(--eldaxo-navy);
}
.eldaxo-ui :is(.secondary, .subtle).button:hover,
.eldaxo-ui button:is(.secondary, .subtle):hover,
.eldaxo-ui .survey-btn.secondary:hover { background: #dff1e9; }
.eldaxo-ui :is(button, input, select, textarea):disabled { cursor: not-allowed; opacity: .65; }
.eldaxo-ui input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.eldaxo-ui select, .eldaxo-ui textarea {
  max-width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #78988c;
  border-radius: var(--eldaxo-radius);
  background: var(--eldaxo-white);
  color: var(--eldaxo-ink);
  font-size: 1rem;
  line-height: 1.5;
}
.eldaxo-ui textarea { resize: vertical; }
.eldaxo-ui input:is([type="checkbox"], [type="radio"]) {
  width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
  accent-color: var(--eldaxo-copper);
}
.eldaxo-ui :focus-visible { outline: 3px solid var(--eldaxo-copper); outline-offset: 3px; }
.eldaxo-ui .eyebrow, .eldaxo-ui .survey-kicker { color: var(--eldaxo-copper); }
.eldaxo-ui .errorlist, .eldaxo-ui .error { color: var(--eldaxo-error); }
.eldaxo-ui .muted, .eldaxo-ui .helptext, .eldaxo-ui .help { color: var(--eldaxo-muted); }
.eldaxo-ui .card { border-color: var(--eldaxo-line); border-radius: var(--eldaxo-radius); box-shadow: none; }
.eldaxo-ui .notice, .eldaxo-ui .survey-note { background: #dff1e9; color: var(--eldaxo-ink); border-left-color: var(--eldaxo-copper); }

/* Existing authenticated horizontal workbench stays in place. */
.eldaxo-ui.workbench { font-family: var(--eldaxo-font) !important; }
.eldaxo-ui .wb-bar { background: var(--eldaxo-navy); }
.eldaxo-ui .wb-nav a { color: var(--eldaxo-white); }
.eldaxo-ui .wb-logo img { object-fit: contain; }
.eldaxo-ui .wb-nav a[aria-current="page"] { border-bottom-color: var(--eldaxo-copper); }
.eldaxo-ui .wb-text-button, .eldaxo-ui .wb-text-button:hover {
  min-height: 36px;
  padding: 3px 8px;
  background: transparent;
  border: 0;
  color: var(--eldaxo-navy);
}

/* Public pages use the same left logo, header, forms and footer. */
.eldaxo-ui.public-access > .topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  max-width: none;
  min-height: 76px;
  margin: 0;
  padding: 0 max(24px, calc((100vw - 1200px) / 2));
  border-bottom: 1px solid #30695e;
  background: var(--eldaxo-navy);
}
.eldaxo-ui.public-access .brand.eldaxo-brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  padding: 10px 24px 10px 0;
  margin: 0;
  border-right: 1px solid #518377;
  text-decoration: none;
}
.eldaxo-ui.public-access .eldaxo-brand img { display: block; width: 46px; height: 46px; object-fit: contain; border-radius: 3px; }
.eldaxo-ui.public-access .public-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 24px; width: auto; font-size: .9rem; }
.eldaxo-ui.public-access .public-nav a { color: var(--eldaxo-white); font-weight: 550; }
.eldaxo-ui.public-access .public-nav .nav-login { padding: 10px 16px; background: var(--eldaxo-copper); border: 1px solid var(--eldaxo-copper); border-radius: var(--eldaxo-radius); }
.eldaxo-ui.public-access .public-nav .nav-login:hover { background: var(--eldaxo-hover); }
.eldaxo-ui.public-access .app-main main { max-width: 1280px; margin: 0 auto; padding: 40px; }
.eldaxo-ui.public-access .app-main .wb-footer {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto !important;
  padding: 22px 0 !important;
  border-top: 1px solid var(--eldaxo-line);
  background: transparent;
  color: var(--eldaxo-muted);
  font-size: .8rem;
}

/* The public home has one hero and no second logo/decorative identity seal. */
.eldaxo-ui .identity-home .identity-hero {
  display: block;
  padding: 22px 0 38px;
  background: none;
}
.eldaxo-ui .identity-home .identity-hero h1 {
  max-width: 850px;
  margin: 18px 0 24px;
  font-size: clamp(36px, 4.8vw, 62px);
  font-weight: 750;
  line-height: 1.12;
}
.eldaxo-ui .identity-home .identity-hero h1 em { font-style: normal; color: var(--eldaxo-copper); }
.eldaxo-ui .identity-home .identity-hero .lead { color: var(--eldaxo-muted); font-size: 1.1rem; max-width: 650px; }
.eldaxo-ui .identity-home .entry-list, .eldaxo-ui .identity-home .entry-row { border-color: var(--eldaxo-line); }
.eldaxo-ui .identity-home .entry-row { grid-template-columns: 40px minmax(0, 1fr); padding: 26px 0; }
.eldaxo-ui .identity-home .entry-row:hover { background: #dff1e9; }
.eldaxo-ui .identity-home .entry-row h2 { font-size: 1.45rem; font-weight: 650; }
.eldaxo-ui .identity-home .entry-number { color: var(--eldaxo-copper); font-family: var(--eldaxo-font); font-style: normal; }
.eldaxo-ui .identity-home .entry-action { color: var(--eldaxo-copper); }
.eldaxo-ui .workspace-entry { border-color: var(--eldaxo-line); }

.eldaxo-ui .access-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
  max-width: 1100px;
  margin: 12px auto 30px;
}
.eldaxo-ui .access-intro { display: block; padding: 36px; border-radius: var(--eldaxo-radius); background: var(--eldaxo-navy); color: var(--eldaxo-white); }
.eldaxo-ui .access-intro h1 { color: var(--eldaxo-white); font-size: clamp(32px, 3.6vw, 46px); font-weight: 700; margin: 24px 0; }
.eldaxo-ui .access-intro .eyebrow { color: #aee6d2; }
.eldaxo-ui .access-intro > p, .eldaxo-ui .access-help p { color: #d9efe7; }
.eldaxo-ui .access-intro .access-help { border-color: #518377; }
.eldaxo-ui .access-intro .access-help h2 { color: var(--eldaxo-white); }
.eldaxo-ui .access-intro .access-help a { color: #b7efda; }
.eldaxo-ui .access-card {
  padding: 30px;
  width: 100%;
  max-width: none;
  margin: 0;
  border: 1px solid var(--eldaxo-line);
  border-top: 3px solid var(--eldaxo-copper);
  border-radius: var(--eldaxo-radius);
  background: var(--eldaxo-white);
}
.eldaxo-ui .access-card h2 { font-family: var(--eldaxo-font); font-size: 1.8rem; font-weight: 700; }
.eldaxo-ui .access-card label { font-size: .9rem; }
.eldaxo-ui .access-card form > button { width: 100%; }
.eldaxo-ui .access-card .secondary, .eldaxo-ui .access-card > a { font-size: .9rem; }
.eldaxo-ui .access-card input, .eldaxo-ui.public-access .compact input { width: 100%; }
.eldaxo-ui.public-access .compact { max-width: 660px; }
.eldaxo-ui.public-access .compact h1 { font-size: clamp(28px, 4vw, 36px); font-weight: 700; }
.eldaxo-ui.public-access .compact .notice { overflow-wrap: anywhere; }

/* Published customer questionnaire: same identity, deliberately no admin nav. */
.eldaxo-ui.customer-survey .customer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: none;
  min-height: 76px;
  margin: 0;
  padding: 0 max(22px, calc((100vw - 1080px) / 2));
  border-bottom-color: #30695e;
  background: var(--eldaxo-navy);
}
.eldaxo-ui.customer-survey .customer-header a { color: var(--eldaxo-white); }
.eldaxo-ui.customer-survey .customer-brand { flex: 0 0 auto; padding: 10px 24px 10px 0; border-right: 1px solid #518377; }
.eldaxo-ui.customer-survey .customer-brand img { width: 46px; height: 46px; object-fit: contain; }
.eldaxo-ui.customer-survey .customer-main { width: 100%; max-width: 1124px; padding: 26px 22px; }
.eldaxo-ui.customer-survey .survey-shell { color: var(--eldaxo-ink); }
.eldaxo-ui.customer-survey .survey-kicker { color: var(--eldaxo-copper); }
.eldaxo-ui.customer-survey .survey-table th { color: var(--eldaxo-ink); background: #e2f0eb; }
.eldaxo-ui.customer-survey .survey-btn.primary, .eldaxo-ui.customer-survey button.primary { background: var(--eldaxo-copper); border-color: var(--eldaxo-copper); color: var(--eldaxo-white); }
.eldaxo-ui.customer-survey .survey-success { border-left-color: #315e49; }
.eldaxo-ui.customer-survey .customer-survey-list { border-color: var(--eldaxo-line); }
.eldaxo-ui.customer-survey .customer-survey-list article { border-color: var(--eldaxo-line); }
.eldaxo-ui.customer-survey .customer-footer { border-color: var(--eldaxo-line); color: var(--eldaxo-muted); font-family: var(--eldaxo-font); }

@media (max-width: 760px) {
  .eldaxo-ui.public-access > .topbar { padding: 10px 20px; gap: 14px; flex-wrap: wrap; }
  .eldaxo-ui.public-access .public-nav { gap: 12px; font-size: .82rem; }
  .eldaxo-ui.public-access .brand.eldaxo-brand { padding-right: 18px; }
  .eldaxo-ui.public-access .app-main main { padding: 26px 20px 36px; }
  .eldaxo-ui.public-access .app-main .wb-footer { margin: 0 20px !important; padding: 20px 0 !important; }
  .eldaxo-ui .access-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .eldaxo-ui .access-intro, .eldaxo-ui .access-card { padding: 26px; }
  .eldaxo-ui .access-intro h1 { font-size: 34px; }
  .eldaxo-ui .identity-home .entry-row { grid-template-columns: 26px minmax(0, 1fr); gap: 14px; }
  .eldaxo-ui .identity-home .entry-row h2 { font-size: 1.25rem; }
  .eldaxo-ui.customer-survey .customer-header { padding: 10px 20px; }
  .eldaxo-ui.customer-survey .customer-header > a:last-child { max-width: 150px; font-size: .85rem; }
}
@media (max-width: 430px) {
  .eldaxo-ui.public-access .public-nav { width: 100%; justify-content: space-between; }
  .eldaxo-ui.public-access .brand.eldaxo-brand { border-right: 0; padding-right: 0; }
  .eldaxo-ui.public-access .public-nav .nav-login { padding: 8px 10px; }
  .eldaxo-ui .access-intro, .eldaxo-ui .access-card { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .eldaxo-ui { scroll-behavior: auto; }
  .eldaxo-ui *, .eldaxo-ui *::before, .eldaxo-ui *::after { transition: none !important; animation: none !important; }
}

/* Klare Linie: quiet surfaces and one prominent action. */
.eldaxo-ui .wb-nav a[aria-current="page"] {
  background: #286859;
  border-bottom-color: #aee6d2;
}
.eldaxo-ui.workbench .wb-hero {
  background: var(--eldaxo-surface) !important;
}
.eldaxo-ui.workbench .wb-summary.line-next {
  background: #dff1e9;
  border: 0;
  border-radius: 6px;
  padding: 18px 22px;
  margin-block: 12px 0;
}
.line-next .wb-actions { margin: 0; }
.line-publication { border-radius: 5px; background: #dff1e9; padding: 8px 14px; width: fit-content; }
.line-shortcuts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 24px;
  border-bottom: 1px solid var(--eldaxo-line);
}
.line-shortcuts a { padding: 16px 18px; text-decoration: none; }
.line-shortcuts a + a { border-left: 1px solid var(--eldaxo-line); }
.line-shortcuts small { display: block; color: var(--eldaxo-muted); }
.line-shortcuts a:hover { background: #e8f4ee; }
.line-cases { margin-bottom: 24px; }
.eldaxo-ui.workbench th { background: #dff1e9; }
.eldaxo-ui.workbench .wb-list article { border-color: var(--eldaxo-line); }
@media (max-width: 620px) {
  .line-shortcuts { grid-template-columns: 1fr; }
  .line-shortcuts a + a { border-left: 0; border-top: 1px solid var(--eldaxo-line); }
}
 
/* Clickable workflow and strategy on Bereiche & Adressen. */
.strategy-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; margin-block: 12px 24px; }
.strategy-path { background: var(--eldaxo-white); border: 1px solid var(--eldaxo-line); border-radius: 6px; padding: 16px 20px; margin-block: 8px; }
.strategy-path h3 { margin-top: 0; }
.strategy-path ol { padding-left: 24px; margin-bottom: 0; }
.strategy-path li { padding: 8px 0 12px 8px; }
.strategy-path li + li { border-top: 1px solid var(--eldaxo-line); }
.strategy-path li::marker { color: var(--eldaxo-copper); font-weight: 700; }
.strategy-path small { display: block; color: var(--eldaxo-muted); }
.strategy-path summary { cursor: pointer; font-weight: 700; }
