/* ═══════════════════════════════════════════════════════════════════════════
   KIPG Generator CSS v7.9
   Vollbild · kein Scrollbalken · Modal · Status-Tabelle
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── CSS-Variablen: Dark Theme (Standard) ─────────────────────────────────── */
#kipg-root,
#kipg-root.kipg-theme-dark {
    --kipg-bg:        #0D1117;
    --kipg-surface:   #161B22;
    --kipg-surface2:  #1C2128;
    --kipg-surface3:  #21262D;
    --kipg-border:    #30363D;
    --kipg-text:      #E6EDF3;
    --kipg-muted:     #8B949E;
    --kipg-accent:    #0288D1;
    --kipg-success:   #2E7D32;
    --kipg-warning:   #E65100;
    --kipg-error:     #C62828;
    --kipg-running:   #1565C0;
    --kipg-font:      Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --kipg-radius:    6px;
    --kipg-radius-lg: 10px;
    --kipg-shadow:    0 4px 24px rgba(0,0,0,0.5);
}

/* ── Helles Theme ─────────────────────────────────────────────────────────── */
#kipg-root.kipg-theme-light {
    --kipg-bg:        #F5F7FA;
    --kipg-surface:   #FFFFFF;
    --kipg-surface2:  #F0F2F5;
    --kipg-surface3:  #E8EBF0;
    --kipg-border:    #D0D7DE;
    --kipg-text:      #1C2128;
    --kipg-muted:     #6E7681;
    --kipg-accent:    #0969DA;
    --kipg-success:   #2E7D32;
    --kipg-warning:   #E65100;
    --kipg-error:     #C62828;
    --kipg-running:   #1565C0;
    --kipg-font:      Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --kipg-radius:    6px;
    --kipg-radius-lg: 10px;
    --kipg-shadow:    0 4px 24px rgba(0,0,0,0.12);
}

/* ── Root: Vollbild ──────────────────────────────────────────────────────── */
#kipg-root {
    position:    fixed;
    inset:       0;
    background:  var(--kipg-bg) !important;
    color:       var(--kipg-text) !important;
    font-family: var(--kipg-font) !important;
    font-size:   13px;
    line-height: 1.5;
    z-index:     9000;
    overflow:    hidden;
    display:     flex;
    flex-direction: column;
}
/* Alle Kindelemente erben die Theme-Farben – verhindert WP/Theme-Override */
#kipg-root *, #kipg-root *::before, #kipg-root *::after {
    box-sizing: border-box;
}
#kipg-root table, #kipg-root td, #kipg-root th,
#kipg-root p, #kipg-root span, #kipg-root div {
    color: inherit;
}

/* ── Haupt-Layout ─────────────────────────────────────────────────────────── */
.kipg-wrap {
    display:   flex;
    flex:      1;
    height:    100%;
    overflow:  hidden;
    min-height: 0;
}

/* ── Linke Seite ─────────────────────────────────────────────────────────── */
.kipg-left {
    width:       360px;
    min-width:   260px;
    max-width:   520px;
    flex:        none;
    display:     flex;
    flex-direction: column;
    background:  var(--kipg-surface);
    border-right: 1px solid var(--kipg-border);
    overflow-y:  auto;
    overflow-x:  hidden;
    padding:     16px 14px 10px;
    scrollbar-width: thin;
    scrollbar-color: var(--kipg-border) transparent;
}
.kipg-left::-webkit-scrollbar { width:5px; }
.kipg-left::-webkit-scrollbar-thumb { background:var(--kipg-border); border-radius:4px; }

/* ── Schieberegler ────────────────────────────────────────────────────────── */
.kipg-divider {
    width:          5px;
    flex:           none;
    background:     var(--kipg-border);
    cursor:         col-resize;
    transition:     background 0.15s;
    position:       relative;
    z-index:        10;
}
.kipg-divider:hover,
.kipg-divider.active { background: var(--kipg-accent); }

/* ── Rechte Seite ─────────────────────────────────────────────────────────── */
.kipg-right {
    flex:           1;
    display:        flex;
    flex-direction: column;
    overflow:       hidden;
    padding:        16px;
    gap:            12px;
    min-width:      0;
}

/* ── Logo ─────────────────────────────────────────────────────────────────── */
.kipg-logo-wrap {
    margin-bottom: 12px;
    min-height:    32px;
}
.kipg-logo-wrap img {
    max-height: 36px;
    max-width:  160px;
    object-fit: contain;
}

/* ── Arbeitsmodi ─────────────────────────────────────────────────────────── */
.kipg-mode-tabs {
    display:       flex;
    gap:           4px;
    margin-bottom: 10px;
}
.kipg-mode-tab {
    flex:          1;
    padding:       6px 10px;
    background:    var(--kipg-surface2);
    border:        1px solid var(--kipg-border);
    border-radius: var(--kipg-radius);
    color:         var(--kipg-muted);
    cursor:        pointer;
    font-size:     12px;
    font-weight:   600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition:    all 0.15s;
}
.kipg-mode-tab.active,
.kipg-mode-tab:hover {
    background: var(--kipg-accent);
    border-color: var(--kipg-accent);
    color: #fff;
}

/* ── Formular ─────────────────────────────────────────────────────────────── */
#kipg-form { display:flex; flex-direction:column; gap:8px; flex:1; }

.kipg-label {
    display:     block;
    font-size:   11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    color:       var(--kipg-muted);
    margin-bottom: 4px;
}

.kipg-field { display:flex; flex-direction:column; }
.kipg-field--grow { flex:1; }
.kipg-field--fixed { width:130px; flex:none; }

.kipg-field-row {
    display: flex;
    gap:     8px;
    align-items: flex-start;
}

.kipg-field--grow-area { flex:1; display:flex; flex-direction:column; }
.kipg-field--grow-area textarea {
    flex: 1;
    min-height: 70px;
    resize:     vertical;
}

#kipg-form input[type="text"],
#kipg-form input[type="url"],
#kipg-form input[type="email"],
#kipg-form select,
#kipg-form textarea {
    width:       100%;
    background:  var(--kipg-surface2);
    border:      1px solid var(--kipg-border);
    border-radius: var(--kipg-radius);
    color:       var(--kipg-text);
    padding:     7px 10px;
    font-size:   13px;
    font-family: var(--kipg-font);
    transition:  border-color 0.15s;
    box-sizing:  border-box;
}
#kipg-form input:focus,
#kipg-form select:focus,
#kipg-form textarea:focus {
    outline:      none;
    border-color: var(--kipg-accent);
}
#kipg-form input[type="file"] {
    color: var(--kipg-muted);
    font-size: 12px;
    padding: 5px 8px;
}

/* ── Input + Button nebeneinander ─────────────────────────────────────────── */
.kipg-input-btn-row {
    display:     flex;
    gap:         6px;
    align-items: center;
}
.kipg-input-btn-row input { flex:1; }

/* ── FTP Box ──────────────────────────────────────────────────────────────── */
.kipg-ftp-box {
    background:  var(--kipg-surface2);
    border:      1px solid var(--kipg-border);
    border-radius: var(--kipg-radius);
    padding:     10px;
    display:     flex;
    flex-direction: column;
    gap:         8px;
}
.kipg-ftp-status     { font-size:11px; color:var(--kipg-muted); margin-top:4px; }
.kipg-ftp-status.ok  { color: var(--kipg-success); }
.kipg-ftp-status.err { color: var(--kipg-error); }

/* ── URL2 ─────────────────────────────────────────────────────────────────── */
.kipg-url2-wrap      { display:none; }
.kipg-url2-wrap.visible { display:block; }
.kipg-url2-toggle {
    width:         28px;
    height:        28px;
    flex:          none;
    background:    var(--kipg-surface2);
    border:        1px solid var(--kipg-border);
    border-radius: var(--kipg-radius);
    color:         var(--kipg-muted);
    cursor:        pointer;
    font-size:     16px;
    line-height:   1;
    display:       flex;
    align-items:   center;
    justify-content: center;
}
.kipg-url2-toggle:hover { border-color:var(--kipg-accent); color:var(--kipg-accent); }

/* ── Buttons ──────────────────────────────────────────────────────────────── */
.kipg-btn {
    padding:       8px 14px;
    border:        1px solid transparent;
    border-radius: var(--kipg-radius);
    cursor:        pointer;
    font-size:     12px;
    font-weight:   700;
    font-family:   var(--kipg-font);
    letter-spacing: 0.4px;
    transition:    all 0.15s;
    white-space:   nowrap;
}
.kipg-btn:disabled { opacity:0.55; cursor:not-allowed; }

.kipg-btn--generate {
    background:   var(--kipg-accent);
    color:        #fff;
    border-color: var(--kipg-accent);
    flex:         1;
}
.kipg-btn--generate:hover:not(:disabled) { filter:brightness(1.15); }

.kipg-btn--clear {
    background:  transparent;
    border-color: var(--kipg-border);
    color:       var(--kipg-muted);
}
.kipg-btn--clear:hover { border-color:var(--kipg-error); color:var(--kipg-error); }

.kipg-btn--csv {
    background:  rgba(46,125,50,0.15);
    border-color: var(--kipg-success);
    color:       #4caf50;
}
.kipg-btn--csv:hover { background:rgba(46,125,50,0.3); }

.kipg-btn--csv-sm {
    background:  rgba(46,125,50,0.1);
    border-color: var(--kipg-success);
    color:       #4caf50;
    padding:     6px 10px;
    font-size:   11px;
}

.kipg-btn--result {
    background:  rgba(2,136,209,0.15);
    border-color: var(--kipg-accent);
    color:       var(--kipg-accent);
    padding:     10px 20px;
    font-size:   13px;
    flex:        1;
}
.kipg-btn--result:hover { background:rgba(2,136,209,0.28); }

.kipg-btn--danger {
    background:  rgba(198,40,40,0.15);
    border-color: var(--kipg-error);
    color:       #e57373;
    padding:     6px 8px;
}

.kipg-btn--sm {
    padding:     5px 10px;
    font-size:   11px;
    background:  var(--kipg-surface2);
    border-color: var(--kipg-border);
    color:       var(--kipg-muted);
}
.kipg-btn--sm:hover { border-color:var(--kipg-accent); color:var(--kipg-accent); }

.kipg-action-row {
    display:     flex;
    gap:         8px;
    margin-top:  4px;
    padding-top: 8px;
    border-top:  1px solid var(--kipg-border);
}
.kipg-btn-row-sm { display:flex; gap:6px; }

/* ── Unterleiste ─────────────────────────────────────────────────────────── */
.kipg-bottom-bar {
    display:    flex;
    gap:        6px;
    flex-wrap:  wrap;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--kipg-border);
}
.kipg-bottom-btn {
    padding:     5px 10px;
    background:  transparent;
    border:      1px solid var(--kipg-border);
    border-radius: var(--kipg-radius);
    color:       var(--kipg-muted);
    cursor:      pointer;
    font-size:   11px;
    font-family: var(--kipg-font);
}
.kipg-bottom-btn:hover     { border-color:var(--kipg-accent); color:var(--kipg-accent); }
.kipg-bottom-btn--warn     { border-color:var(--kipg-warning); color:var(--kipg-warning); }
.kipg-bottom-btn--warn:hover { background:rgba(230,81,0,0.1); }

/* ── Notiz/QA Form ────────────────────────────────────────────────────────── */
.kipg-qa-form {
    margin-top:  8px;
    border:      1px solid var(--kipg-border);
    border-radius: var(--kipg-radius);
    padding:     12px;
    background:  var(--kipg-surface2);
    display:     flex;
    flex-direction: column;
    gap:         6px;
}
.kipg-qa-form select,
.kipg-qa-form textarea {
    width:      100%;
    background: var(--kipg-surface);
    border:     1px solid var(--kipg-border);
    border-radius: var(--kipg-radius);
    color:      var(--kipg-text);
    padding:    7px 10px;
    font-family:var(--kipg-font);
    font-size:  13px;
    box-sizing: border-box;
}

/* ── PDF-Labor ────────────────────────────────────────────────────────────── */
.kipg-arc-search-wrap { position:relative; }
.kipg-arc-results {
    display:    none;
    position:   absolute;
    top:        calc(100% + 2px);
    left:       0;
    right:      0;
    background: var(--kipg-surface2);
    border:     1px solid var(--kipg-accent);
    border-radius: var(--kipg-radius);
    z-index:    9999;
    max-height: 220px;
    overflow-y: auto;
    box-shadow: var(--kipg-shadow);
}
.kipg-arc-results.visible { display:block; }
.kipg-arc-item {
    padding:    9px 12px;
    cursor:     pointer;
    border-bottom: 1px solid var(--kipg-border);
}
.kipg-arc-item:last-child { border-bottom:none; }
.kipg-arc-item:hover { background:var(--kipg-surface3); }
.kipg-arc-item .arc-title { font-size:13px; color:var(--kipg-text); }
.kipg-arc-item .arc-meta  { font-size:11px; color:var(--kipg-muted); margin-top:2px; }

.kipg-arc-selected {
    display:     none;
    align-items: center;
    gap:         8px;
    background:  rgba(46,125,50,0.1);
    border:      1px solid var(--kipg-success);
    border-radius: var(--kipg-radius);
    padding:     5px 10px;
    margin-top:  4px;
    font-size:   12px;
    color:       #4caf50;
}
.kipg-arc-selected.visible { display:flex; }
.kipg-arc-clear {
    margin-left: auto;
    background:  none;
    border:      none;
    color:       var(--kipg-muted);
    cursor:      pointer;
    font-size:   14px;
    padding:     0 2px;
}
.kipg-arc-clear:hover { color:var(--kipg-error); }
.kipg-arc-link {
    display:    inline-block;
    font-size:  11px;
    color:      var(--kipg-accent);
    margin-top: 4px;
    text-decoration: none;
}
.kipg-arc-link:hover { text-decoration:underline; }

/* ── KI Status Box ────────────────────────────────────────────────────────── */
#kipg-status-box {
    background:  var(--kipg-surface);
    border:      1px solid var(--kipg-border);
    border-radius: var(--kipg-radius-lg);
    display:     flex;
    flex-direction: column;
    flex:        1;
    overflow:    hidden;
    min-height:  0;
    transition:  border-color 0.3s;
}
#kipg-status-box.running { border-color: var(--kipg-running); }

.kipg-status-header {
    display:     flex;
    align-items: center;
    justify-content: space-between;
    padding:     10px 14px;
    border-bottom: 1px solid var(--kipg-border);
    background:  var(--kipg-surface2);
    font-size:   12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color:       var(--kipg-muted) !important;
    flex:        none;
}

#kipg-status-body {
    flex:       1;
    overflow-y: auto;
    padding:    10px;
    scrollbar-width: thin;
    scrollbar-color: var(--kipg-border) transparent;
}
#kipg-status-body::-webkit-scrollbar { width:4px; }
#kipg-status-body::-webkit-scrollbar-thumb { background:var(--kipg-border); border-radius:3px; }

.kipg-status-idle {
    color:      var(--kipg-muted);
    font-size:  12px;
    padding:    10px 4px;
    font-style: italic;
}

/* ── Status Badge ─────────────────────────────────────────────────────────── */
.kipg-badge {
    font-size:    11px;
    font-weight:  700;
    padding:      2px 8px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.kipg-badge.running { background:rgba(21,101,192,0.2); color:#42a5f5; }
.kipg-badge.done    { background:rgba(46,125,50,0.2);  color:#66bb6a; }
.kipg-badge.error   { background:rgba(198,40,40,0.2);  color:#ef5350; }

/* ── Status Log Tabelle ────────────────────────────────────────────────────── */
.kipg-log-table {
    width:           100%;
    border-collapse: collapse;
    font-size:       12px;
    color:           var(--kipg-text); /* explizit: verhindert WP-Admin-Override */
}
.kipg-log-row td {
    padding:         6px 8px;
    border-bottom:   1px solid var(--kipg-border);
    vertical-align:  middle;
    color:           inherit; /* von #kipg-root erben, nicht WP */
    background:      transparent;
}
.kipg-log-row:last-child td { border-bottom:none; }

.kipg-log-icon {
    width:      60px;
    color:      var(--kipg-muted);
    white-space: nowrap;
    font-size:  13px;
}
.kipg-log-label {
    width:      150px;
    color:      var(--kipg-text);
    font-weight: 600;
}
.kipg-log-value { color: var(--kipg-muted); word-break:break-word; }

.kipg-log-ok    .kipg-log-label,
.kipg-log-ok    .kipg-log-value { color:var(--kipg-text) !important; }
.kipg-log-row   .kipg-log-label { color:var(--kipg-text) !important; }
.kipg-log-row   .kipg-log-value { color:var(--kipg-muted) !important; }
.kipg-log-ok    .kipg-log-icon  { color:#4caf50; }
.kipg-log-warn  .kipg-log-icon  { color:#ffa726; }
.kipg-log-empty .kipg-log-icon  { color:var(--kipg-muted); opacity:0.5; }
.kipg-log-info  .kipg-log-icon  { color:var(--kipg-accent); }

.kipg-log-badge {
    display:       inline-block;
    width:         16px;
    height:        16px;
    line-height:   16px;
    text-align:    center;
    border-radius: 50%;
    font-size:     10px;
    font-weight:   700;
    margin-right:  4px;
}
.kipg-log-badge.ok    { background:rgba(46,125,50,0.2);  color:#4caf50; }
.kipg-log-badge.warn  { background:rgba(230,81,0,0.2);   color:#ffa726; }
.kipg-log-badge.empty { background:var(--kipg-surface3); color:var(--kipg-muted); }
.kipg-log-badge.info  { background:rgba(2,136,209,0.2);  color:var(--kipg-accent); }

.kipg-log-loading td { color:var(--kipg-muted); font-style:italic; }
.kipg-log-error {
    background:  rgba(198,40,40,0.1);
    border:      1px solid var(--kipg-error);
    border-radius: var(--kipg-radius);
    padding:     10px;
    color:       #ef5350;
    font-size:   12px;
    margin-bottom: 8px;
}

/* ── Spinner ──────────────────────────────────────────────────────────────── */
.kipg-spinner {
    display:     inline-block;
    width:       14px;
    height:      14px;
    border:      2px solid var(--kipg-border);
    border-top-color: var(--kipg-accent);
    border-radius: 50%;
    animation:   kipg-spin 0.8s linear infinite;
    vertical-align: middle;
}
@keyframes kipg-spin { to { transform:rotate(360deg); } }

/* ── Ergebnis-Bar ─────────────────────────────────────────────────────────── */
#kipg-result-bar {
    display:     flex;
    gap:         8px;
    flex:        none;
}

/* ── Toast ────────────────────────────────────────────────────────────────── */
#kipg-toast {
    position:    fixed;
    bottom:      24px;
    left:        50%;
    transform:   translateX(-50%) translateY(20px);
    background:  var(--kipg-accent);
    color:       #fff;
    padding:     8px 20px;
    border-radius: 20px;
    font-size:   13px;
    font-weight: 700;
    z-index:     99999;
    opacity:     0;
    transition:  opacity 0.2s, transform 0.2s;
    pointer-events: none;
}
#kipg-toast.visible {
    opacity:   1;
    transform: translateX(-50%) translateY(0);
}

/* ═══════════════════════════════════════════════════════════════════════════
   ERGEBNISSE MODAL
   ═══════════════════════════════════════════════════════════════════════════ */
#kipg-modal-overlay {
    position:    fixed;
    inset:       0;
    background:  rgba(0,0,0,0.75);
    z-index:     99990;
    display:     none;
    align-items: center;
    justify-content: center;
    padding:     20px;
    backdrop-filter: blur(3px);
}
#kipg-modal-overlay.active { display:flex; }

#kipg-modal {
    background:    var(--kipg-surface);
    border:        1px solid var(--kipg-border);
    border-radius: var(--kipg-radius-lg);
    width:         100%;
    max-width:     1100px;
    max-height:    90vh;
    display:       flex;
    flex-direction: column;
    box-shadow:    var(--kipg-shadow);
    overflow:      hidden;
}

#kipg-modal-header {
    display:     flex;
    align-items: center;
    justify-content: space-between;
    padding:     14px 18px;
    border-bottom: 1px solid var(--kipg-border);
    background:  var(--kipg-surface2);
    flex:        none;
}
#kipg-modal-title {
    font-size:   14px;
    font-weight: 700;
    color:       var(--kipg-text);
}
#kipg-modal-header-right {
    display:     flex;
    align-items: center;
    gap:         14px;
}

/* Bild oben rechts */
#kipg-modal-img-wrap {
    display:     none; /* JS setzt auf 'flex' wenn Bild vorhanden */
    flex-direction: column;
    align-items: center;
    gap:         4px;
}
#kipg-modal-img {
    max-width:   120px;
    max-height:  90px;
    object-fit:  contain;
    border:      1px solid var(--kipg-border);
    border-radius: var(--kipg-radius);
    background:  #fff;
    padding:     3px;
}
#kipg-modal-img-info {
    font-size:  10px;
    color:      var(--kipg-muted);
    margin-top: 3px;
    text-align: right;
    max-width:  80px;
    overflow:   hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#kipg-modal-close {
    width:        28px;
    height:       28px;
    background:   var(--kipg-surface3);
    border:       1px solid var(--kipg-border);
    border-radius: 50%;
    cursor:       pointer;
    color:        var(--kipg-muted);
    font-size:    14px;
    display:      flex;
    align-items:  center;
    justify-content: center;
    transition:   all 0.15s;
}
#kipg-modal-close:hover { background:var(--kipg-error); border-color:var(--kipg-error); color:#fff; }

#kipg-modal-body {
    flex:        1;
    overflow-y:  auto;
    padding:     18px;
    display:     flex;
    flex-direction: column;
    gap:         14px;
    scrollbar-width: thin;
    scrollbar-color: var(--kipg-border) transparent;
}
#kipg-modal-body::-webkit-scrollbar { width:5px; }
#kipg-modal-body::-webkit-scrollbar-thumb { background:var(--kipg-border); border-radius:3px; }

#kipg-modal-footer {
    display:     flex;
    gap:         8px;
    padding:     12px 18px;
    border-top:  1px solid var(--kipg-border);
    background:  var(--kipg-surface2);
    flex:        none;
    justify-content: flex-end;
}

/* ── Ergebnis-Blöcke ──────────────────────────────────────────────────────── */
.kipg-res-block {
    border:      1px solid var(--kipg-border);
    border-radius: var(--kipg-radius);
    overflow:    hidden;
}
.kipg-res-header {
    display:     flex;
    align-items: center;
    justify-content: space-between;
    padding:     8px 12px;
    background:  var(--kipg-surface2);
    border-bottom: 1px solid var(--kipg-border);
}
.kipg-res-label {
    font-size:   11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    color:       var(--kipg-muted);
}
.kipg-copy-btn {
    padding:     3px 10px;
    background:  var(--kipg-surface3);
    border:      1px solid var(--kipg-border);
    border-radius: var(--kipg-radius);
    color:       var(--kipg-muted);
    cursor:      pointer;
    font-size:   11px;
    font-family: var(--kipg-font);
    transition:  all 0.15s;
}
.kipg-copy-btn:hover { border-color:var(--kipg-accent); color:var(--kipg-accent); background:rgba(2,136,209,0.1); }

.kipg-res-text {
    padding:     14px 16px;
    color:       var(--kipg-text);
    font-size:   13px;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break:  break-word;
    background:  var(--kipg-surface);
    max-height:  260px;
    overflow-y:  auto;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CSV / FTP MODALS
   ═══════════════════════════════════════════════════════════════════════════ */
#kipg-csv-overlay,
#kipg-csvlist-overlay {
    position:    fixed;
    inset:       0;
    background:  rgba(0,0,0,0.8);
    z-index:     99995;
    display:     none;
    align-items: center;
    justify-content: center;
    padding:     20px;
}
#kipg-csv-overlay.active,
#kipg-csvlist-overlay.active { display:flex; }

.kipg-csv-modal {
    background:    var(--kipg-surface);
    border:        1px solid var(--kipg-border);
    border-radius: var(--kipg-radius-lg);
    width:         100%;
    max-width:     1100px;
    max-height:    80vh;
    overflow-y:    auto;
    padding:       20px;
    box-shadow:    var(--kipg-shadow);
}
.kipg-csv-modal h2 {
    margin:      0 0 14px;
    font-size:   15px;
    color:       var(--kipg-accent);
}
.kipg-csv-table {
    width:           100%;
    border-collapse: collapse;
    font-size:       12px;
}
.kipg-csv-table th {
    background:  var(--kipg-surface2);
    padding:     8px 10px;
    text-align:  left;
    color:       var(--kipg-muted);
    font-size:   11px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--kipg-border);
}
.kipg-csv-table td {
    padding:     7px 10px;
    border-bottom: 1px solid var(--kipg-border);
    color:       var(--kipg-text);
    cursor:      pointer;
}
.kipg-csv-table tr:hover td { background:var(--kipg-surface2); }

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIV: Admin-Bar berücksichtigen
   ═══════════════════════════════════════════════════════════════════════════ */
body.admin-bar #kipg-root { top: 32px; }
@media screen and (max-width: 782px) {
    body.admin-bar #kipg-root { top: 46px; }
}

/* Enfold / Avada etc.: Sicherstellen dass body kein overflow:hidden hat */
body:has(#kipg-root) {
    overflow: hidden !important;
    height: 100vh !important;
}
