body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:#f3f5f7;
  color:#17212b;
}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px;}
.main-wrap{padding-top:28px;padding-bottom:34px;}
.site-header{background:#fff;border-bottom:1px solid #d9e1e8;}
.site-header-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-top:20px;padding-bottom:18px;}
.eyebrow{color:#1588c1;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;}
h1{margin:0;font-size:34px;line-height:1.05;}
h2{margin:0 0 8px 0;font-size:30px;}
h3{margin:0 0 16px 0;font-size:24px;}
h4{margin:0;font-size:18px;}
.subtitle{margin:8px 0 0 0;color:#5e6875;font-size:15px;}
.topnav{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.topnav a{text-decoration:none;color:#114b6b;font-weight:600;padding:10px 14px;border-radius:10px;}
.topnav a:hover{background:#eef7fc;}
.card{background:#fff;border:1px solid #d9e1e8;border-radius:18px;padding:24px;margin:0 0 24px 0;}
.hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%);border:1px solid #d9e1e8;border-radius:18px;padding:28px 24px;margin-bottom:24px;}
.hero h2{margin-bottom:10px;}
.hero p{margin:0 0 10px 0;color:#4f5d6b;max-width:820px;}
.hero-kicker{color:#1588c1;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;}
.hero-actions{display:flex;align-items:center;}
.path-line{font-size:14px;}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;}
.section-note{margin:0;color:#5e6875;}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#1588c1;color:#fff;text-decoration:none;border:none;border-radius:12px;padding:11px 16px;cursor:pointer;font-size:15px;font-weight:600;}
.button.secondary{background:#eef4f8;color:#114b6b;}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;}
.form-grid label{display:flex;flex-direction:column;gap:8px;}
.form-grid label.full,.full{grid-column:1 / -1;}
.form-grid input,.form-grid textarea,.form-grid select{padding:12px 13px;border:1px solid #cfd8e1;border-radius:12px;font-size:15px;font-family:inherit;background:#fff;color:#17212b;}
.form-grid textarea{resize:vertical;min-height:110px;}
.form-actions{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap;}
.report-list{display:flex;flex-direction:column;gap:14px;}
.report-item{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #e3e9ee;border-radius:16px;padding:18px;background:#fbfdff;}
.report-main{display:grid;grid-template-columns:1.1fr 1.3fr auto;gap:18px;align-items:center;flex:1;}
.report-label{font-size:12px;color:#6b7682;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;}
.report-primary{font-size:17px;font-weight:600;color:#17212b;}
.report-secondary{font-size:14px;color:#5e6875;margin-top:4px;}
.report-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:190px;}
.meta-pill{display:inline-flex;align-items:center;justify-content:center;background:#eef5f9;color:#234a64;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;}
.meta-text{font-size:13px;color:#5e6875;text-align:right;}
.report-actions{display:flex;align-items:center;gap:10px;position:relative;}
.actions-menu{position:relative;}
.actions-menu summary{list-style:none;cursor:pointer;padding:11px 14px;border-radius:12px;background:#f2f4f7;color:#233240;font-weight:600;}
.actions-menu summary::-webkit-details-marker{display:none;}
.actions-dropdown{position:absolute;right:0;top:48px;min-width:180px;background:#fff;border:1px solid #d9e1e8;border-radius:12px;box-shadow:0 10px 30px rgba(19,33,46,.12);padding:8px;z-index:5;}
.actions-dropdown form{margin:0;}
.menu-button{width:100%;text-align:left;background:#fff;border:none;border-radius:8px;padding:10px 12px;font-size:14px;cursor:pointer;color:#17212b;}
.menu-button:hover{background:#f3f7fa;}
.menu-button.danger{color:#b42318;}
.menu-button.danger:hover{background:#fff1f0;}
.empty-state{text-align:center;padding:24px;background:#fbfdff;border:1px dashed #cfd8e1;border-radius:16px;}
.empty-state h4{margin:0 0 8px 0;}
.messages{margin-bottom:20px;}
.message{border-radius:12px;padding:12px 14px;margin-bottom:12px;}
.message.success{background:#eaf7ef;color:#225c33;}
.message.error{background:#fdecec;color:#8b1f1f;}
.badge{background:#eef5f9;color:#335;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:600;}
.meta-box{background:#f7fafc;border-radius:12px;padding:14px 16px;margin-bottom:18px;}
.helper-text,.section-note{color:#5e6875;}
.preview-box{margin-top:18px;border:1px solid #d9e1e8;border-radius:14px;padding:16px;background:#fbfdff;}
.preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.preview-box pre{white-space:pre-wrap;word-break:break-word;background:#f4f7fa;border-radius:10px;padding:14px;border:1px solid #e3e9ee;overflow:auto;font-family:inherit;font-size:14px;}
.audio-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px;}
.audio-status{font-size:14px;color:#5e6875;}
.wizard-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:18px;}
.wizard-step{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #d9e1e8;border-radius:14px;background:#fbfdff;}
.wizard-step.active{border-color:#1588c1;background:#eef7fc;}
.wizard-step.done{border-color:#b9d8e8;background:#f5fbfe;}
.wizard-step-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#eaf3f8;color:#114b6b;font-weight:700;font-size:13px;flex:0 0 auto;}
.wizard-step.active .wizard-step-number{background:#1588c1;color:#fff;}
.wizard-step-title{font-size:14px;font-weight:600;color:#233240;}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;}
.summary-box{border:1px solid #e3e9ee;border-radius:14px;padding:16px;background:#fbfdff;}
.summary-title{font-size:12px;color:#6b7682;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;}
.summary-value{font-size:17px;font-weight:600;}
.summary-small{font-size:14px;color:#5e6875;margin-top:4px;}
.form-block{margin-top:18px;}
@media (max-width:980px){.hero{flex-direction:column;}.report-item{flex-direction:column;align-items:stretch;}.report-main{grid-template-columns:1fr;}.report-meta{align-items:flex-start;min-width:0;}.meta-text{text-align:left;}.report-actions{justify-content:flex-start;}.wizard-steps{grid-template-columns:1fr;}.summary-grid{grid-template-columns:1fr;}}
@media (max-width:760px){.site-header-inner{flex-direction:column;}.form-grid{grid-template-columns:1fr;}}


/* v13.3 additions */
.combined-box{
  border:1px solid #d9e1e8;
  border-radius:14px;
  padding:16px;
  background:#fbfdff;
  overflow:hidden;
}
.combined-title{
  font-size:14px;
  font-weight:700;
  color:#233240;
  margin-bottom:8px;
}
.form-grid input,
.form-grid textarea,
.form-grid select,
.combined-box textarea{
  box-sizing:border-box;
  max-width:100%;
}
.combined-box textarea{
  width:100%;
  min-height:160px;
}
.field-hint{
  display:block;
  font-size:13px;
  color:#5e6875;
  margin-top:4px;
}
.areas-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px;
  margin:0 0 18px 0;
}
.area-card{
  border:1px solid #e3e9ee;
  border-radius:14px;
  padding:14px;
  background:#fbfdff;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.area-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(19,33,46,.08);
  border-color:#c7d9e5;
}
.area-title{
  font-size:16px;
  font-weight:700;
  margin-bottom:4px;
}
.area-subtitle{
  color:#5e6875;
  font-size:14px;
  margin-bottom:4px;
}
.area-stats{
  color:#234a64;
  font-size:13px;
  margin-top:8px;
}
.series-box{
  border:1px solid #e3e9ee;
  border-radius:12px;
  padding:14px;
  background:#fbfdff;
}
.series-title{
  font-size:14px;
  font-weight:700;
  margin-bottom:10px;
}
.series-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.accordion-card{
  border:1px solid #d9e1e8;
  border-radius:16px;
  background:#fff;
  margin-bottom:14px;
  overflow:hidden;
}
.accordion-card summary{
  list-style:none;
  cursor:pointer;
  padding:18px 20px;
  display:flex;
  flex-direction:column;
  gap:4px;
  background:linear-gradient(180deg,#fbfdff 0%,#f7fafc 100%);
  transition:background .18s ease;
}
.accordion-card summary:hover{
  background:linear-gradient(180deg,#f6fbff 0%,#eef6fb 100%);
}
.accordion-card summary::-webkit-details-marker{
  display:none;
}
.accordion-card[open] summary{
  border-bottom:1px solid #e3e9ee;
}
.accordion-card summary span:first-child{
  font-size:16px;
  font-weight:700;
  color:#17212b;
}
.accordion-meta{
  font-size:13px;
  color:#5e6875;
}
.accordion-body{
  padding:18px 20px 20px 20px;
  background:#fff;
}
.accordion-empty{
  padding:6px 0;
  color:#5e6875;
}
.empty-state.compact{
  padding:18px;
}
@media (max-width:1100px){
  .series-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:700px){
  .series-grid{
    grid-template-columns:1fr;
  }
}
@media (min-width:1200px){
  .wrap{
    max-width:1320px;
  }
}

.header-logo-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.header-slogan {
  font-size: 12px;
  color: #5e6875;
  margin-top: 3px;
  letter-spacing: 0.02em;
}
.site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.report-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin-bottom: 14px;
}
.report-table th {
  text-align: left;
  padding: 8px 10px;
  background: #f3f7fa;
  border-bottom: 1px solid #d9e1e8;
  font-size: 12px;
  color: #6b7682;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.report-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #eef2f6;
  vertical-align: top;
}
.report-table tr:last-child td {
  border-bottom: none;
}
.area-detail-card {
  border: 1px solid #d9e1e8;
  border-radius: 16px;
  background: #fff;
  margin-bottom: 20px;
  overflow: hidden;
}
.area-detail-head {
  padding: 16px 20px;
  background: linear-gradient(180deg,#fbfdff 0%,#f7fafc 100%);
  border-bottom: 1px solid #e3e9ee;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.area-detail-head::after {
  content: '▶';
  font-size: 11px;
  color: #9aacbb;
  flex-shrink: 0;
  margin-left: 12px;
  margin-top: 4px;
  transition: transform 0.18s ease;
}
.area-detail-card.room-open .area-detail-head::after {
  transform: rotate(90deg);
}
/* Kein Rahmen am Kopf wenn Raum geschlossen */
.area-detail-card:not(.room-open) .area-detail-head {
  border-bottom-color: transparent;
}
.area-detail-body {
  padding: 18px 20px 20px 20px;
}
.meas-card {
  border: 1px solid #e3e9ee;
  border-radius: 12px;
  background: #fbfdff;
  margin-bottom: 14px;
  overflow: hidden;
}
.meas-card-head {
  padding: 12px 16px;
  background: #f3f7fa;
  border-bottom: 1px solid #e3e9ee;
}
.meas-card-body {
  padding: 14px 16px;
}
.section-divider {
  border: none;
  border-top: 1px solid #e3e9ee;
  margin: 18px 0;
}

/* ── Nav: aktiver Link ──────────────────────────────────── */
.topnav a.active {
  background: #eef7fc;
  color: #1588c1;
}

/* ── Nav Dropdown ───────────────────────────────────────── */
.nav-dropdown {
  position: relative;
}
.nav-dropdown-trigger {
  background: none;
  border: none;
  cursor: pointer;
  color: #114b6b;
  font-weight: 600;
  font-size: 15px;
  font-family: inherit;
  padding: 10px 14px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.nav-dropdown-trigger:hover,
.nav-dropdown-trigger.active {
  background: #eef7fc;
}
.dropdown-arrow {
  font-size: 11px;
  line-height: 1;
}
.nav-dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 220px;
  background: #fff;
  border: 1px solid #d9e1e8;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(19,33,46,.12);
  padding: 6px;
  z-index: 200;
}
.nav-dropdown-item {
  display: block;
  padding: 10px 12px;
  border-radius: 6px;
  text-decoration: none;
  color: #17212b;
  font-size: 14px;
  font-weight: 500;
}
.nav-dropdown-item + .nav-dropdown-item {
  border-top: 1px solid #eef2f6;
}
.nav-dropdown-item:hover {
  background: #f0f6fb;
}

/* User-Trigger rechts ausrichten */
.nav-user-trigger { margin-left: auto; }
@media (max-width: 768px) { .nav-user-trigger { margin-left: 0; } }

/* ── Hamburger (mobile) ─────────────────────────────────── */
.hamburger-btn {
  display: none;
  background: none;
  border: none;
  font-size: 22px;
  cursor: pointer;
  padding: 6px 10px;
  color: #114b6b;
  line-height: 1;
}
@media (max-width: 768px) {
  .hamburger-btn { display: block; }
  .site-header-inner { flex-wrap: wrap; align-items: center; }
  .topnav {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 4px;
    padding: 8px 0 4px 0;
  }
  .topnav.nav-open { display: flex; }
  .nav-dropdown-menu { position: static; box-shadow: none; border: none; padding: 0 0 0 12px; }
}

/* ── Status-Badges ──────────────────────────────────────── */
.status-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
}
.status-entwurf       { background: #eef0f3; color: #8a9bb0; }
.status-in-bearbeitung{ background: #e3f2fd; color: #1588c1; }
.status-fertig        { background: #e8f5e9; color: #2e7d32; }
.status-archiviert    { background: #fff3e0; color: #e65100; }

/* ── Suchfeld ───────────────────────────────────────────── */
.search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 14px;
}
.search-icon {
  position: absolute;
  left: 13px;
  font-size: 15px;
  pointer-events: none;
  line-height: 1;
}
.search-input {
  width: 100%;
  box-sizing: border-box;
  padding: 11px 40px 11px 38px;
  border: 1px solid #cfd8e1;
  border-radius: 12px;
  font-size: 15px;
  font-family: inherit;
  background: #fff;
  color: #17212b;
}
.search-input:focus {
  outline: none;
  border-color: #1588c1;
  box-shadow: 0 0 0 3px rgba(21,136,193,.1);
}
.search-clear {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 15px;
  color: #8a9bb0;
  padding: 4px 6px;
  line-height: 1;
  border-radius: 6px;
}
.search-clear:hover { background: #f0f2f5; color: #17212b; }

/* ── Filter-Bar (Tabs + Archiv-Toggle) ──────────────────── */
.filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.archiv-toggle-btn {
  padding: 5px 14px;
  border: 1px solid #d9e1e8;
  border-radius: 20px;
  background: #fff;
  color: #8a9bb0;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
}
.archiv-toggle-btn:hover { background: #fff8f5; border-color: #e5bba6; color: #c55a1e; }
.archiv-toggle-btn.active {
  background: #fff3e0;
  border-color: #e65100;
  color: #e65100;
}

/* ── Filter-Tabs ────────────────────────────────────────── */
.filter-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.filter-tab {
  padding: 5px 14px;
  border: 1px solid #d9e1e8;
  border-radius: 20px;
  background: #fff;
  color: #5e6875;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}
.filter-tab:hover:not(.active) {
  background: #f0f6fb;
  border-color: #c0d3e0;
}
.filter-tab.active {
  background: #1588c1;
  color: #fff;
  border-color: #1588c1;
}

/* Auftraggeber-Dropdown: accordion-card overflow überschreiben */
#section-auftraggeber {
  overflow: visible;
}
#section-auftraggeber .accordion-body {
  overflow: visible;
}
#ag-dropdown {
  z-index: 9999;
}
