/* WERK C³ UI-Qualität: globale Ausrichtung, Überlaufschutz und Farbkonstanz. */
html,body{max-width:100%;overflow-x:clip}
main,#view,#view>*,header,.top-actions,.panel,.kpi,.card,.cards,.grid,.split,.summary-row,.settings-grid,.form-row,.record-form,.profile-form,.product-grid,.product-card,.stage2-panel,.stage2-list,.admin-overview,.commercial-config-grid{min-width:0}
#view img,#view svg,#view video{max-width:100%;height:auto}
button,input,select,textarea{max-width:100%;min-width:0;font:inherit;line-height:1.35}
input,select,textarea{width:auto;background:var(--panel);color:var(--text)}
textarea{width:100%;resize:vertical;overflow-wrap:anywhere}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 80%,#fff);opacity:1}
label{min-width:0;overflow-wrap:anywhere}
label>input,label>select,label>textarea,.field>input,.field>select,.field>textarea{width:100%}
h1,h2,h3,h4,p,strong,small,span,em,li,td,th{overflow-wrap:anywhere}
.panel-head,.module-head,.section-title-row,.dialog-toolbar,.task-hero,.closing-head,.manual-intro,.active-role-note{flex-wrap:wrap;gap:10px}
.panel-head>*,.module-head>*,.section-title-row>*,.dialog-toolbar>*,.task-hero>*,.closing-head>*{min-width:0}
.row-actions,.form-actions,.dialog-actions,.account-card-actions,.tour-actions,.export-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.row-actions button,.row-actions a,.form-actions button,.dialog-actions button,.account-card-actions button,.tour-actions button,.export-actions button{min-width:38px;min-height:38px;white-space:normal;overflow-wrap:anywhere}
.icon-only,.info-icon,.field-info,.close{flex:0 0 auto;white-space:nowrap!important;overflow-wrap:normal}
label:has(> .field-info){position:relative;padding-right:24px}
.company-logo-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:22px;align-items:center}.logo-recommendation{display:grid;gap:4px;margin-top:14px;padding:13px 15px;border:1px solid #dbe3d3;border-radius:9px;background:#f7faF2}.logo-recommendation span,.logo-recommendation small{color:#657064}.company-logo-preview{display:grid;place-items:center;min-height:126px;padding:14px;border:1px dashed #cbd3c6;border-radius:10px;background:#fff}.company-logo-preview img{display:block;max-width:100%;max-height:110px;object-fit:contain}.company-logo-preview span{color:#788177;text-align:center}.company-logo-panel form{grid-column:1/-1;display:flex;align-items:end;gap:14px;flex-wrap:wrap}.company-logo-panel form label{flex:1;min-width:260px}.company-logo-panel .form-error{flex-basis:100%;margin:0}@media(max-width:800px){.company-logo-panel{grid-template-columns:1fr}.company-logo-panel form{grid-column:1}}
.kpis,.cards,.summary-row,.op-kpis,.bwa-cards,.manual-grid,.export-cards{align-items:stretch}
.kpi,.panel,.summary-row>div,.op-kpis>div,.account-card,.loan-card,.product-card,.admin-card,.wish-grid article{height:auto;min-width:0;overflow-wrap:anywhere}
.kpi small,.summary-row span,.account-card small,.product-card p,.admin-card small{line-height:1.45}
.info-strip,.workflow-guidance,.stage-ready-note,.private-banner,.active-role-note{overflow-wrap:anywhere}
.status,.product-badge,.tag{max-width:100%;white-space:normal;text-align:center;line-height:1.25}
.table-wrap{max-width:100%;overflow:auto;overscroll-behavior-inline:contain}
.table-wrap table{width:100%;min-width:720px}
th,td{vertical-align:top}
td .row-actions{min-width:max-content}
dialog[open]{max-width:calc(100vw - 28px);max-height:calc(100vh - 28px);overflow:auto;color:var(--text);background:var(--panel)}
dialog form,dialog section,dialog article,dialog div{min-width:0}
.record-tabs{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}

/* Kennzahlen mit Drilldown: Beschriftung, Wert und Aktion erhalten feste
   eigene Zeilen. Dadurch können sich die Inhalte auch bei großen Beträgen
   und auf Tablets nicht mehr überlagern. */
.bwa-cards{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))!important;gap:12px!important}
.bwa-cards button{display:grid!important;grid-template-rows:auto 1fr!important;align-content:start;align-items:start;gap:9px!important;min-width:0;min-height:156px!important;padding:16px!important}
.bwa-cards button>.action-text-label{display:grid!important;grid-template-rows:minmax(34px,auto) minmax(34px,auto) minmax(30px,auto);align-content:start;gap:8px;position:static!important;width:100%!important;height:auto!important;padding:0!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:0}
.bwa-cards .action-text-label>small,.bwa-cards .action-text-label>strong,.bwa-cards .action-text-label>span{display:block;position:static;max-width:100%;margin:0;white-space:normal!important;overflow-wrap:break-word;line-height:1.3!important}
.bwa-cards .action-text-label>strong{align-self:center;font-size:clamp(1.05rem,1.45vw,1.35rem)!important;font-variant-numeric:tabular-nums}
.bwa-cards .action-text-label>span{align-self:end;font-size:.72rem!important}

/* Umfangreiche Listen bleiben auf Tablet lesbar. Die Tabelle scrollt in
   ihrem eigenen Block, statt Spalten und Wörter bis auf Einzelbuchstaben zu
   stauchen. */
#view,#view>* ,#view .panel,#view .table-wrap{min-width:0;max-width:100%;box-sizing:border-box}
#view .panel:has(> .table-wrap),#view .panel:has(> table),#view .table-wrap{width:100%;display:block;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain}
#view .table-wrap table,#view .panel>table{width:100%;min-width:960px!important;table-layout:auto!important}
#view table th,#view table td{word-break:normal!important;overflow-wrap:normal!important}
#view table th{white-space:normal!important}
#view table td{white-space:nowrap!important}
#view table td .cell-note,#view table td .muted,#view table td .status-detail{white-space:normal!important}
#view table .action-icon-cell{min-width:220px!important;white-space:nowrap!important}

/* Überschrift und Aktionen dürfen umbrechen, aber nie übereinander liegen. */
.module-head,.panel-head{flex-wrap:wrap}
.module-head>.row-actions,.panel-head>.row-actions{margin-left:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}
.module-head>.row-actions>*,.panel-head>.row-actions>*{flex:0 0 auto}
@media(max-width:1100px){.module-head>.row-actions,.panel-head>.row-actions{flex:1 0 100%;margin-left:0;justify-content:flex-start}.module-head>.row-actions button,.panel-head>.row-actions button{white-space:nowrap!important;min-width:max-content}}

/* Unsichtbare Original-Checkboxen der Schiebeschalter dürfen nicht als
   seitenbreite Klickflächen über benachbarten Funktionen liegen. */
.switch-control{position:relative}
.switch-control>input[type="checkbox"],.switch-control>input[type="radio"]{position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;margin:0!important;opacity:0!important;pointer-events:none!important}
.switch-control>input:focus-visible+span{outline:2px solid var(--accent,#8ab43b);outline-offset:3px}
.record-tabs button{flex:0 0 auto}
.ui-wrap-107{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:100%!important;height:auto!important;overflow-wrap:anywhere!important}
.panel,.kpi,.summary-row>div,.op-kpis>div,.product-card,.admin-card,.stage2-panel,.readiness-list{border-color:#e1e6df;background:#fff;color:#222}
input,select,textarea,button{border-color:#dfe5dd;background:#fff;color:#222}
button:hover:not(:disabled){border-color:#a9bd82}
.muted,.panel small,.product-card p,.admin-card small{color:#626a65}
.info-strip{border-color:#dce4d8;background:#f6f8f3;color:#303731}
.info-strip.warning{border-color:#ead7aa;background:#fff8e8;color:#725516}
.status.aktiv,.status.bezahlt,.status.festgeschrieben,.status.geprueft,.product-badge.active{background:#eaf4d8;color:#4f7019}
.status.offen,.status.zu-pruefen,.status.entwicklung{background:#fff3dc;color:#795818}
.negative,.status.pausiert{color:#a23b43}
@media(max-width:1180px){main>header{align-items:flex-start;flex-wrap:wrap}.top-actions{justify-content:flex-start;flex-wrap:wrap}.form-row.four{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-row.four,.op-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid,.split,.settings-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.form-row.three,.form-row.four{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.kpis,.summary-row,.summary-row.four,.op-kpis,.op-kpis.three,.cards,.bwa-cards,.profile-form,.form-row,.form-row.three,.form-row.four{grid-template-columns:1fr!important}.top-actions>*{max-width:100%}.form-actions,.dialog-actions{justify-content:stretch}.form-actions button,.dialog-actions button{flex:1 1 150px}}

/* OCR-Prüfung: Die alte #ocrDialog-Breite aus modules.css darf die
   zweigeteilte Desktopansicht nicht wieder auf 650 px verkleinern. */
#ocrDialog.ocr-split-dialog[open]{inset:12px!important;width:calc(100vw - 24px)!important;height:calc(100vh - 24px)!important;max-width:none!important;max-height:none!important;margin:0!important;overflow:hidden!important}
#ocrDialog.ocr-split-dialog .ocr-split{grid-template-columns:minmax(520px,48%) minmax(700px,52%);min-width:0}
#ocrDialog.ocr-split-dialog .ocr-split iframe{min-width:0}
#ocrDialog.ocr-split-dialog .ocr-split form{min-width:0;overflow:auto;padding:18px 24px 34px}
@media(max-width:1280px){#ocrDialog.ocr-split-dialog .ocr-split{grid-template-columns:minmax(430px,46%) minmax(600px,54%)}}
@media(max-width:980px){#ocrDialog.ocr-split-dialog[open]{overflow:auto!important}#ocrDialog.ocr-split-dialog .ocr-split{display:block}#ocrDialog.ocr-split-dialog .ocr-split iframe{display:block;width:100%;height:48vh;border-right:0;border-bottom:1px solid #dfe5df}#ocrDialog.ocr-split-dialog .ocr-split form{overflow:visible}}
/* Einheitliche, dezente Prozessdarstellung */
.workflow-map,.workflow-recognized{position:relative;border:1px solid #dfe7d5;border-radius:10px;background:#fbfcf9}
.workflow-map{margin:0 0 18px;padding:28px 14px 14px}
.workflow-label{position:absolute;top:8px;left:14px;color:#718252;font-size:10px;font-weight:800;letter-spacing:.14em;line-height:1}
.workflow-steps{display:grid;gap:10px}
.workflow-steps.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.workflow-steps>div{position:relative;display:flex;align-items:flex-start;gap:10px;min-width:0;padding:13px;background:#fff;border:1px solid #e5e9e1;border-radius:8px}
.workflow-steps>div:not(:last-child)::after{content:'›';position:absolute;right:-9px;top:50%;z-index:2;display:grid;place-items:center;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:#89ad3d;color:#fff;font-weight:800}
.workflow-steps b{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:#edf4df;color:#638325;font-size:12px}
.workflow-steps span{display:grid;gap:3px;min-width:0}.workflow-steps strong{font-size:13px}.workflow-steps small{color:#647064;font-size:11px;line-height:1.35}
.workflow-recognized{padding-top:27px!important}.workflow-recognized>.workflow-label+strong{display:inline-block}
@media(max-width:1050px){.workflow-steps.four{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-steps>div:nth-child(2)::after{display:none}}
@media(max-width:620px){.workflow-steps.four{grid-template-columns:1fr}.workflow-steps>div::after{display:none}}
