:root{
  --bg:#f5f5f3;
  --card:#ffffff;
  --text:#333333;
  --muted:#727272;
  --line:#dededb;
  --accent:#f28c00;
  --accent-dark:#d97800;
  --accent-soft:#fff3df;
  --accent-soft-2:#fff9f0;
  --graphite:#3c3c3b;
  --graphite-dark:#292928;
  --light-gray:#eeeeeb;
  --yes:#39834b;
  --no:#b3261e;
  --warn:#bf7b00;
  --unknown:#68707b;
  --partial:#d88b00;
  --na:#7b7f85;
  --radius:6px;
}
*{box-sizing:border-box}
html{min-height:100%;font-size:16px}
body{margin:0;min-height:100vh;font-family:"Segoe UI",Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.55;overflow-wrap:anywhere}
body:before{content:"";display:block;height:5px;background:var(--accent)}
a{color:var(--accent-dark)}a:hover{color:var(--accent)}

.site-header{background:#fff;border-bottom:1px solid #d9d9d6;box-shadow:0 2px 10px #0000000a}
.header-inner{max-width:1440px;min-height:84px;margin:0 auto;padding:13px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--graphite);min-width:0}
.brand-logo{display:block;width:310px;max-width:42vw;height:auto;object-fit:contain}
.brand-divider{height:38px;width:1px;background:#d4d4d1;flex:0 0 1px}
.brand-product{font-size:17px;font-weight:600;letter-spacing:.1px;white-space:nowrap;color:#555}
nav{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}
nav a{color:var(--graphite);text-decoration:none;padding:10px 13px;border-radius:4px;font-size:14px;line-height:1.25;font-weight:600;transition:background .15s,color .15s}
nav a:hover{background:var(--accent-soft);color:var(--accent-dark)}
nav a.nav-logout{margin-left:4px;border:1px solid #d2d2cf}
main{max-width:1280px;margin:34px auto;padding:0 20px}
.app-footer{max-width:1280px;margin:20px auto 0;padding:24px 20px 34px;color:#898989;font-size:12px;line-height:1.5;border-top:1px solid #dededb}

.card,.survey{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 3px 14px #0000000a;margin-bottom:22px;min-width:0}
.card{border-top:3px solid #d6d6d2}
.card>h1:first-child,.card>h2:first-child,.card>h3:first-child,.survey>h1:first-child{margin-top:0}
.card p:last-child,.survey p:last-child{margin-bottom:0}
.narrow{max-width:520px;margin:70px auto;border-top-color:var(--accent)}
.narrowish{max-width:700px;margin:40px auto}
.formcard{max-width:720px}
.survey{max-width:850px;margin:50px auto;border-top:4px solid var(--accent);padding:30px}
.survey.wide{max-width:1100px}

h1,h2,h3{color:var(--graphite);font-weight:600;overflow-wrap:break-word}
h1{margin:0 0 18px;font-size:30px;line-height:1.25}
h2{margin:0 0 16px;font-size:22px;line-height:1.32}
h3{margin:0 0 12px;font-size:17px;line-height:1.4}
h1:after{content:"";display:block;width:48px;height:3px;background:var(--accent);margin-top:11px}
p{margin:0 0 15px;line-height:1.62}
small{line-height:1.45}
strong{line-height:1.4}
.muted{color:var(--muted);line-height:1.5}

form{margin:0}
.stack{display:grid;gap:4px}
label{display:block;margin:0 0 17px;font-weight:600;color:#4b4b4a;line-height:1.4}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cfcfcc;border-radius:4px;margin-top:7px;background:#fff;color:var(--text);font:inherit;line-height:1.35;transition:border-color .15s,box-shadow .15s}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.checkline{display:flex;align-items:flex-start;gap:10px;font-weight:600;line-height:1.45;margin-top:7px}
.checkline input{width:auto;flex:0 0 auto;margin:3px 0 0}

button,.button{background:var(--accent);border:1px solid var(--accent);color:#fff;padding:10px 15px;border-radius:4px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;line-height:1.25;min-height:41px;white-space:normal;text-align:center;transition:background .15s,border-color .15s,transform .05s}
button:hover,.button:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
button:active,.button:active{transform:translateY(1px)}
button.secondary,.button.secondary{background:#ececea;border-color:#d4d4d1;color:#454545}
button.secondary:hover,.button.secondary:hover{background:#dededb;border-color:#c8c8c4;color:#222}
button.danger,.button.danger{background:#b3261e;border-color:#b3261e;color:#fff}
button.danger:hover,.button.danger:hover{background:#962018;border-color:#962018}
.compact{padding:7px 10px;font-size:12px;min-height:32px}
.catalog-import{background:var(--accent);border-color:var(--accent)}

.topline{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}
.topline>div{min-width:0}.topline h1{margin-bottom:8px}.topline p{margin-bottom:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.customer{text-decoration:none;color:inherit}
.customer.card{display:block}
.customer.card:hover{border-color:#e1ad63;box-shadow:0 5px 18px #00000012}
.customer-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.customer-head>div:first-child{min-width:0}.customer-head h2{margin-bottom:8px}.customer-head p{margin-bottom:0}
.inline,.actions{display:flex;align-items:center;gap:8px;min-width:0}
.inline input{margin:0}.actions{flex-wrap:wrap}.actions form{margin:0;display:flex}
.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px;align-items:start}
.formgrid{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr) minmax(145px,1fr);gap:12px}
.catalog-box{margin-top:22px;padding:16px;background:var(--accent-soft-2);border:1px solid #f1d6ae;border-left:4px solid var(--accent);border-radius:4px}
.catalog-box p{margin-top:7px}

.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:4px}
table{width:100%;border-collapse:collapse;background:#fff;line-height:1.45}
th,td{text-align:left;padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:break-word}
th{font-size:12px;text-transform:uppercase;letter-spacing:.035em;color:#666;background:#f1f1ef;white-space:nowrap;line-height:1.35}
td{font-size:14px}
td .muted{display:block;margin-top:5px;font-size:13px}
tbody tr:hover{background:#faf9f7}
td.actions{min-width:220px}
.linkrow{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);min-width:0}
.linkrow:last-child{border-bottom:0}.linkrow>div{min-width:0;flex:1}
code{display:inline-block;max-width:100%;background:#efefed;padding:6px 8px;border-radius:3px;color:#4d4d4d;font-size:13px;line-height:1.45;white-space:normal;word-break:break-all}

.pill{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;color:#fff;font-weight:700;white-space:nowrap;font-size:12px;line-height:1.2}
.pill.yes{background:var(--yes)}.pill.no{background:var(--no)}.pill.partial{background:var(--partial)}.pill.unknown{background:var(--unknown)}.pill.na{background:var(--na)}
.answers{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:30px 0 24px}
.answer{font-size:17px;padding:20px 14px;min-height:78px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.3}
.yesbig{background:var(--yes);border-color:var(--yes)}
.partialbig{background:var(--partial);border-color:var(--partial)}
.nobig{background:var(--no);border-color:var(--no)}
.unknownbig{background:var(--unknown);border-color:var(--unknown)}
.nabig{background:var(--na);border-color:var(--na)}
.progress{height:8px;background:#e1e1de;border-radius:99px;margin:14px 0 30px;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);border-radius:99px}
.category-badge{display:inline-block;background:var(--accent-soft);color:#9d5c00;padding:6px 10px;border-radius:999px;font-weight:700;margin-bottom:14px;font-size:12px;line-height:1.3}

.flash{padding:12px 14px;border-radius:4px;margin-bottom:16px;border-left:4px solid;line-height:1.5}.flash.success{background:#e7f5ea;border-color:#39834b}.flash.danger{background:#f9e8e6;border-color:#b3261e}.flash.warning{background:#fff3d9;border-color:#bf7b00}
details{border:1px solid var(--line);border-radius:5px;padding:14px 16px;margin:14px 0;background:#fff;min-width:0}
summary{cursor:pointer;font-weight:700;display:flex;align-items:center;gap:12px;flex-wrap:wrap;line-height:1.45;min-height:44px}
summary>span:first-child{min-width:180px;flex:1}

.score{width:58px;height:58px;border-radius:50%;display:flex;flex:0 0 auto;align-items:center;justify-content:center;font-weight:800;font-size:20px;line-height:1;border:5px solid}.score small{font-size:10px;margin-left:1px}.score.good{color:#2e6f3d;border-color:#9ac8a4;background:#eef7f0}.score.medium{color:#986400;border-color:#e8c66c;background:#fff8e7}.score.bad{color:#9e241b;border-color:#e2aaa5;background:#faefee}.score.huge{width:116px;height:116px;font-size:40px;border-width:9px;margin:10px 0 12px}.score.huge small{font-size:16px}
.good-text{color:#2e6f3d}.medium-text{color:#986400}.bad-text{color:#9e241b}
.score-overview{display:grid;grid-template-columns:190px minmax(0,1fr);gap:30px;align-items:center}
.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px 20px}
.category-grid>div{min-width:0}.category-grid strong{display:block;margin-bottom:5px}
.scorebar{height:8px;background:#dfdfdc;border-radius:99px;overflow:hidden;margin:8px 0 6px}.scorebar span{display:block;height:100%}.scorebar span.good{background:#39834b}.scorebar span.medium{background:#bf7b00}.scorebar span.bad{background:#b3261e}
.delta{font-size:13px;font-weight:700;color:var(--muted);line-height:1.4}.delta.positive{color:#2e6f3d}.delta.negative{color:#9e241b}.summaryscore{width:42px;height:42px;font-size:14px;border-width:4px;margin-left:auto}.summaryscore small{font-size:9px}

.management-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}
.management-kpis .card{margin-bottom:0;min-height:142px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px}
.kpi,.metric{border-top-color:var(--accent)}
.kpi-value{display:block;font-size:34px;line-height:1.1;color:var(--graphite);font-weight:700;margin:2px 0 1px}
.kpi small{display:block;margin-top:auto;line-height:1.4;color:var(--muted)}

.trend-chart{height:240px;display:flex;align-items:stretch;gap:12px;padding:18px 8px 4px;overflow-x:auto;border-top:1px solid #f0f0ed}
.trend-item{min-width:66px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;text-align:center}
.trend-bar-wrap{height:178px;width:100%;max-width:48px;display:flex;align-items:flex-end;justify-content:center;background:#f1f1ee;border-radius:4px;overflow:hidden}
.trend-bar{width:100%;min-height:3px;position:relative;border-radius:4px 4px 0 0}.trend-bar.good{background:#39834b}.trend-bar.medium{background:#bf7b00}.trend-bar.bad{background:#b3261e}
.trend-bar span{position:absolute;left:50%;top:-24px;transform:translateX(-50%);font-size:12px;font-weight:700;color:var(--graphite);white-space:nowrap}
.trend-item small{font-size:11px;white-space:nowrap;color:var(--muted)}

.summary-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:30px;align-items:start}
.priority-list{margin:0;padding-left:22px}.priority-list li{padding:0 0 16px 5px;margin:0 0 16px;border-bottom:1px solid var(--line);line-height:1.5}.priority-list li:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.priority-list li>div{margin-bottom:7px}.priority-list li>strong{display:block;margin:6px 0}.priority-list li p{margin:6px 0}.priority-list li small{display:block;color:var(--muted)}
.potential-list{display:grid;gap:8px}.potential-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 13px;background:#f7f7f5;border:1px solid #e6e6e2;border-radius:4px}.potential-row>div{min-width:0}.potential-row strong,.potential-row small{display:block}.potential-row small{color:var(--muted);margin-top:3px}.priority-points{flex:0 0 auto;min-width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:#955700;font-weight:800}
.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.analysis-item{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:4px;padding:15px 16px;line-height:1.55;background:#fff}.analysis-item>div:first-child{margin-bottom:8px}.analysis-item>strong{display:block;margin-bottom:7px}.analysis-item>.muted{margin-top:7px;font-size:13px}
.changes{background:#f5f5f3;border-radius:4px;padding:15px 16px;margin:16px 0}.changes h3{margin-top:0}.change-row{display:grid;grid-template-columns:minmax(120px,150px) minmax(0,1fr) auto;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);align-items:start;line-height:1.5}.change-row:last-child{border-bottom:0}.change-row>span:last-child{white-space:nowrap}
.status-good{color:#2e6f3d;font-weight:700}.status-partial{color:#a56b00;font-weight:700}.status-bad{color:#9e241b;font-weight:700}
.empty-state{padding:28px;text-align:left;line-height:1.6}

@media(max-width:1080px){
  .management-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .summary-grid{grid-template-columns:1fr}
  .analysis-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .header-inner{align-items:flex-start;flex-direction:column;gap:10px;padding:12px 18px}
  .brand-logo{width:260px;max-width:60vw}.brand-product{font-size:14px}.brand-divider{height:30px}
  nav{width:100%;justify-content:flex-start}
  main{margin-top:26px}
}
@media(max-width:800px){
  .topline,.linkrow{align-items:flex-start;flex-direction:column}.topline>.actions,.topline>form{width:100%}
  .split,.formgrid,.score-overview{grid-template-columns:1fr}.inline{align-items:stretch;flex-direction:column}
  .change-row{grid-template-columns:1fr}.change-row>span:last-child{white-space:normal}
  .answers{grid-template-columns:1fr 1fr}
  .survey{margin:28px auto;padding:24px}
  .score-overview{align-items:start}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .management-kpis{grid-template-columns:1fr}
  .category-grid{grid-template-columns:1fr}
  .card,.survey{padding:20px 17px}
  h1{font-size:26px}h2{font-size:20px}
  .actions{align-items:stretch}.actions .button,.actions button{width:100%}
  td.actions{min-width:180px}.answers{grid-template-columns:1fr}
}
@media(max-width:520px){
  .brand{gap:10px;flex-wrap:wrap}.brand-logo{width:240px;max-width:100%}.brand-divider{display:none}.brand-product{width:100%;padding-left:2px}
  .header-inner{padding:10px 14px}nav a{padding:8px 9px}main{padding:0 12px;margin-top:20px}
  .narrow{margin-top:28px}.score.huge{width:104px;height:104px;font-size:35px}
}

/* V4.1.5 – Fragebogen-Link & beantwortende Person */
.link-main { min-width: 0; flex: 1 1 420px; }
.link-main code { display: block; white-space: normal; overflow-wrap: anywhere; line-height: 1.55; }
.link-actions { flex-wrap: wrap; justify-content: flex-end; }
.link-actions form { margin: 0; }
.respondent-form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.respondent-form label { display: grid; gap: .45rem; font-weight: 600; }
.respondent-form input { width: 100%; }
.respondent-meta { margin: .8rem 0 1rem; padding: .75rem 1rem; background: #f7f7f5; border-left: 3px solid var(--accent, #ef7d00); line-height: 1.55; overflow-wrap: anywhere; }
.survey-contact { max-width: 760px; }
@media (max-width: 760px) {
  .linkrow { align-items: stretch; }
  .link-actions { width: 100%; justify-content: flex-start; }
  .link-actions button { width: 100%; }
  .link-actions form { flex: 1 1 100%; }
}

/* V4.1.6 – Link-Gültigkeit */
.link-create-actions { align-items: end; flex-wrap: wrap; }
.link-create-form { display: flex; align-items: end; gap: .7rem; flex-wrap: wrap; }
.link-create-form label { display: grid; gap: .3rem; margin: 0; }
.link-create-form label > span { font-size: .78rem; color: var(--muted); font-weight: 700; }
.link-create-form input[type="number"] { width: 7rem; }
.link-create-form select { min-width: 7rem; }
button:disabled { opacity: .55; cursor: not-allowed; }
@media (max-width: 760px) {
  .link-create-form { width: 100%; }
  .link-create-form label { flex: 1 1 8rem; }
  .link-create-form input[type="number"], .link-create-form select { width: 100%; }
  .link-create-form button { width: 100%; }
}

/* V4.1.7 – modale Link-Gültigkeit & letzter Durchlauf */
.app-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.28);overflow:auto;background:#fff;color:var(--text)}
.app-dialog::backdrop{background:rgba(30,30,30,.48);backdrop-filter:blur(2px)}
.dialog-form{padding:24px;display:grid;gap:20px;margin:0}
.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid var(--line);padding-bottom:16px}
.dialog-header h2{margin:0 0 4px}.dialog-header p{margin:0}
.dialog-close{background:transparent!important;border:0!important;color:var(--muted)!important;font-size:30px;line-height:1;width:36px;height:36px;padding:0;box-shadow:none!important}
.dialog-close:hover{color:var(--graphite)!important;background:#f1f1ef!important}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}
.dialog-validity-grid{margin:0}.dialog-validity-grid label{margin:0}
.survey-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:4px}
.survey-toolbar .category-badge{margin-bottom:0}
.compact-button{padding:9px 12px;font-size:13px;min-height:auto}
.previous-answers-dialog{width:min(1000px,calc(100vw - 32px))}
.previous-answer-table{max-height:55vh;border:1px solid var(--line);border-radius:4px}
.previous-answer-table table{margin:0}
.current-history-question td{background:var(--accent-soft)}
.history-hint{margin:0;padding:11px 13px;background:#fff8e9;border-left:4px solid var(--accent);line-height:1.5}
@media(max-width:600px){.dialog-form{padding:18px}.dialog-actions{align-items:stretch;flex-direction:column-reverse}.dialog-actions button{width:100%}.survey-toolbar{align-items:stretch}.survey-toolbar .compact-button{width:100%}}

.question-remark{grid-column:1/-1;margin-top:1rem;text-align:left}
.question-remark label{display:block;margin-bottom:.45rem}
.question-remark textarea{width:100%;box-sizing:border-box;min-height:90px;resize:vertical;line-height:1.45}

.questionnaire-nav-form .answer-choice{
  position:relative;display:flex;align-items:center;justify-content:center;
  min-height:56px;padding:.9rem 1rem;border:2px solid transparent;border-radius:12px;
  cursor:pointer;font-weight:700;text-align:center;transition:.15s ease;
}
.questionnaire-nav-form .answer-choice input{position:absolute;opacity:0;pointer-events:none}
.questionnaire-nav-form .answer-choice.selected{outline:3px solid rgba(0,0,0,.18);box-shadow:0 0 0 2px #fff inset}
.questionnaire-nav-form .answer-choice:hover{transform:translateY(-1px)}
.question-nav-actions{grid-column:1/-1;display:flex;gap:.75rem;justify-content:space-between;flex-wrap:wrap;margin-top:.5rem}
.question-nav-actions button{min-width:150px}
@media(max-width:600px){.question-nav-actions button{width:100%}}

/* V4.2.1: bessere Lesbarkeit der Antwortauswahl */
.questionnaire-nav-form .answer-choice{
  color:#fff;
  font-size:1.12rem;
}
.questionnaire-nav-form .answer-choice span{color:#fff}

/* Abstand des finalen Speichern-Buttons zur Übersichtstabelle */
.finalize-form{margin-top:1.5rem}

/* V4.2.2: Antwortauswahl nutzt die gesamte verfügbare Breite */
.questionnaire-nav-form.answers{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.8rem;
  width:100%;
}
.questionnaire-nav-form .answer-choice{
  width:100%;
  box-sizing:border-box;
}
.questionnaire-nav-form .question-remark,
.questionnaire-nav-form .question-nav-actions{
  grid-column:1/-1;
}
@media(max-width:800px){
  .questionnaire-nav-form.answers{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .questionnaire-nav-form.answers{grid-template-columns:1fr}
}

/* V4.2.3: letzte Antwort zur aktuellen Frage als Seitencontainer */
.question-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,380px);
  gap:1.4rem;
  align-items:start;
}
.question-main{min-width:0}
.previous-answer-sidepanel{
  position:sticky;
  top:1rem;
  background:#fff;
  border:1px solid var(--border,#d9dde3);
  border-radius:14px;
  padding:1rem;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.previous-answer-sidepanel[hidden]{display:none}
.sidepanel-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.8rem;
}
.sidepanel-header h2{margin:0 0 .2rem}
.previous-answer-card h3{margin:.45rem 0 .9rem;line-height:1.35}
.previous-answer-value{margin-bottom:.9rem}
.previous-answer-remark{
  border-top:1px solid var(--border,#e1e4e8);
  padding-top:.85rem;
  margin-top:.85rem;
}
.previous-answer-remark p{margin:.35rem 0 0}
.previous-answer-meta{margin-top:1rem}
@media(max-width:1100px){
  .question-layout{grid-template-columns:1fr}
  .previous-answer-sidepanel{position:static}
}

/* V4.2.4: Hauptfragebogen bleibt unabhängig vom Seitenpanel zentriert */
.question-layout{
  position:relative;
  display:block;
  width:100%;
}
.question-layout .question-main{
  width:min(100%, 980px);
  margin-left:auto;
  margin-right:auto;
}
.previous-answer-sidepanel{
  position:absolute;
  top:0;
  left:calc(50% + 510px);
  width:min(360px, calc(50vw - 540px));
  box-sizing:border-box;
}
@media(max-width:1500px){
  .previous-answer-sidepanel{
    left:calc(50% + 500px);
    width:320px;
  }
}
@media(max-width:1350px){
  .question-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:1rem;
  }
  .question-layout .question-main{
    width:min(100%, 980px);
    margin-left:auto;
    margin-right:auto;
  }
  .previous-answer-sidepanel{
    position:static;
    width:min(100%, 980px);
    margin-left:auto;
    margin-right:auto;
  }
}

.nis2-fieldset{border:1px solid #d9dde3;border-radius:12px;padding:1rem;margin:1rem 0}.nis2-fieldset legend{font-weight:700}.nis2-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1rem}.nis2-checks .checkline{align-items:flex-start}.nis2-mini{display:inline-flex;justify-content:center;min-width:24px;padding:3px 6px;margin:2px;border-radius:12px;background:#fff3df;color:#9a5600;font-weight:700}.section-heading{display:flex;justify-content:space-between;gap:1rem}.nis2-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.2rem;margin-top:1rem}.nis2-area-row{border:1px solid #e3e5e8;border-radius:10px;padding:.8rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.nis2-area-row small{display:block;color:#6b7280;margin-top:.2rem}.nis2-area-score{min-width:120px;text-align:right}@media(max-width:850px){.nis2-checks,.nis2-area-grid{grid-template-columns:1fr}.nis2-area-row{flex-direction:column;align-items:flex-start}.nis2-area-score{width:100%}}

/* V4.4.0 TISAX Readiness */
.tisax-fieldset{border:1px solid #d9dde3;border-radius:12px;padding:1rem;margin:1rem 0}
.tisax-fieldset legend{font-weight:700}
.tisax-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1rem}
.tisax-checks .checkline{align-items:flex-start}
.tisax-mini{display:inline-flex;justify-content:center;min-width:24px;padding:3px 6px;margin:2px;border-radius:12px;background:#eef5ff;color:#245a9c;font-weight:700}
.tisax-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.2rem;margin-top:1rem}
.tisax-area-row{border:1px solid #e3e5e8;border-radius:10px;padding:.8rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.tisax-area-row small{display:block;color:#6b7280;margin-top:.2rem}
.tisax-area-score{min-width:120px;text-align:right}
.tisax-area-row.optional-area{background:#fafafa;border-style:dashed}
.optional-badge{display:inline-block;margin-left:.4rem;padding:2px 7px;border-radius:10px;background:#eceff3;color:#5f6670;font-size:.72rem;font-weight:700}
@media(max-width:850px){.tisax-checks,.tisax-area-grid{grid-template-columns:1fr}.tisax-area-row{flex-direction:column;align-items:flex-start}.tisax-area-score{width:100%}}

/* V4.5.0: Fragebogen-Scope je Link */
.questionnaire-scope-options{margin:1rem 0;padding:1rem;border:1px solid #e1e4e8;border-radius:12px;background:#fafafa}
.questionnaire-scope-options h3{margin:0 0 .25rem}
.scope-option{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem 0}
.scope-option+ .scope-option{border-top:1px solid #e5e7eb}
.scope-option input{margin-top:.25rem}
.scope-option span,.scope-option small{display:block}
.scope-option small{margin-top:.2rem;color:#6b7280}
.link-scope{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}
.scope-badge{display:inline-block;padding:3px 8px;border-radius:10px;background:#eceff3;color:#4b5563;font-size:.75rem;font-weight:700}
.scope-badge.nis2{background:#fff3df;color:#9a5600}
.scope-badge.tisax{background:#eef5ff;color:#245a9c}

/* V4.5.1: persistenter Zwischenstand */
.link-progress-hint{margin-top:.35rem;font-size:.78rem;color:#6b7280}

/* V4.6.0 ISO 27001 / BSI Grundschutz */
.framework-fieldset{border:1px solid #d9dde3;border-radius:12px;padding:1rem;margin:1rem 0}
.framework-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1rem}
.framework-mini{display:inline-flex;min-width:24px;justify-content:center;padding:3px 6px;margin:2px;border-radius:12px;background:#f1f3f5;font-weight:700}
.version-cell small{display:block;max-width:260px;margin:.15rem 0;color:#6b7280}
.framework-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.2rem;margin-top:1rem}
.framework-area-row{border:1px solid #e3e5e8;border-radius:10px;padding:.8rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.framework-area-row small{display:block;color:#6b7280;margin-top:.2rem}
@media(max-width:850px){.framework-checks,.framework-area-grid{grid-template-columns:1fr}}

/* V4.6.1 */
.old-links-toggle{margin:.4rem 0 1rem}
.onet-score-chart .bar{position:relative;overflow:hidden;min-height:30px}
.onet-score-chart .bar span{position:absolute!important;left:0!important;right:0!important;bottom:6px!important;top:auto!important;transform:none!important;color:#fff!important;font-weight:700!important;text-align:center!important;line-height:1!important}

/* V4.6.2: saubere Scope-Auswahl im Link-Dialog */
.questionnaire-scope-options{margin-top:1rem}
.scope-option-row{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:start;
  column-gap:.75rem;
  padding:.75rem .8rem;
  margin:.45rem 0;
  border:1px solid #e3e5e8;
  border-radius:10px;
  cursor:pointer;
}
.scope-option-row:hover{background:#fafafa}
.scope-option-row input[type="checkbox"]{
  margin:.18rem 0 0 0;
  width:18px;
  height:18px;
}
.scope-option-text{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  min-width:0;
}
.scope-option-text strong{line-height:1.25}
.scope-option-text small{
  display:block;
  color:#6b7280;
  line-height:1.35;
}

/* V4.6.4: Historie standardmäßig eingeklappt */
.history-collapse{
  margin-top:1rem;
  border:1px solid #e3e5e8;
  border-radius:12px;
  background:#fff;
}
.history-collapse > summary{
  cursor:pointer;
  font-weight:700;
  padding:1rem 1.1rem;
  list-style:none;
}
.history-collapse > summary::-webkit-details-marker{display:none}
.history-collapse > summary::after{
  content:"▾";
  float:right;
  transition:transform .15s ease;
}
.history-collapse[open] > summary::after{transform:rotate(180deg)}
.history-collapse-content{padding:0 1rem 1rem}
.history-collapse-content > .card{margin:0}

/* V4.7.0 */
.dashboard-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}
.inline-form{display:inline;margin:0}

/* V4.8.0: Einstellungen / E-Mail-Templates */
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.settings-card{text-decoration:none;color:inherit}
.settings-card:hover{transform:translateY(-1px)}
.template-variables{margin:1rem 0;padding:.85rem 1rem;background:#fff7eb;border:1px solid #f7d7aa;border-radius:10px;display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}
.template-variables code{background:#fff;border:1px solid #e3e5e8;border-radius:6px;padding:.25rem .45rem}
.wysiwyg-toolbar{display:flex;gap:.4rem;flex-wrap:wrap;margin:.45rem 0}
.wysiwyg-toolbar button{border:1px solid #d8dce2;background:#fff;border-radius:7px;padding:.45rem .65rem;cursor:pointer}
.wysiwyg-toolbar button:hover{background:#f5f6f8}
.wysiwyg-editor{min-height:320px;border:1px solid #cfd4dc;border-radius:10px;background:#fff;padding:1rem;line-height:1.5;overflow:auto}
.wysiwyg-editor:focus{outline:2px solid rgba(242,140,0,.2);border-color:#f28c00}

/* V4.8.2: Lesbarkeit der WYSIWYG-Toolbar */
.wysiwyg-toolbar button{
  color:#222 !important;
  background:#fff !important;
}
.wysiwyg-toolbar button:hover{
  color:#111 !important;
  background:#f5f6f8 !important;
}
.wysiwyg-toolbar button strong,
.wysiwyg-toolbar button em,
.wysiwyg-toolbar button u{
  color:inherit !important;
}

/* V4.9.1: echtes Popup für Fragebogen-Linkversand */
.modal-dialog {
  width: min(520px, calc(100vw - 32px));
  border: 0;
  border-radius: 14px;
  padding: 0;
  box-shadow: 0 18px 60px rgba(0,0,0,.28);
}
.modal-dialog::backdrop {
  background: rgba(20,24,28,.55);
}
.modal-dialog form {
  margin: 0;
}
.modal-header,
.modal-body,
.modal-actions {
  padding: 20px 24px;
}
.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #e6e8eb;
}
.modal-header h2 {
  margin: 0;
}
.modal-body label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}
.modal-body input[type="email"] {
  width: 100%;
  box-sizing: border-box;
}
.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  border-top: 1px solid #e6e8eb;
}
.modal-close {
  background: transparent !important;
  color: #333 !important;
  border: 0 !important;
  font-size: 26px;
  line-height: 1;
  padding: 2px 6px;
  cursor: pointer;
}

/* V4.10.0: Ansprechpartnerdaten im Versanddialog */
.send-contact-grid {
  margin-top: 16px;
}
#send-link-contact-name {
  width: 100%;
  box-sizing: border-box;
}

/* V4.11.0: Passwortgenerator Administratoren */
.password-generate-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.password-generate-row input {
  width: 100%;
  box-sizing: border-box;
}
@media (max-width: 700px) {
  .password-generate-row {
    grid-template-columns: 1fr;
  }
}
/* V4.12.0: Infrastruktur-/Ist-Analyse */
.infra-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.infra-kpis .card{display:flex;flex-direction:column}.infra-kpis strong{font-size:2rem}.infra-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.infra-tree{display:flex;flex-direction:column;gap:8px}.infra-tree-row{margin-left:calc(var(--depth) * 28px);border-left:4px solid #f28c00;background:#f7f8fa;border-radius:8px;padding:12px;display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(220px,1fr) auto;gap:12px;align-items:center}.asset-type{display:inline-block;font-size:.75rem;font-weight:700;background:#eceff3;border-radius:999px;padding:3px 8px;margin-right:8px}.infra-meta{font-size:.88rem;color:#666}.simple-row{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #eee}.infra-form h2{margin-top:28px}.infra-form textarea{width:100%;box-sizing:border-box}.status-ok{color:#15803d}.status-beobachten,.status-teilweise{color:#a16207}.status-eol,.status-fehlt{color:#b91c1c}@media(max-width:900px){.infra-kpis{grid-template-columns:1fr 1fr}.infra-two{grid-template-columns:1fr}.infra-tree-row{grid-template-columns:1fr;margin-left:calc(var(--depth) * 12px)}}
/* V4.13.0: Collector / automatisierte Infrastruktur-Discovery */
.infra-kpis{grid-template-columns:repeat(5,1fr)}
.collector-job{display:flex;gap:8px;align-items:center;margin-bottom:8px}.collector-job select{min-width:220px}.token-box{display:flex;gap:12px;align-items:center;background:#f5f6f8;border:1px solid #dfe3e8;border-radius:10px;padding:14px;margin:12px 0}.token-box code{word-break:break-all;flex:1}.job-status{font-weight:700}.job-completed{color:#15803d}.job-failed{color:#b91c1c}.job-running{color:#0369a1}.job-queued{color:#a16207}.error-text{color:#b91c1c;font-size:.85rem}pre{overflow:auto;background:#1f2937;color:#fff;padding:14px;border-radius:9px}
@media(max-width:900px){.infra-kpis{grid-template-columns:1fr 1fr}.collector-job{align-items:stretch;flex-direction:column}.collector-job select{min-width:0}}
.risk{font-weight:700;text-transform:capitalize}.risk-niedrig{color:#15803d}.risk-mittel{color:#a16207}.risk-hoch,.risk-kritisch{color:#b91c1c}
/* V4.14.0: Infrastructure Reporting / Deep Collector */
.report-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.report-kpis .card{display:flex;flex-direction:column;gap:4px}.report-kpis strong{font-size:2rem}.report-score strong{font-size:2.6rem}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.risk-bar-row,.area-bar-row{margin:12px 0}.risk-bar-row>div:first-child,.area-bar-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px}.risk-bar,.area-bar{height:11px;border-radius:999px;background:#eceff3;overflow:hidden}.risk-bar span,.area-bar span{display:block;height:100%;min-width:0}.risk-fill-kritisch,.risk-fill-hoch{background:#b91c1c}.risk-fill-mittel{background:#d97706}.risk-fill-niedrig{background:#15803d}.area-bar span{background:#f28c00}.finding-source{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.75rem;font-weight:700}.finding-source.auto{background:#e8f2ff;color:#185b9d}.finding-source.manual{background:#f1f3f5;color:#555}.finding-closed{opacity:.58}.rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rule-grid>div{border:1px solid #e3e5e8;border-radius:10px;padding:12px}.rule-grid p{margin:.35rem 0 0;color:#666;font-size:.9rem}@media(max-width:1000px){.report-kpis{grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:1fr}.rule-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.report-kpis,.rule-grid{grid-template-columns:1fr}}

/* Infrastructure reporting v4.15 */
.coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px}.coverage-grid>div{border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:4px}.coverage-grid strong{font-size:1.7rem}.coverage-grid span{font-size:.9rem;color:var(--muted)}.baseline-form{display:grid;gap:16px}.baseline-form textarea{width:100%}.baseline-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.baseline-fields label{display:flex;flex-direction:column;gap:6px}.checkbox-row{display:flex;gap:20px;flex-wrap:wrap}.checkbox-row label{display:flex;align-items:center;gap:8px}

/* V4.16.0: Asset-Detailansicht */
.asset-detail-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.asset-detail-kpis .card{display:flex;flex-direction:column;gap:5px}.asset-detail-kpis strong{font-size:1.45rem;text-transform:capitalize}.asset-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.asset-facts{display:grid;grid-template-columns:minmax(135px,.8fr) minmax(0,1.6fr);gap:8px 14px;margin:0}.asset-facts dt{font-weight:700;color:#5f6670}.asset-facts dd{margin:0;min-width:0;word-break:break-word}.asset-facts-wide{grid-template-columns:minmax(190px,.8fr) minmax(0,1.6fr)}.asset-child-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.asset-child-card{display:flex;flex-direction:column;gap:6px;border:1px solid #e3e5e8;border-radius:10px;padding:12px;text-decoration:none;color:inherit}.asset-child-card:hover{border-color:#f28c00;background:#fffaf3}.asset-child-card small{color:#6b7280}.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.tag-list span{display:inline-block;background:#eef1f4;border-radius:999px;padding:5px 9px;font-size:.84rem}.asset-inline-details>summary{cursor:pointer;font-weight:700;font-size:1.15rem}.asset-ad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.preline{white-space:pre-line}@media(max-width:950px){.asset-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-detail-grid,.asset-ad-grid{grid-template-columns:1fr}}@media(max-width:600px){.asset-detail-kpis{grid-template-columns:1fr}.asset-facts,.asset-facts-wide{grid-template-columns:1fr}.asset-facts dt{margin-top:7px}}

.collector-state{display:inline-block;padding:.18rem .55rem;border-radius:999px;font-weight:700;font-size:.86em;border:1px solid currentColor}
.collector-state-online{color:#237a3b;background:rgba(35,122,59,.08)}
.collector-state-warning{color:#9a6a00;background:rgba(154,106,0,.09)}
.collector-state-offline{color:#b42318;background:rgba(180,35,24,.08)}
.collector-state-never{color:#666;background:rgba(100,100,100,.08)}


/* v4.22.1: konsistente Abstände für Portal-Elemente */
.page-head{
    gap:1rem;
    margin-bottom:1.25rem;
}
.page-head .actions{
    gap:.65rem;
    flex-wrap:wrap;
}
.actions{
    display:flex;
    gap:.65rem;
    flex-wrap:wrap;
    align-items:center;
}
.actions form{
    margin:0;
}
.actions .button,
.actions button{
    margin:0;
}
.card{
    margin-bottom:1rem;
}
.card > h2:first-child,
.card > h3:first-child{
    margin-top:0;
}
.card > *:last-child{
    margin-bottom:0;
}
.infra-two,
.report-grid,
.asset-detail-grid,
.asset-detail-kpis,
.infra-kpis,
.report-kpis,
.coverage-grid{
    gap:1rem;
}
.formgrid{
    gap:1rem;
}
.simple-row{
    gap:1rem;
    padding:.7rem 0;
}
.table-wrap{
    margin-top:.6rem;
}
.history-collapse{
    margin-top:.9rem;
}
.history-collapse-content{
    padding-top:.8rem;
}
button + button,
.button + .button,
button + .button,
.button + button{
    margin-left:0;
}
form + form{
    margin-top:.75rem;
}
label + label{
    margin-top:0;
}

/* v4.23.0 – Infrastructure navigation / enrollment */
.asset-hostname{margin-left:.15rem}
.page-head>.actions{justify-content:flex-end}
.token-box{gap:.75rem}
.token-box code{min-width:0;word-break:break-all}
.settings-card{text-decoration:none}

/* v4.23.1 – Collector capabilities */
.collector-capability{display:block;margin-top:.45rem;font-size:.85rem;opacity:.75}


/* v4.23.2 – Page header alignment */
.page-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    width:100%;
}
.page-head-main{
    min-width:0;
    flex:1 1 auto;
}
.page-head > .actions{
    flex:0 0 auto;
    margin-left:auto;
    justify-content:flex-end;
    align-items:flex-start;
}
.page-head > .actions .button,
.page-head > .actions button{
    white-space:nowrap;
}

/* v4.23.2 – Collector cards instead of oversized table */
.collector-card-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
    gap:1rem;
}
.collector-card{
    border:1px solid rgba(127,127,127,.22);
    border-radius:.75rem;
    padding:1rem;
    min-width:0;
}
.collector-card-head{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:flex-start;
    margin-bottom:1rem;
}
.collector-title-line{
    display:flex;
    gap:.65rem;
    align-items:center;
    flex-wrap:wrap;
}
.collector-subline{
    margin-top:.25rem;
    overflow-wrap:anywhere;
}
.collector-card-actions{
    flex:0 0 auto;
}
.collector-info-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.8rem 1rem;
}
.collector-info-grid>div{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:.2rem;
}
.collector-label{
    font-size:.82rem;
    opacity:.7;
}
.collector-info-grid code,
.collector-info-grid span,
.collector-info-grid a{
    overflow-wrap:anywhere;
    word-break:break-word;
}
.collector-card-footer{
    display:flex;
    gap:.65rem;
    flex-wrap:wrap;
    align-items:center;
    margin-top:1rem;
}
.collector-card-footer form{
    margin:0;
}
.collector-card-footer .collector-job{
    display:flex;
    gap:.55rem;
    flex-wrap:wrap;
    align-items:center;
    flex:1 1 320px;
}
.collector-card-footer select{
    min-width:0;
    flex:1 1 240px;
}
@media (max-width: 760px){
    .page-head{
        align-items:stretch;
    }
    .page-head > .actions{
        align-self:flex-start;
    }
    .collector-card-head{
        flex-direction:column;
    }
    .collector-card-actions{
        width:100%;
    }
    .collector-info-grid{
        grid-template-columns:1fr;
    }
}

/* v4.24.0 – Kundenstandorte */
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.location-create-form{padding:1rem;border:1px solid rgba(127,127,127,.18);border-radius:.75rem;margin-bottom:1rem}
.location-list{display:flex;flex-direction:column;gap:.75rem}
.location-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid rgba(127,127,127,.2);border-radius:.75rem;min-width:0}
.location-main{min-width:0;flex:1 1 auto}
.location-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}
.location-count-badge{display:inline-flex;align-items:center;padding:.18rem .48rem;border-radius:999px;background:rgba(127,127,127,.12);font-size:.8rem}
.location-address{margin-top:.3rem}.location-notes{margin-top:.55rem;white-space:pre-wrap;overflow-wrap:anywhere}
.location-actions{display:flex;flex:0 0 auto;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.location-actions form{margin:0}
.empty-state{padding:1.2rem;border:1px dashed rgba(127,127,127,.28);border-radius:.75rem}
.location-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.location-usage-grid>div{display:flex;flex-direction:column;gap:.2rem;padding:1rem;border:1px solid rgba(127,127,127,.18);border-radius:.75rem}
.location-kpi{font-size:1.7rem;font-weight:700}
button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.location-item{flex-direction:column}.location-actions{width:100%;justify-content:flex-start}.location-usage-grid{grid-template-columns:1fr}}


/* v4.25.0 – Offene Risiken & Maßnahmen */
.finding-card-list{
    display:flex;
    flex-direction:column;
    gap:1rem;
}
.finding-card{
    border:1px solid rgba(127,127,127,.20);
    border-radius:.8rem;
    padding:1rem;
    min-width:0;
}
.finding-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
}
.finding-card-title{
    min-width:0;
    flex:1 1 auto;
}
.finding-card-title h3{
    margin:.45rem 0 .25rem;
}
.finding-meta-line{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.5rem;
}
.finding-priority{
    font-size:.85rem;
    opacity:.8;
}
.finding-status-form{
    flex:0 0 auto;
    min-width:220px;
    margin:0;
}
.finding-status-form label{
    display:flex;
    flex-direction:column;
    gap:.3rem;
    margin:0;
}
.finding-status-form select{
    width:100%;
    min-width:220px;
}
.finding-card-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
    margin-top:1rem;
}
.finding-card-grid>div{
    min-width:0;
    padding:.85rem;
    border-radius:.65rem;
    background:rgba(127,127,127,.06);
    overflow-wrap:anywhere;
}
.finding-field-label{
    display:block;
    font-size:.8rem;
    font-weight:600;
    opacity:.7;
    margin-bottom:.35rem;
}
.finding-card-footer{
    display:flex;
    flex-wrap:wrap;
    gap:.4rem 1rem;
    margin-top:.85rem;
    padding-top:.75rem;
    border-top:1px solid rgba(127,127,127,.15);
    font-size:.82rem;
}
@media(max-width:800px){
    .finding-card-head{flex-direction:column}
    .finding-status-form{width:100%;min-width:0}
    .finding-status-form select{min-width:0}
    .finding-card-grid{grid-template-columns:1fr}
}

/* v4.26.0 – strukturierte Kundenanschrift */
.location-form-grid{
    display:grid;
    grid-template-columns:minmax(220px,1.2fr) minmax(260px,1.8fr) minmax(120px,.6fr) minmax(180px,1fr);
    gap:1rem;
}
.location-address-block{
    margin-top:.55rem;
    line-height:1.45;
}
.location-address-block>div+div{
    margin-top:.1rem;
}
@media(max-width:1100px){
    .location-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
    .location-form-grid{grid-template-columns:1fr}
}

/* v4.26.2 – Kundenstandorte: kompakte Darstellung in Dashboard-Spalte */
.locations-card{
    min-width:0;
}
.location-create-panel{
    margin-bottom:1rem;
    padding:1rem;
    border:1px solid rgba(127,127,127,.20);
    border-radius:.75rem;
}
.location-create-title{
    font-weight:600;
    margin-bottom:.85rem;
}
.location-form-stack{
    display:flex;
    flex-direction:column;
    gap:.8rem;
}
.location-form-stack label{
    width:100%;
    min-width:0;
    margin:0;
}
.location-form-stack input,
.location-form-stack textarea{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}
.location-city-row{
    display:grid;
    grid-template-columns:minmax(100px, .38fr) minmax(0, 1fr);
    gap:.8rem;
    min-width:0;
}
.location-postal,
.location-city{
    min-width:0;
}
.location-create-actions{
    margin-top:.9rem;
}
.location-item{
    align-items:center;
}
.location-title-row strong{
    font-size:1rem;
}
.location-badges{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem;
    margin-top:.45rem;
}
.location-count-badge{
    gap:.15rem;
}
.location-address-block{
    margin-top:.65rem;
}
.location-actions{
    align-self:center;
}
@media(max-width:560px){
    .location-city-row{
        grid-template-columns:1fr;
    }
    .location-item{
        align-items:flex-start;
    }
}

/* v4.27.0 – Einstellungen Infrastruktur-Analyse */
.settings-card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.settings-feature-card{max-width:1100px}
.baseline-section{padding:1rem 0;border-top:1px solid rgba(127,127,127,.16)}
.baseline-section:first-of-type{border-top:0;padding-top:.25rem}
.baseline-section h3{margin:0 0 .85rem}
.baseline-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.baseline-settings-grid label{min-width:0}
.baseline-settings-grid input{width:100%;box-sizing:border-box}
.baseline-checkboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.baseline-checkboxes label{display:flex;align-items:flex-start;gap:.65rem;padding:.9rem;border:1px solid rgba(127,127,127,.18);border-radius:.7rem}
.baseline-checkboxes input{width:auto;margin-top:.2rem}
.baseline-checkboxes span{display:flex;flex-direction:column;gap:.25rem}
.settings-save-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(127,127,127,.16)}
.settings-save-row p{margin:0}
@media(max-width:900px){.baseline-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.baseline-checkboxes{grid-template-columns:1fr}}
@media(max-width:600px){.baseline-settings-grid{grid-template-columns:1fr}.settings-save-row{align-items:stretch;flex-direction:column}}

/* v4.28.0 – Infrastruktur-Analyse vereinfacht */
.locations-card-full{width:100%;box-sizing:border-box}
.location-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.location-overview-card{min-width:0;padding:1rem;border:1px solid rgba(127,127,127,.18);border-radius:.75rem}
.location-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.settings-card-head{margin-bottom:1rem}
.settings-location-create{margin-bottom:1.25rem}
.settings-location-create h3{margin-top:0}
.settings-location-list{margin-top:.5rem}

/* v4.29.0 – Collector bearbeiten und Pagination */
.collector-card-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.collector-edit-card{max-width:900px}
.collector-edit-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}
.collector-edit-info>div{display:flex;flex-direction:column;gap:.25rem;padding:.85rem;border:1px solid rgba(127,127,127,.16);border-radius:.7rem}
.pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(127,127,127,.14)}
.pagination-state{font-size:.9rem;opacity:.8}
.pagination-button{min-width:90px;text-align:center}
@media(max-width:700px){.collector-edit-info{grid-template-columns:1fr}}

/* v4.30.0 Portfolio */
.portfolio-b-card{margin-bottom:1rem}.portfolio-node-edit{display:flex;align-items:center;gap:.6rem;min-width:0}.portfolio-node-edit>input:not(.portfolio-sort){flex:1 1 auto;min-width:0}.portfolio-sort{width:78px}.portfolio-code{font-weight:800;color:#a85f00;white-space:nowrap}.portfolio-check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.3rem!important;white-space:nowrap}.portfolio-check input{width:auto}.portfolio-c-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.portfolio-c-card{border:1px solid #e3e5e8;border-radius:10px;padding:1rem;min-width:0}.portfolio-items{display:flex;flex-direction:column;gap:.55rem;margin-top:.8rem}.portfolio-item-admin{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}.portfolio-add{display:flex;gap:.5rem;margin-top:1rem}.portfolio-add input{flex:1 1 auto}.portfolio-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.portfolio-summary>div{display:flex;flex-direction:column;gap:.3rem}.portfolio-summary>div>strong:not(.customer-class-badge){font-size:1.5rem}.portfolio-assign-b{margin-bottom:1rem}.portfolio-assign-head h2{display:inline-block;margin:0 0 1rem .5rem}.portfolio-assign-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.portfolio-assign-c{border:1px solid #e3e5e8;border-radius:10px;padding:1rem}.portfolio-select-row{display:grid!important;grid-template-columns:auto 58px minmax(0,1fr);gap:.5rem!important;align-items:start;padding:.55rem;border-bottom:1px solid #eee;margin:0!important}.portfolio-select-row:last-child{border-bottom:0}.portfolio-select-row input{width:auto;margin-top:.15rem}.portfolio-save{position:sticky;bottom:0;background:#fff;border:1px solid #ddd;border-radius:10px;padding:1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;box-shadow:0 -4px 15px #00000010}.customer-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px}.customer-card-new{display:flex;flex-direction:column;min-height:260px;text-decoration:none;color:inherit;padding:1.2rem}.customer-card-new:hover{border-color:#e1ad63;box-shadow:0 5px 18px #00000012}.customer-card-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.customer-card-title{min-width:0}.customer-card-title h2{margin:.65rem 0 0}.customer-class-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.customer-class-badge{display:inline-flex;padding:.3rem .65rem;border-radius:999px;font-size:.82rem;font-weight:800}.class-a{background:#e6f5e9;color:#216a34}.class-b{background:#fff1d6;color:#956000}.class-c{background:#eef2f7;color:#4b5563}.class-d{background:#f3f4f6;color:#777}.customer-score-block{display:flex;flex-direction:column;align-items:center;gap:.35rem}.customer-score-label{font-size:.78rem;font-weight:700;color:#666}.score-empty{color:#777;border-color:#d8dadd;background:#f5f6f7}.customer-card-spacer{flex:1 1 auto;min-height:1rem}.customer-card-bottom{border-top:1px solid #eee;padding-top:.8rem;display:flex;flex-direction:column;gap:.6rem}.customer-meta-row{display:grid;grid-template-columns:115px minmax(0,1fr);gap:.7rem}.customer-meta-label{font-size:.78rem;color:#777}.customer-meta-row strong{font-size:.9rem}
@media(max-width:900px){.portfolio-c-grid{grid-template-columns:1fr}.portfolio-summary{grid-template-columns:1fr}.portfolio-node-edit{flex-wrap:wrap}}
@media(max-width:620px){.portfolio-item-admin{grid-template-columns:1fr}.portfolio-add,.portfolio-save{flex-direction:column;align-items:stretch}.customer-card-grid{grid-template-columns:1fr}.customer-meta-row{grid-template-columns:1fr}}

/* v4.31.0 – normalisierter Infrastructure Health Score */
.health-score-explanation{margin-top:1rem}
.health-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.health-score-grid>div{display:flex;flex-direction:column;gap:.3rem;padding:1rem;border:1px solid rgba(127,127,127,.16);border-radius:.7rem}
.health-score-grid strong{font-size:1.35rem}
.health-score-grid span{font-weight:700}
.health-score-grid small{opacity:.75;line-height:1.4}
@media(max-width:800px){.health-score-grid{grid-template-columns:1fr}}

/* v4.31.1 – einheitliche Kundenkarten */
.customer-card-grid{
    align-items:stretch;
}
.customer-card-new{
    height:100%;
    min-height:260px;
    box-sizing:border-box;
}
.customer-card-top{
    display:grid;
    grid-template-columns:minmax(0,1fr) 92px;
    align-items:start;
}
.customer-score-block{
    width:92px;
    min-width:92px;
}
.customer-score-label{
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
    text-align:center;
    font-size:.76rem;
}
.customer-card-title{
    min-width:0;
}
.customer-card-title h2{
    overflow-wrap:break-word;
}
@media(max-width:620px){
    .customer-card-top{
        grid-template-columns:minmax(0,1fr) 92px;
    }
}

/* v4.31.2 – Kundenkarten: Portfolio-Zuordnungen unter Kundenklasse */
.customer-class-block{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:.35rem;
    min-height:48px;
}
.customer-portfolio-count{
    display:block;
    font-size:.8rem;
    color:#777;
    line-height:1.2;
    white-space:nowrap;
}
.customer-card-title h2{
    margin-top:.7rem;
}

/* v4.32.0 – Finding-Historie */
.history-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.history-kpis .card{display:flex;flex-direction:column;gap:.3rem}.history-kpis strong{font-size:1.6rem}.finding-history-list{display:flex;flex-direction:column}.finding-history-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(127,127,127,.16)}.finding-history-row:last-child{border-bottom:0}.finding-history-title{display:flex;align-items:center;gap:.6rem;margin-bottom:.35rem}.finding-history-dates{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.finding-history-dates>div{display:flex;flex-direction:column;gap:.15rem}.finding-history-dates span,.finding-history-dates small{font-size:.78rem;color:#777}.finding-history-note{grid-column:1/-1;padding:.55rem .7rem;background:rgba(127,127,127,.06);border-radius:.5rem;font-size:.85rem}.status-open{color:#a85f00}@media(max-width:900px){.history-kpis{grid-template-columns:repeat(2,1fr)}.finding-history-row{grid-template-columns:1fr}}@media(max-width:600px){.history-kpis,.finding-history-dates{grid-template-columns:1fr}}

/* v4.33.0 – tägliche Collector-Inventarisierung */
.collector-schedule-card{margin:1rem 0;padding:1rem;border:1px solid rgba(127,127,127,.18);border-radius:.75rem;background:rgba(127,127,127,.035)}
.collector-schedule-card h3{margin:0 0 .35rem}
.collector-schedule-card p{margin:.2rem 0 .9rem}
.collector-schedule-controls{display:grid;grid-template-columns:minmax(240px,1fr) 180px;gap:1rem;align-items:end}
.collector-schedule-toggle{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.55rem!important;padding:.75rem;border:1px solid rgba(127,127,127,.15);border-radius:.6rem;margin:0!important}
.collector-schedule-toggle input{width:auto}
.collector-schedule-state{display:flex;flex-direction:column;gap:.25rem;margin-top:.75rem}
@media(max-width:700px){.collector-schedule-controls{grid-template-columns:1fr}}
