/* Datenimport/-export – Komponente. Farben kommen vom Gastgeber (Carbo Farm: --surface/--btn …, Hof-App: --panel/--brand …), sonst eigene Werte. */
.di{--di-surface:var(--surface,var(--panel,#fff));--di-band:var(--band,var(--bg2,#eef2f6));--di-ink:var(--ink,#1d2b36);--di-ink2:var(--ink2,#4c6071);--di-line:var(--line,#dde3ea);
  --di-good:var(--good,#2f7d4a);--di-bad:var(--bad,#b23a2a);--di-warn:var(--warn,#7a5a00);--di-warnbg:var(--warnbg,var(--est,#fff4d6));--di-btn:var(--btn,var(--brand,#0077ad));--di-btnink:var(--btnink,var(--brandInk,#fff));
  --di-link:var(--link,var(--acc,#006a9c));--di-soft:var(--soft,var(--panel2,#e5f5fc));color:var(--di-ink);min-width:0}
.di *{box-sizing:border-box}
.di h3{font-size:1.15rem;margin:0 0 8px}.di h4{font-size:1rem;margin:14px 0 8px}
.di-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px;padding:0;border:0}
.di-card{background:var(--di-surface);border:1px solid var(--di-line);border-radius:16px;padding:clamp(12px,2vw,20px);margin:0 0 14px;min-width:0}
details.di-card>summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.di-small{font-size:.88rem;color:var(--di-ink2)}
.di-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.di-tabs button{font-weight:700;font-size:.95rem;font-family:inherit;min-height:44px;padding:8px 14px;border-radius:999px;border:1px solid var(--di-line);background:var(--di-surface);color:var(--di-ink);cursor:pointer}
.di-tabs button[aria-selected="true"]{background:var(--di-btn);border-color:var(--di-btn);color:var(--di-btnink)}
.di-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--di-btn);color:var(--di-btnink);border:2px solid var(--di-btn);font-weight:700;font-size:1rem;line-height:1.2;font-family:inherit;padding:10px 16px;border-radius:999px;min-height:48px;cursor:pointer;text-align:center;text-decoration:none;max-width:100%}
.di-btn.alt{background:transparent;color:var(--di-link)}.di-btn.sm{min-height:44px;font-size:.88rem;padding:6px 12px}.di-btn.bad{background:var(--di-bad);border-color:var(--di-bad);color:#fff}.di-btn[disabled]{opacity:.5;cursor:not-allowed}
.di-btns{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.di label{display:block;font-weight:600;margin:8px 0 4px}
.di input[type=text],.di input[type=search],.di select{width:100%;min-height:44px;font:inherit;padding:6px 10px;border:1px solid var(--di-line);border-radius:10px;background:var(--di-surface);color:var(--di-ink);min-width:0}
.di-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.di-row>div{flex:1 1 170px;min-width:0}.di-row>.di-noflex{flex:0 0 auto}
.di-chk{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important;min-height:44px;margin:4px 0!important;cursor:pointer}
.di-chk input{width:22px;height:22px;flex:0 0 22px;margin-top:2px;accent-color:var(--di-btn)}
.di-drop{border:2px dashed var(--di-line);border-radius:14px;padding:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.di-drop.over{border-color:var(--di-btn);background:var(--di-soft)}
.di-file{position:absolute;opacity:0;width:1px;height:1px}.di-file:focus-visible+span,.di-drop:focus-within{outline:3px solid var(--di-btn);outline-offset:2px}
.di-msg{padding:10px 12px;border-radius:12px;font-weight:600;margin:8px 0}.di-msg.ok{background:color-mix(in srgb,var(--di-good) 14%,var(--di-surface));color:var(--di-good)}
.di-msg.bad{background:color-mix(in srgb,var(--di-bad) 12%,var(--di-surface));color:var(--di-bad)}.di-msg.info{background:var(--di-soft)}.di-msg.warn{background:var(--di-warnbg);color:var(--di-warn)}
.di-msg.warn p{margin:0 0 8px}
.di-bdg{display:inline-block;font-weight:700;font-size:.76rem;line-height:1.3;font-family:inherit;padding:3px 8px;border-radius:999px;background:var(--di-band);color:var(--di-ink);margin:2px 4px 2px 0}
.di-bdg.ok{background:color-mix(in srgb,var(--di-good) 16%,var(--di-surface));color:var(--di-good)}.di-bdg.warn{background:var(--di-warnbg);color:var(--di-warn)}.di-bdg.bad{background:color-mix(in srgb,var(--di-bad) 14%,var(--di-surface));color:var(--di-bad)}
.di-amp{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:-2px;flex:0 0 14px;border:2px solid rgba(0,0,0,.15)}
.di-amp-g{background:#2fb36b}.di-amp-y{background:#f2b705}.di-amp-r{background:#e0483a}
.di-leg{font-size:.9rem;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.di-hinw{margin:6px 0;padding-left:20px;color:var(--di-warn)}
.di-vl,.di-spl,.di-files,.di-xl,.di-pp{list-style:none;margin:0;padding:0}
.di-v{border:1px solid var(--di-line);border-left:5px solid var(--di-line);border-radius:12px;padding:8px 10px;margin:0 0 8px;min-width:0}
.di-v-g{border-left-color:#2fb36b}.di-v-y{border-left-color:#f2b705;background:color-mix(in srgb,var(--di-warnbg) 45%,var(--di-surface))}.di-v-r{border-left-color:#e0483a}
.di-v.aus{opacity:.72}
.di-vt{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.di-vt .di-chk{min-height:44px;margin:0!important;align-items:center}
.di-zt{flex:1 1 220px;min-width:0}.di-zt select{font-weight:700}
.di-jahr{flex:0 0 88px}.di-jahr input{text-align:center}
.di-vw{margin:6px 0;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;min-width:0}
.di-pair{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.di-pair input{max-width:170px}.di-pair label{margin:0;font-weight:500;font-size:.85rem}
.di-src{overflow-wrap:anywhere}
.di-gr{margin:4px 0 0;padding-left:18px;font-size:.86rem;color:var(--di-warn)}
.di-v-r .di-gr{color:var(--di-bad)}
.di-konf{border:1px dashed var(--di-line);border-radius:10px;margin:6px 0 0;padding:4px 10px}.di-konf legend{font-size:.88rem;font-weight:700;padding:0 4px}
.di-sp{border-top:1px solid var(--di-line);padding:6px 0}.di-sp summary{cursor:pointer;min-height:44px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-weight:700}
.di-spl li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:8px;align-items:center;padding:4px 0;border-bottom:1px solid var(--di-line)}
.di-kopf{overflow-wrap:anywhere;font-size:.92rem}
.di-files li{border-bottom:1px solid var(--di-line);padding:4px 0}.di-files b{overflow-wrap:anywhere}
.di-xl li{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--di-line);padding:8px 0}.di-xl li>span:first-child{flex:1 1 240px;min-width:0}
.di-xl .di-btns{margin:0}
.di-pp li{font-size:.86rem;padding:3px 0;border-bottom:1px solid var(--di-line);overflow-wrap:anywhere}
.di-ob{border-left:4px solid var(--di-btn);padding-left:10px}
.di-dlg{border:1px solid var(--di-line);border-radius:16px;background:var(--di-surface);color:var(--di-ink);max-width:min(560px,calc(100vw - 32px));width:100%;padding:18px;max-height:90vh;overflow:auto}
.di-dlg::backdrop{background:rgba(0,0,0,.55)}
.di-dlg ul{padding-left:20px}
@media (max-width:520px){.di-spl li{grid-template-columns:1fr auto}.di-spl li .di-kopf{grid-column:1/-1}.di-pair input{max-width:none;flex:1 1 120px}}
