/* Atlantis Backoffice – Gestaltung nach freigegebenem Mockup (09.10.2026) */
:root{--hg:#F6F4EF;--txt:#1C2B33;--akz:#1B8A94;--grau:#8B9AA0;--linie:#E2DED4;--karte:#fff;--rot:#C0392B;--gelb:#D49B0B;--gruen:#2E8B57;--blau:#2F6FB3}
*{box-sizing:border-box}
body{margin:0;background:var(--hg);color:var(--txt);font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
a{color:var(--akz)}
.kopf{background:var(--txt);color:#fff;padding:0 16px;display:flex;align-items:center;gap:14px;min-height:52px;flex-wrap:wrap}
.kopf .marke{color:#fff;text-decoration:none;font-weight:700;font-size:17px;display:flex;gap:8px;align-items:center}
.kopf nav{display:flex;gap:4px;flex:1;overflow-x:auto}
.kopf nav a{color:#C9D3D6;padding:6px 10px;border-radius:6px;white-space:nowrap;font-size:14px;text-decoration:none}
.kopf nav a.an,.kopf nav a:hover{background:#2C4049;color:#fff}
.kopf .wer{color:#C9D3D6;font-size:13px;text-decoration:none}
.kopf .abmelden button{background:none;border:1px solid #3d5560;color:#C9D3D6;border-radius:6px;padding:4px 8px;font-size:12px;cursor:pointer}
/* Volle Breite auf allen Seiten (Wunsch Jan 17.10.2026 – Desktop, auch im Splitscreen) */
main{max-width:none;margin:0;padding:20px 24px 80px}
h1{font-size:22px;margin:0 0 4px;display:flex;align-items:center;gap:6px}
h2{font-size:17px;margin:24px 0 8px}
.unter{color:var(--grau);font-size:13px;margin-bottom:16px}
.notiz{font-size:12px;color:var(--grau);margin:6px 0}
.grau{color:var(--grau)}.rot{color:var(--rot)}.gruen{color:var(--gruen)}.gelb{color:var(--gelb)}.fett{font-weight:700}
.meldung{padding:10px 14px;border-radius:10px;margin:10px 0;font-size:14px}
.meldung.ok{background:#E6F4EC;color:#1d5e3a}.meldung.warn{background:#FFF4D6;color:#7a5a00}.meldung.fehler{background:#FDECEA;color:#922}
.kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.kachel{background:var(--karte);border:1px solid var(--linie);border-radius:12px;padding:16px;color:inherit;text-decoration:none;display:block}
a.kachel:hover{border-color:var(--akz)}
.kachel.aus{opacity:.55}
.kachel h3{margin:0 0 6px;font-size:16px}
.kachel .zahl{font-size:28px;font-weight:700;color:var(--akz)}
.kachel .zahl.rot{color:var(--rot)}.kachel .zahl.gelb{color:var(--gelb)}.kachel .zahl.gruen{color:var(--gruen)}.kachel .zahl.grau{color:var(--grau)}
.kachel small{color:var(--grau)}
.tag{display:inline-block;font-size:11px;padding:2px 7px;border-radius:10px;background:#EEE;color:#555;font-weight:600;white-space:nowrap}
.t-offen{background:#FDECEA;color:var(--rot)}.t-arbeit{background:#E8F0FA;color:var(--blau)}.t-korr{background:#FFF4D6;color:#8A6400}
.t-best{background:#E6F4EC;color:var(--gruen)}.t-wieder{background:var(--rot);color:#fff}.t-ausn{background:#EEE;color:#555}.t-antrag{background:#F3E8FA;color:#7A3FA0}
.tabelle{width:100%;border-collapse:separate;border-spacing:0;background:var(--karte);border:1px solid var(--linie);border-radius:12px;overflow:hidden}
.tabelle th,.tabelle td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--linie);font-size:14px;vertical-align:top}
.tabelle th{background:#FAF9F5;font-size:12px;color:var(--grau);text-transform:uppercase;letter-spacing:.03em}
.tabelle td.n,.tabelle th.n{text-align:right;font-variant-numeric:tabular-nums}
.tabelle td.leer{color:#c9c4b8}
.tabelle tr.gruppe td{background:#FAF9F5;font-size:12px;font-weight:700;color:var(--grau);text-transform:uppercase;padding:6px 12px}
.tabelle tr.klick{cursor:pointer}.tabelle tr.klick:hover td{background:#FAF9F5}
.tabelle tr.klick a{color:inherit;text-decoration:none}
.tabelle tr.grau td{color:var(--grau)}
.punkt{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle;flex:none;background:var(--grau)}
.punkt.rot{background:var(--rot)}.punkt.gelb{background:var(--gelb)}.punkt.info{background:var(--grau)}
.leiste{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}
.filter a{padding:6px 12px;border-radius:16px;border:1px solid var(--linie);background:#fff;font-size:13px;text-decoration:none;color:var(--txt)}
.filter a.an{background:var(--akz);color:#fff;border-color:var(--akz)}
.filter a small{opacity:.75}
.filter .trenner{width:1px;height:22px;background:var(--linie);margin:0 4px}
input,select,textarea{border:1px solid var(--linie);border-radius:8px;padding:8px 10px;font:inherit;background:#fff;color:var(--txt)}
input[type=search]{flex:1;min-width:180px}
input[type=checkbox]{padding:0}
.btn{display:inline-block;border:0;border-radius:8px;padding:8px 14px;font:inherit;font-size:14px;cursor:pointer;background:var(--akz);color:#fff;text-decoration:none}
.btn.zweit{background:#fff;color:var(--akz);border:1px solid var(--akz)}
.btn.klein{padding:5px 10px;font-size:13px}
.btn.rot{background:var(--rot);color:#fff}
.haken{display:inline-flex;gap:6px;align-items:center}
.klein{font-size:13px}
.zurueck{display:inline-block;margin-bottom:10px;font-size:14px;text-decoration:none}
.anleitung{background:#E9F4F5;border:1px solid #CBE4E6;border-radius:12px;padding:12px 14px;font-size:14px;margin:12px 0}
.anleitung b{display:block;margin-bottom:4px}
.anleitung.leer{background:#fff;border-style:dashed;color:var(--grau)}
.mehrfach{background:#fff;border:1px dashed var(--akz);border-radius:10px;padding:8px 12px;font-size:13px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}
details.karte{background:var(--karte);border:1px solid var(--linie);border-radius:12px;margin-bottom:8px}
details.karte.wieder{border-left:4px solid var(--rot)}
details.karte summary{list-style:none;padding:12px 14px;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;align-items:center}
details.karte summary::-webkit-details-marker{display:none}
.sku{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:600}
details.karte .name{color:var(--grau);font-size:13px;grid-column:1/4}
details.karte .zu{font-size:12px;color:var(--grau);text-align:right}
.inhalt{border-top:1px solid var(--linie);padding:14px;display:grid;gap:12px}
.werte{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.wert{background:#FAF9F5;border-radius:8px;padding:8px 10px;word-break:break-word}
.wert small{display:block;color:var(--grau);font-size:11px;text-transform:uppercase}
.wert.fehl{background:#FDECEA}
.links a{display:inline-block;margin:0 6px 6px 0;padding:6px 10px;border:1px solid var(--linie);border-radius:8px;text-decoration:none;font-size:13px;background:#fff}
.links a.zl{background:var(--akz);color:#fff;border-color:var(--akz)}
.hinweis{background:#FAF9F5;border-radius:8px;padding:8px 10px;font-size:13px}
.hinweis.rot{background:#FDECEA;color:#7b1d14}
.aktion{display:grid;gap:8px}
.aktion textarea{width:100%;min-height:60px}
.aktion .leiste{margin:0}
.aktion .ausnahme{font-size:13px;color:var(--grau)}
.verlauf{font-size:13px;color:#4A5A61;border-left:2px solid var(--linie);padding-left:12px}
.verlauf div{margin-bottom:4px}
.box{background:var(--karte);border:1px solid var(--linie);border-radius:12px;padding:14px;margin-bottom:12px}
.box.schmal{max-width:420px}
.antrag .grund{margin:8px 0;font-style:italic}
.formular{display:grid;gap:12px}
.formular label{display:grid;gap:4px;font-size:14px}
.formular label.haken{display:flex}
.formular small{color:var(--grau)}
.leer-hinweis{color:var(--grau);padding:20px 0}
.seiten{justify-content:center}
.unten{margin-top:24px;border-top:1px solid var(--linie);padding-top:12px}
.login-seite{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:16px}
.login{background:#fff;border:1px solid var(--linie);border-radius:16px;padding:28px;width:100%;max-width:380px;text-align:center}
.login h1{justify-content:center;margin:10px 0 16px}
.login .formular{text-align:left}
@media(max-width:640px){.hm{display:none}.kopf .wer{display:none}details.karte summary{grid-template-columns:1fr auto}details.karte .zu{grid-column:1/3;text-align:left}details.karte .name{grid-column:1/3}}
/* Modul Amazon (1.2.0) */
.t-konflikt{background:#F3E8FA;color:#7A3FA0}
.tabelle tr.verzug td{background:#FFF5F4}
.tabelle tr.hervor td{background:#FFF8E5}
.lk a{display:inline-block;margin:0 10px 2px 0;white-space:nowrap}
.lk a:first-child{font-weight:600}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}
.kachel.an{outline:2px solid var(--blau,#0B5CAD)}
.tabelle.amz td.n,.tabelle.amz td.nw,.mono{white-space:nowrap}
.kacheln.amz{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
@media(max-width:640px){
.kopf nav{overflow-x:auto;white-space:nowrap;flex:1;min-width:0}
.kacheln.amz{grid-template-columns:1fr 1fr;gap:8px}
.kacheln.amz .kachel small{font-size:11px}
.tabelle.amz thead{display:none}
.tabelle.amz,.tabelle.amz tbody,.tabelle.amz tr,.tabelle.amz td{display:block;width:100%}
.tabelle.amz tr{border-bottom:1px solid var(--linie);padding:10px 12px}
.tabelle.amz td{border:0;padding:1px 0;text-align:left}
.tabelle.amz td.n{text-align:left}
.tabelle.amz td.hm{display:none}
.tabelle.amz td.alter:not(:empty)::before{content:"Alter "}
}
/* Amazon Auswertung */
.balken2{display:flex;align-items:flex-end;gap:6px;height:180px;margin:14px 0 6px;padding-bottom:20px}
.balken2 .spalte{flex:1;position:relative;height:100%;display:flex;align-items:flex-end;justify-content:center;text-decoration:none;border-radius:4px}
.balken2 .spalte.an{background:#EEF6F6}
.balken2 .u{position:absolute;bottom:0;left:15%;right:15%;background:#BFDCDE;border-radius:3px 3px 0 0}
.balken2 .d{position:absolute;bottom:0;left:32%;right:32%;background:var(--akz);border-radius:3px 3px 0 0}
.balken2 .d.neg{background:var(--rot)}
.balken2 small{position:absolute;bottom:-20px;font-size:11px;color:var(--grau);white-space:nowrap}
.legende{display:inline-block;width:10px;height:10px;border-radius:2px;margin:0 3px 0 8px;vertical-align:middle}
.legende.u{background:#BFDCDE}.legende.d{background:var(--akz)}
.tabelle.amz-tab td.n,.tabelle.amz-tab th.n{white-space:nowrap}
@media(max-width:640px){.balken2{gap:2px}.balken2 small{font-size:9px;transform:rotate(-45deg);transform-origin:center}}
@media(max-width:640px){.tabelle.amz-tab{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.tabelle.amz-tab td:first-child{min-width:140px}}
/* Dashboard Bestellungen (12.10.2026) */
.reiter{display:flex;gap:4px;border-bottom:1px solid var(--linie);margin:14px 0;overflow-x:auto}
.reiter a{padding:8px 12px;text-decoration:none;color:var(--txt);border-bottom:2px solid transparent;font-size:14px;white-space:nowrap}
.reiter a.an{border-color:var(--akz);font-weight:600}
.reiter small{background:var(--rot);color:#fff;border-radius:9px;padding:0 6px;font-size:11px;margin-left:4px}
.tabelle .chk{width:28px}
.tabelle tr.det td{background:#FAF9F5;font-size:13px}
.tabelle tr.det table{width:100%;border-collapse:collapse}
.tabelle tr.det th,.tabelle tr.det td td{padding:3px 8px;font-size:12px;border:0;background:none;text-transform:none;letter-spacing:0}
.ok-h{color:var(--gruen);font-weight:700}.x-h{color:var(--rot);font-weight:700}
.dialog{background:#fff;border:2px solid var(--akz);border-radius:12px;padding:14px;max-width:520px;margin:10px 0}
.dialog h3{margin:0 0 8px;font-size:16px}
.tabelle tr[hidden]{display:none!important}
@media(max-width:640px){
.tabelle.amz tr.det{padding:4px 0}
.tabelle.amz tr.det table{display:table;width:100%}
.tabelle.amz tr.det table tr{display:table-row;padding:0;border:0}
.tabelle.amz tr.det table td,.tabelle.amz tr.det table th{display:table-cell;width:auto;padding:2px 4px}
.tabelle.amz tr.det .hm{display:none}
}
/* Bestand an Amazon (Kanalbestand, 12.10.2026) */
.formel{display:grid;grid-template-columns:1fr auto;gap:2px 16px;max-width:620px;font-size:14px}
.formel .n{text-align:right;font-variant-numeric:tabular-nums}.formel .summe{border-top:2px solid var(--txt);font-weight:700;padding-top:4px}
.formel .ab{color:var(--rot)}
.entschieden{background:#E6F4EC;border-radius:10px;padding:8px 12px;font-size:13px;color:#1d5e3a;margin:8px 0}
.btn[disabled]{opacity:.45;cursor:not-allowed}
/* Zentrale Suche (1.5.0, Mockup freigegeben 14.10.2026) */
.suche{position:relative;margin:10px 0 4px}
.suche .feld{display:flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--akz);border-radius:12px;padding:4px 6px 4px 14px;box-shadow:0 2px 10px rgba(27,138,148,.08)}
.suche .feld svg{flex:none;color:var(--akz)}
.suche input[type=search]{border:0;flex:1;font-size:18px;padding:10px 4px;outline:none;min-width:0;background:transparent}
.suche input[type=search]::-webkit-search-cancel-button{cursor:pointer}
kbd{font:12px ui-monospace,Menlo,monospace;border:1px solid var(--linie);border-radius:5px;padding:1px 6px;color:var(--grau);background:#FAF9F5}
.such-notiz{margin:6px 0 18px}
.vorschau{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--linie);border-radius:12px;box-shadow:0 10px 30px rgba(28,43,51,.14);z-index:20;max-height:440px;overflow:auto}
.vorschau .vg{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--grau);padding:8px 14px 2px;font-weight:700}
.vorschau a{display:block;padding:6px 14px;text-decoration:none;color:var(--txt);font-size:14px}
.vorschau a:hover,.vorschau a.sel{background:#EEF6F6}
.vorschau a .r{float:right;margin-left:12px;font-size:12px;color:var(--grau)}
.vorschau .fuss{border-top:1px solid var(--linie);padding:8px 14px;font-size:12px;color:var(--grau)}
.erkannt{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:13px;margin:8px 0 0}
.t-typ{background:#E9F4F5;color:#13636b}
.sprung{position:sticky;top:0;z-index:3;background:var(--hg);padding:8px 0;margin:10px 0 4px;border-bottom:1px solid var(--linie)}
.sprung a.leer{opacity:.45}
.gruppe h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gruppe h2 .anz{background:var(--akz);color:#fff;border-radius:10px;padding:0 8px;font-size:12px}
.gruppe h2 .anz.lädt{background:#ccc}
.gruppe h2 .mehr{margin-left:auto;font-size:13px;font-weight:400}
.leergruppe{color:var(--grau);font-size:13px;margin:18px 0 6px}
.sys{display:inline-block;font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;letter-spacing:.03em;color:#fff;vertical-align:1px;white-space:nowrap}
.s-ATLOS{background:#1B8A94}.s-TSHOS{background:#2F6FB3}.s-COPOS{background:#7A3FA0}.s-STEOS{background:#B5651D}.s-ZLOS{background:#1C2B33}.s-eBay{background:#D49B0B}.s-Amazon{background:#555}
.sys.aus{opacity:.35}.sys.fehlt{background:#ddd!important;color:#999;opacity:1}
.systeme{display:inline-flex;flex-wrap:wrap;gap:3px}.systeme a{text-decoration:none}
mark{background:#FFF1B8;color:inherit;border-radius:2px;padding:0 1px}
.tabelle.such tr.exakt td{background:#F2FAF9}
.tabelle.such tr.exakt td:first-child{box-shadow:inset 3px 0 0 var(--akz)}
.tabelle.such .sku,.tabelle.such a.auf{white-space:nowrap}
.tabelle.such a.auf{font-size:12px}
.tabelle.such.klein-tab{margin-top:10px}
.beleg{background:#fff;border:2px solid var(--akz);border-radius:12px;padding:14px 16px;margin:14px 0}
.beleg h3{margin:0 0 4px;font-size:18px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.beleg h4{margin:14px 0 0;font-size:14px}
.kette{display:flex;flex-wrap:wrap;gap:6px;align-items:stretch;margin:12px 0 4px}
.kette .glied{display:block;border:1px solid var(--linie);border-radius:10px;padding:8px 10px;text-decoration:none;color:var(--txt);background:#FAF9F5;min-width:130px;font-size:13px}
.kette .glied b{display:block;font-size:11px;color:var(--grau);text-transform:uppercase;font-weight:600}
.kette a.glied[href]:hover{border-color:var(--akz)}
.kette .glied.an{background:#E9F4F5;border-color:var(--akz)}
.kette .pf{align-self:center;color:var(--grau)}
.bestand{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.bestand span{background:#FAF9F5;border-radius:8px;padding:4px 8px;font-size:12px}
.bestand span b{font-size:14px}
.links a.inaktiv{opacity:.6}
.fehlt-link{display:inline-block;margin:0 6px 6px 0;padding:6px 10px;border:1px dashed var(--linie);border-radius:8px;font-size:13px;color:var(--grau)}
.regeln{width:100%;border-collapse:collapse;font-size:13px}
.regeln td{padding:5px 8px;border-bottom:1px solid #CBE4E6;vertical-align:top}
.regeln td:first-child{font-family:ui-monospace,Menlo,monospace;white-space:nowrap;color:#13636b}
@media(max-width:640px){
.suche input[type=search]{font-size:16px}.suche kbd{display:none}
.vorschau a .r{float:none;display:block}
.sprung{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}.sprung a{flex:none}
.regeln td:first-child{white-space:normal;width:30%}
.kette .glied{min-width:0;flex:1 1 40%}.kette .pf{display:none}
}
/* Suchtabellen: unter 820 px als Karten (viele Spalten) */
@media(max-width:820px){
.tabelle.such thead{display:none}.tabelle.such,.tabelle.such tbody,.tabelle.such tr,.tabelle.such td{display:block;width:100%}
.tabelle.such tr{border-bottom:1px solid var(--linie);padding:8px 12px}.tabelle.such td{border:0;padding:1px 0}.tabelle.such td.n{text-align:left}
.tabelle.such td:empty{display:none}
.tabelle.such tr.exakt td:first-child{box-shadow:none}
.tabelle.such td.n[data-l]::before{content:attr(data-l) ": ";color:var(--grau);font-size:12px}
}
/* Modul Netrivals (15.10.2026) */
.tabelle.nrv td{vertical-align:middle}
.tabelle.nrv .tit{max-width:330px}
.tabelle.nrv td.nrv-auf{background:#FAF9F5}
.balk{display:inline-block;height:8px;border-radius:4px;background:var(--rot);vertical-align:middle;margin-left:6px}
.balk.g{background:var(--gruen)}
.angebote{width:100%;border-collapse:collapse;font-size:13px}
.angebote td,.angebote th{padding:6px 8px;border-bottom:1px solid var(--linie);text-align:left}
.angebote th{font-size:11px;color:var(--grau);text-transform:uppercase}
.angebote td.n,.angebote th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.angebote tr.wir td{background:#E9F4F5;font-weight:600}
.angebote tr.guenstig td{background:#FFF5F4}
.angebote tr.grau td{color:var(--grau);background:#fff}
.leiste.mb label{background:#fff;border:1px solid var(--linie);border-radius:14px;padding:3px 10px}
.nrv-wahl .leiste{margin:6px 0}
@media(max-width:640px){.tabelle.nrv>thead{display:none}.tabelle.nrv,.tabelle.nrv>tbody,.tabelle.nrv>tbody>tr,.tabelle.nrv>tbody>tr>td{display:block;width:100%}.tabelle.nrv>tbody>tr{border-bottom:1px solid var(--linie);padding:10px 12px}.tabelle.nrv>tbody>tr>td{border:0;padding:2px 0;text-align:left}.angebote{display:block;overflow-x:auto}}
/* Kopierknopf hinter Nummern (15.10.2026) */
.kopier{border:0;background:none;color:var(--grau);cursor:pointer;padding:0 2px 0 4px;font:inherit;font-size:12px;line-height:1;vertical-align:baseline;opacity:.65}
.kopier:hover,.kopier:focus-visible{color:var(--akz);opacity:1}
.kopier.ok{color:var(--gruen);opacity:1}
@media print{.kopier{display:none}}
/* Importlisten (1.7.0) */
main.breit{max-width:none;padding-left:24px;padding-right:24px}
.tabelle.imp td{vertical-align:middle}
.tabelle.imp td.cb,.tabelle.imp th.cb{width:34px;text-align:center}
.tabelle.imp .sku{white-space:nowrap}
.tabelle.imp tr.master td{background:#F2F8F8}
.tabelle.imp tr.master .sku{font-weight:700}
.tabelle.imp tr.slave td:nth-child(2){padding-left:30px}
.tabelle.imp tr.abw td{background:#FFF8E5}
.tabelle.imp input.preis{width:96px;text-align:right;padding:5px 8px}
.tabelle.imp input.datum{width:112px;padding:5px 6px;margin-top:3px}
.tabelle.imp input,.tabelle.imp select{padding:5px 6px;font-size:13px}
.tabelle.imp input.lang{min-width:260px}
.tabelle.imp .eigen{background:#FFF4D6;border-color:#E9C46A}
.tabelle.imp .erbt{color:var(--gruen)}
.tabelle.imp th .ueb{text-transform:none;letter-spacing:0;margin-top:4px;padding:3px 8px;font-size:12px}
.tabelle.imp .imp-text summary{cursor:pointer;font-size:12px;color:var(--akz);white-space:nowrap}
.tabelle.imp .imp-text textarea{width:340px;max-width:70vw;margin-top:6px;font-size:13px}
.alt{color:var(--grau);text-decoration:line-through;font-size:12px;margin-right:4px}
.neu{font-weight:700;color:var(--akz)}
.tabelle.imp td.netto{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;white-space:nowrap}
.rollen{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.schritte{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.schritte a{padding:5px 12px;border-radius:16px;border:1px solid var(--linie);background:#fff;font-size:13px;text-decoration:none;color:var(--txt)}
.schritte a.an{background:var(--akz);color:#fff;border-color:var(--akz)}
.schritte a.ok{background:#E6F4EC;color:#1d5e3a;border-color:#cfe8da}
.felder{display:grid;gap:6px;margin:12px 0}
.felder label{background:#fff;border:1px solid var(--linie);border-radius:14px;padding:3px 10px;font-size:13px;display:inline-flex;gap:5px;align-items:center;margin:2px 0}
.csv{background:#1C2B33;color:#DDE6E8;border-radius:10px;padding:10px 12px;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;overflow-x:auto;white-space:pre}
.csv .k{color:#8FD3D9}
.vb{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.vb span{font-size:12px;padding:3px 8px;border-radius:10px;background:#E6F4EC;color:#1d5e3a}.vb span.x{background:#FDECEA;color:#922}
.anm{border:1px solid #CBE4E6;background:#E9F4F5;border-radius:10px;padding:8px 12px;font-size:13px;margin:10px 0}
.imp-leiste{position:sticky;bottom:0;background:var(--hg);padding:10px 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--linie);margin-top:10px}
.imp-ungespeichert{color:var(--gelb);font-weight:600}
@media(max-width:640px){.tabelle.imp td,.tabelle.imp th{white-space:nowrap}}
.imp-auswahl{position:absolute;z-index:50;width:370px;max-width:92vw;background:#fff;border:1px solid var(--linie);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:8px}
.imp-auswahl input[type=search]{width:100%;margin-bottom:6px}
.imp-auswahl-liste{max-height:280px;overflow-y:auto}
.imp-auswahl-liste label{display:flex;gap:6px;align-items:flex-start;padding:4px 6px;border-radius:6px;font-size:13px;cursor:pointer}
.imp-auswahl-liste label:hover{background:#FAF9F5}.imp-auswahl-liste label.an{background:#E9F4F5}
.imp-auswahl-fuss{border-top:1px solid var(--linie);margin-top:6px;padding-top:6px}
.imp-wahl-namen{max-width:300px;white-space:normal;margin-top:2px;line-height:1.3}
input.imp-wahl{cursor:pointer}
.imp-kalender{position:absolute;z-index:60;width:264px;background:#fff;border:1px solid var(--linie);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:8px;font-size:13px}
.imp-kalender .kal-kopf{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.imp-kalender .kal-kopf button{border:0;background:none;font-size:20px;line-height:1;padding:2px 10px;cursor:pointer;color:var(--txt)}
.imp-kalender table{width:100%;border-collapse:collapse;text-align:center}
.imp-kalender th{font-weight:600;padding:3px 0}
.imp-kalender td{padding:1px}
.imp-kalender td button{width:100%;border:0;background:none;border-radius:6px;padding:5px 0;cursor:pointer;font:inherit;color:var(--txt)}
.imp-kalender td button:hover{background:#EEF6F6}
.imp-kalender td button.fremd{color:#b9b4a8}
.imp-kalender td button.heute{outline:1px solid var(--akz)}
.imp-kalender td button.an{background:var(--akz);color:#fff}
.imp-kalender .kal-fuss{display:flex;justify-content:space-between;border-top:1px solid var(--linie);margin-top:6px;padding-top:6px}
.imp-kalender .kal-fuss button{border:0;background:none;color:var(--akz);cursor:pointer;font:inherit}
/* Importlisten – Artikelneuanlage (1.8.0) */
.form2{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 16px}
.form2 label{display:grid;gap:3px;font-size:13px}
.form2 label small{color:var(--grau)}
.form2 input,.form2 select,.form2 textarea{width:100%}
.form2 .breit2{grid-column:span 2}
@media(max-width:640px){.form2 .breit2{grid-column:auto}}
.eig{display:grid;grid-template-columns:200px 1fr auto;gap:8px;align-items:center;margin:6px 0}
@media(max-width:640px){.eig{grid-template-columns:1fr}}
.nrvor{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
.tabelle.imp tr.weg td{background:#F4F2EC;color:#b0aa9c}
.tabelle.imp tr.weg td.sku{text-decoration:line-through}
.tabelle.imp select.erbt{color:var(--gruen)}
.imp-sortknoepfe{display:inline-flex;gap:2px;align-items:center;margin-right:4px;vertical-align:middle}
.imp-sortknoepfe button{border:1px solid var(--linie);background:#fff;border-radius:5px;padding:1px 6px;font-size:12px;cursor:pointer;line-height:1.4}
.imp-sortknoepfe button:hover{border-color:var(--akz);color:var(--akz)}
.imp-griff{cursor:grab;color:var(--grau);padding:0 4px;font-size:15px;user-select:none}
.tabelle.imp tr.imp-zieht td{opacity:.45}
.tabelle.imp tr.imp-ueber td{box-shadow:inset 0 2px 0 var(--akz)}
.tabelle.imp td.n:has(.imp-sortknoepfe){white-space:nowrap}
/* Löschliste (Mockup freigegeben 16.10.2026) */
.punkt.gruen{background:var(--gruen)}
.box.rotrand{border:2px solid var(--rot)}
.tabelle.loe tr.sperre td{background:#FFF5F4}
.tabelle.loe tr.hinw td{background:#FFFBEF}
.tabelle.loe tr.raus td{color:var(--grau)}
.tabelle.loe tr.raus .sku{text-decoration:line-through}
.hinweise{display:flex;gap:4px;flex-wrap:wrap}
.hinweise .h{font-size:12px;padding:1px 7px;border-radius:10px}
.hinweise .h.rot{background:#FDECEA;color:#922}.hinweise .h.gelb{background:#FFF4D6;color:#7a5a00}.hinweise .h.grau{background:#EEE;color:#555}.hinweise .h.gruen{background:#E6F4EC;color:#1d5e3a}
td > .h{font-size:12px;padding:1px 7px;border-radius:10px}
td > .h.grau{background:#EEE;color:#555}
.tabelle.imp select.auto{background:#FFF4D6}

/* ── Volle Breite und halbe Bildschirmbreite (17.10.2026) ──────────────────
   Tabellen bekommen einen eigenen Scrollbereich (app.js legt .tabelle-rahmen um jede .tabelle), damit eine breite Tabelle
   nie die Seite sprengt. Zwischen 641 und 1100 px (Splitscreen 50 %) etwas dichter: kleinere Abstände, Leisten brechen um. */
.tabelle-rahmen{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;max-width:100%}
.tabelle-rahmen > .tabelle{margin:0}
@media(max-width:1100px){
  main,main.breit{padding:16px 14px 60px}
  .kopf{gap:8px;padding:0 10px}
  .kopf .marke{font-size:15px}
  .kopf nav a{padding:6px 7px;font-size:13px}
  .tabelle th,.tabelle td{padding:7px 8px;font-size:13px}
  .tabelle th{font-size:11px}
  .kacheln{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
  .kachel{padding:12px}
  .kachel .zahl{font-size:24px}
  .leiste > input[type=text],.leiste > input[type=search],.leiste > textarea,.leiste > select{min-width:0;max-width:100%}
  h1{font-size:20px}
}
@media(max-width:640px){main,main.breit{padding:12px 10px 60px}}
/* Kopfzeile: bis 1100 px steht die Navigation in einer eigenen Zeile und bricht um, statt zu scrollen */
@media(max-width:1100px){
  .kopf{flex-wrap:wrap;row-gap:0;padding-bottom:4px}
  .kopf nav{order:3;flex:1 1 100%;flex-wrap:wrap;overflow:visible;white-space:normal;min-width:0}
  .kopf .wer{margin-left:auto}
}
/* Reiter brechen um statt zu scrollen */
.reiter{flex-wrap:wrap;overflow-x:visible}
/* Volle Breite: Eingabefelder nicht über die ganze Seite ziehen (Tabellenfelder haben eigene Breiten) */
main form.suche{max-width:1100px}
main input[type=text],main input[type=search],main input:not([type]),main textarea{max-width:960px}
main .tabelle input,main .tabelle textarea{max-width:none}
/* Fall-Karten: Nummer + Kopier-Symbol links, Zuweisung und Status rechts, Name darunter (das Kopier-Symbol belegte sonst die Mittelspalte) */
details.karte.fall summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
details.karte.fall summary > .zu{order:2;margin-left:auto;text-align:right}
details.karte.fall summary > span:not([class]),details.karte.fall summary > .tag{order:3}
details.karte.fall summary > .name{order:4;flex-basis:100%}
/* Logs & Feedback (1.10.0) */
.fb-knopf{position:fixed;right:18px;bottom:18px;z-index:40;background:var(--akz);color:#fff;border:0;border-radius:22px;padding:9px 15px;font:inherit;font-size:14px;box-shadow:0 4px 14px rgba(0,0,0,.18);cursor:pointer}
.fb-knopf:hover{filter:brightness(1.08)}
.fb-knopf:disabled{opacity:.7;cursor:wait}
@media print{.fb-knopf{display:none}}
.fb-hg{position:fixed;inset:0;z-index:80;background:rgba(28,43,51,.4);display:flex;align-items:center;justify-content:center;padding:16px}
.fb-dialog{background:#fff;border-radius:14px;padding:18px;width:100%;max-width:560px;max-height:92vh;overflow:auto;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.fb-dialog textarea{width:100%;max-width:none}
.fb-seg{display:flex;background:#F1EFE8;border-radius:10px;padding:3px;gap:3px;margin:10px 0}
.fb-seg button{flex:1;border:0;background:none;border-radius:8px;padding:8px;font:inherit;font-size:14px;cursor:pointer;color:var(--txt)}
.fb-seg button.an{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12);font-weight:600}
.fb-bild{margin:10px 0;border:1px solid var(--linie);border-radius:8px;overflow:hidden;max-height:220px;display:flex;align-items:center;justify-content:center;min-height:40px;padding:4px}
.fb-bild img{max-width:100%;max-height:210px;display:block}
.kopf nav small.zaehler{background:var(--rot);color:#fff;border-radius:9px;padding:0 6px;font-size:11px;margin-left:3px}
.st{font-size:11px;padding:2px 7px;border-radius:10px;font-weight:600;white-space:nowrap}
.st.error{background:#FDECEA;color:var(--rot)}.st.warn{background:#FFF4D6;color:#8A6400}.st.info{background:#EEF2F4;color:#4A5A61}
.tabelle.prot tr.error td{background:#FFF5F4}.tabelle.prot tr.warn td{background:#FFFBEF}
.tabelle.prot td.nachr{max-width:620px}
.tabelle.prot pre,.fb-karte pre{background:#1C2B33;color:#DDE6E8;border-radius:8px;padding:8px 10px;font-size:12px;overflow-x:auto;margin:6px 0 0;white-space:pre-wrap;word-break:break-word}
.fb-karte{display:flex;gap:14px;align-items:flex-start}
.fb-karte .vorschau-bild{flex:none;width:180px;border:1px solid var(--linie);border-radius:8px;overflow:hidden;display:block;background:#FAF9F5}
.fb-karte .vorschau-bild img{width:100%;display:block}
.fb-karte .rechts{flex:1;min-width:0}
@media(max-width:700px){.fb-karte{flex-direction:column}.fb-karte .vorschau-bild{width:100%;max-height:220px}.fb-karte .vorschau-bild img{object-fit:cover;object-position:top}}

/* Preislisten-Abgleich (1.11.0) */
.raster.pl-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin-bottom:12px}
.pl-balken{display:flex;height:10px;border-radius:5px;background:var(--linie);overflow:hidden;margin:8px 0 4px}
.pl-balken span{display:block;height:100%}
.pl-zuord{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:10px 0}
.pl-zuord label{display:flex;flex-direction:column;gap:3px;font-size:13px}
.pl-vorschau td,.pl-vorschau th{white-space:nowrap;font-size:12px}
.pl-zeitachse{border-left:2px solid var(--linie);margin:8px 0 10px 4px;padding-left:12px;font-size:13px}
.pl-zeitachse div{position:relative;margin:6px 0}
.pl-zeitachse div::before{content:"";position:absolute;left:-18px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--gruen)}
.pl-zeitachse div.jetzt::before{background:var(--akz)}.pl-zeitachse div.offen::before{background:var(--gelb)}
.pl-alt{text-decoration:line-through;color:var(--grau);margin-right:6px;font-size:12px}
.pl-zeilen td{vertical-align:top}
.reiter small.n{background:var(--linie);color:var(--txt)}
.pl-zeilen tr.klick{cursor:pointer}.pl-zeilen tr.klick:hover td{background:#F4FAFA}
.pl-det td{background:#FAFAF7}
.pl-zwei{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pl-kv{border-collapse:collapse;width:100%;font-size:13px;margin:4px 0 6px}.pl-kv td{padding:3px 6px;border-bottom:1px solid var(--linie);vertical-align:top}
.pl-kv td:first-child{color:var(--grau);width:40%}.pl-kv td.abw{background:#FFF4D6}
@media(max-width:900px){.pl-zwei{grid-template-columns:1fr}}
.pl-projekte{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 14px;margin-top:6px}.pl-projekte a{text-decoration:none;color:var(--txt);padding:4px 0;border-bottom:1px solid var(--linie)}.pl-projekte a:hover b{color:var(--akz)}
/* Preislisten ZL-Sicht (1.12.0) */
.pl-zl{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:600;color:var(--akz);text-decoration:none;border-bottom:1px dashed var(--akz)}
.pl-zl:after{content:" ↗";font-size:11px}
.pl-artikel tr.pl-gruppe td{background:#F4F7F7}
.pl-artikel tr.pl-gr td:nth-child(2){padding-left:28px}
.pl-artikel tr.inaktiv td{background:#FDECEA}
.pl-aufzu{color:var(--akz);font-size:12px;white-space:nowrap;margin-left:4px}
.pl-such{display:flex;gap:6px;margin:6px 0}.pl-such input{flex:1}
.pl-erg{border:1px solid var(--linie);border-radius:8px;background:#fff;font-size:13px}.pl-erg:empty{display:none}
.pl-erg>div{display:grid;grid-template-columns:44px 1fr 120px auto;gap:8px;padding:6px 8px;border-bottom:1px solid var(--linie);align-items:center}
.pl-erg>div:last-child{border-bottom:0}.pl-erg>p{margin:6px 8px}
.pl-alt-schritte summary{cursor:pointer;margin:0 0 6px -12px;list-style-position:inside}
/* Modul VDST (1.14.0) */
.kachel.vdst-an{outline:2px solid var(--blau,#0B5CAD)}
.kachel.vdst-gelb{border:2px solid var(--gelb)}
.tabelle td.vdst-leer{background:#FFF4B8}
.tabelle tr.vdst-warn td{background:#FFFBEF}
.tabelle tr.vdst-weg td{background:#F3F3F1;color:var(--grau)}
.tabelle tr.vdst-gs td{color:var(--rot)}
.tabelle tr.vdst-summe td{font-weight:700;background:#FAF9F5}
.tabelle.vdst-art select,.tabelle.vdst-art input{font-size:13px;padding:4px 6px}
.tabelle.vdst-art .gespeichert{outline:2px solid var(--gruen)}.tabelle.vdst-art .fehler{outline:2px solid var(--rot)}
.leiste form{display:inline-flex;gap:8px;align-items:center;margin:0}
