*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f7fb;color:#102344}.app-shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0f2748,#0a1d36);padding:24px 16px;color:#fff}.brand{display:flex;align-items:center;gap:10px;margin:0 6px 28px}.brand-mark{width:36px;height:36px;border:1px solid #26b9d8;border-radius:50%;display:grid;place-items:center;color:#26b9d8;font-weight:800}.brand strong{display:block;letter-spacing:.08em}.brand small{display:block;color:#9ec3d5;font-size:10px;letter-spacing:.2em}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav a{color:#d9e6ef;text-decoration:none;padding:10px 12px;border-radius:7px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#174b83;color:#fff}.main{padding:0 28px 28px}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between}.topbar h1{font-size:24px;margin:0 0 3px}.muted{color:#718096;font-size:12px}.tenant{display:flex;align-items:center;gap:10px;font-size:12px}.tenant select,.filters select{border:1px solid #d9e2ec;border-radius:7px;background:#fff;padding:9px 10px;color:#102344}.avatar{width:34px;height:34px;border-radius:50%;background:#102344;color:#fff;display:grid;place-items:center;font-weight:700}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:16px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 2px rgba(16,35,68,.04);padding:16px}.kpi span{display:block;font-size:12px;color:#536174}.kpi strong{display:block;font-size:30px;margin:8px 0 2px}.kpi small{color:#6b7280}.kpi.danger strong,.kpi.danger small{color:#c0392b}.kpi.warning strong{color:#d97706}.grid-2{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-head h2{font-size:15px;margin:0}.card-head a{font-size:12px;color:#1f67ba;text-decoration:none}table{width:100%;border-collapse:collapse;font-size:12px}th{color:#607086;text-align:left;font-weight:600;background:#f7f9fc;padding:10px;border-bottom:1px solid #e5eaf1}td{padding:10px;border-bottom:1px solid #edf1f5;vertical-align:middle}.root td{background:#fbfcfe}.indent{padding-left:30px}.pill{display:inline-block;padding:3px 7px;border-radius:999px;font-size:10px;white-space:nowrap}.risk-high,.severity-critical,.severity-serious{background:#fee2e2;color:#b42318}.risk-medium,.severity-material{background:#ffedd5;color:#b45309}.risk-low,.severity-minor{background:#dcfce7;color:#237a57}.severity-notable{background:#dbeafe;color:#1d4ed8}.blue{background:#dbeafe;color:#1d4ed8}.green{background:#dcfce7;color:#237a57}.gray{background:#e5e7eb;color:#475569}.light{background:#f3f4f6;color:#94a3b8}.button{display:inline-block;background:#1765b5;color:#fff!important;border:0;border-radius:7px;padding:9px 12px;text-decoration:none;font-size:12px;cursor:pointer}.filters{display:flex;gap:8px}@media(max-width:1100px){.app-shell{grid-template-columns:80px 1fr}.sidebar .brand div,.sidebar nav a{font-size:0}.sidebar nav a:before{content:"•";font-size:20px}.kpis{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}
.login-body{min-height:100vh;display:grid;place-items:center;background:#f4f7fb}.login-card{width:min(420px,92vw);background:#fff;border:1px solid #dde6ef;border-radius:14px;padding:30px;box-shadow:0 18px 45px rgba(16,35,68,.12)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}.login-card label{display:block;font-size:12px;font-weight:700;margin:16px 0 6px}.login-card input{width:100%;padding:11px;border:1px solid #d7e0ea;border-radius:7px}.full{width:100%;margin-top:20px}.alert{padding:10px;background:#fee2e2;color:#991b1b;border-radius:7px}.workspace-summary{display:grid;grid-template-columns:1.2fr 1.4fr .8fr;gap:14px;margin-bottom:14px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7790aa;font-weight:800}.workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.inline-editor{margin-top:14px;border-top:1px solid #edf1f5;padding-top:12px}.inline-editor summary{cursor:pointer;color:#1765b5;font-size:12px;font-weight:700}.inline-editor p,.form-card p,.form-layout form p{display:flex;flex-direction:column;gap:5px;font-size:12px}.inline-editor input,.inline-editor textarea,.inline-editor select,.form-card input,.form-card textarea,.form-card select,.form-layout input,.form-layout textarea,.form-layout select{width:100%;border:1px solid #d9e2ec;border-radius:7px;padding:9px}.ghost{background:#eef4fb!important;color:#1765b5!important}.warning-btn{background:#fff7ed!important;color:#b45309!important}.actions{display:flex;gap:9px;margin-top:16px}.form-layout{display:grid;grid-template-columns:1fr 280px;gap:14px}.callout{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:11px;border-radius:7px;font-size:12px;margin-bottom:14px}.timeline-row{display:grid;grid-template-columns:130px 180px 120px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid #edf1f5;font-size:11px}@media(max-width:1000px){.workspace-grid,.workspace-summary,.form-layout{grid-template-columns:1fr}}

/* MVP 0.2.1 UI-Polishing */
.login-body{
  margin:0; min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 20% 10%,#e8f2ff 0,#f4f7fb 35%,#eef2f7 100%);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.login-card{
  box-sizing:border-box; width:420px; max-width:calc(100vw - 32px);
  padding:38px 36px; background:#fff; border:1px solid #dbe4ee; border-radius:18px;
  box-shadow:0 24px 70px rgba(15,35,65,.15);
}
.login-card h1{font-size:25px;margin:26px 0 4px;color:#102344}
.login-brand{justify-content:center;text-align:left}
.login-brand .brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#102344;color:white;font-weight:800;font-size:22px}
.login-card .button{min-height:43px}
.step-actions{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.finding-link{font-size:11px;font-weight:700;color:#b45309}
.step-findings{display:flex;flex-direction:column;gap:3px;margin-top:7px;padding-top:7px;border-top:1px solid #edf1f5}
.step-findings a{font-size:10px;color:#475569}
.source-card{margin-bottom:14px;border-left:4px solid #1765b5}
.source-card p{margin-bottom:0}


/* MVP 0.2.2 – Formulare, Anforderungsliste, Aktivitätsprotokoll, Login */
.login-body{
  margin:0!important;
  min-height:100vh!important;
  width:100%;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px;
}
.login-card{
  margin:auto!important;
  flex:0 0 auto;
}

/* Einheitliches Formularraster */
.aligned-form{
  margin-top:14px;
}
.aligned-form .form-row{
  display:grid;
  grid-template-columns:230px minmax(0, 1fr);
  gap:18px;
  align-items:start;
  padding:7px 0;
}
.aligned-form .form-row > label{
  padding-top:9px;
  margin:0;
  font-size:12px;
  line-height:1.35;
  font-weight:650;
  color:#344861;
}
.aligned-form .form-control{
  min-width:0;
}
.aligned-form input,
.aligned-form textarea,
.aligned-form select{
  width:100%;
  max-width:100%;
  border:1px solid #d9e2ec;
  border-radius:7px;
  padding:9px 10px;
  font:inherit;
  color:#102344;
  background:#fff;
}
.aligned-form textarea{
  min-height:82px;
  resize:vertical;
}
.aligned-form .form-actions-row{
  padding-top:12px;
}
.field-error{
  margin-top:4px;
  font-size:10px;
  color:#b42318;
}
.form-card-wide{
  max-width:980px;
}
.form-card-wide h2{
  margin:4px 0 0;
  font-size:18px;
}

/* Anforderungsliste */
.request-table{
  table-layout:auto;
}
.request-table th,
.request-table td{
  vertical-align:top;
}
.request-table th:nth-child(1),
.request-table td:nth-child(1){
  width:50px;
}
.request-table th:nth-child(4),
.request-table td:nth-child(4){
  width:135px;
}
.request-table th:nth-child(5),
.request-table th:nth-child(6),
.request-table td:nth-child(5),
.request-table td:nth-child(6){
  width:92px;
  white-space:nowrap;
}
.request-table th:last-child,
.request-table td:last-child{
  width:80px;
}
.request-comment{
  max-width:260px;
  white-space:normal;
  color:#526477;
}
.table-action{
  font-size:11px;
  font-weight:700;
  color:#1765b5;
  text-decoration:none;
}
.request-status{
  font-weight:650;
}
.status-open{background:#f1f5f9;color:#475569}
.status-requested{background:#dbeafe;color:#1d4ed8}
.status-partial{background:#ffedd5;color:#b45309}
.status-received{background:#dcfce7;color:#237a57}
.status-in_review{background:#e0e7ff;color:#4338ca}
.status-follow_up{background:#fee2e2;color:#b42318}
.status-reviewed{background:#ccfbf1;color:#0f766e}
.status-not_required{background:#e5e7eb;color:#64748b}

/* Aktivitätsprotokoll bewusst zurückhaltend */
.activity-card{
  padding-top:14px;
}
.activity-card .card-head{
  margin-bottom:5px;
}
.activity-card .card-head h2{
  font-size:13px;
  color:#344861;
}
.timeline-row{
  display:grid;
  grid-template-columns:112px 170px 105px minmax(0,1fr);
  gap:8px;
  padding:5px 0;
  border-bottom:1px solid #f0f3f7;
  font-size:9.5px!important;
  line-height:1.35;
  color:#718096;
}
.timeline-time{
  color:#94a3b8;
  font-variant-numeric:tabular-nums;
}
.timeline-event{
  font-weight:650;
  color:#526477;
}
.timeline-user{
  color:#7c8da0;
}
.timeline-detail{
  color:#718096;
  overflow-wrap:anywhere;
}

@media(max-width:900px){
  .aligned-form .form-row{
    grid-template-columns:1fr;
    gap:5px;
  }
  .aligned-form .form-row > label{
    padding-top:0;
  }
  .timeline-row{
    grid-template-columns:105px 1fr;
  }
  .timeline-user,.timeline-detail{
    grid-column:2;
  }
}


/* MVP 0.3 – Dokumente, Prüfschritt-Referenzen und responsives Layout */

/* Karten reagieren auf verfügbare Bildschirmbreite */
.kpis{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}
.workspace-summary{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.workspace-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(520px,100%),1fr));
}
.grid-2{
  grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));
}
@media(max-width:700px){
  .main{padding:0 14px 20px}
  .topbar{height:auto;min-height:76px;gap:12px;align-items:flex-start;padding:18px 0}
  .kpis,.workspace-summary,.workspace-grid,.grid-2{grid-template-columns:1fr}
}

/* Dokumente */
.document-page-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:14px;
}
.document-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.document-list.compact{
  margin-top:7px;
  gap:3px;
}
.document-list.compact a{
  font-size:10.5px;
  color:#1765b5;
  text-decoration:none;
}
.document-row{
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  padding:10px 0;
  border-bottom:1px solid #edf1f5;
}
.document-name{
  color:#1765b5;
  font-weight:700;
  text-decoration:none;
  font-size:12px;
}
.field-help{
  color:#718096;
  font-size:10px;
  margin-top:4px;
  line-height:1.4;
}
.row-actions{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.step-title-link{
  color:#102344;
  text-decoration:none;
}
.step-title-link:hover{
  color:#1765b5;
}
.step-request-refs{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-top:6px;
}
.step-request-refs span{
  font-size:10px;
  color:#718096;
}
.program-step-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:14px;
}
.referenced-request{
  padding:10px 0;
  border-bottom:1px solid #edf1f5;
  font-size:11px;
}
.referenced-request > b{
  display:block;
  margin-bottom:5px;
}
.referenced-request .pill{
  margin-bottom:5px;
}
.request-reference-row ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:5px;
}
.request-reference-row li label{
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:11px;
  font-weight:500;
}
.request-reference-row input[type="checkbox"]{
  width:auto;
  margin-top:2px;
}
.workpaper-documents{
  border-bottom:1px solid #edf1f5;
  padding-bottom:12px;
  margin-bottom:12px;
}
.workpaper-documents .referenced-request a{
  display:block;
  margin-top:3px;
  color:#1765b5;
  text-decoration:none;
}
@media(max-width:1050px){
  .document-page-grid,.program-step-layout{
    grid-template-columns:1fr;
  }
}


/* MVP 0.3.3 – Tabellen- und Aktions-UX */
.card{min-width:0}
.table-responsive{
  width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;
}
.table-responsive table{width:100%;min-width:880px}
.request-actions{
  min-width:126px;position:sticky;right:0;background:#fff;
  box-shadow:-8px 0 12px -12px rgba(16,35,68,.45);z-index:2;
}
.actions-head{
  min-width:126px;position:sticky;right:0;background:#f6f8fb;z-index:3;
}
.mini-action{
  display:inline-flex;align-items:center;justify-content:center;width:100%;
  box-sizing:border-box;padding:6px 8px;border:1px solid #d8e1ec;
  border-radius:7px;background:#fff;color:#17345d;font-size:10.5px;
  font-weight:700;text-decoration:none;white-space:nowrap;
}
.mini-action:hover{border-color:#9db8d6;background:#f7faff}
.mini-action.primary{color:#0e5fae;border-color:#bdd4eb;background:#eef6ff}
.step-actions{display:flex;flex-direction:column;gap:5px;min-width:130px}
@media(max-width:700px){
  .table-responsive table{min-width:760px}
  .request-actions,.actions-head{min-width:116px}
}

.detail-toolbar{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.request-context-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;margin-bottom:14px;background:#fff;border:1px solid #dce4ee;border-left:4px solid #2374c6;border-radius:12px}
.request-context-card h2{margin:4px 0 0;font-size:20px}.request-context-meta{display:flex;gap:18px;flex-wrap:wrap;color:#5e7088;font-size:11px}
.document-open-link{display:inline-block;margin-top:5px;color:#1765b5;font-weight:700;text-decoration:none}.form-control select[multiple]{min-height:190px;padding:7px}
.finding-risk-block{margin:18px 0;padding:14px 0;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5}
@media(max-width:700px){.detail-toolbar{justify-content:stretch}.detail-toolbar .button{flex:1 1 100%}.request-context-card{align-items:flex-start;flex-direction:column}}


/* MVP 0.4.1 */
.step-findings-panel{margin-top:18px;padding-top:16px;border-top:1px solid #e6ebf1}
.step-finding-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}
.step-finding-link{color:#17345d;font-weight:700;text-decoration:none;font-size:11px}
.step-finding-link:hover{color:#1765b5}
.full-width-action{display:flex;width:100%;box-sizing:border-box;justify-content:center;margin-top:12px}
.origin-main-link{color:#1765b5;text-decoration:none}
.origin-main-link:hover{text-decoration:underline}


/* MVP 0.4.2 – klare Trennung + Tenant-Isolation-UX */
.step-findings-card{
  margin-top:14px;
}
.step-findings-card .eyebrow{
  display:block;
  margin-bottom:8px;
}
.step-findings-card .step-finding-row:last-of-type{
  border-bottom:0;
}


/* MVP 0.4.3 – Dashboard-Links */
.dashboard-main-link{
  color:inherit;
  text-decoration:none;
  display:inline-block;
}
.dashboard-main-link:hover{
  color:#1765b5;
  text-decoration:underline;
}

/* MVP 0.5 */
.execution-card{margin:14px 0}.workpaper-context{margin-bottom:14px}
.workpaper-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.workpaper-context-grid div{display:flex;flex-direction:column;gap:4px}
.evidence-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.evidence-link{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #e1e7ef;border-radius:10px;text-decoration:none;color:inherit}
.evidence-link:hover{border-color:#1765b5;background:#f8fbff}.evidence-link span{font-size:11px;color:#667085}
.workpaper-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.workpaper-field{display:flex;flex-direction:column;gap:7px}.workpaper-field label{font-weight:700;color:#17345d}
.workpaper-field-objective,.workpaper-field-procedure,.workpaper-field-criterion,.workpaper-field-performed_work,.workpaper-field-audit_result,.workpaper-field-conclusion,.workpaper-field-review_comment{grid-column:1/-1}
.workpaper-field textarea,.workpaper-field input,.workpaper-field select{width:100%;box-sizing:border-box}
.workpaper-savebar{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:8px;border-top:1px solid #edf1f5}
.progress-cell{min-width:155px}.progress-track{height:7px;border-radius:999px;background:#e8edf3;overflow:hidden;margin-bottom:5px}
.progress-track span{display:block;height:100%;background:#1765b5;border-radius:999px}
@media(max-width:800px){.workpaper-form,.workpaper-context-grid{grid-template-columns:1fr}.workpaper-field{grid-column:1!important}}

/* MVP 0.5.1 */
.kpis-7{grid-template-columns:repeat(7,minmax(0,1fr))}.kpi-link{text-decoration:none;color:inherit}.kpi-link:hover{box-shadow:0 8px 24px rgba(13,47,87,.10)}
.evidence-compact-card{padding-top:14px;padding-bottom:14px}.evidence-compact-card h3{font-size:15px;margin:0}.evidence-compact-list{display:flex;flex-direction:column;gap:5px}
.evidence-compact-link{display:flex;align-items:center;gap:12px;padding:7px 9px;border:1px solid #e2e8f0;border-radius:7px;text-decoration:none;color:inherit;font-size:12px}.evidence-compact-link span{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42%}.evidence-compact-link small{font-size:10.5px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.evidence-compact-link:hover{background:#f8fbff;border-color:#b9d5f0}
.overdue-row{background:#fff5f4}.overdue-row td:first-child{border-left:3px solid #c83b2d}.overdue-card{border-color:#e6aaa3!important;background:#fff7f6}.overdue-badge{display:inline-block;margin-top:4px;padding:3px 7px;border-radius:999px;background:#fee4e2;color:#b42318;font-size:11px;font-weight:750}.overdue-alert{margin-bottom:14px;padding:12px 14px;border:1px solid #e6aaa3;border-radius:9px;background:#fff1f0;color:#9b271d}.evidence-file-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #edf1f5}.dashboard-overdue-actions{margin-top:16px}
@media(max-width:1500px){.kpis-7{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px){.kpis-7{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-compact-link{align-items:flex-start;flex-direction:column}.evidence-compact-link span{max-width:100%}}

/* MVP 0.5.1.1 – Anforderung ergänzen im Kartenbereich */
.request-inline-editor{margin-top:12px;padding-top:10px;border-top:1px solid #edf1f5}


/* MVP 0.5.1.2 – Dashboard vollständig verlinkt */
.kpi-link{display:block;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.kpi-link:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(13,47,87,.12);border-color:#bfd0e3}
#overdue-actions{scroll-margin-top:18px}


/* MVP 0.6 – zentrales Follow-up */
.followup-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.followup-filters{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;align-items:center}
.followup-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.extension-badge{display:inline-block;margin-top:4px;padding:3px 7px;border-radius:999px;background:#fff1cc;color:#7a5900;font-size:10.5px;font-weight:700}
.extension-alert{margin:10px 0 14px;padding:12px;border:1px solid #efd889;border-radius:9px;background:#fffbeb}
.review-history{margin:0 0 14px;padding:12px;border-left:3px solid #1765b5;background:#f7fbff}
@media(max-width:1200px){.followup-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.followup-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.followup-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.followup-filters,.followup-kpis,.followup-summary{grid-template-columns:1fr}}


/* MVP 0.7 – Prüfungsabschluss & Reporting */
.report-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.report-check{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:750}
.report-check.ok{background:#e8f7ee;color:#176b39}.report-check.open{background:#fff0ef;color:#a12c22}
.report-editor-grid{align-items:start}.report-workflow-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:16px;padding-top:12px;border-top:1px solid #edf1f5}
.report-meta{display:grid;grid-template-columns:150px 1fr;gap:8px 12px}.report-meta dt{font-weight:700;color:#17345d}.report-meta dd{margin:0}
.report-finding-mini{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f5}
.report-paper{max-width:980px;margin:0 auto;background:white;padding:52px 62px;box-shadow:0 10px 35px rgba(0,0,0,.08);color:#1a2433}
.report-cover{text-align:center;padding:35px 0 55px;border-bottom:2px solid #17345d;margin-bottom:32px}.report-brand{font-size:24px;font-weight:800;letter-spacing:.08em;color:#17345d}.report-brand span{font-weight:500}.report-cover h1{font-size:31px;margin:28px 0 8px}.report-cover h2{font-size:19px;font-weight:600;margin:0}.report-cover-meta{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:22px;font-size:12px;color:#667085}
.report-paper section{margin:28px 0}.report-paper section>h2{font-size:19px;border-bottom:1px solid #cfd8e3;padding-bottom:7px}.report-rating{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #d7e0ea;border-radius:9px;background:#f8fafc;margin:10px 0 16px}.report-rating strong{font-size:28px;color:#17345d}.report-rating span{font-weight:700}
.report-finding{margin:22px 0 30px;page-break-inside:avoid}.report-finding-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.report-finding-head h3{margin:0}
.report-table{width:100%;border-collapse:collapse;margin:12px 0}.report-table th,.report-table td{border:1px solid #d9e0e8;padding:8px;vertical-align:top;text-align:left}.report-table th{background:#f4f7fa}.report-table.compact th{width:190px}
@media(max-width:1000px){.report-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-paper{padding:30px 26px}.report-finding-mini{grid-template-columns:1fr}}
@media print{
  .sidebar,.topbar,.no-print{display:none!important}.app-shell{display:block}.main{padding:0!important;margin:0!important}.report-paper{box-shadow:none;max-width:none;padding:0;margin:0}.report-paper section{break-inside:auto}.report-finding{break-inside:avoid}
}


/* MVP 0.7.1 – saubere PDF-Druckansicht */
.report-preview-body{margin:0;background:#eef2f6;color:#1a2433}
.report-preview-shell{padding:22px}
.report-preview-toolbar{max-width:980px;margin:0 auto 14px}
@media print{
  @page{margin:16mm 14mm}
  html,body.report-preview-body{margin:0!important;padding:0!important;background:#fff!important}
  .report-preview-shell{padding:0!important;margin:0!important}
  .report-preview-toolbar,.no-print{display:none!important}
  .report-preview-body .report-paper{display:block!important;max-width:none!important;width:auto!important;margin:0!important;padding:0!important;box-shadow:none!important;border:0!important}
}


/* MVP 0.8 – Quartals- und Jahresreporting */
.management-report-create{display:grid;grid-template-columns:minmax(180px,1fr) 130px 110px auto;gap:10px;align-items:center}
.management-report-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.management-report-grid{align-items:start}
.severity-summary{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 16px}
.management-report-summary-row{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 16px}
.management-report-summary-row span{padding:9px 12px;background:#f5f8fb;border:1px solid #dbe3eb;border-radius:8px}
.management-report-summary-row b{font-size:18px;color:#17345d;margin-right:4px}
@media(max-width:1000px){.management-report-create{grid-template-columns:1fr 1fr}.management-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.management-report-create,.management-report-kpis{grid-template-columns:1fr}}


/* MVP 0.8.5 – dynamischer Datenstand & Entwurf löschen */
.inline-delete-form{display:inline-flex;margin:0}
.danger-button{background:#fff;border:1px solid #d92d20;color:#b42318}
.danger-button:hover{background:#fff4f2}
.report-data-status{margin:0 0 14px;padding:9px 12px;border:1px solid #dbe3eb;border-radius:8px;background:#f8fafc;color:#475467;font-size:12px}


/* MVP 0.8.8 – Audit Universe & Prüfungsplan bearbeiten */
.planning-table .plan-cell{padding:5px}
.plan-cell-link{display:flex;min-width:105px;min-height:72px;padding:8px;border:1px solid transparent;border-radius:8px;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;text-decoration:none}
.plan-cell-link:hover{background:#f7faff;border-color:#c8d7e7}
.plan-cell-link small{color:#475467}
.plan-edit-hint{font-size:10px;color:#1765b5;font-weight:700;opacity:.75}
.plan-edit-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
@media(max-width:900px){.plan-edit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* MVP 0.8.8.2 – Kopplung Standardaufwand / Jahresplanung */
.plan-source{font-size:9.5px;font-weight:700;padding:2px 5px;border-radius:999px}
.plan-source.standard{background:#eef4fb;color:#315b84}
.plan-source.manual{background:#fff4e5;color:#8a5200}


/* MVP 0.8.9 – Prüfungsverschiebung */
.plan-shift{font-size:10px;font-weight:800;color:#8a5200}
.plan-shift.incoming{color:#1765b5}
.pill.warning{background:#fff1cc;color:#7a5900}


/* MVP 0.8.9.1 – eindeutige Follow-up-/Statusfilter-Logik */
.filter-context-note{
  margin-top:12px;
  padding:10px 12px;
  border-radius:8px;
  background:#f5f8fc;
  border:1px solid #dbe5ef;
  color:#344054;
  font-size:13px;
}


/* MVP 0.9.0 – Plantermine & Planabweichungsanalyse */
.plan-dates{
  font-size:10px;
  font-weight:700;
  color:#344054;
  white-space:nowrap;
}


/* MVP 0.9.1 – Dashboard: Prüfungsplan als echte Soll-Sicht */
.dashboard-section{margin-bottom:24px}
.dashboard-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 12px}
.dashboard-section-head h2{margin:2px 0 0}
.dashboard-plan-card{margin-top:12px}
.dashboard-plan-progress{min-width:180px;text-align:right}
.dashboard-plan-progress .progress-track{margin-top:6px}
.dashboard-shift{font-size:11px;font-weight:800;color:#8a5200;margin-top:4px}
.dashboard-deviation{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:2px 0}
.dashboard-deviation small{white-space:nowrap;color:#667085}
.plan-deviation-row td:first-child{border-left:3px solid #e7b54b}
.table-scroll{overflow-x:auto}
@media(max-width:1000px){
  .dashboard-section-head{align-items:flex-start;flex-direction:column}
  .dashboard-plan-progress{min-width:0;width:100%;text-align:left}
}


/* MVP 0.9.2 – Excel-Downloads für zentrale Tabellen */
.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.excel-button{white-space:nowrap}


/* MVP 0.9.3 – Audit-Universe Excel-Import */
.import-safety-note{
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid #c8d7e7;
  background:#f5f8fc;
  border-radius:9px;
  color:#344054;
}
.import-error-card{border-color:#f0b8b8}
.import-errors{margin:8px 0 0;padding-left:22px;color:#8f1d1d}
.import-errors li{margin:5px 0}
.import-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0 0 16px;
}
.import-summary-grid>div{
  padding:12px 14px;
  border:1px solid #e1e7ef;
  border-radius:9px;
  background:#f9fbfd;
}
.import-summary-grid span{display:block;color:#667085;font-size:12px}
.import-summary-grid strong{display:block;margin-top:3px;font-size:22px;color:#102a4c}
.import-confirm-form{display:flex;gap:10px;margin-top:18px;align-items:center}
.table-scroll{overflow-x:auto}
@media(max-width:800px){.import-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* MVP 0.9.4 – Mandantenanlage / Onboarding */
.current-tenant-badge{
  display:inline-block;
  margin-top:4px;
  padding:2px 6px;
  border-radius:999px;
  background:#e9f5ee;
  color:#276749;
  font-size:10px;
  font-weight:700;
}
.tenant-onboarding-note{
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid #c8d7e7;
  background:#f5f8fc;
  border-radius:9px;
  color:#344054;
}
.setup-explanation-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.setup-explanation-grid>div{
  padding:14px;
  border:1px solid #e1e7ef;
  border-radius:9px;
  background:#f9fbfd;
}
.setup-explanation-grid p{margin:6px 0 0;color:#667085}
.tenant-setup-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.tenant-setup-kpis>div{
  padding:14px;
  border:1px solid #e1e7ef;
  border-radius:9px;
  background:#f9fbfd;
}
.tenant-setup-kpis span{display:block;color:#667085;font-size:12px}
.tenant-setup-kpis strong{display:block;margin-top:4px;font-size:26px;color:#102a4c}
.onboarding-steps{display:flex;flex-direction:column;gap:10px}
.onboarding-steps>div{
  display:grid;
  grid-template-columns:42px 1fr auto;
  gap:12px;
  align-items:center;
  padding:13px;
  border:1px solid #e1e7ef;
  border-radius:9px;
}
.onboarding-steps>div.done{background:#f4fbf7;border-color:#cfe7d8}
.step-number{
  width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#173b63;color:white;font-weight:800;
}
.onboarding-steps p{margin:4px 0 0;color:#667085}
@media(max-width:900px){
  .setup-explanation-grid{grid-template-columns:1fr}
  .tenant-setup-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* MVP 0.9.5 – Mandantenlöschung & Datenintegrität */
.danger-link{color:#b42318!important;border-color:#f0b8b8!important}
.danger-button{background:#b42318!important;border-color:#b42318!important;color:#fff!important}
.destructive-card{border-color:#f1b7b7}
.delete-warning,.integrity-warning{
  margin:0 0 16px;padding:12px 14px;border-radius:9px;
  background:#fff4f2;border:1px solid #f4c7c3;color:#7a271a
}
.integrity-warning a{font-weight:700;color:#7a271a}
.delete-summary-grid,.integrity-kpis{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 18px
}
.delete-summary-grid>div,.integrity-kpis>div{
  padding:12px;border:1px solid #e1e7ef;border-radius:9px;background:#f9fbfd
}
.delete-summary-grid span,.integrity-kpis span{display:block;color:#667085;font-size:11px}
.delete-summary-grid strong,.integrity-kpis strong{display:block;margin-top:3px;font-size:22px;color:#102a4c}
.destructive-form{margin-top:14px}
@media(max-width:1000px){
  .delete-summary-grid,.integrity-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* MVP 0.9.6 – Mandantenadresse & Ansprechpartner */
.tenant-masterdata-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.tenant-masterdata-grid>div{
  padding:14px;
  border:1px solid #e1e7ef;
  border-radius:9px;
  background:#f9fbfd;
}
.contact-mini{margin-top:7px;padding-top:7px;border-top:1px solid #e8edf3}
.inline-form{display:inline;margin:0}
button.mini-action{font:inherit;cursor:pointer;background:transparent}
@media(max-width:800px){.tenant-masterdata-grid{grid-template-columns:1fr}}


/* MVP 0.9.6.1 – Ansprechpartner-Navigation sichtbarer */
.contact-count-link{
  display:inline-block;
  margin-bottom:6px;
  text-decoration:none;
}
.contact-manage-link{white-space:nowrap}
.contact-management-card{margin-top:14px}
.empty-contact-state{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:8px 0;
}
@media(max-width:800px){
  .empty-contact-state{align-items:flex-start;flex-direction:column}
}


/* MVP 0.9.7 – Prüfungsbibliothek */
.template-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.template-card{
  display:block;
  padding:15px;
  border:1px solid #dfe6ee;
  border-radius:10px;
  text-decoration:none;
  background:#fff;
  color:#27364a;
}
.template-card:hover{border-color:#9fb7cf;background:#f8fbfe}
.template-card.inactive{opacity:.66}
.template-card h3{margin:10px 0 6px;color:#102a4c}
.template-card p{min-height:58px;margin:0;color:#667085}
.template-card-head,.template-stats{
  display:flex;justify-content:space-between;gap:10px;align-items:center
}
.template-stats{
  margin-top:14px;padding-top:10px;border-top:1px solid #edf0f4;
  color:#5d6b7c;font-size:12px
}
.empty-library-state{
  padding:18px;border:1px dashed #ccd7e2;border-radius:9px;color:#667085
}
.template-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.template-step-list{display:flex;flex-direction:column;gap:10px}
.template-step{
  padding:13px;border:1px solid #e1e7ef;border-radius:9px;background:#fbfcfe
}
.template-step-head{display:flex;justify-content:space-between;gap:12px}
.template-step p{margin:8px 0;color:#475467}
.template-request-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.template-request-links span{
  display:inline-block;padding:3px 6px;border-radius:6px;background:#eef4fb;color:#315b84;font-size:11px
}
.template-origin-note{
  margin:0 0 12px;padding:9px 12px;border:1px solid #c8d7e7;border-radius:8px;background:#f5f8fc;color:#344054
}
.destructive-lite{margin-top:14px;border-color:#efd0d0}
@media(max-width:1000px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.template-grid{grid-template-columns:1fr}}


/* MVP 0.9.7.1 – Modulare Prüfungsbibliothek */
.template-type-explainer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}
.template-type-explainer>div{padding:12px;border:1px solid #dfe6ee;border-radius:9px;background:#f8fbfe}
.template-type-explainer b,.template-type-explainer span{display:block}.template-type-explainer span{margin-top:5px;color:#667085;font-size:12px}
.template-step-fields{margin:12px 0;padding:14px;border:1px solid #c8d7e7;border-radius:9px;background:#f8fbfe}
.template-section-heading{padding:0 0 8px 30%;margin-bottom:8px;border-bottom:1px solid #dce5ee}.template-section-heading h3{margin:3px 0 0}
.audit-step-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.audit-step-template-grid>div{padding:14px;border:1px solid #e1e7ef;border-radius:9px;background:#fbfcfe}.audit-step-template-grid p{margin:6px 0 0}
.batch-request-table input,.batch-request-table textarea{width:100%;box-sizing:border-box}.batch-request-table th:first-child,.batch-request-table td:first-child{width:80px}.batch-request-table th:last-child,.batch-request-table td:last-child{width:90px}.batch-actions{display:flex;gap:10px;margin-top:16px}
.template-application-strip{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 12px;padding:9px 12px;border:1px solid #dce5ee;border-radius:8px;background:#fbfcfe}.template-application-chip{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef4fb;color:#315b84;font-size:11px;font-weight:700}
@media(max-width:900px){.template-type-explainer,.audit-step-template-grid{grid-template-columns:1fr}.template-section-heading{padding-left:0}}


/* MVP 0.9.7.2 – echte typabhängige Vorlagenerfassung */
.template-type-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 22px;
}
.template-type-card{
  appearance:none;
  text-align:left;
  padding:14px;
  border:1px solid #dce4ed;
  border-radius:10px;
  background:#fff;
  color:#27364a;
  cursor:pointer;
}
.template-type-card b{
  display:block;
  margin-bottom:5px;
  color:#102a4c;
}
.template-type-card span{
  display:block;
  color:#667085;
  font-size:12px;
  line-height:1.45;
}
.template-type-card:hover{
  border-color:#9fb7cf;
  background:#f8fbfe;
}
.template-type-card.active{
  border-color:#315b84;
  box-shadow:0 0 0 2px rgba(49,91,132,.10);
  background:#f4f8fc;
}
.template-type-card:disabled{
  cursor:default;
  opacity:.75;
}
.template-specific-panel[hidden]{display:none!important}
.template-specific-panel{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid #e4e9ef;
}
.template-type-callout{
  padding:14px;
  border:1px solid #c8d7e7;
  border-radius:9px;
  background:#f5f8fc;
  color:#344054;
  line-height:1.55;
}
.batch-row-toolbar{
  margin-top:10px;
  display:flex;
  justify-content:flex-start;
}
.batch-request-table textarea{
  min-width:280px;
}
.batch-request-table input[type="text"]{
  min-width:180px;
}
.batch-request-table input[type="number"]{
  width:70px;
}
@media(max-width:900px){
  .template-type-cards{grid-template-columns:1fr}
}


/* MVP 0.9.7.3 – serverseitig getrennte Vorlagentypen */
.template-type-selection-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.template-type-selection{
  position:relative;
  display:block;
  min-height:190px;
  padding:18px;
  border:1px solid #dce4ed;
  border-radius:11px;
  background:#fff;
  color:#344054;
  text-decoration:none;
}
.template-type-selection:hover{
  background:#f7fafc;
  border-color:#8eabc6;
}
.template-type-selection h3{
  margin:12px 0 8px;
  color:#102a4c;
}
.template-type-selection p{
  min-height:64px;
  color:#667085;
}
.template-type-selection strong{color:#315b84}
.type-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#eef4fb;
  color:#315b84;
  font-weight:800;
}
.template-editor-section{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #e2e8ef;
}
.template-editor-divider{
  margin:22px 0;
  border-top:1px solid #e2e8ef;
}
.editor-savebar{
  display:flex;
  justify-content:flex-end;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid #e2e8ef;
}
.complete-step-table{
  min-width:1450px;
}
.complete-step-table input[type="text"]{
  min-width:150px;
}
.complete-step-table textarea{
  min-width:230px;
}
.batch-request-table{
  min-width:1050px;
}
@media(max-width:950px){
  .template-type-selection-grid{grid-template-columns:1fr}
  .template-type-selection{min-height:auto}
  .template-type-selection p{min-height:auto}
}


/* MVP 0.9.8 – Reminder & Eskalationen */
.kpis-7{
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.reminder-alert{
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #f0c36d;
  border-radius:9px;
  background:#fff8e8;
  color:#7a4b00;
}
.followup-due-card{
  border-color:#e4bd62;
  box-shadow:0 0 0 2px rgba(228,189,98,.08);
}
.followup-escalation-card{
  border-color:#e29a96;
  box-shadow:0 0 0 2px rgba(226,154,150,.10);
}
.followup-form-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.followup-rule-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.followup-rule-grid>div{
  padding:13px;
  border:1px solid #dfe6ee;
  border-radius:9px;
  background:#fbfcfe;
}
.followup-rule-grid b,
.followup-rule-grid strong,
.followup-rule-grid span{
  display:block;
}
.followup-rule-grid strong{
  margin:7px 0 3px;
  font-size:22px;
  color:#102a4c;
}
.followup-rule-grid span{
  color:#667085;
  font-size:12px;
}
.followup-timeline{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:10px 0 16px;
}
.followup-event{
  padding:13px 14px;
  border:1px solid #e0e6ed;
  border-left-width:4px;
  border-radius:8px;
  background:#fbfcfd;
}
.followup-event.event-reminder{border-left-color:#d9a72c}
.followup-event.event-escalation{border-left-color:#c94841}
.followup-event.event-note{border-left-color:#8091a5}
.followup-event-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.followup-event-message{
  margin:8px 0;
  line-height:1.5;
}
@media(max-width:1350px){
  .kpis-7{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:950px){
  .kpis-7{grid-template-columns:repeat(2,minmax(0,1fr))}
  .followup-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .kpis-7,.followup-rule-grid{grid-template-columns:1fr}
}


/* MVP 0.9.8.1 – eindeutige Follow-up-Aktion */
.followup-action-card{
  border-color:#cdd8e5;
}
.followup-action-explanation,
.followup-no-action{
  margin:0 0 16px;
  padding:12px 14px;
  border:1px solid #dce4ed;
  border-radius:8px;
  background:#f7f9fc;
  color:#475467;
  line-height:1.5;
}
.followup-no-action{
  margin-bottom:0;
}


/* MVP 0.9.9 – revisionssichere Reporting-Snapshots */
.snapshot-lock-banner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin:0 0 14px;
  padding:13px 15px;
  border:1px solid #9ec8ae;
  border-radius:9px;
  background:#f2faf5;
  color:#30513c;
}
.snapshot-lock-banner.snapshot-warning,
.snapshot-preview-note.snapshot-warning{
  border-color:#e0a29e;
  background:#fff5f4;
  color:#8a342f;
}
.snapshot-preview-note{
  margin:0 auto 12px;
  max-width:1050px;
  padding:9px 12px;
  border:1px solid #b9cbdc;
  border-radius:8px;
  background:#f5f8fc;
  color:#475467;
  font-size:13px;
}
.snapshot-mini{
  margin-top:5px;
  color:#667085;
  font-size:11px;
}
.frozen-report-text h3{
  margin:16px 0 5px;
}
.frozen-report-text h3:first-child{
  margin-top:0;
}
.frozen-report-text p{
  color:#475467;
  line-height:1.55;
}


/* MVP 0.9.9.1 – sichtbare Workflow-/Validierungsmeldungen */
.system-messages{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0 0 14px;
}
.system-message{
  padding:11px 14px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#f8fafc;
  color:#344054;
  line-height:1.45;
}
.system-message.message-success{
  border-color:#9ec8ae;
  background:#f2faf5;
  color:#30513c;
}
.system-message.message-error{
  border-color:#e4a39f;
  background:#fff4f3;
  color:#8a342f;
}
.system-message.message-warning{
  border-color:#e9c777;
  background:#fff9e9;
  color:#795000;
}
.finalization-readiness{
  margin:0 0 15px;
  padding:10px 12px;
  border-radius:8px;
  line-height:1.45;
}
.finalization-readiness.ready{
  border:1px solid #9ec8ae;
  background:#f2faf5;
  color:#30513c;
}
.finalization-readiness.blocked{
  border:1px solid #e9c777;
  background:#fff9e9;
  color:#795000;
}
.button-attention{
  box-shadow:0 0 0 2px rgba(217,167,44,.16);
}


/* MVP 1.0.0 – Rollen & Security Hardening */
.role-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border:1px solid #d6dee8;
  border-radius:999px;
  background:#f8fafc;
  color:#526174;
  font-size:11px;
  white-space:nowrap;
}
.role-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.role-grid>div{
  padding:13px;
  border:1px solid #dfe6ee;
  border-radius:9px;
  background:#fbfcfe;
}
.role-grid b,.role-grid span{display:block}
.role-grid b{margin-bottom:5px;color:#102a4c}
.role-grid span{color:#667085;font-size:12px;line-height:1.5}
@media(max-width:900px){
  .role-grid{grid-template-columns:1fr}
  .role-badge{display:none}
}


/* MVP 1.1.0 – Finding & Remediation Lifecycle */
.lifecycle-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.repeat-finding-banner{margin:0 0 14px;padding:12px 14px;border:1px solid #c4b5fd;border-radius:9px;background:#f7f5ff;color:#4c3d78}
.risk-acceptance-status{padding:12px;border:1px solid #dfe6ee;border-radius:8px;background:#fbfcfe}
.risk-none{background:#eef2f6;color:#596579}.risk-requested{background:#fff4d8;color:#765300}.risk-accepted{background:#eaf7ef;color:#2f6b44}.risk-rejected{background:#fdeeed;color:#943d38}
.status-timeline{display:flex;flex-direction:column;gap:8px}
.status-event{padding:10px 12px;border-left:3px solid #9fb3c8;background:#f8fafc;border-radius:6px}
.status-event b,.status-event span{display:block}.status-event span{margin-top:3px;color:#667085;font-size:11px}.status-event p{margin:5px 0 0;color:#475467}
.repeat-action{padding:9px 0;border-bottom:1px solid #edf0f4}.repeat-action:last-child{border-bottom:0}
@media(max-width:900px){.lifecycle-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.lifecycle-summary{grid-template-columns:1fr}}


/* MVP 1.1.0.1 – Finding-Edit / Lifecycle-Lock */
.finding-lock-banner{
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #d9b566;
  border-radius:9px;
  background:#fff9e9;
  color:#725000;
  line-height:1.5;
}
.finding-lock-banner.lifecycle{
  border-color:#9fb9d2;
  background:#f4f8fc;
  color:#31536f;
}
.locked-form-row{
  opacity:.72;
}
.locked-form-row input:disabled,
.locked-form-row textarea:disabled,
.locked-form-row select:disabled{
  background:#f2f4f7;
  color:#667085;
}


/* MVP 1.1.0.2 – Prüfschritt/Arbeitspapier Read-only & QA */
.execution-lock-banner{
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #c8d3df;
  border-radius:9px;
  background:#f7f9fc;
  color:#475467;
  line-height:1.5;
}
.execution-lock-banner.qa{
  border-color:#9fb9d2;
  background:#f4f8fc;
  color:#31536f;
}
.program-step-layout input:disabled,
.program-step-layout textarea:disabled,
.program-step-layout select:disabled,
.workpaper-form input:disabled,
.workpaper-form textarea:disabled,
.workpaper-form select:disabled{
  background:#f2f4f7;
  color:#667085;
}


/* MVP 1.2.0 – Prüfungsankündigung & Kommunikationsworkflow */
.communication-context-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.communication-context-grid .card b,
.communication-context-grid .card span{
  display:block;
}
.communication-lock-banner,
.communication-draft-banner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #9ec8ae;
  border-radius:9px;
  background:#f2faf5;
  color:#30513c;
  line-height:1.5;
}
.communication-draft-banner{
  display:block;
  border-color:#e9c777;
  background:#fff9e9;
  color:#795000;
}
.communication-lock-banner.cancelled{
  border-color:#cbd5e1;
  background:#f8fafc;
  color:#667085;
}
.announcement-paper{
  max-width:1050px;
}
.announcement-header{
  display:flex;
  justify-content:space-between;
  gap:30px;
  padding-bottom:18px;
  border-bottom:1px solid #dfe6ee;
}
.announcement-header h1{
  margin:6px 0 0;
}
.announcement-meta{
  min-width:150px;
  text-align:right;
}
.announcement-address,
.announcement-mail-meta,
.announcement-message,
.announcement-facts,
.announcement-requests,
.announcement-delivery-note{
  margin-top:22px;
}
.recipient-row{
  margin:7px 0;
}
.announcement-mail-meta{
  padding:12px 14px;
  border:1px solid #dfe6ee;
  border-radius:8px;
  background:#f8fafc;
}
.announcement-message{
  white-space:normal;
  line-height:1.65;
}
.announcement-facts th{
  width:190px;
}
.communication-history-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #edf1f5;
}
.communication-history-row:last-child{
  border-bottom:0;
}
.communication-danger-zone{
  margin-top:14px;
}
form ul#id_recipients{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 14px;
}
form ul#id_recipients li{
  padding:8px 10px;
  border:1px solid #e0e6ed;
  border-radius:7px;
  background:#fbfcfd;
}
@media(max-width:950px){
  .communication-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  form ul#id_recipients{grid-template-columns:1fr}
}
@media(max-width:650px){
  .communication-context-grid{grid-template-columns:1fr}
  .announcement-header{display:block}
  .announcement-meta{text-align:left;margin-top:12px}
}
@media print{
  .no-print{display:none!important}
  .announcement-paper{box-shadow:none!important;border:none!important;max-width:none!important}
}


/* MVP 1.2.0.1 – abgeschlossene Prüfungsakte schreibgeschützt */
.audit-locked-banner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin:0 0 14px;
  padding:13px 15px;
  border:1px solid #aebdcd;
  border-radius:9px;
  background:#f5f7fa;
  color:#475467;
  line-height:1.5;
}
.audit-locked-banner b{
  color:#102a4c;
}
@media(max-width:750px){
  .audit-locked-banner{
    display:block;
  }
  .audit-locked-banner .button{
    margin-top:10px;
  }
}


/* =========================================================
   MVP 1.3.0 – Navigation, Responsiveness, User Menu, Version
   ========================================================= */
:root{
  --sidebar-width:240px;
  --page-gap:24px;
}
html,body{max-width:100%;overflow-x:hidden}
body{min-width:0}
.app-shell{
  display:grid!important;
  grid-template-columns:var(--sidebar-width) minmax(0,1fr)!important;
  min-height:100vh;
}
.sidebar{
  position:sticky;
  top:0;
  height:100vh;
  padding:20px 14px 14px;
  display:flex;
  flex-direction:column;
  overflow-y:auto;
  z-index:50;
}
.sidebar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.sidebar .brand{
  color:#fff;
  text-decoration:none;
  margin:0 6px 20px;
}
.sidebar-close{
  display:none;
  border:0;
  background:transparent;
  color:#fff;
  font-size:28px;
  cursor:pointer;
}
.sidebar-nav{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:0;
}
.sidebar-nav a,
.nav-group summary{
  color:#d9e6ef;
  text-decoration:none;
  border-radius:7px;
  font-size:13px!important;
}
.nav-direct{
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 11px;
}
.nav-direct:hover,
.nav-direct.active{
  background:#174b83;
  color:#fff;
}
.nav-icon{
  display:inline-flex;
  width:18px;
  justify-content:center;
  font-size:13px;
}
.nav-group{
  border-radius:8px;
}
.nav-group summary{
  list-style:none;
  cursor:pointer;
  padding:10px 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  user-select:none;
}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary>span:first-child{
  display:flex;
  align-items:center;
  gap:9px;
}
.nav-group[open] summary,
.nav-group summary:hover{
  background:rgba(255,255,255,.065);
  color:#fff;
}
.nav-group[open] .nav-chevron{
  transform:rotate(180deg);
}
.nav-chevron{
  transition:transform .15s ease;
  font-size:12px;
}
.nav-submenu{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:4px 0 7px 27px;
}
.nav-submenu a{
  padding:8px 10px!important;
  font-size:12px!important;
  color:#bdd0df!important;
}
.nav-submenu a:hover,
.nav-submenu a.active{
  background:#174b83!important;
  color:#fff!important;
}
.sidebar-footer{
  margin-top:auto;
  padding:14px 10px 2px;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#86a7be;
  font-size:10px;
}
.sidebar-footer strong{
  color:#b9cfde;
  letter-spacing:.04em;
}
.sidebar-backdrop{display:none}

.main{
  min-width:0;
  padding:0 var(--page-gap) 28px!important;
}
.page-content{min-width:0}
.topbar{
  height:auto!important;
  min-height:88px;
  padding:16px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.topbar-title{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.topbar-title h1{
  overflow-wrap:anywhere;
}
.mobile-menu-trigger{
  display:none;
  width:38px;
  height:38px;
  flex:0 0 auto;
  border:1px solid #dce4ed;
  border-radius:8px;
  background:#fff;
  color:#102344;
  font-size:19px;
  cursor:pointer;
}
.topbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  min-width:0;
}
.tenant-switcher{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  font-size:12px;
}
.tenant-switcher select{
  width:min(370px,34vw);
  min-width:180px;
  border:1px solid #d9e2ec;
  border-radius:7px;
  background:#fff;
  padding:8px 10px;
  color:#102344;
}
.user-menu{
  position:relative;
  flex:0 0 auto;
}
.user-menu-trigger{
  display:flex;
  align-items:center;
  gap:7px;
  padding:2px 4px 2px 8px;
  border:0;
  border-radius:999px;
  background:transparent;
  cursor:pointer;
}
.user-menu-trigger:hover{
  background:#eaf0f7;
}
.user-caret{color:#718096;font-size:11px}
.user-dropdown{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  width:230px;
  z-index:100;
  padding:7px;
  border:1px solid #dce4ed;
  border-radius:10px;
  background:#fff;
  box-shadow:0 16px 40px rgba(15,35,65,.16);
}
.user-dropdown[hidden]{display:none}
.user-dropdown-head{
  padding:9px 10px 11px;
  border-bottom:1px solid #edf1f5;
}
.user-dropdown-head b,
.user-dropdown-head span{display:block}
.user-dropdown-head span{
  margin-top:3px;
  color:#718096;
  font-size:10px;
}
.user-dropdown a{
  display:block;
  padding:9px 10px;
  border-radius:7px;
  color:#344861;
  text-decoration:none;
  font-size:12px;
}
.user-dropdown a:hover{
  background:#f1f5f9;
  color:#1765b5;
}
.user-dropdown-separator{
  height:1px;
  margin:5px 3px;
  background:#edf1f5;
}

/* Global responsive primitives */
.card,
section.card{
  min-width:0;
}
.table-responsive{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.card>table{
  display:block;
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.card>table thead,
.card>table tbody{
  width:100%;
}
table{
  max-width:100%;
}
.detail-toolbar,
.filters,
.actions,
.report-workflow-actions{
  flex-wrap:wrap;
}
.detail-toolbar{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
}
.button,
.mini-action{
  max-width:100%;
}
img,svg,canvas{
  max-width:100%;
  height:auto;
}
input,select,textarea{
  max-width:100%;
}
.aligned-form .form-row{
  grid-template-columns:minmax(170px,230px) minmax(0,1fr);
}
.form-layout,
.program-step-layout,
.document-page-grid{
  min-width:0;
}

/* Resources */
.resource-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.resource-table td,
.resource-table th{
  white-space:nowrap;
}
.resource-negative{
  color:#b42318;
  font-weight:700;
}
.resource-grid{
  align-items:start;
}
.resource-toolbar{
  justify-content:space-between;
}
.compact-filter{
  display:flex;
  align-items:center;
  gap:8px;
}
.compact-filter label{
  font-size:12px;
  font-weight:700;
}
.compact-filter select{
  border:1px solid #d9e2ec;
  border-radius:7px;
  background:#fff;
  padding:8px 10px;
}
.row-actions.horizontal{
  flex-direction:row;
  align-items:center;
  flex-wrap:wrap;
}
.resource-info-card{
  margin-top:14px;
}

/* Tablet/mobile becomes a true drawer, not an 80px dot rail. */
@media(max-width:1024px){
  :root{--page-gap:16px}
  .app-shell{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .sidebar{
    position:fixed!important;
    left:0;
    top:0;
    width:min(300px,86vw)!important;
    height:100dvh;
    transform:translateX(-105%);
    transition:transform .2s ease;
    box-shadow:0 0 0 transparent;
  }
  body.sidebar-open{
    overflow:hidden;
  }
  body.sidebar-open .sidebar{
    transform:translateX(0);
    box-shadow:20px 0 50px rgba(5,19,36,.28);
  }
  .sidebar .brand div,
  .sidebar nav a{
    font-size:inherit!important;
  }
  .sidebar nav a:before{
    content:none!important;
  }
  .sidebar-close{
    display:block;
  }
  .sidebar-backdrop{
    position:fixed;
    inset:0;
    z-index:40;
    background:rgba(8,23,42,.38);
  }
  body.sidebar-open .sidebar-backdrop{
    display:block;
  }
  .mobile-menu-trigger{
    display:block;
  }
  .main{
    width:100%;
    padding:0 var(--page-gap) 22px!important;
  }
  .topbar{
    min-height:78px;
  }
  .workspace-grid,
  .grid-2,
  .form-layout,
  .program-step-layout,
  .document-page-grid{
    grid-template-columns:1fr!important;
  }
  .resource-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  :root{--page-gap:12px}
  .topbar{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
    padding:12px 0 14px;
  }
  .topbar-title{
    width:100%;
  }
  .topbar-title h1{
    margin-top:2px;
    font-size:21px;
  }
  .topbar-actions{
    width:100%;
    justify-content:space-between;
  }
  .tenant-switcher{
    flex:1 1 auto;
  }
  .tenant-switcher select{
    width:100%;
    min-width:0;
  }
  .tenant-label{
    display:none;
  }
  .top-role{
    display:none!important;
  }
  .user-caret{
    display:none;
  }
  .card{
    padding:13px;
    border-radius:9px;
  }
  .kpis,
  .kpis-7,
  .resource-kpis,
  .workspace-summary,
  .communication-context-grid,
  .followup-rule-grid{
    grid-template-columns:1fr!important;
  }
  .aligned-form .form-row{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }
  .aligned-form .form-row>label{
    padding-top:0!important;
  }
  .card-head{
    align-items:flex-start;
    gap:8px;
    flex-wrap:wrap;
  }
  .detail-toolbar{
    align-items:stretch;
  }
  .detail-toolbar .button,
  .detail-toolbar>a.button{
    flex:1 1 auto;
    text-align:center;
  }
  .filters{
    flex-direction:column;
  }
  .filters select,
  .filters input{
    width:100%;
  }
  .timeline-row{
    grid-template-columns:1fr!important;
  }
  .timeline-user,
  .timeline-detail{
    grid-column:auto!important;
  }
  .report-paper{
    padding:18px!important;
  }
  .announcement-header,
  .snapshot-lock-banner,
  .communication-lock-banner,
  .audit-locked-banner{
    display:block!important;
  }
  .announcement-meta{
    margin-top:10px;
    text-align:left!important;
  }
}

@media(max-width:480px){
  .main{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .topbar-actions{
    gap:7px;
  }
  .avatar{
    width:32px;
    height:32px;
  }
  .button{
    padding:9px 10px;
  }
  .user-dropdown{
    width:min(240px,calc(100vw - 20px));
    right:-2px;
  }
}

/* MVP 1.3.0.4 – Branding */
.brand-image-v1304{display:flex;align-items:center;gap:0;margin:0 6px 28px 6px;padding:0;min-width:0}
.brand-image-v1304 .brand-logo{display:block;width:min(220px,100%);height:auto;max-height:56px;object-fit:contain}
@media (max-width: 900px){.brand-image-v1304{margin:0 6px 18px 6px}.brand-image-v1304 .brand-logo{width:min(180px,100%);max-height:48px}}
.login-brand-v1304{display:flex;justify-content:center;align-items:center;margin:0 0 20px 0}
.login-brand-v1304 img{display:block;max-width:260px;width:100%;height:auto;object-fit:contain}
.report-brand-v1304{margin:0 0 12px 0}
.report-brand-v1304 img{display:block;max-width:220px;height:auto}


/* MVP 1.3.0.5 – Login Branding Hotfix */
.login-brand-v1305{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 18px;
}
.login-brand-v1305 img{
  display:block;
  width:min(260px,100%);
  max-height:64px;
  object-fit:contain;
}


/* REGSIDE Audit 2.9.0.2 – integrierte responsive Risikobewertung */
.risk-assessment-card {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin: 0 0 18px;
  padding: 18px 20px;
}

.risk-assessment-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.risk-assessment-head > div {
  min-width: 0;
}

.risk-assessment-head h2 {
  margin: 2px 0 0;
  font-size: 1.03rem;
  line-height: 1.3;
}

.risk-assessment-head .mini-action {
  flex: 0 0 auto;
}

.risk-assessment-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.7fr);
  gap: 18px;
  align-items: stretch;
}

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

.risk-assessment-primary-item {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 9px;
  background: rgba(248, 250, 252, 0.65);
}

.risk-assessment-primary-item span,
.risk-assessment-secondary span {
  display: block;
  margin-bottom: 3px;
  font-size: 0.73rem;
  line-height: 1.25;
}

.risk-assessment-primary-item strong {
  display: block;
  font-size: 1.02rem;
  line-height: 1.3;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.risk-assessment-secondary {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 12px;
  align-items: start;
}

.risk-assessment-secondary > div {
  min-width: 0;
  padding: 8px 0;
}

.risk-assessment-secondary strong {
  display: block;
  font-size: 0.9rem;
  line-height: 1.35;
  font-weight: 650;
  overflow-wrap: anywhere;
}

.risk-assessment-help {
  margin: 12px 0 0;
  max-width: none;
  font-size: 0.72rem;
  line-height: 1.4;
  color: var(--muted, #66758a);
}

@media (max-width: 1180px) {
  .risk-assessment-layout {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .risk-assessment-secondary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .risk-assessment-secondary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .risk-assessment-card {
    padding: 15px;
  }

  .risk-assessment-head {
    flex-direction: column;
    align-items: stretch;
  }

  .risk-assessment-head .mini-action {
    align-self: flex-start;
  }

  .risk-assessment-primary,
  .risk-assessment-secondary {
    grid-template-columns: 1fr;
  }

  .risk-assessment-primary-item strong,
  .risk-assessment-secondary strong {
    font-size: 0.94rem;
  }
}


/* REGSIDE Audit 2.10.0 – Management Dashboard */
.management-risk-overview-v210,
.management-qa-overview-v210 {
  margin-bottom: 18px;
}

.management-risk-kpis-v210,
.management-qa-kpis-v210 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.management-qa-kpis-v210 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 0;
}

.management-risk-kpis-v210 > div,
.management-qa-kpis-v210 > div {
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.65);
}

.management-risk-kpis-v210 span,
.management-qa-kpis-v210 span {
  display: block;
  color: var(--muted, #66758a);
  font-size: 0.76rem;
  line-height: 1.25;
  margin-bottom: 4px;
}

.management-risk-kpis-v210 strong,
.management-qa-kpis-v210 strong {
  display: block;
  font-size: 1.28rem;
  line-height: 1.2;
}

.management-risk-kpis-v210 small {
  display: block;
  color: var(--muted, #66758a);
  margin-top: 4px;
}

.risk-warning-v210 {
  border-color: rgba(211, 145, 55, 0.45) !important;
  background: rgba(255, 248, 235, 0.75) !important;
}

.management-risk-grid-v210 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  padding-top: 4px;
}

.management-risk-grid-v210 h3,
.management-risk-top-v210 h3 {
  margin: 0 0 10px;
  font-size: 0.92rem;
}

.management-risk-bars-v210 {
  display: grid;
  gap: 8px;
}

.management-risk-row-v210 {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 28px;
  gap: 9px;
  align-items: center;
  font-size: 0.78rem;
}

.management-risk-row-v210 b {
  text-align: right;
}

.management-risk-track-v210 {
  height: 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
  overflow: hidden;
}

.management-risk-track-v210 i {
  display: block;
  height: 100%;
  min-width: 0;
  border-radius: inherit;
  background: currentColor;
}

.management-risk-track-v210 .risk-band-critical { color: #b42318; }
.management-risk-track-v210 .risk-band-high { color: #dc6803; }
.management-risk-track-v210 .risk-band-moderate { color: #b54708; }
.management-risk-track-v210 .risk-band-low { color: #027a48; }

.management-risk-top-v210 {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border, #dbe3ee);
}

@media (max-width: 1180px) {
  .management-risk-kpis-v210,
  .management-qa-kpis-v210 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .management-risk-grid-v210 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .management-risk-kpis-v210,
  .management-qa-kpis-v210 {
    grid-template-columns: 1fr;
  }
}


/* REGSIDE Audit 2.10.1 – QS/Review UI */
.qa-section-v2101 {
  margin-bottom: 30px;
}
.qa-section-header-v2101 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin: 4px 0 14px;
  padding: 0 2px;
}
.qa-section-header-v2101 h2 {
  margin: 2px 0 4px;
  font-size: 1.28rem;
  line-height: 1.25;
}
.qa-section-header-v2101 p { margin: 0; }
.qa-section-report-v2101 {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border, #dbe3ee);
}
.qa-section-workpaper-v2101 { padding-top: 6px; }
.qa-kpis-v2101 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.qa-kpis-v2101 > div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.7);
}
.qa-section-report-v2101 .qa-kpis-v2101 > div {
  border-left: 3px solid rgba(48, 115, 180, 0.55);
}
.qa-section-workpaper-v2101 .qa-kpis-v2101 > div {
  border-left: 3px solid rgba(111, 88, 165, 0.5);
}
.qa-kpis-v2101 span {
  display: block;
  color: var(--muted, #66758a);
  font-size: 0.75rem;
  line-height: 1.25;
  margin-bottom: 3px;
}
.qa-kpis-v2101 strong {
  display: block;
  font-size: 1.16rem;
  line-height: 1.2;
}
.qa-card-accent-v2101 {
  position: relative;
  overflow: hidden;
}
.qa-card-accent-v2101::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 3px;
  opacity: 0.7;
}
.qa-card-report-v2101::before { background: #3073b4; }
.qa-card-workpaper-v2101::before { background: #6f58a5; }

@media (max-width: 900px) {
  .qa-kpis-v2101 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .qa-section-v2101 { margin-bottom: 22px; }
  .qa-section-header-v2101 {
    align-items: flex-start;
    flex-direction: column;
  }
  .qa-kpis-v2101 { grid-template-columns: 1fr; }
}


/* REGSIDE Audit 2.11.0 – Maßnahmenwirksamkeit / Nachschau */
.effectiveness-summary-card-v2110 small {
  display: block;
  margin-top: 4px;
}

.effectiveness-review-card-v2110 .card-head {
  align-items: flex-start;
}

.effectiveness-review-actions-v2110 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.review-effectiveness-v2110 {
  border-left: 3px solid rgba(48, 115, 180, 0.55);
  padding-left: 14px;
}

.effectiveness-result-row-v2110 {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin: 8px 0;
}

.effectiveness-result-row-v2110 span {
  color: var(--muted, #66758a);
  font-size: 0.78rem;
}

.effectiveness-effective-v2110 { color: #027a48; }
.effectiveness-partial-v2110 { color: #b54708; }
.effectiveness-not-v2110 { color: #b42318; }

.effectiveness-evidence-list-v2110 {
  display: grid;
  gap: 4px;
  margin: 8px 0;
}

.effectiveness-evidence-list-v2110 a {
  width: fit-content;
  font-size: 0.86rem;
}

@media (max-width: 820px) {
  .effectiveness-review-actions-v2110 {
    grid-template-columns: 1fr;
  }
}


/* REGSIDE Audit 2.12.0 – Root Cause & Repeat Findings */
.repeat-analysis-card-v2120,
.root-cause-dashboard-v2120,
.repeat-candidate-edit-v2120 {
  margin-bottom: 18px;
}

.repeat-analysis-kpis-v2120,
.root-cause-kpis-v2120 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.repeat-analysis-kpis-v2120 > div,
.root-cause-kpis-v2120 > div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.7);
}

.repeat-analysis-kpis-v2120 span,
.root-cause-kpis-v2120 span {
  display: block;
  color: var(--muted, #66758a);
  font-size: 0.75rem;
  margin-bottom: 3px;
}

.repeat-analysis-kpis-v2120 strong,
.root-cause-kpis-v2120 strong {
  display: block;
  font-size: 1.08rem;
  line-height: 1.25;
}

.root-cause-kpis-v2120 small {
  display: block;
  margin-top: 4px;
  color: var(--muted, #66758a);
}

.repeat-analysis-link-v2120 {
  padding: 10px 12px;
  border-radius: 9px;
  background: rgba(245, 247, 250, 0.8);
}

.repeat-candidates-v2120,
.repeat-candidate-list-v2120,
.recent-repeat-list-v2120 {
  display: grid;
  gap: 7px;
}

.repeat-candidates-v2120 > a,
.repeat-candidate-list-v2120 > a,
.recent-repeat-list-v2120 > a {
  display: grid;
  gap: 2px;
  padding: 9px 11px;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 9px;
  text-decoration: none;
}

.repeat-candidates-v2120 > a:hover,
.repeat-candidate-list-v2120 > a:hover,
.recent-repeat-list-v2120 > a:hover {
  background: rgba(245, 247, 250, 0.85);
}

.repeat-candidates-v2120 span,
.repeat-candidate-list-v2120 span,
.recent-repeat-list-v2120 span,
.repeat-candidates-v2120 small,
.repeat-candidate-list-v2120 small,
.recent-repeat-list-v2120 small {
  color: var(--muted, #66758a);
}

.root-cause-grid-v2120 {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 22px;
}

.root-cause-grid-v2120 h3 {
  margin: 0 0 10px;
  font-size: 0.94rem;
}

.root-cause-bars-v2120 {
  display: grid;
  gap: 8px;
}

.root-cause-row-v2120 {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) minmax(90px, 2fr) 28px;
  gap: 9px;
  align-items: center;
  font-size: 0.78rem;
}

.root-cause-track-v2120 {
  height: 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
  overflow: hidden;
}

.root-cause-track-v2120 i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: currentColor;
}

.root-cause-row-v2120 b {
  text-align: right;
}

@media (max-width: 1000px) {
  .repeat-analysis-kpis-v2120,
  .root-cause-kpis-v2120 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .root-cause-grid-v2120 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .repeat-analysis-kpis-v2120,
  .root-cause-kpis-v2120 {
    grid-template-columns: 1fr;
  }

  .root-cause-row-v2120 {
    grid-template-columns: 1fr 80px 28px;
  }
}


/* REGSIDE Audit 2.13.0 – risikoorientierte Prüfungsplanung */
.planning-engine-card-v2130 {
  margin-bottom: 20px;
}

.planning-engine-kpis-v2130 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.planning-engine-kpis-v2130 > div {
  padding: 10px 12px;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.7);
}

.planning-engine-kpis-v2130 span {
  display: block;
  color: var(--muted, #66758a);
  font-size: 0.75rem;
  margin-bottom: 3px;
}

.planning-engine-kpis-v2130 strong {
  font-size: 1.15rem;
}

.planning-suggestions-table-wrap-v2130 {
  overflow-x: auto;
}

.planning-suggestions-table-v2130 {
  min-width: 1050px;
}

.planning-suggestions-table-v2130 td {
  vertical-align: top;
}

.planning-reason-v2130 {
  min-width: 320px;
  max-width: 520px;
  font-size: 0.82rem;
  line-height: 1.45;
}

.planning-score-v2130 {
  min-width: 90px;
}

.planning-score-v2130 > div {
  height: 7px;
  margin-top: 5px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(148, 163, 184, 0.2);
}

.planning-score-v2130 i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: currentColor;
}

.planning-decision-actions-v2130 {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.planning-engine-empty-v2130 {
  padding: 14px;
  border: 1px dashed var(--border, #dbe3ee);
  border-radius: 10px;
  color: var(--muted, #66758a);
}

@media (max-width: 900px) {
  .planning-engine-kpis-v2130 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .planning-engine-kpis-v2130 {
    grid-template-columns: 1fr;
  }
}


/* REGSIDE Audit 2.14.0 – Management Reporting 2.0 */
.management-intelligence-v2140 {
  margin-bottom: 18px;
}

.management-intelligence-kpis-v2140 {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 14px;
}

.management-intelligence-kpis-v2140 > div {
  padding: 10px 11px;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.72);
  min-width: 0;
}

.management-intelligence-kpis-v2140 > div.warning {
  border-left: 3px solid #b54708;
}

.management-intelligence-kpis-v2140 > div.danger {
  border-left: 3px solid #b42318;
}

.management-intelligence-kpis-v2140 span {
  display: block;
  font-size: 0.73rem;
  color: var(--muted, #66758a);
}

.management-intelligence-kpis-v2140 strong {
  display: block;
  margin-top: 3px;
  font-size: 1.12rem;
}

.management-intelligence-kpis-v2140 small {
  display: block;
  margin-top: 2px;
  color: var(--muted, #66758a);
}

.management-attention-list-v2140 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.management-attention-item-v2140 {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 9px;
  align-items: start;
  padding: 9px 10px;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 9px;
}

.management-attention-item-v2140 > b {
  font-size: 1.1rem;
}

.management-attention-item-v2140 span strong,
.management-attention-item-v2140 span small {
  display: block;
}

.management-attention-item-v2140 span small {
  color: var(--muted, #66758a);
  margin-top: 2px;
}

.management-attention-item-v2140.danger {
  border-left: 3px solid #b42318;
}

.management-attention-item-v2140.warning {
  border-left: 3px solid #b54708;
}

.management-attention-item-v2140.info {
  border-left: 3px solid #3073b4;
}

.management-root-causes-v2140 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.management-attention-report-v2140 {
  display: grid;
  gap: 7px;
  margin: 12px 0;
}

.management-attention-report-v2140 > div {
  padding: 8px 10px;
  border-left: 3px solid #b54708;
  background: rgba(248, 250, 252, 0.75);
}

.management-attention-report-v2140 b,
.management-attention-report-v2140 span {
  display: block;
}

.management-attention-report-v2140 span {
  margin-top: 2px;
  font-size: 0.88rem;
}

@media (max-width: 1200px) {
  .management-intelligence-kpis-v2140 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .management-attention-list-v2140 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .management-intelligence-kpis-v2140 {
    grid-template-columns: 1fr;
  }
}


/* REGSIDE Audit 2.14.1 – optionale Management-Berichtsbausteine */
.report-components-hint-v2141 {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  margin-bottom: 12px;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.72);
}

.aligned-form input[type="checkbox"] {
  width: auto;
  min-width: 18px;
  height: 18px;
  vertical-align: middle;
}


/* REGSIDE Audit 2.15.0 – mandantenspezifische Reporting-Konfiguration */
.reporting-defaults-grid-v2150 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.reporting-default-column-v2150 { border:1px solid var(--border,#dbe3ee); border-radius:12px; padding:14px; background:rgba(248,250,252,.6); }
.reporting-default-column-v2150 h3 { margin-top:0; }
.reporting-row-v2150 { grid-template-columns:minmax(190px,1fr) minmax(180px,1fr); }
.report-component-grid-v2150 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:10px 0 14px; }
.report-component-switch-v2150 { border:1px solid var(--border,#dbe3ee); border-radius:10px; padding:10px 12px; background:rgba(248,250,252,.7); }
.report-component-switch-v2150 label { display:flex; align-items:center; gap:9px; font-weight:600; }
.report-component-switch-v2150 small { display:block; margin-top:4px; color:var(--muted,#66758a); }
.numbered-management-sections-v2150 { counter-reset: management-section; }
.numbered-management-sections-v2150 > section > h2 { counter-increment: management-section; }
.numbered-management-sections-v2150 > section > h2::before { content: counter(management-section) ". "; }
@media(max-width:900px){ .reporting-defaults-grid-v2150,.report-component-grid-v2150{grid-template-columns:1fr;} .reporting-row-v2150{grid-template-columns:1fr;} }


/* REGSIDE Audit 2.15.1.2 – semantische Meldungsfarben im Mandantenportal */
.alert-neutral{
  padding:10px 12px;
  background:#eef4f8;
  color:#334155;
  border:1px solid #d7e1e8;
  border-radius:7px;
}
.alert-success{
  padding:10px 12px;
  background:#eef4f8;
  color:#334155;
  border:1px solid #d7e1e8;
  border-radius:7px;
}
.alert-error{
  padding:10px 12px;
  background:#fee2e2;
  color:#991b1b;
  border:1px solid #fecaca;
  border-radius:7px;
}
