#layout {
  width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden;
  display: flex;
  overscroll-behavior: none;
}

#layout > div {
  height: 100% !important;
  min-height: 0 !important;
}

.page-toolbar {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  background: #fff;
  border-bottom: 1px solid #d9e2ef;
}

.page-toolbar .search {
  flex: 1;
}

.page-actions {
  display: flex;
  gap: 8px;
}

.btn-primary-action {
  background: #0b4f84;
  color: white;
  border-radius: 8px;
  padding: 8px 14px;
  border: none;
  font-weight: 600;
}

.btn-secondary-action {
  background: #eef3f8;
  color: #123;
  border-radius: 8px;
  padding: 8px 14px;
  border: 1px solid #d5dee8;
}
.sidebar-host {
  flex: 0 0 240px;
  width: 240px !important;
  height: 100vh !important;
}

.testcap {
margin-left:20px;
}

.app-caption-panel{


  color:var(--color-primary);
  border:none;
  font-size:16px;
  font-weight:600;
  border-bottom:solid;
  border-color :var(--color-primary);
  }

#app-content,
.app-content {
  flex: 1 1 auto;
  min-width: 0;
  /* TMS Web Core benoetigt hier eine konkrete Hoehe.
     40px entsprechen der festen App-Titelzeile oberhalb des Inhalts. */
  height: calc(100vh - 40px) !important;
  height: calc(100dvh - 40px) !important;
  min-height: 0 !important;
  max-height: calc(100vh - 40px) !important;
  max-height: calc(100dvh - 40px) !important;
  overflow: hidden !important;
  overscroll-behavior: none;
  background: #f5f7fb;
  display: block !important;
  box-sizing: border-box;
}

.app-sidebar {
  background: #02396c;
  color: white;
  width: 240px !important;
  height: 100%;
  min-height: 100vh;
  padding: 20px 14px;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.sidebar-logo {
  flex: 0 0 auto;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
}

.sidebar-user {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  margin-bottom: 28px;
  border-radius: 14px;
  background: rgba(255,255,255,.10);
}

.sidebar-user-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.22);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  flex-shrink: 0;
}

.sidebar-user-info {
  min-width: 0;
}

.sidebar-user-name {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-logout {
  margin-top: 3px;
  font-size: 12px;
  color: rgba(255,255,255,.75);
  cursor: pointer;
  text-decoration: none;
}


.sidebar-logout:hover {
  color: #fff;
  text-decoration: underline;
}

.sidebar-footer {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 12px;
}

.sidebar-support-slot {
  flex: 1 1 auto;
  min-width: 0;
}

.sidebar-support-button {
  width: 100%;
  min-width: 0;
  height: 36px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 0;
  border-radius: 18px;
  background: #f28c18;
  color: #063f6c;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  box-sizing: border-box;
  box-shadow: none;
}

.sidebar-support-button .material-icons {
  flex: 0 0 auto;
  font-size: 19px;
  color: inherit;
}

.sidebar-support-button:hover,
.sidebar-support-button:focus-visible,
.sidebar-support-button.active {
  border: 0;
  background: #f5a13f;
  color: #063f6c;
  outline: none;
  box-shadow: none;
}

.sidebar-support-button > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Bei geöffneten Arbeits-Overlays wird derselbe Support-Launcher kurzzeitig
   aus dem Sidebar-Footer in eine globale Ebene geportalt. */
.sidebar-support-button.is-overlay-access {
  position: fixed !important;
  left: 18px !important;
  bottom: 18px !important;
  z-index: 130100 !important;
  width: auto !important;
  min-width: 148px !important;
  max-width: min(210px, calc(100vw - 36px)) !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .24) !important;
}

.xcraft-support-open .sidebar-support-button {
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 760px) {
  .sidebar-support-button.is-overlay-access {
    left: 12px !important;
    bottom: 12px !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
  }
}

.sidebar-account {
  position: relative;
  flex: 0 0 auto;
  margin-top: 0;
  padding-top: 0;
}

.sidebar-account-button {
  width: 36px;
  height: 36px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  cursor: pointer;
  box-sizing: border-box;
  outline: none;
  box-shadow: none;
}

.sidebar-account-button:hover,
.sidebar-account-button:focus-visible,
.sidebar-account.is-open .sidebar-account-button {
  border: 0;
  background: transparent;
  outline: none;
  box-shadow: none;
}

.sidebar-account-button .sidebar-user-avatar {
  width: 34px;
  height: 34px;
  font-size: 12px;
}

.sidebar-account-menu {
  display: none;
  position: absolute;
  left: 0;
  bottom: calc(100% + 8px);
  z-index: 1600;
  width: 208px;
  padding: 8px;
  box-sizing: border-box;
  border: 1px solid #d9e2ef;
  border-radius: 8px;
  background: #fff;
  color: #1f2933;
  box-shadow: 0 14px 34px rgba(15,23,42,.22);
}

.sidebar-account.is-open .sidebar-account-menu {
  display: block;
}

.sidebar-account-name {
  overflow: hidden;
  padding: 6px 8px 9px;
  color: #1f2933;
  font-size: 13px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-account-logout {
  width: 100%;
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #334155;
  font-family: inherit;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}

.sidebar-account-logout .material-icons {
  font-size: 18px;
}

.sidebar-account-logout:hover,
.sidebar-account-logout:focus-visible {
  background: #eef3f8;
  color: #063f6c;
  outline: none;
}

.sidebar-menu,
.menu-group,
.submenu {
  width: 100%;
  box-sizing: border-box;
}

.sidebar-menu {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-right: 4px;
  scrollbar-gutter: stable;
}

.menu,
.submenu-item {
  cursor: pointer;
  user-select: none;
  box-sizing: border-box;
}

.menu {
  display: grid;
  grid-template-columns: 24px 1fr 24px;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 11px 12px;
  border-radius: 10px;
  color: rgba(255,255,255,.82);
}

.menu:not(.menu-toggle) {
  grid-template-columns: 24px 1fr;
}

.menu:hover,
.submenu-item:hover {
  background: rgba(255,255,255,.10);
  color: #fff;
}

.menu.active {
  background: #fff;
  color: #02396c;
  font-weight: 600;
}

.menu-chevron {
  transition: transform .2s ease;
}

.menu-toggle.collapsed .menu-chevron {
  transform: rotate(-90deg);
}

.submenu {
  display: block;
  margin: 4px 0 8px 0;
  padding-left: 34px;
  overflow: hidden;
}

.submenu.collapsed {
  display: none;
}

.submenu-item {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 36px;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
  color: rgba(255,255,255,.72);
}

.submenu-item span {
  display: block;
  width: 100%;
  pointer-events: none;
}

.submenu-item.active {
  background: rgba(255,255,255,.18);
  color: #fff;
  font-weight: 600;
}

.sidebar-backdrop,
.mobile-menu-button {
  display: none;
}

@media (max-width: 1400px) {
  .sidebar-host {
    position: fixed !important;
    left: 0;
    top: 0;
    width: 0 !important;
    height: 0 !important;
    flex: 0 0 0 !important;
    z-index: 1000;
  }

  #app-content,
  .app-content {
    flex: 1 1 100%;
    width: 100% !important;
    padding-top: 0;
  }

  .mobile-menu-button {
    display: flex;
    position: fixed;
    top: 3px;
    left: 10px;
    z-index: 900;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 9px;
    background: #02396c;
    color: #fff;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(0,0,0,.22);
  }

  body.sidebar-open .mobile-menu-button {
    display: none;
  }

  .app-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: min(280px, 86vw) !important;
    height: 100vh;
    height: 100dvh;
    z-index: 1000;
    transform: translateX(-100%);
    transition: transform .2s ease;
  }

  body.sidebar-open .app-sidebar {
    transform: translateX(0);
  }

  body.sidebar-open .sidebar-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.35);
    z-index: 999;
  }
}

/* Pflicht-Overlay Firmendaten nach Login */
.firma-required-open {
  overflow: hidden;
}

.firma-required-overlay {
  position: fixed;
  inset: 0;
  z-index: 120000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
  background: rgba(15, 23, 42, 0.44);
  backdrop-filter: blur(2px);
}

.firma-required-dialog {
  width: min(760px, calc(100vw - 40px));
  max-height: calc(100vh - 40px);
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 5px;
  box-shadow: 0 20px 56px rgba(15, 23, 42, 0.28);
  overflow: hidden;
}

.firma-required-header {
  flex: 0 0 auto;
  padding: 12px 16px;
  border-bottom: 1px solid #e5e7eb;
  background: #ffffff;
}

.firma-required-title {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  color: #0f172a;
}

.firma-required-subtitle {
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.3;
  color: #475569;
}

.firma-required-body {
  flex: 1 1 auto;
  overflow: auto;
  padding: 12px 16px 14px 16px;
  background: #f8fafc;
}

.firma-required-section-title {
  margin-bottom: 7px;
  color: var(--color-primary);
  font-size: 13px;
  font-weight: 700;
}

.firma-required-section-title-gap {
  margin-top: 14px;
}

.firma-required-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}

.firma-required-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.firma-required-field-wide {
  grid-column: span 2;
}

.firma-required-plz {
  grid-column: span 1;
}

.firma-required-ort {
  grid-column: span 1;
}

.firma-required-field span {
  color: #475569;
  font-size: 12px;
  font-weight: 600;
}

.firma-required-field input,
.firma-required-field select {
  width: 100%;
  height: 28px;
  min-height: 28px;
  box-sizing: border-box;
  border: 1px solid var(--color-border);
  border-radius: 2px;
  background: #fafafa;
  color: #0f172a;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.25;
  padding: 4px 8px;
  outline: none;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}

.firma-required-field select {
  padding-right: 28px;
  background-image: linear-gradient(45deg, transparent 50%, #64748b 50%), linear-gradient(135deg, #64748b 50%, transparent 50%);
  background-position: calc(100% - 14px) 11px, calc(100% - 9px) 11px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.firma-required-field input:focus,
.firma-required-field select:focus {
  border-color: var(--color-primary);
  background: #ffffff;
}

.firma-required-error {
  margin: 10px 16px 0 16px;
  padding: 8px 10px;
  border: 1px solid #fecaca;
  border-radius: 3px;
  background: #fef2f2;
  color: #991b1b;
  font-size: 12px;
  font-weight: 600;
}

.firma-required-hint {
  margin-top: 10px;
  padding: 8px 10px;
  border: 1px solid #d9e2ef;
  border-radius: 3px;
  background: #ffffff;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.firma-required-footer {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 10px 16px;
  border-top: 1px solid #e5e7eb;
  background: #ffffff;
}

.firma-required-button {
  min-width: 92px;
  height: 30px;
  border-radius: 2px;
  padding: 0 12px;
  border: 1px solid #d5dee8;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

.firma-required-button:disabled {
  opacity: 0.65;
  cursor: default;
}

.firma-required-button-secondary {
  background: #eef3f8;
  color: #123;
}

.firma-required-button-primary {
  background: var(--color-primary);
  color: #ffffff;
  border-color: var(--color-primary);
}

@media (max-width: 760px) {
  .firma-required-overlay {
    padding: 10px;
  }

  .firma-required-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }

  .firma-required-grid {
    grid-template-columns: 1fr;
  }

  .firma-required-field-wide,
  .firma-required-plz,
  .firma-required-ort {
    grid-column: span 1;
  }

  .firma-required-footer {
    flex-direction: column-reverse;
  }

  .firma-required-button {
    width: 100%;
  }
}

/* Einstellungen */
.settings-root-host {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
}

.settings-page {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  background: #f5f7fb;
}

.settings-subnav {
  flex: 0 0 224px;
  width: 224px;
  height: 100%;
  box-sizing: border-box;
  padding: 12px 10px;
  background: #ffffff;
  border-right: 1px solid #d9e2ef;
  overflow-y: auto;
}

.settings-subnav-kicker,
.settings-subnav-title {
  display: none;
}

.settings-subnav-item {
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 34px;
  margin: 0 0 4px 0;
  padding: 7px 9px;
  box-sizing: border-box;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  color: #334155;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  text-decoration: none;
}

.settings-subnav-item .material-icons {
  color: #64748b;
  font-size: 19px;
}

.settings-subnav-item:hover {
  background: #f1f5f9;
  color: var(--color-primary);
}

.settings-subnav-item:hover .material-icons {
  color: var(--color-primary);
}

.settings-subnav-item.active {
  background: rgba(6, 63, 108, .08);
  border-color: rgba(6, 63, 108, .20);
  color: var(--color-primary);
  font-weight: 700;
}

.settings-subnav-item.active .material-icons {
  color: var(--color-primary);
}

.settings-content {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  overflow: auto;
  padding: 12px;
  box-sizing: border-box;
  background: #f5f7fb;
}

.settings-content-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 5px;
  padding: 14px;
  max-width: 1100px;
  min-height: 0;
  box-sizing: border-box;
}

.settings-content-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid #e5e7eb;
  background: #ffffff;
}

.settings-content-title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.2;
}

.settings-content-subtitle {
  margin-top: 2px;
  max-width: 760px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.settings-section-body {
  padding: 0;
}

.settings-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.settings-detail-section-wide {
  grid-column: span 2;
  margin-top: 0;
}

.settings-detail-intro,
.settings-detail-text {
  color: #0f172a;
  font-size: 13px;
  line-height: 1.45;
  word-break: break-word;
}

.settings-detail-text {
  color: #475569;
}

/* Unternehmensdaten */
.settings-company-page {
  display: grid;
  gap: 12px;
}

.settings-company-page > .address-edit-error,
.settings-company-page > .settings-save-success {
  margin: 0;
}

.settings-company-intro {
  margin-bottom: 12px;
  color: #64748b;
}

.settings-company-grid {
  align-items: start;
}

.settings-company-grid + .settings-company-grid,
.settings-company-subsection {
  margin-top: 14px;
}

.settings-company-subsection {
  padding-top: 14px;
  border-top: 1px solid #e5e7eb;
}

.settings-company-subtitle {
  grid-column: 1 / -1;
  margin-bottom: 8px;
  color: #063f6c;
  font-size: 12px;
  font-weight: 700;
}

.settings-company-page select.address-edit-control {
  min-height: 28px;
  padding: 3px 8px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 2px !important;
  background: #fafafa;
  color: #0f172a;
  font-family: inherit;
  font-size: 14px !important;
}

.settings-company-page .address-edit-field textarea.edit {
  min-height: 58px !important;
}

.settings-company-field-error > span {
  color: #b42318;
}

.settings-company-field-error .address-edit-control {
  border-color: #d92d20 !important;
  background: #fff7f6;
}

.settings-company-actions {
  position: sticky;
  bottom: -1px;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  padding: 12px 0 2px;
  border-top: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, 0.96);
}

.settings-company-required-note {
  margin-right: auto;
  color: #64748b;
  font-size: 11px;
}

@media (min-width: 760px) {
  .settings-company-page .settings-detail-section-wide .settings-company-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .settings-company-page .settings-detail-section-wide .settings-company-grid .address-edit-field {
    grid-column: span 3;
  }

  .settings-company-page .settings-detail-section-wide .settings-company-grid .address-edit-field-wide {
    grid-column: span 6;
  }

  .settings-company-page .settings-detail-section-wide .settings-company-grid .settings-company-plz {
    grid-column: span 1;
  }

  .settings-company-page .settings-detail-section-wide .settings-company-grid .settings-company-ort {
    grid-column: span 4;
  }

  .settings-company-page .settings-detail-section-wide .settings-company-grid .settings-company-land {
    grid-column: span 1;
  }
}

/* Alt-Klassen aus der ersten Einstellungsvariante bewusst neutral halten */
.settings-placeholder,
.settings-placeholder-grid {
  display: block;
}

@media (max-width: 980px) {
  .settings-page {
    flex-direction: column;
    overflow: auto;
  }

  .settings-subnav {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
    padding: 10px;
    border-right: none;
    border-bottom: 1px solid #d9e2ef;
  }

  .settings-subnav-item {
    margin: 0;
  }

  .settings-content {
    height: auto;
    overflow: visible;
  }
}

@media (max-width: 640px) {
  .settings-subnav {
    grid-template-columns: 1fr;
  }

  .settings-content {
    padding: 12px;
  }

  .settings-content-card {
    padding: 12px;
  }

  .settings-detail-grid {
    grid-template-columns: 1fr;
  }

  .settings-detail-section-wide {
    grid-column: span 1;
  }
}

/* Layouteinstellungen */
.settings-mail-page { display:grid; gap:10px; }
.settings-mail-toolbar { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:14px; }
.settings-mail-list,.settings-mail-users { display:grid; gap:8px; margin-top:12px; }
.settings-mail-card { width:100%; display:grid; grid-template-columns:28px minmax(0,1fr) auto 24px; gap:10px; align-items:center; padding:11px 12px; border:1px solid #d9e2ef; border-radius:4px; background:#fff; color:#0f172a; text-align:left; cursor:pointer; }
.settings-mail-card:hover { border-color:var(--color-primary); background:#f8fbff; }
.settings-mail-card > .material-icons { color:var(--color-primary); font-size:21px; }
.settings-mail-card strong,.settings-mail-card small,.settings-mail-user strong,.settings-mail-user small { display:block; }
.settings-mail-card small,.settings-mail-user small { margin-top:2px; color:#64748b; font-size:12px; }
.settings-mail-badges { display:flex; gap:5px; }
.settings-mail-badges em { padding:3px 7px; border-radius:10px; background:rgba(6,63,108,.10); color:var(--color-primary); font-size:11px; font-style:normal; font-weight:700; }
.settings-mail-badges em.inactive { background:#f1f5f9; color:#64748b; }
.settings-mail-user { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,360px); gap:12px; align-items:center; padding:9px 0; border-bottom:1px solid #e5e7eb; }
.settings-mail-dialog { width:min(760px,calc(100vw - 24px)); max-height:calc(100vh - 24px); }
.settings-mail-dialog .address-edit-body { overflow-y:auto; }
.settings-mail-form,.settings-mail-subgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.settings-mail-wide,.settings-mail-group-title { grid-column:span 2; }
.settings-mail-group-title { margin-top:5px; padding-top:10px; border-top:1px solid #e5e7eb; color:#0f172a; font-size:13px; font-weight:700; }
.settings-mail-check { display:flex; gap:8px; align-items:center; color:#334155; font-size:13px; }
.settings-mail-subgrid { transition:opacity .15s ease; }
.settings-mail-subgrid.is-disabled { opacity:.45; pointer-events:none; }
@media (max-width:640px) {
  .settings-mail-toolbar { flex-direction:column; }
  .settings-mail-card { grid-template-columns:24px minmax(0,1fr) 22px; }
  .settings-mail-badges { grid-column:2; }
  .settings-mail-user,.settings-mail-form,.settings-mail-subgrid { grid-template-columns:1fr; }
  .settings-mail-wide,.settings-mail-group-title { grid-column:span 1; }
}

/* Layouteinstellungen */
.settings-layout-page {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.settings-layout-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.settings-layout-actions,
.settings-layout-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.settings-small-button {
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 4px;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #334155;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}

.settings-small-button.primary {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: #ffffff;
}

.settings-small-button.secondary {
  border-color: rgba(6, 63, 108, .25);
  background: rgba(6, 63, 108, .06);
  color: var(--color-primary);
}

.settings-small-button.ghost {
  border-color: transparent;
  background: transparent;
  color: #64748b;
}

.settings-small-button:hover {
  filter: brightness(.98);
}

.settings-layout-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 8px;
}

.settings-layout-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 5px;
  background: #ffffff;
}

.settings-layout-card-title {
  color: #0f172a;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
}

.settings-layout-card-meta {
  margin-top: 2px;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
}

.settings-layout-card-sub {
  margin-top: 2px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.settings-layout-loading,
.settings-layout-empty,
.settings-layout-error {
  padding: 10px 12px;
  border-radius: 5px;
  background: #f8fafc;
  color: #64748b;
  font-size: 13px;
}

.settings-layout-error {
  border: 1px solid #fecaca;
  background: #fff1f2;
  color: #be123c;
}

.settings-default-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.settings-default-card {
  padding: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 5px;
  background: #ffffff;
}

.settings-default-title {
  margin-bottom: 8px;
  color: #0f172a;
  font-size: 13px;
  font-weight: 800;
}

.settings-default-row {
  display: grid;
  grid-template-columns: 86px 1fr;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  color: #475569;
  font-size: 12px;
}

.settings-default-row:last-child {
  margin-bottom: 0;
}

.settings-default-select {
  width: 100%;
  height: 30px;
  box-sizing: border-box;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  background: #ffffff;
  color: #0f172a;
  font-size: 12px;
  font-family: inherit;
}

@media (max-width: 900px) {
  .settings-layout-toolbar,
  .settings-layout-card {
    grid-template-columns: 1fr;
    display: grid;
  }

  .settings-default-grid {
    grid-template-columns: 1fr;
  }
}

.settings-letterhead-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.settings-letterhead-row label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 4px 8px;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #f8fafc;
  color: #334155;
  font-size: 12px;
  font-weight: 700;
}

.settings-letterhead-row input {
  max-width: 180px;
  color: #64748b;
  font-size: 11px;
}

/* Expertenmodus Layout */
.settings-expert-section.is-hidden {
  display: none;
}

.settings-expert-head,
.settings-expert-block-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.settings-expert-basic {
  display: grid;
  grid-template-columns: minmax(220px, 2fr) repeat(4, minmax(90px, 1fr));
  gap: 8px;
  margin: 10px 0 12px;
}

.settings-expert-basic label,
.settings-expert-inspector label,
.settings-expert-column-row label {
  display: grid;
  gap: 4px;
  color: #475569;
  font-size: 11px;
  font-weight: 700;
}

.settings-expert-basic input,
.settings-expert-inspector input,
.settings-expert-inspector select,
.settings-expert-inspector textarea,
.settings-expert-row input,
.settings-expert-row select,
.settings-expert-row textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  background: #ffffff;
  color: #0f172a;
  font-family: inherit;
  font-size: 12px;
}

.settings-expert-basic input,
.settings-expert-inspector input,
.settings-expert-inspector select,
.settings-expert-row input,
.settings-expert-row select {
  height: 32px;
  padding: 4px 7px;
}

.settings-expert-inspector textarea,
.settings-expert-row textarea {
  min-height: 72px;
  padding: 6px 7px;
  resize: vertical;
}

.settings-expert-designer {
  display: grid;
  grid-template-columns: minmax(560px, 1fr) minmax(280px, 340px);
  gap: 16px;
  align-items: start;
  margin: 14px 0;
}

.settings-expert-stage-panel,
.settings-expert-inspector {
  min-width: 0;
  border: 1px solid #dbe4ec;
  border-radius: 8px;
  background: #f8fafc;
}

.settings-expert-stage-panel {
  padding: 12px;
}

.settings-expert-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.settings-expert-page-tabs,
.settings-expert-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.settings-expert-page-tab {
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  background: #ffffff;
  color: #475569;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.settings-expert-page-tab.is-active {
  border-color: #063f6c;
  background: #063f6c;
  color: #ffffff;
}

.settings-expert-stage-scroll {
  overflow: auto;
  padding: 18px;
  border-radius: 6px;
  background:
    linear-gradient(45deg, #e8edf2 25%, transparent 25%),
    linear-gradient(-45deg, #e8edf2 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #e8edf2 75%),
    linear-gradient(-45deg, transparent 75%, #e8edf2 75%);
  background-position: 0 0, 0 8px, 8px -8px, -8px 0;
  background-size: 16px 16px;
}

.settings-expert-a4 {
  position: relative;
  width: min(100%, 630px);
  aspect-ratio: 210 / 297;
  margin: 0 auto;
  overflow: hidden;
  background-color: #ffffff;
  background-image:
    linear-gradient(to right, rgba(6, 63, 108, .06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(6, 63, 108, .06) 1px, transparent 1px);
  background-size: calc(100% / 21) calc(100% / 29.7);
  box-shadow: 0 8px 28px rgba(15, 23, 42, .22);
  user-select: none;
  touch-action: none;
}

.settings-expert-letterhead-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: none;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
}

.settings-expert-letterhead-image.is-visible {
  display: block;
}

.settings-expert-canvas-elements {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.settings-expert-canvas-element {
  position: absolute;
  min-width: 8px;
  min-height: 8px;
  overflow: hidden;
  border: 1px dashed rgba(6, 63, 108, .72);
  border-radius: 3px;
  background: rgba(6, 63, 108, .08);
  color: #063f6c;
  cursor: move;
}

.settings-expert-canvas-element:hover,
.settings-expert-canvas-element.is-selected {
  border-style: solid;
  border-color: #cc7588;
  background: rgba(204, 117, 136, .12);
  box-shadow: 0 0 0 2px rgba(204, 117, 136, .16);
}

.settings-expert-canvas-label {
  display: block;
  max-width: 100%;
  padding: 3px 5px;
  overflow: hidden;
  color: inherit;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.settings-expert-resize-handle {
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 12px;
  height: 12px;
  border-radius: 2px 0 0 0;
  background: #cc7588;
  cursor: nwse-resize;
}

.settings-expert-stage-hint {
  margin-top: 8px;
  color: #64748b;
  font-size: 11px;
  text-align: center;
}

.settings-expert-inspector {
  position: sticky;
  top: 12px;
  padding: 12px;
}

.settings-expert-inspector-content {
  display: grid;
  gap: 9px;
  margin-top: 8px;
}

.settings-expert-inspector-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.settings-expert-inspector-check {
  display: flex !important;
  align-items: center;
  align-self: end;
  min-height: 32px;
  padding: 0 8px;
  border: 1px solid #dbe4ec;
  border-radius: 4px;
  background: #ffffff;
}

.settings-expert-inspector-check input {
  width: auto;
  height: auto;
  margin-right: 6px;
}

.settings-expert-empty-inspector {
  padding: 14px;
  border: 1px dashed #cbd5e1;
  border-radius: 6px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}


.settings-expert-typography {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid #dbe4ec;
  border-radius: 6px;
  background: #ffffff;
}

.settings-expert-typography-title {
  color: #334155;
  font-size: 11px;
  font-weight: 800;
}

.settings-expert-typography-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(82px, .7fr) minmax(0, 1fr);
  gap: 8px;
  align-items: end;
}

.settings-expert-color-control {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 6px;
  align-items: center;
}

.settings-expert-color-control input[type="color"] {
  width: 42px;
  height: 32px;
  padding: 2px;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  background: #ffffff;
  cursor: pointer;
}

.settings-expert-color-control input[type="text"],
.settings-expert-color-control input:not([type]) {
  min-width: 0;
}

.settings-expert-format-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.settings-expert-format-button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 31px;
  padding: 5px 9px;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  background: #f8fafc;
  color: #334155;
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.settings-expert-format-button > strong,
.settings-expert-format-button > em,
.settings-expert-format-button > u {
  min-width: 13px;
  color: #0f172a;
  font-size: 13px;
  text-align: center;
}

.settings-expert-format-button.is-active {
  border-color: #063f6c;
  background: #e9f2f8;
  color: #063f6c;
  box-shadow: inset 0 0 0 1px rgba(6, 63, 108, .08);
}

.settings-expert-format-button.reset {
  margin-left: auto;
}

.settings-expert-font-hint {
  color: #64748b;
  font-size: 10px;
  line-height: 1.35;
}

.settings-expert-content-editor {
  display: grid;
  gap: 7px;
  padding-top: 2px;
}

.settings-expert-content-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.settings-expert-content-head label {
  margin: 0;
}

.settings-expert-content-hint {
  color: #64748b;
  font-size: 10px;
  line-height: 1.35;
}

.settings-expert-placeholder-menu {
  display: grid;
  gap: 8px;
  max-height: 280px;
  padding: 9px;
  overflow: auto;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .12);
}

.settings-expert-placeholder-menu.is-hidden {
  display: none;
}

.settings-expert-placeholder-group {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.settings-expert-placeholder-group strong {
  flex: 0 0 100%;
  color: #334155;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.settings-expert-placeholder-option {
  min-height: 28px;
  padding: 4px 8px;
  border: 1px solid #dbe4ec;
  border-radius: 4px;
  background: #f8fafc;
  color: #334155;
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.settings-expert-placeholder-option:hover {
  border-color: #063f6c;
  background: #eef5fa;
  color: #063f6c;
}

.settings-expert-automatic-content {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border: 1px solid #dbe4ec;
  border-radius: 5px;
  background: #f8fafc;
}

.settings-expert-automatic-content span {
  color: #64748b;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.settings-expert-automatic-content strong {
  color: #0f172a;
  font-size: 12px;
}

.settings-expert-automatic-content small {
  color: #64748b;
  font-size: 10px;
  line-height: 1.35;
}

.settings-expert-list-title {
  margin-top: 18px;
}

.settings-expert-element-list {
  display: grid;
  gap: 6px;
  max-height: 320px;
  margin-top: 8px;
  overflow: auto;
}

.settings-expert-element-card {
  display: grid;
  gap: 2px;
  width: 100%;
  padding: 8px 9px;
  border: 1px solid #dbe4ec;
  border-radius: 5px;
  background: #ffffff;
  color: #334155;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.settings-expert-element-card:hover,
.settings-expert-element-card.is-selected {
  border-color: #cc7588;
  background: #fff7f9;
}

.settings-expert-element-card-name {
  font-size: 12px;
  font-weight: 800;
}

.settings-expert-element-card-meta {
  color: #64748b;
  font-size: 10px;
}

.settings-expert-placeholder-box {
  margin-bottom: 12px;
  padding: 8px 10px;
  border: 1px solid #e2e8f0;
  border-radius: 5px;
  background: #f8fafc;
  color: #475569;
  font-size: 12px;
  line-height: 1.4;
}

.settings-expert-block {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #e2e8f0;
}

.settings-expert-layout-basics {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .8fr);
  gap: 12px;
  align-items: stretch;
  margin: 12px 0 14px;
}

.settings-expert-layout-basics > .settings-expert-block {
  min-width: 0;
  margin-top: 0;
  padding: 12px;
  border: 1px solid #dbe4ec;
  border-radius: 6px;
  background: #ffffff;
}

.settings-expert-default-typography .settings-layout-default-typography {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(105px, .45fr);
  gap: 10px;
  align-items: end;
  margin-top: 10px;
}

.settings-expert-default-typography .settings-layout-default-typography > label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
}

.settings-expert-default-typography .settings-layout-default-typography select {
  width: 100%;
  height: 32px;
  min-height: 32px;
  box-sizing: border-box;
  padding: 4px 7px;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  font-size: 12px;
}

.settings-expert-default-typography .settings-layout-default-typography input[type="color"] {
  width: 100%;
  height: 32px;
  min-height: 32px;
  box-sizing: border-box;
  padding: 2px;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  background: #ffffff;
  cursor: pointer;
}

.settings-expert-default-typography .settings-layout-default-typography select:focus,
.settings-expert-default-typography .settings-layout-default-typography input[type="color"]:focus {
  border-color: #063f6c;
  outline: 2px solid rgba(6, 63, 108, .08);
}

.settings-expert-row {
  margin-bottom: 8px;
  padding: 9px;
  border: 1px solid #e2e8f0;
  border-radius: 5px;
  background: #ffffff;
}

.settings-expert-check {
  display: inline-flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 5px !important;
  white-space: nowrap;
  color: #334155;
  font-size: 12px;
}

.settings-expert-check input {
  width: auto;
  height: auto;
}

.settings-expert-column-row {
  display: grid;
  grid-template-columns: minmax(120px, 1.1fr) minmax(140px, 1.2fr) minmax(75px, .65fr) minmax(75px, .65fr) minmax(100px, .85fr) minmax(90px, .7fr) auto auto;
  align-items: center;
  gap: 8px;
}

@media (max-width: 1180px) {
  .settings-expert-layout-basics {
    grid-template-columns: 1fr;
  }

  .settings-expert-designer {
    grid-template-columns: 1fr;
  }

  .settings-expert-inspector {
    position: static;
  }
}

@media (max-width: 760px) {
  .settings-expert-default-typography .settings-layout-default-typography,
  .settings-expert-basic,
  .settings-expert-column-row,
  .settings-expert-inspector-grid,
  .settings-expert-typography-grid {
    grid-template-columns: 1fr;
  }

  .settings-expert-head,
  .settings-expert-block-head,
  .settings-expert-toolbar {
    display: grid;
    grid-template-columns: 1fr;
  }

  .settings-expert-stage-scroll {
    padding: 8px;
  }
}


/* Belegbearbeitung: erste Basis für WYSIWYG-/Render-Integration */
.beleg-editor-layout {
  display: grid;
  grid-template-columns: minmax(360px, 0.95fr) minmax(360px, 1.05fr);
  gap: 20px;
  align-items: start;
}

.beleg-form-card {
  min-width: 0;
}

.beleg-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.beleg-project-field {
  grid-column: 1 / -1;
}

.beleg-preview-shell {
  min-height: calc(100vh - 180px);
  overflow: auto;
  padding: 10px 0 24px;
  display: flex;
  justify-content: center;
}

.beleg-preview-paper {
  width: min(100%, 420px);
  aspect-ratio: 210 / 297;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 4px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
  padding: 42px 34px;
  color: #1f2937;
  font-size: 9px;
  position: relative;
}

.beleg-preview-letterhead {
  height: 54px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.beleg-preview-address {
  margin-top: 34px;
  width: 48%;
  min-height: 60px;
  line-height: 1.45;
  border: 1px dashed rgba(15, 23, 42, 0.16);
  padding: 8px;
  color: #475569;
}

.beleg-preview-title {
  margin-top: 34px;
  font-size: 18px;
  font-weight: 700;
  color: #063f6c;
}

.beleg-preview-meta {
  margin-top: 8px;
  color: #64748b;
}

.beleg-preview-table {
  margin-top: 28px;
  border-top: 1px solid rgba(15, 23, 42, 0.25);
}

.beleg-preview-row {
  display: grid;
  grid-template-columns: 32px 1fr 58px;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.12);
}

.beleg-preview-row.head {
  font-weight: 700;
  color: #063f6c;
}

.beleg-preview-row span:last-child {
  text-align: right;
}

.beleg-preview-sum {
  position: absolute;
  right: 34px;
  bottom: 58px;
  width: 120px;
  border-top: 1px solid rgba(15, 23, 42, 0.35);
  padding-top: 8px;
  text-align: right;
  font-weight: 700;
}

#belegStatus.is-error {
  color: #b91c1c;
}

@media (max-width: 1050px) {
  .beleg-editor-layout {
    grid-template-columns: 1fr;
  }

  .beleg-preview-shell {
    min-height: auto;
  }
}

/* Belegbearbeitung: WYSIWYG-orientierter Ablauf mit Overlay-Bearbeitung */
.beleg-wysiwyg-page {
  min-width: 0;
}

.beleg-wysiwyg-toolbar {
  margin-bottom: 12px;
}

.beleg-wysiwyg-stage {
  min-height: calc(100vh - 110px);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.beleg-wysiwyg-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 0 2px;
}

.beleg-wysiwyg-hint {
  color: #64748b;
  font-size: 13px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  padding: 8px 12px;
  white-space: nowrap;
}

.beleg-workspace {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: minmax(520px, 1fr) 190px;
  gap: 18px;
  align-items: start;
}

.beleg-preview-shell-large {
  min-height: calc(100vh - 180px);
  padding: 12px 0 32px;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.55), rgba(241, 245, 249, 0.8));
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 18px;
}

.beleg-preview-paper-large {
  width: min(100%, 620px);
  padding: 62px 52px;
  font-size: 12px;
}

.beleg-click-zone {
  position: relative;
  border-radius: 7px;
  transition: background-color .12s ease, outline-color .12s ease, box-shadow .12s ease;
}

.beleg-click-zone:hover {
  outline: 2px solid rgba(6, 63, 108, 0.28);
  background: rgba(6, 63, 108, 0.035);
  box-shadow: 0 0 0 4px rgba(6, 63, 108, 0.035);
  cursor: pointer;
}

.beleg-click-zone-header {
  padding: 1px;
}

.beleg-click-zone-position {
  margin-left: -6px;
  margin-right: -6px;
  padding-left: 6px;
  padding-right: 6px;
}

.beleg-click-zone-sum:hover {
  background: rgba(6, 63, 108, 0.05);
}

.beleg-insert-sidebar {
  position: sticky;
  top: 14px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.beleg-insert-title {
  font-size: 13px;
  font-weight: 700;
  color: #063f6c;
  margin-bottom: 10px;
}

.beleg-insert-button {
  width: 100%;
  min-height: 34px;
  border: 1px solid rgba(6, 63, 108, 0.16);
  border-radius: 10px;
  background: #f8fafc;
  color: #334155;
  font-weight: 600;
  margin-bottom: 8px;
}

.beleg-insert-button:disabled {
  opacity: .65;
}

.beleg-insert-note {
  color: #64748b;
  font-size: 12px;
  line-height: 1.4;
  margin-top: 6px;
}

.beleg-modal-overlay .address-edit-dialog {
  max-width: 760px;
}

.beleg-initial-dialog {
  max-width: 560px !important;
}

.beleg-header-dialog {
  max-width: 820px !important;
}

.beleg-position-dialog {
  max-width: 620px !important;
}

@media (max-width: 1100px) {
  .beleg-workspace {
    grid-template-columns: 1fr;
  }

  .beleg-insert-sidebar {
    position: static;
    display: none;
  }

  .beleg-wysiwyg-headline {
    flex-direction: column;
  }

  .beleg-wysiwyg-hint {
    white-space: normal;
  }
}

.beleg-project-search-field {
  position: relative;
}

.beleg-project-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.beleg-project-search-hint {
  margin-top: 7px;
}

.beleg-project-search-results {
  margin-top: 8px;
  max-height: 190px;
  overflow: auto;
  border: 1px solid rgba(6, 63, 108, 0.14);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.beleg-project-suggestion-item {
  width: 100%;
  text-align: left;
  display: block;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  background: #ffffff;
  color: #0f172a;
  cursor: pointer;
}

.beleg-project-suggestion-item:hover {
  background: rgba(6, 63, 108, 0.06);
}

.project-belege-section {
  margin-top: 14px;
}

.address-single-section-subtitle {
  color: #64748b;
  font-size: 12px;
  margin-top: 2px;
}

.project-belege-status-error {
  color: #b91c1c;
}

.project-belege-list {
  display: grid;
  margin-top: 10px;
}

/* Shared document row appearance: list-rows.css. */



.project-beleg-sub { margin-top: 3px; }

/* Belegbearbeitung: kompakter fixer Header + scrollbare DIN-A4-Vorschau */
#beleg-single-root,
.beleg-wysiwyg-page {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.beleg-wysiwyg-page {
  display: flex;
  flex-direction: column;
  background: #f5f7fb;
}

.beleg-topbar {
  flex: 0 0 auto;
  min-height: 56px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 7px 14px;
  background: #ffffff;
  border-bottom: 1px solid #d9e2ef;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  z-index: 5;
}

.beleg-top-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.beleg-back-button {
  height: 32px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 10px;
  border: 1px solid #d5dee8;
  border-radius: 8px;
  background: #eef3f8;
  color: #123;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.beleg-back-button .material-icons {
  font-size: 17px;
  line-height: 1;
}

.beleg-back-button:hover {
  background: #e2eaf3;
}

.beleg-top-titleblock {
  min-width: 0;
}

.beleg-top-kicker {
  color: #64748b;
  font-size: 10px;
  line-height: 1.1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.beleg-top-titleline {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  margin-top: 1px;
}

.beleg-top-number {
  flex: 0 0 auto;
  color: #063f6c;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;
}

.beleg-top-title {
  min-width: 0;
  overflow: hidden;
  color: #0f172a;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.beleg-top-status {
  margin-top: 2px;
  max-width: 620px;
  overflow: hidden;
  color: #64748b;
  font-size: 11px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.beleg-top-status.is-error,
#belegStatus.is-error {
  color: #b91c1c;
}

.beleg-top-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
}

.beleg-zoom-control {
  height: 32px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 8px;
  border: 1px solid #d5dee8;
  border-radius: 8px;
  background: #ffffff;
  color: #475569;
  font-size: 11px;
  font-weight: 700;
}

.beleg-zoom-control select {
  height: 24px;
  min-width: 120px;
  border: none;
  outline: none;
  background: transparent;
  color: #0f172a;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
}

.beleg-top-action-button {
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid #d5dee8;
  border-radius: 8px;
  background: #eef3f8;
  color: #123;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
}

.beleg-top-action-button:disabled {
  opacity: .55;
}

.beleg-top-action-danger {
  color: #991b1b;
  background: #fff7f7;
  border-color: #fecaca;
}

.beleg-wysiwyg-toolbar,
.beleg-wysiwyg-headline {
  display: none;
}

.beleg-wysiwyg-stage {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
}

.beleg-workspace {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(520px, 1fr) 220px;
  gap: 0;
  align-items: stretch;
  overflow: hidden;
}

.beleg-preview-shell-large {
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
  overflow: auto;
  padding: 18px 22px 34px;
  display: block;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.55), rgba(241, 245, 249, 0.8));
  border: none;
  border-radius: 0;
}

.beleg-preview-pages {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.beleg-render-loading {
  position: absolute;
  z-index: 20;
  inset: 0 280px 0 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(241, 245, 249, 0.76);
  backdrop-filter: blur(1.5px);
  -webkit-backdrop-filter: blur(1.5px);
  cursor: progress;
}

.beleg-render-loading.is-visible {
  display: flex;
}

.beleg-render-loading-card {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: min(330px, calc(100% - 32px));
  max-width: 440px;
  box-sizing: border-box;
  padding: 16px 20px;
  border: 1px solid rgba(6, 63, 108, 0.16);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.15);
}

.beleg-render-loading-spinner {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  box-sizing: border-box;
  border: 3px solid rgba(6, 63, 108, 0.18);
  border-top-color: #063f6c;
  border-radius: 50%;
  animation: beleg-render-spin .75s linear infinite;
}

.beleg-render-loading-title {
  color: #063f6c;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
}

.beleg-render-loading-text {
  margin-top: 2px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

@keyframes beleg-render-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .beleg-render-loading-spinner {
    animation-duration: 1.5s;
  }
}

.beleg-preview-paper-large {
  flex: 0 0 auto;
  box-sizing: border-box;
  padding: 62px 52px;
  font-size: 12px;
  transition: width .12s ease;
}

.beleg-preview-shell-large[data-zoom="width"] .beleg-preview-paper-large {
  width: min(calc(100% - 8px), 980px);
}

.beleg-preview-shell-large[data-zoom="100"] .beleg-preview-paper-large {
  width: min(794px, calc(100% - 8px));
}

.beleg-preview-shell-large[data-zoom="75"] .beleg-preview-paper-large {
  width: min(596px, calc(100% - 8px));
}

.beleg-insert-sidebar {
  position: static;
  align-self: stretch;
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
  border-top: none;
  border-right: none;
  border-bottom: none;
  border-radius: 0;
  padding: 14px;
  box-shadow: -8px 0 24px rgba(15, 23, 42, 0.05);
}

@media (max-width: 1100px) {
  .beleg-topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .beleg-top-actions {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .beleg-workspace {
    grid-template-columns: 1fr;
  }

  .beleg-insert-sidebar {
    display: none;
  }
}

/* Belegvorschau aus gerendertem PDF */
.beleg-render-page {
  position: relative;
  flex: 0 0 auto;
  box-sizing: border-box;
  padding: 0 !important;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 4px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
  overflow: hidden;
}

.beleg-render-page-image {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
  -webkit-user-drag: none;
}

.beleg-preview-shell-large[data-zoom="width"] .beleg-render-page {
  width: min(calc(100% - 8px), 980px);
}

.beleg-preview-shell-large[data-zoom="100"] .beleg-render-page {
  width: min(794px, calc(100% - 8px));
}

.beleg-preview-shell-large[data-zoom="75"] .beleg-render-page {
  width: min(596px, calc(100% - 8px));
}

.beleg-render-zone {
  position: absolute;
  z-index: 2;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  transition: background .14s ease, border-color .14s ease;
}

.beleg-render-zone:hover {
  border-color: rgba(6, 63, 108, 0.38);
  background: rgba(6, 63, 108, 0.08);
}

.beleg-render-zone-header {
  left: 6%;
  top: 5%;
  right: 6%;
  height: 35%;
}

.beleg-render-zone-position {
  left: 6%;
  top: 43%;
  right: 6%;
  height: 23%;
}

.beleg-ai-origin-chip-direct {
  position: absolute;
  left: 4px;
  top: 4px;
  z-index: 24;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  min-height: 20px;
  box-sizing: border-box;
  border: 1px solid rgba(6, 63, 108, .34);
  border-radius: 999px;
  padding: 2px 7px;
  background: rgba(255, 255, 255, .96);
  color: #063f6c;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .16);
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}

.beleg-ai-origin-chip-direct::before {
  content: "✦";
  margin-right: 4px;
  color: #f28c18;
}

.beleg-ai-origin-chip-direct.is-review {
  border-color: #fdba74;
  background: #fff7ed;
  color: #c2410c;
}

.beleg-ai-origin-chip-direct.is-review::before {
  content: "!";
  color: #c2410c;
}

@media print {
  .beleg-ai-origin-chip-direct {
    display: none !important;
  }
}

.beleg-render-zone-sum {
  right: 6%;
  bottom: 10%;
  width: 32%;
  height: 15%;
}

.beleg-preview-empty {
  width: min(calc(100% - 8px), 760px);
  margin: 40px auto;
  padding: 28px;
  border: 1px dashed rgba(15, 23, 42, 0.2);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  color: #64748b;
  text-align: center;
}

.beleg-preview-empty-title {
  font-weight: 800;
  color: #063f6c;
  margin-bottom: 8px;
}

.beleg-preview-empty-text {
  margin-bottom: 14px;
}

/* Belegpositionen: Auswahl nur per Klick, kein Hover-Highlight */
.beleg-render-zone:hover {
  border-color: transparent;
  background: transparent;
}

.beleg-render-zone.is-selected {
  border-color: rgba(6, 63, 108, 0.72);
  background: rgba(6, 63, 108, 0.11);
  box-shadow: 0 0 0 3px rgba(6, 63, 108, 0.08) inset;
}

.beleg-render-zone:focus-visible {
  outline: 2px solid rgba(6, 63, 108, 0.62);
  outline-offset: 2px;
}

.beleg-insert-button-primary {
  border-color: rgba(6, 63, 108, 0.28);
  background: #063f6c;
  color: #fff;
}

.beleg-position-textarea {
  min-height: 180px;
  height: clamp(180px, 26vh, 260px);
  resize: vertical;
}

.beleg-position-richtext-info {
  border: 1px solid rgba(6, 63, 108, 0.18);
  border-radius: 8px;
  background: rgba(6, 63, 108, 0.035);
  padding: 12px;
}

.beleg-position-richtext-head {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-bottom: 10px;
  color: #334155;
}

.beleg-position-richtext-head strong {
  color: #063f6c;
}

.beleg-position-richtext-head span {
  font-size: 12px;
  line-height: 1.4;
}

.beleg-position-richtext-info.is-text-changed .beleg-position-richtext-head span {
  color: #9a3412;
  font-weight: 600;
}

.beleg-position-richtext-info.is-text-changed .beleg-position-richtext-head span::after {
  content: " Beim Speichern kann die ursprüngliche GAEB-Formatierung einschließlich eingebetteter Abbildungen entfallen.";
}

.beleg-position-richtext-preview {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  max-height: 360px;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.38);
  border-radius: 6px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  line-height: 1.45;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* GAEB-Texte enthalten teilweise geschützte Leerzeichen oder sehr lange
   Textsegmente. Auch diese müssen sich an die Breite des Overlays halten. */
.beleg-position-richtext-preview p,
.beleg-position-richtext-preview span,
.beleg-position-richtext-preview li,
.beleg-position-richtext-preview td,
.beleg-position-richtext-preview th,
.beleg-position-richtext-preview strong,
.beleg-position-richtext-preview b,
.beleg-position-richtext-preview i,
.beleg-position-richtext-preview em,
.beleg-position-richtext-preview u,
.beleg-position-richtext-preview sup,
.beleg-position-richtext-preview sub {
  min-width: 0;
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

.beleg-position-richtext-preview p {
  margin: 0 0 8px;
}

.beleg-position-richtext-preview p:last-child {
  margin-bottom: 0;
}

.beleg-position-richtext-preview table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.beleg-position-richtext-preview img {
  display: block;
  max-width: 100%;
  max-height: 320px;
  width: auto;
  height: auto;
  object-fit: contain;
  margin: 10px 0;
}


/* --------------------------------------------------------------------------
   Responsive App-Layout
   - Desktop: schmale feste Hauptnavigation
   - Tablet: Hauptnavigation als Off-Canvas-Menue
   - Kleine Displays: Beleg-Werkzeuge als rechtes Off-Canvas-Panel
   -------------------------------------------------------------------------- */

@media (max-width: 1400px) {
  .app-caption-panel {
    box-sizing: border-box;
    padding-left: 52px !important;
  }

  .mobile-menu-button .material-icons {
    font-size: 21px;
  }
}

@media (min-width: 1401px) and (max-width: 1500px) {
  .sidebar-host {
    flex-basis: 224px;
    width: 224px !important;
  }

  .app-sidebar {
    width: 224px !important;
    padding-left: 10px;
    padding-right: 10px;
  }

  .menu {
    gap: 8px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .submenu {
    padding-left: 30px;
  }
}

/* Die rechte Beleg-Navigation bleibt auf Tablets sichtbar, sobald links die
   Hauptnavigation eingeklappt ist. */
@media (min-width: 861px) and (max-width: 1100px) {
  .beleg-render-loading {
    right: 250px;
  }

  .beleg-topbar {
    align-items: center;
    flex-direction: row;
  }

  .beleg-top-actions {
    width: auto;
    justify-content: flex-end;
    flex-wrap: wrap;
  }

  .beleg-workspace {
    grid-template-columns: minmax(0, 1fr) 200px;
  }

  .beleg-insert-sidebar {
    display: block;
    width: auto;
  }
}

.beleg-insert-toggle-button,
.beleg-insert-close,
.beleg-tools-backdrop {
  display: none;
}

@media (max-width: 860px) {
  .beleg-render-loading {
    right: 0;
  }

  .beleg-topbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .beleg-top-left,
  .beleg-top-actions {
    width: 100%;
  }

  .beleg-top-actions {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: thin;
  }

  .beleg-top-actions > * {
    flex: 0 0 auto;
  }

  .beleg-insert-toggle-button {
    display: inline-flex;
  }

  .beleg-workspace {
    grid-template-columns: minmax(0, 1fr);
    position: relative;
  }

  .beleg-preview-shell-large {
    padding-left: 12px;
    padding-right: 12px;
  }

  .beleg-insert-sidebar {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1201;
    width: min(320px, 88vw);
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    padding: 14px;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform .2s ease;
    border: 0;
    border-left: 1px solid rgba(15, 23, 42, 0.10);
    box-shadow: -18px 0 42px rgba(15, 23, 42, 0.20);
  }

  #beleg-single-root.beleg-tools-open .beleg-insert-sidebar {
    transform: translateX(0);
  }

  .beleg-insert-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
  }

  .beleg-insert-head .beleg-insert-title {
    margin-bottom: 0;
  }

  .beleg-insert-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #d5dee8;
    border-radius: 8px;
    background: #f8fafc;
    color: #334155;
    cursor: pointer;
  }

  .beleg-insert-close .material-icons {
    font-size: 20px;
  }

  .beleg-tools-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1200;
    background: rgba(15, 23, 42, 0.34);
  }

  #beleg-single-root.beleg-tools-open .beleg-tools-backdrop {
    display: block;
  }
}

@media (max-width: 640px) {
  .beleg-topbar {
    padding-left: 10px;
    padding-right: 10px;
  }

  .beleg-back-button span:last-child {
    display: none;
  }

  .beleg-back-button {
    width: 34px;
    padding: 0;
  }

  .beleg-top-status {
    max-width: calc(100vw - 84px);
  }

  .beleg-zoom-control span {
    display: none;
  }

  .beleg-zoom-control select {
    min-width: 104px;
  }
}


/* iOS/Safari: Nur die eigentlichen Inhaltsbereiche duerfen scrollen.
   Dadurch kann ein Wischen in einer Liste nicht den kompletten App-Inhalt
   mitsamt Suchleiste nach oben verschieben. */
.address-results {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}

/* --------------------------------------------------------------------------
   Dashboard
   -------------------------------------------------------------------------- */

.dashboard-page-host {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

 .dashboard-page {
  width: 100%;
  min-height: 100%;
  padding: 20px 24px 24px;
  box-sizing: border-box;
}

.dashboard-page-header {
  min-height: 66px;
  margin: 0 0 12px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid #dce5ec;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .035);
}

.dashboard-page-heading {
  min-width: 0;
}

.dashboard-page-title {
  color: #1f2933;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.2;
}

.dashboard-page-datetime {
  margin-top: 2px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.3;
}

.dashboard-user-slot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  flex: 0 1 auto;
}

.dashboard-current-user {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.dashboard-user-slot .sidebar-user-avatar {
  width: 38px;
  height: 38px;
  border: 1px solid #d5dee8;
  background: #eef3f8;
  color: #063f6c;
}

.dashboard-current-user .sidebar-user-info {
  min-width: 0;
  text-align: left;
}

.dashboard-current-user .sidebar-user-name {
  max-width: 240px;
  color: #1f2933;
  font-size: 13px;
}

.dashboard-current-user .sidebar-logout {
  margin-top: 3px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #64748b;
  font-family: inherit;
  font-size: 12px;
  text-align: left;
  cursor: pointer;
}

.dashboard-current-user .sidebar-logout:hover {
  color: #063f6c;
  text-decoration: underline;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.dashboard-primary-column {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.dashboard-card {
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dfe6ef;
  border-radius: 9px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.dashboard-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 9px 12px;
  border-bottom: 1px solid #e8edf3;
  box-sizing: border-box;
}

.dashboard-card-title {
  color: #102033;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.2;
}

.dashboard-card-subtitle {
  margin-top: 2px;
  color: #718096;
  font-size: 11px;
  line-height: 1.25;
}

.dashboard-card-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 28px;
  padding: 4px 8px;
  border: 1px solid #cfd9e5;
  border-radius: 7px;
  background: #fff;
  color: #063f6c;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.dashboard-card-action:hover {
  background: #f3f7fb;
  border-color: #b7c7d8;
}

.dashboard-card-status {
  padding: 14px 12px;
  color: #718096;
  font-size: 12px;
}

.dashboard-card-status.is-error {
  color: #b42318;
  background: #fff7f6;
}

.dashboard-project-list {
  display: flex;
  flex-direction: column;
}

.dashboard-project-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 7px 12px;
  border: 0;
  border-bottom: 1px solid #edf1f5;
  background: #fff;
  color: inherit;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
}

.dashboard-project-row:last-child {
  border-bottom: 0;
}

.dashboard-project-row:hover,
.dashboard-project-row:focus-visible {
  background: #f7faff;
}

.dashboard-project-row:focus-visible {
  outline: 2px solid rgba(6, 63, 108, 0.35);
  outline-offset: -2px;
}

.dashboard-project-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.dashboard-project-title {
  overflow: hidden;
  color: #152033;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-project-subtitle,
.dashboard-project-opened {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-project-subtitle {
  margin-top: 1px;
  color: #66778a;
  font-size: 11px;
  line-height: 1.25;
}

/* Die Liste ist bereits nach letzter Nutzung sortiert. Die separate dritte
   Zeile mit dem Zeitstempel macht den Dashboard-Baustein unnoetig hoch. */
.dashboard-project-opened {
  display: none;
}

.dashboard-project-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

.dashboard-project-status {
  max-width: 130px;
  overflow: hidden;
  padding: 3px 6px;
  border-radius: 999px;
  background: #eef4f9;
  color: #35526b;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-project-arrow {
  color: #8ca0b3;
  font-size: 19px;
}

@media (min-width: 1180px) {
  .dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Auch als einziger Baustein bleibt "Letzte Projekte" bewusst in einer
     Spalte. So entspricht die Startseite schon jetzt dem spaeteren Dashboard-
     Raster und der Bereich wird nicht unnoetig dominant. */
  .dashboard-card-recent {
    grid-column: auto;
  }
}

@media (max-width: 900px) {
  .dashboard-page {
    padding: 12px;
  }
}

@media (max-width: 700px) {
  .dashboard-page-header {
    min-height: 58px;
    padding: 11px 13px;
    gap: 10px;
  }

  .dashboard-page-title {
    font-size: 18px;
  }

  .dashboard-page-datetime {
    font-size: 12px;
  }

  .dashboard-user-slot .sidebar-user {
    gap: 8px;
  }

  .dashboard-user-slot .sidebar-user-avatar {
    width: 34px;
    height: 34px;
    font-size: 12px;
  }

  .dashboard-user-slot .sidebar-user-name {
    max-width: 150px;
  }

  .dashboard-card-header {
    align-items: center;
    padding: 9px 10px;
  }

  .dashboard-card-subtitle {
    display: none;
  }

  .dashboard-project-row {
    min-height: 50px;
    gap: 6px;
    padding: 8px 10px;
  }

  .dashboard-project-status {
    display: none;
  }
}

/* Beleg: Leistungen aus den Stammdaten in der rechten Einfuegeleiste */
.beleg-leistung-tools {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
}

.beleg-insert-section-title {
  margin-bottom: 8px;
  color: #063f6c;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .035em;
}

.beleg-leistung-filter,
.beleg-leistung-search {
  width: 100%;
  box-sizing: border-box;
  min-height: 36px;
  border: 1px solid #d5dee8;
  border-radius: 8px;
  background: #fff;
  color: #1f2937;
  font: inherit;
}

.beleg-leistung-filter {
  margin-bottom: 8px;
  padding: 0 9px;
}

.beleg-leistung-search-row {
  position: relative;
  margin-bottom: 10px;
}

.beleg-leistung-search {
  padding: 0 34px 0 10px;
}

.beleg-leistung-filter:focus,
.beleg-leistung-search:focus {
  outline: none;
  border-color: rgba(6, 63, 108, .55);
  box-shadow: 0 0 0 3px rgba(6, 63, 108, .08);
}

.beleg-leistung-search-clear {
  position: absolute;
  top: 50%;
  right: 4px;
  width: 28px;
  height: 28px;
  padding: 0;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #64748b;
  cursor: pointer;
}

.beleg-leistung-search-clear .material-icons {
  font-size: 18px;
}

.beleg-leistung-list {
  flex: 1 1 auto;
  min-height: 100px;
  overflow-y: auto;
  padding-right: 3px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  scrollbar-width: thin;
}

.beleg-leistung-item {
  width: 100%;
  box-sizing: border-box;
  padding: 9px 10px;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 9px;
  background: #fff;
  color: #1f2937;
  text-align: left;
  cursor: pointer;
  transition: border-color .12s ease, background-color .12s ease, box-shadow .12s ease;
}

.beleg-leistung-item:hover,
.beleg-leistung-item:focus-visible {
  border-color: rgba(6, 63, 108, .35);
  background: #f8fbfd;
  box-shadow: 0 3px 10px rgba(15, 23, 42, .06);
  outline: none;
}

.beleg-leistung-item-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
}

.beleg-leistung-pos {
  min-width: 0;
  color: #063f6c;
  font-size: 11px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.beleg-leistung-price {
  flex: 0 0 auto;
  color: #334155;
  font-size: 11px;
  font-weight: 700;
}

.beleg-leistung-item-title {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.beleg-leistung-item-meta {
  margin-top: 5px;
  color: #64748b;
  font-size: 10px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.beleg-leistung-empty,
.beleg-leistung-more {
  padding: 12px 8px;
  color: #64748b;
  font-size: 11px;
  line-height: 1.4;
  text-align: center;
}

.beleg-leistung-empty.is-error {
  color: #b91c1c;
}

.beleg-insert-divider {
  flex: 0 0 auto;
  height: 1px;
  margin: 12px 0;
  background: rgba(15, 23, 42, .09);
}

@media (min-width: 1101px) {
  .beleg-workspace {
    grid-template-columns: minmax(520px, 1fr) 280px;
  }

  .beleg-insert-sidebar {
    display: flex;
    flex-direction: column;
  }
}

@media (min-width: 861px) and (max-width: 1100px) {
  .beleg-workspace {
    grid-template-columns: minmax(0, 1fr) 250px;
  }

  .beleg-insert-sidebar {
    display: flex;
    flex-direction: column;
  }
}

/* Leistung aus der Einfuegeleiste per Drag & Drop in den Beleg ziehen. */
.beleg-leistung-item[draggable="true"] {
  cursor: grab;
}

.beleg-leistung-item[draggable="true"]:active,
.beleg-leistung-item.is-dragging {
  cursor: grabbing;
}

.beleg-leistung-item.is-dragging {
  opacity: 0.58;
}

.beleg-render-zone-position.is-drop-before,
.beleg-render-zone-position.is-drop-after,
.beleg-render-zone-title-sum.is-drop-after {
  overflow: visible;
}

.beleg-render-zone-position.is-drop-before::before,
.beleg-render-zone-position.is-drop-after::after,
.beleg-render-zone-title-sum.is-drop-after::after {
  content: "";
  position: absolute;
  left: -2px;
  right: -2px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  z-index: 4;
  pointer-events: none;
}

.beleg-render-zone-position.is-drop-before::before {
  top: -4px;
}

.beleg-render-zone-position.is-drop-after::after,
.beleg-render-zone-title-sum.is-drop-after::after {
  bottom: -4px;
}

.beleg-render-zone-title-sum {
  cursor: default;
}

.beleg-render-zone-title-sum:hover {
  border-color: transparent;
  background: transparent;
}

.beleg-render-zone-title-sum.is-drop-after {
  border-color: rgba(6, 63, 108, 0.38);
  background: rgba(6, 63, 108, 0.08);
}

.beleg-insert-button[draggable="true"] {
  cursor: grab;
}

.beleg-insert-button[draggable="true"]:active,
.beleg-insert-button.is-dragging {
  cursor: grabbing;
}

.beleg-insert-button.is-dragging {
  opacity: 0.65;
}

/* Belegposition: vollständige Positionskalkulation */
.beleg-position-dialog {
  width: min(1100px, calc(100vw - 32px));
  max-width: 1100px !important;
}

.beleg-position-calc-section {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
#belegPositionPanelCalc .leistung-calc-summary-wrap { margin-top: 0; }

@media (max-width: 760px) {
  .beleg-position-dialog {
    width: calc(100vw - 16px);
  }
}

/* Belege: Titelstruktur */
.beleg-insert-button-structure {
  border-style: dashed;
  background: #fff;
  color: #063f6c;
}

.beleg-position-commercial-fields {
  margin-top: 14px;
}

#editPositionTitleSumField {
  margin-top: 2px;
}

/* Interne Plattformverwaltung */
.internal-admin-host {
  width: 100%;
  height: 100%;
  overflow: auto;
}

.internal-admin-page {
  width: 100%;
  box-sizing: border-box;
  padding: 20px 24px 36px;
}

.internal-admin-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.internal-admin-header h1 {
  margin: 0;
  font-size: 28px;
  line-height: 1.2;
  color: #163047;
}

.internal-admin-header p,
.internal-admin-section-head p,
.internal-admin-card p {
  margin: 5px 0 0;
  color: #647483;
  line-height: 1.5;
}

.internal-admin-eyebrow {
  margin-bottom: 5px;
  color: #063f6c;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.internal-admin-status {
  margin-bottom: 16px;
  padding: 10px 13px;
  border: 1px solid #c8d9e5;
  border-radius: 6px;
  background: #f3f8fb;
  color: #24465f;
}

.internal-admin-status.is-error {
  border-color: #e6b7b7;
  background: #fff2f2;
  color: #9c2f2f;
}

.internal-admin-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.internal-admin-kpi {
  min-width: 0;
  padding: 15px 17px;
  border: 1px solid #dce5eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(18, 53, 78, .04);
}

.internal-admin-kpi span {
  display: block;
  color: #063f6c;
  font-size: 25px;
  font-weight: 800;
  line-height: 1.1;
}

.internal-admin-kpi small {
  display: block;
  margin-top: 5px;
  color: #657684;
  font-size: 12px;
}

.internal-admin-tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 18px;
  padding: 4px;
  border: 1px solid #dce5eb;
  border-radius: 8px;
  background: #f6f8fa;
  width: fit-content;
  max-width: 100%;
}

.internal-admin-tab {
  border: 0;
  border-radius: 5px;
  background: transparent;
  padding: 9px 14px;
  color: #526675;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

.internal-admin-tab.active {
  background: #fff;
  color: #063f6c;
  box-shadow: 0 1px 3px rgba(18, 53, 78, .12);
}

.internal-admin-section {
  max-width: 1500px;
}

.internal-admin-section-head,
.internal-admin-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.internal-admin-section-head {
  margin-bottom: 14px;
}

.internal-admin-section-head h2,
.internal-admin-card h3 {
  margin: 0;
  color: #1f3b50;
}

.internal-admin-section-head h2 {
  font-size: 21px;
}

.internal-admin-card h3 {
  font-size: 16px;
}

.internal-admin-card {
  margin-bottom: 14px;
  padding: 17px;
  border: 1px solid #dce5eb;
  border-radius: 8px;
  background: #fff;
}

.internal-admin-form-grid {
  display: grid;
  grid-template-columns: minmax(160px, .8fr) minmax(220px, 1.4fr) minmax(150px, .7fr) 120px auto;
  gap: 12px;
  align-items: end;
  margin-top: 14px;
}

.internal-admin-form-grid-alias {
  grid-template-columns: 180px minmax(180px, 1fr) minmax(220px, 1.2fr);
}

.internal-admin-form-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  color: #536775;
  font-size: 12px;
  font-weight: 700;
}

.internal-admin-form-grid input,
.internal-admin-form-grid select,
.internal-admin-inline-select {
  width: 100%;
  box-sizing: border-box;
  min-height: 36px;
  border: 1px solid #bccbd5;
  border-radius: 4px;
  background: #fff;
  padding: 7px 9px;
  color: #213b4e;
  font: inherit;
}

.internal-admin-form-grid input:focus,
.internal-admin-form-grid select:focus,
.internal-admin-inline-select:focus {
  border-color: #5c8dad;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(6, 63, 108, .1);
}

.internal-admin-form-grid input[readonly] {
  background: #f3f6f8;
  color: #6b7c88;
}

.internal-admin-check {
  flex-direction: row !important;
  align-items: center;
  min-height: 36px;
  padding-bottom: 2px;
}

.internal-admin-check input {
  width: auto;
  min-height: 0;
  margin: 0;
}

.internal-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.internal-admin-primary-button,
.internal-admin-secondary-button,
.internal-admin-link-button {
  min-height: 34px;
  border-radius: 4px;
  padding: 7px 12px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.internal-admin-primary-button {
  border: 1px solid #063f6c;
  background: #063f6c;
  color: #fff;
}

.internal-admin-primary-button:hover {
  background: #0a527f;
}

.internal-admin-secondary-button {
  border: 1px solid #b9c8d2;
  background: #fff;
  color: #38566b;
}

.internal-admin-link-button {
  min-height: 0;
  border: 0;
  background: transparent;
  color: #063f6c;
  padding: 4px 0;
}

.internal-admin-small-button {
  min-height: 30px;
  padding: 5px 9px;
  font-size: 12px;
  white-space: nowrap;
}

.internal-admin-table-wrap {
  width: 100%;
  overflow-x: auto;
  margin-top: 13px;
}

.internal-admin-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 700px;
}

.internal-admin-table th,
.internal-admin-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #e5ebef;
  text-align: left;
  vertical-align: middle;
}

.internal-admin-table th {
  background: #f7f9fa;
  color: #5b6e7b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.internal-admin-table td {
  color: #294558;
  font-size: 13px;
}

.internal-admin-table td strong,
.internal-admin-table td small {
  display: block;
}

.internal-admin-table td small {
  margin-top: 3px;
  color: #71808a;
}

.internal-admin-empty {
  padding: 22px 10px !important;
  color: #7b8992 !important;
  text-align: center !important;
}

.internal-admin-badge {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  border-radius: 999px;
  padding: 2px 8px;
  background: #eef2f4;
  color: #5e6f7a;
  font-size: 11px;
  font-weight: 800;
}

.internal-admin-badge.is-ok {
  background: #eaf7ef;
  color: #2b7348;
}

.internal-admin-badge.is-warn {
  background: #fff4df;
  color: #9b6613;
}

.internal-admin-badge.is-info {
  background: #e9f3fa;
  color: #27668f;
}

.internal-admin-badge.is-error {
  background: #fdecec;
  color: #a43a3a;
}

.internal-admin-badge.is-muted {
  background: #f0f2f3;
  color: #77838b;
}

.internal-admin-note {
  margin-top: 8px !important;
  padding: 9px 11px;
  border-left: 3px solid #7aa4c1;
  background: #f5f9fb;
}

.internal-admin-alias-list {
  max-height: 420px;
  overflow: auto;
}

.internal-admin-placeholder-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.internal-admin-placeholder-card > .material-icons {
  color: #063f6c;
  font-size: 30px;
}

@media (max-width: 1050px) {
  .internal-admin-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .internal-admin-form-grid,
  .internal-admin-form-grid-alias {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .internal-admin-page {
    padding: 14px 12px 28px;
  }

  .internal-admin-overview,
  .internal-admin-form-grid,
  .internal-admin-form-grid-alias {
    grid-template-columns: 1fr;
  }

  .internal-admin-tabs {
    width: 100%;
    overflow-x: auto;
  }

  .internal-admin-section-head {
    flex-direction: column;
  }
}

/* Dashboard: prominenter Hinweis auf Testphase bzw. abgelaufene Testphase */
.dashboard-license-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 12px;
  padding: 18px 20px;
  overflow: hidden;
  border: 1px solid rgba(6, 63, 108, 0.16);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
  box-sizing: border-box;
}

.dashboard-license-banner.is-trial {
  background: linear-gradient(120deg, rgba(6, 63, 108, 0.98), rgba(24, 91, 139, 0.95));
  color: #fff;
}

.dashboard-license-banner.is-expired {
  background: linear-gradient(120deg, rgba(242, 140, 24, 0.08), #fff);
  border-color: rgba(242, 140, 24, 0.46);
  box-shadow: 0 8px 24px rgba(6, 63, 108, 0.10);
  color: #243746;
}

.dashboard-license-copy {
  min-width: 0;
}

.dashboard-license-kicker {
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.82;
}

.dashboard-license-title {
  display: block;
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 850;
  line-height: 1.15;
}

.dashboard-license-banner.is-expired .dashboard-license-title {
  color: #063f6c;
}

.dashboard-license-copy p {
  max-width: 820px;
  margin: 7px 0 0;
  font-size: 13px;
  line-height: 1.5;
  opacity: 0.9;
}

.dashboard-license-contact {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 10px;
}

.dashboard-license-contact a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: inherit;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}

.dashboard-license-contact a:hover {
  text-decoration: underline;
}

.dashboard-license-contact .material-icons {
  font-size: 17px;
}

.dashboard-license-action {
  flex: 0 0 auto;
}

.dashboard-license-order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 9px;
  background: #f28c18;
  color: #063f6c;
  font-size: 14px;
  font-weight: 850;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(242, 140, 24, 0.24);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.dashboard-license-order:hover,
.dashboard-license-order:focus-visible {
  background: #f5a13f;
  box-shadow: 0 8px 22px rgba(242, 140, 24, 0.30);
  transform: translateY(-1px);
}

.dashboard-license-order .material-icons {
  font-size: 19px;
}

@media (max-width: 760px) {
  .dashboard-license-banner {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
    padding: 16px;
  }

  .dashboard-license-action,
  .dashboard-license-order {
    width: 100%;
  }
}

/* Interne Verwaltung: zentrale Preisverwaltung */
.internal-admin-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.internal-admin-price-table {
  min-width: 820px;
}

.internal-admin-price-table th:not(:first-child),
.internal-admin-price-table td:not(:first-child) {
  white-space: nowrap;
}

.internal-admin-price-table th small {
  display: inline-block;
  margin-top: 2px;
  color: #82909a;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.internal-admin-price-input-wrap {
  display: inline-flex;
  align-items: center;
  width: 145px;
  max-width: 100%;
  min-height: 36px;
  overflow: hidden;
  border: 1px solid #bccbd5;
  border-radius: 4px;
  background: #fff;
}

.internal-admin-price-input-wrap:focus-within {
  border-color: #5c8dad;
  box-shadow: 0 0 0 2px rgba(6, 63, 108, .1);
}

.internal-admin-price-input {
  width: 100%;
  min-width: 0;
  height: 34px;
  box-sizing: border-box;
  border: 0;
  outline: 0;
  background: transparent;
  padding: 7px 8px;
  color: #213b4e;
  font: inherit;
  text-align: right;
}

.internal-admin-price-input-wrap > span {
  flex: 0 0 auto;
  padding: 0 9px 0 2px;
  color: #6b7c88;
  font-size: 12px;
  font-weight: 700;
}

.internal-admin-price-save-bottom {
  justify-content: flex-end;
  margin-top: 4px;
  margin-bottom: 8px;
}

@media (max-width: 700px) {
  .internal-admin-head-actions {
    width: 100%;
    justify-content: stretch;
  }

  .internal-admin-head-actions > button {
    flex: 1 1 auto;
  }
}

/* Prozentuale Zusatzoptionen, z. B. zusätzliche Mandanten */
.internal-admin-percentage-wrap {
  width: min(430px, 100%);
}

.internal-admin-percentage-wrap .internal-admin-percentage-input {
  flex: 0 0 92px;
  width: 92px;
}

.internal-admin-percentage-wrap > span {
  white-space: normal;
  line-height: 1.25;
}

/* Belegposition: Positionsarten und gegliederte Bearbeitung */
.beleg-position-body {
  overflow: auto;
  min-height: 0;
}

/* Einheitliche Registerkarten für Beleg-Overlays */
.beleg-position-tabs {
  display: flex;
  gap: 4px;
  margin: -12px -16px 14px;
  padding: 0 16px;
  border-bottom: 1px solid #dce3e8;
  background: #f7f9fb;
}

.beleg-position-tab {
  flex: 0 0 auto;
  min-width: 0;
  margin: 0;
  padding: 13px 16px;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #526573;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 120ms ease, color 120ms ease;
}

.beleg-position-tab:hover:not(:disabled):not(.is-active) {
  color: #063f6c;
}

.beleg-position-tab.is-active {
  border-bottom-color: #063f6c;
  background: transparent;
  color: #063f6c;
  box-shadow: none;
}

.beleg-position-tab:focus-visible {
  outline: 2px solid rgba(6, 63, 108, 0.35);
  outline-offset: 2px;
}

.beleg-position-tab:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.beleg-position-tab-panel {
  display: none;
}

.beleg-position-tab-panel.is-active {
  display: block;
}

.beleg-position-pricing-controls {
  margin-bottom: 18px;
}

.beleg-position-rapport-summary {
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 14px 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(6, 63, 108, 0.2);
  border-radius: 8px;
  background: #f4f8fb;
  color: #334155;
}

.beleg-position-rapport-summary strong {
  color: #063f6c;
  font-size: 18px;
}

.settings-payment-switches { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:16px; }
.beleg-summen-dialog { width:min(1080px,calc(100vw - 32px)); height:min(780px,calc(100vh - 32px)); max-height:calc(100vh - 32px); }
.beleg-summen-body { overflow:auto; }
.beleg-summen-tabs{display:flex;gap:4px;padding:0 24px;border-bottom:1px solid #dce3e8;background:#f7f9fb}.beleg-summen-tabs button{padding:13px 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:#526573;font-weight:600;cursor:pointer}.beleg-summen-tabs button.is-active{color:#063f6c;border-bottom-color:#063f6c}.beleg-summen-tab-panel{display:none}.beleg-summen-tab-panel.is-active{display:block}.beleg-summen-settlement-list{display:flex;flex-direction:column;gap:10px}.beleg-summen-akonto-card{padding:14px;border:1px solid #d9e2e8;border-radius:9px;background:#f8fafb}.beleg-summen-akonto-head{display:flex;justify-content:space-between;gap:16px}.beleg-summen-akonto-head div{display:flex;flex-direction:column;gap:3px}.beleg-summen-akonto-head small,.beleg-summen-akonto-bookings{color:#607180}.beleg-summen-akonto-bookings{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:13px}.beleg-summen-inline-entry{display:grid;grid-template-columns:140px 130px minmax(180px,1fr) auto auto;gap:8px;margin-top:12px}.beleg-summen-legacy-card{display:grid;grid-template-columns:minmax(180px,1fr) auto 24px;gap:16px;align-items:center;width:100%;padding:12px 14px;border:1px solid #d9e2e8;border-radius:7px;background:#fff;color:#263845;text-align:left;cursor:pointer}.beleg-summen-legacy-card:hover{border-color:#8fa9bb;background:#f8fafb}.beleg-summen-legacy-main{display:flex;flex-direction:column;gap:3px;min-width:0}.beleg-summen-legacy-main strong,.beleg-summen-legacy-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.beleg-summen-legacy-main small{color:#607180}.beleg-summen-legacy-values{white-space:nowrap;font-weight:600;color:#063f6c}.beleg-summen-legacy-card>.material-icons{font-size:18px;color:#607180}.beleg-legacy-overlay{z-index:100010;background:rgba(15,23,42,.26)}.beleg-legacy-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 32px)}.beleg-legacy-grid{grid-template-columns:1fr 1fr}.beleg-legacy-delete{color:#a52828;border-color:#e5b9b9}.beleg-legacy-footer-spacer{flex:1 1 auto}@media(max-width:900px){.beleg-summen-inline-entry{grid-template-columns:1fr 1fr}.beleg-summen-akonto-head{flex-direction:column}}@media(max-width:620px){.beleg-legacy-grid{grid-template-columns:1fr}.beleg-summen-legacy-card{grid-template-columns:minmax(0,1fr) 24px}.beleg-summen-legacy-values{grid-column:1/-1;grid-row:2;white-space:normal}.beleg-summen-legacy-card>.material-icons{grid-column:2;grid-row:1}}
.beleg-summen-options { display:grid; grid-template-columns:1fr 180px 1fr; gap:14px; align-items:end; }
.beleg-summen-13b-note { margin:14px 0; padding:12px 14px; border-radius:8px; background:#fff4d6; color:#624600; font-weight:600; }
.beleg-summen-section-head { display:flex; justify-content:space-between; gap:16px; align-items:center; margin:22px 0 10px; }
.beleg-summen-section-head div { display:flex; flex-direction:column; gap:3px; }
.beleg-summen-section-head small { color:#607180; }
.beleg-summen-list { display:flex; flex-direction:column; gap:8px; }
.beleg-summen-list:empty::after { content:'Noch keine Zeile angelegt.'; display:block; padding:16px; border:1px dashed #b9c5ce; border-radius:8px; color:#71808b; text-align:center; }
.beleg-summen-row { display:grid; grid-template-columns:150px minmax(180px,2fr) 130px 100px auto; gap:8px; align-items:center; padding:10px; border:1px solid #dce3e8; border-radius:9px; background:#f8fafb; }
.beleg-summen-row.is-subtotal { background:#eef4f8; border-color:#b7c9d5; }
.beleg-summen-row.is-subtotal .beleg-summen-label { font-weight:700; }
.beleg-summen-row-actions { display:flex; gap:4px; }
.beleg-summen-row-actions button { width:30px; height:34px; border:1px solid #cad4db; border-radius:6px; background:#fff; cursor:pointer; }
.beleg-summen-remove { color:#a52828; font-size:20px; }
@media (max-width:900px) {
  .settings-payment-switches,.beleg-summen-options { grid-template-columns:1fr; }
  .beleg-summen-row { grid-template-columns:1fr 1fr; }
  .beleg-summen-label,.beleg-summen-base { grid-column:1/-1; }
  .beleg-summen-row-actions { justify-content:flex-end; }
}

#editPositionGesamtpreis[readonly] {
  font-weight: 700;
  color: #063f6c;
  background: #f4f7fa;
}

@media (max-width: 680px) {
  .beleg-position-tabs {
    position: sticky;
    top: 0;
    z-index: 2;
    padding-top: 3px;
    background: #fff;
  }

  .beleg-position-rapport-summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
}

/* Belegposition: kompakte Bearbeitung mit Navigationsbaum */
.address-edit-dialog.beleg-position-dialog {
  width: 86vw;
  max-width: none !important;
  height: min(820px, calc(100vh - 32px));
  max-height: calc(100vh - 32px);
}

.address-edit-body.beleg-position-body {
  display: flex;
  min-height: min(430px, calc(100vh - 150px));
  padding: 0;
  overflow: hidden;
}

.beleg-position-editor-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  min-height: 0;
}

.beleg-position-tree-pane {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: 11px 8px 14px;
  border-right: 1px solid rgba(6, 63, 108, 0.18);
  background: #f2f6f9;
}

.beleg-position-tree-head {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 0 7px 9px;
  border-bottom: 1px solid rgba(6, 63, 108, 0.12);
}

.beleg-position-tree-head strong {
  color: #063f6c;
  font-size: 12px;
  font-weight: 700;
}

.beleg-position-tree-head span {
  color: #718397;
  font-size: 10px;
  line-height: 1.3;
}

.beleg-position-tree {
  padding-top: 7px;
}

.beleg-position-tree-list {
  margin: 0;
  padding: 0 0 0 13px;
  border-left: 1px solid rgba(6, 63, 108, 0.16);
  list-style: none;
}

.beleg-position-tree-list.is-root {
  padding-left: 0;
  border-left: 0;
}

.beleg-position-tree-node {
  min-width: 0;
  margin: 2px 0;
  padding: 0;
}

.beleg-position-tree-item {
  width: 100%;
  min-width: 0;
  min-height: 29px;
  display: grid;
  grid-template-columns: 18px 42px minmax(0, 1fr);
  gap: 5px;
  align-items: center;
  padding: 4px 6px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: #334155;
  font: inherit;
  font-size: 11px;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

.beleg-position-tree-item:hover {
  border-color: rgba(6, 63, 108, 0.18);
  background: #e5eef5;
  color: #063f6c;
}

.beleg-position-tree-item.is-title {
  color: #173e5d;
  font-weight: 700;
}

.beleg-position-tree-item.is-active {
  border-color: #063f6c;
  background: #063f6c;
  color: #fff;
  box-shadow: 0 1px 3px rgba(6, 63, 108, 0.2);
}

.beleg-position-tree-item:focus-visible {
  outline: 2px solid rgba(6, 63, 108, 0.34);
  outline-offset: 1px;
}

.beleg-position-tree-type {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  background: rgba(6, 63, 108, 0.1);
  color: #063f6c;
  font-size: 9px;
  font-weight: 800;
}

.beleg-position-tree-item.is-active .beleg-position-tree-type {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.beleg-position-tree-number {
  overflow: hidden;
  color: #587086;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.beleg-position-tree-item.is-active .beleg-position-tree-number {
  color: #fff;
}

.beleg-position-tree-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.beleg-position-tree-empty {
  padding: 12px 7px;
  color: #718397;
  font-size: 11px;
  line-height: 1.4;
}

.beleg-position-editor-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  background: #f8fafc;
}

.beleg-position-editor-main > .beleg-position-tabs {
  flex: 0 0 auto;
  margin: 0;
  padding: 0 16px;
}

.beleg-position-editor-main > .beleg-position-tab-panel {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 14px 16px 16px;
}

.beleg-position-meta-row {
  display: grid;
  grid-template-columns: minmax(300px, 460px) minmax(190px, 260px);
  gap: 12px;
  align-items: start;
  margin-bottom: 10px;
}

.address-edit-grid.beleg-position-commercial-fields {
  grid-template-columns: 108px 92px 124px 132px;
  grid-template-areas:
    "menge einheit ep gp"
    "approximate . . flat-rate";
  justify-content: start;
  align-items: start;
  gap: 4px 10px;
  margin-top: 10px;
}

#editPositionMengeField {
  grid-area: menge;
}

#editPositionEinheitField {
  grid-area: einheit;
}

#editPositionEinzelpreisField {
  grid-area: ep;
}

#editPositionGesamtpreisField {
  grid-area: gp;
}

#editPositionApproximateField {
  grid-area: approximate;
}

#editPositionFlatRateField {
  grid-area: flat-rate;
}

.beleg-position-commercial-fields .beleg-position-display-option {
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  min-height: 0;
  padding: 4px 0 0;
  border: 0;
  background: transparent;
}

.beleg-position-commercial-fields .beleg-position-display-option strong {
  font-size: 11px;
  line-height: 1.25;
}

@media (max-width: 960px) {
  .beleg-position-editor-layout {
    grid-template-columns: 215px minmax(0, 1fr);
  }

  .beleg-position-meta-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(180px, .8fr);
  }
}

@media (max-width: 700px) {
  .address-edit-dialog.beleg-position-dialog {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
  }

  .address-edit-body.beleg-position-body {
    overflow: auto;
  }

  .beleg-position-editor-layout {
    display: block;
  }

  .beleg-position-tree-pane {
    max-height: 170px;
    border-right: 0;
    border-bottom: 1px solid rgba(6, 63, 108, 0.18);
  }

  .beleg-position-editor-main {
    overflow: visible;
    padding: 10px 12px 14px;
  }
}

@media (max-width: 540px) {
  .beleg-position-meta-row {
    grid-template-columns: 1fr;
  }

  .address-edit-grid.beleg-position-commercial-fields {
    grid-template-columns: 108px 132px;
    grid-template-areas:
      "menge einheit"
      "approximate ."
      "ep gp"
      ". flat-rate";
  }
}

@media (max-width: 430px) {
  .address-edit-grid.beleg-position-commercial-fields {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "menge"
      "approximate"
      "einheit"
      "ep"
      "gp"
      "flat-rate";
  }
}

/* Kontextmenü für Belegpositionen in der gerenderten Vorschau */
.beleg-position-context-menu {
  position: fixed;
  z-index: 1600;
  min-width: 268px;
  box-sizing: border-box;
  padding: 6px;
  border: 1px solid rgba(6, 63, 108, 0.2);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.22);
}

.beleg-position-context-item {
  width: 100%;
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 6px 9px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #18354d;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.beleg-position-context-item .material-icons {
  width: 18px;
  color: #063f6c;
  font-size: 18px;
}

.beleg-position-context-item:hover,
.beleg-position-context-item:focus-visible {
  outline: none;
  background: #e8f0f6;
  color: #063f6c;
}

.beleg-position-context-item.is-danger {
  color: #991b1b;
}

.beleg-position-context-item.is-danger .material-icons {
  color: #b42318;
}

.beleg-position-context-item.is-danger:hover,
.beleg-position-context-item.is-danger:focus-visible {
  background: #fff1f1;
  color: #991b1b;
}

.beleg-position-context-item:disabled {
  opacity: .38;
  cursor: default;
  background: transparent;
}

.beleg-position-context-separator {
  height: 1px;
  margin: 5px 4px;
  background: #e2e8f0;
}

.beleg-top-action-primary {
  border-color: #063f6c;
  background: #063f6c;
  color: #fff;
  box-shadow: 0 2px 7px rgba(6, 63, 108, 0.18);
  cursor: pointer;
}

.beleg-top-action-primary:hover:not(:disabled) {
  background: #05365d;
  border-color: #05365d;
}

/* Eigene Abschlussansicht vor Druck oder Mailversand */
.beleg-finish-overlay {
  position: fixed;
  z-index: 1450;
  inset: 0;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  background: #eef2f6;
}

.beleg-finish-topbar {
  flex: 0 0 auto;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-sizing: border-box;
  padding: 8px 16px;
  border-bottom: 1px solid #d5dfe9;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.beleg-finish-top-left,
.beleg-finish-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.beleg-finish-titleblock {
  min-width: 0;
}

.beleg-finish-title {
  color: #063f6c;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 800;
}

.beleg-finish-subtitle {
  margin-top: 2px;
  color: #64748b;
  font-size: 11px;
  line-height: 1.25;
}

.beleg-finish-actions .beleg-top-action-button {
  gap: 6px;
}

.beleg-finish-actions .material-icons {
  font-size: 17px;
}

.beleg-finish-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(180, 35, 24, .25);
  border-radius: 999px;
  background: #fff4f2;
  color: #b42318;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}

.beleg-finish-stage {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.beleg-finish-preview-shell {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: auto;
  padding: 22px 24px 42px;
  background: linear-gradient(180deg, #f4f7fa, #e9eef3);
}

.beleg-finish-preview-shell .beleg-render-page {
  width: min(calc(100% - 8px), 980px);
}

.beleg-finish-loading {
  position: absolute;
  z-index: 12;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(238, 242, 246, .82);
  backdrop-filter: blur(1.5px);
  -webkit-backdrop-filter: blur(1.5px);
}

.beleg-finish-loading.is-visible {
  display: flex;
}

body.beleg-finish-open {
  overflow: hidden;
}

@media (max-width: 760px) {
  .beleg-finish-topbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    padding: 8px 10px;
  }

  .beleg-finish-top-left,
  .beleg-finish-actions {
    width: 100%;
  }

  .beleg-finish-actions {
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .beleg-finish-actions > * {
    flex: 0 0 auto;
  }

  .beleg-finish-preview-shell {
    padding: 14px 10px 28px;
  }

  .beleg-position-context-menu {
    min-width: min(268px, calc(100vw - 16px));
  }
}

/* Seitenwechsel im Positionsbaum */
.beleg-position-tree-item.is-page-break {
  min-height: 25px;
  cursor: default;
  color: #60788d;
  background: rgba(6, 63, 108, 0.035);
}

.beleg-position-tree-item.is-page-break:hover {
  border-color: transparent;
  background: rgba(6, 63, 108, 0.035);
  color: #60788d;
}

.beleg-position-tree-item.is-page-break .beleg-position-tree-type {
  background: transparent;
  color: #587086;
  font-size: 13px;
}

.beleg-position-tree-item.is-page-break .beleg-position-tree-label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #587086;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.beleg-position-tree-item.is-page-break .beleg-position-tree-label::before,
.beleg-position-tree-item.is-page-break .beleg-position-tree-label::after {
  content: "";
  height: 1px;
  flex: 1 1 auto;
  background: rgba(6, 63, 108, 0.2);
}

/* Untermenü "Neues Element" im Positions-Kontextmenü */
.beleg-position-context-submenu-wrap {
  position: relative;
}

.beleg-position-context-has-submenu .beleg-position-context-arrow {
  width: auto;
  margin-left: auto;
  color: #60788d;
  font-size: 17px;
}

.beleg-position-context-submenu {
  position: absolute;
  z-index: 1;
  top: -6px;
  left: calc(100% + 5px);
  min-width: 220px;
  box-sizing: border-box;
  padding: 6px;
  border: 1px solid rgba(6, 63, 108, 0.2);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.22);
}

.beleg-position-context-menu.submenu-opens-left .beleg-position-context-submenu {
  right: calc(100% + 5px);
  left: auto;
}

@media (max-width: 520px) {
  .beleg-position-context-submenu {
    min-width: min(220px, calc(100vw - 16px));
  }
}

/* Beleg-Menü / Schnittstellen */
.beleg-menu-wrap {
  position: relative;
  flex: 0 0 auto;
}

.beleg-menu-button {
  gap: 4px;
  cursor: pointer;
}

.beleg-menu-button .material-icons {
  font-size: 17px;
  transition: transform .14s ease;
}

.beleg-menu-wrap.is-open .beleg-menu-button .material-icons {
  transform: rotate(180deg);
}

.beleg-menu-dropdown {
  position: absolute;
  z-index: 1200;
  top: calc(100% + 6px);
  right: 0;
  display: none;
  min-width: 220px;
  box-sizing: border-box;
  padding: 6px;
  border: 1px solid #d5dee8;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, .2);
}

.beleg-menu-wrap.is-open > .beleg-menu-dropdown {
  display: block;
}

.beleg-menu-submenu {
  position: relative;
}

.beleg-menu-submenu-dropdown {
  top: -6px;
  right: calc(100% + 6px);
}

.beleg-menu-wrap.is-submenu-open .beleg-menu-submenu-dropdown,
.beleg-menu-submenu:hover .beleg-menu-submenu-dropdown,
.beleg-menu-submenu:focus-within .beleg-menu-submenu-dropdown {
  display: block;
}

.beleg-menu-entry {
  width: 100%;
  min-height: 38px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #172b3a;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.beleg-menu-entry:hover,
.beleg-menu-entry:focus-visible {
  outline: none;
  background: #eef4f8;
  color: #063f6c;
}

.beleg-menu-entry .material-icons {
  color: #60788d;
  font-size: 18px;
}

.beleg-menu-entry small {
  color: #7b8d9d;
  font-size: 9px;
  font-weight: 700;
  white-space: nowrap;
}

.beleg-menu-entry-sub {
  grid-template-columns: minmax(0, 1fr) auto;
}

.beleg-menu-entry-sub .material-icons {
  justify-self: end;
}

.beleg-menu-entry:disabled,
.beleg-menu-entry.is-locked {
  opacity: .52;
  cursor: not-allowed;
}

.beleg-menu-entry:disabled:hover {
  background: transparent;
  color: #172b3a;
}

/* GAEB Dialoge */
.beleg-gaeb-dialog {
  width: min(620px, calc(100vw - 28px));
}

.beleg-gaeb-body {
  display: grid;
  gap: 16px;
}

.beleg-gaeb-file-field {
  display: grid;
  gap: 7px;
  color: #334155;
  font-size: 12px;
  font-weight: 800;
}

.beleg-gaeb-file-field input[type="file"] {
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
  border: 1px solid #cbd8e4;
  border-radius: 8px;
  background: #fff;
  color: #172b3a;
  font: inherit;
  font-size: 12px;
}

.beleg-gaeb-file-field input[type="file"]::file-selector-button {
  margin-right: 10px;
  padding: 7px 10px;
  border: 1px solid #c5d2df;
  border-radius: 6px;
  background: #eef3f8;
  color: #063f6c;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.beleg-gaeb-hint {
  display: grid;
  gap: 3px;
  padding: 11px 12px;
  border: 1px solid #d9e5ef;
  border-radius: 8px;
  background: #f4f8fb;
  color: #536b7d;
  font-size: 11px;
  line-height: 1.4;
}

.beleg-gaeb-hint strong {
  color: #063f6c;
  font-size: 12px;
}

/* Automatische / feste Positionsnummer */
.beleg-position-number-field > small {
  margin-top: 3px;
  color: #718292;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.35;
}

.beleg-position-number-row {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.beleg-position-number-row input[readonly] {
  background: #f2f5f8;
  color: #6b7d8d;
}

.beleg-position-number-row input.is-manual {
  background: #fff;
  color: #172b3a;
}

.beleg-position-number-fixed {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #3f5668;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}

.beleg-position-number-fixed input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #063f6c;
}

@media (max-width: 720px) {
  .beleg-menu-dropdown {
    right: auto;
    left: 0;
  }

  .beleg-menu-submenu-dropdown {
    top: calc(100% + 4px);
    right: auto;
    left: 0;
  }

  .beleg-position-number-row {
    grid-template-columns: 1fr;
  }
}

/* GAEB: ausfüllbare Bieterangaben in der Positionsbearbeitung */
.beleg-position-richtext-head {
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.beleg-position-richtext-head > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.beleg-position-richtext-edit {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid rgba(6, 63, 108, 0.26);
  border-radius: 6px;
  background: #fff;
  color: #063f6c;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.beleg-position-richtext-edit:hover {
  border-color: rgba(6, 63, 108, 0.52);
  background: rgba(6, 63, 108, 0.06);
}

.beleg-position-richtext-edit-warning {
  margin-top: 10px;
  padding: 9px 10px;
  border: 1px solid rgba(194, 65, 12, 0.22);
  border-radius: 6px;
  background: rgba(255, 247, 237, 0.9);
  color: #9a3412;
  font-size: 12px;
  line-height: 1.45;
}

.beleg-position-bidder-preview {
  display: inline;
  min-width: 72px;
  padding: 1px 4px;
  border: 1px dashed rgba(6, 63, 108, 0.5);
  border-radius: 3px;
  background: rgba(237, 246, 252, 0.88);
  color: #173f5c;
  font-weight: 700;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  cursor: pointer;
  outline: none;
}

.beleg-position-bidder-preview:hover,
.beleg-position-bidder-preview:focus-visible {
  border-color: rgba(6, 63, 108, 0.9);
  background: rgba(204, 117, 136, 0.16);
  box-shadow: 0 0 0 3px rgba(6, 63, 108, 0.1);
}

.beleg-position-bidder-preview.is-empty {
  color: #66849a;
  font-weight: 600;
}

/* Zwei Klassen sorgen dafür, dass diese Regel die später geladene
   allgemeine .address-edit-overlay-Regel aus adressen.css überstimmt. */
.address-edit-overlay.beleg-gaeb-bidder-overlay {
  z-index: 100003;
}

.beleg-gaeb-bidder-dialog {
  width: min(620px, calc(100vw - 32px));
}

.beleg-gaeb-bidder-value {
  min-height: 110px;
  resize: vertical;
}

@media (max-width: 640px) {
  .beleg-position-richtext-head {
    flex-direction: column;
  }

  .beleg-position-richtext-edit {
    align-self: flex-start;
  }
}

/* Beleg: dauerhafter Undo-/Redo-Verlauf */
.beleg-history-actions {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.beleg-history-button {
  width: 32px;
  min-width: 32px;
  padding: 0;
  border-radius: 0;
}

.beleg-history-button:first-child {
  border-radius: 8px 0 0 8px;
}

.beleg-history-button:last-child {
  margin-left: -1px;
  border-radius: 0 8px 8px 0;
}

.beleg-history-button .material-icons {
  font-size: 18px;
}

.beleg-history-button:not(:disabled):hover,
.beleg-history-button:not(:disabled):focus-visible {
  position: relative;
  z-index: 1;
  background: #ffffff;
  border-color: #9fb2c6;
}

/* GAEB: Schutz der Ausschreibungsdaten in der Positionsbearbeitung */
.beleg-position-gaeb-protection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  padding: 11px 12px;
  border: 1px solid rgba(180, 83, 9, 0.24);
  border-radius: 8px;
  background: rgba(255, 247, 237, 0.92);
  color: #7c2d12;
}

.beleg-position-gaeb-protection > div {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.beleg-position-gaeb-protection strong {
  color: #9a3412;
  font-size: 12px;
}

.beleg-position-gaeb-protection span {
  font-size: 11px;
  line-height: 1.42;
}

.beleg-position-gaeb-unlock {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid rgba(180, 83, 9, 0.36);
  border-radius: 6px;
  background: #fff;
  color: #9a3412;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}

.beleg-position-gaeb-unlock:hover {
  border-color: rgba(154, 52, 18, 0.62);
  background: rgba(255, 237, 213, 0.72);
}

.address-edit-control.is-gaeb-protected[readonly] {
  background: #f2f5f8;
  color: #64748b;
  cursor: not-allowed;
}

@media (max-width: 720px) {
  .beleg-position-gaeb-protection {
    align-items: stretch;
    flex-direction: column;
  }

  .beleg-position-gaeb-unlock {
    width: 100%;
  }
}

/* BelegSingle: umschaltbare Seitenansicht und Schnellbearbeitung */
.beleg-editor-mode-switch {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  height: 32px;
  padding: 2px;
  box-sizing: border-box;
  border: 1px solid #d5dee8;
  border-radius: 8px;
  background: #eef3f8;
}

.beleg-editor-mode-button {
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #536775;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.beleg-editor-mode-button .material-icons {
  font-size: 16px;
}

.beleg-editor-mode-button:hover {
  color: #063f6c;
}

.beleg-editor-mode-button.is-active {
  background: #fff;
  color: #063f6c;
  box-shadow: 0 1px 4px rgba(15, 23, 42, .12);
}

.beleg-preview-dirty-badge {
  height: 28px;
  align-items: center;
  gap: 5px;
  box-sizing: border-box;
  padding: 0 8px;
  border: 1px solid #f4d49b;
  border-radius: 999px;
  background: #fff8e9;
  color: #8b5d12;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.beleg-preview-dirty-badge .material-icons {
  font-size: 15px;
}

.beleg-quick-shell {
  min-width: 0;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: auto;
  box-sizing: border-box;
  background: #f4f7f9;
}

.beleg-quick-toolbar {
  position: sticky;
  z-index: 7;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 16px;
  border-bottom: 1px solid #dce5eb;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.beleg-quick-toolbar-main,
.beleg-quick-toolbar-side {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.beleg-quick-search-wrap {
  width: min(460px, 42vw);
  height: 36px;
  display: flex;
  align-items: center;
  gap: 7px;
  box-sizing: border-box;
  padding: 0 8px 0 10px;
  border: 1px solid #bfcdd7;
  border-radius: 7px;
  background: #fff;
}

.beleg-quick-search-wrap:focus-within {
  border-color: #5f8dad;
  box-shadow: 0 0 0 2px rgba(6, 63, 108, .09);
}

.beleg-quick-search-wrap > .material-icons {
  flex: 0 0 auto;
  color: #718391;
  font-size: 19px;
}

.beleg-quick-search-wrap input {
  min-width: 0;
  flex: 1 1 auto;
  height: 32px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #213b4e;
  font: inherit;
  font-size: 13px;
}

.beleg-quick-search-wrap button {
  width: 27px;
  height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #70818d;
  cursor: pointer;
}

.beleg-quick-search-wrap button:hover {
  background: #edf2f5;
  color: #063f6c;
}

.beleg-quick-search-wrap button .material-icons {
  font-size: 17px;
}

.beleg-quick-filter {
  height: 36px;
  min-width: 150px;
  padding: 0 30px 0 10px;
  border: 1px solid #bfcdd7;
  border-radius: 7px;
  background: #fff;
  color: #294558;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
}

.beleg-quick-stats {
  color: #38566b;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.beleg-quick-hint {
  color: #758590;
  font-size: 10px;
  white-space: nowrap;
}

.beleg-quick-table-head {
  position: sticky;
  z-index: 6;
  top: 61px;
  display: grid;
  grid-template-columns: 116px minmax(260px, 1fr) 95px 80px 105px 115px;
  align-items: center;
  min-width: 820px;
  padding: 8px 16px;
  box-sizing: border-box;
  border-bottom: 1px solid #d8e1e7;
  background: #edf2f5;
  color: #60727f;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.beleg-quick-table-head span:nth-child(n+3) {
  text-align: right;
}

.beleg-quick-list {
  min-width: 820px;
  padding: 10px 16px 34px;
}

.beleg-quick-document-head.beleg-render-zone {
  position: relative;
  z-index: auto;
  inset: auto;
  width: auto;
  height: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  padding: 11px 13px;
  box-sizing: border-box;
  border: 1px solid #cbd8e1;
  border-radius: 8px;
  background: #fff;
  color: #294558;
  cursor: pointer;
}

.beleg-quick-document-head > .material-icons {
  color: #063f6c;
  font-size: 21px;
}

.beleg-quick-document-head strong,
.beleg-quick-document-head small {
  display: block;
}

.beleg-quick-document-head small {
  margin-top: 2px;
  color: #71818c;
  font-size: 10px;
}

.beleg-quick-row.beleg-render-zone {
  --beleg-quick-depth: 0;
  position: relative;
  z-index: auto;
  inset: auto;
  width: auto;
  height: auto;
  display: grid;
  grid-template-columns: 116px minmax(260px, 1fr) 95px 80px 105px 115px;
  align-items: center;
  min-height: 50px;
  margin: 0;
  padding: 7px 0;
  box-sizing: border-box;
  border: 0;
  border-bottom: 1px solid #e2e8ec;
  border-radius: 0;
  background: #fff;
  color: #284557;
  cursor: pointer;
  content-visibility: auto;
  contain-intrinsic-size: 52px;
}

.beleg-quick-row.beleg-render-zone:hover {
  border-color: #e2e8ec;
  background: #f7fafc;
}

.beleg-quick-row.beleg-render-zone.is-selected {
  border-color: #c7d9e6;
  background: #eaf3f9;
  box-shadow: inset 3px 0 0 #063f6c;
}

.beleg-quick-row > * {
  min-width: 0;
  box-sizing: border-box;
  padding: 0 8px;
}

.beleg-quick-number {
  padding-left: calc(8px + (var(--beleg-quick-depth) * 18px)) !important;
  color: #274b63;
  font-size: 11px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.beleg-quick-description {
  min-width: 0;
}

.beleg-quick-description-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  color: #203c4f;
  font-size: 12px;
  line-height: 1.3;
}

.beleg-quick-description-title > span:first-child,
.beleg-quick-description-title > strong:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.beleg-quick-longtext {
  display: block;
  max-width: 100%;
  margin-top: 3px;
  overflow: hidden;
  color: #74838d;
  font-size: 10px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.beleg-quick-badges {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}

.beleg-quick-badge {
  display: inline-flex;
  align-items: center;
  min-height: 17px;
  padding: 1px 5px;
  border-radius: 999px;
  background: #edf1f3;
  color: #647782;
  font-size: 8px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}

.beleg-quick-badge.is-gaeb {
  background: #e8f2f8;
  color: #216188;
}

.beleg-quick-badge.is-bidder {
  background: #f0eaf8;
  color: #704b91;
}

.beleg-quick-badge.is-info {
  background: #eaf2f3;
  color: #3f6f75;
}

.beleg-quick-badge.is-warning {
  background: #fff1d8;
  color: #92600e;
}

.beleg-quick-value {
  color: #415c6d;
  font-size: 11px;
  text-align: right;
  overflow-wrap: anywhere;
}

.beleg-quick-money {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.beleg-quick-row.is-title {
  min-height: 44px;
  margin-top: 7px;
  border-top: 1px solid #cfdbe3;
  border-bottom-color: #cfdbe3;
  background: #f0f5f8;
}

.beleg-quick-row.is-title .beleg-quick-number {
  color: #063f6c;
}

.beleg-quick-row.is-title .beleg-quick-description-title {
  color: #063f6c;
  font-size: 12px;
}

.beleg-quick-row.is-page-break {
  min-height: 42px;
  color: #71818c;
  background: #fafbfc;
}

.beleg-quick-pagebreak-label {
  grid-column: 2 / -1;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  padding-right: 14px !important;
}

.beleg-quick-pagebreak-label span {
  height: 1px;
  background: #b9c7d0;
}

.beleg-quick-pagebreak-label strong {
  color: #73838d;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.beleg-quick-loading,
.beleg-quick-error,
.beleg-quick-no-results {
  margin: 18px 0;
  padding: 24px;
  border: 1px dashed #c3d0d8;
  border-radius: 9px;
  background: #fff;
  color: #6e7e88;
  font-size: 12px;
  text-align: center;
}

.beleg-quick-error {
  color: #a23a3a;
}

.beleg-quick-row.beleg-render-zone-position.is-drop-before::before,
.beleg-quick-row.beleg-render-zone-position.is-drop-after::after {
  left: 0;
  right: 0;
}

/* Einstellungen > Belege */
.settings-belege-page {
  display: grid;
  gap: 16px;
}

.settings-belege-mode-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.settings-belege-mode-card {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 4px 10px;
  align-items: start;
  padding: 14px;
  border: 1px solid #cbd7df;
  border-radius: 9px;
  background: #fff;
  cursor: pointer;
}

.settings-belege-mode-card:has(input:checked) {
  border-color: #5e8eae;
  background: #f1f7fb;
  box-shadow: 0 0 0 2px rgba(6, 63, 108, .08);
}

.settings-belege-mode-card input {
  position: absolute;
  top: 14px;
  right: 14px;
}

.settings-belege-mode-card > .material-icons {
  grid-row: 1 / span 2;
  color: #063f6c;
  font-size: 23px;
}

.settings-belege-mode-card strong {
  padding-right: 22px;
  color: #294558;
  font-size: 13px;
}

.settings-belege-mode-card small {
  color: #6d7e89;
  font-size: 11px;
  line-height: 1.45;
}

.settings-belege-threshold {
  max-width: 520px;
  margin-top: 18px;
}

.settings-belege-threshold > small {
  margin-top: 5px;
  color: #74838d;
  font-size: 10px;
  line-height: 1.4;
}

.settings-belege-threshold.is-disabled {
  opacity: .5;
}

.settings-belege-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}

.settings-save-success {
  margin-top: 12px;
  padding: 9px 11px;
  border: 1px solid #b9dec6;
  border-radius: 6px;
  background: #eef9f2;
  color: #2f7147;
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 1180px) {
  .beleg-quick-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .beleg-quick-toolbar-main {
    width: 100%;
  }

  .beleg-quick-search-wrap {
    width: auto;
    flex: 1 1 auto;
  }

  .beleg-quick-table-head {
    top: 101px;
  }
}

@media (max-width: 760px) {
  .beleg-editor-mode-button span:not(.material-icons) {
    display: none;
  }

  .beleg-preview-dirty-badge span:last-child,
  .beleg-quick-hint {
    display: none;
  }

  .beleg-quick-toolbar-main {
    align-items: stretch;
    flex-direction: column;
  }

  .beleg-quick-filter,
  .beleg-quick-search-wrap {
    width: 100%;
  }

  .beleg-quick-table-head {
    top: 143px;
  }

  .settings-belege-mode-grid {
    grid-template-columns: 1fr;
  }
}

/* Expertenlayout: sichtbare Schriftvorschau mit Browser-Fallbacks */
.settings-expert-font-preview {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 11px;
  overflow: hidden;
  border: 1px solid #dbe4ec;
  border-radius: 5px;
  background: #f8fafc;
}

.settings-expert-font-preview > span {
  display: block;
  overflow: hidden;
  font-size: 18px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-expert-font-preview > small {
  display: block;
  overflow: hidden;
  color: #64748b;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.3;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Expertenlayout: dynamischer Inhaltsfluss */
.settings-expert-canvas-element.is-flow-container {
  border: 2px solid rgba(6, 63, 108, .65);
  background: rgba(6, 63, 108, .035);
  cursor: move;
}

.settings-expert-canvas-element.is-flow-container .settings-expert-canvas-label {
  background: rgba(6, 63, 108, .08);
}

.settings-expert-canvas-element.is-flow-item {
  border-style: solid;
  border-color: rgba(6, 63, 108, .42);
  background: rgba(255, 255, 255, .88);
  cursor: pointer;
}

.settings-expert-canvas-element.is-flow-item .settings-expert-resize-handle {
  display: none;
}

.settings-expert-canvas-label small {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  color: #64748b;
  font-size: 8px;
  font-weight: 500;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Beleg: mehrere Vortexte */
.beleg-pretexts-overlay {
  z-index: 100001;
}

.beleg-pretexts-panel {
  width: min(1080px, calc(100vw - 32px));
  max-height: min(820px, calc(100vh - 32px));
}

.beleg-pretexts-body {
  display: grid;
  grid-template-columns: minmax(230px, 290px) minmax(0, 1fr);
  min-height: 520px;
  padding: 0;
}

.beleg-pretexts-list-pane {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 10px;
  padding: 18px;
  border-right: 1px solid #dbe4ec;
  background: #f8fafc;
}

.beleg-pretexts-list-head,
.beleg-pretexts-order-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.beleg-pretexts-order-actions > button {
  flex: 1 1 0;
}

.beleg-pretexts-list {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 6px;
  overflow-y: auto;
}

.beleg-pretexts-list-item {
  width: 100%;
  padding: 9px 10px;
  overflow: hidden;
  border: 1px solid #dbe4ec;
  border-radius: 6px;
  background: #ffffff;
  color: #263746;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.beleg-pretexts-list-item:hover,
.beleg-pretexts-list-item.is-active {
  border-color: #cc7588;
  background: rgba(204, 117, 136, .1);
  color: #063f6c;
}

.beleg-pretexts-list-empty {
  padding: 18px 8px;
  color: #64748b;
  font-size: 12px;
  text-align: center;
}

.beleg-pretexts-editor-pane {
  min-width: 0;
  padding: 18px 22px;
  overflow-y: auto;
}

.beleg-pretexts-empty {
  min-height: 420px;
  align-items: center;
  justify-content: center;
  color: #64748b;
  text-align: center;
}

.beleg-pretext-textarea {
  min-height: 300px;
  resize: vertical;
  white-space: pre-wrap;
}

.beleg-pretexts-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 16px;
  margin: 14px 0 18px;
}

.beleg-pretexts-options label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #475569;
  font-size: 12px;
}

@media (max-width: 760px) {
  .beleg-pretexts-panel {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
  }

  .beleg-pretexts-body {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .beleg-pretexts-list-pane {
    max-height: 220px;
    border-right: 0;
    border-bottom: 1px solid #dbe4ec;
  }

  .beleg-pretexts-editor-pane {
    min-height: 360px;
  }

  .beleg-pretexts-options {
    grid-template-columns: 1fr;
  }
}

.settings-expert-flow-controls {
  display: grid;
  gap: 9px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid #dbe4ec;
  border-radius: 6px;
  background: #f8fafc;
}

.settings-expert-flow-controls > label {
  display: grid;
  gap: 5px;
  color: #475569;
  font-size: 12px;
}

.settings-expert-flow-controls input {
  width: 100%;
}

.settings-expert-flow-controls > small {
  color: #64748b;
  font-size: 11px;
  line-height: 1.45;
}

.settings-expert-flow-order-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

/* Textbausteine und Belegtexte */
.settings-textbausteine-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  min-width: 0;
}

.settings-textbausteine-page > .settings-detail-section {
  grid-column: 1 / -1;
  min-width: 0;
}

.settings-textbausteine-page .settings-detail-intro,
.settings-textbausteine-page .settings-detail-text,
.settings-textbausteine-page .address-edit-field small,
.settings-textbausteine-page .settings-textvorgabe-column-head small {
  white-space: normal;
  overflow-wrap: anywhere;
  min-width: 0;
  max-width: 100%;
}

.settings-textbausteine-toolbar,
.settings-textbausteine-default-head {
  flex-wrap: wrap;
  min-width: 0;
}

.settings-textbausteine-toolbar > div,
.settings-textbausteine-default-head > div {
  flex: 1 1 280px;
  min-width: 0;
}

.settings-textbausteine-toolbar .address-new-button {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
  padding: 0 12px;
}

.settings-textbausteine-toolbar .address-new-button span:last-child {
  display: inline;
}

.settings-textbausteine-toolbar,
.settings-textbausteine-default-head,
.settings-textbausteine-editor-actions,
.settings-textvorgaben-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.settings-textbausteine-workspace {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  min-height: 560px;
  margin-top: 18px;
  border: 1px solid #dbe4ec;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.settings-textbausteine-list-pane {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-right: 1px solid #dbe4ec;
  background: #f8fafc;
}

.settings-textbausteine-search,
.beleg-textbaustein-picker-search {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  margin: 12px;
  padding: 0 10px;
  min-height: 42px;
  border: 1px solid #cbd5e1;
  background: #fff;
}

.settings-textbausteine-search input,
.beleg-textbaustein-picker-search input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font: inherit;
}

.settings-textbausteine-search button,
.beleg-textbaustein-picker-search button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #64748b;
  cursor: pointer;
}

.settings-textbausteine-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  margin-top: 12px;
}

.settings-textbaustein-list-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.settings-textbaustein-list-item .xcraft-list-title {
  overflow-wrap: anywhere;
}

.settings-textbaustein-list-item .xcraft-list-meta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-textbaustein-dialog .address-edit-body {
  min-width: 0;
  overflow-y: auto;
}

.settings-textbaustein-dialog small {
  white-space: normal;
  overflow-wrap: anywhere;
}

.settings-textbausteine-list-empty,
.settings-textvorgabe-empty,
.beleg-textbaustein-picker-empty {
  padding: 24px 14px;
  color: #64748b;
  text-align: center;
}

.settings-textbausteine-editor {
  min-width: 0;
  padding: 20px;
}

.settings-textbausteine-editor-empty {
  display: flex;
  min-height: 440px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #64748b;
  text-align: center;
}

.settings-textbausteine-editor-empty .material-icons {
  font-size: 42px;
}

.settings-textbausteine-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.settings-textbausteine-full {
  grid-column: 1 / -1;
}

.settings-textbausteine-textarea {
  min-height: 280px;
  resize: vertical;
  white-space: pre-wrap;
}

.settings-textbausteine-editor-actions {
  display: grid;
  grid-template-columns: auto 1fr auto;
  margin-top: 16px;
}

.settings-textbausteine-type-select {
  min-width: 230px;
}

.settings-textvorgaben-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.settings-textvorgabe-column {
  min-width: 0;
  padding: 14px;
  border: 1px solid #dbe4ec;
  border-radius: 7px;
  background: #f8fafc;
}

.settings-textvorgabe-column-head {
  display: grid;
  gap: 2px;
  margin-bottom: 10px;
}

.settings-textvorgabe-column-head small {
  color: #64748b;
}

.settings-textvorgabe-add {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.settings-textvorgabe-list {
  display: grid;
  gap: 7px;
  margin-top: 12px;
}

.settings-textvorgabe-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px;
  border: 1px solid #dbe4ec;
  border-radius: 5px;
  background: #fff;
}

.settings-textvorgabe-item > div:first-child {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.settings-textvorgabe-item small {
  color: #64748b;
}

.settings-textvorgabe-item > div:last-child {
  display: flex;
  flex: 0 0 auto;
  gap: 3px;
}

.settings-textvorgabe-action {
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border: 1px solid #dbe4ec;
  border-radius: 4px;
  background: #fff;
  color: #475569;
  cursor: pointer;
}

.settings-textvorgabe-action:disabled {
  opacity: .35;
  cursor: default;
}

.settings-textvorgaben-footer {
  justify-content: flex-end;
  margin-top: 16px;
}

.beleg-belegtext-tabs {
  display: flex;
  gap: 4px;
  padding: 10px 18px 0;
  border-bottom: 1px solid #dbe4ec;
}

.beleg-belegtext-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 14px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #64748b;
  cursor: pointer;
}

.beleg-belegtext-tab.is-active {
  border-bottom-color: #063f6c;
  color: #063f6c;
  font-weight: 700;
}

.beleg-pretexts-add-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.beleg-pretexts-add-actions .settings-small-button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.beleg-pretexts-add-actions .material-icons {
  font-size: 17px;
}

.beleg-textbaustein-source-hint {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 9px 11px;
  border: 1px solid #bae6fd;
  border-radius: 5px;
  background: #f0f9ff;
  color: #075985;
  font-size: 12px;
}

.beleg-textbaustein-picker-overlay {
  z-index: 100004;
}

.beleg-textbaustein-picker-dialog {
  width: min(760px, calc(100vw - 24px));
  max-height: min(760px, calc(100vh - 24px));
}

.beleg-textbaustein-picker-list {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 260px;
  max-height: 58vh;
  padding: 0 12px 12px;
  overflow: auto;
}

.beleg-textbaustein-picker-item {
  display: grid;
  gap: 8px;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #dbe4ec;
  border-radius: 6px;
  background: #fff;
  text-align: left;
  cursor: pointer;
}

.beleg-textbaustein-picker-item:hover {
  border-color: #93b4cc;
  background: #f8fbfd;
}

.beleg-textbaustein-picker-item > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.beleg-textbaustein-picker-item span {
  color: #64748b;
  font-size: 12px;
}

.beleg-textbaustein-picker-item p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: #475569;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  white-space: pre-wrap;
}

@media (max-width: 900px) {
  .settings-textbausteine-workspace,
  .settings-textvorgaben-grid {
    grid-template-columns: 1fr;
  }

  .settings-textbausteine-list-pane {
    max-height: 340px;
    border-right: 0;
    border-bottom: 1px solid #dbe4ec;
  }
}

@media (max-width: 620px) {
  .settings-textbausteine-toolbar,
  .settings-textbausteine-default-head {
    align-items: stretch;
    flex-direction: column;
  }

  .settings-textbausteine-toolbar > div,
  .settings-textbausteine-default-head > div {
    flex: 0 1 auto;
  }

  .settings-textbausteine-form-grid {
    grid-template-columns: 1fr;
  }

  .settings-textbausteine-full {
    grid-column: auto;
  }

  .settings-textbausteine-type-select {
    min-width: 0;
  }

  .settings-textvorgabe-add {
    grid-template-columns: 1fr;
  }
}

.beleg-quick-row.is-text {
  align-items: start;
  background: #fbfdff;
}

.beleg-quick-row.is-text .beleg-quick-description {
  grid-column: 2 / -1;
  padding-block: 7px;
}

.beleg-quick-row.is-text > .beleg-quick-value {
  display: none;
}

/* BelegSingle: Textbausteine wie Leistungen per Drag & Drop einfügen */
.beleg-insert-master-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin-bottom: 12px;
  padding: 3px;
  border: 1px solid #d8e2e9;
  border-radius: 9px;
  background: #eef3f6;
}

.beleg-insert-master-tab {
  min-width: 0;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #5f7381;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.beleg-insert-master-tab .material-icons {
  font-size: 17px;
}

.beleg-insert-master-tab.is-active {
  background: #fff;
  color: #063f6c;
  box-shadow: 0 1px 4px rgba(15, 23, 42, .12);
}

.beleg-insert-master-panel {
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
}

.beleg-textbaustein-tools {
  min-height: 0;
  flex: 1 1 auto;
}

.beleg-textbaustein-drag-hint {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 8px 0;
  padding: 8px 9px;
  border: 1px solid #d9e5ed;
  border-radius: 7px;
  background: #f5f9fb;
  color: #526b7a;
  font-size: 10px;
  line-height: 1.35;
}

.beleg-textbaustein-drag-hint .material-icons {
  flex: 0 0 auto;
  color: #063f6c;
  font-size: 17px;
}

.beleg-textbaustein-sidebar-list {
  min-height: 120px;
  flex: 1 1 auto;
  overflow-y: auto;
}

.beleg-textbaustein-sidebar-item {
  margin-bottom: 7px;
  padding: 9px;
  border: 1px solid #d5e0e7;
  border-radius: 8px;
  background: #fff;
  color: #294558;
  cursor: grab;
  transition: border-color .14s ease, box-shadow .14s ease, opacity .14s ease;
}

.beleg-textbaustein-sidebar-item:hover {
  border-color: #9eb8c9;
  box-shadow: 0 4px 12px rgba(15, 23, 42, .07);
}

.beleg-textbaustein-sidebar-item.is-dragging {
  opacity: .55;
  cursor: grabbing;
}

.beleg-textbaustein-sidebar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
}

.beleg-textbaustein-sidebar-category {
  min-width: 0;
  color: #71828e;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.beleg-textbaustein-drag-icon {
  flex: 0 0 auto;
  color: #90a0aa;
  font-size: 18px;
}

.beleg-textbaustein-sidebar-title {
  display: block;
  color: #163f58;
  font-size: 12px;
  line-height: 1.3;
}

.beleg-textbaustein-sidebar-preview {
  display: -webkit-box;
  margin-top: 4px;
  color: #607580;
  font-size: 10px;
  line-height: 1.35;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.beleg-textbaustein-sidebar-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  margin-top: 8px;
}

.beleg-textbaustein-sidebar-actions button {
  height: 26px;
  padding: 0 4px;
  border: 1px solid #cbd9e2;
  border-radius: 5px;
  background: #f7fafc;
  color: #35566b;
  font: inherit;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}

.beleg-textbaustein-sidebar-actions button:hover {
  border-color: #789db5;
  background: #eaf3f9;
  color: #063f6c;
}

.beleg-textbaustein-free-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 8px;
}

.beleg-text-flow-drop-zone {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: min(calc(100% - 8px), 980px);
  min-height: 48px;
  margin: 0 auto 12px;
  padding: 8px 14px;
  box-sizing: border-box;
  border: 2px dashed #9eb8c9;
  border-radius: 9px;
  background: rgba(240, 247, 251, .92);
  color: #355b72;
  cursor: copy;
}

.beleg-text-flow-drop-zone.is-closing {
  margin-top: 12px;
  margin-bottom: 0;
}

.beleg-text-flow-drop-zone .material-icons {
  color: #063f6c;
  font-size: 22px;
}

.beleg-text-flow-drop-zone strong,
.beleg-text-flow-drop-zone small {
  display: block;
}

.beleg-text-flow-drop-zone strong {
  font-size: 12px;
}

.beleg-text-flow-drop-zone small {
  margin-top: 1px;
  color: #718591;
  font-size: 10px;
}

#beleg-single-root.is-textbausteine-mode .beleg-text-flow-drop-zone,
#beleg-single-root.is-textbaustein-dragging .beleg-text-flow-drop-zone {
  display: flex;
}

.beleg-text-flow-drop-zone.is-drag-over,
.beleg-quick-text-area.is-drag-over {
  border-color: #063f6c;
  background: #e4f1f8;
  box-shadow: 0 0 0 3px rgba(6, 63, 108, .10);
}

.beleg-render-zone-text {
  border-color: transparent;
}

.beleg-render-zone-text:hover {
  border-color: rgba(6, 63, 108, .42);
  background: rgba(6, 63, 108, .055);
}

.beleg-render-zone-text.is-selected {
  border-color: #063f6c;
  background: rgba(6, 63, 108, .09);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7);
}

.beleg-render-zone-text.is-drop-before,
.beleg-render-zone-text.is-drop-after {
  overflow: visible;
}

.beleg-render-zone-text.is-drop-before::before,
.beleg-render-zone-text.is-drop-after::after {
  content: "";
  position: absolute;
  left: -2px;
  right: -2px;
  height: 4px;
  z-index: 5;
  border-radius: 999px;
  background: #063f6c;
  pointer-events: none;
}

.beleg-render-zone-text.is-drop-before::before {
  top: -4px;
}

.beleg-render-zone-text.is-drop-after::after {
  bottom: -4px;
}

.beleg-quick-text-area {
  min-width: 820px;
  margin: 10px 16px 0;
  padding: 10px;
  box-sizing: border-box;
  border: 1px dashed #b9cad5;
  border-radius: 9px;
  background: rgba(255, 255, 255, .72);
}

.beleg-quick-text-area.is-closing {
  margin-top: 0;
  margin-bottom: 24px;
}

.beleg-quick-text-area-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
  color: #35576d;
  font-size: 11px;
}

.beleg-quick-text-area-head span,
.beleg-quick-text-area-empty {
  color: #7a8992;
  font-size: 10px;
}

.beleg-quick-text-card.beleg-render-zone {
  position: relative;
  z-index: auto;
  inset: auto;
  width: auto;
  height: auto;
  display: block;
  margin-top: 6px;
  padding: 10px 12px;
  box-sizing: border-box;
  border: 1px solid #d5e0e7;
  border-radius: 7px;
  background: #fff;
  color: #294558;
  white-space: pre-wrap;
  cursor: pointer;
}

.beleg-quick-text-card.beleg-render-zone:hover {
  border-color: #9fb9c9;
  background: #f7fafc;
}

.beleg-quick-text-card.beleg-render-zone.is-selected {
  border-color: #5e8ba8;
  background: #eaf3f9;
  box-shadow: inset 3px 0 0 #063f6c;
}

.beleg-quick-text-card > strong {
  display: block;
  margin-bottom: 4px;
  color: #173f58;
  font-size: 12px;
}

.beleg-quick-text-card > div {
  color: #4e6574;
  font-size: 11px;
  line-height: 1.45;
  white-space: pre-wrap;
}

/* Leere Belege: echte Drop-Zonen für das erste Element */
.beleg-empty-position-drop-zone {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: min(calc(100% - 8px), 980px);
  min-height: 66px;
  margin: 0 auto 14px;
  padding: 12px 16px;
  box-sizing: border-box;
  border: 2px dashed #9eb8c9;
  border-radius: 10px;
  background: rgba(255, 255, 255, .92);
  color: #355b72;
  cursor: copy;
}

.beleg-empty-position-drop-zone .material-icons {
  color: #063f6c;
  font-size: 26px;
}

.beleg-empty-position-drop-zone strong,
.beleg-empty-position-drop-zone small {
  display: block;
}

.beleg-empty-position-drop-zone strong {
  font-size: 12px;
}

.beleg-empty-position-drop-zone small {
  margin-top: 2px;
  color: #718591;
  font-size: 10px;
}

.beleg-empty-position-drop-zone.is-drag-over,
.beleg-quick-no-results.is-empty-document.is-drag-over {
  border-color: #063f6c;
  background: #e4f1f8;
  box-shadow: 0 0 0 4px rgba(6, 63, 108, .12);
}

.beleg-quick-no-results.is-empty-document {
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 92px;
  cursor: copy;
}

.beleg-quick-no-results.is-empty-document > .material-icons {
  color: #063f6c;
  font-size: 28px;
}

.beleg-quick-no-results.is-empty-document strong,
.beleg-quick-no-results.is-empty-document small {
  display: block;
}

.beleg-quick-no-results.is-empty-document small {
  margin-top: 3px;
  color: #7a8992;
}

/* Einfuegelinien direkt im gerenderten Dokument.
   Sie werden nur waehrend eines Drag-Vorgangs eingeblendet. */
.beleg-document-drop-anchor {
  display: none;
  position: absolute;
  z-index: 18;
  box-sizing: border-box;
  pointer-events: none;
  cursor: copy;
}

#beleg-single-root.is-textbaustein-dragging .beleg-document-drop-anchor.is-pretext,
#beleg-single-root.is-textbaustein-dragging .beleg-document-drop-anchor.is-position,
#beleg-single-root.is-textbaustein-dragging .beleg-document-drop-anchor.is-closing,
#beleg-single-root.is-belegelement-dragging .beleg-document-drop-anchor.is-position {
  display: block;
  pointer-events: auto;
}

.beleg-document-drop-anchor::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 2px;
  border-radius: 999px;
  background: #6f9ab4;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .92);
  transform: translateY(-50%);
  transition: height .12s ease, background-color .12s ease, box-shadow .12s ease;
}

.beleg-document-drop-anchor::after {
  content: attr(data-drop-label);
  position: absolute;
  left: 50%;
  top: 50%;
  max-width: calc(100% - 24px);
  padding: 3px 9px;
  overflow: hidden;
  border: 1px solid #9db8c9;
  border-radius: 999px;
  background: rgba(255, 255, 255, .96);
  color: #355b72;
  box-shadow: 0 2px 7px rgba(31, 61, 79, .13);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.beleg-document-drop-anchor.is-drag-over::before {
  height: 5px;
  background: #063f6c;
  box-shadow: 0 0 0 4px rgba(6, 63, 108, .15);
}

.beleg-document-drop-anchor.is-drag-over::after {
  border-color: #063f6c;
  background: #e8f3f9;
  color: #063f6c;
}

/* Belege: prozentuale Zu-/Abschlagspositionen */
.beleg-adjustment-info {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(6, 63, 108, 0.16);
  border-radius: 8px;
  background: #f7fafc;
}

.beleg-adjustment-info > div {
  min-width: 0;
}

.beleg-adjustment-info span,
.beleg-adjustment-info strong {
  display: block;
}

.beleg-adjustment-info span {
  margin-bottom: 4px;
  color: #71818c;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.beleg-adjustment-info strong {
  color: #203c4f;
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.beleg-quick-row.is-adjustment {
  background: #f8fafc;
}

.beleg-quick-row.is-adjustment:hover {
  background: #f1f6f9;
}

.beleg-quick-row.is-adjustment-abschlag .beleg-quick-money:last-child {
  color: #991b1b;
}

.beleg-quick-badge.is-adjustment {
  background: #edf3f6;
  color: #315c74;
}

@media (max-width: 720px) {
  .beleg-adjustment-info {
    grid-template-columns: 1fr;
  }
}

/* Interne Material-Datenbank */
.internal-admin-upload-zone {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  padding: 18px;
  border: 1px dashed #9fb5c4;
  border-radius: 5px;
  background: #f8fbfc;
  color: #38566b;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}
.internal-admin-upload-zone:hover,
.internal-admin-upload-zone:focus-visible,
.internal-admin-upload-zone.is-dragover {
  border-color: #063f6c;
  background: #eef6fa;
  outline: none;
}
.internal-admin-upload-zone > .material-icons { font-size: 32px; color: #063f6c; }
.internal-admin-upload-zone strong,
.internal-admin-upload-zone small { display: block; }
.internal-admin-upload-zone small { margin-top: 5px; color: #71808a; line-height: 1.45; }
.internal-admin-import-result {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 4px;
  background: #eaf7ef;
  color: #2b7348;
  font-weight: 700;
}
.internal-admin-import-result.is-warning { background: #fff4df; color: #8b5d13; }
.internal-admin-search {
  width: min(360px, 100%);
  min-height: 36px;
  border: 1px solid #b9c8d2;
  border-radius: 4px;
  padding: 7px 10px;
  font: inherit;
}
.internal-admin-material-table { min-width: 1100px; }
.internal-admin-material-table td:nth-child(2) strong { color: #063f6c; }

/* xcraft IQ - technische Herstellerinformationen */
.xcraft-iq-card {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(6, 63, 108, .18);
  border-radius: 10px;
  background: rgba(6, 63, 108, .035);
}
.xcraft-iq-title,
.xcraft-iq-inline-title {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #063f6c;
  font-weight: 700;
}
.xcraft-iq-spark { font-size: 16px; }
.xcraft-iq-line { margin-top: 8px; display: flex; gap: 6px; flex-wrap: wrap; }
.xcraft-iq-source,
.xcraft-iq-inline-source { margin-top: 4px; font-size: 12px; color: #667085; }
.xcraft-iq-actions,
.xcraft-iq-inline-actions { margin-top: 9px; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.xcraft-iq-actions a,
.xcraft-iq-action {
  color: #063f6c;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.xcraft-iq-actions a:hover,
.xcraft-iq-action:hover { text-decoration: underline; }
.xcraft-iq-action-primary { color: #9b5263; }
.xcraft-iq-inline {
  margin-top: 9px;
  padding: 9px 11px;
  border-left: 3px solid #063f6c;
  border-radius: 5px;
  background: rgba(6, 63, 108, .035);
  text-align: left;
}
.xcraft-iq-inline-title { font-size: 12px; }
.xcraft-iq-inline-consumption { margin-top: 4px; font-size: 13px; font-weight: 600; color: #263746; }
.xcraft-iq-inline-actions { font-size: 12px; }
.beleg-finish-log-panel{position:absolute;z-index:6;inset:0 0 0 auto;width:min(380px,36vw);box-sizing:border-box;background:#fff;border-left:1px solid #d9e2ea;padding:20px;overflow:auto;box-shadow:-8px 0 24px rgba(6,63,108,.08)}
.beleg-finish-log-items{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.beleg-finish-log-item{display:flex;gap:10px;padding:12px;border:1px solid #dce5ec;border-radius:9px;background:#f8fafc}
.beleg-finish-log-item>.material-icons{color:#063f6c}.beleg-finish-log-item>div{display:flex;min-width:0;flex-direction:column;gap:3px}.beleg-finish-log-item strong{font-size:13px}.beleg-finish-log-item small{color:#607080}.beleg-finish-log-item em{font-size:11px;font-style:normal;color:#2f7d42}.beleg-finish-log-item.is-fehlgeschlagen em{color:#b42318}.beleg-finish-log-item.is-teilweise em{color:#9a6700}
@media(max-width:900px){.beleg-finish-log-panel{width:min(92vw,380px)}}

.beleg-mail-dialog{width:min(820px,94vw);max-height:92vh}
.beleg-mail-body{display:flex;flex-direction:column;gap:16px;overflow:auto}
.beleg-mail-full{width:100%}
.beleg-mail-full small{font-size:11px;color:#718092;margin-top:4px}
.beleg-mail-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.beleg-mail-message{min-height:170px;resize:vertical;line-height:1.45}
.beleg-mail-suggestions{display:flex;flex-wrap:wrap;gap:7px;margin-top:-9px}
.beleg-mail-suggestion{border:1px solid #cad8e3;border-radius:999px;background:#f6f9fb;color:#063f6c;padding:6px 10px;font-size:12px;cursor:pointer}
.beleg-mail-suggestion:hover{border-color:#063f6c;background:#edf4f8}
.beleg-mail-no-suggestion{font-size:12px;color:#7a8792}
.beleg-mail-attachments{display:flex;flex-direction:column;gap:9px;border-top:1px solid #e1e8ee;padding-top:14px}
.beleg-mail-pdf{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid #dce5ec;border-radius:8px;padding:10px 12px;background:#f8fafc;color:#263746}
.beleg-mail-pdf .material-icons{color:#c33}.beleg-mail-pdf em{font-size:11px;font-style:normal;color:#607080}
.beleg-mail-file-button{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;border:1px solid #aebfcd;border-radius:7px;padding:8px 12px;background:#fff;color:#063f6c;font-size:13px;cursor:pointer}
.beleg-mail-file-button input{display:none}.beleg-mail-file-button .material-icons{font-size:18px}
.beleg-mail-attachment-actions{display:flex;flex-wrap:wrap;gap:8px}.beleg-mail-project-picker{flex-direction:column;gap:10px;border:1px solid #cad8e3;border-radius:9px;background:#f8fafc;padding:12px}.beleg-mail-project-picker-head,.beleg-mail-project-picker-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.beleg-mail-project-picker-head button{border:0;background:transparent;color:#607080;cursor:pointer}.beleg-mail-project-picker-head .material-icons{font-size:19px}.beleg-mail-project-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:12px}.beleg-mail-project-breadcrumbs button{border:0;background:transparent;color:#063f6c;padding:2px;cursor:pointer}.beleg-mail-project-files{display:flex;flex-direction:column;max-height:230px;overflow:auto;border:1px solid #e1e8ee;border-radius:7px;background:#fff}.beleg-mail-project-folder,.beleg-mail-project-file{display:flex;align-items:center;gap:9px;border:0;border-bottom:1px solid #edf1f4;background:#fff;padding:9px 10px;text-align:left;color:#263746;font-size:13px;cursor:pointer}.beleg-mail-project-folder:hover,.beleg-mail-project-file:hover{background:#f2f7fa}.beleg-mail-project-folder .material-icons{color:#d6a529}.beleg-mail-project-file .material-icons{font-size:18px;color:#607080}.beleg-mail-project-picker-foot{font-size:12px;color:#607080}
.beleg-mail-attachment-list{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#4b5e6d}
.beleg-mail-attachment-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;border:1px solid #e1e8ee;border-radius:7px;background:#fff;padding:7px 8px 7px 10px}.beleg-mail-attachment-row>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.beleg-mail-attachment-remove{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:#718092;cursor:pointer}.beleg-mail-attachment-remove:hover{background:#fbeaec;color:#b42318}.beleg-mail-attachment-remove .material-icons{font-size:18px}
.beleg-mail-dialog .address-edit-button .material-icons{font-size:17px;vertical-align:middle;margin-right:5px}
@media(max-width:650px){.beleg-mail-two{grid-template-columns:1fr}.beleg-mail-pdf{grid-template-columns:auto 1fr}.beleg-mail-pdf em{grid-column:2}.beleg-mail-dialog{max-height:96vh}}
.beleg-internal-documents-overlay { z-index: 12250; padding: 18px; }
.beleg-internal-documents-dialog { width: min(1180px, 96vw); height: min(900px, 94vh); max-width: none; display: flex; flex-direction: column; overflow: hidden; border-radius: 5px; }
.beleg-internal-documents-dialog > .address-edit-header { padding: 10px 14px; }
.beleg-internal-documents-dialog .address-edit-title { font-size: 18px; }
.beleg-internal-documents-dialog .address-edit-subtitle { font-size: 12px; }
.beleg-internal-documents-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; padding: 8px 14px; border-bottom: 1px solid #dfe6ec; background: #f7f9fb; }
.beleg-internal-documents-toolbar > label { display: flex; align-items: center; gap: 8px; min-width: 0; color: #465663; font-size: 12px; font-weight: 500; }
.beleg-internal-documents-toolbar select { width: 220px; height: 28px; min-height: 28px; border: 1px solid #bdcad5; border-radius: 2px; background: #fff; padding: 0 24px 0 8px; color: #1d3446; font: inherit; font-size: 13px; }
.beleg-work-description-options { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-left: 12px; border-left: 1px solid #d5dee6; font-size: 12px; color: #465663; }
.beleg-work-description-options > label { min-width: 0; }
.beleg-work-percentage-label { display: flex; align-items: center; gap: 6px; margin: 0; }
.beleg-work-percentage { display: flex; align-items: center; height: 28px; border: 1px solid #bdcad5; border-radius: 2px; background: #fff; overflow: hidden; }
.beleg-work-percentage input { width: 48px; height: 26px; min-height: 0; border: 0; padding: 0 6px; text-align: right; font: inherit; }
.beleg-work-percentage em { padding-right: 6px; color: #52677a; font-style: normal; }
.beleg-work-description-options .beleg-work-check { display: flex; align-items: center; gap: 5px; min-width: 0; min-height: 28px; margin: 0; font-weight: 400; white-space: nowrap; cursor: pointer; }
.beleg-work-check input { width: 14px; height: 14px; min-height: 0; margin: 0; accent-color: #063f6c; }
.beleg-position-employee-textarea { min-height: 220px; resize: vertical; }
.beleg-internal-documents-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.beleg-internal-documents-actions .beleg-top-action-button { height: 28px; min-height: 28px; padding: 0 8px; border-radius: 2px; font-size: 12px; }
.beleg-internal-documents-actions .material-icons { font-size: 18px; }
.beleg-internal-documents-preview { position: relative; flex: 1 1 auto; min-height: 0; background: #eef1f5; }
#belegInternalDocumentsFrame { display: none; }
.beleg-internal-documents-preview .xcraft-pdf-reader { height: 100%; min-height: 0; border-radius: 0; }
.beleg-internal-documents-preview .xcraft-pdf-toolbar { gap: 6px; padding: 6px 10px; }
.beleg-internal-documents-preview .xcraft-pdf-toolbar button { height: 28px; min-width: 28px; border-radius: 2px; font-size: 12px; }
.beleg-internal-documents-preview .beleg-render-loading { position: absolute; inset: 0; z-index: 2; }
.beleg-internal-documents-dialog > .address-edit-error { margin: 8px 14px 0; }
body.beleg-internal-documents-open { overflow: hidden; }

@media (max-width: 760px) {
  .beleg-internal-documents-overlay { padding: 0; }
  .beleg-internal-documents-dialog { width: 100vw; height: 100dvh; max-height: none; border-radius: 0; }
  .beleg-internal-documents-toolbar { align-items: center; }
  .beleg-internal-documents-toolbar select { width: min(220px, 65vw); }
  .beleg-work-description-options { width: 100%; padding-left: 0; border-left: 0; }
  .beleg-internal-documents-actions { justify-content: flex-end; }
}
/* Belegketten, Übernahme und Abschlagsrechnungen */
.beleg-continuation-dialog {
  width: min(920px, calc(100vw - 32px));
  max-height: min(880px, calc(100vh - 32px));
}

.beleg-chain-dialog {
  width: min(860px, calc(100vw - 32px));
  max-height: min(880px, calc(100vh - 32px));
}

.beleg-radio-line {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #263746;
  font-size: 14px;
  cursor: pointer;
}

.beleg-radio-line input {
  accent-color: #063f6c;
}

.beleg-continuation-source-block {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.beleg-continuation-source-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 4px;
}

.beleg-continuation-source-options .beleg-continuation-positions {
  grid-column: 1 / -1;
}

.beleg-continuation-positions {
  display: flex;
  flex-direction: column;
  gap: 7px;
  max-height: 330px;
  padding: 8px;
  overflow: auto;
  border: 1px solid #dce4eb;
  border-radius: 10px;
  background: #f8fafc;
}

.beleg-continuation-position {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-height: 52px;
  padding: 8px 10px;
  border: 1px solid #e1e7ed;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}

.beleg-continuation-position.is-structural {
  min-height: 42px;
  background: #eef3f7;
}

.beleg-continuation-position > input[type="checkbox"] {
  width: 17px;
  height: 17px;
  accent-color: #063f6c;
}

.beleg-continuation-position-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.beleg-continuation-position-copy strong,
.beleg-continuation-position-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.beleg-continuation-position-copy small {
  color: #6c7c89;
  font-size: 12px;
}

.beleg-continuation-progress {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #4d6070;
}

.beleg-continuation-progress input {
  width: 86px;
}

.beleg-review-correction {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.7fr);
  align-items: center;
  gap: 12px;
  margin: 18px 0 12px;
  padding: 12px;
  border: 1px solid #dfe7ee;
  border-radius: 10px;
  background: #f8fafc;
}

.beleg-review-positions {
  display: flex;
  flex-direction: column;
  gap: 7px;
  max-height: 280px;
  overflow: auto;
}

.beleg-review-position {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(120px, 0.35fr) minmax(180px, 0.75fr);
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border: 1px solid #e0e7ed;
  border-radius: 8px;
  background: #fff;
}

.beleg-chain-items {
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.beleg-chain-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 14px 16px 14px 22px;
  border: 1px solid #dce5ec;
  border-radius: 10px;
  background: #fff;
}

.beleg-chain-card::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 18px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #cc7588;
}

.beleg-chain-meta,
.beleg-chain-amounts {
  color: #657684;
  font-size: 13px;
}

.beleg-chain-review {
  margin-top: 5px;
  padding: 8px 10px;
  border-left: 3px solid #cc7588;
  border-radius: 4px;
  background: #faf3f5;
  color: #495a68;
  font-size: 13px;
}

@media (max-width: 720px) {
  .beleg-continuation-source-options,
  .beleg-review-correction,
  .beleg-review-position {
    grid-template-columns: 1fr;
  }

  .beleg-continuation-position {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .beleg-continuation-progress {
    grid-column: 2;
  }
}
.beleg-settlement-editor{grid-column:1/-1;margin-top:12px;padding-top:12px;border-top:1px solid #d8e0e7}.beleg-settlement-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.beleg-settlement-list{display:flex;flex-direction:column;gap:7px}.beleg-settlement-row{display:grid;grid-template-columns:minmax(130px,1.2fr) 135px repeat(3,minmax(105px,1fr)) 38px;gap:7px;align-items:center}.beleg-settlement-row button{height:38px;border:1px solid #d4dde5;border-radius:6px;background:#fff;color:#b42318;cursor:pointer}.beleg-settlement-row button .material-icons{font-size:18px}@media(max-width:900px){.beleg-settlement-row{grid-template-columns:1fr 1fr}.beleg-settlement-row button{width:38px}}
.invoice-list-money{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:160px}.invoice-list-money small{color:#6b7280;font-size:12px}.invoice-list-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e5e7eb;color:#374151;font-size:12px;font-weight:700;white-space:nowrap}.invoice-list-status--bezahlt{background:#d1fae5;color:#065f46}.invoice-list-status--teilweise_bezahlt{background:#dbeafe;color:#1e40af}.invoice-list-status--gebucht{background:#fef3c7;color:#92400e}.invoice-list-status--storniert{background:#fee2e2;color:#991b1b}.invoice-op-modal{position:fixed;inset:0;z-index:10050;background:rgba(15,23,42,.5);display:flex;justify-content:center;align-items:flex-start;padding:32px;overflow:auto}.invoice-op-page{background:#fff;width:min(1050px,100%);border-radius:14px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.invoice-op-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.invoice-op-head h2{margin:3px 0 5px}.invoice-op-head>div:last-child{display:flex;gap:12px;align-items:center}.op-icon-button{border:0;background:#f3f4f6;border-radius:8px;font-size:25px;width:38px;height:38px;cursor:pointer}.invoice-op-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.invoice-op-totals>div{padding:16px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;gap:6px}.invoice-op-totals b{font-size:20px}.invoice-op-totals .open{background:#eff6ff;border-color:#bfdbfe}.invoice-op-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.invoice-op-grid section,.invoice-op-note{border:1px solid #e5e7eb;border-radius:10px;padding:18px}.invoice-op-grid h3,.invoice-op-note h3{margin:0 0 15px}.op-entry{display:grid;grid-template-columns:90px 1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid #eee}.op-empty{color:#6b7280;padding:8px 0 15px}.op-form{display:grid;grid-template-columns:130px 120px 1fr;gap:8px;margin-top:16px}.op-form input,.invoice-op-note textarea{border:1px solid #d1d5db;border-radius:7px;padding:9px;font:inherit}.op-form button,.invoice-op-note button,.invoice-op-actions button{grid-column:1/-1;border:0;border-radius:7px;padding:10px 14px;background:#2563eb;color:#fff;font-weight:700;cursor:pointer}.invoice-op-note{margin-top:20px}.invoice-op-note textarea{display:block;width:100%;min-height:80px;box-sizing:border-box;margin-bottom:10px}.invoice-op-note button{display:block;margin-left:auto}.invoice-op-actions{display:flex;justify-content:flex-end;margin-top:20px}.invoice-op-actions button{background:#374151}@media(max-width:800px){.invoice-op-modal{padding:10px}.invoice-op-page{padding:18px}.invoice-op-totals,.invoice-op-grid{grid-template-columns:1fr 1fr}.op-form{grid-template-columns:1fr}.invoice-list-money{min-width:0}}
.invoice-single-page{height:100%;overflow:auto;background:#f5f7fb}.invoice-detail-page{max-width:1180px;margin:0 auto;padding:18px 24px 40px}.invoice-detail-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.detail-back-button,.invoice-detail-secondary{border:1px solid #cfd9e2;border-radius:5px;background:#fff;color:#063f6c;padding:9px 14px;font:inherit;font-weight:600;cursor:pointer}.detail-back-button:hover,.invoice-detail-secondary:hover{background:#eef3f8}.invoice-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px;background:#fff;border:1px solid #dce5ec;border-radius:6px}.invoice-detail-kicker{color:#64748b;font-size:13px}.invoice-detail-header h1{margin:3px 0 4px;color:#1f2933;font-size:25px}.invoice-detail-sub{color:#64748b}.invoice-detail-totals{display:grid;grid-template-columns:repeat(4,1fr);margin:14px 0;background:#fff;border:1px solid #dce5ec;border-radius:6px}.invoice-detail-totals>div{display:flex;flex-direction:column;gap:5px;padding:15px 18px;border-right:1px solid #e5ebf0}.invoice-detail-totals>div:last-child{border-right:0}.invoice-detail-totals span{color:#64748b;font-size:13px}.invoice-detail-totals b{color:#26323d;font-size:19px}.invoice-detail-totals .is-open b{color:#063f6c}.invoice-detail-section{margin-top:14px;padding:18px 20px;background:#fff;border:1px solid #dce5ec;border-radius:6px}.invoice-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:11px;border-bottom:1px solid #e6edf2}.invoice-detail-section-head>div{display:flex;align-items:baseline;gap:12px}.invoice-detail-section-head h2{margin:0;color:#26323d;font-size:18px}.invoice-detail-section-head span{color:#7b8995;font-size:12px}.invoice-detail-add{min-height:34px;border:1px solid #cfd9e2;border-radius:5px;padding:0 13px;background:#fff;color:#063f6c;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.invoice-detail-add:hover{border-color:#9fb5cb;background:#eef3f8}.invoice-detail-empty{padding:17px 0;color:#7b8995}.invoice-detail-row{display:grid;grid-template-columns:105px minmax(180px,1fr) 110px 110px 110px 32px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f4;color:#475569;font-size:14px}.invoice-detail-row b{text-align:right;color:#26323d}.invoice-entry-delete{width:28px;height:28px;border:0;border-radius:4px;background:transparent;color:#a33;font-size:20px;cursor:pointer}.invoice-entry-delete:hover{background:#fff0f0}.invoice-detail-form{display:grid;grid-template-columns:150px 150px minmax(220px,1fr) auto;gap:10px;align-items:end;margin-top:16px;padding-top:15px;border-top:1px solid #e6edf2}.invoice-detail-form.is-collapsed{display:none}.invoice-detail-form label{display:flex;flex-direction:column;gap:5px;color:#52616d;font-size:12px}.invoice-detail-form input,.invoice-detail-note{box-sizing:border-box;width:100%;border:1px solid #cfd9e2;border-radius:4px;background:#fff;padding:9px 10px;font:inherit;color:#26323d}.invoice-detail-form input:focus,.invoice-detail-note:focus{outline:2px solid rgba(6,63,108,.15);border-color:#063f6c}.invoice-detail-form button,.invoice-detail-note-actions button{height:38px;border:0;border-radius:4px;background:#063f6c;color:#fff;padding:0 16px;font:inherit;font-weight:600;cursor:pointer}.invoice-detail-note{min-height:85px;margin-top:15px;resize:vertical}.invoice-detail-note-actions{display:flex;justify-content:flex-end;margin-top:10px}.invoice-detail-message{display:none;margin-top:12px;padding:10px 13px;border:1px solid #efb4b4;border-radius:4px;background:#fff5f5;color:#9b1c1c}.invoice-detail-loading,.invoice-detail-error{margin:24px;padding:18px;border:1px solid #dce5ec;border-radius:6px;background:#fff;color:#64748b}@media(max-width:850px){.invoice-detail-page{padding:12px}.invoice-detail-totals{grid-template-columns:1fr 1fr}.invoice-detail-totals>div:nth-child(2){border-right:0}.invoice-detail-totals>div:nth-child(-n+2){border-bottom:1px solid #e5ebf0}.invoice-detail-form{grid-template-columns:1fr 1fr}.invoice-detail-form .is-wide,.invoice-detail-form button{grid-column:1/-1}.invoice-detail-row{grid-template-columns:90px 1fr auto}.invoice-detail-row span:nth-child(3),.invoice-detail-row span:nth-child(4){display:none}}

/* Einheitliches, ruhiges Seitenlayout: volle Nutzbreite ohne redundante Caption. */
.app-caption-panel { display:none !important; height:0 !important; min-height:0 !important; border:0 !important; }
#app-content,.app-content { height:100vh !important; height:100dvh !important; max-height:100vh !important; max-height:100dvh !important; }
.settings-content { padding:20px 24px 40px; }
.settings-content-card { width:100%; max-width:none; min-height:calc(100% - 2px); padding:0; border:0; background:transparent; }
.settings-content-head { min-height:66px; box-sizing:border-box; margin:0 0 14px; padding:14px 18px; border:1px solid #dce5ec; border-radius:8px; box-shadow:0 1px 2px rgba(15,23,42,.035); }
.settings-content-title { color:#1f2933; font-size:21px; }
.settings-content-subtitle { margin-top:4px; font-size:13px; }
.settings-detail-section,.invoice-detail-section,.invoice-detail-header,.invoice-detail-totals { border-color:#dce5ec; border-radius:8px; box-shadow:0 1px 2px rgba(15,23,42,.035); }
.invoice-detail-page { width:100%; max-width:none; box-sizing:border-box; padding:20px 24px 40px; }
.invoice-detail-toolbar { min-height:66px; box-sizing:border-box; margin:0 0 14px; padding:14px 18px; border:1px solid #dce5ec; border-radius:8px; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.035); }
.invoice-detail-header { margin-bottom:14px; }
@media(max-width:900px){.settings-content,.invoice-detail-page{padding:12px}.settings-content-head,.invoice-detail-toolbar{min-height:58px;padding:11px 13px}}
@media(max-width:1400px){.mobile-menu-button{top:12px;left:18px;box-shadow:0 3px 12px rgba(0,35,65,.20)}.settings-content-head,.invoice-detail-toolbar{padding-left:58px}}
@media(max-width:900px){.mobile-menu-button{left:18px}.settings-content-head,.invoice-detail-toolbar{padding-left:58px}}

/* Eingangsrechnungen */
.incoming-page{height:100%;overflow:auto;background:#f5f7fb;color:#26323d}.incoming-shell,.incoming-detail{box-sizing:border-box;width:100%;min-height:100%;padding:20px 24px 40px}.incoming-head{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px;padding:14px 18px;box-sizing:border-box;border:1px solid #dce5ec;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.035)}.incoming-head h1{margin:0;font-size:21px;color:#1f2933}.incoming-head p{margin:4px 0 0;color:#64748b;font-size:13px}.incoming-head-actions{display:flex;gap:8px}.incoming-primary,.incoming-secondary{min-height:36px;padding:0 14px;border-radius:6px;font:inherit;font-weight:600;cursor:pointer}.incoming-primary{border:1px solid #063f6c;background:#063f6c;color:#fff}.incoming-secondary{border:1px solid #cfd9e2;background:#fff;color:#063f6c}.incoming-drop{display:flex;align-items:center;justify-content:center;gap:14px;min-height:92px;margin-top:14px;border:1.5px dashed #9fb5c7;border-radius:8px;background:#fff;color:#38566d;transition:.15s}.incoming-drop.is-over{border-color:#063f6c;background:#eef6fb}.incoming-drop .material-icons{font-size:30px;color:#063f6c}.incoming-drop strong,.incoming-drop small{display:block}.incoming-drop small{margin-top:4px;color:#71808a}.incoming-tabs{display:flex;gap:4px;margin-top:14px;padding:5px;border:1px solid #dce5ec;border-radius:8px;background:#fff}.incoming-tabs button{min-height:34px;padding:0 13px;border:0;border-radius:5px;background:transparent;color:#52616d;font:inherit;cursor:pointer}.incoming-tabs button.active{background:#eaf2f8;color:#063f6c;font-weight:700}.incoming-tabs b{display:inline-flex;min-width:18px;justify-content:center;margin-left:4px;padding:1px 4px;border-radius:9px;background:#dce9f3;font-size:11px}.incoming-search{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px}.incoming-search>input{flex:1;min-height:38px;box-sizing:border-box;border:1px solid #cfd9e2;border-radius:6px;background:#fff;padding:0 12px;font:inherit}.incoming-search label{color:#52616d;font-size:13px}.incoming-list{margin-top:10px;border:1px solid #dce5ec;border-radius:8px;background:#fff;overflow:hidden}.incoming-row{display:grid;grid-template-columns:minmax(220px,1fr) 105px 120px 95px 115px 120px;gap:12px;align-items:center;width:100%;padding:13px 16px;border:0;border-bottom:1px solid #edf1f4;background:#fff;color:#475569;text-align:left;font:inherit;cursor:pointer}.incoming-row:hover{background:#f8fafc}.incoming-row:last-child{border-bottom:0}.incoming-row strong,.incoming-row small{display:block}.incoming-row strong{color:#26323d}.incoming-row small{margin-top:3px;color:#71808a}.incoming-row>b{text-align:right;color:#26323d}.incoming-format,.incoming-status,.incoming-pay{justify-self:start;padding:4px 8px;border-radius:10px;background:#e9f5ee;color:#267044;font-size:11px;font-weight:700}.incoming-format.is-none{background:#f1f3f5;color:#6b7280}.incoming-status.is-zu_pruefen{background:#fff4d8;color:#8a5a00}.incoming-status.is-abgelehnt{background:#feecec;color:#a32b2b}.incoming-pay.is-nicht_bezahlt{background:#eef2f6;color:#52616d}.incoming-empty{padding:34px;text-align:center;color:#71808a}.incoming-message{display:none}.incoming-warning,.incoming-info{margin-top:14px;padding:12px 14px;border-radius:7px}.incoming-warning{border:1px solid #efcf78;background:#fff8df;color:#76530a}.incoming-info{border:1px solid #b9d5e7;background:#f0f7fb;color:#355b72}.incoming-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:14px;margin-top:14px}.incoming-card{margin-top:14px;padding:18px 20px;border:1px solid #dce5ec;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.035)}.incoming-detail-grid .incoming-card{margin-top:0}.incoming-card h2{margin:0 0 14px;font-size:17px}.incoming-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.incoming-card-head p{margin:4px 0 0;color:#71808a;font-size:13px}.incoming-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.incoming-form label{display:grid;gap:5px;color:#52616d;font-size:12px}.incoming-form input,.incoming-form select,.incoming-allocation input,.incoming-allocation select{min-width:0;min-height:38px;box-sizing:border-box;border:1px solid #cfd9e2;border-radius:5px;background:#fff;padding:0 10px;font:inherit;color:#26323d}.incoming-workflow{display:grid;gap:10px}.incoming-workflow>div{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;padding:12px;border:1px solid #e5ebf0;border-radius:7px}.incoming-workflow span{color:#52616d;font-size:12px}.incoming-workflow button{grid-column:1/-1;min-height:34px;border:1px solid #cfd9e2;border-radius:5px;background:#fff;color:#063f6c;font:inherit;font-weight:600;cursor:pointer}.incoming-allocation{display:grid;grid-template-columns:140px minmax(180px,1fr) minmax(180px,1fr) repeat(3,110px) 34px;gap:8px;align-items:center;margin-top:9px}.incoming-allocation button{height:34px;border:0;border-radius:5px;background:#fff0f0;color:#a33;font-size:20px;cursor:pointer}
@media(max-width:1050px){.incoming-row{grid-template-columns:minmax(200px,1fr) 100px 110px 105px}.incoming-row .incoming-format,.incoming-row .incoming-pay{display:none}.incoming-detail-grid{grid-template-columns:1fr}.incoming-allocation{grid-template-columns:1fr 1fr}.incoming-allocation button{width:34px}.incoming-head,.incoming-search{align-items:stretch}.incoming-head{flex-wrap:wrap}.incoming-head-actions{margin-left:auto}}
@media(max-width:700px){.incoming-shell,.incoming-detail{padding:12px}.incoming-head{padding-left:58px}.incoming-head-actions{width:100%}.incoming-head-actions button{flex:1}.incoming-drop{padding:12px}.incoming-tabs{overflow-x:auto}.incoming-search{flex-direction:column}.incoming-search>input{width:100%}.incoming-row{grid-template-columns:1fr auto}.incoming-row>span:nth-child(n+2),.incoming-row>b{display:none}.incoming-form,.incoming-allocation{grid-template-columns:1fr}.incoming-card-head{flex-direction:column}.incoming-card-head button{width:100%}}

.incoming-single-page{height:100%;overflow:auto;background:#f5f7fb;color:#26323d}
.incoming-single{box-sizing:border-box;width:100%;min-height:100%;padding:20px 24px 40px}
.incoming-single-loading,.incoming-single-error{margin:24px;padding:28px;border:1px solid #dce5ec;border-radius:8px;background:#fff;color:#64748b;text-align:center}
.incoming-single-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 18px;border:1px solid #dce5ec;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.incoming-single-toolbar h1{margin:0;font-size:21px}.incoming-single-toolbar p{margin:3px 0 0;color:#71808a;font-size:13px}
.incoming-single-layout{display:grid;grid-template-columns:minmax(420px,1.5fr) minmax(320px,.72fr);gap:14px;margin-top:14px;align-items:start}
.incoming-preview-card{min-width:0;padding:16px;border:1px solid #dce5ec;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.incoming-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.incoming-preview-head h2{margin:0;font-size:17px}
.incoming-e-badge{padding:5px 9px;border-radius:12px;background:#eef2f6;color:#52616d;font-size:11px;font-weight:700}.incoming-e-badge.is-valid{background:#e5f5eb;color:#197044}.incoming-e-badge.is-invalid{background:#feecec;color:#a32b2b}
.incoming-document-frame{display:block;width:100%;height:calc(100vh - 205px);min-height:580px;border:1px solid #d8e0e7;border-radius:5px;background:#eef1f4}
.incoming-single-side{display:grid;gap:14px}.incoming-single-side .incoming-card{margin:0}.incoming-single-side label{display:grid;gap:5px;margin-top:12px;color:#52616d;font-size:12px}.incoming-single-side input,.incoming-single-side select{min-width:0;min-height:38px;box-sizing:border-box;border:1px solid #cfd9e2;border-radius:5px;background:#fff;padding:0 10px;font:inherit;color:#26323d}
.incoming-match-info{margin-top:7px;padding:8px 10px;border-radius:5px;background:#f0f7fb;color:#45697f;font-size:11px}.incoming-single-sums{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}.incoming-single-sums span{padding:9px;border-radius:5px;background:#f6f8fa;color:#71808a;font-size:11px}.incoming-single-sums b{display:block;margin-top:4px;color:#26323d;font-size:13px}
.incoming-format-info dl{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin:0}.incoming-format-info dt{color:#71808a}.incoming-format-info dd{margin:0;text-align:right;font-weight:600}.incoming-single-warning,.incoming-single-note{margin-top:14px;padding:12px 14px;border-radius:7px}.incoming-single-warning{border:1px solid #efcf78;background:#fff8df;color:#76530a}.incoming-single-note{border:1px solid #b9d5e7;background:#f0f7fb;color:#355b72}
.incoming-danger{min-height:36px;padding:0 14px;border:1px solid #d99a9a;border-radius:6px;background:#fff;color:#a32b2b;font:inherit;font-weight:600;cursor:pointer}.incoming-single-locked,.incoming-single-discarded{margin-top:14px;padding:12px 14px;border-radius:7px}.incoming-single-locked{border:1px solid #b8d4c2;background:#eef8f1;color:#27633d}.incoming-single-discarded{border:1px solid #d8b6b6;background:#fff2f2;color:#8b3030}.incoming-single-side input:disabled,.incoming-single-side select:disabled{background:#f1f3f5;color:#64748b;cursor:not-allowed}.incoming-single-workflow{display:grid;gap:8px}.incoming-single-workflow>div{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:5px;background:#f6f8fa}.incoming-single-workflow span{color:#71808a}.incoming-single-workflow button{min-height:34px;border:1px solid #cfd9e2;border-radius:5px;background:#fff;color:#063f6c;font:inherit;font-weight:600;cursor:pointer}.incoming-single-workflow button.is-danger{border-color:#e0b0b0;color:#a32b2b}
.incoming-xml-preview{min-height:650px;padding:38px 42px;box-sizing:border-box;border:1px solid #d8e0e7;border-radius:5px;background:#fff}.xml-invoice-head span{color:#063f6c;font-size:11px;font-weight:800;letter-spacing:.08em}.xml-invoice-head h2{margin:8px 0 4px}.xml-invoice-head p{margin:0;color:#64748b}.xml-invoice-sums{display:flex;justify-content:flex-end;gap:22px;margin:30px 0 22px}.xml-invoice-sums span{color:#71808a;font-size:11px}.xml-invoice-sums b{display:block;margin-top:4px;color:#26323d;font-size:15px}.incoming-xml-preview table{width:100%;border-collapse:collapse}.incoming-xml-preview th,.incoming-xml-preview td{padding:10px 8px;border-bottom:1px solid #e5ebf0;text-align:left}.incoming-xml-preview th{color:#64748b;font-size:11px}
@media(max-width:1050px){.incoming-single-layout{grid-template-columns:1fr}.incoming-document-frame{height:620px}.incoming-single-side{grid-template-columns:repeat(2,minmax(0,1fr))}.incoming-single-side .incoming-card:last-child{grid-column:1/-1}}
@media(max-width:700px){.incoming-single{padding:12px}.incoming-single-toolbar{grid-template-columns:auto 1fr;padding-left:58px}.incoming-single-toolbar .incoming-primary{grid-column:1/-1}.incoming-document-frame{height:520px;min-height:420px}.incoming-single-side{grid-template-columns:1fr}.incoming-single-side .incoming-card:last-child{grid-column:auto}.incoming-single-sums{grid-template-columns:1fr}.incoming-xml-preview{min-height:520px;padding:22px 18px;overflow:auto}.xml-invoice-sums{justify-content:flex-start;flex-wrap:wrap}}
.incoming-single-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.incoming-single-workflow>div{grid-column:1/-1}.incoming-single-workflow button{width:100%;padding:0 12px}.incoming-modal-overlay{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(20,34,46,.48);backdrop-filter:blur(2px)}.incoming-modal-overlay.is-open{display:flex}.incoming-modal{width:min(620px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid #d7e0e7;border-radius:10px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.28)}.incoming-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 16px;border-bottom:1px solid #e7edf2}.incoming-modal-head h2{margin:0;color:#26323d;font-size:20px}.incoming-modal-head p{margin:5px 0 0;color:#64748b;font-size:13px;line-height:1.45}.incoming-modal-close{flex:0 0 34px;height:34px;border:0;border-radius:6px;background:#f1f4f6;color:#52616d;font-size:24px;line-height:1;cursor:pointer}.incoming-modal-body{padding:18px 22px}.incoming-reason-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;border:0}.incoming-reason-list legend{grid-column:1/-1;margin-bottom:4px;color:#40515e;font-size:13px;font-weight:700}.incoming-reason-list label{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid #dce5ec;border-radius:7px;background:#fff;cursor:pointer}.incoming-reason-list label:has(input:checked){border-color:#5988aa;background:#eef6fb}.incoming-reason-list input{margin-top:3px;accent-color:#063f6c}.incoming-reason-list b,.incoming-reason-list small{display:block}.incoming-reason-list b{color:#26323d;font-size:13px}.incoming-reason-list small{margin-top:2px;color:#71808a;font-size:11px;line-height:1.35}.incoming-modal-note{display:grid;gap:6px;margin-top:14px;color:#40515e;font-size:13px;font-weight:700}.incoming-modal-note textarea{box-sizing:border-box;width:100%;resize:vertical;border:1px solid #cfd9e2;border-radius:6px;padding:9px 10px;color:#26323d;font:inherit;font-weight:400}.incoming-modal-error{min-height:18px;margin-top:8px;color:#a32b2b;font-size:12px}.incoming-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid #e7edf2;background:#f8fafb}.incoming-modal-actions button{min-width:130px}
@media(max-width:700px){.incoming-single-workflow,.incoming-reason-list{grid-template-columns:1fr}.incoming-modal-overlay{padding:10px}.incoming-modal{max-height:calc(100vh - 20px)}.incoming-modal-actions{flex-direction:column-reverse}.incoming-modal-actions button{width:100%}}
.incoming-duplicate-badge{display:inline-block;margin-top:5px;padding:3px 7px;border-radius:9px;background:#fff0d6;color:#8a5700;font-size:10px;font-style:normal;font-weight:800}.incoming-single-duplicate{margin-top:14px;padding:12px 14px;border:1px solid #e7bd63;border-radius:7px;background:#fff6df;color:#76500a}.incoming-single-duplicate b{display:block;margin-bottom:3px}
.incoming-single-duplicate button{display:block;margin-top:9px;padding:0;border:0;background:transparent;color:#063f6c;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.incoming-duplicate-modal{width:min(1100px,100%);height:min(860px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden}.incoming-duplicate-content{flex:1;min-height:0;padding:14px;background:#eef2f5;overflow:auto}.incoming-duplicate-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#64748b}.incoming-duplicate-frame{width:100%;height:100%;min-height:600px;border:0;border-radius:5px;background:#fff}.incoming-duplicate-xml{min-height:100%;margin:auto}.incoming-duplicate-modal .incoming-modal-head{flex:0 0 auto}@media(max-width:700px){.incoming-duplicate-modal{height:calc(100vh - 20px)}.incoming-duplicate-content{padding:8px}.incoming-duplicate-frame{min-height:500px}}
.incoming-payment-info{color:#657887!important}.incoming-remark{box-sizing:border-box;width:100%;min-height:90px;resize:vertical;border:1px solid #cfd9e2;border-radius:6px;padding:9px 10px;color:#26323d;font:inherit}.incoming-remark:disabled{background:#f1f3f5;color:#64748b}.incoming-batch-progress{border:1px solid #b9d5e7!important;background:#eef6fb!important}.incoming-status.is-zurueckgestellt{background:#eeeafa;color:#665299}
.incoming-head-actions{flex-wrap:wrap}
.incoming-accounting .incoming-card-head{align-items:center}.incoming-accounting-row{margin-top:10px;padding:12px;border:1px solid #dce5ec;border-radius:7px;background:#f9fbfc}.incoming-accounting-main{display:grid;grid-template-columns:170px minmax(0,1fr);gap:8px}.incoming-accounting-main select,.incoming-accounting-main input,.incoming-accounting-split select,.incoming-accounting-split input{box-sizing:border-box;width:100%;min-height:36px;border:1px solid #cfd9e2;border-radius:5px;background:#fff;padding:0 9px;font:inherit}.incoming-cost-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.incoming-cost-picker input{display:none}.incoming-project-picker{position:relative}.incoming-project-results{position:absolute;z-index:20;top:39px;left:0;right:0;display:none;max-height:240px;overflow:auto;border:1px solid #cbd7e0;border-radius:6px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.16)}.incoming-project-results button{display:grid;width:100%;padding:9px 11px;border:0;border-bottom:1px solid #edf1f4;background:#fff;text-align:left;cursor:pointer}.incoming-project-results button:hover{background:#eef6fb}.incoming-project-results span,.incoming-project-results small{color:#71808a;font-size:12px}.incoming-accounting-split{display:grid;grid-template-columns:170px minmax(130px,1fr) minmax(130px,1fr) minmax(180px,1.5fr) 36px;gap:8px;align-items:end;margin-top:8px}.incoming-accounting-split label{display:grid;gap:4px;color:#64748b;font-size:11px}.incoming-accounting-remove{height:36px;border:0;border-radius:5px;background:#fff0f0;color:#a32b2b;font-size:20px;cursor:pointer}.incoming-allocation-summary{display:flex;justify-content:flex-end;gap:26px;margin-top:12px;padding-top:10px;border-top:1px solid #e3e9ee}.incoming-allocation-summary span{color:#71808a;font-size:12px}.incoming-allocation-summary b{display:block;margin-top:3px;color:#26323d;font-size:15px}.incoming-allocation-summary .is-negative{color:#b42318}@media(max-width:900px){.incoming-accounting-main,.incoming-accounting-split{grid-template-columns:1fr 1fr}.incoming-accounting-remove{width:36px}}@media(max-width:600px){.incoming-accounting-main,.incoming-accounting-split,.incoming-cost-picker{grid-template-columns:1fr}.incoming-allocation-summary{justify-content:flex-start}}
.incoming-compact-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px 10px}.incoming-compact-form label{display:grid;gap:3px;color:#64748b;font-size:11px}.incoming-compact-form input,.incoming-compact-form select,.incoming-supplier-card select{box-sizing:border-box;width:100%;height:32px;min-height:32px;border:1px solid #cfd9e2;border-radius:5px;background:#fff;padding:0 8px;font:inherit;font-size:13px}.incoming-compact-form label:nth-child(3),.incoming-compact-form label:nth-child(4){grid-column:auto}.incoming-invoice-data .incoming-single-sums{margin-top:10px}.incoming-accounting-quick{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.incoming-accounting-quick button{min-height:34px}.incoming-accounting-quick .incoming-primary{padding:0 14px;border-radius:6px;font:inherit;font-weight:700;cursor:pointer}@media(max-width:600px){.incoming-compact-form{grid-template-columns:1fr}.incoming-accounting-quick button{width:100%}}
.incoming-accounting-row{position:relative}.incoming-accounting-split{grid-template-columns:170px minmax(130px,1fr) minmax(130px,1fr) minmax(180px,1.5fr);padding-right:44px}.incoming-accounting-remove{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;width:36px;min-width:36px;max-width:36px;height:36px;padding:0;line-height:1}
@media(max-width:900px){.incoming-accounting-split{grid-template-columns:1fr 1fr}}@media(max-width:600px){.incoming-accounting-split{grid-template-columns:1fr}}
.incoming-status.is-beanstandet{background:#feecec;color:#a32b2b}.incoming-single-complaint{margin-top:14px;padding:13px 15px;border:1px solid #e1aaaa;border-radius:7px;background:#fff1f1;color:#852828}.incoming-single-complaint b,.incoming-single-complaint span,.incoming-single-complaint small{display:block}.incoming-single-complaint span{margin-top:4px;font-weight:600}.incoming-single-complaint p{margin:8px 0;color:#6f3030}.incoming-single-complaint small{margin-top:7px;color:#925353}.incoming-complaint-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.incoming-complaint-fields label{display:grid;gap:5px;color:#40515e;font-size:13px;font-weight:700}.incoming-complaint-fields .incoming-complaint-reference{grid-column:1/-1}.incoming-complaint-fields select,.incoming-complaint-fields input{box-sizing:border-box;width:100%;min-height:38px;border:1px solid #cfd9e2;border-radius:6px;background:#fff;padding:0 9px;font:inherit;font-weight:400}@media(max-width:600px){.incoming-complaint-fields{grid-template-columns:1fr}}
.incoming-status.is-erledigt_ohne_zahlung{background:#e8edf1;color:#52616d}.incoming-single-closed{margin-top:14px;padding:13px 15px;border:1px solid #c8d2da;border-radius:7px;background:#f3f6f8;color:#40515e}.incoming-single-closed b,.incoming-single-closed span,.incoming-single-closed small{display:block}.incoming-single-closed span{margin-top:4px;font-weight:600}.incoming-single-closed p{margin:8px 0}.incoming-single-closed small{margin-top:7px;color:#64748b}
.incoming-single-layout{align-items:stretch}.incoming-preview-card{display:flex;flex-direction:column}.incoming-preview-card .incoming-document-frame,.incoming-preview-card .incoming-xml-preview{flex:1;height:auto}.incoming-format-info{order:1}.incoming-invoice-data{order:2}.incoming-supplier-card{order:3}.incoming-accounting{order:4}.incoming-remark-card{order:5}.incoming-side-save{order:6;padding:0;border:0;background:transparent;box-shadow:none}.incoming-side-save .incoming-primary{width:100%;min-height:42px}.incoming-workflow-card{order:7}@media(max-width:1050px){.incoming-preview-card .incoming-document-frame{height:620px;flex:none}.incoming-preview-card .incoming-xml-preview{flex:none}}@media(max-width:700px){.incoming-preview-card .incoming-document-frame{height:520px}}

/* Rechnungseingang: Arbeitsansichten, Filter und Kostenübersicht */
.incoming-accounting-main{grid-template-columns:170px minmax(0,1fr) minmax(170px,.55fr)}
.incoming-cost-table tbody tr[data-id]{cursor:pointer}
.incoming-cost-table tbody tr[data-id]:hover{background:#f4f8fb}
.incoming-view-tabs{display:flex;gap:6px;margin-top:14px}.incoming-view-tabs button{min-height:38px;padding:0 16px;border:1px solid #cfd9e2;border-radius:7px;background:#fff;color:#52616d;font:inherit;font-weight:650;cursor:pointer}.incoming-view-tabs button.active{border-color:#063f6c;background:#063f6c;color:#fff}.incoming-filterbar{display:grid;grid-template-columns:minmax(260px,1.4fr) 150px 150px repeat(3,minmax(165px,.8fr));gap:8px;align-items:end;margin-top:10px}.incoming-filterbar>input,.incoming-filterbar>select,.incoming-filterbar label input{box-sizing:border-box;width:100%;min-height:38px;border:1px solid #cfd9e2;border-radius:6px;background:#fff;padding:0 10px;color:#26323d;font:inherit}.incoming-filterbar label{display:grid;gap:3px;color:#64748b;font-size:11px}.incoming-filterbar button{min-height:36px}.incoming-list.is-cost-view{border:0;background:transparent;overflow:visible}.incoming-cost-overview{display:grid;gap:14px}.incoming-cost-overview .incoming-card{margin-top:0}.incoming-cost-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px}.incoming-cost-kpis button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:17px 19px;border:1px solid #dce5ec;border-radius:8px;background:#fff;color:#26323d;text-align:left;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.035)}.incoming-cost-kpis button:hover{border-color:#9fb5c7;background:#f8fbfd}.incoming-cost-kpis span,.incoming-cost-kpis small{color:#64748b}.incoming-cost-kpis b{color:#063f6c;font-size:23px}.incoming-cost-table{overflow:auto}.incoming-cost-table table{width:100%;border-collapse:collapse}.incoming-cost-table th,.incoming-cost-table td{padding:11px 12px;border-bottom:1px solid #edf1f4;text-align:right}.incoming-cost-table th:first-child,.incoming-cost-table td:first-child{text-align:left}.incoming-cost-table td:first-child small{display:block;color:#8a98a4;font-size:10px;text-transform:uppercase}.incoming-cost-table td.is-up{color:#b42318;font-weight:700}.incoming-cost-chart{display:grid;gap:9px}.incoming-cost-month{display:grid;grid-template-columns:75px minmax(120px,1fr) 130px;gap:10px;align-items:center}.incoming-cost-month>span{color:#64748b;font-size:12px}.incoming-cost-month>i{height:10px;overflow:hidden;border-radius:5px;background:#e7edf2}.incoming-cost-month>i>b{display:block;height:100%;border-radius:5px;background:#2675a8}.incoming-cost-month>strong{text-align:right;font-size:13px}@media(max-width:1250px){.incoming-filterbar{grid-template-columns:repeat(3,minmax(170px,1fr))}.incoming-filterbar>input{grid-column:span 2}}@media(max-width:700px){.incoming-view-tabs{overflow-x:auto}.incoming-view-tabs button{white-space:nowrap}.incoming-filterbar{grid-template-columns:1fr}.incoming-filterbar>input{grid-column:auto}.incoming-cost-kpis{grid-template-columns:1fr}.incoming-cost-month{grid-template-columns:62px 1fr}.incoming-cost-month>strong{grid-column:2}.incoming-cost-table th:nth-child(3),.incoming-cost-table td:nth-child(3){display:none}}

/* Rich-Text-Langtext: Inhalt speichert nur Fett/Kursiv/Unterstrichen/Farbe.
   Schriftart und Schriftgröße sind bewusst reine Layout-Eigenschaften. */
.xcraft-richtext-editor {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
}
.xcraft-richtext-toolbar {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 38px;
  padding: 5px 7px;
  border-bottom: 1px solid #dbe3ea;
  background: #f8fafc;
}
.xcraft-richtext-toolbar button,
.xcraft-richtext-color {
  display: inline-flex;
  min-width: 30px;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  background: #fff;
  color: #24384a;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.xcraft-richtext-toolbar button {
  padding: 4px 8px;
}
.xcraft-richtext-toolbar button:hover,
.xcraft-richtext-color:hover {
  border-color: #8ba4b8;
  background: #eef4f8;
}
.xcraft-richtext-toolbar button.is-active {
  border-color: #6f8fa8;
  background: #dceaf4;
  color: #063f6c;
  box-shadow: inset 0 0 0 1px rgba(6, 63, 108, .08);
}
.xcraft-richtext-toolbar button.is-active:hover {
  background: #d3e5f1;
}
.xcraft-richtext-toolbar button.is-mixed {
  border-color: #8ba4b8;
  background: #eef4f8;
  color: #063f6c;
  box-shadow: inset 0 -2px 0 #8ba4b8;
}
.xcraft-richtext-color {
  position: relative;
  gap: 4px;
  padding: 3px 5px;
  font-weight: 700;
}
.xcraft-richtext-color input[type="color"] {
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.xcraft-richtext-surface {
  width: 100%;
  min-height: 140px;
  box-sizing: border-box;
  overflow: auto;
  padding: 9px 10px;
  border: 0;
  outline: 0;
  background: #fff;
  color: #0f172a;
  font-family: inherit;
  font-size: inherit;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
}
.xcraft-richtext-surface:focus {
  box-shadow: inset 0 0 0 2px rgba(6, 63, 108, .12);
}
.xcraft-richtext-surface p,
.xcraft-richtext-surface div {
  margin: 0;
}

/* Formatierter Leistungs-Langtext in der Detailansicht */
.leistung-detail-longtext p,
.leistung-detail-longtext div {
  margin: 0;
}

/* Intern > Materialwissen: URL-basierte Einzelpflege */
.internal-material-url-card {
  border-color: rgba(6, 63, 108, .24);
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}
.internal-material-url-row {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-top: 14px;
}
.internal-material-url-row input,
.internal-material-url-fields input,
.internal-material-consumption-grid input,
.internal-material-consumption-grid select,
.internal-material-property-row input {
  width: 100%;
  min-height: 36px;
  box-sizing: border-box;
  border: 1px solid #bccbd5;
  border-radius: 4px;
  padding: 7px 9px;
  background: #fff;
  color: #243b4a;
  font: inherit;
}
.internal-material-url-dialog { width: min(980px, calc(100vw - 40px)); }
.internal-material-url-source {
  margin-bottom: 14px;
  padding: 9px 11px;
  border: 1px solid #dbe5eb;
  border-radius: 4px;
  background: #fff;
  font-size: 12px;
}
.internal-material-url-source a { color: #063f6c; font-weight: 700; }
.internal-material-url-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}
.internal-material-url-fields label,
.internal-material-consumption-grid label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  color: #536775;
  font-size: 12px;
  font-weight: 700;
}
.internal-material-url-section {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #e0e8ed;
}
.internal-material-url-section > strong { display: block; color: #1f3b50; font-size: 13px; }
.internal-material-url-section > small { display: block; margin-top: 3px; color: #71808a; line-height: 1.4; }
.internal-material-function-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}
.internal-material-function-option {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid #d8e2e8;
  border-radius: 4px;
  background: #fff;
  color: #38566b;
  font-size: 12px;
  cursor: pointer;
}
.internal-material-function-option input { margin: 0; }
.internal-material-property-list { display: grid; gap: 7px; margin-top: 10px; }
.internal-material-property-row {
  display: grid;
  grid-template-columns: minmax(150px, .9fr) minmax(220px, 1.5fr) minmax(80px, .5fr) auto;
  gap: 7px;
  align-items: center;
}
.internal-material-chip-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; color: #71808a; font-size: 12px; }
.internal-material-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 8px;
  border: 1px solid #d8e2e8;
  border-radius: 999px;
  background: #fff;
  color: #38566b;
}
.internal-material-consumption-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
@media (max-width: 820px) {
  .internal-material-url-row,
  .internal-material-url-fields,
  .internal-material-function-grid,
  .internal-material-consumption-grid { grid-template-columns: 1fr; }
  .internal-material-property-row { grid-template-columns: 1fr; }
}

/* Interne KI-Leistungsreferenzen */
.internal-reference-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.internal-reference-filter-row {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 190px 190px;
  gap: 10px;
  align-items: center;
  margin-top: 14px;
}

.internal-reference-filter-row .internal-admin-search,
.internal-reference-filter-row .internal-admin-inline-select {
  width: 100%;
  box-sizing: border-box;
}

.internal-reference-table {
  min-width: 1050px;
}

.internal-reference-row {
  cursor: pointer;
}

.internal-reference-row:hover td {
  background: #f7fafc;
}

.internal-reference-row.is-review td {
  background: #fffdf7;
}

.internal-reference-row.is-review:hover td {
  background: #fff9ea;
}

.internal-reference-dialog {
  width: min(820px, calc(100vw - 32px));
}

.internal-reference-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.internal-reference-edit-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  color: #536775;
  font-size: 12px;
  font-weight: 700;
}

.internal-reference-edit-grid input,
.internal-reference-edit-grid select,
.internal-reference-edit-grid textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #bccbd5;
  border-radius: 4px;
  background: #fff;
  padding: 8px 9px;
  color: #213b4e;
  font: inherit;
}

.internal-reference-edit-grid input,
.internal-reference-edit-grid select {
  min-height: 38px;
}

.internal-reference-edit-wide {
  grid-column: 1 / -1;
}

.internal-reference-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 16px;
}

.internal-reference-checks label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #38566b;
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 850px) {
  .internal-reference-kpis,
  .internal-reference-filter-row,
  .internal-reference-edit-grid {
    grid-template-columns: 1fr;
  }

  .internal-reference-edit-wide {
    grid-column: auto;
  }
}

/* Einstellungen: Datenschutz & Aufbewahrung / Batch-Löschlauf */
.settings-privacy-page {
  display: grid;
  gap: 10px;
}

.settings-privacy-rules {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.settings-privacy-rules > div {
  min-height: 54px;
  padding: 9px 10px;
  border: 1px solid #e1e7ee;
  border-radius: 4px;
  background: #f8fafc;
  box-sizing: border-box;
}

.settings-privacy-rules span,
.settings-privacy-rules strong {
  display: block;
}

.settings-privacy-rules span {
  color: #64748b;
  font-size: 11px;
}

.settings-privacy-rules strong {
  margin-top: 4px;
  color: #0f172a;
  font-size: 14px;
  font-weight: 700;
}

.settings-privacy-hint,
.settings-privacy-warning {
  margin-top: 10px;
  padding: 9px 10px;
  border-radius: 4px;
  background: #f8fafc;
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}

.settings-privacy-warning {
  border: 1px solid #d9e2ef;
  color: #475569;
}

.settings-privacy-filter {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 14px;
}

.settings-privacy-preview-button {
  min-height: 32px;
  white-space: nowrap;
}

.settings-privacy-preview-result {
  margin-top: 14px;
}

.settings-privacy-summary,
.settings-privacy-confirm-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
}

.settings-privacy-summary > div,
.settings-privacy-confirm-summary > div {
  padding: 8px 9px;
  border: 1px solid #e1e7ee;
  border-radius: 4px;
  background: #ffffff;
}

.settings-privacy-summary strong,
.settings-privacy-summary span,
.settings-privacy-confirm-summary strong,
.settings-privacy-confirm-summary span {
  display: block;
}

.settings-privacy-summary strong,
.settings-privacy-confirm-summary strong {
  color: #063f6c;
  font-size: 18px;
  line-height: 1;
}

.settings-privacy-summary span,
.settings-privacy-confirm-summary span {
  margin-top: 4px;
  color: #64748b;
  font-size: 10px;
  line-height: 1.25;
}

.settings-privacy-confirm-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 12px;
}

.settings-privacy-preview-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}

.settings-privacy-preview-toolbar > div:last-child {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.settings-privacy-table-wrap {
  margin-top: 10px;
  overflow-x: auto;
  border: 1px solid #e1e7ee;
  border-radius: 4px;
}

.settings-privacy-table {
  width: 100%;
  min-width: 850px;
  border-collapse: collapse;
  background: #ffffff;
  font-size: 12px;
}

.settings-privacy-table th,
.settings-privacy-table td {
  padding: 8px 9px;
  border-bottom: 1px solid #edf1f5;
  vertical-align: top;
  text-align: left;
}

.settings-privacy-table th {
  background: #f8fafc;
  color: #475569;
  font-size: 11px;
  font-weight: 700;
}

.settings-privacy-table tbody tr:last-child td {
  border-bottom: 0;
}

.settings-privacy-table tbody tr:hover td {
  background: #fbfdff;
}

.settings-privacy-check-col {
  width: 34px;
  text-align: center !important;
}

.settings-privacy-row-select,
.settings-privacy-project-select {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #063f6c;
}

.settings-privacy-address-link {
  color: #063f6c;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.settings-privacy-address-link:hover,
.settings-privacy-address-link:focus-visible {
  text-decoration: underline;
}

.settings-privacy-address-sub,
.settings-privacy-reason,
.settings-privacy-retention,
.settings-privacy-action-label {
  margin-top: 3px;
  color: #64748b;
  font-size: 11px;
  line-height: 1.35;
}

.settings-privacy-retention {
  font-weight: 650;
}

.settings-privacy-badge {
  display: inline-flex;
  align-items: center;
  min-height: 21px;
  padding: 2px 7px;
  border: 1px solid #dbe3ea;
  border-radius: 999px;
  background: #f8fafc;
  color: #344054;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.settings-privacy-badge.is-ready,
.settings-privacy-badge.is-partial {
  border-color: rgba(6, 63, 108, .22);
  background: rgba(6, 63, 108, .06);
  color: #063f6c;
}

.settings-privacy-badge.is-review,
.settings-privacy-badge.is-blocked {
  color: #475569;
}

.settings-privacy-projects {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 7px;
  padding-top: 7px;
  border-top: 1px solid #edf1f5;
}

.settings-privacy-projects a {
  color: #063f6c;
  font-size: 11px;
  font-weight: 650;
  text-decoration: none;
}

.settings-privacy-projects a:hover,
.settings-privacy-projects a:focus-visible {
  text-decoration: underline;
}

.settings-privacy-project-option {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #475569;
  font-size: 11px;
  cursor: pointer;
}

.settings-privacy-empty {
  margin-top: 10px;
  padding: 18px;
  border: 1px dashed #d9e2ef;
  border-radius: 4px;
  color: #64748b;
  font-size: 12px;
  text-align: center;
}

.settings-privacy-runs {
  margin-top: 9px;
}

.settings-privacy-run-list {
  display: grid;
  gap: 6px;
}

.settings-privacy-run-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 9px;
  border: 1px solid #e1e7ee;
  border-radius: 4px;
  background: #ffffff;
}

.settings-privacy-run-row strong,
.settings-privacy-run-row span {
  display: block;
}

.settings-privacy-run-row strong {
  color: #0f172a;
  font-size: 12px;
}

.settings-privacy-run-row span,
.settings-privacy-run-counts {
  margin-top: 2px;
  color: #64748b;
  font-size: 11px;
}

.settings-privacy-run-counts {
  margin-top: 0;
  white-space: nowrap;
}

@media (max-width: 850px) {
  .settings-privacy-rules,
  .settings-privacy-summary,
  .settings-privacy-confirm-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-privacy-filter {
    grid-template-columns: 1fr;
  }

  .settings-privacy-preview-button {
    width: 100%;
  }

  .settings-privacy-preview-toolbar,
  .settings-privacy-run-row {
    align-items: stretch;
    flex-direction: column;
  }

  .settings-privacy-preview-toolbar > div:last-child {
    justify-content: stretch;
  }

  .settings-privacy-preview-toolbar .address-edit-button {
    flex: 1 1 auto;
  }
}


/* Interne Preisverwaltung: Tariftexte direkt bearbeiten */
.internal-admin-plan-meta {
  min-width: 420px;
  white-space: normal !important;
}

.internal-admin-plan-name,
.internal-admin-plan-description,
.internal-admin-plan-features {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #bccbd5;
  border-radius: 4px;
  background: #fff;
  color: #213b4e;
  font: inherit;
}

.internal-admin-plan-name {
  height: 36px;
  padding: 0 9px;
  font-weight: 700;
}

.internal-admin-plan-description {
  min-height: 54px;
  margin-top: 7px;
  padding: 8px 9px;
  resize: vertical;
  line-height: 1.4;
}

.internal-admin-plan-features {
  min-height: 118px;
  margin-top: 7px;
  padding: 8px 9px;
  resize: vertical;
  line-height: 1.45;
}

.internal-admin-plan-name:focus,
.internal-admin-plan-description:focus,
.internal-admin-plan-features:focus {
  outline: none;
  border-color: #5c8dad;
  box-shadow: 0 0 0 2px rgba(6, 63, 108, .1);
}

.internal-admin-plan-meta > small {
  margin-top: 6px !important;
}

.internal-admin-price-table th:first-child,
.internal-admin-price-table td:first-child {
  min-width: 420px;
}


/* Interne Abrechnung: Stichtag, Sammelvorschau und Auswahl */
.internal-billing-batch-card {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.internal-billing-batch-toolbar {
  display: flex;
  align-items: end;
  gap: 10px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.internal-billing-batch-toolbar > label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 190px;
  color: #536775;
  font-size: 12px;
  font-weight: 700;
}

.internal-billing-batch-toolbar input[type="date"] {
  min-height: 36px;
  box-sizing: border-box;
  border: 1px solid #bccbd5;
  border-radius: 4px;
  background: #fff;
  padding: 7px 9px;
  color: #213b4e;
  font: inherit;
}

.internal-billing-batch-toolbar input[type="date"]:focus {
  border-color: #5c8dad;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(6, 63, 108, .1);
}

.internal-billing-batch-toolbar .internal-admin-primary-button:disabled,
.internal-billing-batch-toolbar .internal-admin-secondary-button:disabled {
  cursor: default;
  opacity: .5;
}

.internal-billing-batch-summary {
  margin-top: 12px !important;
  font-weight: 700;
}

.internal-billing-preview-table {
  min-width: 980px;
}

.internal-billing-preview-table th:first-child,
.internal-billing-preview-table td:first-child {
  width: 34px;
  text-align: center;
}

.internal-billing-preview-table input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
}

.internal-billing-warning-cell {
  max-width: 330px;
  color: #8b5b0a !important;
  font-size: 12px !important;
  line-height: 1.45;
}

.internal-billing-warning-cell > div + div {
  margin-top: 3px;
}

.internal-billing-history {
  margin-top: 18px;
  border-top: 1px solid #e5ebef;
  padding-top: 12px;
}

.internal-billing-history > summary {
  color: #526675;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
}

.internal-billing-history[open] > summary {
  color: #063f6c;
}

@media (max-width: 720px) {
  .internal-billing-batch-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .internal-billing-batch-toolbar > label,
  .internal-billing-batch-toolbar .internal-admin-primary-button,
  .internal-billing-batch-toolbar .internal-admin-secondary-button {
    width: 100%;
  }
}


/* Einstellungen: bewusst abgesicherte tenantweite Datenlöschung */
.settings-subnav-item-danger {
  color: #991b1b;
}

.settings-subnav-item-danger .material-icons {
  color: #b42318;
}

.settings-subnav-item-danger.active {
  color: #991b1b;
}

.settings-data-delete-page {
  display: grid;
  gap: 12px;
}

.settings-data-delete-warning {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  border-color: #fecaca !important;
  background: #fffafa !important;
}

.settings-data-delete-warning-icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fee2e2;
  color: #b42318;
}

.settings-data-delete-owner-note {
  margin-top: 8px;
  color: #7f1d1d;
  font-size: 12px;
  font-weight: 700;
}

.settings-data-delete-categories {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.settings-data-delete-group {
  display: grid;
  gap: 6px;
}

.settings-data-delete-group-title {
  color: #334155;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .035em;
}

.settings-data-delete-option {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
}

.settings-data-delete-option:hover {
  border-color: #cbd5e1;
  background: #fafcfe;
}

.settings-data-delete-option > input {
  width: 16px;
  height: 16px;
  margin: 2px 0 0;
  accent-color: #b42318;
}

.settings-data-delete-option-body {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.settings-data-delete-option-body strong {
  color: #0f172a;
  font-size: 13px;
}

.settings-data-delete-option-body small {
  color: #64748b;
  font-size: 12px;
  line-height: 1.4;
}

.settings-data-delete-count {
  min-width: 34px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}

.settings-data-delete-protected {
  display: grid;
  gap: 3px;
  padding: 9px 11px;
  border: 1px solid #dbe4ee;
  border-radius: 4px;
  background: #f8fafc;
}

.settings-data-delete-protected strong {
  color: #334155;
  font-size: 12px;
}

.settings-data-delete-protected span {
  color: #64748b;
  font-size: 11px;
  line-height: 1.45;
}

.settings-data-delete-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

.settings-data-delete-preview-list {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.settings-data-delete-preview-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 9px 11px;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #fff;
}

.settings-data-delete-preview-row > div {
  display: grid;
  gap: 2px;
}

.settings-data-delete-preview-row strong {
  color: #0f172a;
  font-size: 13px;
}

.settings-data-delete-preview-row span {
  color: #64748b;
  font-size: 11.5px;
}

.settings-data-delete-preview-row b {
  color: #334155;
  font-size: 14px;
}

.settings-data-delete-blockers {
  display: grid;
  gap: 7px;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid #f5c2c7;
  border-radius: 5px;
  background: #fff5f5;
}

.settings-data-delete-blockers > strong {
  color: #991b1b;
}

.settings-data-delete-blockers > div {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  color: #7f1d1d;
  font-size: 12px;
  line-height: 1.4;
}

.settings-data-delete-blockers .material-icons {
  margin-top: 1px;
  font-size: 16px;
}

.settings-data-delete-blockers small {
  color: #7c5660;
  font-size: 11px;
}

.settings-data-delete-ready {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid #bbd7c4;
  border-radius: 5px;
  background: #f5fbf7;
  color: #265d39;
}

.settings-data-delete-ready .material-icons {
  font-size: 19px;
}

.settings-data-delete-ready > div {
  display: grid;
  gap: 2px;
}

.settings-data-delete-ready strong {
  font-size: 12.5px;
}

.settings-data-delete-ready span {
  font-size: 11.5px;
}

.settings-data-delete-dialog {
  width: min(700px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
}

.settings-data-delete-confirm-summary {
  margin-bottom: 14px;
  padding: 10px 11px;
  border: 1px solid #fecaca;
  border-radius: 4px;
  background: #fff7f7;
  color: #7f1d1d;
  font-size: 12px;
  line-height: 1.5;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

.settings-data-delete-confirm-title {
  display: block;
  margin-bottom: 6px;
}

.settings-data-delete-confirm-list {
  display: grid;
  gap: 3px;
  min-width: 0;
  margin-bottom: 7px;
}

.settings-data-delete-confirm-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 7px;
  align-items: baseline;
  min-width: 0;
}

.settings-data-delete-confirm-item > span {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.settings-data-delete-confirm-item > strong {
  white-space: nowrap;
  font-size: 12px;
}

.settings-data-delete-confirm-item > em {
  white-space: nowrap;
  color: #0b5f92;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.settings-data-delete-confirm-validity {
  display: block;
  overflow-wrap: anywhere;
}

@media (max-width: 520px) {
  .settings-data-delete-confirm-item {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .settings-data-delete-confirm-item > em {
    grid-column: 1 / -1;
  }
}

.settings-data-delete-confirm-checks {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}

.settings-data-delete-confirm-checks label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #334155;
  font-size: 12px;
  line-height: 1.4;
}

.settings-data-delete-confirm-checks input {
  width: 16px;
  height: 16px;
  margin: 1px 0 0;
  accent-color: #b42318;
}

.settings-data-delete-phrase {
  display: block;
  margin: 2px 0 5px;
  padding: 7px 9px;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #f8fafc;
  color: #991b1b;
  font-size: 12px;
  font-weight: 800;
  user-select: text;
}

.settings-data-delete-history-list {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.settings-data-delete-history-row {
  display: grid;
  gap: 3px;
  padding: 8px 10px;
  border-bottom: 1px solid #e5e7eb;
}

.settings-data-delete-history-row > div:first-child {
  display: grid;
  gap: 2px;
}

.settings-data-delete-history-row strong {
  color: #334155;
  font-size: 12px;
}

.settings-data-delete-history-row span {
  color: #64748b;
  font-size: 11px;
}

.settings-data-delete-history-error {
  color: #991b1b;
  font-size: 11px;
}

@media (max-width: 680px) {
  .settings-data-delete-warning {
    grid-template-columns: 1fr;
  }

  .settings-data-delete-option {
    grid-template-columns: 20px minmax(0, 1fr);
  }

  .settings-data-delete-count {
    grid-column: 2;
    justify-self: start;
  }

  .settings-data-delete-actions {
    justify-content: stretch;
  }

  .settings-data-delete-actions .address-edit-button {
    width: 100%;
  }
}


.settings-data-delete-option.is-required {
  border-color: #b7c8d8;
  background: #f5f8fb;
}

.settings-data-delete-option.is-required > input {
  opacity: .75;
  cursor: not-allowed;
}

.settings-data-delete-required-note,
.settings-data-delete-preview-row em {
  color: #0b5f92;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.35;
}

.settings-data-delete-preview-row.is-required {
  border-left: 3px solid #0b5f92;
  background: #f7fafc;
}


/* Layoutverwaltung: Neuanlage und Editor als Overlays */
.settings-layout-new-dialog {
  width: min(680px, calc(100vw - 32px));
  max-width: 680px;
}

.settings-layout-template-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.settings-layout-template-choice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 82px;
  padding: 14px;
  border: 1px solid #dbe4ec;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.settings-layout-template-choice:hover {
  border-color: var(--color-primary);
  background: rgba(6, 63, 108, .035);
}

.settings-layout-template-choice > .material-icons {
  color: var(--color-primary);
  font-size: 26px;
}

.settings-layout-template-choice span:last-child {
  display: grid;
  gap: 4px;
}

.settings-layout-template-choice strong {
  font-size: 14px;
}

.settings-layout-template-choice small {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.settings-layout-editor-overlay {
  z-index: 12000;
  padding: 18px;
  align-items: flex-start;
  overflow: auto;
}

.settings-layout-editor-dialog {
  width: min(1500px, calc(100vw - 36px));
  max-width: 1500px;
  min-height: calc(100vh - 36px);
  margin: 0 auto;
  overflow: visible;
}

.settings-layout-editor-content {
  width: 100%;
  padding: 18px;
  box-sizing: border-box;
}

.settings-layout-editor-content .settings-expert-head {
  position: sticky;
  top: -18px;
  z-index: 20;
  margin: -18px -18px 14px;
  padding: 16px 18px;
  border-bottom: 1px solid #e2e8f0;
  background: #ffffff;
}

@media (max-width: 760px) {
  .settings-layout-template-choices {
    grid-template-columns: 1fr;
  }

  .settings-layout-editor-overlay {
    padding: 8px;
  }

  .settings-layout-editor-dialog {
    width: calc(100vw - 16px);
    min-height: calc(100vh - 16px);
  }
}


/* Layoutvorlagen: Beschreibung sauber innerhalb der Auswahlkarte umbrechen */
.settings-layout-template-choice {
  min-width: 0;
  overflow: hidden;
}

.settings-layout-template-choice span:last-child {
  min-width: 0;
  width: 100%;
}

.settings-layout-template-choice small {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}


/* Layouteditor: nahezu volle Breite und eigener vertikaler Scrollbereich */
.settings-layout-editor-overlay {
  inset: 0;
  width: 100vw;
  height: 100vh;
  max-height: 100vh;
  box-sizing: border-box;
  overflow-y: auto !important;
  overflow-x: hidden;
}

.settings-layout-editor-dialog {
  width: calc(100vw - 24px);
  max-width: none;
  min-height: auto;
  max-height: none;
  margin: 0 auto 18px;
  overflow: visible;
}

.settings-layout-editor-content {
  min-width: 0;
}

.settings-letterhead-control {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.settings-letterhead-remove {
  color: #b42318;
}

@media (min-width: 1200px) {
  .settings-expert-designer {
    grid-template-columns: minmax(680px, 1fr) minmax(320px, 380px);
  }
}


/* Layouteditor muss die generischen address-edit-dialog Regeln sicher übersteuern. */
#settingsExpertEditorSection.address-edit-overlay.settings-layout-editor-overlay {
  display: none;
  align-items: stretch;
  justify-content: stretch;
  padding: 10px !important;
  overflow: hidden !important;
}

#settingsExpertEditorSection.address-edit-overlay.settings-layout-editor-overlay:not(.is-hidden) {
  display: flex !important;
}

#settingsExpertEditorSection .address-edit-dialog.settings-layout-editor-dialog {
  flex: 1 1 auto;
  width: calc(100vw - 20px) !important;
  max-width: calc(100vw - 20px) !important;
  height: calc(100vh - 20px) !important;
  min-height: 0 !important;
  max-height: calc(100vh - 20px) !important;
  margin: 0 !important;
  overflow: hidden !important;
}

#settingsExpertEditorSection .settings-layout-editor-content {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow-y: scroll !important;
  overflow-x: auto !important;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
  box-sizing: border-box;
}

#settingsExpertEditorSection .settings-expert-head {
  top: -18px;
}


/* Layouteditor: A4 und Eigenschaften müssen ohne horizontalen Seitenscroll sichtbar sein. */
#settingsExpertEditorSection .settings-layout-editor-content {
  overflow-x: hidden !important;
}

#settingsExpertEditorSection .settings-expert-designer {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
  width: 100%;
  max-width: 100%;
  gap: 12px;
}

#settingsExpertEditorSection .settings-expert-stage-panel,
#settingsExpertEditorSection .settings-expert-inspector {
  min-width: 0;
}

#settingsExpertEditorSection .settings-expert-stage-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

#settingsExpertEditorSection .settings-expert-a4 {
  width: min(100%, 630px);
  max-width: 100%;
}

#settingsExpertEditorSection .settings-expert-inspector {
  width: auto;
  max-width: 420px;
  box-sizing: border-box;
  overflow: hidden;
}

#settingsExpertEditorSection .settings-expert-inspector-content,
#settingsExpertEditorSection .settings-expert-content-editor,
#settingsExpertEditorSection .settings-expert-content-head {
  min-width: 0;
  max-width: 100%;
}

#settingsExpertEditorSection .settings-expert-content-head {
  flex-wrap: wrap;
}

#settingsExpertEditorSection #settingsExpertInsertPlaceholder {
  flex: 0 0 auto;
  max-width: 100%;
}

#settingsExpertEditorSection .settings-expert-placeholder-menu {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 1050px) {
  #settingsExpertEditorSection .settings-expert-designer {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
  }
}


/* Layouteditor: tatsächliche verfügbare Breite erzwingen.
   Der Editor-Inhalt ist ein Flex-Child des Dialogs und darf nicht auf seine
   intrinsische Breite wachsen. */
#settingsExpertEditorSection .address-edit-dialog.settings-layout-editor-dialog {
  min-width: 0 !important;
}

#settingsExpertEditorSection .settings-layout-editor-content {
  max-width: 100% !important;
  min-width: 0 !important;
}

#settingsExpertEditorSection .settings-expert-designer {
  display: grid !important;
  grid-template-columns: minmax(0, calc(100% - 392px)) 380px !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
}

#settingsExpertEditorSection .settings-expert-stage-panel {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
}

#settingsExpertEditorSection .settings-expert-inspector {
  width: 380px !important;
  max-width: 380px !important;
  min-width: 0 !important;
  box-sizing: border-box;
}

#settingsExpertEditorSection .settings-expert-inspector *,
#settingsExpertEditorSection .settings-expert-stage-panel * {
  max-width: 100%;
  box-sizing: border-box;
}

#settingsExpertEditorSection .settings-expert-content-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

#settingsExpertEditorSection .settings-expert-content-head > * {
  min-width: 0;
}

@media (max-width: 1100px) {
  #settingsExpertEditorSection .settings-expert-designer {
    grid-template-columns: minmax(0, calc(100% - 332px)) 320px !important;
  }

  #settingsExpertEditorSection .settings-expert-inspector {
    width: 320px !important;
    max-width: 320px !important;
  }
}


/* Layouteditor: stabile 3-Spalten-Struktur innerhalb des Viewports.
   A4-Vorschau bekommt eine feste, responsive Breite; der Inspector den Rest.
   Dadurch kann keine intrinsische A4-/Formularbreite den Inspector aus dem
   sichtbaren Bereich schieben. */
#settingsExpertEditorSection .settings-expert-designer {
  display: flex !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  gap: 12px !important;
}

#settingsExpertEditorSection .settings-expert-stage-panel {
  flex: 1 1 auto !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: none !important;
}

#settingsExpertEditorSection .settings-expert-inspector {
  flex: 0 0 380px !important;
  width: 380px !important;
  min-width: 0 !important;
  max-width: 380px !important;
}

#settingsExpertEditorSection .settings-expert-stage-scroll {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 12px !important;
  overflow: hidden !important;
}

#settingsExpertEditorSection .settings-expert-a4 {
  flex: 0 1 630px !important;
  width: min(630px, 100%) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
}

#settingsExpertEditorSection .settings-expert-inspector-content,
#settingsExpertEditorSection .settings-expert-inspector-content > *,
#settingsExpertEditorSection .settings-expert-inspector-grid,
#settingsExpertEditorSection .settings-expert-typography,
#settingsExpertEditorSection .settings-expert-typography-grid,
#settingsExpertEditorSection .settings-expert-content-editor,
#settingsExpertEditorSection .settings-expert-element-list {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

#settingsExpertEditorSection .settings-expert-inspector input,
#settingsExpertEditorSection .settings-expert-inspector select,
#settingsExpertEditorSection .settings-expert-inspector textarea,
#settingsExpertEditorSection .settings-expert-inspector button {
  min-width: 0 !important;
}

#settingsExpertEditorSection .settings-expert-content-head {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
}

@media (max-width: 1200px) {
  #settingsExpertEditorSection .settings-expert-inspector {
    flex-basis: 340px !important;
    width: 340px !important;
    max-width: 340px !important;
  }
}


/* Layouteditor – untere Einstellungen als Reiter */
.settings-layout-settings-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 14px;
  border-bottom: 1px solid #dbe4ec;
}

.settings-layout-settings-tab {
  padding: 8px 14px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: #64748b;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.settings-layout-settings-tab.is-active {
  border-bottom-color: #063f6c;
  color: #063f6c;
}

.settings-layout-settings-panel.is-hidden {
  display: none;
}

.settings-layout-typography-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.settings-layout-typo-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(180px, 1fr) 110px minmax(260px, 1.4fr);
  gap: 10px;
  align-items: end;
  padding: 10px;
  border: 1px solid #dbe4ec;
  border-radius: 6px;
  background: #fff;
}

.settings-layout-typo-label {
  align-self: center;
  color: #0f172a;
  font-size: 12px;
  font-weight: 800;
}

.settings-layout-typo-format {
  display: flex;
  gap: 12px;
  align-items: center;
  min-height: 32px;
}

.settings-layout-typo-format label {
  display: inline-flex;
  grid-template-columns: none;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

.settings-layout-typo-format input {
  width: auto;
  height: auto;
}

.settings-layout-typo-note {
  align-self: center;
  color: #64748b;
  font-size: 11px;
}

.settings-layout-typo-appearance {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(150px, auto) minmax(150px, 1fr) minmax(110px, auto) minmax(110px, auto) minmax(140px, 1fr) 130px;
  gap: 10px;
  align-items: end;
  margin-top: 2px;
  padding-top: 10px;
  border-top: 1px solid #e2e8f0;
}

.settings-layout-typo-appearance-title {
  align-self: center;
  color: #475569;
  font-size: 11px;
  font-weight: 800;
}

.settings-layout-typo-appearance > label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  color: #475569;
  font-size: 11px;
  font-weight: 600;
}

.settings-layout-typo-appearance > label:has(input[type="checkbox"]) {
  flex-direction: row;
  align-items: center;
  gap: 6px;
  min-height: 30px;
}

.settings-layout-typo-appearance input[type="checkbox"] {
  width: auto;
  height: auto;
}

.settings-layout-typo-appearance input[type="color"] {
  width: 100%;
  min-width: 42px;
  height: 30px;
  padding: 2px;
  box-sizing: border-box;
}

.settings-layout-typo-appearance input[type="number"] {
  width: 100%;
  height: 30px;
  box-sizing: border-box;
}

@media (max-width: 1050px) {
  .settings-layout-typo-appearance {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 1050px) {
  .settings-layout-typo-row {
    grid-template-columns: 1fr 1fr;
  }
}


/* Layoutelemente: Schriftfarbe analog Richtext-Toolbar */
#settingsExpertEditorSection .settings-expert-rich-color {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: 7px;
  min-height: 32px;
}

#settingsExpertEditorSection .settings-expert-rich-color .settings-expert-color-a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 28px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}

#settingsExpertEditorSection .settings-expert-rich-color input[type="color"] {
  flex: 0 0 42px;
  width: 42px;
  height: 30px;
}

#settingsExpertEditorSection .settings-expert-rich-color button {
  flex: 0 1 auto;
  white-space: nowrap;
}


/* Schriftfarbe im Layoutinspektor bewusst als eigene, immer sichtbare Zeile. */
#settingsExpertEditorSection .settings-expert-typography-main {
  grid-template-columns: minmax(0, 1fr) 110px !important;
}

#settingsExpertEditorSection .settings-expert-color-row {
  display: flex !important;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  padding-top: 2px;
}

#settingsExpertEditorSection .settings-expert-color-label {
  flex: 0 0 auto;
  color: #475569;
  font-size: 11px;
  font-weight: 700;
}

#settingsExpertEditorSection .settings-expert-color-picker {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px !important;
  height: 32px;
  margin: 0;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  overflow: hidden;
}

#settingsExpertEditorSection .settings-expert-color-picker .settings-expert-color-a {
  position: relative;
  z-index: 1;
  pointer-events: none;
  font-size: 18px;
  font-weight: 700;
}

#settingsExpertEditorSection .settings-expert-color-picker input[type="color"] {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  padding: 0;
  border: 0;
  opacity: 0;
  cursor: pointer;
}

#settingsExpertEditorSection .settings-expert-color-row #settingsExpertInspectorColorReset {
  flex: 0 0 auto;
}


/* Layoutelemente – Textausrichtung */
#settingsExpertEditorSection .settings-expert-align-buttons {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

#settingsExpertEditorSection .settings-expert-align-buttons .settings-expert-format-button {
  flex: 1 1 90px;
  justify-content: center;
}


/* Positionsspalten: alle Controls mit gleicher Caption-/Control-Höhe */
.settings-expert-column-row {
  grid-template-columns: minmax(140px, 1fr) minmax(170px, 1.2fr) minmax(90px, .65fr) minmax(120px, .8fr) minmax(105px, .6fr) minmax(90px, auto);
  align-items: end;
}

.settings-expert-column-row > label {
  display: grid;
  grid-template-rows: 16px 32px;
  gap: 4px;
  min-width: 0;
  margin: 0;
}

.settings-expert-column-row > label > input,
.settings-expert-column-row > label > select,
.settings-expert-column-row > label > button,
.settings-expert-column-row .settings-expert-check {
  width: 100%;
  height: 32px;
  min-height: 32px;
  box-sizing: border-box;
}

.settings-expert-column-row .settings-expert-check {
  display: flex !important;
  align-items: center;
  padding: 0 8px;
}

.settings-expert-column-row .settings-expert-check input {
  width: auto;
  height: auto;
}

.settings-expert-column-action button {
  justify-content: center;
}

@media (max-width: 1100px) {
  .settings-expert-column-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}


/* Layoutdesigner: Vorschau im Mittelpunkt, Eigenschaften nur per Doppelklick. */
.settings-expert-designer {
  display: block;
}

.settings-expert-stage-panel {
  width: 100%;
  box-sizing: border-box;
}

.settings-expert-stage-scroll {
  min-height: 0;
}

.settings-expert-a4 {
  width: min(100%, 760px);
}

.settings-expert-stage-hint {
  margin-top: 10px;
  padding: 8px 10px;
  border: 1px solid #dbe4ec;
  border-radius: 3px;
  background: #f8fafc;
  color: #64748b;
  font-size: 12px;
  text-align: center;
}

.settings-layout-properties-dialog {
  width: min(900px, calc(100vw - 40px));
  max-height: calc(100vh - 40px);
}

.settings-layout-properties-dialog .settings-expert-inspector-content {
  display: block;
}

.settings-layout-overlay-columns {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #e5e7eb;
}


.settings-layout-image-properties{margin:12px 0;padding:12px;border:1px solid #dbe4ec;border-radius:4px;background:#f8fafc}
.settings-layout-image-preview{display:block;max-width:100%;max-height:180px;margin:8px auto;object-fit:contain;background:#fff;border:1px solid #e2e8f0}
.settings-layout-image-empty{padding:18px;margin:8px 0;border:1px dashed #cbd5e1;background:#fff;color:#64748b;text-align:center;font-size:12px}
.settings-layout-image-actions{display:flex;align-items:center;gap:8px;margin:8px 0 12px}
.settings-layout-image-actions label{display:inline-flex!important;width:auto!important;cursor:pointer}
.settings-expert-canvas-image{display:block;width:100%;height:100%;pointer-events:none}


/* Layout-Element bearbeiten: visuell identisch zu "Adresse bearbeiten". */
.settings-layout-properties-dialog.address-edit-dialog {
  width: min(920px, calc(100vw - 40px)) !important;
  max-width: 920px !important;
  max-height: calc(100vh - 40px) !important;
  border: 1px solid rgba(226, 232, 240, .9);
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .24);
}

.settings-layout-properties-dialog .address-edit-header {
  min-height: 55px;
  box-sizing: border-box;
  padding: 12px 16px;
  gap: 12px;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}

.settings-layout-properties-dialog .address-edit-title {
  color: #0f172a;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
}

.settings-layout-properties-dialog .address-edit-subtitle {
  margin-top: 2px;
  color: #64748b;
  font-size: 12px;
  font-weight: 400;
}

.settings-layout-properties-dialog .address-edit-close {
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid #d5dee8;
  border-radius: 2px;
  background: #f8fafc;
  color: #334155;
  font-size: 21px;
  line-height: 1;
}

.settings-layout-properties-dialog .address-edit-body {
  padding: 12px 16px 14px;
  background: #f8fafc;
}

.settings-layout-properties-dialog .address-edit-footer {
  gap: 8px;
  padding: 10px 16px;
  border-top: 1px solid #e5e7eb;
  background: #fff;
}

.settings-layout-properties-dialog .address-edit-button {
  min-width: 92px;
  height: 30px;
  padding: 0 12px;
  border-radius: 2px;
  font-size: 14px;
  font-weight: 500;
}

/* Felder: dieselbe Metrik wie im Adress-Overlay. */
.settings-layout-properties-dialog .settings-expert-inspector-content {
  display: grid;
  gap: 8px;
  color: #0f172a;
}

.settings-layout-properties-dialog .settings-expert-inspector-content > label,
.settings-layout-properties-dialog .settings-expert-inspector-grid label,
.settings-layout-properties-dialog .settings-expert-typography-grid label,
.settings-layout-properties-dialog .settings-expert-flow-controls label,
.settings-layout-properties-dialog .settings-layout-image-properties > label,
.settings-layout-properties-dialog .settings-expert-column-row label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
}

.settings-layout-properties-dialog .settings-expert-inspector-content input:not([type="checkbox"]):not([type="color"]):not([type="file"]),
.settings-layout-properties-dialog .settings-expert-inspector-content select,
.settings-layout-properties-dialog .settings-expert-inspector-content textarea,
.settings-layout-properties-dialog .settings-expert-column-row input:not([type="checkbox"]):not([type="color"]),
.settings-layout-properties-dialog .settings-expert-column-row select,
.settings-layout-properties-dialog .settings-expert-column-row textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--color-border, #cbd5e1) !important;
  border-radius: 2px !important;
  background: #fafafa !important;
  color: #0f172a;
  box-shadow: none !important;
  outline: none !important;
  font-family: inherit;
  font-size: 14px !important;
  font-weight: 400;
  line-height: 1.25;
}

.settings-layout-properties-dialog .settings-expert-inspector-content input:not([type="checkbox"]):not([type="color"]):not([type="file"]),
.settings-layout-properties-dialog .settings-expert-inspector-content select,
.settings-layout-properties-dialog .settings-expert-column-row input:not([type="checkbox"]):not([type="color"]),
.settings-layout-properties-dialog .settings-expert-column-row select {
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  padding: 4px 8px !important;
}

.settings-layout-properties-dialog .settings-expert-inspector-content textarea,
.settings-layout-properties-dialog .settings-expert-column-row textarea {
  min-height: 64px !important;
  padding: 6px 8px !important;
  resize: vertical;
}

.settings-layout-properties-dialog .settings-expert-inspector-content input:focus,
.settings-layout-properties-dialog .settings-expert-inspector-content select:focus,
.settings-layout-properties-dialog .settings-expert-inspector-content textarea:focus,
.settings-layout-properties-dialog .settings-expert-column-row input:focus,
.settings-layout-properties-dialog .settings-expert-column-row select:focus {
  border-color: var(--color-primary, #063f6c) !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* Kompakte Zweispalten-Raster wie bei Adresse bearbeiten. */
.settings-layout-properties-dialog .settings-expert-inspector-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}

.settings-layout-properties-dialog .settings-expert-typography-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}

/* Die bisherigen Designer-"Kacheln" auf das ruhigere Adressdesign reduzieren. */
.settings-layout-properties-dialog .settings-expert-typography,
.settings-layout-properties-dialog .settings-expert-flow-controls,
.settings-layout-properties-dialog .settings-layout-image-properties,
.settings-layout-properties-dialog .settings-layout-overlay-columns,
.settings-layout-properties-dialog .settings-expert-automatic-content,
.settings-layout-properties-dialog .settings-expert-content-editor {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 3px;
  background: #fff;
  box-shadow: none;
}

.settings-layout-properties-dialog .settings-layout-overlay-columns {
  margin-top: 4px;
}

.settings-layout-properties-dialog .settings-expert-typography-title,
.settings-layout-properties-dialog .address-single-section-title {
  margin: 0 0 7px;
  color: var(--color-primary, #063f6c);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
}

.settings-layout-properties-dialog .settings-expert-content-head {
  min-height: 30px;
  gap: 8px;
}

.settings-layout-properties-dialog .settings-expert-content-hint,
.settings-layout-properties-dialog .settings-expert-flow-controls small,
.settings-layout-properties-dialog .settings-expert-automatic-content small,
.settings-layout-properties-dialog .settings-detail-text {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

/* Checkbox-Zeilen wie im Adressdialog. */
.settings-layout-properties-dialog .settings-expert-inspector-check {
  min-height: 30px;
  padding: 5px 8px;
  gap: 6px;
  border: 1px solid var(--color-border, #cbd5e1);
  border-radius: 2px;
  background: #fff;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
}

.settings-layout-properties-dialog .settings-expert-inspector-check input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  accent-color: var(--color-primary, #063f6c);
}

/* Format-/Aktionsbuttons nicht mehr wie eigene Designer-Pills. */
.settings-layout-properties-dialog .settings-small-button,
.settings-layout-properties-dialog .settings-expert-format-button {
  min-height: 30px;
  height: 30px;
  padding: 0 10px;
  border: 1px solid #d5dee8;
  border-radius: 2px;
  background: #eef3f8;
  color: #123;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  box-shadow: none;
}

.settings-layout-properties-dialog .settings-small-button.primary,
.settings-layout-properties-dialog .settings-expert-format-button.is-active {
  border-color: var(--color-primary, #063f6c);
  background: var(--color-primary, #063f6c);
  color: #fff;
}

.settings-layout-properties-dialog .settings-small-button.ghost {
  background: #fff;
  color: #475569;
}

.settings-layout-properties-dialog .settings-expert-format-buttons,
.settings-layout-properties-dialog .settings-expert-align-buttons,
.settings-layout-properties-dialog .settings-expert-color-row,
.settings-layout-properties-dialog .settings-layout-image-actions {
  gap: 6px;
}

/* Bild/Logo: als normale Abschnittskachel statt Sonderbox. */
.settings-layout-properties-dialog .settings-layout-image-properties {
  display: grid;
  gap: 8px;
}

.settings-layout-properties-dialog .settings-layout-image-preview {
  max-height: 150px;
  margin: 0 auto;
  border: 1px solid #e2e8f0;
  border-radius: 2px;
  background: #fff;
}

.settings-layout-properties-dialog .settings-layout-image-empty {
  margin: 0;
  padding: 14px;
  border: 1px dashed #cbd5e1;
  border-radius: 3px;
  background: #f8fafc;
  color: #64748b;
  font-size: 12px;
}

/* Positionsspalten: kompakt, ohne übergroße Zeilen. */
.settings-layout-properties-dialog .settings-expert-column-row {
  grid-template-columns: minmax(130px, 1fr) minmax(150px, 1.2fr) 90px 100px 105px auto;
  gap: 8px;
  padding: 8px 0;
  border-top: 1px solid #edf2f7;
}

.settings-layout-properties-dialog .settings-expert-column-row:first-child {
  border-top: 0;
}

@media (max-width: 780px) {
  .settings-layout-properties-dialog.address-edit-dialog {
    width: min(100%, calc(100vw - 20px)) !important;
    max-height: calc(100vh - 20px) !important;
  }

  .settings-layout-properties-dialog .settings-expert-inspector-grid,
  .settings-layout-properties-dialog .settings-expert-typography-grid {
    grid-template-columns: 1fr;
  }

  .settings-layout-properties-dialog .settings-expert-column-row {
    grid-template-columns: 1fr 1fr;
  }
}

/* Layout-Element bearbeiten: Abschnittstitel und Checkboxen wie im Adressdialog. */
.settings-layout-properties-dialog .settings-expert-typography-title,
.settings-layout-properties-dialog .settings-expert-content-head > label,
.settings-layout-properties-dialog .settings-expert-automatic-content > span {
  display: flex;
  align-items: center;
  min-height: 20px;
  padding-left: 8px;
  border-left: 3px solid var(--color-accent, #F28C18);
  color: var(--color-primary, #063f6c);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
}

.settings-layout-properties-dialog .settings-expert-inspector-check {
  display: inline-flex !important;
  width: fit-content !important;
  min-width: 0 !important;
  max-width: 100%;
  min-height: 28px;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  align-self: start;
  gap: 6px !important;
  padding: 4px 8px !important;
  line-height: 1.2;
}

.settings-layout-properties-dialog .settings-expert-inspector-grid > .settings-expert-inspector-check {
  align-self: end;
  justify-self: start;
}

.settings-layout-properties-dialog .settings-layout-image-properties > .settings-expert-inspector-check {
  justify-self: start;
}

.settings-layout-properties-dialog .settings-expert-format-buttons > .settings-expert-inspector-check {
  flex: 0 0 auto;
}

/* Layout-Element bearbeiten: Schrift und Darstellung kompakt in einem Bereich. */
.settings-layout-properties-dialog .settings-expert-display-settings {
  display: grid;
  gap: 8px;
}

.settings-layout-properties-dialog .settings-expert-font-row {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  min-width: 0;
  white-space: nowrap;
}

.settings-layout-properties-dialog .settings-expert-inline-field {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 5px !important;
  min-width: 0;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
}

.settings-layout-properties-dialog .settings-expert-inline-field > span,
.settings-layout-properties-dialog .settings-expert-inline-color > span {
  flex: 0 0 auto;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
}

.settings-layout-properties-dialog .settings-expert-font-family {
  flex: 1 1 210px;
}

.settings-layout-properties-dialog .settings-expert-font-family select {
  min-width: 150px;
}

.settings-layout-properties-dialog .settings-expert-font-size {
  flex: 0 0 auto;
}

.settings-layout-properties-dialog .settings-expert-font-size input {
  width: 62px !important;
}

.settings-layout-properties-dialog .settings-expert-font-color {
  display: inline-flex !important;
  flex: 0 0 auto;
  flex-direction: row !important;
  align-items: center !important;
  gap: 4px !important;
}

.settings-layout-properties-dialog .settings-expert-font-actions,
.settings-layout-properties-dialog .settings-expert-icon-buttons {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.settings-layout-properties-dialog .settings-expert-font-actions {
  gap: 4px;
  margin-left: 2px;
}

.settings-layout-properties-dialog .settings-expert-icon-buttons {
  gap: 2px;
}

.settings-layout-properties-dialog .settings-expert-icon-button {
  display: inline-flex;
  width: 30px;
  min-width: 30px;
  height: 28px;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  border: 1px solid #d5dee8;
  border-radius: 2px;
  background: #eef3f8;
  color: #334155;
  cursor: pointer;
  box-shadow: none;
}

.settings-layout-properties-dialog .settings-expert-icon-button .material-icons {
  font-size: 18px;
  line-height: 1;
}

.settings-layout-properties-dialog .settings-expert-format-button.settings-expert-icon-button.is-active {
  border-color: var(--color-primary, #063f6c);
  background: var(--color-primary, #063f6c);
  color: #fff;
}

.settings-layout-properties-dialog .settings-expert-font-separator {
  width: 1px;
  height: 20px;
  margin: 0 2px;
  background: #d7dee8;
}

.settings-layout-properties-dialog .settings-expert-font-reset {
  margin-left: 2px;
  background: #fff;
}

.settings-layout-properties-dialog .settings-expert-font-color .settings-expert-color-picker {
  flex: 0 0 auto;
}

.settings-layout-properties-dialog .settings-expert-display-row {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding-top: 8px;
  border-top: 1px solid #edf2f7;
}

.settings-layout-properties-dialog .settings-expert-display-label {
  flex: 0 0 52px;
  color: var(--color-primary, #063f6c);
  font-size: 12px;
  font-weight: 700;
}

.settings-layout-properties-dialog .settings-expert-border-buttons {
  flex: 0 1 auto;
  flex-wrap: nowrap;
  gap: 3px;
}

.settings-layout-properties-dialog .settings-expert-border-buttons .settings-expert-format-button {
  min-width: 0;
  height: 28px;
  min-height: 28px;
  padding: 0 7px;
}

.settings-layout-properties-dialog .settings-expert-border-width {
  flex: 0 0 auto;
}

.settings-layout-properties-dialog .settings-expert-border-width input {
  width: 58px !important;
}

.settings-layout-properties-dialog .settings-expert-inline-color {
  display: inline-flex !important;
  flex: 0 0 auto;
  flex-direction: row !important;
  align-items: center !important;
  gap: 5px !important;
  color: #475569;
}

.settings-layout-properties-dialog .settings-expert-inline-color input[type="color"] {
  width: 32px !important;
  min-width: 32px !important;
  height: 28px !important;
  padding: 2px !important;
  border: 1px solid #d5dee8 !important;
  border-radius: 2px !important;
  background: #fff !important;
}

.settings-layout-properties-dialog .settings-expert-display-clear {
  flex: 0 0 auto;
  height: 28px;
  min-height: 28px;
}

.settings-layout-properties-dialog .settings-expert-fill-row .settings-expert-inspector-check {
  align-self: center;
}

@media (max-width: 780px) {
  .settings-layout-properties-dialog .settings-expert-font-row,
  .settings-layout-properties-dialog .settings-expert-display-row {
    flex-wrap: wrap;
  }

  .settings-layout-properties-dialog .settings-expert-font-family {
    flex: 1 1 100%;
  }

  .settings-layout-properties-dialog .settings-expert-display-label {
    flex-basis: 100%;
  }
}

/* Dynamischer Seiteninhalt: Reiter und kompakte Allgemein-Einstellungen. */
.settings-layout-properties-dialog .settings-layout-settings-tabs {
  margin: -2px 0 12px;
}

.settings-layout-properties-dialog .settings-layout-settings-tab {
  min-height: 34px;
  padding: 7px 12px;
  font-size: 13px;
}

.settings-layout-properties-dialog .settings-layout-settings-panel {
  min-width: 0;
}

.settings-layout-properties-dialog .settings-layout-overlay-columns-tab {
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.settings-layout-properties-dialog .settings-layout-columns-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.settings-layout-properties-dialog .settings-layout-columns-toolbar .settings-detail-text {
  min-width: 0;
}

.settings-layout-properties-dialog .settings-expert-flow-general {
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
}

.settings-layout-properties-dialog .settings-expert-flow-general > label,
.settings-layout-properties-dialog .settings-expert-flow-site-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
}

.settings-layout-properties-dialog .settings-expert-flow-general > label select,
.settings-layout-properties-dialog .settings-expert-flow-site-field select,
.settings-layout-properties-dialog .settings-expert-flow-site-field input[type="text"] {
  width: 100%;
}

.settings-layout-properties-dialog .settings-expert-flow-site-field input[type="text"] {
  height: 32px;
  min-height: 32px;
  box-sizing: border-box;
  padding: 5px 8px;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  font-size: 12px;
}

.settings-layout-properties-dialog .settings-expert-flow-site-field input[type="text"]:focus {
  border-color: #063f6c;
  outline: 2px solid rgba(6, 63, 108, .08);
}

.settings-layout-properties-dialog .settings-expert-flow-site-row {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  min-width: 0;
}

.settings-layout-properties-dialog .settings-expert-flow-site-field {
  flex: 1 1 auto;
}

.settings-layout-properties-dialog .settings-expert-flow-site-different {
  flex: 0 0 auto;
  align-self: flex-end;
  margin: 0;
}

.settings-layout-properties-dialog .settings-expert-flow-geometry {
  margin-top: 2px;
}

@media (max-width: 780px) {
  .settings-layout-properties-dialog .settings-layout-default-typography {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .settings-layout-properties-dialog .settings-layout-columns-toolbar,
  .settings-layout-properties-dialog .settings-expert-flow-site-row {
    align-items: stretch;
    flex-direction: column;
  }

  .settings-layout-properties-dialog .settings-expert-flow-site-different {
    align-self: flex-start;
  }
}

.beleg-quick-badge.is-ai {
  border-color: rgba(6, 63, 108, .22);
  background: rgba(6, 63, 108, .07);
  color: #063f6c;
}


/* Layout > Dynamischer Inhalt > Schriftarten:
   Controls bewusst mit derselben Metrik wie "Adresse bearbeiten". */
.settings-layout-properties-dialog .settings-layout-default-typography {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 1fr) minmax(140px, .75fr);
  gap: 10px 12px;
  align-items: end;
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid rgba(6, 63, 108, .22);
  border-radius: 5px;
  background: rgba(6, 63, 108, .045);
}

.settings-layout-properties-dialog .settings-layout-default-typography-head {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.settings-layout-properties-dialog .settings-layout-default-typography-head strong {
  color: #063f6c;
  font-size: 12px;
}

.settings-layout-properties-dialog .settings-layout-default-typography-head span {
  color: #64748b;
  font-size: 11px;
  line-height: 1.35;
}

.settings-layout-properties-dialog .settings-layout-default-typography > label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
}

.settings-layout-properties-dialog .settings-layout-default-typography select {
  width: 100%;
  height: 28px;
  min-height: 28px;
}

.settings-layout-properties-dialog .settings-layout-default-typography input[type="color"] {
  width: 100%;
  height: 28px;
  min-height: 28px;
  padding: 2px;
  border: 1px solid #cbd5e1;
  border-radius: 3px;
  background: #fff;
  cursor: pointer;
}

.settings-layout-properties-dialog #settingsLayoutTypography {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-row {
  grid-template-columns: minmax(150px, 1.05fr) minmax(190px, 1.15fr) 105px minmax(250px, 1.5fr);
  gap: 8px 12px;
  align-items: end;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 3px;
  background: #fff;
  box-shadow: none;
}

.settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-label {
  align-self: center;
  color: #0f172a;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
}

.settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-row > label,
.settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-appearance > label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}

.settings-layout-properties-dialog #settingsLayoutTypography select.settings-layout-typo-font,
.settings-layout-properties-dialog #settingsLayoutTypography input.settings-layout-typo-size,
.settings-layout-properties-dialog #settingsLayoutTypography input.settings-layout-typo-border-width {
  width: 100%;
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  box-sizing: border-box;
  padding: 4px 8px !important;
  border: 1px solid var(--color-border, #cbd5e1) !important;
  border-radius: 2px !important;
  outline: none !important;
  background: #fafafa !important;
  color: #0f172a;
  box-shadow: none !important;
  font-family: inherit;
  font-size: 14px !important;
  font-weight: 400;
  line-height: 1.25;
}

.settings-layout-properties-dialog #settingsLayoutTypography select.settings-layout-typo-font:focus,
.settings-layout-properties-dialog #settingsLayoutTypography input.settings-layout-typo-size:focus,
.settings-layout-properties-dialog #settingsLayoutTypography input.settings-layout-typo-border-width:focus {
  border-color: var(--color-primary, #063f6c) !important;
  background: #fff !important;
  box-shadow: none !important;
}

.settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-format {
  display: flex;
  min-height: 28px;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-format label,
.settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-appearance > label:has(input[type="checkbox"]) {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  margin: 0;
  color: #334155;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}

.settings-layout-properties-dialog #settingsLayoutTypography input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  position: static !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  opacity: 1 !important;
  accent-color: var(--color-primary, #063f6c);
  cursor: pointer;
}

.settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-note {
  align-self: center;
  min-height: 28px;
  display: flex;
  align-items: center;
  color: #64748b;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.35;
}

.settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-appearance {
  grid-column: 1 / -1;
  grid-template-columns: minmax(120px, .8fr) minmax(150px, 1fr) minmax(105px, auto) minmax(105px, auto) minmax(135px, .9fr) 125px;
  gap: 8px 12px;
  align-items: end;
  margin: 0;
  padding: 0;
  border: 0;
}

.settings-layout-properties-dialog #settingsLayoutTypography input[type="color"] {
  width: 100% !important;
  height: 28px !important;
  min-height: 28px !important;
  box-sizing: border-box;
  padding: 2px !important;
  border: 1px solid var(--color-border, #cbd5e1) !important;
  border-radius: 2px !important;
  background: #fafafa !important;
  box-shadow: none !important;
  cursor: pointer;
}

.settings-layout-properties-dialog #settingsLayoutTypography input[type="color"]:focus {
  border-color: var(--color-primary, #063f6c) !important;
  background: #fff !important;
  outline: none !important;
}

@media (max-width: 1050px) {
  .settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-row,
  .settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-appearance {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-label {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-row,
  .settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-appearance {
    grid-template-columns: 1fr;
  }

  .settings-layout-properties-dialog #settingsLayoutTypography .settings-layout-typo-label {
    grid-column: 1;
  }
}

/* Speichern und Chatversand interner Arbeitsunterlagen */
.beleg-work-share-overlay { z-index: 12300; padding: 16px; }
.beleg-work-share-dialog { width: min(560px, 96vw); max-height: 90vh; border-radius: 5px; }
.beleg-work-share-dialog .address-edit-body { display: flex; flex-direction: column; gap: 12px; overflow: auto; }
.beleg-work-share-dialog .address-edit-field { width: 100%; }
.beleg-work-share-dialog textarea { min-height: 120px; resize: vertical; }

.beleg-position-meta-row,
.beleg-position-meta-row.has-billing-label {
  grid-template-columns: 250px 200px minmax(0, 1fr);
}
.beleg-position-number-row {
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
}
.beleg-position-number-field { min-width: 0; }
@media (max-width: 900px) {
  .beleg-position-meta-row,
  .beleg-position-meta-row.has-billing-label {
    grid-template-columns: 250px minmax(0, 1fr);
  }
  .beleg-position-meta-row.has-billing-label #editPositionBillingLabelField {
    grid-column: 2;
  }
}
@media (max-width: 700px) {
  .beleg-position-meta-row,
  .beleg-position-meta-row.has-billing-label { grid-template-columns: minmax(0, 1fr); }
  .beleg-position-meta-row .beleg-position-number-field { width: min(250px, 100%); }
  .beleg-position-meta-row.has-billing-label #editPositionBillingLabelField { grid-column: auto; }
}

/* Manuelle Positionsnummer: kompakte Checkbox unter dem 250-px-Eingabefeld. */
.beleg-position-number-row > .beleg-position-number-fixed {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  justify-self: start;
  width: auto;
  min-height: 20px;
  gap: 6px;
  margin: 0;
  padding: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
}
.beleg-position-number-fixed > input[type="checkbox"] {
  appearance: auto;
  flex: 0 0 14px;
  width: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  max-height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none;
}
.beleg-position-number-fixed > span { line-height: 20px; }

.beleg-position-context {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #dfe6ec;
  border-radius: 2px;
  background: #f7f9fb;
  color: #263746;
  font-size: 13px;
  line-height: 1.4;
}
.beleg-position-context strong { flex: 0 0 auto; }
.beleg-position-context span { min-width: 0; overflow-wrap: anywhere; white-space: pre-wrap; }

#belegPositionCalcMetrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
  margin-bottom: 14px;
}
#belegPositionCalcMetrics > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
#belegPositionCalcMetrics strong { white-space: nowrap; }
#belegPositionPricingControls { margin-bottom: 14px; }
@media (max-width: 700px) { #belegPositionCalcMetrics { grid-template-columns: 1fr; } }

.beleg-position-editor-main > #belegPositionPanelCalc { padding-top: 4px; }
#belegPositionPanelCalc .leistung-calc-summary-wrap { margin-top: 0; }

#belegPositionCalcRows { display: block; overflow-x: auto; }
.beleg-calc-line-table { width: 100%; min-width: 780px; border-collapse: collapse; font-size: 12px; line-height: 1.3; }
.beleg-calc-line-table th,
.beleg-calc-line-table td { padding: 5px 8px; border-bottom: 1px solid #dfe6ec; text-align: left; }
.beleg-calc-line-table th { background: #eef3f7; color: #465663; font-weight: 600; white-space: nowrap; }
.beleg-calc-line-table th:nth-child(n+3),
.beleg-calc-line-table td.is-number { text-align: right; white-space: nowrap; }
.beleg-calc-line-table .beleg-calc-line-name { min-width: 180px; max-width: 340px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.beleg-calc-line-table .is-total { font-weight: 600; }
.beleg-calc-line-table tbody tr { cursor: pointer; background: #fff; }
.beleg-calc-line-table tbody tr:nth-child(even) { background: #f7f9fb; }
.beleg-calc-line-table tbody tr:hover,
.beleg-calc-line-table tbody tr:focus { background: #e7f0f7; outline: 2px solid #063f6c; outline-offset: -2px; }

#belegPositionPricingControls.beleg-position-price-line {
  display: grid;
  grid-template-columns: repeat(3, minmax(110px, 150px)) auto;
  align-items: end;
  gap: 10px;
}
.beleg-position-price-line .address-edit-field { min-width: 0; }
.beleg-position-price-line input.edit {
  width: 100%; height: 28px !important; min-height: 28px !important; max-height: 28px !important;
  padding: 3px 8px !important; border-radius: 2px !important; font-size: 14px !important;
}
.beleg-position-price-fixed { display: inline-flex; align-items: center; gap: 6px; margin: 0; min-height: 28px; font-size: 12px; white-space: nowrap; }
.beleg-position-price-fixed input[type="checkbox"] { width: 14px !important; height: 14px !important; min-height: 14px !important; margin: 0; flex: 0 0 14px; accent-color: #063f6c; }
@media (max-width: 700px) { #belegPositionPricingControls.beleg-position-price-line { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

#belegPositionCalcSection .leistung-calc-add,
.beleg-calc-time-link { border: 0; background: transparent; padding: 0; min-height: 0; border-radius: 0; box-shadow: none; color: #063f6c; font: inherit; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
#belegPositionCalcSection .leistung-calc-add-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 26px; }
.beleg-calc-time-link { display: inline-flex; align-items: baseline; gap: 8px; text-align: left; flex-wrap: wrap; }
.beleg-labor-time-overlay { z-index: 100008; padding: 16px; }
.beleg-labor-time-dialog { width: min(440px, 94vw); border-radius: 5px; }

.beleg-print-spinner { display: inline-block; width: 16px; height: 16px; border: 2px solid #cfd9e1; border-top-color: #063f6c; border-radius: 50%; animation: beleg-print-spin .8s linear infinite; }
@keyframes beleg-print-spin { to { transform: rotate(360deg); } }

.beleg-print-overlay { position: fixed; inset: 0; z-index: 100009; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(18, 31, 44, .45); }
.beleg-print-dialog { display: flex; flex-direction: column; width: min(1180px, 96vw); height: 94vh; min-height: 0; background: #fff; border-radius: 5px; overflow: hidden; box-shadow: 0 10px 40px #0003; }
.beleg-print-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 12px 16px; border-bottom: 1px solid #d9dee7; }
.beleg-print-header h2 { margin: 0; font-size: 18px; color: #263445; }
.beleg-print-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.beleg-print-actions button { font: inherit; font-size: 14px; min-height: 28px; padding: 4px 12px; border: 1px solid #bdcad5; border-radius: 2px; background: #fff; color: #063f6c; cursor: pointer; }
.beleg-print-actions button:hover:not(:disabled) { background: #f3f6fa; }
.beleg-print-actions button:disabled { opacity: .5; cursor: default; }
.beleg-print-status { flex: 0 0 auto; padding: 8px 16px; font-size: 13px; color: #536174; }
.beleg-print-status .beleg-print-spinner { vertical-align: middle; margin-right: 6px; }
.beleg-print-preview { flex: 1 1 auto; min-height: 0; overflow: hidden; }
.beleg-print-preview .xcraft-pdf-reader { min-height: 0; border-radius: 0; }
.beleg-print-native-frame { position: fixed; left: -10000px; top: 0; width: 1px; height: 1px; border: 0; }
@media (max-width: 640px) { .beleg-print-overlay { padding: 6px; } .beleg-print-dialog { width: 100%; height: 96vh; } .beleg-print-header { padding: 10px; } }

.beleg-finish-display-options { flex: 0 0 auto; padding: 10px 16px; border-bottom: 1px solid #d9dee7; background: white; }
.beleg-finish-document-title { max-width: 980px; margin: 28px auto 12px; font-size: 16px; color: #263445; }

.beleg-finish-stage { display: flex; flex-direction: column; }
.beleg-finish-preview-shell { flex: 1 1 auto; min-height: 0; height: auto; }
.beleg-finish-stage > .beleg-measure-finish-options { flex: 0 0 auto; margin: 0; border-radius: 0; border-width: 0 0 1px; }

.address-edit-overlay.beleg-output-version-overlay { display: flex; z-index: 100010; padding: 16px; }
.beleg-output-version-dialog { width: min(660px, 94vw); max-height: 90vh; border-radius: 5px; }
.beleg-output-version-dialog .address-edit-body { overflow: auto; }
.beleg-output-version-dialog [data-section] { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.beleg-output-version-dialog [data-section][hidden], .beleg-output-version-dialog [hidden] { display: none !important; }
.beleg-output-version-dialog label { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 14px; }
.beleg-output-version-dialog input[type="checkbox"] { width: 14px; height: 14px; min-height: 14px; margin: 0; accent-color: #063f6c; }
.beleg-output-version-dialog select, .beleg-output-version-dialog input[type="number"] { height: 28px; border: 1px solid #bdcad5; border-radius: 2px; padding: 3px 6px; font: inherit; box-sizing: border-box; }
.beleg-output-version-dialog input[type="number"] { width: 70px; }
.beleg-output-version-percent { display: flex; gap: 14px; }
.beleg-output-version-history { margin-top: 20px; border-top: 1px solid #d9dee7; padding-top: 12px; font-size: 13px; }
.beleg-output-version-history [data-history] { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 10px; }
.beleg-output-version-history button { border: 0; background: none; color: #063f6c; padding: 0; font: inherit; text-align: left; text-decoration: underline; cursor: pointer; }

/* Reuse Darstellung in finalization without changing the editor header. */
#beleg-single-root #belegFinishDisplayOptions { display: flex; align-items: center; justify-content: space-between; gap: 12px; overflow: visible; }
#beleg-single-root #belegFinishDisplayOptions > #xcraftViewOptions { position: relative; top: auto; right: auto; margin-left: auto; }
#beleg-single-root #belegFinishDisplayOptions .xcraft-view-options-popover { z-index: 70; }

/* Frozen final output uses the shared, continuous PDF reader. */
#belegFinishPreviewShell.is-final-output-preview{display:flex;flex-direction:column;padding:0;overflow:hidden;min-height:0}
#belegFinishPreviewShell.is-final-output-preview>.xcraft-pdf-reader{flex:1;min-height:0;height:100%}

/* Archived documents use the same paper cards and canvas as the document editor. */
#belegFinishPreviewShell .xcraft-pdf-document-reader{background:transparent;border-radius:0}
#belegFinishPreviewShell .xcraft-pdf-document-reader>.xcraft-pdf-toolbar{display:none}
#belegFinishPreviewShell .xcraft-pdf-document-reader>.xcraft-pdf-viewport{box-sizing:border-box;padding:22px 24px 42px;background:linear-gradient(180deg,#f4f7fa,#e9eef3)}
#belegFinishPreviewShell .xcraft-pdf-document-canvas{display:block;margin:0 auto 18px}

/* Native settings share the record header: only the detail body scrolls. */
#settings-root .settings-content:not(.xmail-settings):not(.xreport-settings) {
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
}
#settings-root .settings-content:not(.xmail-settings):not(.xreport-settings) .settings-content-card {
  display:flex;
  flex-direction:column;
  flex:1 1 0;
  min-height:0;
  width:100%;
  overflow:hidden;
  padding:0;
  border:0;
  background:transparent;
}
#settings-root .settings-content:not(.xmail-settings):not(.xreport-settings) .settings-content-head {
  position:relative;
  top:auto;
  flex:0 0 auto;
  grid-template-columns:minmax(0,1fr) auto;
  margin:0;
  padding:14px 18px;
}
#settings-root .settings-content:not(.xmail-settings):not(.xreport-settings) .settings-content-head > div:first-child { min-width:0; }
#settings-root .settings-content:not(.xmail-settings):not(.xreport-settings) .settings-content-actions { display:flex;align-items:center;justify-content:flex-end;gap:8px; }
#settings-root .settings-content:not(.xmail-settings):not(.xreport-settings) .settings-section-body {
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:12px 2px 12px 0;
}
@media(max-width:980px) {
  #settings-root .settings-page { overflow:hidden; }
  #settings-root .settings-subnav { max-height:32%;min-height:0;overflow:auto; }
  #settings-root .settings-content:not(.xmail-settings):not(.xreport-settings) { flex:1 1 0;height:auto; }
}

/* Shared, permanently expanded settings navigation groups. */
.settings-subnav-group { min-width: 0; margin: 0 0 16px; }
.settings-subnav-group:last-child { margin-bottom: 0; }
.settings-subnav-group-title {
  display: block;
  margin: 0 8px 6px;
  color: var(--color-accent, #F28C18);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
.settings-subnav .settings-subnav-item {
  position: relative;
  display: flex;
  min-height: 30px;
  margin-bottom: 1px;
  padding: 5px 8px;
  font-size: 13px;
}
.settings-subnav .settings-subnav-item.active::before {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 0;
  width: 3px;
  background: var(--color-accent, #F28C18);
  pointer-events: none;
}
.settings-subnav .settings-subnav-item .material-icons { display: none; }


.settings-textdefaults-scroll { overflow-x:auto; }
#settingsTextDefaultsTable { min-width:620px; }
:root .settings-textdefaults-head, :root #settingsTextDefaultsTable .settings-textdefaults-row { display:grid; grid-template-columns:minmax(130px,1fr) minmax(180px,2fr) minmax(180px,2fr) 20px; column-gap:24px; row-gap:8px; min-width:620px; align-items:start; box-sizing:border-box; }
.settings-textdefaults-head { padding:10px 12px 10px 15px; color:var(--text-secondary,#6b7280); font-size:12px; font-weight:600; }
:root #settingsTextDefaultsTable .settings-textdefaults-row > span { display:block; min-width:0; white-space:normal; overflow-wrap:anywhere; line-height:1.5; }
:root #settingsTextDefaultsTable .settings-textdefaults-row > span:nth-child(3) { border-left:1px solid #e2e8f0; padding-left:16px; }
.settings-textdefaults-head > span:nth-child(3) { padding-left:17px; }


.dashboard-op-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:14px; }
.dashboard-op-total { display:flex; flex-direction:column; gap:5px; min-width:0; padding:12px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:4px; }
.dashboard-op-total > span { color:#475569; font-size:13px; overflow-wrap:anywhere; }
.dashboard-op-total > strong { color:#063f6c; font-size:22px; overflow-wrap:anywhere; }
.dashboard-op-total > small { color:#64748b; font-size:12px; }
.dashboard-op-total.is-overdue > strong { color:#b45309; }
.dashboard-op-heading { padding:0 14px 8px; font-size:13px; font-weight:600; color:#475569; }
:root .dashboard-op-row { display:grid; grid-template-columns:minmax(0,1fr) max-content; gap:14px; align-items:center; text-decoration:none; }
.dashboard-op-row .xcraft-list-title,.dashboard-op-row .xcraft-list-meta { overflow-wrap:anywhere; }
@media(max-width:500px) { .dashboard-op-summary { grid-template-columns:1fr; } :root .dashboard-op-row { grid-template-columns:1fr; gap:6px; } }

/* Ausgangsbuch: kompakter Kopf und PDF-Aktion als Textlink. */
#belegFinishLogPanel .beleg-finish-log-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
#belegFinishLogPanel .beleg-finish-log-header .address-single-section-title { margin: 0; }
#belegFinishLogPanel .beleg-finish-log-pdf {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 5px;
  padding: 2px 0;
  margin-top: 3px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #063f6c;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
#belegFinishLogPanel .beleg-finish-log-pdf .material-icons { font-size: 18px; }
#belegFinishLogPanel .beleg-finish-log-pdf:not(:disabled):hover { text-decoration: underline; }
#belegFinishLogPanel .beleg-finish-log-pdf:focus-visible { outline: 2px solid #063f6c; outline-offset: 3px; }
#belegFinishLogPanel .beleg-finish-log-pdf:disabled { color: #718096; cursor: default; }

.address-edit-overlay.beleg-log-pdf-overlay { display:flex; z-index:100012; }
.beleg-log-pdf-dialog { width:min(1200px,96vw); height:92vh; max-height:calc(100dvh - 32px); display:flex; flex-direction:column; }
.beleg-log-pdf-body { flex:1; min-height:0; overflow:hidden; display:flex; flex-direction:column; }
.beleg-log-pdf-body .xcraft-pdf-reader { flex:1; min-height:0; }
#belegFinishLogClose { flex:0 0 auto; }

/* Inhaltsbereich > Endsummen: eigenstaendiger Reiter im Layoutdialog */
.settings-expert-totals-group {
  padding: 12px 0;
  border-bottom: 1px solid #e2e8f0;
}
.settings-expert-totals-group > strong {
  display: block;
  margin-bottom: 10px;
  color: #063f6c;
  font-size: 13px;
}
.settings-expert-totals-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  gap: 12px;
  margin: 12px 0;
}
.settings-expert-totals-grid label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
}
.settings-expert-totals-grid input:not([type="checkbox"]),
.settings-expert-totals-grid select {
  min-height: 34px;
  width: 100%;
  box-sizing: border-box;
  padding: 5px 8px;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  font: inherit;
  color: #0f172a;
  background: #fff;
}
.settings-expert-totals-grid .settings-expert-totals-checkbox {
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
@media (max-width: 650px) {
  .settings-expert-totals-grid { grid-template-columns: 1fr; }
}

/* Manueller Seitenwechsel: ausschließlich in der editierbaren PDF.js-Vorschau.
   Kein Bestandteil des finalen PDF-Inhalts oder der Abschlussvorschau. */
.beleg-render-zone-position.beleg-render-zone-page-break {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border: 1px dashed rgba(6, 63, 108, .6);
  background: rgba(6, 63, 108, .055);
  color: #063f6c;
  cursor: pointer;
  z-index: 3;
  margin-left: 0;
  margin-right: 0;
  padding: 0 6px;
  min-height: 0;
}
.beleg-render-zone-position.beleg-render-zone-page-break::before {
  content: "Seitenwechsel";
  display: inline-block;
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(6, 63, 108, .24);
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  pointer-events: none;
}
.beleg-render-zone-position.beleg-render-zone-page-break:hover,
.beleg-render-zone-position.beleg-render-zone-page-break.is-selected {
  border-color: #063f6c;
  background: rgba(6, 63, 108, .13);
}
