/* KFT Anfrage-Assistent (RWA-Anfrage, auch vom Ladeinfrastruktur-Check genutzt).
   Alle Regeln gelten nur innerhalb von .rwa-app (Abschnitt #anfrage der Seite), damit Kopf, Fuß und
   übrige KFT-Bausteine unverändert bleiben. Gleichnamige globale Klassen der Website (.btn, .card, .chip,
   .field, .drop, .seg, .tag, .opt, .kurz, .lead …) werden hier zurückgesetzt und neu gestaltet.
   Werte nach dem KFT-Designsystem (helle Formularkarte, vgl. src/styles/anfrage.css). */
.rwa-app{
  --ink-dark:#000106;--panel-dark:#0b0c10;--line-dark:#1d1e21;--txt-dark:#fbfbfb;--mute-dark:#999b9e;--mute2-dark:#c9cbcf;
  --blue:#1272ff;--blue-deep:#00419f;--blue-mid:#0053cd;--blue-light:#569aff;--blue-soft:#e8f0ff;--blue-hover:#0061ef;
  --light-bg:#f3f4f6;--line:#e1e3e7;--line2:#c4c7cd;--txt:#0b0c10;--mute:#5b5f66;--mute2:#4b4b4b;--grey:#8a8c90;--ok:#1b8a4c;--warn:#b26a00;
  --font:"Inter Variable",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  position:relative;padding:96px 0;background:var(--light-bg);color:var(--txt);color-scheme:light;
  font:400 16px/1.5 var(--font);
}
@media (max-width:767px){.rwa-app{padding:64px 0}}
.rwa-app *,.rwa-app *::before,.rwa-app *::after{box-sizing:border-box}
.rwa-app a{color:var(--blue-deep)}
.rwa-app a:hover{color:#002e72}
.rwa-app :focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--blue-mid)}
.rwa-app button{font:inherit;color:inherit}
.rwa-app h2,.rwa-app h3{margin:0;text-wrap:balance}
.rwa-app p{margin:0}
.rwa-app .rwa-root{display:flex;flex-direction:column;gap:40px}

/* Kopf des Assistenten wie der KFT-Abschnittskopf (Etikett, Überschrift, Einleitung rechts) */
.rwa-app .section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;align-items:end}
.rwa-app .section-head > .kicker{grid-column:1}
.rwa-app .section-head > h2{grid-column:1}
.rwa-app .section-head > .sub{grid-column:2;grid-row:1 / span 2;align-self:end;max-width:560px}
@media (max-width:991px){.rwa-app .section-head{grid-template-columns:minmax(0,1fr);gap:16px}.rwa-app .section-head > .sub{grid-column:1;grid-row:auto}}
.rwa-app .kicker{justify-self:start;display:inline-flex;align-items:center;padding:5px 12px;border-radius:50px;border:1px solid #e6e6e7;background:#fff;color:var(--blue-mid);font:500 14px/1.4 var(--font)}
.rwa-app h2.display{font:500 clamp(30px,3.4vw,48px)/1.14 var(--font);letter-spacing:-.02em;font-variation-settings:"opsz" 32;color:var(--ink-dark)}
@media (max-width:420px){.rwa-app h2.display{font-size:27px}}
.rwa-app .sub{font:400 clamp(18px,1.5vw,20px)/1.45 var(--font);color:#55575c;text-wrap:pretty}

/* Schaltflächen wie die KFT-Schaltflächen in hellen Karten (.abtn) */
.rwa-app .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;max-width:100%;padding:10px 20px;border-radius:50px;border:1px solid transparent;background:none;box-shadow:none;color:var(--txt);font:500 15px/1.2 var(--font);text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .3s,border-color .3s,color .3s}
.rwa-app .btn svg{width:16px;height:16px;flex:none}
.rwa-app .btn-primary{background:linear-gradient(180deg,#1272ff,#0053cd);border-color:#ffffff4d;color:#fff;box-shadow:inset 0 2px 8px #ffffff40,0 8px 20px #1272ff33}
.rwa-app .btn-primary:hover{background:linear-gradient(180deg,#0061ef,#004ab6);border-color:#ffffff66;color:#fff}
.rwa-app .btn-primary:disabled,.rwa-app .btn-primary:disabled:hover{background:#e1e3e7;border-color:transparent;color:#4b4b4b;box-shadow:none;cursor:not-allowed;transform:none}
.rwa-app .btn-light{background:#fff;color:var(--txt);border-color:var(--line2)}
.rwa-app .btn-light:hover{background:#fff;color:var(--blue-deep);border-color:var(--blue-mid)}
.rwa-app .btn-text{background:transparent;color:var(--blue-mid);padding:0 8px;min-height:44px;border:0;box-shadow:none}
.rwa-app .btn-text:hover{background:transparent;color:var(--blue-deep);text-decoration:underline}
.rwa-app .btn-sm{min-height:40px;padding:8px 16px;font-size:14px}

/* Auswahl: Etiketten, Kacheln, Einstieg (wie .opt der KFT-Formulare) */
.rwa-app .chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:8px;border:1px solid var(--line2);background:#fff;color:var(--txt);font:400 15px/1.2 var(--font);cursor:pointer;transition:background-color .2s,border-color .2s}
.rwa-app .chip:hover{border-color:var(--blue-mid)}
.rwa-app .chip.on{background:var(--blue-soft);border-color:var(--blue-mid);box-shadow:inset 0 0 0 1px var(--blue-mid);color:var(--blue-deep);font-weight:500}
.rwa-app .chip .dot{width:12px;height:12px;border-radius:50%;border:1px solid #0000001a}
.rwa-app .tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px 14px;border-radius:12px;border:1px solid var(--line2);background:#fff;color:var(--txt);cursor:pointer;font:500 15px/1.3 var(--font);text-align:center;transition:background-color .2s,border-color .2s}
.rwa-app .tile:hover{border-color:var(--blue-mid)}
.rwa-app .tile.on{background:var(--blue-soft);border-color:var(--blue-mid);box-shadow:inset 0 0 0 1px var(--blue-mid)}
.rwa-app .tile small{font:400 13px/1.3 var(--font);color:var(--mute)}
.rwa-app .tile svg{display:block;width:56px;height:44px}
.rwa-app .seg{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1 1 260px;min-height:64px;padding:14px 20px;border-radius:12px;border:1px solid var(--line2);background:#fff;color:var(--txt);cursor:pointer;font:500 16px/1.2 var(--font);text-align:left;transition:background-color .2s,border-color .2s}
.rwa-app .seg > span{display:block;min-height:0;padding:0;border:0;border-radius:0;background:none;font:inherit;color:inherit;cursor:inherit;place-items:normal}
.rwa-app .seg small{font:400 14px/1.35 var(--font);color:var(--mute)}
.rwa-app .seg:hover{border-color:var(--blue-mid)}
.rwa-app .seg.on{background:var(--blue-soft);border-color:var(--blue-mid);box-shadow:inset 0 0 0 1px var(--blue-mid);color:var(--blue-deep)}
.rwa-app .seg.on small{color:#33507f}
.rwa-app .segs{display:flex;flex-wrap:wrap;gap:12px;max-width:760px}

/* Felder */
.rwa-app .in{width:100%;height:48px;min-height:0;min-width:0;border:1px solid var(--grey);border-radius:8px;padding:0 14px;background:#fff;color:var(--txt);font:400 16px var(--font);transition:border-color .2s}
.rwa-app .in:focus{outline:none;border-color:var(--blue-mid);box-shadow:0 0 0 3px #1272ff4d}
.rwa-app textarea.in{height:104px;min-height:0;padding:12px 14px;resize:vertical}
.rwa-app .lbl{font:500 14px/1.3 var(--font);color:var(--mute2)}
.rwa-app .lbl .opt,.rwa-app .opt{position:static;display:inline;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-weight:400;font-size:inherit;color:#66676a;cursor:inherit}
.rwa-app .field{display:flex;flex-direction:column;gap:8px;min-width:0}
.rwa-app .hint{font:400 13px/1.4 var(--font);color:var(--mute)}
.rwa-app .notice{padding:12px 16px;border-radius:10px;background:var(--blue-soft);color:#002e72;font:400 14px/1.45 var(--font)}
.rwa-app .notice.warn{background:#fff3dc;color:#5a3a00}

/* Schritte */
.rwa-app .stepnav{display:flex;flex-wrap:wrap;gap:8px}
.rwa-app .step{display:flex;align-items:center;gap:12px;min-width:180px;min-height:52px;padding:8px 16px 8px 10px;border-radius:10px;border:1px solid var(--line2);background:#fff;color:var(--txt);cursor:pointer;font:500 15px/1.2 var(--font);text-align:left}
.rwa-app .step .num{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line2);background:#fff;color:var(--mute);font:500 13px/1 var(--font)}
.rwa-app .step .txt{display:flex;flex-direction:column;gap:2px}
.rwa-app .step .txt small{font:400 13px/1.2 var(--font);color:var(--mute)}
.rwa-app .step.on{border:2px solid var(--blue-mid);padding:7px 15px 7px 9px}
.rwa-app .step.on .num,.rwa-app .step.done .num{background:var(--blue-mid);border-color:var(--blue-mid);color:#fff}

/* Schalter */
.rwa-app .switch{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;text-align:left;font:500 15px/1.35 var(--font);color:var(--txt)}
.rwa-app .switch .track{flex:none;width:44px;height:26px;border-radius:50px;background:#c4c7cd;position:relative;transition:background-color .2s}
.rwa-app .switch .track span{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:left .2s}
.rwa-app .switch.on{border-color:#b3cdf7}
.rwa-app .switch.on .track{background:var(--blue-mid)}
.rwa-app .switch.on .track span{left:21px}
.rwa-app .switch small{display:block;font:400 13px/1.35 var(--font);color:var(--mute);margin-top:2px}

/* Zähler */
.rwa-app .round{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:#fff;color:var(--txt);cursor:pointer;font:500 20px/1 var(--font)}
.rwa-app .round:hover{border-color:var(--blue-mid)}
.rwa-app .counter{display:flex;align-items:center;gap:16px}
.rwa-app .counter output{font:500 24px/1 var(--font);min-width:28px;text-align:center}

/* Karten und Raster */
.rwa-app .card{display:flex;flex-direction:column;gap:24px;padding:clamp(20px,3vw,40px);border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:none;color:var(--txt)}
.rwa-app .card h3.t{font:500 clamp(22px,2vw,28px)/1.25 var(--font);letter-spacing:-.01em}
.rwa-app .card .t-sub{margin:4px 0 0;color:var(--mute)}
.rwa-app .card h3.s{font:500 20px/1.3 var(--font)}
.rwa-app .grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.rwa-app .grid3{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}
.rwa-app .wgroup{display:flex;flex-direction:column;gap:20px;padding:clamp(20px,3vw,32px);border-radius:24px;background:#fff;border:1px solid var(--line)}
.rwa-app .wgroup header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.rwa-app .wgroup h3{font:500 20px/1.3 var(--font);letter-spacing:-.01em}
.rwa-app .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.rwa-app .chips{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.rwa-app .row{display:flex;flex-wrap:wrap;gap:12px}
.rwa-app .row.end{justify-content:flex-end}
.rwa-app .row.between{justify-content:space-between;align-items:center}
.rwa-app .row.center{align-items:center;gap:16px}
.rwa-app .col{display:flex;flex-direction:column;gap:16px}
.rwa-app .col.g20{gap:20px}.rwa-app .col.g24{gap:24px}.rwa-app .col.g40{gap:40px}
.rwa-app .self-start{align-self:flex-start}
.rwa-app .meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:400 14px/1.4 var(--font);color:var(--mute)}
.rwa-app .privacy{display:flex;gap:12px;align-items:flex-start;font:400 15px/1.45 var(--font);color:var(--mute2);cursor:pointer}
.rwa-app .privacy input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--blue-mid);flex:none}
.rwa-app .privacy a{color:var(--blue-deep)}
.rwa-app .status{font:400 14px/1.4 var(--font);color:var(--mute)}

/* Aufbau: Formular links, Zusammenfassung rechts */
.rwa-app .form-layout{display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px}
.rwa-app .form-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:24px}

/* Zusammenfassung (dunkle Karte wie die RWA-Zusammenfassung der KFT-Bausteine) */
.rwa-app .aside{flex:1 1 320px;max-width:380px;position:sticky;top:calc(var(--header-h,72px) + 24px);display:flex;flex-direction:column;gap:20px;padding:28px;border-radius:24px;background:var(--panel-dark);color:var(--txt-dark);border:1px solid var(--panel-dark);box-shadow:0 20px 40px #0003}
.rwa-app .aside .head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.rwa-app .aside .head .t{font:500 14px/1 var(--font);color:var(--mute-dark)}
.rwa-app .aside .head .v{font:500 15px/1.3 var(--font);text-align:right}
.rwa-app .aside .k{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rwa-app .aside .k div{display:flex;flex-direction:column;gap:2px;min-width:0}
.rwa-app .aside .k b{font:500 32px/1 var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rwa-app .aside .k span{font:400 13px/1.3 var(--font);color:var(--mute-dark)}
.rwa-app .aside ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rwa-app .aside li{display:flex;justify-content:space-between;gap:12px;font:400 15px/1.4 var(--font);border-bottom:1px solid var(--line-dark);padding-bottom:10px}
.rwa-app .aside li span:last-child{color:var(--mute-dark);white-space:nowrap}
.rwa-app .aside .sep{height:1px;background:var(--line-dark)}
.rwa-app .tags{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.rwa-app .tag{display:inline-flex;align-self:auto;justify-self:auto;width:auto;gap:0;padding:6px 12px;border-radius:50px;border:0;background:#ffffff14;color:inherit;font:500 13px/1 var(--font)}
.rwa-app .deliv{display:flex;flex-direction:column;gap:8px;font:400 15px/1.4 var(--font)}
.rwa-app .deliv span{display:flex;align-items:center;gap:10px}
.rwa-app .deliv svg{display:block;flex:none}
.rwa-app .deliv .t{color:var(--mute-dark);font-size:13px}
@media (max-width:900px){.rwa-app .aside{position:static;max-width:none}}

/* Vertriebs-Vorschau (nur Demo, ?demo) */
.rwa-app .sales{border:1px dashed var(--blue-mid);border-radius:16px;padding:20px;background:#fff;color:var(--txt)}
.rwa-app .sales table{width:100%;border-collapse:collapse;font-size:14px}
.rwa-app .sales th,.rwa-app .sales td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.rwa-app .sales th{font-weight:500;color:var(--mute2);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.rwa-app .sales td.n,.rwa-app .sales th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.rwa-app .sales .kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));font-size:14px}
.rwa-app .tblwrap{overflow-x:auto}
.rwa-app textarea.copy{width:100%;min-height:200px;font:400 13px/1.45 ui-monospace,Consolas,monospace;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--light-bg);color:var(--txt)}

/* Datei- und Bildupload, LV-Auswertung */
.rwa-app .drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:168px;padding:24px;border:2px dashed var(--line2);border-radius:16px;background:var(--light-bg);color:var(--txt);font-size:16px;text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s}
.rwa-app .drop:hover,.rwa-app .drop:focus-within,.rwa-app .drop.over{border-color:var(--blue-mid);background:var(--blue-soft)}
.rwa-app .drop > svg{display:block;width:36px;height:36px;color:var(--blue-mid);flex:none}
.rwa-app .drop.photos > svg{width:32px;height:32px}
.rwa-app .drop > span{display:block;gap:0;font-size:inherit}
.rwa-app .drop input{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;padding:0;border:0;opacity:0;cursor:pointer}
.rwa-app .drop .big{font:500 16px/1.3 var(--font);color:var(--txt)}
.rwa-app .drop > .hint{font:400 13px/1.4 var(--font);color:var(--mute)}
.rwa-app .drop > .fmts{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.rwa-app .drop.photos{min-height:140px}
.rwa-app .thumbs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.rwa-app .thumbs li{position:relative;display:flex;flex-direction:column;gap:6px}
.rwa-app .thumbs img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.rwa-app .thumbs .nm{font:400 12px/1.3 var(--font);color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rwa-app .thumbs .rm{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:0;background:#000106cc;color:#fff;font:500 18px/1 var(--font);cursor:pointer}
.rwa-app .thumbs .rm:hover{background:var(--blue-mid)}
.rwa-app .fmt{display:inline-flex;padding:4px 10px;border-radius:50px;background:#fff;border:1px solid var(--line);font:500 12px/1.2 var(--font);color:var(--mute2)}
.rwa-app .lvstat{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;font:500 14px/1.45 var(--font)}
.rwa-app .lvstat svg{display:block;flex:none}
.rwa-app .lvstat.ok{background:#e3f4ea;color:#14532d}.rwa-app .lvstat.err{background:#fff3dc;color:#5a3a00}.rwa-app .lvstat.busy{background:var(--blue-soft);color:#002e72}
.rwa-app .spin{flex:none;width:16px;height:16px;border-radius:50%;border:2px solid #1272ff4d;border-top-color:var(--blue-mid);animation:kftspin 1s linear infinite}
@keyframes kftspin{to{transform:rotate(360deg)}}
.rwa-app .lvtbl{width:100%;border-collapse:collapse;font-size:14px}
.rwa-app .lvtbl th{text-align:left;padding:8px;font:500 12px/1.2 var(--font);color:var(--mute2);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);white-space:nowrap}
.rwa-app .lvtbl td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.rwa-app .lvtbl tr.off td{color:var(--grey);background:#fafafa}.rwa-app .lvtbl tr.off .in{color:var(--grey)}
.rwa-app .lvtbl .in.qty{width:88px;height:40px;padding:0 8px}
.rwa-app .lvtbl .in.cat{height:40px;padding:0 8px;min-width:180px}
.rwa-app .kurz{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;gap:0;padding:0;border-radius:0;background:none;color:inherit}
.rwa-app .conf{display:inline-flex;align-items:center;gap:6px;font:500 13px/1.2 var(--font);color:var(--mute2);white-space:nowrap;cursor:help}
.rwa-app .conf i{display:inline-block;width:10px;height:10px;border-radius:50%}
.rwa-app .lang{margin-top:8px;padding:10px 12px;border-radius:8px;background:var(--light-bg);font:400 13px/1.5 var(--font);color:var(--mute2);white-space:pre-line}
@media (max-width:760px){.rwa-app .lvtbl thead{display:none}.rwa-app .lvtbl,.rwa-app .lvtbl tbody,.rwa-app .lvtbl tr,.rwa-app .lvtbl td{display:block;width:100%}.rwa-app .lvtbl tr{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:12px;background:#fff}.rwa-app .lvtbl td{border:0;padding:6px 0}.rwa-app .lvtbl td[data-label]::before{content:attr(data-label);display:block;font:500 12px/1.2 var(--font);color:var(--mute);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}}

/* Bestätigung nach dem Absenden */
.rwa-app .confirm{display:flex;flex-direction:column;gap:32px;max-width:860px}
.rwa-app .confirm .check{display:inline-flex;width:56px;height:56px;border-radius:50%;background:var(--blue-soft);align-items:center;justify-content:center}
.rwa-app .confirm .check svg{display:block}
.rwa-app .confirm .lead{max-width:none;margin:12px 0 0;font:400 18px/1.5 var(--font);color:var(--mute)}
.rwa-app .confirm .lead strong{color:var(--txt);font-weight:500}
.rwa-app .confirm .fach{margin:12px 0 0;font:400 16px/1.5 var(--font);color:var(--mute)}
.rwa-app .confirm ol{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.rwa-app .confirm li{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.rwa-app .confirm li .n{font:500 28px/1 var(--font);color:var(--blue)}
.rwa-app .confirm li .h{font:500 16px/1.3 var(--font)}
.rwa-app .confirm li .d{color:var(--mute);font-size:14px}

@media (prefers-reduced-motion:reduce){.rwa-app *{transition:none!important}.rwa-app .spin{animation-duration:3s}}
@media (max-width:420px){.rwa-app .btn{white-space:normal}.rwa-app .step{min-width:0;flex:1 1 100%}}
