/* ══ WP Trade Hub · EUDR (v4.911, Stufe 1; KI-Vorschlag seit v4.913) ══════════════════════════════════════════════════════════════════════════
   Die EUDR-Seite folgt der Mengenmeldung der Verpackungen und damit der CBAM-Übersicht, die Peter freigegeben hat:
   dieselben Klassen (cbKopf, cbKpi, cbCard, cbKartenKopf, cbSeg, cbBtnS/cbBtnP). ⚠️ cbam.css hängt die Farbmarken
   (--cb…) nur an #viewCbam — deshalb stehen sie hier noch einmal an .euSeite, hell UND dunkel (wie packaging.css).
   Zustände: offen und erneut prüfen gelb, betroffen blau, nicht betroffen grau. Nie grün (keine Rechtsfreigabe).
   Ausnahme (v4.915, Peter 18.10.2026): der Lauf-Punkt „Claude bewertet …“ ist grün. Er zeigt nur, dass gearbeitet wird,
   keinen Zustand; nicht nach der Regel oben zurückstellen.
   Peters Optik: keine farbigen Ränder, nichts kursiv, Ziffern gleich breit. */

#viewCompliance .euSeite{--cbBlau:#2a87c8;--cbBlauD:#185fa5;
  /* v4.963: hell an die zentrale Palette gebunden (Nebelgrau) — vorher fest #f4f5f6 / #fff, die Seite blieb reinweiß */
  --cbGrund:var(--sbPage,#e4e9ef);--cbKarte:var(--sbCard,#f7f9fb);--cbKarte2:var(--sbCard2,#edf1f5);--cbLinie:var(--sbLine,#d5dce5);--cbLinie2:var(--sbLineSoft,#e1e6ed);
  --cbInk:#111827;--cbMut:#5f6b76;--cbSoft:#4b5563;--cbDatum:#1b6ea8;
  --cbGruen:#16a34a;--cbGruenT:#e6f6ee;--cbGruenI:#0f8a4f;--cbBlauT:#e9f2fb;--cbBlauI:#1b6ea8;
  --cbAmberT:#fdf1dc;--cbAmberI:#b45309;--cbPillB:#e9f2fb;--cbPillBt:#185fa5;--cbPillA:#fef3c7;--cbPillAt:#b45309;
  --cbPillG:#f1f5f9;--cbPillGt:#334155;--cbSpur:#e5e7eb;--cbMarker:#4b5563;
  --cbSchatten:0 1px 2px rgba(17,24,39,.04),0 8px 24px -18px rgba(17,24,39,.25);
  --euTag:#f1f5f9;--euTagT:#334155;--euHit:#fef3c7;--euHitT:#92400e;--euWarn:#b45309;--euFehler:#b91c1c;--euOk:#185fa5;--euSel:#f3f7fc}
html[data-theme=dark] #viewCompliance .euSeite{--cbBlau:#63b8ea;--cbBlauD:#2a87c8;
  --cbGrund:var(--sbPage,#0a1a2b);--cbKarte:var(--sbCard,#0f2338);--cbKarte2:#152a44;--cbLinie:var(--sbLine,rgba(255,255,255,.10));--cbLinie2:var(--sbLineSoft,rgba(255,255,255,.06));
  --cbInk:var(--sbInk,#e9eff7);--cbMut:#8fa4bd;--cbSoft:#c3d0de;--cbDatum:#7cc0ee;
  --cbGruen:#3fbf7f;--cbGruenT:rgba(78,207,146,.16);--cbGruenI:#4ecf92;--cbBlauT:rgba(77,163,232,.18);--cbBlauI:#5db0f0;
  --cbAmberT:rgba(245,158,11,.16);--cbAmberI:#f2ab63;--cbPillB:rgba(77,163,232,.16);--cbPillBt:#8cc7f3;--cbPillA:rgba(245,158,11,.18);--cbPillAt:#f2c27a;
  --cbPillG:rgba(255,255,255,.08);--cbPillGt:#c3d0de;--cbSpur:rgba(255,255,255,.10);--cbMarker:#c3d0de;
  --cbSchatten:0 1px 2px rgba(0,0,0,.25),0 10px 30px -20px rgba(0,0,0,.6);
  --euTag:rgba(255,255,255,.08);--euTagT:#c3d0de;--euHit:rgba(245,158,11,.18);--euHitT:#f2c27a;--euWarn:#f2ab63;--euFehler:#fca5a5;--euOk:#8cc7f3;--euSel:rgba(77,163,232,.10)}

/* Ist die EUDR-Seite offen, weichen Kennzahlen, Filter und Liste der Akten — die Fenster bleiben. */
#viewCompliance.euOffen > section:not(.euSeite){ display:none; }
/* ⚠️ Die Seite ist ihr eigener Bildlaufbereich, wie die Mengenmeldung (#viewPackaging .pmSeite): ab 981 px hat
   #viewCompliance overflow:hidden (css/compliance.css), sonst waren 7 von 108 Zeilen zu sehen und nichts rollte
   (Kontrolletti 16.10.2026). Die Leiste der Sammelbestätigung klebt am unteren Rand DIESES Bereichs. */
#viewCompliance .euSeite{ display:flex; flex-direction:column; flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; padding:2px 2px 14px; color:var(--cbInk); }
/* ⚠️ index.html setzt ab 981 px „#viewCompliance > *:not(.listCard){flex:0 0 auto}“ — gleich spezifisch wie die Regel
   darüber und weiter hinten, sie gewann (die Seite wurde 7769 px hoch statt zu rollen). Mit .euOffen wiegt diese mehr. */
#viewCompliance.euOffen > .euSeite{ flex:1 1 auto; min-height:0; }
#viewCompliance .euSeite[hidden]{ display:none; }
#viewCompliance .euSeite > *{ flex-shrink:0; }
.euSeite .euKopf .cbKrumen a{ color:var(--cbDatum); text-decoration:none; font-weight:600; cursor:pointer; }
.euSeite .euKopf .cbKrumen a:hover{ text-decoration:underline; }
.euSeite .pmKopf{ display:flex; align-items:flex-start; gap:16px; flex-wrap:wrap; }
.euSeite .pmKopf > div:first-child{ flex:1; min-width:0; }
.euSeite .pmWerk{ display:flex; gap:10px; align-items:center; margin-top:6px; }
.euSeite .pmWerk .cbBtnS svg{ width:18px; height:18px; }

/* Fünf Kacheln: Offen, Erneut prüfen, Betroffen, Nicht betroffen, Regelstand */
.euSeite .euKpis{ grid-template-columns:repeat(5,minmax(0,1fr)); }
.euSeite .euKpis .cbKpi{ grid-column:auto; }
.euSeite .cbKpi.grau .cbKreis{ background:var(--cbPillG); color:var(--cbPillGt); }
.euSeite .cbKpi .t{ overflow-wrap:anywhere; }
.euSeite .cbKpi .s{ min-height:0; }
/* „Fassung 1“ ist breiter als eine Zahl — in der Regelstand-Kachel kleiner und umbrechbar (gemessen 135 statt 111 px) */
.euSeite .cbKpi.euRegelKpi .v{ font-size:22px; white-space:normal; line-height:1.25; margin:6px 0 6px; }
@media (max-width:1300px){ .euSeite .euKpis{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px){ .euSeite .euKpis{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

.euSeite .euCard{ display:flex; flex-direction:column; min-width:0; }
.euSeite .euLeiste{ justify-content:space-between; }
.euSeite .euFilter{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.euSeite .euSuche{ width:290px; max-width:100%; height:36px; }
.euSeite .euChips{ display:inline-flex; gap:6px; flex-wrap:wrap; }
.euSeite .euChip{ border:0; background:var(--cbPillG); color:var(--cbSoft); font:inherit; font-size:12.5px; font-weight:650; padding:7px 13px; border-radius:999px; cursor:pointer; }
.euSeite .euChip.on{ background:var(--cbPillB); color:var(--cbPillBt); }
.euSeite .euChip:focus-visible{ outline:2px solid var(--cbBlau); outline-offset:2px; }
.euSeite .euHinweisZeile{ padding:0 20px 10px; font-size:12.5px; color:var(--cbMut); }

.euSeite .euTabWrap{ overflow-x:auto; }
.euTab{ width:100%; border-collapse:collapse; font-size:13.5px; color:var(--cbInk); }
.euTab th{ text-align:left; font-weight:500; color:var(--cbMut); font-size:12.5px; padding:8px 14px; border-top:1px solid var(--cbLinie); border-bottom:1px solid var(--cbLinie2); white-space:nowrap; }
.euTab td{ padding:10px 14px; border-bottom:1px solid var(--cbLinie2); vertical-align:top; }
.euTab th:first-child, .euTab td:first-child{ padding-left:20px; }
.euTab th:last-child, .euTab td:last-child{ padding-right:20px; }
.euTab tr.sel td{ background:var(--euSel); }
.euTab .euWahl{ width:34px; }
.euTab .euWahl input{ width:17px; height:17px; cursor:pointer; accent-color:var(--cbBlauD); }
.euTab .euName{ font-weight:650; }
.euTab .euLief{ min-width:120px; }
.euTab .euKn{ min-width:120px; }
.euTab .euHinw{ max-width:300px; color:var(--cbSoft); font-size:12.5px; }
.euTab .euGep{ white-space:nowrap; }
.euTab .euAkt{ text-align:right; white-space:nowrap; }
.euTab .euLeer{ color:var(--cbMut); padding:22px 20px; }
.euTab .num, .euSeite .num{ font-variant-numeric:tabular-nums; }
.euTab.euKlein2{ font-size:12.5px; }
.euTab.euKlein2 th, .euTab.euKlein2 td{ padding:6px 10px; }
.euTab.euKlein2 th:first-child, .euTab.euKlein2 td:first-child{ padding-left:0; }
.euMut{ color:var(--cbMut); font-size:12.5px; }
.euSeite .euMut{ color:var(--cbMut); }
.euTag{ display:inline-block; border-radius:7px; padding:1px 7px; margin:1px 4px 1px 0; font-size:12px; font-weight:650;
        background:var(--euTag,#f1f5f9); color:var(--euTagT,#334155); font-variant-numeric:tabular-nums; white-space:nowrap; }
.euTag.hit{ background:var(--euHit,#fef3c7); color:var(--euHitT,#92400e); }
.cbBtnS.euKlein, .cbBtnP.euKlein{ height:32px; font-size:13px; padding:0 12px; }

/* Läuft unten mit: wer oben anhakt, sieht den Knopf, ohne ans Ende der Liste zu scrollen.
   bottom:-14px = die untere Polsterung der Seite (padding 2px 2px 14px): mit bottom:0 klebte die Leiste 14 px über dem
   Rand, und darunter schienen abgeschnittene Zeilen durch (Kontrolletti 16.10.2026). Am Ende der Liste steht sie wie
   bisher am Fuß der Karte, weil sie ihre Karte nicht verlassen kann. */
.euSeite .euSammel{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 20px 16px; border-top:1px solid var(--cbLinie2);
                    position:sticky; bottom:-14px; z-index:2; background:var(--cbKarte); border-radius:0 0 12px 12px; }
.euSeite .euSammelTxt{ font-size:13px; color:var(--cbSoft); font-variant-numeric:tabular-nums; }
.euSeite .euFrage{ display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:13px; color:var(--cbInk); }
.euSeite .euMeldung{ font-size:13px; font-weight:600; color:var(--euOk); }

/* Regelstand */
.euSeite .euRegel{ padding:4px 20px 18px; display:flex; flex-direction:column; gap:16px; }
.euSeite .euZwei{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:start; }
@media (max-width:1100px){ .euSeite .euZwei{ grid-template-columns:minmax(0,1fr); } }
.euSeite .euBox{ background:var(--cbKarte2); border-radius:12px; padding:14px 16px; min-width:0; }
.euSeite .euBoxKopf{ font-size:13.5px; font-weight:700; color:var(--cbInk); margin:10px 0 4px; }
.euSeite .euBoxKopf:first-child{ margin-top:0; }
.euSeite .euListe{ margin:4px 0 0; padding-left:18px; font-size:13px; }
.euSeite .euListe li{ margin:3px 0; }
.euSeite .euAnhangWrap{ max-height:560px; overflow:auto; }
.euSeite .euAnhangWrap thead th{ position:sticky; top:0; background:var(--cbKarte2); z-index:1; }
.euSeite .euImport{ display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.euSeite .euDatei{ cursor:pointer; }
.euSeite .euFehler, .euFehler{ color:var(--euFehler,#b91c1c); font-size:12.5px; font-weight:600; }

/* ══ Bewertungsfenster (am Ende von body, deshalb eigene Marken, hell und dunkel) ══ */
#mEudr{--euInk:#111827;--euMutF:#5f6b76;--euBoxF:#f6f8fb;--euTag:#f1f5f9;--euTagT:#334155;--euHit:#fef3c7;--euHitT:#92400e;
       --euWarn:#b45309;--euFehler:#b91c1c;--euOk:#185fa5;--euPfl:#b91c1c}
html[data-theme=dark] #mEudr{--euInk:#e9eff7;--euMutF:#8fa4bd;--euBoxF:rgba(255,255,255,.05);--euTag:rgba(255,255,255,.08);--euTagT:#c3d0de;
       --euHit:rgba(245,158,11,.18);--euHitT:#f2c27a;--euWarn:#f2ab63;--euFehler:#fca5a5;--euOk:#8cc7f3;--euPfl:#fca5a5}
#mEudr .dlg.euDlg{ width:min(860px,95vw); max-width:none; max-height:92vh; padding:0; display:flex; flex-direction:column; overflow:hidden; }
#mEudr .euDlgKopf{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-right:56px; }
#mEudr .euDlgStand{ flex:0 0 auto; padding-top:22px; }
#mEudr .euDlgBody{ padding:4px 24px 14px; overflow:auto; display:flex; flex-direction:column; gap:14px; color:var(--euInk); }
#mEudr .euBox{ background:var(--euBoxF); border-radius:12px; padding:12px 14px; }
#mEudr .euBoxKopf{ font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--euMutF); margin-bottom:6px; }
#mEudr .euHinwZeile{ display:flex; gap:10px; align-items:flex-start; font-size:13px; margin:4px 0; }
#mEudr .euMut{ color:var(--euMutF); }
#mEudr .euKleinTxt{ font-size:12px; margin-top:4px; }
#mEudr .euKleinTxt a{ color:var(--euOk); font-weight:600; }
#mEudr .euWarn{ margin-top:8px; font-size:13px; font-weight:600; color:var(--euWarn); }
#mEudr .euFeld label, #mEudr .euFg label{ font-size:12px; font-weight:600; }
#mEudr .euStatus{ margin-top:4px; flex-wrap:wrap; }
#mEudr .euStatus button{ font-size:13px; padding:7px 14px; }
#mEudr .euStatus button[disabled]{ opacity:.45; cursor:not-allowed; }
#mEudr .euFg{ margin:0; }
#mEudr .euFg [hidden]{ display:none !important; }
#mEudr .euPflicht{ color:var(--euPfl); }
#mEudr .euFehler{ color:var(--euFehler); font-size:13px; font-weight:600; min-height:1.2em; }
#mEudr .euFehler.euOk{ color:var(--euOk); }
#mEudr .euVerlauf{ display:flex; flex-direction:column; gap:5px; font-size:12.5px; max-height:180px; overflow:auto; }
#mEudr .euVZ{ display:flex; gap:10px; flex-wrap:wrap; }
#mEudr .euVZ b{ font-weight:650; }
#mEudr .euInfo span{ font-size:12px; }
/* Hinweis „inzwischen hat jemand anderes bewertet“ mit „Neu laden“ */
#mEudr .euFremd{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
#mEudr .euFremd .euWarn{ margin-top:0; }
/* Nur lesen (Bewertung ohne Bestellungen): letzte Fassung in Zeilen */
#mEudr .euZeilen{ display:flex; flex-direction:column; gap:4px; font-size:13px; }
/* Fuß ohne Hinweis (Produkt verschwunden): nur Platz, kein .ordReqInfo — dessen Punkt stünde sonst allein da */
#mEudr .euFussLuecke{ flex:1; }
#mEudr .num{ font-variant-numeric:tabular-nums; }

/* ══ v4.913: KI-Vorschlag im Fenster ══
   Peters Optik: kein farbiger Rand, sondern der weiche Schimmer oben links; der Lauf-Punkt pulsiert, solange Claude
   bewertet (der Satz daneben sagt, was passiert), und steht bei „Bewegung reduzieren“ still.
   v4.915, Peter 18.10.2026: „kannst du den pulsierenden punkt besser grün machen, den übersieht man das er arbeitet wenn
   die KI arbeitet“. Grün wie der Upload-Balken aus v4.910: hell #15803d, dunkel --ok2 aus index.html (vorher --euOk, ein
   Graublau, das im Dunkeln kaum auffiel). Bei „Bewegung reduzieren“ ein ruhiger grüner Punkt. */
#mEudr{--euKiSchimmer:rgba(42,135,200,.10); --euKiPunkt:#15803d}
html[data-theme=dark] #mEudr{--euKiSchimmer:rgba(99,184,234,.13); --euKiPunkt:var(--ok2, #22c55e)}
#mEudr .euKi{ display:flex; flex-direction:column; gap:6px; font-size:13px;
              background:radial-gradient(600px 220px at 0% 0%, var(--euKiSchimmer), transparent 62%), var(--euBoxF); }
#mEudr .euKi .euBoxKopf{ margin-bottom:0; }
#mEudr .euKi .euWarn{ margin-top:0; }
#mEudr .euKiKopf{ display:flex; align-items:baseline; justify-content:space-between; gap:6px 12px; flex-wrap:wrap; }
#mEudr .euKiMeta{ font-size:12px; color:var(--euMutF); font-variant-numeric:tabular-nums; }
#mEudr .euKiErst{ font-weight:600; }
#mEudr .euKiZeile{ font-size:12.5px; overflow-wrap:anywhere; }
#mEudr .euKiKnoepfe{ display:flex; gap:8px; flex-wrap:wrap; margin-top:2px; }
#mEudr .euKiLeer{ flex-direction:row; align-items:center; justify-content:space-between; gap:8px 12px; flex-wrap:wrap; }
#mEudr .euKiLauf{ display:flex; align-items:center; gap:10px; }
#mEudr .euKiPunkt{ width:9px; height:9px; border-radius:50%; background:var(--euKiPunkt); flex:0 0 auto; animation:euKiPuls 1.4s ease-in-out infinite; }
@keyframes euKiPuls{ 0%,100%{ opacity:.3 } 50%{ opacity:1 } }
@media (prefers-reduced-motion: reduce){ html:not([data-motion="an"]) #mEudr .euKiPunkt{ animation:none; opacity:1; } }
html[data-motion="aus"] #mEudr .euKiPunkt{ animation:none; opacity:1; }
#mEudr .euKiMarke{ margin-left:6px; font-size:11px; font-weight:600; color:var(--euOk); }
/* Quellen des Vorschlags im Verlauf als eigene Zeile (kein Tooltip: das iPad kennt kein Überfahren) */
#mEudr .euKiQ{ display:block; margin-top:2px; font-size:12px; color:var(--euMutF); overflow-wrap:anywhere; }
/* EUDR-Seite: der Vorschlag unter dem Stand */
.euTab .euKiZ{ margin-top:4px; font-size:12px; font-weight:600; color:var(--euOk); white-space:nowrap; }
.euTab .euKiZ.euKiZLauf{ color:var(--cbMut); font-weight:500; }
.euTab .euKiZ.euKiZFehler{ color:var(--euWarn); cursor:help; }

/* ══ Abschnitt 05 der Compliance-Akte ══ */
.compEudrBody{--euMutF:#5f6b76;--euBoxF:#f6f8fb}
html[data-theme=dark] .compEudrBody{--euMutF:#8fa4bd;--euBoxF:rgba(255,255,255,.05)}
.compEudrBody .euAkte{ display:flex; flex-direction:column; gap:10px; }
.compEudrBody .euAkteKopf{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.compEudrBody .euMut{ color:var(--euMutF); font-size:12.5px; }
.compEudrBody .euKleinTxt{ font-size:12px; margin-top:6px; }
.compEudrBody .euVn{ display:grid; grid-template-columns:150px minmax(0,1fr); gap:4px 12px; font-size:13px; }
.compEudrBody .euVn > span:nth-child(odd){ color:var(--euMutF); }
.compEudrBody .euBox{ background:var(--euBoxF); border-radius:12px; padding:10px 12px; }
.compEudrBody .euBoxKopf{ font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--euMutF); margin-bottom:4px; }
.compEudrBody .cbBtnS{ background:transparent; }

/* ══ Bestellmaske: Hinweis unter dem HS-Code (nur admin und management) ══ */
.ordHsEudr{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:6px; padding:7px 10px; border-radius:10px; font-size:12.5px;
            background:#f1f5f9; color:#334155; }
.ordHsEudr[hidden]{ display:none; }
.ordHsEudr .euHsKopf{ font-weight:700; }
.ordHsEudr.eu-offen, .ordHsEudr.eu-erneut{ background:#fef3c7; color:#92400e; }
.ordHsEudr.eu-ja{ background:#e9f2fb; color:#185fa5; }
html[data-theme=dark] .ordHsEudr{ background:rgba(255,255,255,.07); color:#c3d0de; }
html[data-theme=dark] .ordHsEudr.eu-offen, html[data-theme=dark] .ordHsEudr.eu-erneut{ background:rgba(245,158,11,.16); color:#f2c27a; }
html[data-theme=dark] .ordHsEudr.eu-ja{ background:rgba(77,163,232,.16); color:#8cc7f3; }
.ordHsEudr .mBtn.sm{ margin-left:auto; }
