/* ════════════════════════════════════════════════════════════════
   04 Internal Linking — Admin UI
   Scope: .il-page and .wrap.il-wrap
   ════════════════════════════════════════════════════════════════ */

/* ── Reset & base ────────────────────────────────────────────── */
.il-page *, .il-page *::before, .il-page *::after { box-sizing: border-box; }
.il-page svg { display: inline-block; vertical-align: middle; overflow: visible; }

.il-page {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    -webkit-font-smoothing: antialiased;
    padding: 2.5rem 0 6rem;
    color: #111827;
    /* Default: no max-width, let wrap control it */
}
/* All pages: 1500px */
.il-page.il-page-std,
.il-page.il-page-md,
.il-page.il-page-wide,
.il-page.il-page-pilares,
.il-page.il-page-exc { max-width: 1500px; }



/* ════════════════════════════════════════════════════════════════
   04 DESIGN SYSTEM — "04DS"
   Single source of truth for the entire plugin UI.
   Reference: the "Nueva programación" modal design.
   
   To apply this system to any screen, use class="il-page" on
   the wrapper and follow these conventions:
   
   TOKENS (CSS variables):
   - Colors: --ds-blue, --ds-ink, --ds-ink2, --ds-ink3, --ds-border...
   - Radii: --ds-r (10px), --ds-r-lg (12px), --ds-r-xl (16px)
   - Typography: --ds-font (DM Sans), --ds-mono (JetBrains Mono)
   - Spacing: gaps of 10-16px, padding 12-16px
   
   COMPONENTS:
   - .ds-card       → white card, border #e5e7eb, radius 12px
   - .ds-card-title → 11-12px uppercase, #6b7280, letter-spacing .08em
   - .ds-input      → height 40px, radius 10px, border #d1d5db
   - .ds-btn-primary → blue #2563eb, white text, radius 10px
   - .ds-btn-secondary → outline gray, radius 10px
   - .ds-label      → 14px/600 #111827
   - .ds-hint       → 13px #6b7280
   
   To apply: say "aplica el 04 Design System a [pantalla]"
   ════════════════════════════════════════════════════════════════ */

/* ── Tokens ───────────────────────────────────────────────────── */
:root {
    /* Brand */
    --ds-blue:        #2563eb;
    --ds-blue-dark:   #1d4ed8;
    --ds-blue-lt:     rgba(37,99,235,.06);
    --ds-blue-ring:   rgba(59,130,246,.1);
    /* Semantic */
    --ds-green:       #16a34a;
    --ds-green-lt:    #eaf7ef;
    --ds-red:         #ef4444;
    --ds-red-lt:      rgba(239,68,68,.06);
    --ds-amber:       #d97706;
    --ds-amber-lt:    #fbefe3;
    /* Text */
    --ds-ink:         #111827;
    --ds-ink2:        #374151;
    --ds-ink3:        #6b7280;
    --ds-ink4:        #8b90a0;
    /* Surfaces */
    --ds-surface:     #ffffff;
    --ds-surface2:    #f8f9fc;
    --ds-surface3:    #f3f4f6;
    --ds-surface4:    #fbfcfe;
    --ds-bg:          #f5f7fb;
    /* Borders */
    --ds-border:      #e5e7eb;
    --ds-border2:     #d1d5db;
    /* Radius */
    --ds-r-sm:        6px;
    --ds-r:           10px;
    --ds-r-lg:        12px;
    --ds-r-xl:        16px;
    /* Shadows */
    --ds-shadow-xs:   0 1px 2px rgba(0,0,0,.04);
    --ds-shadow:      0 1px 3px rgba(0,0,0,.06);
    --ds-shadow-md:   0 4px 14px rgba(0,0,0,.07);
    --ds-shadow-lg:   0 10px 30px rgba(0,0,0,.05);
    /* Typography */
    --ds-font:        'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --ds-mono:        'JetBrains Mono','SF Mono','Consolas',monospace;
    /* Transitions */
    --ds-ease:        cubic-bezier(.16,1,.3,1);
    --ds-transition:  .15s var(--ds-ease);

    /* Legacy aliases (backward compat) */
    --il-blue:var(--ds-blue); --il-blue-dark:var(--ds-blue-dark); --il-blue-lt:var(--ds-blue-lt);
    --il-blue-ring:var(--ds-blue-ring); --il-red:var(--ds-red); --il-red-lt:var(--ds-red-lt);
    --il-green:var(--ds-green); --il-green-lt:var(--ds-green-lt);
    --il-amber:var(--ds-amber); --il-amber-lt:var(--ds-amber-lt);
    --il-ink:var(--ds-ink); --il-ink2:var(--ds-ink2); --il-ink3:var(--ds-ink3); --il-ink4:var(--ds-ink4);
    --il-surface:var(--ds-surface); --il-surface2:var(--ds-surface2); --il-surface3:var(--ds-surface3);
    --il-border:var(--ds-border); --il-border2:var(--ds-border2);
    --il-r-sm:var(--ds-r-sm); --il-r:var(--ds-r); --il-r-lg:var(--ds-r-lg); --il-r-xl:var(--ds-r-xl);
    --il-shadow-xs:var(--ds-shadow-xs); --il-shadow-sm:var(--ds-shadow); --il-shadow:var(--ds-shadow-md); --il-shadow-lg:var(--ds-shadow-lg);
    --il-font:var(--ds-font); --il-mono:var(--ds-mono); --il-transition:var(--ds-transition);
    /* New v2 aliases */
    --il-surface4:var(--ds-surface4);
}
.il-page { --il-blue:#2563eb; } /* scope fallback */

/* ── Base page reset ──────────────────────────────────────────── */
.il-page {
    font-family:var(--ds-font);-webkit-font-smoothing:antialiased;color:var(--ds-ink);
    line-height:1.5;
}
.il-page *,.il-page *::before,.il-page *::after { box-sizing:border-box; }
.il-page svg { display:inline-block;vertical-align:middle;overflow:visible;flex-shrink:0; }

/* ── Diseño 04: Global search component ──────────────────────── */
/* Use: <div class="ds-search"><svg>icon</svg><input class="ds-search-input"></div> */
/* The wrapper IS the visible field. Input inside must be invisible (no border/bg). */
.ds-search,.il-page [class*="-search-wrap"] {
    display:flex;align-items:center;gap:8px;
    background:var(--ds-surface);border:1px solid var(--ds-border2);
    border-radius:var(--ds-r);padding:0 14px;height:40px;
    transition:border-color .15s,box-shadow .15s;
}
.ds-search:focus-within,.il-page [class*="-search-wrap"]:focus-within {
    border-color:var(--ds-blue);box-shadow:0 0 0 2px var(--ds-blue-ring);
}
.ds-search svg,.il-page [class*="-search-wrap"] svg { color:var(--ds-ink4);flex-shrink:0; }
.ds-search-input,.ds-search input,.il-page [class*="-search-wrap"] input[type="text"] {
    flex:1;border:none !important;outline:none !important;background:transparent !important;
    font-family:var(--ds-font);font-size:14px;color:var(--ds-ink);height:100%;
    padding:0 !important;margin:0;box-shadow:none !important;width:100%;
}
.ds-search-input::placeholder,.ds-search input::placeholder,
.il-page [class*="-search-wrap"] input::placeholder { color:var(--ds-ink4); }

/* ════ BUTTON SYSTEM ════════════════════════════════════════════ */
/* Base */
.il-btn {
    display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
    font-family:var(--il-font)!important;font-size:13px!important;font-weight:600!important;letter-spacing:-.01em!important;
    border-radius:var(--il-r)!important;padding:8px 16px!important;cursor:pointer!important;
    transition:background var(--il-transition),box-shadow var(--il-transition),transform .07s!important;
    white-space:nowrap!important;line-height:1.4!important;border:none!important;text-decoration:none!important;
}
.il-btn:active { transform:scale(.97)!important; }
.il-btn:disabled { opacity:.42!important;cursor:not-allowed!important;pointer-events:none!important; }
.il-btn svg { width:13px!important;height:13px!important;flex-shrink:0!important; }

/* Primary */
.il-btn,.il-btn-primary {
    color:#fff!important;background:var(--il-blue)!important;
    box-shadow:0 1px 4px rgba(37,99,235,.3),0 0 0 0 rgba(37,99,235,0)!important;
}
.il-btn:hover,.il-btn-primary:hover { background:var(--il-blue-dark)!important;box-shadow:0 3px 10px rgba(37,99,235,.38)!important; }

/* Secondary */
.il-btn-secondary {
    color:var(--il-blue)!important;background:var(--il-blue-lt)!important;
    border:1px solid rgba(37,99,235,.22)!important;box-shadow:none!important;
}
.il-btn-secondary:hover { background:rgba(37,99,235,.15)!important;border-color:rgba(37,99,235,.35)!important; }

/* Neutral */
.il-btn-neutral {
    color:var(--il-ink2)!important;background:var(--il-surface)!important;
    border:1px solid var(--il-border2)!important;box-shadow:var(--il-shadow-xs)!important;
}
.il-btn-neutral:hover { background:var(--il-surface3)!important;border-color:rgba(0,0,0,.2)!important; }

/* Danger */
.il-btn-danger {
    color:var(--il-red)!important;background:var(--il-red-lt)!important;
    border:1px solid rgba(220,38,38,.2)!important;box-shadow:none!important;
}
.il-btn-danger:hover { background:rgba(220,38,38,.14)!important;border-color:rgba(220,38,38,.3)!important; }

/* Icon-only action */
.il-btn-icon {
    width:30px!important;height:30px!important;padding:0!important;
    border-radius:var(--il-r-sm)!important;border:1px solid var(--il-border)!important;
    background:var(--il-surface)!important;color:var(--il-ink3)!important;
    box-shadow:none!important;
}
.il-btn-icon:hover { background:var(--il-surface3)!important;color:var(--il-ink)!important;border-color:var(--il-border2)!important; }
.il-btn-icon.danger:hover { background:var(--il-red-lt)!important;color:var(--il-red)!important;border-color:rgba(220,38,38,.2)!important; }
.il-btn-icon.primary:hover { background:var(--il-blue-lt)!important;color:var(--il-blue)!important;border-color:rgba(37,99,235,.2)!important; }
.il-btn-icon svg { width:12px!important;height:12px!important; }

/* Overrides for legacy button classes — unified system */
.ilpp-btn-new,.ilp-btn-new {
    display:inline-flex!important;align-items:center!important;gap:7px!important;
    font-family:var(--il-font)!important;font-size:13px!important;font-weight:600!important;
    color:#fff!important;background:var(--il-blue)!important;border:none!important;
    border-radius:var(--il-r)!important;padding:8px 17px!important;cursor:pointer!important;
    box-shadow:0 1px 4px rgba(37,99,235,.3)!important;transition:all var(--il-transition)!important;
    white-space:nowrap!important;
}
.ilpp-btn-new:hover,.ilp-btn-new:hover { background:var(--il-blue-dark)!important;box-shadow:0 3px 10px rgba(37,99,235,.38)!important; }

.ilpp-btn-save,.ilset-btn-save,.ilrf-btn-save,.il-page .ilset-btn-save {
    display:inline-flex!important;align-items:center!important;gap:6px!important;
    font-family:var(--il-font)!important;font-size:13px!important;font-weight:700!important;
    color:#fff!important;background:var(--il-blue)!important;border:none!important;
    border-radius:var(--il-r)!important;padding:8px 17px!important;cursor:pointer!important;
    box-shadow:0 1px 4px rgba(37,99,235,.3)!important;transition:all var(--il-transition)!important;
}
.ilpp-btn-save:hover,.ilset-btn-save:hover,.ilrf-btn-save:hover { background:var(--il-blue-dark)!important; }

.ilpp-btn-cancel,.ilp-btn-cancel {
    display:inline-flex!important;align-items:center!important;gap:6px!important;
    font-family:var(--il-font)!important;font-size:13px!important;font-weight:600!important;
    color:var(--il-ink2)!important;background:var(--il-surface)!important;
    border:1px solid var(--il-border2)!important;border-radius:var(--il-r)!important;
    padding:8px 16px!important;cursor:pointer!important;transition:all var(--il-transition)!important;
}
.ilpp-btn-cancel:hover { background:var(--il-surface3)!important; }

/* ilpp-act — icon action buttons in tables */
.ilpp-act {
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:30px!important;height:30px!important;padding:0!important;
    border-radius:var(--il-r-sm)!important;border:1px solid var(--il-border)!important;
    background:var(--il-surface)!important;color:var(--il-ink3)!important;cursor:pointer!important;
    transition:all var(--il-transition)!important;
}
.ilpp-act:hover { background:var(--il-surface3)!important;color:var(--il-ink)!important;border-color:var(--il-border2)!important; }
.ilpp-act.ilpp-act-del:hover { background:var(--il-red-lt)!important;color:var(--il-red)!important;border-color:rgba(220,38,38,.2)!important; }
.ilpp-act svg { width:12px!important;height:12px!important; }

/* ════ TABLE SYSTEM ══════════════════════════════════════════════ */
/* Generic IL table wrapper */
.il-tbl-wrap {
    background:var(--il-surface);border:1px solid var(--il-border);
    border-radius:var(--il-r-lg);overflow:hidden;box-shadow:var(--il-shadow-sm);
}
/* Row pattern applied to ALL row types */
.ilpp-row,.ilrr-row,.ilc-job-row,.ils-result-row,
.ilpl3-srow,.ilpl-job-row,.il-tr {
    transition:background var(--il-transition)!important;
    border-bottom:1px solid var(--il-border)!important;
}
.ilpp-row:last-child,.ilrr-row:last-child:last-child,
.ilpl3-srow:last-child,.ilpl-job-row:last-child,.il-tr:last-child { border-bottom:none!important; }

/* Alternating rows */
.ilpp-row:nth-child(even),.ilrr-row:nth-child(even):nth-child(even),
.ilpl3-srow:nth-child(even),.ilpl-job-row:nth-child(even),.il-tr:nth-child(even) {
    background:rgba(0,0,0,.018)!important;
}
/* Hover */
.ilpp-row:hover,.ilrr-row:hover:hover,
.ilpl3-srow:hover,.ilpl-job-row:hover,.il-tr:hover {
    background:#eff6ff!important;
}

/* Table headers — unified */
.ilpp-table-head,.ilrr-head,.ilt2-head,.ilpl3-shead,.ilpl-sched-head,.ilpl-job-head,.il-thead {
    display:grid!important;
    background:linear-gradient(180deg,#f5f6f8 0%,#f0f1f5 100%)!important;
    border-bottom:2px solid var(--il-border)!important;
    padding:10px 16px!important;
    font-size:10.5px!important;font-weight:700!important;
    letter-spacing:.08em!important;text-transform:uppercase!important;
    color:var(--il-ink3)!important;align-items:center!important;gap:12px!important;
}

/* ════ STATUS BADGES ═════════════════════════════════════════════ */
.ilpl-status-badge,.ilt2-badge,.ilrr-status,.il-badge {
    display:inline-flex!important;align-items:center!important;
    padding:3px 10px!important;border-radius:20px!important;
    font-size:11.5px!important;font-weight:600!important;white-space:nowrap!important;
    letter-spacing:.01em!important;
}
.ilpl-s-sched,.il-badge-scheduled { background:#dbeafe!important;color:#1d4ed8!important; }
.ilpl-s-run,.il-badge-running     { background:#fef9c3!important;color:#a16207!important; }
.ilpl-s-done,.il-badge-done       { background:#dcfce7!important;color:#15803d!important; }
.ilpl-s-fail,.il-badge-fail       { background:#fee2e2!important;color:#b91c1c!important; }
.ilt2-badge-ok  { background:#dcfce7!important;color:#15803d!important; }
.ilt2-badge-err,.ilt2-badge-warn  { background:#fef9c3!important;color:#a16207!important; }

/* ════ TOGGLE SWITCH ═════════════════════════════════════════════ */
.ilrr-toggle {
    display:inline-flex!important;align-items:center!important;
    width:38px!important;height:22px!important;
    border-radius:22px!important;border:none!important;
    cursor:pointer!important;padding:3px!important;
    transition:background .18s!important;
}
.ilrr-toggle-on  { background:var(--il-blue)!important; }
.ilrr-toggle-off { background:#d1d5db!important; }
.ilrr-toggle-dot {
    width:16px!important;height:16px!important;background:#fff!important;
    border-radius:50%!important;box-shadow:0 1px 3px rgba(0,0,0,.2)!important;
    transition:transform .18s!important;display:block!important;flex-shrink:0!important;
}
.ilrr-toggle-on .ilrr-toggle-dot { transform:translateX(16px)!important; }

/* ════ FORM FIELDS ═══════════════════════════════════════════════ */
.ilpp-input,.ilset-input,.ilt2-input,.ilc-input,.ils-input,.il-input {
    font-family:var(--il-font)!important;font-size:13px!important;color:var(--il-ink)!important;
    background:var(--il-surface2)!important;border:1px solid var(--il-border2)!important;
    border-radius:var(--il-r)!important;padding:8px 11px!important;
    outline:none!important;width:100%!important;box-sizing:border-box!important;
    transition:border-color var(--il-transition),box-shadow var(--il-transition),background var(--il-transition)!important;
    line-height:1.4!important;
}
.ilpp-input:focus,.ilset-input:focus,.il-input:focus {
    border-color:var(--il-blue)!important;background:#fff!important;
    box-shadow:0 0 0 3px var(--il-blue-ring)!important;
}
.ilpp-input::placeholder,.ilset-input::placeholder,.il-input::placeholder { color:var(--il-ink4)!important; }
.ilpp-select,.il-select { appearance:none!important;cursor:pointer!important; }
.ilpp-label,.ilset-label,.il-label {
    font-size:11.5px!important;font-weight:700!important;color:var(--il-ink2)!important;
    letter-spacing:-.01em!important;display:block!important;margin-bottom:4px!important;
}

/* ════ STATS BAR ═════════════════════════════════════════════════ */
.ilpp-stats {
    display:flex!important;align-items:center!important;gap:0!important;
    background:var(--il-surface)!important;border:1px solid var(--il-border)!important;
    border-radius:var(--il-r-lg)!important;padding:12px 24px!important;
    margin-bottom:20px!important;box-shadow:var(--il-shadow-xs)!important;
}
.ilpp-stat { display:flex!important;flex-direction:column!important;align-items:center!important;padding:0 20px!important; }
.ilpp-stat-n { font-size:22px!important;font-weight:800!important;color:var(--il-ink)!important;letter-spacing:-.04em!important;line-height:1!important; }
.ilpp-stat-l { font-size:11px!important;font-weight:500!important;color:var(--il-ink3)!important;margin-top:2px!important; }
.ilpp-stat-sep { width:1px!important;height:32px!important;background:var(--il-border)!important;flex-shrink:0!important; }

/* ════ PAGE HEADER ═══════════════════════════════════════════════ */
.ilpp-header {
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    gap:16px!important;margin-bottom:20px!important;
}
.ilpp-title {
    font-size:22px!important;font-weight:800!important;color:var(--il-ink)!important;
    letter-spacing:-.03em!important;margin:0 0 3px!important;padding:0!important;
    border:none!important;background:none!important;
}
.ilpp-sub { font-size:13px!important;color:var(--il-ink3)!important;margin:0!important; }

/* ════ LANGUAGE FILTER ═══════════════════════════════════════════ */
.ilr-lang-filter {
    display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin-bottom:14px!important;
}
.ilr-lang-filter-btn {
    display:inline-flex!important;align-items:center!important;gap:6px!important;
    font-family:var(--il-font)!important;font-size:12px!important;font-weight:600!important;
    color:var(--il-ink3)!important;background:var(--il-surface)!important;
    border:1px solid var(--il-border2)!important;border-radius:var(--il-r-sm)!important;
    padding:5px 12px!important;cursor:pointer!important;transition:all var(--il-transition)!important;
}
.ilr-lang-filter-btn:hover,.ilr-lang-filter-active {
    color:var(--il-blue)!important;background:var(--il-blue-lt)!important;
    border-color:rgba(37,99,235,.28)!important;
}

/* ════ EMPTY STATE ═══════════════════════════════════════════════ */
.ilpp-empty {
    display:flex!important;flex-direction:column!important;align-items:center!important;
    justify-content:center!important;padding:56px 24px!important;
    color:var(--il-ink4)!important;text-align:center!important;
}
.ilpp-empty svg { opacity:.25!important;display:block!important;margin:0 auto 16px!important; }
.ilpp-empty p { font-size:14px!important;font-weight:500!important;color:var(--il-ink3)!important;margin:0!important; }
.ilpp-empty-sub { font-size:12.5px!important;color:var(--il-ink4)!important;margin-top:4px!important; }

/* ════ NOTICE / ALERT ════════════════════════════════════════════ */
.il-notice,.ilt2-notice {
    display:flex!important;align-items:flex-start!important;gap:10px!important;
    padding:12px 16px!important;border-radius:var(--il-r)!important;
    font-size:13px!important;line-height:1.5!important;margin-bottom:16px!important;
}
.ilt2-notice-warn,.il-notice-warn { background:var(--il-amber-lt)!important;border:1px solid rgba(217,119,6,.2)!important;color:#92400e!important; }
.il-notice-success { background:var(--il-green-lt)!important;border:1px solid rgba(22,163,74,.2)!important;color:#15803d!important; }
.il-notice-info    { background:var(--il-blue-lt)!important;border:1px solid rgba(37,99,235,.2)!important;color:#1d4ed8!important; }
.il-notice-danger  { background:var(--il-red-lt)!important;border:1px solid rgba(220,38,38,.2)!important;color:#991b1b!important; }

/* ════ LANG PILL ══════════════════════════════════════════════ */
.ilpp-lang-pill {
    display:inline-flex!important;align-items:center!important;
    padding:2px 6px!important;border-radius:4px!important;
    font-size:10px!important;font-weight:800!important;letter-spacing:.04em!important;
    background:var(--il-blue-lt)!important;color:var(--il-blue)!important;
}
.ilpp-lang-all { background:var(--il-surface3)!important;color:var(--il-ink3)!important; }

/* ════ CARDS ═════════════════════════════════════════════════════ */
.il-card {
    background:var(--il-surface)!important;border:1px solid var(--il-border)!important;
    border-radius:var(--il-r-lg)!important;box-shadow:var(--il-shadow-sm)!important;overflow:hidden!important;
}
.il-card-hd {
    padding:10px 16px!important;background:linear-gradient(180deg,#f5f6f8,#f0f1f5)!important;
    border-bottom:1px solid var(--il-border)!important;
    font-size:11px!important;font-weight:700!important;letter-spacing:.07em!important;
    text-transform:uppercase!important;color:var(--il-ink3)!important;
    display:flex!important;align-items:center!important;gap:8px!important;
}
.il-card-bd { padding:16px!important; }

/* ════ TABS ══════════════════════════════════════════════════════ */
.ilh-tabs {
    display:flex!important;gap:2px!important;border-bottom:2px solid var(--il-border)!important;
    margin-bottom:20px!important;
}
.ilh-tab {
    display:inline-flex!important;align-items:center!important;gap:7px!important;
    padding:9px 18px!important;font-size:13px!important;font-weight:600!important;
    color:var(--il-ink3)!important;text-decoration:none!important;
    border-radius:var(--il-r) var(--il-r) 0 0!important;
    border:1px solid transparent!important;border-bottom:none!important;
    margin-bottom:-2px!important;transition:all var(--il-transition)!important;cursor:pointer!important;
}
.ilh-tab:hover { color:var(--il-ink)!important;background:var(--il-surface3)!important; }
.ilh-tab-active {
    color:var(--il-blue)!important;background:var(--il-surface)!important;
    border-color:var(--il-border2)!important;border-bottom-color:var(--il-surface)!important;
}

/* ════ SECTION HEADER + DIVIDERS ═════════════════════════════════ */
.ilpl-section-title,.il-section-hd {
    display:flex!important;align-items:center!important;gap:8px!important;
    font-size:14px!important;font-weight:700!important;color:var(--il-ink)!important;
    margin-bottom:10px!important;
}
.il-divider { height:1px!important;background:var(--il-border)!important;margin:24px 0!important; }

/* ════ LOG + MONITOR buttons ══════════════════════════════════════ */
.ilpl-log-btn {
    font-family:var(--il-font)!important;font-size:12px!important;font-weight:600!important;
    color:var(--il-blue)!important;background:var(--il-blue-lt)!important;
    border:1px solid rgba(37,99,235,.18)!important;border-radius:var(--il-r-sm)!important;
    padding:3px 9px!important;cursor:pointer!important;transition:background var(--il-transition)!important;
}
.ilpl-log-btn:hover { background:rgba(37,99,235,.16)!important; }

.ilpl-refresh-btn {
    font-family:var(--il-font)!important;font-size:11.5px!important;font-weight:600!important;
    color:var(--il-ink3)!important;background:var(--il-surface)!important;
    border:1px solid var(--il-border2)!important;border-radius:var(--il-r-sm)!important;
    padding:5px 11px!important;cursor:pointer!important;
    display:inline-flex!important;align-items:center!important;gap:5px!important;
    transition:all var(--il-transition)!important;
}
.ilpl-refresh-btn:hover { background:var(--il-surface3)!important;color:var(--il-ink)!important; }

/* ════ COUNTDOWN ═════════════════════════════════════════════════ */
.ilpl-countdown {
    display:inline-flex!important;align-items:center!important;gap:4px!important;
    font-size:11.5px!important;font-weight:700!important;color:var(--il-green)!important;
    background:var(--il-green-lt)!important;border-radius:5px!important;
    padding:2px 7px!important;width:fit-content!important;font-variant-numeric:tabular-nums!important;
}

/* ════ DRAWER / INLINE FORMS ═════════════════════════════════════ */
.ilpp-drawer {
    background:var(--il-surface)!important;border:1px solid var(--il-border)!important;
    border-radius:var(--il-r-xl)!important;box-shadow:var(--il-shadow)!important;
    overflow:hidden!important;margin-bottom:20px!important;
}
.ilpp-drawer-inner { padding:20px 24px!important; }
.ilpp-drawer-title {
    font-size:15px!important;font-weight:700!important;color:var(--il-ink)!important;
    letter-spacing:-.02em!important;margin-bottom:16px!important;
}
.ilpp-drawer-fields { display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin-bottom:16px!important; }
.ilpp-drawer-foot { display:flex!important;justify-content:flex-end!important;gap:8px!important;padding-top:12px!important;border-top:1px solid var(--il-border)!important; }

/* ════ CRON STATUS BAR ═══════════════════════════════════════════ */
.ilpl-cron-bar {
    display:flex!important;align-items:center!important;gap:8px!important;
    background:var(--il-green-lt)!important;border:1px solid rgba(22,163,74,.18)!important;
    border-radius:var(--il-r-lg)!important;padding:9px 16px!important;
    margin-bottom:12px!important;font-size:12.5px!important;
}
.ilpl-cron-dot { width:8px!important;height:8px!important;border-radius:50%!important;background:#d1d5db!important;flex-shrink:0!important;transition:background .3s!important; }
.ilpl-cron-dot.ilpl-cron-active { background:var(--il-green)!important;box-shadow:0 0 0 3px rgba(22,163,74,.2)!important;animation:ilpl-pulse 2s infinite!important; }
@keyframes ilpl-pulse { 0%,100%{box-shadow:0 0 0 3px rgba(22,163,74,.2)}50%{box-shadow:0 0 0 5px rgba(22,163,74,.04)} }
.ilpl-cron-text { font-weight:600!important;color:var(--il-green)!important; }
.ilpl-cron-hint { color:#4d7a5a!important;font-size:11.5px!important; }

/* ════ EXTERNAL CRON PANEL ═══════════════════════════════════════ */
.ilpl-ext-cron {
    background:#fffbeb!important;border:1px solid #fde68a!important;
    border-radius:var(--il-r-lg)!important;margin-bottom:16px!important;overflow:hidden!important;
}
.ilpl-ext-cron-head {
    display:flex!important;align-items:center!important;gap:8px!important;
    padding:10px 16px!important;font-size:13px!important;color:#92400e!important;
}
.ilpl-ext-cron-head strong { flex:1!important; }
.ilpl-ext-cron-toggle {
    font-family:var(--il-font)!important;font-size:12px!important;font-weight:600!important;
    color:var(--il-amber)!important;background:none!important;border:1px solid #fbbf24!important;
    border-radius:var(--il-r-sm)!important;padding:4px 10px!important;cursor:pointer!important;
    transition:all var(--il-transition)!important;
}
.ilpl-ext-cron-toggle:hover { background:rgba(217,119,6,.1)!important; }
.ilpl-ext-cron-body { padding:14px 16px 16px!important;border-top:1px solid #fde68a!important;background:#fffdf0!important; }
.ilpl-ext-cron-url-wrap { display:flex!important;align-items:center!important;gap:8px!important;
    margin:8px 0!important;background:#fff!important;border:1px solid #fbbf24!important;
    border-radius:var(--il-r-sm)!important;padding:8px 12px!important; }
.ilpl-ext-cron-url { flex:1!important;font-family:var(--il-mono)!important;font-size:12px!important;color:var(--il-ink)!important;word-break:break-all!important;background:none!important; }
.ilpl-copy-btn { font-family:var(--il-font)!important;font-size:11.5px!important;font-weight:600!important;
    color:#fff!important;background:var(--il-amber)!important;border:none!important;
    border-radius:var(--il-r-sm)!important;padding:5px 12px!important;cursor:pointer!important;white-space:nowrap!important;flex-shrink:0!important; }
.ilpl-copy-btn:hover { background:#b45309!important; }
.ilpl-ext-cron-steps { display:flex!important;flex-direction:column!important;gap:6px!important; }
.ilpl-ext-cron-step { display:flex!important;align-items:flex-start!important;gap:10px!important;font-size:13px!important; }
.ilpl-step-n { width:22px!important;height:22px!important;border-radius:50%!important;background:var(--il-amber)!important;
    color:#fff!important;font-size:11px!important;font-weight:700!important;
    display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important; }

/* ════ SCHEDULE ROWS ═════════════════════════════════════════════ */
.ilpl3-sname { font-size:13.5px!important;font-weight:600!important;color:var(--il-ink)!important; }
.ilpl3-snext-title { font-size:11.5px!important;color:var(--il-ink3)!important;margin-top:2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:220px!important; }
.ilpl3-snext-done { color:var(--il-green)!important;font-weight:600!important; }
.ilpl3-sfreq { font-size:12.5px!important;font-weight:700!important;color:var(--il-blue)!important; }
.ilpl3-snext-date { font-size:12px!important;color:var(--il-ink2)!important; }
.ilpl3-srow-off { opacity:.5!important; }
.ilpl-title-count { font-size:11.5px!important;color:var(--il-ink3)!important;background:var(--il-surface3)!important;padding:2px 7px!important;border-radius:10px!important; }

/* ════ WARN BADGE (header) ═══════════════════════════════════════ */
.ilpl-warn-badge {
    display:inline-flex!important;align-items:center!important;gap:6px!important;
    font-size:12px!important;font-weight:600!important;color:var(--il-red)!important;
    background:var(--il-red-lt)!important;border:1px solid rgba(220,38,38,.2)!important;
    border-radius:var(--il-r-sm)!important;padding:5px 10px!important;text-decoration:none!important;
    cursor:pointer!important;
}

/* ════ SCHEDULE COMPLETED CHIP ═══════════════════════════════════ */
.ilpl3-snext-done::before { content:'✓ '; }

/* ════ PIPELINE MODAL v4 (already modern) ════════════════════════ */
/* Ensure ilpl4 modal uses our tokens */
/* (overrides removed — handled by v5 CSS) */

/* ════ AJUSTES NAV ═══════════════════════════════════════════════ */
.ilset-nav-item {
    display:flex!important;align-items:center!important;gap:9px!important;
    padding:10px 14px!important;border-radius:var(--il-r)!important;
    font-size:13px!important;font-weight:500!important;color:var(--il-ink2)!important;
    text-decoration:none!important;transition:all var(--il-transition)!important;
    border:1px solid transparent!important;
}
.ilset-nav-item:hover { background:var(--il-surface3)!important;color:var(--il-ink)!important; }
.ilset-nav-active { color:var(--il-blue)!important;background:var(--il-blue-lt)!important;border-color:rgba(37,99,235,.2)!important; }

/* ════ HERRAMIENTAS / TOOLS ══════════════════════════════════════ */
.ilh-card {
    background:var(--il-surface)!important;border:1px solid var(--il-border)!important;
    border-radius:var(--il-r-lg)!important;box-shadow:var(--il-shadow-sm)!important;overflow:hidden!important;margin-bottom:16px!important;
}
.ilh-card-header {
    display:flex!important;align-items:center!important;gap:12px!important;
    padding:14px 18px!important;border-bottom:1px solid var(--il-border)!important;
}
.ilh-card-icon { width:36px!important;height:36px!important;border-radius:var(--il-r)!important;
    display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important; }
.ilh-icon-blue { background:var(--il-blue-lt)!important;color:var(--il-blue)!important; }
.ilh-icon-green { background:var(--il-green-lt)!important;color:var(--il-green)!important; }
.ilh-card-title { font-size:14px!important;font-weight:700!important;color:var(--il-ink)!important; }
.ilh-card-sub { font-size:12px!important;color:var(--il-ink3)!important;margin-top:1px!important; }
.ilh-card-body { padding:16px 18px!important; }
.ilh-btn,.ilh-btn-download {
    display:inline-flex!important;align-items:center!important;gap:7px!important;
    font-family:var(--il-font)!important;font-size:13px!important;font-weight:600!important;
    color:var(--il-blue)!important;background:var(--il-blue-lt)!important;
    border:1px solid rgba(37,99,235,.22)!important;border-radius:var(--il-r)!important;
    padding:8px 16px!important;cursor:pointer!important;text-decoration:none!important;
    transition:all var(--il-transition)!important;
}
.ilh-btn:hover,.ilh-btn-download:hover { background:rgba(37,99,235,.15)!important; }

/* ════ TRANSLATION SCREEN ════════════════════════════════════════ */
.ilt2-header { display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-bottom:20px!important; }
.ilt2-title { font-size:22px!important;font-weight:800!important;color:var(--il-ink)!important;letter-spacing:-.03em!important;margin:0 0 3px!important; }
.ilt2-sub   { font-size:13px!important;color:var(--il-ink3)!important;margin:0!important; }
.ilt2-panel { background:var(--il-surface)!important;border:1px solid var(--il-border)!important;border-radius:var(--il-r-lg)!important;overflow:hidden!important;margin-bottom:14px!important;box-shadow:var(--il-shadow-sm)!important; }
.ilt2-panel-title { display:flex!important;align-items:center!important;gap:7px!important;padding:9px 14px!important;background:linear-gradient(180deg,#f5f6f8,#f0f1f5)!important;border-bottom:1px solid var(--il-border)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.07em!important;text-transform:uppercase!important;color:var(--il-ink3)!important; }
.ilt2-btn {
    display:inline-flex!important;align-items:center!important;gap:6px!important;
    font-family:var(--il-font)!important;font-size:13px!important;font-weight:600!important;
    border-radius:var(--il-r)!important;padding:8px 16px!important;cursor:pointer!important;
    transition:all var(--il-transition)!important;border:none!important;
}
.ilt2-btn-primary { color:#fff!important;background:var(--il-blue)!important;box-shadow:0 1px 4px rgba(37,99,235,.3)!important; }
.ilt2-btn-primary:hover { background:var(--il-blue-dark)!important; }
.ilt2-btn-secondary { color:var(--il-blue)!important;background:var(--il-blue-lt)!important;border:1px solid rgba(37,99,235,.22)!important; }
.ilt2-btn-neutral,.ilt2-btn-ghost { color:var(--il-ink2)!important;background:var(--il-surface)!important;border:1px solid var(--il-border2)!important; }
.ilt2-btn-neutral:hover { background:var(--il-surface3)!important; }
.ilt2-btn-danger { color:var(--il-red)!important;background:var(--il-red-lt)!important;border:1px solid rgba(220,38,38,.2)!important; }
/* .ilt2-row layout is handled by translation.css — no override here */

/* (Old SEMANTIC/CONTENT SCREEN overrides removed — Diseño 04) */

/* ════ PILARES / REGLAS MODALS — override old narrow ones ════════ */
/* Force all inline modals to be wider */
.ilrr-modal, .ilpp-modal, .il-page .ilrr-modal {
    max-width:900px!important;width:95%!important;
    border-radius:var(--il-r-xl)!important;
    box-shadow:var(--il-shadow-lg)!important;
}

/* ════ SPIN ANIMATION ════════════════════════════════════════════ */
@keyframes ilt2-spin { to { transform:rotate(360deg); } }
.il-spin { animation:ilt2-spin .8s linear infinite!important; }


/* ── Hero header ─────────────────────────────────────────────── */
.il-page .ilp-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2.5rem;
}
.il-page .ilp-title {
    font-size: 26px; font-weight: 700; letter-spacing: -.025em;
    color: #1d1d1f; line-height: 1.1; margin: 0 0 5px; padding: 0;
    border: none; background: none;
}
.il-page .ilp-sub {
    font-size: 13px; font-weight: 400; color: #86868b;
    letter-spacing: -.01em; margin: 0;
}
.il-page .ilp-hero-text { flex: 1; }

/* ── Buttons ─────────────────────────────────────────────────── */
.il-page .ilp-btn-new {
    display: inline-flex; align-items: center; gap: 7px;
    font-family: inherit; font-size: 13px; font-weight: 600;
    letter-spacing: -.01em; color: #fff; background: #0071e3;
    border: none; padding: 9px 18px; border-radius: 980px;
    cursor: pointer; transition: background .15s; white-space: nowrap;
}
.il-page .ilp-btn-new:hover { background: #0077ed; }
.il-page .ilp-btn-new:active { transform: scale(.98); }
.il-page .ilp-btn-new svg { flex-shrink: 0; }

.il-page .ilp-btn-confirm {
    display: inline-flex; align-items: center; gap: 6px;
    font-family: inherit; font-size: 14px; font-weight: 600;
    color: #fff; background: #0071e3; border: none;
    padding: 10px 22px; border-radius: 980px; cursor: pointer;
    transition: background .15s; letter-spacing: -.01em; white-space: nowrap;
}
.il-page .ilp-btn-confirm:hover { background: #0077ed; }

.il-page .ilp-btn-cancel {
    font-family: inherit; font-size: 14px; font-weight: 500;
    color: #0071e3; background: transparent; border: none;
    padding: 10px 18px; border-radius: 980px; cursor: pointer;
    letter-spacing: -.01em;
}
.il-page .ilp-btn-cancel:hover { background: rgba(0,113,227,.06); }

/* ── Drawer (pilar / regla add-edit form) ────────────────────── */
.il-page .ilp-drawer {
    background: #f5f5f7; border-radius: 18px;
    overflow: hidden; margin-bottom: 1.75rem;
}
.il-page .ilp-drawer-body { padding: 1.5rem; }
.il-page .ilp-drawer-fields {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 14px; margin-bottom: 1.25rem;
}
.il-page .ilp-field { display: flex; flex-direction: column; gap: 6px; }
.il-page .ilp-label {
    font-size: 11px; font-weight: 600; letter-spacing: .04em;
    color: #6e6e73; text-transform: uppercase;
}
.il-page .ilp-input {
    font-family: inherit; font-size: 15px; font-weight: 400;
    color: #1d1d1f; background: #fff;
    border: 1px solid rgba(0,0,0,.12); border-radius: 10px;
    padding: 10px 14px; outline: none; width: 100%;
    transition: border-color .15s, box-shadow .15s;
}
.il-page .ilp-input:focus {
    border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,.15);
}
.il-page .ilp-drawer-actions {
    display: flex; gap: 10px; justify-content: flex-end;
}

/* ── Pilar list ──────────────────────────────────────────────── */
.il-page .ilp-list {
    background: #fff; border: 1px solid rgba(0,0,0,.08);
    border-radius: 18px; overflow: hidden;
}
.il-page .ilp-list-header {
    display: grid; grid-template-columns: 2fr 3fr 130px;
    padding: 10px 22px;
    background: #f5f5f7; border-bottom: 1px solid rgba(0,0,0,.07);
    gap: 16px;
}
.il-page .ilp-list-header span {
    font-size: 11px; font-weight: 600; letter-spacing: .04em;
    text-transform: uppercase; color: #86868b;
}
.il-page .ilp-item {
    display: grid; grid-template-columns: 2fr 3fr 130px;
    align-items: center; padding: 14px 22px;
    border-bottom: 1px solid rgba(0,0,0,.05);
    transition: background .1s; gap: 16px;
}
.il-page .ilp-item:last-child { border-bottom: none; }
.il-page .ilp-item:hover { background: #fafafa; }

.il-page .ilp-col-name { display: flex; align-items: center; gap: 11px; }
.il-page .ilp-avatar {
    width: 34px; height: 34px; border-radius: 10px;
    background: #1d1d1f; color: #fff; font-size: 14px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; letter-spacing: -.01em;
}
.il-page .ilp-item-name { font-size: 14px; font-weight: 500; color: #1d1d1f; letter-spacing: -.01em; }
.il-page .ilp-col-url { display: flex; align-items: center; min-width: 0; }
.il-page .ilp-item-url {
    font-family: "SF Mono", ui-monospace, "Menlo", monospace;
    font-size: 12px; color: #6e6e73; background: #f5f5f7;
    padding: 4px 9px; border-radius: 6px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    max-width: 100%; display: block;
}
.il-page .ilp-col-acts { display: flex; justify-content: flex-end; }
.il-page .ilp-item-acts { display: flex; gap: 8px; opacity: 0; transition: opacity .15s; }
.il-page .ilp-item:hover .ilp-item-acts { opacity: 1; }
.il-page .ilp-act-btn {
    font-family: inherit; font-size: 12px; font-weight: 500;
    background: none; color: #0071e3;
    border: 1px solid rgba(0,113,227,.3); padding: 5px 12px;
    border-radius: 20px; cursor: pointer; transition: all .12s;
}
.il-page .ilp-act-btn:hover { background: rgba(0,113,227,.06); border-color: #0071e3; }
.il-page .ilp-act-del { color: #ff3b30 !important; border-color: rgba(255,59,48,.3) !important; }
.il-page .ilp-act-del:hover { background: rgba(255,59,48,.06) !important; border-color: #ff3b30 !important; }

/* ── Empty state ─────────────────────────────────────────────── */
.il-page .ilp-empty { padding: 5rem 2rem; text-align: center; }
.il-page .ilp-empty-icon {
    width: 64px; height: 64px; margin: 0 auto 1.25rem;
    background: #f5f5f7; border-radius: 18px;
    display: flex; align-items: center; justify-content: center; color: #c7c7cc;
}
.il-page .ilp-empty-text { font-size: 16px; font-weight: 600; color: #3a3a3c; margin-bottom: 6px; letter-spacing: -.015em; }
.il-page .ilp-empty-sub  { font-size: 13px; color: #aeaeb2; margin: 0; }

/* ── Reglas ──────────────────────────────────────────────────── */
.il-page .ilr-panel {
    background: #fff; border: 1px solid rgba(0,0,0,.1);
    border-radius: 20px; margin-bottom: 1.75rem; overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,.08);
}
.il-page .ilr-panel-top {
    display: flex; align-items: center; justify-content: space-between;
    padding: 1rem 1.5rem; background: #1d1d1f;
}
.il-page .ilr-panel-title { font-size: 14px; font-weight: 600; color: #f5f5f7; letter-spacing: -.01em; }
.il-page .ilr-panel-close {
    width: 28px; height: 28px; background: rgba(255,255,255,.1); border: none;
    border-radius: 50%; color: rgba(255,255,255,.7); cursor: pointer;
    display: flex; align-items: center; justify-content: center; transition: background .15s;
}
.il-page .ilr-panel-close:hover { background: rgba(255,255,255,.2); color: #fff; }
.il-page .ilr-panel-body { padding: 1.5rem; }
.il-page .ilr-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.il-page .ilr-field-full { grid-column: 1 / -1; }
.il-page .ilr-field { display: flex; flex-direction: column; gap: 5px; }
.il-page .ilr-label {
    font-size: 11px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .05em; color: #6e6e73;
}
.il-page .ilr-prio-live {
    font-size: 14px; font-weight: 700; color: #1d1d1f;
    text-transform: none; letter-spacing: -.01em; margin-left: 4px;
}
.il-page .ilr-label-hint { font-size: 12px; color: #aeaeb2; margin-bottom: 2px; }
.il-page .ilr-input {
    font-family: inherit; font-size: 15px; color: #1d1d1f;
    background: #fff; border: 1px solid rgba(0,0,0,.14); border-radius: 10px;
    padding: 10px 14px; outline: none; transition: border-color .15s, box-shadow .15s; width: 100%;
}
.il-page .ilr-input:focus { border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,.15); }
.il-page .ilr-input-kw {
    font-family: "SF Mono", ui-monospace, monospace;
    font-size: 16px; font-weight: 500; letter-spacing: .01em;
}
.il-page .ilr-input-sm { max-width: 100px; text-align: center; }
.il-page .ilr-select {
    font-family: inherit; font-size: 14px; color: #1d1d1f;
    background: #fff; border: 1px solid rgba(0,0,0,.14); border-radius: 10px;
    padding: 10px 14px; outline: none; cursor: pointer; width: 100%;
}
.il-page .ilr-select:focus { border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,.15); }
.il-page .ilr-range-row { display: flex; align-items: center; gap: 12px; margin-top: 6px; }
.il-page .ilr-range {
    flex: 1; -webkit-appearance: none; height: 4px;
    background: #e5e5ea; border-radius: 2px; outline: none; border: none !important; padding: 0 !important;
}
.il-page .ilr-range::-webkit-slider-thumb {
    -webkit-appearance: none; width: 20px; height: 20px;
    background: #fff; border: 2px solid #0071e3; border-radius: 50%;
    cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,.15); transition: transform .1s;
}
.il-page .ilr-range::-webkit-slider-thumb:active { transform: scale(1.15); }
.il-page .ilr-range::-moz-range-thumb {
    width: 20px; height: 20px; background: #fff; border: 2px solid #0071e3;
    border-radius: 50%; cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.il-page .ilr-num {
    width: 60px; text-align: center; font-family: inherit; font-size: 14px; font-weight: 600;
    border: 1px solid rgba(0,0,0,.14); border-radius: 8px; padding: 7px 6px; outline: none; background: #fff;
}
.il-page .ilr-num:focus { border-color: #0071e3; }
.il-page .ilr-panel-footer {
    display: flex; gap: 10px; justify-content: flex-end;
    padding-top: 1.25rem; margin-top: 1.25rem; border-top: 1px solid rgba(0,0,0,.06);
}

/* Reglas list */
.il-page .ilr-list-head {
    display: grid; grid-template-columns: 1.2fr 1.6fr 110px 80px 130px;
    padding: 9px 20px; background: #f5f5f7; border-radius: 12px;
    margin-bottom: 8px; gap: 12px;
}
.il-page .ilr-list-head span {
    font-size: 11px; font-weight: 600; letter-spacing: .04em;
    text-transform: uppercase; color: #86868b;
}
.il-page .ilr-col-prio { text-align: center; }
.il-page .ilr-col-ctrl { text-align: right; }
.il-page .ilr-list { display: flex; flex-direction: column; gap: 5px; }
.il-page .ilr-row {
    display: grid; grid-template-columns: 1.2fr 1.6fr 110px 80px 130px;
    align-items: center; background: #fff;
    border: 1px solid rgba(0,0,0,.07); border-radius: 14px;
    padding: 14px 20px; transition: border-color .15s, box-shadow .15s, opacity .2s; gap: 12px;
}
.il-page .ilr-row:hover { border-color: rgba(0,0,0,.14); box-shadow: 0 4px 16px rgba(0,0,0,.06); }
.il-page .ilr-row-off { opacity: .4; }
.il-page .ilr-kw-text {
    font-family: "SF Mono", ui-monospace, monospace;
    font-size: 14px; font-weight: 500; color: #1d1d1f; letter-spacing: .005em;
}
.il-page .ilr-col-dest { display: flex; align-items: center; gap: 8px; min-width: 0; }
.il-page .ilr-arrow { width: 16px; height: 8px; flex-shrink: 0; stroke: #c7c7cc; overflow: visible; }
.il-page .ilr-dest-name {
    font-size: 13px; font-weight: 500; color: var(--ds-ink3);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 240px;
}
.il-page .ilr-col-prio { display: flex; justify-content: center; }
.il-page .ilr-prio-chip {
    font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums;
    padding: 3px 11px; border-radius: 20px; letter-spacing: .01em;
}
.il-page .ilr-prio-hi  { background: rgba(52,199,89,.12);  color: #1a7a3a; }  /* high priority = green */
.il-page .ilr-prio-mid { background: rgba(255,149,0,.12);  color: #c06000; }  /* mid = orange */
.il-page .ilr-prio-lo  { background: rgba(255,59,48,.12);  color: #cc2200; }  /* low = red */
.il-page .ilr-col-ctrl { display: flex; align-items: center; gap: 8px; justify-content: flex-end; }

/* Toggle switch */
.il-page .ilr-sw {
    width: 42px; height: 24px; border-radius: 12px; border: none;
    cursor: pointer; position: relative; flex-shrink: 0; transition: background .2s; padding: 0;
}
.il-page .ilr-sw-on  { background: #34c759; }
.il-page .ilr-sw-off { background: #e5e5ea; }
.il-page .ilr-sw-dot {
    position: absolute; width: 20px; height: 20px; border-radius: 50%;
    background: #fff; top: 2px; transition: left .2s;
    box-shadow: 0 1px 4px rgba(0,0,0,.2); pointer-events: none;
}
.il-page .ilr-sw-on  .ilr-sw-dot { left: 20px; }
.il-page .ilr-sw-off .ilr-sw-dot { left: 2px; }

/* Icon buttons */
.il-page .ilr-icon-btn {
    width: 32px; height: 32px; border-radius: 8px; background: transparent;
    border: 1px solid rgba(0,0,0,.1); color: #8e8e93; cursor: pointer;
    display: flex; align-items: center; justify-content: center; transition: all .12s; flex-shrink: 0;
}
.il-page .ilr-icon-btn svg { width: 13px; height: 13px; display: block; }
.il-page .ilr-icon-btn:hover { background: #f5f5f7; border-color: rgba(0,0,0,.2); color: #3a3a3c; }
.il-page .ilr-icon-del:hover { background: rgba(255,59,48,.07); border-color: rgba(255,59,48,.3); color: #ff3b30; }

/* ── Settings ────────────────────────────────────────────────── */
.il-page .ils-block {
    background: #fff; border: 1px solid rgba(0,0,0,.08);
    border-radius: 18px; overflow: hidden; max-width: 700px;
}
.il-page .ils-row {
    display: flex; align-items: center; justify-content: space-between;
    gap: 2rem; padding: 1.25rem 1.5rem; border-bottom: 1px solid rgba(0,0,0,.05);
}
/* Override for semantic table rows — use grid, not flex */
.il-page .ils-row.ils-table-row {
    display: grid !important; grid-template-columns: 50px 90px 1fr 100px 70px 70px 100px 80px !important;
    align-items: center !important; padding: 13px 20px !important; gap: 0 !important;
    border-bottom: 1px solid var(--ds-border, #e5e7eb) !important;
    font-size: 13px !important;
}
.il-page .ils-row.ils-table-row:hover { background: var(--ds-surface2, #f8f9fc) !important; }
.il-page .ils-row-lang { font-size: 11px !important; font-weight: 600 !important; }
.il-page .ils-row-title { text-align: left !important; min-width: 0 !important; }
.il-page .ils-row-post-title { font-size: 13px !important; font-weight: 400 !important; color: var(--ds-ink, #111827) !important; display: block !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.il-page .ils-row-post-meta { font-size: 11px !important; color: var(--ds-ink4, #9ca3af) !important; }
.il-page .ils-row-status { text-align: left !important; }
.il-page .ils-row-out, .il-page .ils-row-in { text-align: center !important; font-size: 13px !important; }
.il-page .ils-row-score { text-align: center !important; font-size: 12px !important; }
.il-page .ils-row-acts { display: flex !important; gap: 4px !important; justify-content: flex-end !important; }
.il-page .ils-row-act { width: 26px !important; height: 26px !important; border: none !important; background: none !important; color: var(--ds-ink4, #9ca3af) !important; cursor: pointer !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 4px !important; }
.il-page .ils-row-act:hover { color: var(--ds-ink, #111827) !important; background: var(--ds-surface3, #f0f1f4) !important; }
.il-page .ils-row:last-child { border-bottom: none; }
.il-page .ils-label { font-size: 14px; font-weight: 500; color: #1d1d1f; letter-spacing: -.01em; margin-bottom: 3px; }
.il-page .ils-desc  { font-size: 12px; color: #aeaeb2; line-height: 1.4; }
.il-page .ils-toggle { display: flex; align-items: center; cursor: pointer; }
.il-page .ils-toggle input { display: none; }
.il-page .ils-track {
    width: 42px; height: 24px; border-radius: 12px; background: #e5e5ea;
    position: relative; transition: background .2s;
}
.il-page .ils-dot {
    position: absolute; width: 20px; height: 20px; border-radius: 50%;
    background: #fff; top: 2px; left: 2px; transition: left .2s;
    box-shadow: 0 1px 4px rgba(0,0,0,.2);
}
.il-page .ils-toggle input:checked + .ils-track { background: #34c759; }
.il-page .ils-toggle input:checked + .ils-track .ils-dot { left: 20px; }

/* ════════════════════════════════════════════════════════════════
   URLs EXCLUIDAS
   ════════════════════════════════════════════════════════════════ */
.il-page .ilx-count-pill {
    font-size: 12px; font-weight: 600; letter-spacing: -.01em;
    color: #ff3b30; background: rgba(255,59,48,.08); border: 1px solid rgba(255,59,48,.2);
    padding: 7px 16px; border-radius: 980px; white-space: nowrap;
}
.il-page .ilx-alert {
    display: flex; align-items: center; gap: 9px;
    font-size: 13px; font-weight: 500; letter-spacing: -.01em;
    padding: 11px 16px; border-radius: 12px; margin-bottom: 1.75rem;
}
.il-page .ilx-alert svg { flex-shrink: 0; }
.il-page .ilx-alert-ok   { background: rgba(52,199,89,.08);  border: 1px solid rgba(52,199,89,.22);  color: #1a7431; }
.il-page .ilx-alert-warn { background: rgba(255,149,0,.08);  border: 1px solid rgba(255,149,0,.22);  color: #7c4a00; }

.il-page .ilx-layout { display: grid; grid-template-columns: 340px 1fr; gap: 20px; align-items: start; }

/* Left add panel */
.il-page .ilx-panel-add {
    background: #fff; border: 1px solid rgba(0,0,0,.09); border-radius: 18px; overflow: hidden;
}
.il-page .ilx-panel-header {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; font-weight: 600; letter-spacing: -.01em; color: #3a3a3c;
    padding: 14px 20px; background: #f5f5f7; border-bottom: 1px solid rgba(0,0,0,.07);
}
.il-page .ilx-panel-header svg { flex-shrink: 0; }
.il-page .ilx-panel-body { padding: 1.25rem 1.25rem .5rem; }
.il-page .ilx-field { margin-bottom: .75rem; }
.il-page .ilx-label {
    display: block; font-size: 11px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .05em; color: #86868b; margin-bottom: 6px;
}
.il-page .ilx-input-wrap { position: relative; display: flex; align-items: center; }
.il-page .ilx-input-icon { position: absolute; left: 13px; color: #aeaeb2; pointer-events: none; flex-shrink: 0; }
.il-page .ilx-input {
    font-family: "SF Mono", ui-monospace, monospace; font-size: 13px; color: #1d1d1f;
    background: #f5f5f7; border: 1px solid rgba(0,0,0,.1); border-radius: 10px;
    padding: 10px 12px 10px 38px; width: 100%; outline: none;
    transition: border-color .15s, box-shadow .15s;
}
.il-page .ilx-input:focus { background: #fff; border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,.12); }
.il-page .ilx-hint { font-size: 11px; color: #aeaeb2; margin: 4px 0 12px; line-height: 1.5; }
.il-page .ilx-hint code {
    font-family: "SF Mono", ui-monospace, monospace; font-size: 10px;
    background: rgba(0,0,0,.06); padding: 1px 5px; border-radius: 4px;
}
.il-page .ilx-btn-add {
    width: 100%; font-family: inherit; font-size: 14px; font-weight: 600;
    color: #fff; background: #0071e3; border: none; padding: 11px; border-radius: 10px;
    cursor: pointer; transition: background .15s; letter-spacing: -.01em; margin-bottom: .75rem;
}
.il-page .ilx-btn-add:hover { background: #0077ed; }
.il-page .ilx-panel-info {
    display: flex; align-items: flex-start; gap: 8px; font-size: 12px; color: #86868b; line-height: 1.55;
    padding: .75rem 1.25rem 1.25rem; border-top: 1px solid rgba(0,0,0,.06);
}
.il-page .ilx-panel-info svg { flex-shrink: 0; margin-top: 1px; }
.il-page .ilx-panel-info strong { color: #3a3a3c; font-weight: 600; }

/* Right list panel */
.il-page .ilx-panel-list {
    background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 18px; overflow: hidden;
}
.il-page .ilx-empty { padding: 4rem 2rem; text-align: center; }
.il-page .ilx-empty-icon {
    width: 56px; height: 56px; margin: 0 auto 1.25rem; background: #f5f5f7;
    border-radius: 16px; display: flex; align-items: center; justify-content: center; color: #c7c7cc;
}
.il-page .ilx-empty-title { font-size: 15px; font-weight: 600; color: #3a3a3c; margin-bottom: 5px; letter-spacing: -.015em; }
.il-page .ilx-empty-sub   { font-size: 13px; color: #aeaeb2; }
.il-page .ilx-list-head {
    display: grid; grid-template-columns: 30px 1fr 120px; padding: 9px 18px;
    background: #f5f5f7; border-bottom: 1px solid rgba(0,0,0,.07); gap: 12px;
    font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: #86868b;
}
.il-page .ilx-item {
    display: grid; grid-template-columns: 30px 1fr 120px;
    align-items: center; padding: 13px 18px;
    border-bottom: 1px solid rgba(0,0,0,.05); gap: 12px; transition: background .1s;
}
.il-page .ilx-item:last-of-type { border-bottom: none; }
.il-page .ilx-item:hover { background: #fafafa; }
.il-page .ilx-item-num { font-size: 12px; font-weight: 600; color: #c7c7cc; text-align: right; font-variant-numeric: tabular-nums; }
.il-page .ilx-item-url {
    font-family: "SF Mono", ui-monospace, monospace; font-size: 13px; color: #3a3a3c;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.il-page .ilx-item form { display: flex; justify-content: flex-end; }
.il-page .ilx-remove {
    display: inline-flex; align-items: center; gap: 5px; justify-content: flex-end;
    font-family: inherit; font-size: 12px; font-weight: 500; color: #ff3b30;
    background: transparent; border: 1px solid rgba(255,59,48,.22); padding: 5px 12px;
    border-radius: 20px; cursor: pointer; transition: all .12s; white-space: nowrap;
}
.il-page .ilx-remove:hover { background: rgba(255,59,48,.06); border-color: rgba(255,59,48,.45); }
.il-page .ilx-list-footer {
    font-size: 12px; color: #aeaeb2; text-align: right;
    padding: 9px 18px; border-top: 1px solid rgba(0,0,0,.05);
}

/* ════════════════════════════════════════════════════════════════
   ACTIVIDAD / LOG
   ════════════════════════════════════════════════════════════════ */
.il-page .ill-btn-clear {
    display: inline-flex; align-items: center; gap: 7px; font-family: inherit;
    font-size: 13px; font-weight: 500; color: #ff3b30;
    background: rgba(255,59,48,.07); border: 1px solid rgba(255,59,48,.2);
    padding: 9px 16px; border-radius: 980px; cursor: pointer; transition: all .15s; letter-spacing: -.01em;
}
.il-page .ill-btn-clear:hover:not(:disabled) { background: rgba(255,59,48,.12); border-color: rgba(255,59,48,.4); }
.il-page .ill-btn-clear:disabled { opacity: .4; cursor: default; }
.il-page .ill-btn-clear svg { flex-shrink: 0; }

/* Stats bar */
.il-page .ill-stats {
    display: flex; gap: 0; align-items: stretch;
    background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 16px;
    overflow: hidden; margin-bottom: 1.75rem;
}
.il-page .ill-stat {
    flex: 1; display: flex; flex-direction: column; gap: 4px;
    padding: 1.25rem 1.5rem; border-right: 1px solid rgba(0,0,0,.06);
}
.il-page .ill-stat:last-child { border-right: none; }
.il-page .ill-stat-n {
    font-size: 30px; font-weight: 700; letter-spacing: -.04em;
    color: #1d1d1f; font-variant-numeric: tabular-nums; line-height: 1;
}
.il-page .ill-stat-l { font-size: 11px; font-weight: 500; color: #86868b; text-transform: uppercase; letter-spacing: .05em; }
.il-page .ill-stat-blue .ill-stat-n { color: #0071e3; }

/* Filters */
.il-page .ill-filters { margin-bottom: 1.25rem; }
.il-page .ill-filter-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.il-page .ill-search-wrap { position: relative; flex: 1; min-width: 220px; display: flex; align-items: center; }
.il-page .ill-search-icon { position: absolute; left: 13px; color: #aeaeb2; pointer-events: none; flex-shrink: 0; }
.il-page .ill-search-input {
    font-family: inherit; font-size: 14px; color: #1d1d1f;
    background: #fff; border: 1px solid rgba(0,0,0,.12); border-radius: 10px;
    padding: 10px 14px 10px 40px; width: 100%; outline: none;
    transition: border-color .15s, box-shadow .15s;
}
.il-page .ill-search-input:focus { border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,.12); }
.il-page .ill-filter-select {
    font-family: inherit; font-size: 14px; color: #1d1d1f;
    background: #fff; border: 1px solid rgba(0,0,0,.12); border-radius: 10px;
    padding: 10px 14px; outline: none; cursor: pointer; min-width: 180px;
}
.il-page .ill-filter-btn {
    font-family: inherit; font-size: 14px; font-weight: 600; color: #fff;
    background: #1d1d1f; border: none; padding: 10px 20px; border-radius: 10px; cursor: pointer;
}
.il-page .ill-filter-btn:hover { background: #3a3a3c; }
.il-page .ill-filter-clear { font-size: 13px; color: #0071e3; text-decoration: none; font-weight: 500; }
.il-page .ill-filter-clear:hover { opacity: .75; }

/* Table */
.il-page .ill-table-head {
    display: grid; grid-template-columns: 80px 2.5fr 1.5fr 2fr;
    padding: 9px 20px; gap: 16px;
    background: #f5f5f7; border-radius: 12px; margin-bottom: 6px;
    font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: #86868b;
}
.il-page .ill-table { display: flex; flex-direction: column; gap: 4px; }
.il-page .ill-date-sep {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .06em; color: #aeaeb2; padding: 14px 4px 4px; margin-top: 6px;
}
.il-page .ill-date-sep:first-child { padding-top: 0; margin-top: 0; }
.il-page .ill-row {
    display: grid; grid-template-columns: 80px 2.5fr 1.5fr 2fr;
    align-items: center; gap: 16px; background: #fff;
    border: 1px solid rgba(0,0,0,.07); border-radius: 12px; padding: 13px 20px;
    transition: border-color .12s, box-shadow .12s;
}
.il-page .ill-row:hover { border-color: rgba(0,0,0,.14); box-shadow: 0 2px 12px rgba(0,0,0,.05); }
.il-page .ill-time {
    font-family: "SF Mono", ui-monospace, monospace;
    font-size: 12px; color: #aeaeb2; font-variant-numeric: tabular-nums; display: block;
}
.il-page .ill-td-post { display: flex; align-items: center; gap: 8px; min-width: 0; overflow: hidden; }
.il-page .ill-post-type-badge {
    font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
    color: #6e6e73; background: #f0f0f5; padding: 3px 7px; border-radius: 5px;
    flex-shrink: 0; white-space: nowrap;
}
.il-page .ill-post-link {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 13px; font-weight: 500; color: #1d1d1f; text-decoration: none;
    letter-spacing: -.01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 280px;
}
.il-page .ill-post-link:hover { color: #0071e3; }
.il-page .ill-ext { flex-shrink: 0; opacity: .35; width: 10px; height: 10px; display: inline-block; }
.il-page .ill-post-link:hover .ill-ext { opacity: .8; }
.il-page .ill-td-kw { display: flex; align-items: center; }
.il-page .ill-kw-chip {
    font-family: "SF Mono", ui-monospace, monospace; font-size: 12px; font-weight: 500;
    color: #1d1d1f; background: #f5f5f7; border: 1px solid rgba(0,0,0,.09);
    padding: 4px 11px; border-radius: 20px; white-space: nowrap; overflow: hidden;
    text-overflow: ellipsis; max-width: 200px; display: block;
}
.il-page .ill-td-pilar { display: flex; align-items: center; gap: 7px; min-width: 0; overflow: hidden; }
.il-page .ill-arrow { width: 16px; height: 8px; flex-shrink: 0; display: block; }
.il-page .ill-pilar-name {
    font-size: 13px; font-weight: 500; color: var(--ds-ink3);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.il-page .ill-empty {
    background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 18px;
    padding: 5rem 2rem; text-align: center;
}

/* Pagination */
.il-page .ill-pagination {
    display: flex; align-items: center; justify-content: space-between;
    margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid rgba(0,0,0,.06);
}
.il-page .ill-pag-info { font-size: 13px; color: #86868b; letter-spacing: -.01em; }
.il-page .ill-pag-links { display: flex; align-items: center; gap: 10px; }
.il-page .ill-pag-btn {
    font-size: 13px; font-weight: 500; color: #0071e3; text-decoration: none;
    padding: 7px 14px; border: 1px solid rgba(0,113,227,.25); border-radius: 8px; transition: all .12s;
}
.il-page .ill-pag-btn:hover { background: rgba(0,113,227,.06); border-color: #0071e3; }
.il-page .ill-pag-current { font-size: 13px; font-weight: 600; color: #1d1d1f; min-width: 50px; text-align: center; }

/* ── Toast ───────────────────────────────────────────────────── */
.il-toast {
    position: fixed; bottom: 2rem; right: 2rem;
    font-family: -apple-system, "SF Pro Text", sans-serif;
    font-size: 13px; font-weight: 500; letter-spacing: -.01em;
    background: rgba(29,29,31,.92); color: #f5f5f7;
    padding: 11px 20px; border-radius: 980px;
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    opacity: 0; transform: translateY(6px) scale(.97);
    transition: opacity .22s, transform .22s;
    pointer-events: none; z-index: 99999;
    box-shadow: 0 4px 24px rgba(0,0,0,.18);
}
.il-toast.show { opacity: 1; transform: translateY(0) scale(1); }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 900px) {
    .il-page .ilp-drawer-fields { grid-template-columns: 1fr; }
    .il-page .ilr-field-grid    { grid-template-columns: 1fr; }
    .il-page .ilx-layout        { grid-template-columns: 1fr; }
    .il-page .ill-stats         { flex-wrap: wrap; }
    .il-page .ill-stat          { min-width: 45%; border-right: none; border-bottom: 1px solid rgba(0,0,0,.06); }
    .il-page .ill-table-head,
    .il-page .ill-row           { grid-template-columns: 70px 1fr 1fr; }
    .il-page .ill-td-pilar      { display: none; }
    .il-page .ilp-list-header,
    .il-page .ilp-item          { grid-template-columns: 1fr 1fr; }
    .il-page .ilp-col-acts      { display: none; }
}

/* Repair button */
.il-page .ill-btn-repair {
    display: inline-flex; align-items: center; gap: 7px; font-family: inherit;
    font-size: 13px; font-weight: 500; color: var(--ds-ink3);
    background: #f5f5f7; border: 1px solid rgba(0,0,0,.12);
    padding: 9px 16px; border-radius: 980px; cursor: pointer;
    transition: all .15s; letter-spacing: -.01em;
}
.il-page .ill-btn-repair:hover:not(:disabled) { background: #ebebef; border-color: rgba(0,0,0,.2); color: #3a3a3c; }
.il-page .ill-btn-repair:disabled { opacity: .4; cursor: default; }
@keyframes il-spin { to { transform: rotate(360deg); } }

/* ════════════════════════════════════════════════════════════════
   REGLA FORM — sinónimos IA + URL manual
   ════════════════════════════════════════════════════════════════ */

/* Textarea sinónimos */
.il-page .ilr-textarea {
    font-family: "SF Mono", ui-monospace, monospace;
    font-size: 13px; color: #1d1d1f; line-height: 1.6;
    background: #fff; border: 1px solid rgba(0,0,0,.14); border-radius: 10px;
    padding: 10px 14px; width: 100%; outline: none; resize: vertical;
    transition: border-color .15s, box-shadow .15s;
}
.il-page .ilr-textarea:focus { border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,.12); }
.il-page .ilr-textarea::placeholder { color: #c7c7cc; }

/* Synonyms row header */
.il-page .ilr-synonyms-header {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 12px; margin-bottom: 6px;
}

/* AI button */
.il-page .ilr-ai-btn {
    display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; flex-shrink: 0;
    font-family: inherit; font-size: 12px; font-weight: 600; letter-spacing: -.01em;
    color: #fff; background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    border: none; padding: 7px 14px; border-radius: 980px; cursor: pointer;
    transition: opacity .15s, transform .1s; text-decoration: none;
}
.il-page .ilr-ai-btn:hover { opacity: .88; }
.il-page .ilr-ai-btn:active { transform: scale(.97); }
.il-page .ilr-ai-btn:disabled { opacity: .5; cursor: default; }
.il-page .ilr-ai-btn svg { flex-shrink: 0; }
.il-page .ilr-ai-btn-disabled {
    background: #f0f0f5 !important; color: #86868b !important; border: 1px solid rgba(0,0,0,.1);
}

/* AI status */
.il-page .ilr-ai-status {
    display: flex; align-items: center; gap: 6px;
    font-size: 12px; font-weight: 500; padding: 7px 12px; border-radius: 8px; margin-top: 6px;
}
.il-page .ilr-ai-loading { background: #f5f5f7; color: #86868b; }
.il-page .ilr-ai-ok      { background: rgba(52,199,89,.08); color: #1a7431; border: 1px solid rgba(52,199,89,.2); }
.il-page .ilr-ai-error   { background: rgba(255,59,48,.08); color: #c0392b; border: 1px solid rgba(255,59,48,.2); }

/* Destination: dual option grid */
.il-page .ilr-dest-grid {
    display: grid; grid-template-columns: 1fr 40px 1fr; gap: 0; align-items: start;
    background: #f5f5f7; border: 1px solid rgba(0,0,0,.09); border-radius: 14px; overflow: hidden;
}
.il-page .ilr-dest-option { padding: 1rem 1.25rem; }
.il-page .ilr-dest-option-label {
    display: flex; align-items: center; gap: 8px; margin-bottom: 8px;
    font-size: 12px; font-weight: 500; color: #6e6e73;
}
.il-page .ilr-dest-badge {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    color: #fff; background: #1d1d1f; padding: 2px 7px; border-radius: 5px;
}
.il-page .ilr-dest-badge-b { background: #0071e3; }
.il-page .ilr-dest-divider {
    display: flex; align-items: center; justify-content: center;
    padding: 1rem 0; border-left: 1px solid rgba(0,0,0,.08); border-right: 1px solid rgba(0,0,0,.08);
    background: #ebebef;
}
.il-page .ilr-dest-divider span {
    font-size: 11px; font-weight: 600; color: #aeaeb2; text-transform: uppercase; letter-spacing: .05em;
}

/* ════════════════════════════════════════════════════════════════
   AJUSTES — rediseño completo
   ════════════════════════════════════════════════════════════════ */

/* ── Unified page-title typography across all sections ────────────
   Reference: .il-screen .il-page-title in Crear contenido.
   Size 28px, weight 700, letter-spacing -.03em.
   Applies to every plugin page so titles look the same everywhere. */
.il-page .ilim-title,
.il-page .ilt2-title,
.il-page .ils-title,
.il-page .ilpp-title,
.il-page .ilp-title,
.il-page .ilset-title,
.il-page .ilx-hd h1,
.ilx .ilx-hd h1,
.il-page .ilpl-page-title {
    font-size: 28px !important;
    font-weight: 700 !important;
    letter-spacing: -.03em !important;
    line-height: 1.1 !important;
    color: var(--ds-ink) !important;
    margin: 0 0 6px !important;
}

/* Unified subtitle */
.il-page .ilim-sub,
.il-page .ilt2-sub,
.il-page .ils-sub,
.il-page .ilpp-sub,
.il-page .ilp-sub,
.il-page .ilset-sub,
.il-page .ilx-hd p,
.ilx .ilx-hd p {
    font-size: 15px !important;
    color: var(--ds-ink3) !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

/* Unified header block spacing (title + subtitle wrapper) */
.il-page .ilim-header,
.il-page .ilt2-header,
.il-page .ils-header,
.il-page .ilpp-hd,
.il-page .ilp-hd,
.il-page .ilset-hero,
.ilx .ilx-hd {
    margin-bottom: 22px !important;
}


/* Hero */
/* Ajustes page — aligned left (no centering), same treatment as Herramientas.
   max-width + padding are set in the unified wrapper rule above. */

.il-page .ilset-hero {
    margin-bottom: 22px;
}
.il-page .ilset-title {
    font-size: 28px; font-weight: 700; letter-spacing: -.03em;
    color: var(--ds-ink); margin: 0 0 6px;
}
.il-page .ilset-sub {
    font-size: 15px; color: var(--ds-ink3); margin: 0;
}

/* Two-column: vertical sidebar on the left, content on the right */
.il-page .ilset-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 28px;
    align-items: flex-start;
}

/* Vertical sidebar */
.il-page .ilset-sidebar {
    display: flex;
    flex-direction: column;
    gap: 2px;
    position: sticky;
    top: 46px; /* below WP admin bar */
    padding: 6px 0;
    background: var(--ds-surface);
    border: 1px solid var(--ds-border);
    border-radius: var(--ds-r-lg);
}

/* Sidebar item — visual language matches the global ilset-nav-item,
   but scoped to .ilset-sidebar so we don't inherit the old !important noise */
.il-page .ilset-sidebar .ilset-nav-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 16px !important;
    font-family: var(--ds-font) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: var(--ds-ink2) !important;
    text-decoration: none !important;
    border: none !important;
    border-left: 2px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    transition: background .12s, color .12s !important;
    letter-spacing: -.005em !important;
    line-height: 1.3 !important;
}
.il-page .ilset-sidebar .ilset-nav-item svg {
    flex-shrink: 0; opacity: .55; transition: opacity .12s;
}
.il-page .ilset-sidebar .ilset-nav-item:hover {
    background: var(--ds-surface3) !important;
    color: var(--ds-ink) !important;
}
.il-page .ilset-sidebar .ilset-nav-item:hover svg { opacity: .85; }
.il-page .ilset-sidebar .ilset-nav-item.ilset-nav-active {
    background: var(--ds-blue-lt) !important;
    color: var(--ds-blue) !important;
    border-left-color: var(--ds-blue) !important;
    font-weight: 600 !important;
}
.il-page .ilset-sidebar .ilset-nav-item.ilset-nav-active svg { opacity: 1; }

/* Separator between conceptual groups in the sidebar.
   Rendered automatically by the loop when '_group' changes between
   consecutive tabs. We use a thin neutral line plus extra vertical
   padding so the groups breathe without shouting. */
.il-page .ilset-sidebar .ilset-nav-sep {
    height: 1px;
    background: rgba(0,0,0,.06);
    margin: 10px 12px;
    border: none;
}

/* Remove the native focus ring that the browser draws on click/tap.
   We still want keyboard users to get a focus indicator, so :focus-visible
   keeps the outline only when focus comes from the keyboard, not mouse clicks. */
.il-page .ilset-sidebar .ilset-nav-item:focus {
    outline: none !important;
    box-shadow: none !important;
}
.il-page .ilset-sidebar .ilset-nav-item:focus-visible {
    outline: 2px solid var(--ds-blue) !important;
    outline-offset: -2px !important;
}

/* Tab content area */
.il-page .ilset-tab-content {
    max-width: 900px;
    min-width: 0;
}

/* Responsive: stack sidebar above content on narrow screens */
@media (max-width: 900px) {
    .il-page .ilset-layout {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .il-page .ilset-sidebar {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
        padding: 4px;
    }
    .il-page .ilset-sidebar .ilset-nav-item {
        border-left: none !important;
        border-bottom: 2px solid transparent !important;
    }
    .il-page .ilset-sidebar .ilset-nav-item.ilset-nav-active {
        border-left-color: transparent !important;
        border-bottom-color: var(--ds-blue) !important;
    }
}

/* Sections */
.il-page .ilset-content {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.il-page .ilset-section {
    padding-bottom: 32px;
    margin-bottom: 32px;
    border-bottom: 1px solid var(--ds-border);
}
.il-page .ilset-section-last {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Section header */
.il-page .ilset-section-head {
    display: flex; align-items: flex-start; gap: 12px;
    margin-bottom: 20px;
}
.il-page .ilset-section-icon {
    width: 32px; height: 32px; border-radius: 8px;
    background: #f5f5f7;
    display: flex; align-items: center; justify-content: center;
    color: #6e6e73; flex-shrink: 0; margin-top: 1px;
}
.il-page .ilset-section-title {
    font-size: 17px; font-weight: 700; color: #111827;
    letter-spacing: -.02em; line-height: 1.3;
}
.il-page .ilset-section-desc {
    font-size: 13px; color: #6b7280; margin-top: 3px; line-height: 1.5;
}
.il-page .ilset-status {
    margin-left: auto; flex-shrink: 0;
    font-size: 11px; font-weight: 600; letter-spacing: .02em;
    padding: 4px 10px; border-radius: 20px;
}
.il-page .ilset-status-ok  { color: #1a7a3a; background: rgba(26,122,58,.1); }
.il-page .ilset-status-off { color: #86868b; background: #f5f5f7; }

/* Field group */
.il-page .ilset-field-group {
    background: #fff;
    border: 1px solid rgba(0,0,0,.09);
    border-radius: 12px;
    overflow: hidden;
}
.il-page .ilset-field {
    padding: 16px 18px;
    border-bottom: 1px solid rgba(0,0,0,.06);
}
.il-page .ilset-field:last-child,
.il-page .ilset-field-last { border-bottom: none; }
.il-page .ilset-field-row {
    display: flex; align-items: center; gap: 16px; justify-content: space-between;
}
.il-page .ilset-field-info { flex: 1; min-width: 0; }
/* Constrain inputs/selects in field-row so they don't expand */
.il-page .ilset-field-row > select,
.il-page .ilset-field-row > input { flex-shrink: 0; }

/* Labels & hints */
.il-page .ilset-label {
    display: block; font-size: 14px; font-weight: 600;
    color: #111827; letter-spacing: -.01em; margin-bottom: 4px;
}
.il-page .ilset-hint {
    font-size: 13px; color: #6b7280; line-height: 1.5;
}
.il-page .ilset-hint a { color: #0071e3; text-decoration: none; }
.il-page .ilset-hint a:hover { opacity: .75; }
.il-page .ilset-hint-ok { color: #1a7a3a; display: flex; align-items: center; gap: 5px; margin-top: 6px; }
.il-page .ilset-hint-ok code {
    font-family: "SF Mono", ui-monospace, monospace; font-size: 11px;
    background: rgba(26,122,58,.08); padding: 1px 6px; border-radius: 4px;
}

/* Inputs */
.il-page .ilset-input {
    font-family: inherit; font-size: 13px; color: #1d1d1f;
    background: #f9f9fb; border: 1px solid rgba(0,0,0,.12);
    border-radius: 8px; padding: 8px 11px;
    transition: border-color .15s, box-shadow .15s;
    outline: none;
}
.il-page .ilset-input:focus {
    border-color: #0071e3;
    box-shadow: 0 0 0 3px rgba(0,113,227,.1);
    background: #fff;
}
.il-page .ilset-input-mono { font-family: "SF Mono", ui-monospace, monospace; font-size: 12px; width: 100%; }

/* API key preview block (shown when a key is already saved) */
.il-page .ilset-key-preview {
    display:flex; align-items:center; justify-content:space-between;
    background:#f5f5f7; border:1px solid #e5e7eb; border-radius:8px;
    padding:10px 14px; margin-bottom:10px;
}
.il-page .ilset-key-preview code {
    font-family:"SF Mono", ui-monospace, monospace; font-size:12px;
    color:#1d1d1f; background:transparent; padding:0;
    user-select:none; /* Prevent accidental copy of the masked text */
}
.il-page .ilset-key-status {
    font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.05em;
    color:#1a7a3a; background:rgba(26,122,58,.12);
    padding:3px 10px; border-radius:12px;
}

/* Subtle danger link button (for "Eliminar clave") */
.il-page .ilset-btn-link-danger {
    background:none; border:none; padding:6px 0; cursor:pointer;
    color:#c0392b; font-size:12.5px; font-weight:500;
    text-decoration:underline; text-underline-offset:2px;
    font-family:inherit;
}
.il-page .ilset-btn-link-danger:hover { color:#9b1c0f; }
.il-page .ilset-input-num  { width: 80px; max-width: 80px; text-align: center; flex-shrink: 0; }
.il-page .ilset-select {
    font-family: inherit; font-size: 13px; color: #1d1d1f;
    background: #f9f9fb; border: 1px solid rgba(0,0,0,.12);
    border-radius: 8px; padding: 8px 32px 8px 11px;
    outline: none; cursor: pointer;
    transition: border-color .15s;
    -webkit-appearance: none;
    appearance: none;
    max-width: 220px; flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2386868b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}
.il-page .ilset-select:focus { border-color: #0071e3; }

/* Input + save button row */
.il-page .ilset-input-row {
    display: flex; gap: 8px; align-items: center;
    margin-bottom: 8px;
}
.il-page .ilset-input-row .ilset-input { flex: 1; }

/* Save button (inline) — Brand blue (#2563eb) to align with the rest
   of the plugin's primary CTAs (Nueva base, Crear ficha, Generar
   artículo, etc). The previous black was inconsistent with all other
   action buttons in the plugin's design system. */
.il-page .ilset-btn-save,
.il-page input.ilset-btn-save[type="submit"] {
    font-family: inherit !important;
    font-size: 13px !important; font-weight: 600 !important;
    color: #fff !important; background: #2563eb !important;
    border: none !important; border-radius: 8px !important;
    padding: 8px 18px !important; cursor: pointer !important;
    white-space: nowrap !important; flex-shrink: 0;
    transition: background .15s !important;
    height: auto !important; line-height: normal !important;
    box-shadow: none !important; text-shadow: none !important;
    letter-spacing: -.01em !important;
}
.il-page .ilset-btn-save:hover,
.il-page input.ilset-btn-save[type="submit"]:hover {
    background: #1d4ed8 !important; opacity: 1 !important;
}

/* Form footer */
.il-page .ilset-form-footer {
    display: flex; justify-content: flex-end;
    padding: 12px 18px 0;
}

/* Export/Import grid */
.il-page .ilset-export-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.il-page .ilset-export-panel {
    background: #fff; border: 1px solid rgba(0,0,0,.09);
    border-radius: 12px; padding: 20px;
}
.il-page .ilset-export-panel-title {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; font-weight: 600; color: #1d1d1f;
    letter-spacing: -.01em; margin-bottom: 10px;
}
.il-page .ilset-export-desc {
    font-size: 12px; color: #6e6e73; line-height: 1.5;
    margin: 0 0 14px;
}
.il-page .ilset-export-desc code {
    font-family: "SF Mono", ui-monospace, monospace; font-size: 11px;
    background: #f5f5f7; padding: 1px 5px; border-radius: 4px;
}
.il-page .ilset-export-list {
    list-style: none; margin: 0 0 16px; padding: 0;
    display: flex; flex-direction: column; gap: 4px;
}
.il-page .ilset-export-list li {
    font-size: 12px; color: #6e6e73; padding-left: 16px; position: relative;
}
.il-page .ilset-export-list li.ok::before { content: '✓'; position:absolute;left:0;color:#1a7a3a;font-weight:700; }
.il-page .ilset-export-list li.no { color: #aeaeb2; }
.il-page .ilset-export-list li.no::before { content: '✕'; position:absolute;left:0;color:#d1d1d6; }

.il-page .ilset-btn-export,
.il-page .ilset-btn-import {
    display: inline-flex; align-items: center; gap: 7px;
    font-family: inherit; font-size: 13px; font-weight: 500;
    letter-spacing: -.01em; cursor: pointer;
    padding: 8px 16px; border-radius: 8px; border: none;
    transition: opacity .15s;
    text-decoration: none; white-space: nowrap;
}
.il-page .ilset-btn-export {
    color: #fff; background: #1d1d1f;
}
.il-page .ilset-btn-import {
    color: #fff; background: #0071e3;
    margin-top: 10px;
}
.il-page .ilset-btn-export:hover,
.il-page .ilset-btn-import:hover { opacity: .8; color: #fff; }
.il-page .ilset-btn-import:disabled { opacity: .4; cursor: not-allowed; }

/* Import modes */
.il-page .ilset-import-modes {
    display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px;
}
.il-page .ilset-import-mode {
    display: flex; align-items: flex-start; gap: 9px;
    font-size: 12px; color: #6e6e73; cursor: pointer; line-height: 1.4;
}
.il-page .ilset-import-mode input { margin-top: 2px; flex-shrink: 0; }
.il-page .ilset-import-mode strong { color: #1d1d1f; }

/* Dropzone */
.il-page .ilset-dropzone {
    border: 1.5px dashed rgba(0,0,0,.15); border-radius: 10px;
    padding: 20px 16px; text-align: center;
    cursor: pointer; transition: border-color .15s, background .15s;
    color: #aeaeb2; font-size: 12px; line-height: 1.4;
    display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.il-page .ilset-dropzone:hover {
    border-color: #0071e3; background: rgba(0,113,227,.03);
    color: #6e6e73;
}
.il-page .ilset-dropzone.ilie-has-file {
    border-color: #1a7a3a; background: rgba(26,122,58,.04); color: #1a7a3a;
}

/* ════════════════════════════════════════════════════════════════
   REGLA FORM — sinónimos IA + URL manual
   ════════════════════════════════════════════════════════════════ */

/* Textarea sinónimos */
.il-page .ilr-textarea {
    font-family: "SF Mono", ui-monospace, monospace;
    font-size: 13px; color: #1d1d1f; line-height: 1.6;
    background: #fff; border: 1px solid rgba(0,0,0,.14); border-radius: 10px;
    padding: 10px 14px; width: 100%; outline: none; resize: vertical;
    transition: border-color .15s, box-shadow .15s;
}
.il-page .ilr-textarea:focus { border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,.12); }
.il-page .ilr-textarea::placeholder { color: #c7c7cc; }

/* Synonyms row header */
.il-page .ilr-synonyms-header {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 12px; margin-bottom: 6px;
}

/* AI button */
.il-page .ilr-ai-btn {
    display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; flex-shrink: 0;
    font-family: inherit; font-size: 12px; font-weight: 600; letter-spacing: -.01em;
    color: #fff; background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    border: none; padding: 7px 14px; border-radius: 980px; cursor: pointer;
    transition: opacity .15s, transform .1s; text-decoration: none;
}
.il-page .ilr-ai-btn:hover { opacity: .88; }
.il-page .ilr-ai-btn:active { transform: scale(.97); }
.il-page .ilr-ai-btn:disabled { opacity: .5; cursor: default; }
.il-page .ilr-ai-btn svg { flex-shrink: 0; }
.il-page .ilr-ai-btn-disabled {
    background: #f0f0f5 !important; color: #86868b !important; border: 1px solid rgba(0,0,0,.1);
}

/* AI status */
.il-page .ilr-ai-status {
    display: flex; align-items: center; gap: 6px;
    font-size: 12px; font-weight: 500; padding: 7px 12px; border-radius: 8px; margin-top: 6px;
}
.il-page .ilr-ai-loading { background: #f5f5f7; color: #86868b; }
.il-page .ilr-ai-ok      { background: rgba(52,199,89,.08); color: #1a7431; border: 1px solid rgba(52,199,89,.2); }
.il-page .ilr-ai-error   { background: rgba(255,59,48,.08); color: #c0392b; border: 1px solid rgba(255,59,48,.2); }

/* Destination: dual option grid */
.il-page .ilr-dest-grid {
    display: grid; grid-template-columns: 1fr 40px 1fr; gap: 0; align-items: start;
    background: #f5f5f7; border: 1px solid rgba(0,0,0,.09); border-radius: 14px; overflow: hidden;
}
.il-page .ilr-dest-option { padding: 1rem 1.25rem; }
.il-page .ilr-dest-option-label {
    display: flex; align-items: center; gap: 8px; margin-bottom: 8px;
    font-size: 12px; font-weight: 500; color: #6e6e73;
}
.il-page .ilr-dest-badge {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    color: #fff; background: #1d1d1f; padding: 2px 7px; border-radius: 5px;
}
.il-page .ilr-dest-badge-b { background: #0071e3; }
.il-page .ilr-dest-divider {
    display: flex; align-items: center; justify-content: center;
    padding: 1rem 0; border-left: 1px solid rgba(0,0,0,.08); border-right: 1px solid rgba(0,0,0,.08);
    background: #ebebef;
}
.il-page .ilr-dest-divider span {
    font-size: 11px; font-weight: 600; color: #aeaeb2; text-transform: uppercase; letter-spacing: .05em;
}

/* ════════════════════════════════════════════════════════════════
   REGLA FORM — two-column redesign
   ════════════════════════════════════════════════════════════════ */

/* Panel max-width — form should never stretch full screen */
.il-page .ilr-panel {
    max-width: 880px;
}

/* Two-column layout */
.il-page .ilr-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border: 1px solid rgba(0,0,0,.07);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 1.25rem;
    background: #fff;
}

.il-page .ilr-col {
    padding: 1.25rem 1.5rem;
}
.il-page .ilr-col + .ilr-col {
    border-left: 1px solid rgba(0,0,0,.07);
    background: #fafafa;
}

.il-page .ilr-col-title {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #aeaeb2;
    margin-bottom: 1.1rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--ds-border);
}
.il-page .ilr-col-title svg { flex-shrink: 0; }

/* Textarea — taller */
.il-page .ilr-textarea {
    min-height: 150px;
    resize: vertical;
}

/* URL or divider */
.il-page .ilr-url-or {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0 2px;
}
.il-page .ilr-url-or-line {
    flex: 1;
    height: 1px;
    background: rgba(0,0,0,.1);
}
.il-page .ilr-url-or-text {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #aeaeb2;
    white-space: nowrap;
}

/* Two small fields side by side */
.il-page .ilr-two-small {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 1rem;
}

/* Spinning svg */
.il-page .il-spin-svg {
    animation: il-spin .7s linear infinite;
    display: inline-block;
}

/* Synonyms header alignment */
.il-page .ilr-synonyms-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 7px;
}
.il-page .ilr-synonyms-header > div { flex: 1; min-width: 0; }

@media (max-width: 780px) {
    .il-page .ilr-two-col   { grid-template-columns: 1fr; }
    .il-page .ilr-col + .ilr-col { border-left: none; border-top: 1px solid rgba(0,0,0,.07); }
    .il-page .ilr-two-small { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════════════════════
   PROCESS PENDING — button + progress bar
   ════════════════════════════════════════════════════════════════ */

.il-page .ilp-btn-process {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    color: #1d1d1f;
    background: #f5f5f7;
    border: 1px solid rgba(0,0,0,.14);
    padding: 9px 16px;
    border-radius: 980px;
    cursor: pointer;
    transition: all .15s;
    letter-spacing: -.01em;
    white-space: nowrap;
}
.il-page .ilp-btn-process:hover:not(:disabled) {
    background: #ebebef;
    border-color: rgba(0,0,0,.22);
}
.il-page .ilp-btn-process svg { flex-shrink: 0; color: #0071e3; }

.il-page .il-progress-wrap {
    background: #fff;
    border: 1px solid rgba(0,0,0,.09);
    border-radius: 14px;
    padding: 1.1rem 1.5rem;
    margin-bottom: 1.5rem;
}
.il-page .il-progress-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
.il-page .il-progress-title {
    font-size: 13px;
    font-weight: 600;
    color: #1d1d1f;
    letter-spacing: -.01em;
}
.il-page .il-progress-pct {
    font-size: 13px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #0071e3;
}
.il-page .il-progress-track {
    height: 6px;
    background: #f0f0f5;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 7px;
}
.il-page .il-progress-fill {
    height: 100%;
    background: linear-gradient(to right, #0071e3, #34c759);
    border-radius: 3px;
    transition: width .4s ease;
}
.il-page .il-progress-sub {
    font-size: 12px;
    color: #86868b;
}

/* ════════════════════════════════════════════════════════════════
   REGLA FORM — complete redesign (ilrf- prefix)
   ════════════════════════════════════════════════════════════════ */

.il-page .ilr-panel { max-width: none; }

/* Keyword row — full width, prominent */
.il-page .ilrf-keyword-row {
    padding: 1.5rem 1.5rem 1.25rem;
    border-bottom: 1px solid var(--ds-border);
    background: #fff;
}
.il-page .ilrf-kw-label {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .07em; color: #86868b; display: block; margin-bottom: 3px;
}
.il-page .ilrf-kw-hint {
    font-size: 12px; color: #aeaeb2; margin-bottom: 10px;
}
.il-page .ilrf-kw-input {
    font-family: "SF Mono", ui-monospace, monospace;
    font-size: 18px; font-weight: 500; letter-spacing: .01em;
    color: #1d1d1f; background: #f5f5f7;
    border: 2px solid transparent; border-radius: 12px;
    padding: 12px 16px; width: 100%; outline: none;
    transition: background .15s, border-color .2s, box-shadow .2s;
}
.il-page .ilrf-kw-input:focus {
    background: #fff;
    border-color: #0071e3;
    box-shadow: 0 0 0 4px rgba(0,113,227,.1);
}
.il-page .ilrf-kw-input::placeholder { color: #c7c7cc; font-weight: 400; }

/* Main two-column grid */
.il-page .ilrf-main-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 340px;
}
.il-page .ilrf-col { display: flex; flex-direction: column; }
.il-page .ilrf-col-left  { padding: 1.25rem 1.5rem; background: #fff; border-right: 1px solid rgba(0,0,0,.07); }
.il-page .ilrf-col-right { padding: 1.25rem 1.5rem; background: #fafafa; }

.il-page .ilrf-col-head {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 10px; margin-bottom: 10px;
}
.il-page .ilrf-col-head > div { flex: 1; min-width: 0; }
.il-page .ilrf-col-label {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .07em; color: #86868b;
}
.il-page .ilrf-col-sub {
    font-size: 12px; color: #aeaeb2; margin-top: 2px; line-height: 1.4;
}

/* AI generate button — blue, prominent */
.il-page .ilrf-ai-btn {
    display: inline-flex; align-items: center; gap: 6px;
    font-family: inherit; font-size: 12px; font-weight: 600;
    color: #fff; background: #0071e3;
    border: none; padding: 7px 14px; border-radius: 980px;
    cursor: pointer; transition: background .15s; white-space: nowrap; flex-shrink: 0;
    text-decoration: none; letter-spacing: -.01em;
}
.il-page .ilrf-ai-btn:hover { background: #0077ed; }
.il-page .ilrf-ai-btn:active { transform: scale(.97); }
.il-page .ilrf-ai-btn:disabled { opacity: .5; cursor: default; }
.il-page .ilrf-ai-btn svg { flex-shrink: 0; }
.il-page .ilrf-ai-btn-off {
    background: #f0f0f5 !important; color: #86868b !important;
    border: 1px solid rgba(0,0,0,.1) !important;
}

/* Synonyms textarea */
.il-page .ilrf-synonyms-area {
    font-family: "SF Mono", ui-monospace, monospace;
    font-size: 13px; color: #1d1d1f; line-height: 1.7;
    background: #f5f5f7; border: 1.5px solid transparent;
    border-radius: 10px; padding: 12px 14px; width: 100%;
    outline: none; resize: none; flex: 1;
    min-height: 240px;
    transition: background .15s, border-color .2s, box-shadow .2s;
}
.il-page .ilrf-synonyms-area:focus {
    background: #fff; border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,.1);
}
.il-page .ilrf-synonyms-area::placeholder { color: #c7c7cc; }

/* AI status */
.il-page .ilrf-ai-status {
    display: flex; align-items: center; gap: 6px;
    font-size: 12px; font-weight: 500; padding: 7px 12px;
    border-radius: 8px; margin-top: 8px;
}
.il-page #ai-status.ilr-ai-loading { background: #f5f5f7; color: #86868b; }
.il-page #ai-status.ilr-ai-ok  { background: rgba(52,199,89,.08); color: #1a7431; border: 1px solid rgba(52,199,89,.2); }
.il-page #ai-status.ilr-ai-error { background: rgba(255,59,48,.08); color: #c0392b; border: 1px solid rgba(255,59,48,.2); }

/* Right column fields */
.il-page .ilrf-select {
    font-family: inherit; font-size: 14px; color: #1d1d1f;
    background: #fff; border: 1px solid rgba(0,0,0,.14); border-radius: 10px;
    padding: 10px 14px; outline: none; cursor: pointer; width: 100%;
    transition: border-color .15s;
}
.il-page .ilrf-select:focus { border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,.1); }

.il-page .ilrf-or-divider {
    display: flex; align-items: center; gap: 8px; margin: 10px 0;
}
.il-page .ilrf-or-line { flex: 1; height: 1px; background: rgba(0,0,0,.1); }
.il-page .ilrf-or-text {
    font-size: 11px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .06em; color: #c7c7cc; white-space: nowrap;
}
.il-page .ilrf-input {
    font-family: "SF Mono", ui-monospace, monospace; font-size: 13px; color: #1d1d1f;
    background: #fff; border: 1px solid rgba(0,0,0,.14); border-radius: 10px;
    padding: 10px 14px; width: 100%; outline: none;
    transition: border-color .15s;
}
.il-page .ilrf-input:focus { border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,.1); }
.il-page .ilrf-field-hint { font-size: 11px; color: #aeaeb2; margin-top: 5px; }

/* Bottom row: prioridad + max side by side */
.il-page .ilrf-bottom-row {
    display: flex; gap: 20px; align-items: flex-start;
    margin-top: auto; padding-top: 1rem;
    border-top: 1px solid rgba(0,0,0,.07);
    flex-wrap: nowrap;
}
.il-page .ilrf-mini-field { flex: 1; }
.il-page .ilrf-mini-field-sm { flex: 0 0 100px; }
.il-page .ilrf-mini-label {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .07em; color: #86868b; display: block; margin-bottom: 2px;
}
.il-page .ilrf-prio-num { color: #0071e3; font-weight: 700; text-transform: none; }
.il-page .ilrf-mini-hint { font-size: 11px; color: #aeaeb2; margin-bottom: 7px; }
.il-page .ilrf-range-row { display: flex; align-items: center; gap: 10px; }
.il-page .ilrf-range {
    flex: 1; max-width: 160px; -webkit-appearance: none; height: 4px;
    background: #e5e5ea; border-radius: 2px; outline: none;
    border: none !important; padding: 0 !important;
}
.il-page .ilrf-range::-webkit-slider-thumb {
    -webkit-appearance: none; width: 18px; height: 18px;
    background: #fff; border: 2px solid #0071e3; border-radius: 50%;
    cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,.15);
}
.il-page .ilrf-range::-moz-range-thumb {
    width: 18px; height: 18px; background: #fff; border: 2px solid #0071e3;
    border-radius: 50%; cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,.15);
}
.il-page .ilrf-num {
    width: 60px; text-align: center; font-family: inherit; font-size: 14px; font-weight: 600;
    border: 1px solid rgba(0,0,0,.14); border-radius: 8px; padding: 6px;
    outline: none; background: #fff;
}
.il-page .ilrf-num:focus { border-color: #0071e3; }

/* Footer */
.il-page .ilrf-footer {
    display: flex; align-items: center; justify-content: flex-end; gap: 10px;
    padding: 1rem 1.5rem;
    background: #f5f5f7; border-top: 1px solid rgba(0,0,0,.07);
}
.il-page .ilrf-btn-cancel {
    font-family: inherit; font-size: 14px; font-weight: 500;
    color: #6e6e73; background: transparent; border: none;
    padding: 10px 18px; border-radius: 980px; cursor: pointer;
}
.il-page .ilrf-btn-cancel:hover { background: rgba(0,0,0,.05); }
.il-page .ilrf-btn-save {
    display: inline-flex; align-items: center; gap: 7px;
    font-family: inherit; font-size: 14px; font-weight: 600;
    color: #fff; background: #0071e3; border: none;
    padding: 10px 22px; border-radius: 980px; cursor: pointer;
    transition: background .15s; letter-spacing: -.01em;
}
.il-page .ilrf-btn-save:hover { background: #0077ed; }
.il-page .ilrf-btn-save svg { flex-shrink: 0; }

@media (max-width: 700px) {
    .il-page .ilrf-main-grid { grid-template-columns: 1fr; }
    .il-page .ilrf-col-left { border-right: none; border-bottom: 1px solid rgba(0,0,0,.07); }
    .il-page .ilrf-bottom-row { flex-direction: column; }
    .il-page .ilrf-mini-field-sm { flex: 1; }
}

/* ════════════════════════════════════════════════════════════════
   PILARES — link count column (legacy — kept for compat)
   ════════════════════════════════════════════════════════════════ */
.il-page .ilp-list-header { grid-template-columns: 2fr 3fr 80px 130px !important; }
.il-page .ilp-item        { grid-template-columns: 2fr 3fr 80px 130px !important; }
.il-page .ilp-col-links   { display: flex; align-items: center; justify-content: center; }
.il-page .ilp-links-count {
    font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums;
    color: #0071e3; background: rgba(0,113,227,.08);
    border: 1px solid rgba(0,113,227,.15);
    padding: 3px 12px; border-radius: 20px; min-width: 36px; text-align: center;
}

/* ════════════════════════════════════════════════════════════════
   PILARES v3 — Diseño 04
   ════════════════════════════════════════════════════════════════ */
/* (max-width is set globally in the unified page-wrapper rule) */

/* Header */
.ilpp-header { display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap; }
.ilpp-header-left {}
.ilpp-title { font-size:26px;font-weight:700;letter-spacing:-.04em;color:var(--ds-ink);margin:0 0 2px;line-height:1.1; }
.ilpp-sub { font-size:13.5px;color:var(--ds-ink3);margin:0; }
.ilpp-btn-new {
    display:inline-flex;align-items:center;gap:7px;
    font-family:var(--ds-font);font-size:14px;font-weight:700;
    padding:10px 20px;border-radius:var(--ds-r);border:none;cursor:pointer;
    background:var(--ds-blue);color:#fff;transition:all .14s;white-space:nowrap;
    box-shadow:0 2px 6px rgba(37,99,235,.3);
}
.ilpp-btn-new:hover { background:var(--ds-blue-dark);box-shadow:0 4px 12px rgba(37,99,235,.35); }

/* Stats bar */
.ilpp-stats {
    display:flex;align-items:center;
    background:var(--ds-surface);border:1px solid var(--ds-border);
    border-radius:var(--ds-r-lg);padding:16px 24px;margin-bottom:16px;
}
.ilpp-stat { display:flex;flex-direction:column;align-items:center;flex:1; }
.ilpp-stat-icon { width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--ds-ink4);margin-bottom:6px; }
.ilpp-stat-n { font-size:28px;font-weight:700;color:var(--ds-ink);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums; }
.ilpp-stat-l { font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ds-ink4);margin-top:4px;font-weight:600; }
.ilpp-stat-sub { font-size:11px;color:var(--ds-green);font-weight:600;margin-top:2px; }
.ilpp-stat-sep { width:1px;height:36px;background:var(--ds-border);flex-shrink:0;margin:0 8px; }

/* Drawer (create/edit form) */
.ilpp-drawer {
    background:var(--ds-surface);border:1px solid var(--ds-border);
    border-radius:var(--ds-r-lg);margin-bottom:16px;overflow:hidden;
    box-shadow:var(--ds-shadow-md);
}
.ilpp-drawer-inner { padding:20px 24px; }
.ilpp-drawer-title { font-size:15px;font-weight:700;color:var(--ds-ink);margin-bottom:16px;letter-spacing:-.02em; }
.ilpp-drawer-fields { display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end; }
.ilpp-field { display:flex;flex-direction:column;gap:5px;flex:1;min-width:160px; }
.ilpp-field-sm { max-width:180px; }
.ilpp-label { font-size:14px;font-weight:600;color:var(--ds-ink); }
.ilpp-req { color:var(--ds-red); }
.ilpp-input {
    font-family:var(--ds-font);font-size:14px;color:var(--ds-ink);
    background:var(--ds-surface);border:1px solid var(--ds-border2);
    border-radius:var(--ds-r);padding:8px 12px;height:40px;width:100%;box-sizing:border-box;
    transition:border-color .15s,box-shadow .15s;outline:none;
}
.ilpp-input:focus { border-color:var(--ds-blue);background:#fff;box-shadow:0 0 0 2px var(--ds-blue-ring); }
.ilpp-input::placeholder { color:var(--ds-ink4); }
.ilpp-select {
    appearance:none;cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;
}
.ilpp-drawer-foot {
    display:flex;align-items:center;justify-content:flex-end;gap:8px;
    margin-top:16px;padding-top:14px;border-top:1px solid var(--ds-border);
}
.ilpp-btn-cancel {
    font-family:var(--ds-font);font-size:14px;font-weight:600;color:var(--ds-ink2);
    background:none;border:1px solid var(--ds-border2);border-radius:var(--ds-r);
    padding:8px 18px;cursor:pointer;transition:all .12s;
}
.ilpp-btn-cancel:hover { background:var(--ds-surface3); }
.ilpp-btn-save {
    display:inline-flex;align-items:center;gap:6px;
    font-family:var(--ds-font);font-size:14px;font-weight:700;
    background:var(--ds-blue);color:#fff;border:none;
    border-radius:var(--ds-r);padding:8px 18px;cursor:pointer;
    transition:all .14s;box-shadow:0 2px 6px rgba(37,99,235,.3);
}
.ilpp-btn-save:hover { background:var(--ds-blue-dark); }

/* Table — 5 columns */
.ilpp-table {
    background:var(--ds-surface);border:1px solid var(--ds-border);
    border-radius:var(--ds-r-xl);overflow:hidden;
}
.ilpp-table-head {
    display:grid;grid-template-columns:64px 1fr 1.4fr 80px 72px;
    padding:14px 22px;background:var(--ds-surface2);
    border-bottom:1px solid var(--ds-border);
    font-size:12px;font-weight:700;text-transform:uppercase;
    letter-spacing:.12em;color:var(--ds-ink4);align-items:center;
}
.ilpp-th-lang { text-align:center; }
.ilpp-th-links { text-align:center; }

/* Row */
.ilpp-row {
    display:grid;grid-template-columns:64px 1fr 1.4fr 80px 72px;
    padding:18px 22px;border-bottom:1px solid var(--ds-border);
    align-items:center;transition:background .08s;
}
.ilpp-row:nth-child(even) { background:var(--ds-surface4); }
.ilpp-row:last-child { border-bottom:none; }
.ilpp-row:hover { background:rgba(37,99,235,.018); }

.ilpp-row-lang { display:flex;align-items:center;justify-content:center; }
.ilpp-lang-pill {
    font-size:12px;font-weight:700;padding:5px 9px;border-radius:8px;
    background:#eef2ff;color:var(--ds-blue);
}

.ilpp-row-name {
    font-size:16px;font-weight:600;color:var(--ds-ink);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:16px;
}
.ilpp-row-url-cell { min-width:0;padding-right:12px; }
.ilpp-row-url-link {
    display:block;font-family:var(--ds-mono);font-size:13px;color:var(--ds-ink3);
    text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    transition:color .12s;
}
.ilpp-row-url-link:hover { color:var(--ds-blue); }

.ilpp-row-links { display:flex;align-items:center;justify-content:center; }
.ilpp-links-btn {
    display:inline-flex;align-items:center;gap:4px;
    font-family:var(--ds-font);cursor:pointer;border:none;background:none;padding:0;
    color:var(--ds-blue);transition:opacity .12s;
}
.ilpp-links-btn:hover { opacity:.7; }
.ilpp-links-btn.is-loading { opacity:.45; cursor:wait; }
.ilpp-links-btn.is-loading .ilpp-links-n { animation: ilpp-pulse 1.1s ease-in-out infinite; }
@keyframes ilpp-pulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
.ilpp-links-n { font-size:18px;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums; }

.ilpp-row-acts { display:flex;align-items:center;justify-content:flex-end;gap:4px; }
.ilpp-act {
    width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;
    border:1px solid var(--ds-border);border-radius:var(--ds-r-sm);background:none;
    color:var(--ds-ink4);cursor:pointer;transition:all .12s;
}
.ilpp-act:hover { border-color:var(--ds-border2);color:var(--ds-ink);background:var(--ds-surface3); }
.ilpp-act-del:hover { border-color:rgba(239,68,68,.3);color:var(--ds-red);background:var(--ds-red-lt); }
.ilpp-act svg { width:13px;height:13px; }

/* Empty */
.ilpp-empty { padding:56px 24px;text-align:center;color:var(--ds-ink3); }
.ilpp-empty svg { display:block;margin:0 auto 14px;opacity:.12; }
.ilpp-empty p { font-size:14px;margin:0 0 4px; }
.ilpp-empty-sub { font-size:13px;color:var(--ds-ink4); }

/* Filter bar (lang pills + search inline) */
.ilpp-filter-bar {
    display:flex;align-items:center;gap:16px;margin-bottom:16px;
}
.ilpp-filter-label-text {
    font-size:12px;font-weight:600;color:var(--ds-ink4);text-transform:uppercase;
    letter-spacing:.08em;margin-right:4px;flex-shrink:0;
}

/* Language filter pills with counts */
.ilr-lang-filter {
    display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.ilr-lang-filter-btn {
    font-family:var(--ds-font);font-size:13px;font-weight:500;
    color:var(--ds-ink3);background:var(--ds-surface);
    border:1px solid var(--ds-border);border-radius:20px;
    padding:6px 14px;cursor:pointer;transition:all .12s;
    display:inline-flex;align-items:center;gap:5px;white-space:nowrap;
}
.ilr-lang-filter-btn:hover { border-color:var(--ds-border2);color:var(--ds-ink); }
.ilr-lang-filter-active {
    background:var(--ds-ink);color:#fff;border-color:var(--ds-ink);font-weight:600;
}
.ilr-lang-filter-active:hover { background:#1f2937;color:#fff; }
.ilr-lang-count {
    font-size:11px;font-weight:700;background:rgba(255,255,255,.2);
    padding:1px 6px;border-radius:10px;
}
.ilr-lang-filter-active .ilr-lang-count { background:rgba(255,255,255,.2); }
.ilr-lang-filter-btn:not(.ilr-lang-filter-active) .ilr-lang-count {
    background:var(--ds-surface3);color:var(--ds-ink3);
}
.ilr-filter-default { }
.ilr-default-star { display:none; }
.ilr-filter-sep { width:1px;height:20px;background:var(--ds-border);margin:0 2px; }
.ilr-filter-disabled-btn { }

/* Drawer close button */
.ilpp-drawer-close {
    width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
    border:1px solid var(--ds-border);border-radius:8px;background:none;
    color:var(--ds-ink4);cursor:pointer;transition:all .12s;flex-shrink:0;
}
.ilpp-drawer-close:hover { background:var(--ds-surface3);color:var(--ds-ink); }

/* Field hint */
.ilpp-hint { font-size:12px;color:var(--ds-ink4);margin-top:2px; }
.ilpp-search-wrap {
    flex:1;display:flex;align-items:center;gap:8px;
    background:var(--ds-surface);border:1px solid var(--ds-border2);
    border-radius:var(--ds-r);padding:0 14px;height:40px;
    transition:border-color .15s,box-shadow .15s;
}
.ilpp-search-wrap:focus-within { border-color:var(--ds-blue);box-shadow:0 0 0 2px var(--ds-blue-ring); }
.ilpp-search-wrap svg { color:var(--ds-ink4);flex-shrink:0; }
.ilpp-search-input {
    flex:1;border:none !important;outline:none !important;background:transparent !important;
    font-family:var(--ds-font);font-size:14px;color:var(--ds-ink);height:100%;
    padding:0 !important;margin:0;box-shadow:none !important;
}
.ilpp-search-input::placeholder { color:var(--ds-ink4); }
.ilpp-search-clear {
    border:none;background:none;color:var(--ds-ink4);font-size:18px;
    cursor:pointer;line-height:1;padding:0;
}
.ilpp-search-clear:hover { color:var(--ds-ink); }
.ilpp-results-label { font-size:13px;color:var(--ds-ink4);white-space:nowrap; }

/* ════════════════════════════════════════════════════════════════
   LOG — complete redesign
   ════════════════════════════════════════════════════════════════ */
.il-page .ill-log-table {
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 16px;
    overflow: hidden;
}
.il-page .ill-log-head {
    display: grid;
    grid-template-columns: 56px 3fr 1.5fr 1.5fr 2fr;
    gap: 0;
    padding: 10px 20px;
    background: #f5f5f7;
    border-bottom: 1px solid var(--ds-border);
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .06em; color: #aeaeb2;
}
.il-page .ill-log-date-row {
    padding: 10px 20px 4px;
    background: transparent;
    border-bottom: 1px solid rgba(0,0,0,.04);
}
.il-page .ill-log-date-row span {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .07em; color: #c7c7cc;
}
.il-page .ill-log-row {
    display: grid;
    grid-template-columns: 56px 3fr 1.5fr 1.5fr 2fr;
    gap: 0;
    align-items: center;
    padding: 0;
    border-bottom: 1px solid rgba(0,0,0,.05);
    transition: background .1s;
}
.il-page .ill-log-row:last-child { border-bottom: none; }
.il-page .ill-log-row:hover { background: #fafafa; }

.il-page .ill-log-time {
    padding: 13px 10px 13px 20px;
    font-family: "SF Mono", ui-monospace, monospace;
    font-size: 11px; font-weight: 500; color: #c7c7cc;
    font-variant-numeric: tabular-nums; white-space: nowrap;
}
.il-page .ill-log-post {
    padding: 13px 14px;
    display: flex; align-items: center; gap: 7px; min-width: 0; overflow: hidden;
    border-left: 1px solid rgba(0,0,0,.04);
}
.il-page .ill-log-type {
    font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
    color: #86868b; background: #f0f0f5; padding: 2px 6px; border-radius: 4px; flex-shrink: 0;
}
.il-page .ill-log-title {
    font-size: 13px; font-weight: 500; color: #1d1d1f; text-decoration: none;
    letter-spacing: -.01em; display: inline-flex; align-items: center; gap: 4px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 340px;
}
.il-page .ill-log-title:hover { color: #0071e3; }
.il-page .ill-log-title svg { flex-shrink: 0; opacity: .3; }
.il-page .ill-log-title:hover svg { opacity: .7; }

.il-page .ill-log-kw {
    padding: 13px 14px;
    border-left: 1px solid rgba(0,0,0,.04);
    display: flex; align-items: center;
}
.il-page .ill-log-kw-chip {
    font-family: "SF Mono", ui-monospace, monospace;
    font-size: 12px; font-weight: 500;
    background: #f5f5f7; color: #3a3a3c;
    border: 1px solid rgba(0,0,0,.08); padding: 3px 10px;
    border-radius: 20px; white-space: nowrap; overflow: hidden;
    text-overflow: ellipsis; max-width: 200px; display: block;
}
.il-page .ill-log-dest {
    padding: 13px 14px 13px 14px;
    display: flex; align-items: center; gap: 7px; min-width: 0;
    border-left: 1px solid rgba(0,0,0,.04);
    font-size: 13px; font-weight: 500; color: var(--ds-ink3);
    overflow: hidden;
}
.il-page .ill-log-dest span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ════════════════════════════════════════════════════════════════
   EXCLUSIONES — wider layout
   ════════════════════════════════════════════════════════════════ */
.il-page .ilx-layout-wide {
    grid-template-columns: 400px 1fr !important;
}
.il-page .ilx-item-url {
    max-width: none !important; /* show full URL */
}

/* ════════════════════════════════════════════════════════════════
   APPLY RULE MODAL
   ════════════════════════════════════════════════════════════════ */
.il-modal-overlay {
    position: fixed; inset: 0; z-index: 999999;
    background: rgba(0,0,0,.45);
    display: flex; align-items: center; justify-content: center;
    backdrop-filter: blur(4px);
    animation: il-modal-in .2s ease;
}
@keyframes il-modal-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.il-modal {
    background: #fff; border-radius: 20px;
    padding: 2rem 2rem 1.75rem;
    max-width: 440px; width: 90%;
    box-shadow: 0 24px 60px rgba(0,0,0,.18);
    animation: il-modal-up .22s ease;
}
@keyframes il-modal-up {
    from { transform: translateY(12px) scale(.97); opacity: 0; }
    to   { transform: translateY(0) scale(1); opacity: 1; }
}
.il-modal-icon {
    width: 48px; height: 48px; border-radius: 14px;
    background: rgba(0,113,227,.1); color: #0071e3;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1.25rem;
}
.il-modal-title {
    font-family: -apple-system, "SF Pro Display", sans-serif;
    font-size: 18px; font-weight: 700; letter-spacing: -.025em;
    color: #1d1d1f; margin: 0 0 10px;
}
.il-modal-text {
    font-size: 14px; color: #6e6e73; line-height: 1.6; margin: 0 0 8px;
}
.il-modal-actions {
    display: flex; gap: 10px; justify-content: flex-end; margin-top: 1.5rem;
}
.il-modal-btn-cancel {
    font-family: inherit; font-size: 14px; font-weight: 500;
    color: #6e6e73; background: transparent; border: none;
    padding: 10px 18px; border-radius: 980px; cursor: pointer;
}
.il-modal-btn-cancel:hover { background: rgba(0,0,0,.05); }
.il-modal-btn-confirm {
    display: inline-flex; align-items: center; gap: 7px;
    font-family: inherit; font-size: 14px; font-weight: 600;
    color: #fff; background: #0071e3; border: none;
    padding: 10px 22px; border-radius: 980px; cursor: pointer;
    transition: background .15s; letter-spacing: -.01em;
}
.il-modal-btn-confirm:hover { background: #0077ed; }
.il-modal-btn-third {
    font-family:var(--ds-font);font-size:13px;font-weight:500;
    color:var(--ds-ink3);background:none;border:1px solid var(--ds-border);
    border-radius:8px;padding:8px 16px;cursor:pointer;transition:all .12s;
}
.il-modal-btn-third:hover { background:var(--ds-surface3);color:var(--ds-ink); }
@keyframes ilCrawlIn { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }

/* ════════════════════════════════════════════════════════════════
   EXPORTAR / IMPORTAR
   ════════════════════════════════════════════════════════════════ */

.il-page .ilie-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 0;
}

.il-page .ilie-card {
    background: #fff;
    border: 1px solid rgba(0,0,0,.09);
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.il-page .ilie-card-icon {
    width: 48px; height: 48px;
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    margin: 1.5rem 1.5rem 0;
    flex-shrink: 0;
}
.il-page .ilie-icon-export { background: rgba(0,113,227,.1); color: #0071e3; }
.il-page .ilie-icon-import { background: rgba(52,199,89,.1); color: #34c759; }

.il-page .ilie-card-content {
    padding: 1rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}

.il-page .ilie-card-title {
    font-size: 16px; font-weight: 700; letter-spacing: -.02em;
    color: #1d1d1f; margin: 0;
}
.il-page .ilie-card-desc {
    font-size: 13px; color: #6e6e73; line-height: 1.6; margin: 0;
}
.il-page .ilie-card-desc code {
    font-family: "SF Mono", ui-monospace, monospace; font-size: 12px;
    background: #f5f5f7; border: 1px solid rgba(0,0,0,.08);
    padding: 1px 5px; border-radius: 4px;
}

/* What's included list */
.il-page .ilie-what-list {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 5px;
}
.il-page .ilie-what-list li {
    display: flex; align-items: center; gap: 7px;
    font-size: 12px; font-weight: 500; color: #3a3a3c;
}
.il-page .ilie-what-list li svg { flex-shrink: 0; color: #34c759; }
.il-page .ilie-what-list .ilie-no { color: #aeaeb2; font-weight: 400; }
.il-page .ilie-what-list .ilie-no svg { color: #d1d1d6; }

/* Mode selector */
.il-page .ilie-mode-selector {
    display: flex; flex-direction: column; gap: 8px;
}
.il-page .ilie-mode-opt {
    display: flex; align-items: flex-start; gap: 10px; cursor: pointer;
    padding: 10px 12px; border-radius: 10px;
    border: 1.5px solid rgba(0,0,0,.1); background: #fafafa;
    transition: border-color .15s, background .15s;
}
.il-page .ilie-mode-opt:has(input:checked) {
    border-color: #0071e3; background: rgba(0,113,227,.04);
}
.il-page .ilie-mode-opt input { margin-top: 3px; accent-color: #0071e3; flex-shrink: 0; }
.il-page .ilie-mode-opt-body { display: flex; flex-direction: column; gap: 2px; }
.il-page .ilie-mode-opt-body strong { font-size: 13px; color: #1d1d1f; font-weight: 600; }
.il-page .ilie-mode-opt-body span  { font-size: 12px; color: #86868b; line-height: 1.4; }

/* File drop area */
.il-page .ilie-file-area {
    border: 2px dashed rgba(0,0,0,.15); border-radius: 12px;
    padding: 1.5rem 1rem; text-align: center; cursor: pointer;
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    color: #aeaeb2; font-size: 13px; transition: all .15s;
    background: #fafafa;
}
.il-page .ilie-file-area:hover { border-color: #0071e3; color: #0071e3; background: rgba(0,113,227,.03); }
.il-page .ilie-file-area.ilie-drag-over { border-color: #0071e3; background: rgba(0,113,227,.06); }
.il-page .ilie-file-area.ilie-file-selected {
    border-color: #34c759; border-style: solid;
    background: rgba(52,199,89,.04); color: #1a7431;
}
.il-page .ilie-file-area svg { opacity: .5; }
.il-page .ilie-file-area.ilie-file-selected svg { opacity: 1; color: #34c759; }

/* Status messages */
.il-page .ilie-import-status {
    font-size: 13px; font-weight: 500; padding: 9px 14px;
    border-radius: 10px; letter-spacing: -.01em;
}
.il-page .ilie-status-loading { background: #f5f5f7; color: #86868b; }
.il-page .ilie-status-ok      { background: rgba(52,199,89,.08);  color: #1a7431; border: 1px solid rgba(52,199,89,.2); }
.il-page .ilie-status-error   { background: rgba(255,59,48,.08);  color: #c0392b; border: 1px solid rgba(255,59,48,.2); }

/* Buttons */
.il-page .ilie-btn {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: inherit; font-size: 14px; font-weight: 600;
    border: none; padding: 11px 22px; border-radius: 980px;
    cursor: pointer; transition: opacity .15s; letter-spacing: -.01em;
    align-self: flex-start; white-space: nowrap;
    text-decoration: none;
}
.il-page .ilie-btn svg { flex-shrink: 0; }
.il-page .ilie-btn:hover { opacity: .88; }
.il-page .ilie-btn-export { background: #0071e3; color: #fff; }
.il-page .ilie-btn-import { background: #34c759; color: #fff; }
.il-page .ilie-btn-import:disabled { background: #d1d1d6; cursor: default; opacity: 1; }

@media (max-width: 780px) {
    .il-page .ilie-grid { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════════════════════
   LOG — strip column + strip row style
   ════════════════════════════════════════════════════════════════ */
.il-page .ill-log-row-strip { background: rgba(255,59,48,.02); }
.il-page .ill-log-row-strip:hover { background: rgba(255,59,48,.04); }

.il-page .ill-log-kw-strip {
    background: rgba(255,59,48,.07) !important;
    color: #c0392b !important;
    border-color: rgba(255,59,48,.2) !important;
    text-decoration: line-through;
}
.il-page .ill-log-empty {
    font-size: 13px; color: #d1d1d6; padding-left: 2px;
}

/* ════════════════════════════════════════════════════════════════
   REGLAS — synonym count badge
   ════════════════════════════════════════════════════════════════ */
.il-page .ilr-col-kw {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.il-page .ilr-syn-count {
    font-size: 11px; font-weight: 500;
    color: #aeaeb2; letter-spacing: -.01em;
}

/* ════════════════════════════════════════════════════════════════
   RULE FORM — bottom row 50/50
   ════════════════════════════════════════════════════════════════ */
.il-page .ilrf-bottom-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px;
    margin-top: auto; padding-top: 1rem;
    border-top: 1px solid rgba(0,0,0,.07);
    flex-wrap: unset !important;
}
.il-page .ilrf-mini-field    { flex: unset !important; }
.il-page .ilrf-mini-field-sm { flex: unset !important; width: unset !important; }

/* ── Log notice ──────────────────────────────────────────────── */
.il-page .ill-log-notice {
    display: flex; align-items: center; gap: 8px;
    font-size: 12px; color: #6e6e73;
    background: #f5f5f7; border: 1px solid rgba(0,0,0,.07);
    padding: 9px 14px; border-radius: 10px; margin-bottom: 1rem;
}
.il-page .ill-log-notice svg { flex-shrink: 0; color: #aeaeb2; }
.il-page .ill-log-notice strong { color: #3a3a3c; font-weight: 600; }
.il-page .ill-log-notice a { color: #0071e3; text-decoration: none; margin-left: 4px; }
.il-page .ill-log-notice a:hover { opacity: .75; }

/* ════════════════════════════════════════════════════════════════
   PILAR LINK DETAIL — FULL PANEL
   ════════════════════════════════════════════════════════════════ */

#il-pilar-detail-panel {
    position: fixed; inset: 0; z-index: 999999;
    display: flex; align-items: stretch; justify-content: flex-end;
    animation: ilpd2-in .25s cubic-bezier(.32,.72,0,1);
}
#il-pilar-detail-panel.ilpd2-closing {
    animation: ilpd2-out .28s cubic-bezier(.32,.72,0,1) forwards;
}
@keyframes ilpd2-in  { from { opacity:0; } to { opacity:1; } }
@keyframes ilpd2-out { from { opacity:1; } to { opacity:0; } }
.ilpd2-backdrop {
    position: absolute; inset: 0;
    background: rgba(0,0,0,.45);
    backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
}
.ilpd2-panel {
    position: relative; z-index: 1;
    width: min(1100px, 90vw); height: 100vh;
    background: #fff; display: flex; flex-direction: column;
    box-shadow: -20px 0 60px rgba(0,0,0,.18);
    animation: ilpd2-slide .28s cubic-bezier(.32,.72,0,1);
    font-family: -apple-system, "SF Pro Display", "SF Pro Text", BlinkMacSystemFont, "Helvetica Neue", sans-serif;
}
#il-pilar-detail-panel.ilpd2-closing .ilpd2-panel {
    animation: ilpd2-slide-out .28s cubic-bezier(.32,.72,0,1) forwards;
}
@keyframes ilpd2-slide     { from { transform: translateX(40px); } to { transform: translateX(0); } }
@keyframes ilpd2-slide-out { from { transform: translateX(0); }    to { transform: translateX(60px); } }
.ilpd2-topbar {
    display: flex; align-items: center; justify-content: space-between;
    padding: 22px 28px 18px; border-bottom: 1px solid rgba(0,0,0,.08); flex-shrink: 0;
}
.ilpd2-pilar-name { font-size: 20px; font-weight: 700; letter-spacing: -.025em; color: #1d1d1f; line-height: 1.2; margin-bottom: 4px; }
.ilpd2-pilar-url  { font-family: "SF Mono", ui-monospace, monospace; font-size: 12px; color: #86868b; }
.ilpd2-close {
    width: 36px; height: 36px; border-radius: 50%;
    background: #f5f5f7; border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: #6e6e73; transition: background .15s, color .15s; flex-shrink: 0;
}
.ilpd2-close:hover { background: #e5e5ea; color: #1d1d1f; }
.ilpd2-stats-bar {
    display: flex; align-items: center; padding: 14px 28px;
    background: #f9f9fb; border-bottom: 1px solid rgba(0,0,0,.07);
    flex-shrink: 0; flex-wrap: wrap; gap: 0 4px;
}
.ilpd2-stat { display: flex; flex-direction: column; align-items: center; padding: 0 20px; }
.ilpd2-stat-n { font-size: 22px; font-weight: 700; letter-spacing: -.03em; color: #0071e3; line-height: 1; }
.ilpd2-stat-l  { font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; color: #aeaeb2; margin-top: 3px; white-space: nowrap; }
.ilpd2-stat-sep { width: 1px; height: 32px; background: rgba(0,0,0,.1); }
.ilpd2-search-wrap {
    display: flex; align-items: center; gap: 8px; margin-left: auto;
    background: #fff; border: 1px solid rgba(0,0,0,.12);
    border-radius: 10px; padding: 7px 12px; min-width: 280px;
}
.ilpd2-search-wrap svg { color: #aeaeb2; flex-shrink: 0; }
#ilpd2-search {
    border: none; outline: none; background: transparent;
    font-family: inherit; font-size: 13px; color: #1d1d1f; flex: 1; min-width: 0;
}
#ilpd2-search::placeholder { color: #c7c7cc; }
.ilpd2-count-label { font-size: 11px; color: #aeaeb2; white-space: nowrap; flex-shrink: 0; }
.ilpd2-table-head {
    display: grid; grid-template-columns: 52px 1fr 280px 56px;
    padding: 0 28px; border-bottom: 1px solid rgba(0,0,0,.07);
    background: #f5f5f7; flex-shrink: 0;
}
.ilpd2-th { padding: 9px 10px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #aeaeb2; text-align: left; }
.ilpd2-th-n { text-align: center; }
.ilpd2-body { flex: 1; overflow-y: auto; padding: 0 28px; }
.ilpd2-row {
    display: grid; grid-template-columns: 52px 1fr 280px 56px;
    align-items: center; border-bottom: 1px solid rgba(0,0,0,.05); transition: background .1s;
}
.ilpd2-row:last-child { border-bottom: none; }
.ilpd2-row:hover { background: #fafafa; }
.ilpd2-cell { padding: 11px 10px; }
.ilpd2-cell-type { display: flex; align-items: center; justify-content: center; }
.ilpd2-badge { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #86868b; background: #f0f0f5; padding: 3px 7px; border-radius: 5px; white-space: nowrap; }
.ilpd2-link { font-size: 13px; font-weight: 500; color: #1d1d1f; text-decoration: none; display: inline-flex; align-items: center; gap: 5px; letter-spacing: -.01em; transition: color .12s; }
.ilpd2-link svg { opacity: .3; flex-shrink: 0; transition: opacity .12s; }
.ilpd2-link:hover { color: #0071e3; }
.ilpd2-link:hover svg { opacity: .8; }
.ilpd2-cell-kws { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.ilpd2-kw { font-family: "SF Mono", ui-monospace, monospace; font-size: 11px; font-weight: 500; color: #3a3a3c; background: #f5f5f7; border: 1px solid rgba(0,0,0,.09); padding: 2px 9px; border-radius: 20px; white-space: nowrap; }
.ilpd2-empty-kw { color: #d1d1d6; font-size: 13px; }
.ilpd2-cell-n { text-align: center; }
.ilpd2-n { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; color: #0071e3; background: rgba(0,113,227,.08); border: 1px solid rgba(0,113,227,.15); border-radius: 20px; padding: 0 8px; }
.ilpd2-empty { padding: 3rem; text-align: center; color: #aeaeb2; font-size: 14px; }

/* ════════════════════════════════════════════════════════════════
   MÓDULOS — sección en Ajustes
   ════════════════════════════════════════════════════════════════ */
.il-page .ilset-modules-list {
    display: flex; flex-direction: column; gap: 0;
    background: #fff; border: 1px solid rgba(0,0,0,.09);
    border-radius: 12px; overflow: hidden;
}
.il-page .ilset-module-row {
    display: flex; align-items: center; gap: 14px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(0,0,0,.06);
    transition: background .1s;
}
.il-page .ilset-module-row:last-child { border-bottom: none; }
.il-page .ilset-module-row:hover { background: #fafafa; }

.il-page .ilset-module-icon {
    width: 36px; height: 36px; border-radius: 9px;
    background: #f5f5f7; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    color: #6e6e73;
}
.il-page .ilset-module-info { flex: 1; min-width: 0; }
.il-page .ilset-module-name {
    font-size: 14px; font-weight: 600; color: #1d1d1f;
    letter-spacing: -.015em; margin-bottom: 3px;
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.il-page .ilset-module-desc {
    font-size: 12px; color: #86868b; line-height: 1.45;
}
.il-page .ilset-module-soon {
    font-size: 10px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .04em; color: #86868b;
    background: #f0f0f5; padding: 2px 8px; border-radius: 20px;
}
.il-page .ilset-module-beta {
    font-size: 10px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .06em; color: #fff;
    background: linear-gradient(135deg,#7c3aed,#4f46e5);
    padding: 2px 8px; border-radius: 20px;
}
.il-page .ilset-module-req {
    font-size: 10px; font-weight: 500; color: #6e6e73;
    background: rgba(0,113,227,.07); padding: 2px 8px; border-radius: 20px;
}
.il-page .ilset-module-toggle { flex-shrink: 0; }
.il-page .ilset-module-soon-badge {
    font-size: 11px; color: #aeaeb2; font-style: italic;
}

/* Toggle switch — same style as reglas */
.il-page .ilset-module-sw {
    width: 44px; height: 26px; border-radius: 13px;
    border: none; cursor: pointer; padding: 0;
    position: relative; transition: background .2s;
    flex-shrink: 0;
}
.il-page .ilset-module-sw.ilset-sw-off { background: #e5e5ea; }
.il-page .ilset-module-sw.ilset-sw-on  { background: #34c759; }
.il-page .ilset-sw-dot {
    position: absolute; top: 3px; width: 20px; height: 20px;
    background: #fff; border-radius: 50%;
    box-shadow: 0 1px 4px rgba(0,0,0,.25);
    transition: left .2s cubic-bezier(.4,0,.2,1);
}
.il-page .ilset-module-sw.ilset-sw-off .ilset-sw-dot { left: 3px; }
.il-page .ilset-module-sw.ilset-sw-on  .ilset-sw-dot { left: 21px; }

/* ── Idioma badge in rule list ── */
.il-page .ilr-idioma-chip {
    display: inline-flex; align-items: center;
    font-size: 9px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .05em; color: #0071e3;
    background: rgba(0,113,227,.08); border: 1px solid rgba(0,113,227,.18);
    padding: 2px 7px; border-radius: 20px; margin-left: 5px;
}

/* ════════════════════════════════════════════════════════════════
   RULE FORM — Language tabs
   ════════════════════════════════════════════════════════════════ */
.il-page .ilrf-global-row {
    display: flex; align-items: flex-start; gap: 20px;
    padding: 16px 20px 14px;
    border-bottom: 1px solid var(--ds-border);
    background: #fafafa;
}
.il-page .ilrf-global-hint {
    flex: 1; font-size: 11px; color: #aeaeb2;
    line-height: 1.4; align-self: center; padding-top: 2px;
}
.il-page .ilrf-lang-tabs-bar {
    display: flex; align-items: center;
    padding: 10px 20px 0;
    border-bottom: 1px solid rgba(0,0,0,.08);
    gap: 2px;
}
.il-page .ilrf-lang-tabs {
    display: flex; gap: 2px; flex: 1; flex-wrap: wrap;
}
.il-page .ilrf-lang-tab {
    font-family: inherit; font-size: 12px; font-weight: 500;
    color: #6e6e73; background: none; border: none;
    padding: 8px 14px 9px; cursor: pointer;
    border-bottom: 2px solid transparent; margin-bottom: -1px;
    transition: color .12s, border-color .12s;
    display: inline-flex; align-items: center; gap: 6px;
    white-space: nowrap;
}
.il-page .ilrf-lang-tab:hover { color: #1d1d1f; }
.il-page .ilrf-lang-tab.ilrf-lang-tab-active { color: #0071e3; border-bottom-color: #0071e3; }
.il-page .ilrf-tab-remove {
    font-size: 14px; line-height: 1; color: #aeaeb2;
    margin-left: 2px; cursor: pointer;
}
.il-page .ilrf-tab-remove:hover { color: #c0392b; }
.il-page .ilrf-lang-add-btn {
    font-family: inherit; font-size: 12px; font-weight: 500;
    color: #0071e3; background: none; border: none;
    padding: 8px 10px; cursor: pointer;
    display: inline-flex; align-items: center; gap: 5px;
    transition: opacity .12s; white-space: nowrap;
    margin-bottom: -1px;
}
.il-page .ilrf-lang-add-btn:hover { opacity: .75; }
.il-page .ilrf-lang-panel { padding: 16px 20px; }
.il-page .ilrf-panel-hidden { display: none !important; }
.il-page .ilrf-lang-ok-btn {
    font-family: inherit; font-size: 12px; font-weight: 500;
    color: #fff; background: #0071e3; border: none;
    border-radius: 6px; padding: 5px 12px; cursor: pointer;
    vertical-align: middle; transition: opacity .15s;
}
.il-page .ilrf-lang-ok-btn:hover { opacity: .85; }

/* ── Add-language inline picker ── */
.il-page #ilrf-lang-picker {
    display: flex; align-items: center; gap: 8px;
    padding: 10px 20px 12px;
    background: #f0f6ff; border-bottom: 1px solid rgba(0,113,227,.15);
    animation: ilPickerIn .15s ease;
}
@keyframes ilPickerIn {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}
.il-page #ilrf-lang-picker::before {
    content: 'Añadir variante:';
    font-size: 12px; font-weight: 600; color: #0071e3;
    white-space: nowrap;
}
.il-page #ilrf-lang-select {
    font-family: inherit; font-size: 13px;
    border: 1px solid rgba(0,113,227,.3); border-radius: 7px;
    padding: 5px 10px; background: #fff; color: #1d1d1f;
    outline: none; cursor: pointer;
}
.il-page #ilrf-lang-select:focus { border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,.12); }
.il-page #ilrf-lang-ok {
    font-family: inherit; font-size: 12px; font-weight: 600;
    color: #fff; background: #0071e3; border: none;
    border-radius: 7px; padding: 6px 14px; cursor: pointer;
    transition: opacity .15s;
}
.il-page #ilrf-lang-ok:hover { opacity: .85; }
.il-page #ilrf-lang-cancel {
    font-family: inherit; font-size: 13px; font-weight: 400;
    color: #86868b; background: none; border: none;
    cursor: pointer; padding: 4px 6px; border-radius: 5px;
    transition: color .12s;
}
.il-page #ilrf-lang-cancel:hover { color: #c0392b; }

/* ════════════════════════════════════════════════════════════════
   RULE FORM — Refreshed tab + help design
   ════════════════════════════════════════════════════════════════ */

/* Global row */
.il-page .ilrf-global-spacer { flex: 1; }
.il-page .ilrf-help-wrap { position: relative; }
.il-page .ilrf-help-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 14px 6px 10px; border-radius: 20px;
    border: 1.5px solid #0071e3; background: rgba(0,113,227,.06);
    color: #0071e3; cursor: pointer; font-family: inherit;
    font-size: 12px; font-weight: 600; letter-spacing: -.01em;
    transition: background .15s, box-shadow .15s;
    white-space: nowrap;
}
.il-page .ilrf-help-btn:hover { background: rgba(0,113,227,.12); box-shadow: 0 0 0 3px rgba(0,113,227,.15); }

/* Help panel */
.il-page .ilrf-help-panel {
    position: absolute; right: 0; top: 42px; z-index: 300;
    width: 520px; background: #fff;
    border: 1px solid rgba(0,0,0,.12); border-radius: 14px;
    box-shadow: 0 12px 48px rgba(0,0,0,.16);
    overflow: hidden;
}
.il-page .ilrf-help-title {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; font-weight: 700; color: #1d1d1f;
    letter-spacing: -.01em;
    padding: 14px 18px; border-bottom: 1px solid rgba(0,0,0,.07);
    background: linear-gradient(135deg, #f0f6ff 0%, #fafafa 100%);
}
.il-page .ilrf-help-body {
    padding: 16px 18px; font-size: 12.5px; color: #3a3a3c;
    line-height: 1.6; max-height: 480px; overflow-y: auto;
}
.il-page .ilrf-help-section { margin-bottom: 16px; }
.il-page .ilrf-help-section:last-child { margin-bottom: 0; }
.il-page .ilrf-help-section-title {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .06em; color: #0071e3;
    margin-bottom: 5px;
}
.il-page .ilrf-help-body p { margin: 0 0 6px; }
.il-page .ilrf-help-body p:last-child { margin-bottom: 0; }
.il-page .ilrf-help-body ul { margin: 4px 0 6px 16px; padding: 0; }
.il-page .ilrf-help-body ul li { margin-bottom: 3px; }
.il-page .ilrf-help-body strong { color: #1d1d1f; }
.il-page .ilrf-help-body em { color: #0071e3; font-style: normal; background: rgba(0,113,227,.07); padding: 0 3px; border-radius: 3px; }

/* Principal tab — visually distinct */
.il-page .ilrf-lang-tab.ilrf-tab-principal {
    font-weight: 600;
}
.il-page .ilrf-lang-tab.ilrf-tab-principal.ilrf-lang-tab-active {
    color: #1a7a3a; border-bottom-color: #1a7a3a;
}
.il-page .ilrf-tab-lang-code {
    font-size: 9px; font-weight: 700; letter-spacing: .04em;
    background: rgba(0,113,227,.1); color: #0071e3;
    padding: 1px 5px; border-radius: 4px; margin-right: 2px;
}

/* Tab note */
.il-page .ilrf-tab-note {
    font-size: 12px; color: #6e6e73; line-height: 1.4;
    padding: 8px 0 12px;
    border-bottom: 1px solid rgba(0,0,0,.06); margin-bottom: 14px;
}
.il-page .ilrf-tab-note strong { color: #1d1d1f; }
.il-page .ilrf-tab-note-lang { color: #0071e3; }
.il-page .ilrf-tab-note-lang strong { color: #0055b3; }

/* Picker label */
.il-page #ilrf-lang-picker .ilrf-picker-label {
    font-size: 12px; font-weight: 600; color: #0071e3;
    white-space: nowrap;
}

/* ── Language filter bar ── */
.il-page .ilr-lang-filter {
    display: flex; align-items: center; gap: 6px;
    flex-wrap: wrap; margin-bottom: 12px;
    padding: 10px 14px;
    background: #f5f5f7; border-radius: 12px;
}
.il-page .ilr-lang-filter-btn {
    display: inline-flex; align-items: center; gap: 5px;
    font-family: inherit; font-size: 12px; font-weight: 500;
    color: #6e6e73; background: #fff;
    border: 1px solid rgba(0,0,0,.12); border-radius: 20px;
    padding: 5px 13px; cursor: pointer;
    transition: all .12s;
}
.il-page .ilr-lang-filter-btn:hover { color: #1d1d1f; border-color: rgba(0,0,0,.25); }
.il-page .ilr-lang-filter-btn.ilr-lang-filter-active {
    background: #0071e3; color: #fff; border-color: #0071e3;
}

/* ── Idioma column in list ── */
.il-page .ilr-list-head .ilr-col-lang,
.il-page .ilr-row .ilr-col-lang {
    width: 60px; flex-shrink: 0; text-align: center;
}
.il-page .ilr-col-lang { display: flex; align-items: center; justify-content: center; }
.il-page .ilr-idioma-chip {
    font-size: 10px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .05em; padding: 3px 8px; border-radius: 6px;
    background: rgba(0,113,227,.1); color: #0071e3;
    border: 1px solid rgba(0,113,227,.2);
}
.il-page .ilr-idioma-chip-es { background: rgba(255,149,0,.1);  color: #c06000; border-color: rgba(255,149,0,.3); }
.il-page .ilr-idioma-chip-en { background: rgba(0,113,227,.1);  color: #0055b3; border-color: rgba(0,113,227,.25); }
.il-page .ilr-idioma-chip-fr { background: rgba(52,120,246,.1); color: #1a4fa8; border-color: rgba(52,120,246,.25); }
.il-page .ilr-idioma-chip-de { background: rgba(90,90,90,.08);  color: #3a3a3c; border-color: rgba(0,0,0,.15); }
.il-page .ilr-idioma-chip-it { background: rgba(52,199,89,.1);  color: #1a7a3a; border-color: rgba(52,199,89,.25); }
.il-page .ilr-idioma-chip-pt { background: rgba(255,59,48,.1);  color: #c0392b; border-color: rgba(255,59,48,.25); }
.il-page .ilr-idioma-chip-ca { background: rgba(175,82,222,.1); color: #7a3ab3; border-color: rgba(175,82,222,.25); }
.il-page .ilr-idioma-chip-all { background: #f0f0f5; color: #aeaeb2; border-color: rgba(0,0,0,.1); }

/* Language selector in form */
.il-page .ilrf-mini-field-lang { min-width: 180px; }
.il-page .ilrf-lang-select {
    font-family: inherit; font-size: 13px; font-weight: 500;
    border: 1.5px solid rgba(0,0,0,.15); border-radius: 8px;
    padding: 7px 10px; background: #fff; color: #1d1d1f;
    cursor: pointer; outline: none; width: 100%;
    transition: border-color .12s;
}
.il-page .ilrf-lang-select:focus { border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,.12); }

/* ── Default language star in filter + chips ── */
.il-page .ilr-default-star {
    color: #0071e3; font-size: 11px; margin-left: 3px;
    display: inline; line-height: 1;
}
.il-page .ilr-filter-default { border-color: rgba(0,113,227,.25); }
.il-page .ilr-idioma-chip .ilr-default-star { font-size: 9px; margin-left: 2px; }

/* Destination link in rule row */
.il-page .ilr-dest-link {
    display: inline-flex; align-items: center;
    font-size: 13px; font-weight: 500; color: #3a3a3c;
    text-decoration: none; transition: color .12s;
    max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.il-page .ilr-dest-link:hover { color: #0071e3; }

/* ── Rules search box ── */
.il-page .ilr-search-wrap {
    display: flex; align-items: center; gap: 8px;
    background: #fff; border: 1px solid rgba(0,0,0,.12);
    border-radius: 10px; padding: 7px 12px;
    margin-bottom: 12px; transition: border-color .12s, box-shadow .12s;
}
.il-page .ilr-search-wrap:focus-within {
    border-color: #0071e3; box-shadow: 0 0 0 3px rgba(0,113,227,.1);
}
.il-page .ilr-search-wrap svg { color: #aeaeb2; flex-shrink: 0; }
.il-page #ilr-search {
    flex: 1; border: none; outline: none; background: none;
    font-family: inherit; font-size: 13px; color: #1d1d1f;
}
.il-page #ilr-search::placeholder { color: #c7c7cc; }
.il-page #ilr-search-clear {
    border: none; background: none; color: #aeaeb2;
    font-size: 16px; cursor: pointer; padding: 0 2px;
    line-height: 1; transition: color .12s;
}
.il-page #ilr-search-clear:hover { color: #3a3a3c; }

/* Progress bar success/error sub-text icons */
.il-page #il-progress-sub svg { vertical-align: middle; margin-right: 4px; }

/* ════════════════════════════════
   HERRAMIENTAS PAGE
   ════════════════════════════════ */
.il-page .ilh-grid { display:flex; flex-direction:column; gap:20px; }
.il-page .ilh-card { background:#fff; border:1px solid rgba(0,0,0,.09); border-radius:16px; overflow:hidden; }
.il-page .ilh-card-header { display:flex; align-items:center; gap:14px; padding:16px 20px; border-bottom:1px solid rgba(0,0,0,.07); background:#fafafa; }
.il-page .ilh-card-icon { width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.il-page .ilh-icon-blue  { background:rgba(0,113,227,.1);  color:#0071e3; }
.il-page .ilh-icon-green { background:rgba(52,199,89,.12); color:#1a7a3a; }
.il-page .ilh-card-title { font-size:14px; font-weight:600; color:#1d1d1f; letter-spacing:-.01em; }
.il-page .ilh-card-sub   { font-size:12px; color:#6e6e73; margin-top:2px; }
.il-page .ilh-card-body  { padding:20px; }
.il-page .ilh-two-col    { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:900px) { .il-page .ilh-two-col { grid-template-columns:1fr; } }
.il-page .ilh-panel-title { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:#1d1d1f; margin-bottom:8px; }
.il-page .ilh-panel-desc  { font-size:12.5px; color:#6e6e73; line-height:1.5; margin-bottom:12px; }
.il-page .ilh-checklist   { list-style:none; margin:0 0 14px; padding:0; font-size:12px; color:#3a3a3c; }
.il-page .ilh-checklist li { padding:2px 0; }
.il-page .ilh-checklist li.ok::before { content:'✓ '; color:#34c759; }
.il-page .ilh-checklist li.no::before { content:'✗ '; color:#aeaeb2; }
.il-page .ilh-btn { display:inline-flex; align-items:center; gap:7px; font-family:inherit; font-size:13px; font-weight:600; padding:8px 16px; border-radius:9px; border:none; cursor:pointer; text-decoration:none; transition:opacity .15s; }
.il-page .ilh-btn:hover   { opacity:.85; }
.il-page .ilh-btn-primary { background:#0071e3; color:#fff; }
.il-page .ilh-btn-green   { background:#34c759; color:#fff; }
.il-page .ilh-import-modes { display:flex; flex-direction:column; gap:6px; margin-bottom:12px; }
.il-page .ilh-radio { display:flex; align-items:flex-start; gap:8px; font-size:12.5px; color:#3a3a3c; cursor:pointer; }
.il-page .ilh-radio input { margin-top:2px; flex-shrink:0; }
.il-page .ilh-dropzone { border:2px dashed rgba(0,0,0,.15); border-radius:10px; padding:18px 14px; text-align:center; font-size:12px; color:#6e6e73; cursor:pointer; transition:border-color .15s,background .15s; margin-bottom:10px; }
.il-page .ilh-dropzone:hover { border-color:#0071e3; background:rgba(0,113,227,.04); color:#0071e3; }
.il-page .ilh-dropzone svg { display:block; margin:0 auto 8px; opacity:.4; }

/* ── Selective restore: preview panel after a JSON file is loaded ──
   The preview shows what's inside the file (counts) and lets the
   user tick which sections to restore. Empty sections are rendered
   greyed-out and disabled so the user can't pick something that
   doesn't exist in the file. */
.il-page .ilie-preview {
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 10px;
    background: #fafbfc;
    padding: 14px;
    margin-top: 8px;
}
.il-page .ilie-preview-meta {
    font-size: 11.5px; color: #6e6e73;
    padding-bottom: 10px; margin-bottom: 12px;
    border-bottom: 1px solid rgba(0,0,0,.06);
    line-height: 1.4;
}
.il-page .ilie-preview-title {
    font-size: 12.5px; font-weight: 600; color: #1d1d1f;
    margin-bottom: 8px;
}
.il-page .ilie-preview-list {
    margin-bottom: 14px;
    display: flex; flex-direction: column; gap: 2px;
}
.il-page .ilie-preview-row {
    display: flex; align-items: center; gap: 10px;
    padding: 7px 8px; border-radius: 6px;
    font-size: 12.5px; cursor: pointer;
    transition: background .12s;
}
.il-page .ilie-preview-row:hover { background: rgba(37,99,235,.05); }
.il-page .ilie-preview-row input[type="checkbox"] {
    margin: 0; flex-shrink: 0;
    accent-color: #2563eb;
    width: 15px; height: 15px;
}
.il-page .ilie-preview-row.is-empty {
    opacity: .45; cursor: not-allowed;
}
.il-page .ilie-preview-row.is-empty:hover { background: transparent; }
.il-page .ilie-preview-label { flex: 1; color: #1d1d1f; font-weight: 500; }
.il-page .ilie-preview-count {
    font-size: 11.5px; color: #6e6e73; font-variant-numeric: tabular-nums;
    background: rgba(0,0,0,.04); padding: 2px 8px; border-radius: 10px;
}
.il-page .ilie-preview-row.is-empty .ilie-preview-count { background: transparent; }
.il-page .ilh-csv-guide { margin-bottom:12px; }
.il-page .ilh-csv-guide summary { cursor:pointer; font-size:12.5px; font-weight:500; color:#0071e3; list-style:none; padding:6px 0; }
.il-page .ilh-csv-guide-body { padding:10px 0 0; }
.il-page .ilh-csv-guide-body p { font-size:12px; color:#3a3a3c; margin-bottom:8px; }
.il-page .ilh-csv-table { width:100%; border-collapse:collapse; font-size:11.5px; margin-bottom:8px; }
.il-page .ilh-csv-table th { background:#f0f0f5; padding:6px 8px; text-align:left; font-weight:600; color:#3a3a3c; }
.il-page .ilh-csv-table td { padding:5px 8px; border-top:1px solid rgba(0,0,0,.06); color:#3a3a3c; }
.il-page .ilh-csv-table td:nth-child(2) { text-align:center; color:#34c759; font-weight:700; }
.il-page .ilh-csv-note { font-size:11.5px; color:#6e6e73; background:#f5f5f7; padding:8px 10px; border-radius:6px; }

/* ── Process-posts notice (exclusiones + CSV import) ── */
.il-page .ilx-process-notice {
    display: flex; align-items: flex-start; gap: 10px;
    background: #fff8e1; border: 1px solid #ffe082;
    border-radius: 10px; padding: 12px 16px;
    margin-bottom: 16px; font-size: 12.5px; color: #5d4037;
    line-height: 1.5;
}
.il-page .ilx-process-notice svg { color: #f9a825; flex-shrink: 0; margin-top: 2px; }
.il-page .ilx-process-notice div { flex: 1; }
.il-page .ilx-process-btn {
    display: inline-flex; align-items: center; gap: 5px;
    margin-top: 8px; font-size: 12px; font-weight: 600;
    color: #fff; background: #0071e3; border-radius: 7px;
    padding: 5px 12px; text-decoration: none; transition: opacity .15s;
}
.il-page .ilx-process-btn:hover { opacity: .85; color: #fff; }

/* CSV import notice */
.ilcsv-process-notice {
    margin-top: 10px; padding: 10px 12px;
    background: #fff8e1; border: 1px solid #ffe082;
    border-radius: 8px; font-size: 12px; color: #5d4037; line-height: 1.5;
}
.ilcsv-process-link {
    display: inline-block; margin-top: 5px; font-weight: 600;
    color: #0071e3; text-decoration: none;
}
.ilcsv-process-link:hover { text-decoration: underline; }

/* ── Desactivadas filter button ── */
.il-page .ilr-filter-sep {
    width: 1px; height: 20px;
    background: rgba(0,0,0,.12);
    margin: 0 4px; flex-shrink: 0;
    align-self: center;
}
.il-page .ilr-filter-disabled-btn {
    border-color: rgba(255,59,48,.3);
    color: #cc2200;
}
.il-page .ilr-filter-disabled-btn:hover {
    border-color: #ff3b30; background: rgba(255,59,48,.06);
}
.il-page .ilr-filter-disabled-btn.ilr-lang-filter-active {
    background: #ff3b30; border-color: #ff3b30; color: #fff;
}

/* ── Process button pending state ── */
.il-page .ilp-pending-badge {
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.25); color: #fff;
    font-size: 11px; font-weight: 700;
    border-radius: 10px; padding: 1px 7px;
    margin-left: 6px; letter-spacing: 0;
}
.il-page .ilp-badge-ok {
    color: #fff;
}
.il-page .ilp-btn-process-urgent {
    background: #ff9500 !important;
    color: #fff !important;
    animation: il-pulse 1.4s ease-in-out infinite;
}
.il-page .ilp-btn-process-done {
    background: #34c759 !important;
    color: #fff !important;
    animation: none;
}
@keyframes il-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(255,149,0,.7); opacity: 1; }
    50%  { box-shadow: 0 0 0 8px rgba(255,149,0,0); opacity: .85; }
    100% { box-shadow: 0 0 0 0 rgba(255,149,0,0); opacity: 1; }
}

/* ── Pilares: language column ──────────────────────── */
.ilp-col-lang  { width: 52px; flex-shrink: 0; text-align: center; }
.ilp-lang-badge {
    display: inline-block; font-size: 10px; font-weight: 800;
    letter-spacing: .05em; padding: 2px 7px; border-radius: 5px;
    background: rgba(37,99,235,.1); color: #2563eb;
}
.ilp-lang-all {
    background: rgba(15,15,18,.07); color: #8e8e99;
    font-weight: 600; letter-spacing: 0;
}

/* ════════════════════════════════════════════════════════════════
   REGLAS v3 — Diseño 04 (matches PDF page 05/11)
   ════════════════════════════════════════════════════════════════ */

/* Export button */
.ilrr-btn-export {
    display:inline-flex;align-items:center;gap:6px;
    font-family:var(--ds-font);font-size:14px;font-weight:600;
    padding:10px 18px;border-radius:var(--ds-r);cursor:pointer;transition:all .14s;
    background:var(--ds-surface);color:var(--ds-ink2);
    border:1px solid var(--ds-border2);
}
.ilrr-btn-export:hover { background:var(--ds-surface3); }

/* Process button */
.ilrr-btn-process {
    display:inline-flex;align-items:center;gap:6px;
    font-family:var(--ds-font);font-size:14px;font-weight:700;
    padding:10px 18px;border-radius:var(--ds-r);cursor:pointer;transition:all .14s;
    background:var(--ds-blue-lt);color:var(--ds-blue);
    border:1px solid rgba(37,99,235,.2);
}
.ilrr-btn-process:hover { background:rgba(37,99,235,.14); }
.ilrr-btn-process.ilp-btn-process-urgent {
    background:var(--ds-amber) !important;color:#fff !important;border-color:var(--ds-amber) !important;
    box-shadow:0 2px 8px rgba(217,119,6,.4) !important;
    animation:il-pulse 1.4s ease-in-out infinite !important;
}
.ilrr-btn-process.ilp-btn-process-done {
    background:var(--ds-green-lt) !important;color:#065f46 !important;border-color:rgba(22,163,74,.2) !important;
    animation:none !important;box-shadow:none !important;
}

/* Progress bar */
.ilrr-progress-wrap {
    background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-r-lg);
    padding:16px 20px;margin-bottom:16px;
}
.ilrr-progress-head {
    display:flex;justify-content:space-between;
    font-size:14px;font-weight:600;color:var(--ds-ink);margin-bottom:8px;
}
.ilrr-progress-track { height:6px;background:var(--ds-surface3);border-radius:3px;overflow:hidden;margin-bottom:8px; }
.ilrr-progress-fill { height:100%;background:var(--ds-blue);width:0;transition:width .4s var(--ds-ease);border-radius:3px; }
.ilrr-progress-sub { font-size:13px;color:var(--ds-ink3); }

/* Form panel */
.ilrr-form-panel .ilrr-panel-close {
    width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
    border:1px solid var(--ds-border);border-radius:8px;background:none;
    color:var(--ds-ink4);cursor:pointer;transition:all .12s;flex-shrink:0;
}
.ilrr-panel-close:hover { background:var(--ds-surface3);color:var(--ds-ink); }

.ilrr-form-row1 { display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px; }
.ilrr-form-row2 { display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:14px; }
.ilrr-form-field { display:flex;flex-direction:column;gap:5px;min-width:130px; }
.ilrr-form-field-xs { max-width:150px; }
/* When the xs slot holds the "Generate synonyms" CTA, drop the cap.
   The button label is long (also longer in some languages, e.g. EN
   "Generate synonyms and plurals") and would overflow the 150px box. */
.ilrr-form-field-xs:has(.ilrr-ai-btn) { max-width:none; }

.ilrr-range-wrap { display:flex;align-items:center;gap:8px; }
.ilrr-range { flex:1;accent-color:var(--ds-blue); }
.ilrr-num-input {
    width:58px;font-family:var(--ds-font);font-size:14px;text-align:center;
    background:var(--ds-surface);border:1px solid var(--ds-border2);border-radius:var(--ds-r);
    padding:6px;height:40px;
}
.ilrr-num-input:focus { outline:none;border-color:var(--ds-blue);box-shadow:0 0 0 2px var(--ds-blue-ring); }
.ilrr-prio-num { font-weight:700;color:var(--ds-blue); }

.ilrr-synonyms {
    min-height:80px;resize:vertical;
    font-family:var(--ds-font);font-size:13px;line-height:1.6;
}

.ilrr-ai-btn {
    display:inline-flex;align-items:center;gap:5px;
    font-family:var(--ds-font);font-size:13px;font-weight:600;
    padding:8px 16px;border-radius:var(--ds-r);cursor:pointer;transition:all .14s;
    background:var(--ds-blue-lt);color:var(--ds-blue);border:1px solid rgba(37,99,235,.2);
    white-space:nowrap;
}
.ilrr-ai-btn:hover { background:rgba(37,99,235,.12); }
.ilrr-ai-status { font-size:12px;color:var(--ds-ink3);padding:4px 0; }

.ilrr-help-toggle-row { margin-bottom:8px; }
.ilrr-help-toggle-btn {
    display:inline-flex;align-items:center;gap:5px;
    font-family:var(--ds-font);font-size:13px;color:var(--ds-blue);background:none;border:none;
    cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;
}
.ilrr-help-body {
    background:var(--ds-blue-lt);border:1px solid rgba(37,99,235,.1);border-radius:var(--ds-r);
    padding:14px 18px;font-size:13px;color:var(--ds-ink2);line-height:1.6;margin-bottom:4px;
}
.ilrr-help-body p { margin:0 0 6px; }
.ilrr-help-body strong { color:var(--ds-ink); }

/* ── Table (9 columns matching PDF) ────────────────────────── */
.ilrr-table-head {
    display:grid;
    grid-template-columns:44px 64px 1fr 1.2fr 1.2fr 80px 56px 72px 60px 80px;
    padding:14px 22px;background:var(--ds-surface2);
    border-bottom:1px solid var(--ds-border);
    font-size:12px;font-weight:700;text-transform:uppercase;
    letter-spacing:.12em;color:var(--ds-ink4);align-items:center;
}
.ilrr-th-center { text-align:center; }
.ilrr-th-sel { display:flex;align-items:center;justify-content:center; }

.ilrr-row {
    display:grid;
    grid-template-columns:44px 64px 1fr 1.2fr 1.2fr 80px 56px 72px 60px 80px;
    padding:18px 22px;border-bottom:1px solid var(--ds-border);
    align-items:center;transition:background .08s;
}
.ilrr-row:nth-child(even) { background:var(--ds-surface4); }
.ilrr-row:last-child { border-bottom:none; }
.ilrr-row:hover { background:rgba(37,99,235,.018); }
.ilrr-row-off { opacity:.45; }
.ilrr-row:hover .ilrr-cell-acts { opacity:1; }

.ilrr-cell { min-width:0; }

/* Language badge */
.ilrr-cell-lang { display:flex;align-items:center;justify-content:center; }
.ilrr-lang-badge {
    font-size:12px;font-weight:700;padding:5px 9px;border-radius:8px;
    background:#eef2ff;color:var(--ds-blue);
}

/* Keyword */
.ilrr-cell-kw { padding-right:12px; }
.ilrr-kw {
    font-size:16px;font-weight:600;color:var(--ds-ink);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* Synonyms - inline code pills */
.ilrr-cell-syn { display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding-right:8px; }
.ilrr-syn-pill {
    font-family:var(--ds-mono);font-size:12px;font-weight:500;
    color:var(--ds-ink2);background:var(--ds-surface3);
    padding:3px 8px;border-radius:4px;white-space:nowrap;
}
.ilrr-syn-more { color:var(--ds-ink4);font-family:var(--ds-font); }
.ilrr-no-syn { font-size:13px;color:var(--ds-ink4);font-style:italic; }

/* Destination */
.ilrr-cell-dest { padding-right:8px; }
.ilrr-dest-name { font-size:14px;font-weight:600;color:var(--ds-ink);margin-bottom:2px; }
.ilrr-dest-url {
    font-size:12px;color:var(--ds-ink3);text-decoration:none;display:block;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    font-family:var(--ds-mono);
}
.ilrr-dest-url:hover { color:var(--ds-blue); }

/* Priority badge */
.ilrr-cell-prio { display:flex;align-items:center;justify-content:center; }
.ilrr-prio-badge {
    font-size:13px;font-weight:700;min-width:36px;text-align:center;
    padding:6px 10px;border-radius:8px;
}
.ilrr-prio-hi { background:var(--ds-green-lt);color:var(--ds-green); }
.ilrr-prio-mid { background:var(--ds-amber-lt);color:var(--ds-amber); }
.ilrr-prio-lo { background:var(--ds-red-lt);color:var(--ds-red); }

/* Max */
.ilrr-cell-max { text-align:center;font-size:14px;font-weight:500;color:var(--ds-ink2); }

/* Links count — clickable */
.ilrr-cell-links { text-align:center;font-size:15px;font-weight:700;color:var(--ds-ink); }
.ilrr-links-btn { font-family:var(--ds-font);font-size:15px;font-weight:700;color:var(--ds-blue);background:var(--ds-blue-lt);border:none;border-radius:var(--ds-r-sm);padding:4px 12px;cursor:pointer;transition:all .12s; }
.ilrr-links-btn:hover { background:rgba(37,99,235,.12); }

/* Toggle switch */
.ilrr-cell-toggle { display:flex;align-items:center;justify-content:center; }
.ilrr-toggle {
    width:40px;height:22px;border-radius:11px;border:none;cursor:pointer;
    position:relative;transition:background .2s;flex-shrink:0;padding:0;
}
.ilrr-toggle-on { background:var(--ds-blue); }
.ilrr-toggle-off { background:#d1d5db; }
.ilrr-toggle-dot {
    position:absolute;top:2px;width:18px;height:18px;
    background:#fff;border-radius:50%;transition:transform .2s var(--ds-ease);
    box-shadow:0 1px 3px rgba(0,0,0,.15);
}
.ilrr-toggle-on .ilrr-toggle-dot { transform:translateX(20px);left:2px; }
.ilrr-toggle-off .ilrr-toggle-dot { transform:translateX(0);left:2px; }

/* Actions */
.ilrr-cell-acts {
    display:flex;align-items:center;justify-content:flex-end;gap:4px;
    opacity:0;transition:opacity .12s;
}

/* Synonym badge (legacy compat) */
.ilrr-syn-badge {
    font-size:10px;font-weight:700;color:var(--ds-ink4);
    background:var(--ds-surface3);padding:2px 6px;border-radius:999px;flex-shrink:0;
}

/* ════════════════════════════════════════════════════════════════
   PIPELINE MODULE
   ════════════════════════════════════════════════════════════════ */
.ilpl-page { --ilpl-run:#d97706; --ilpl-done:#16a34a; --ilpl-fail:#dc2626; --ilpl-sched:#2563eb; }

.ilpl-warn-badge { display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#d97706;background:rgba(217,119,6,.1);border:1px solid rgba(217,119,6,.25);padding:6px 12px;border-radius:8px;text-decoration:none; }
.ilpl-warn-badge:hover { background:rgba(217,119,6,.15); }

/* Form */
.ilpl-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
@media(max-width:900px){.ilpl-form-grid{grid-template-columns:1fr;}}
.ilpl-form-col  { display:flex;flex-direction:column;gap:10px; }
.ilpl-section-label { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8e8e99;padding-bottom:4px;border-bottom:1px solid rgba(0,0,0,.07);margin-bottom:2px; }
.ilpl-field-row { display:flex;gap:10px; }
.ilpl-field-row .ilpp-field { flex:1; }
.ilpl-lang-checks { display:flex;flex-direction:column;gap:5px;max-height:180px;overflow-y:auto;padding:4px 0; }
.ilpl-checkbox-row { display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#4a4a55;cursor:pointer;padding:3px 0; }
.ilpl-checkbox-row input { accent-color:#2563eb;width:15px;height:15px;flex-shrink:0; }
.ilpl-btn-run-once { display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:8px;border:1px solid rgba(37,99,235,.3);background:rgba(37,99,235,.07);color:#2563eb;cursor:pointer;transition:all .14s; }
.ilpl-btn-run-once:hover { background:rgba(37,99,235,.12); }

/* Section titles */
.ilpl-section-title { display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#1d1d1f;margin:16px 0 8px; }
.ilpl-refresh-btn { margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-family:inherit;font-size:12px;font-weight:500;color:#8e8e99;background:none;border:1px solid rgba(0,0,0,.1);border-radius:7px;padding:4px 10px;cursor:pointer;transition:all .12s; }
.ilpl-refresh-btn:hover { background:#f5f5f7;color:#1d1d1f; }

/* Schedules table */
.ilpl-sched-head { display:grid;grid-template-columns:50px 1fr 140px 130px 120px 70px 90px;padding:8px 16px;background:#f7f7f9;border-bottom:1px solid rgba(0,0,0,.08);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#8e8e99;align-items:center; }
.ilpl-sched-row  { display:grid;grid-template-columns:50px 1fr 140px 130px 120px 70px 90px;padding:9px 16px;border-bottom:1px solid rgba(0,0,0,.07);align-items:center;transition:background .08s; }
.ilpl-sched-row:last-child { border-bottom:none; }
.ilpl-sched-row:hover { background:#fafafa; }
.ilpl-sched-row:hover .ilrr-cell-acts { opacity:1; }
.ilpl-sched-off  { opacity:.5; }
.ilpl-sched-next { font-size:12px;color:#4a4a55; }
.ilpl-sched-freq { font-size:12.5px;color:#4a4a55; }
.ilpl-sched-langs { display:flex;gap:3px;flex-wrap:wrap; }

/* Jobs table */
.ilpl-job-head { display:grid;grid-template-columns:110px 1fr 1.2fr 110px 1fr;padding:8px 16px;background:#f7f7f9;border-bottom:1px solid rgba(0,0,0,.08);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#8e8e99; }
.ilpl-job-row  { display:grid;grid-template-columns:110px 1fr 1.2fr 110px 1fr;padding:9px 16px;border-bottom:1px solid rgba(0,0,0,.07);align-items:center; }
.ilpl-job-row:last-child { border-bottom:none; }
.ilpl-job-row:hover { background:#fafafa; }

/* Status badges */
.ilpl-status-badge { display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:12px;white-space:nowrap; }
.ilpl-s-sched { background:rgba(37,99,235,.1);    color:#2563eb; }
.ilpl-s-run   { background:rgba(217,119,6,.1);    color:#d97706; }
.ilpl-s-done  { background:rgba(22,163,74,.1);    color:#16a34a; }
.ilpl-s-fail  { background:rgba(220,38,38,.1);    color:#dc2626; }

/* Log button */
.ilpl-log-btn { font-family:inherit;font-size:12px;color:#2563eb;background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0; }
.ilpl-log-btn:hover { color:#1d4ed8; }

/* Pipeline run status inline message */
.ilpl-run-status {
    font-size: 12.5px; color: #d97706; background: rgba(217,119,6,.08);
    border: 1px solid rgba(217,119,6,.2); border-radius: 8px;
    padding: 8px 14px; margin-bottom: 10px; font-weight: 500;
}

/* Pipeline frequency inputs */
.ilpl-freq-inputs { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.ilpl-freq-unit   { display:flex; align-items:center; gap:5px; }
.ilpl-freq-num    { width:64px !important; text-align:center; padding:7px 8px !important; }
.ilpl-freq-label  { font-size:12.5px; color:#4a4a55; white-space:nowrap; }




/* ══════════════════════════════════════════════════════════════
   PIPELINE v5 — Clean SaaS modal (reference design)
   ══════════════════════════════════════════════════════════════ */
.ilpl4-overlay { position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);
    display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto; }
.ilpl4-modal { background:#fff;border-radius:16px;width:100%;max-width:1440px;
    box-shadow:0 10px 30px rgba(0,0,0,.05);display:flex;flex-direction:column;
    max-height:calc(100vh - 48px);margin:auto;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased; }
.ilpl4-mhead { display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0; }
.ilpl4-mhead-left { display:flex;align-items:center;gap:12px; }
.ilpl4-mhead-icon { width:38px;height:38px;background:#eff3ff;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#3b82f6;flex-shrink:0; }
.ilpl4-mhead-title { font-size:18px;font-weight:700;color:#111827;letter-spacing:-.02em; }
.ilpl4-mhead-close { width:34px;height:34px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s; }
.ilpl4-mhead-close:hover { background:#f3f4f6;color:#111;border-color:#d1d5db; }
.ilpl4-body { flex:1;overflow-y:auto;padding:16px 24px;background:#f5f7fb; }
.ilpl4-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start; }
.ilpl4-col { display:flex;flex-direction:column;gap:10px; }
.ilpl4-card { border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff; }
.ilpl4-card-title { display:flex;align-items:center;gap:7px;padding:10px 16px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6b7280; }
.ilpl4-card-hint { font-size:10px;font-weight:400;color:#9ca3af;text-transform:none;letter-spacing:0;margin-left:auto; }
.ilpl4-card > .ilpl4-field, .ilpl4-card > .ilpl4-row2, .ilpl4-card > .ilpl4-row3, .ilpl4-card > .ilpl4-grid2 { padding:10px 16px; }
.ilpl4-card > .ilpl4-field + .ilpl4-field { padding-top:0; }
.ilpl4-card > .ilpl4-field:not(:last-child), .ilpl4-card > .ilpl4-row2:not(:last-child) { padding-bottom:10px; }
.ilpl4-field { display:flex;flex-direction:column;gap:5px; }
.ilpl4-label { font-size:11px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.06em; }
.ilpl4-req { color:#dc2626; }
.ilpl4-opt { font-weight:400;color:#9ca3af;text-transform:none;letter-spacing:0; }
.ilpl4-hint { font-size:11px;color:#9ca3af; }
.ilpl4-input { width:100%;box-sizing:border-box;padding:8px 12px;height:40px;font-family:inherit;font-size:14px;color:#111827;
    background:#fff;border:1px solid #d1d5db;border-radius:10px;outline:none;transition:border-color .15s,box-shadow .15s; }
.ilpl4-input:focus { border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.1); }
.ilpl4-input::placeholder { color:#9ca3af; }
.ilpl4-select { appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 12px center;padding-right:36px; }
.ilpl4-ta { min-height:250px;resize:vertical;line-height:1.6;font-size:14px;height:auto;background:#fafafa;padding:12px;border-radius:10px; }
.ilpl4-num { width:72px!important;text-align:center; }
.ilpl4-row2 { display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 16px; }
.ilpl4-row3 { display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:10px 16px; }
.ilpl4-grid2 { display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 16px; }
.ilpl4-freq-row { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.ilpl4-freq-lbl { font-size:13px;color:#4b5563;font-weight:500; }
.ilpl4-wp-now { font-size:10.5px;font-weight:500;color:#6b7280;margin-left:6px;white-space:nowrap; }
.ilpl4-lang-badge { display:inline-flex;align-items:center;gap:7px;padding:10px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;font-size:14px;color:#1e40af;height:44px;box-sizing:border-box; }
.ilpl4-lang-badge strong { font-weight:700; }
.ilpl4-lang-note { font-size:11px;font-weight:400;color:#6b7280; }
.ilpl4-lang-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:14px 20px; }
.ilpl4-lang-chip { display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;font-size:13px;font-weight:500;color:#111827;transition:all .12s; }
.ilpl4-lang-chip:hover { border-color:#3b82f6;background:rgba(59,130,246,.04); }
.ilpl4-lang-chip input { accent-color:#3b82f6;flex-shrink:0;width:16px;height:16px; }
.ilpl4-lcode { font-size:9px;font-weight:800;background:rgba(59,130,246,.1);color:#3b82f6;padding:2px 6px;border-radius:4px;flex-shrink:0; }
.ilpl4-mini-btn { font-family:inherit;font-size:11px;font-weight:600;color:#3b82f6;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.2);border-radius:6px;padding:4px 10px;cursor:pointer; }
.ilpl4-mini-btn:hover { background:rgba(59,130,246,.12); }
.ilpl4-check-row { display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:#111827;cursor:pointer; }
.ilpl4-check-row + .ilpl4-check-row { margin-top:2px; }
.ilpl4-check-row input { accent-color:#3b82f6;width:16px;height:16px;flex-shrink:0; }
.ilpl4-badge { font-size:12px;font-weight:600;background:rgba(59,130,246,.08);color:#3b82f6;padding:3px 10px;border-radius:20px;text-transform:none;letter-spacing:0;margin-left:auto; }
.ilpl4-foot { display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-top:1px solid #e5e7eb;background:#fff;border-radius:0 0 16px 16px;flex-shrink:0; }
.ilpl4-btn-cancel { font-family:inherit;font-size:14px;font-weight:600;color:#4b5563;background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:10px 20px;cursor:pointer;transition:all .12s; }
.ilpl4-btn-cancel:hover { background:#f3f4f6;border-color:#9ca3af; }
.ilpl4-btn-runonce { display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-size:14px;font-weight:600;
    color:#3b82f6;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.25);border-radius:10px;padding:10px 18px;cursor:pointer;transition:all .12s; }
.ilpl4-btn-runonce:hover { background:rgba(59,130,246,.12); }
.ilpl4-btn-save { display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-size:14px;font-weight:700;
    color:#fff;background:#2563eb;border:none;border-radius:10px;padding:10px 20px;cursor:pointer;transition:all .14s;box-shadow:0 2px 6px rgba(37,99,235,.3); }
.ilpl4-btn-save:hover { background:#1d4ed8;box-shadow:0 4px 12px rgba(37,99,235,.35); }
/* Full-width titles card */
.ilpl4-titles-full { margin-top:12px; }
.ilpl4-titles-full .ilpl4-titles-help { font-size:14px;color:#6b7280;margin:0 0 12px;line-height:1.5; }

/* Apply template button — same style as save button */
.ilpl4-tpl-row { display:flex;gap:8px;align-items:stretch; }
.ilpl4-tpl-row .ilpl4-tpl-select { flex:1;min-width:0; }
.ilpl4-btn-apply-tpl-full {
    display:inline-flex;align-items:center;gap:6px;
    font-family:inherit;font-size:13px;font-weight:700;
    color:#fff;background:#2563eb;
    border:none;border-radius:10px;
    padding:8px 16px;cursor:pointer;transition:all .14s;
    box-shadow:0 2px 6px rgba(37,99,235,.3);flex-shrink:0;margin-top:4px;
}
.ilpl4-btn-apply-tpl-full:hover { background:#1d4ed8;box-shadow:0 4px 12px rgba(37,99,235,.35); }
.ilpl4-btn-apply-tpl-full svg { flex-shrink:0; }

/* Template applied badge */
.ilpl4-tpl-applied {
    display:flex;align-items:center;gap:6px;padding:8px 12px;margin-top:4px;
    background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;
    font-size:13px;font-weight:500;color:#15803d;
}
.ilpl4-tpl-clear {
    margin-left:auto;font-family:inherit;font-size:11px;font-weight:600;
    color:#dc2626;background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.2);
    border-radius:6px;padding:3px 8px;cursor:pointer;display:inline-flex;align-items:center;gap:3px;
}
.ilpl4-tpl-clear:hover { background:rgba(220,38,38,.12); }

/* Locked content config card — when template is applied */
.ilpl4-content-config-card { position:relative; }
.ilpl4-content-config-locked { opacity:1; }
.ilpl4-content-config-locked .ilpl4-grid2,
.ilpl4-content-config-locked .ilpl4-field:not(.ilpl4-card-title) {
    filter:blur(1.5px);pointer-events:none;opacity:.3;
}
.ilpl4-content-disabled-overlay {
    position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;
    background:rgba(249,250,251,.85);border-radius:12px;
}
.ilpl4-content-disabled-msg {
    display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;
    padding:24px 32px;max-width:320px;
}
.ilpl4-content-disabled-msg svg { color:#9ca3af;opacity:.5; }
.ilpl4-content-disabled-msg strong {
    font-size:14px;font-weight:600;color:#374151;
}
.ilpl4-content-disabled-msg p {
    font-size:13px;color:#6b7280;line-height:1.5;margin:0;
}

/* Config template badge in card title */
.ilpl4-config-tpl-badge {
    display:inline-flex;align-items:center;gap:4px;margin-left:auto;
    font-size:10px;font-weight:600;color:#15803d;background:#f0fdf4;
    border:1px solid #bbf7d0;border-radius:20px;padding:2px 8px;
    text-transform:none;letter-spacing:0;
}
.ilpl4-btn-save:disabled,.ilpl4-btn-runonce:disabled,.ilpl4-btn-cancel:disabled { opacity:.5!important;cursor:not-allowed!important; }

/* Pipeline cron status bar */
.ilpl-cron-bar {
    display:flex;align-items:center;gap:8px;
    background:#f0fdf4;border:1px solid #bbf7d0;
    border-radius:10px;padding:9px 14px;margin-bottom:10px;font-size:12.5px;
}
.ilpl-cron-dot { width:8px;height:8px;border-radius:50%;background:#d1d5db;flex-shrink:0;transition:background .3s; }
.ilpl-cron-dot.ilpl-cron-active { background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.2);animation:ilpl-pulse 2s infinite; }
@keyframes ilpl-pulse { 0%,100%{box-shadow:0 0 0 3px rgba(22,163,74,.2)}50%{box-shadow:0 0 0 5px rgba(22,163,74,.05)} }
.ilpl-cron-text { font-weight:600;color:#15803d; }
.ilpl-cron-hint { color:#6b8e7a;font-size:11.5px; }

/* Schedule completed state */
.ilpl3-snext-done { color:#16a34a!important;font-weight:600; }


/* ════════════════════════════════════════════════════════════════
   IL DIALOG SYSTEM — Replaces all native alert()/confirm()
   ════════════════════════════════════════════════════════════════ */

#ild-overlay {
    position:fixed;inset:0;z-index:999990;
    background:rgba(8,8,18,.52);
    backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
    display:flex;align-items:center;justify-content:center;
    padding:20px;
    opacity:0;transition:opacity .18s ease;
    pointer-events:none;
}
#ild-overlay.ild-open { opacity:1;pointer-events:all; }

#ild-box {
    background:#fff;
    border-radius:18px;
    box-shadow:0 32px 96px rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.06);
    max-width:420px;width:100%;
    transform:scale(.88) translateY(12px);opacity:0;
    transition:transform .24s cubic-bezier(.34,1.56,.64,1),opacity .18s ease;
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',sans-serif;
    overflow:hidden;
}
#ild-overlay.ild-open #ild-box { transform:scale(1) translateY(0);opacity:1; }

/* Icon strip */
#ild-icon-strip {
    padding:28px 28px 0;
    display:flex;justify-content:center;
}
#ild-icon-wrap {
    width:56px;height:56px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
}
/* Type colors */
.ild-confirm  #ild-icon-wrap { background:rgba(37,99,235,.1);  color:#2563eb; }
.ild-delete   #ild-icon-wrap { background:rgba(220,38,38,.1);  color:#dc2626; }
.ild-warning  #ild-icon-wrap { background:rgba(217,119,6,.1);  color:#d97706; }
.ild-error    #ild-icon-wrap { background:rgba(220,38,38,.1);  color:#dc2626; }
.ild-success  #ild-icon-wrap { background:rgba(22,163,74,.1);  color:#16a34a; }
.ild-info     #ild-icon-wrap { background:rgba(37,99,235,.1);  color:#2563eb; }

/* Content */
#ild-content { padding:18px 28px 0;text-align:center; }
#ild-title {
    font-size:17px;font-weight:750;color:#111827;
    letter-spacing:-.028em;line-height:1.3;margin-bottom:8px;
}
#ild-message {
    font-size:14px;color:#6b7280;line-height:1.65;
}
#ild-message strong { color:#374151;font-weight:600; }
#ild-message code {
    font-family:monospace;font-size:12.5px;background:#f3f4f6;
    padding:1px 6px;border-radius:4px;color:#374151;
}

/* Footer */
#ild-footer {
    display:flex;align-items:center;justify-content:flex-end;
    gap:8px;padding:22px 28px 26px;
}
#ild-esc-hint {
    font-size:11px;color:#9ca3af;margin-right:auto;
    display:inline-flex;align-items:center;gap:5px;
}
#ild-esc-hint kbd {
    background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;
    padding:1px 6px;font-family:inherit;font-size:10px;color:#6b7280;
}

/* Buttons */
.ild-btn {
    font-family:inherit;font-size:13.5px;font-weight:600;
    border-radius:9px;padding:9px 20px;cursor:pointer;
    display:inline-flex;align-items:center;gap:6px;
    white-space:nowrap;border:none;transition:all .13s;line-height:1.3;
}
.ild-btn:focus-visible { outline:3px solid rgba(37,99,235,.4);outline-offset:2px; }
.ild-btn-cancel {
    background:#f3f4f6;color:#374151;border:1px solid #e5e7eb!important;
}
.ild-btn-cancel:hover { background:#e9eaec;color:#111827; }
.ild-btn-primary {
    background:#2563eb;color:#fff;
    box-shadow:0 1px 5px rgba(37,99,235,.35);
}
.ild-btn-primary:hover { background:#1d4ed8;box-shadow:0 3px 10px rgba(37,99,235,.4); }
.ild-btn-danger {
    background:#dc2626;color:#fff;
    box-shadow:0 1px 5px rgba(220,38,38,.35);
}
.ild-btn-danger:hover { background:#b91c1c;box-shadow:0 3px 10px rgba(220,38,38,.4); }
.ild-btn-success {
    background:#16a34a;color:#fff;
    box-shadow:0 1px 5px rgba(22,163,74,.3);
}
.ild-btn-success:hover { background:#15803d; }
.ild-btn-warning {
    background:#d97706;color:#fff;
    box-shadow:0 1px 5px rgba(217,119,6,.3);
}
.ild-btn-warning:hover { background:#b45309; }

/* Shake animation for errors */
@keyframes ild-shake {
    0%,100%{transform:translateX(0)}
    20%{transform:translateX(-6px)}
    40%{transform:translateX(6px)}
    60%{transform:translateX(-4px)}
    80%{transform:translateX(4px)}
}
.ild-shake { animation:ild-shake .35s ease; }

/* ════════════════════════════════════════════════════════════════
   IL TEMPLATE SYSTEM — Bar, manager panel, editor
   ════════════════════════════════════════════════════════════════ */

/* ── Template bar (top of Crear contenido) ─────────────────────── */
.ilt-bar {
    display:flex;align-items:center;justify-content:space-between;
    gap:12px;background:#fff;border:1px solid var(--il-border);
    border-radius:var(--il-r-lg);padding:10px 16px;
    margin-bottom:16px;box-shadow:var(--il-shadow-xs);
}
.ilt-bar-left  { display:flex;align-items:center;gap:10px;flex:1; }
.ilt-bar-right { display:flex;align-items:center;gap:8px;flex-shrink:0; }
.ilt-bar-label { font-size:12.5px;font-weight:600;color:var(--il-ink2);white-space:nowrap; }
.ilt-select {
    font-family:var(--il-font);font-size:13px;color:var(--il-ink);
    background:#f9fafb;border:1px solid var(--il-border2);
    border-radius:var(--il-r);padding:7px 11px;outline:none;
    flex:1;max-width:360px;cursor:pointer;
    transition:border-color var(--il-transition);
}
.ilt-select:focus { border-color:var(--il-blue);background:#fff;box-shadow:0 0 0 3px var(--il-blue-ring); }
.ilt-btn-manage,.ilt-btn-save-as {
    display:inline-flex;align-items:center;gap:6px;
    font-family:var(--il-font);font-size:12.5px;font-weight:600;
    border-radius:var(--il-r);padding:7px 14px;cursor:pointer;
    transition:all var(--il-transition);white-space:nowrap;
}
.ilt-btn-manage {
    color:var(--il-ink2);background:#fff;border:1px solid var(--il-border2);
}
.ilt-btn-manage:hover { background:var(--il-surface3);border-color:var(--il-border2); }
.ilt-btn-save-as {
    color:var(--il-blue);background:var(--il-blue-lt);border:1px solid rgba(37,99,235,.22);
}
.ilt-btn-save-as:hover { background:rgba(37,99,235,.15); }

/* ── Template manager panel ────────────────────────────────────── */
.ilt-manager {
    background:#fff;border:1px solid var(--il-border);
    border-radius:var(--il-r-xl);box-shadow:var(--il-shadow);
    margin-bottom:20px;overflow:hidden;
}
.ilt-manager-hd {
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 20px;border-bottom:1px solid var(--il-border);
    background:linear-gradient(180deg,#f5f6f8,#f0f1f5);
}
.ilt-manager-title {
    display:flex;align-items:center;gap:8px;
    font-size:14px;font-weight:700;color:var(--il-ink);letter-spacing:-.02em;
}
.ilt-manager-close {
    width:28px;height:28px;border-radius:var(--il-r-sm);
    border:1px solid var(--il-border2);background:#fff;
    color:var(--il-ink3);cursor:pointer;display:flex;align-items:center;justify-content:center;
    transition:all var(--il-transition);
}
.ilt-manager-close:hover { background:var(--il-surface3);color:var(--il-ink); }

.ilt-manager-body { padding:0; }
.ilt-manager-cols { display:grid;grid-template-columns:260px 1fr; }

/* Template list */
.ilt-list-col {
    border-right:1px solid var(--il-border);
    background:var(--il-surface2);min-height:400px;
}
.ilt-list-hd {
    display:flex;align-items:center;justify-content:space-between;
    padding:11px 16px;border-bottom:1px solid var(--il-border);
    font-size:11px;font-weight:700;letter-spacing:.07em;
    text-transform:uppercase;color:var(--il-ink3);
}
.ilt-btn-new-tpl {
    font-family:var(--il-font);font-size:11px;font-weight:700;
    color:var(--il-blue);background:var(--il-blue-lt);
    border:1px solid rgba(37,99,235,.2);border-radius:var(--il-r-sm);
    padding:3px 9px;cursor:pointer;transition:all var(--il-transition);
}
.ilt-btn-new-tpl:hover { background:rgba(37,99,235,.16); }
.ilt-list { padding:6px; }
.ilt-list-item {
    padding:10px 12px;border-radius:var(--il-r);cursor:pointer;
    transition:background var(--il-transition);margin-bottom:2px;
}
.ilt-list-item:hover { background:rgba(37,99,235,.06); }
.ilt-list-item.active { background:var(--il-blue-lt);border:1px solid rgba(37,99,235,.2); }
.ilt-list-item-name { font-size:13px;font-weight:600;color:var(--il-ink);line-height:1.3; }
.ilt-list-item-meta { font-size:11px;color:var(--il-ink3);margin-top:2px; }
.ilt-empty { padding:24px 16px;text-align:center;font-size:12.5px;color:var(--il-ink4); }

/* Template editor */
.ilt-editor-col { padding:20px; }
.ilt-editor-empty {
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    height:100%;min-height:300px;color:var(--il-ink4);text-align:center;gap:12px;
}
.ilt-editor-empty svg { opacity:.25; }
.ilt-editor-empty p { font-size:13.5px;color:var(--il-ink3);margin:0;line-height:1.6; }

.ilt-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px; }
.ilt-field { display:flex;flex-direction:column;gap:4px; }
.ilt-field-full { grid-column:1/-1; }
.ilt-label { font-size:11.5px;font-weight:700;color:var(--il-ink2); }
.ilt-opt { font-weight:400;color:var(--il-ink4); }
.ilt-input {
    font-family:var(--il-font);font-size:13px;color:var(--il-ink);
    background:var(--il-surface2);border:1px solid var(--il-border2);
    border-radius:var(--il-r);padding:7px 10px;outline:none;width:100%;
    box-sizing:border-box;transition:border-color var(--il-transition),box-shadow var(--il-transition);
}
.ilt-input:focus { border-color:var(--il-blue);background:#fff;box-shadow:0 0 0 3px var(--il-blue-ring); }
.ilt-select-f { appearance:none;cursor:pointer; }
.ilt-ta { min-height:72px;resize:vertical;line-height:1.6; }
.ilt-editor-foot {
    display:flex;align-items:center;justify-content:space-between;
    padding-top:16px;border-top:1px solid var(--il-border);
}
.ilt-btn-delete-tpl {
    font-family:var(--il-font);font-size:12.5px;font-weight:600;
    color:var(--il-red);background:var(--il-red-lt);
    border:1px solid rgba(220,38,38,.2);border-radius:var(--il-r);
    padding:7px 14px;cursor:pointer;transition:all var(--il-transition);
}
.ilt-btn-delete-tpl:hover { background:rgba(220,38,38,.14); }
.ilt-btn-apply {
    font-family:var(--il-font);font-size:13px;font-weight:600;
    color:var(--il-blue);background:var(--il-blue-lt);
    border:1px solid rgba(37,99,235,.22);border-radius:var(--il-r);
    padding:8px 16px;cursor:pointer;transition:all var(--il-transition);
}
.ilt-btn-apply:hover { background:rgba(37,99,235,.15); }
.ilt-btn-save-tpl {
    font-family:var(--il-font);font-size:13px;font-weight:700;
    color:#fff;background:var(--il-blue);
    border:none;border-radius:var(--il-r);
    padding:8px 18px;cursor:pointer;
    box-shadow:0 1px 4px rgba(37,99,235,.3);
    transition:background var(--il-transition);
}
.ilt-btn-save-tpl:hover { background:var(--il-blue-dark); }

/* Template indicator in bar when active */
.ilt-bar.ilt-active { background:var(--il-blue-lt);border-color:rgba(37,99,235,.25); }
.ilt-active-badge {
    display:inline-flex;align-items:center;gap:5px;
    font-size:11.5px;font-weight:600;color:var(--il-blue);
    background:rgba(37,99,235,.12);border-radius:20px;
    padding:2px 9px;
}

/* ════════════════════════════════════════════════════════════════
   ILC3 — Crear contenido redesign  (no accordions, full scroll)
   ════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════
   ILC3 — CREAR CONTENIDO — Diseño 04 (PDF 01/11)
   Strategy: CSS-only transformation of existing section-based HTML
   into the single-card layout shown in the PDF.
   ════════════════════════════════════════════════════════════════ */
.ilc3-page { max-width:1500px;padding:20px 0 48px;font-family:var(--ds-font);color:var(--ds-ink);-webkit-font-smoothing:antialiased; }

/* ── Header ──────────────────────────────────────────────── */
.ilc3-header { display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap; }
.ilc3-title { font-size:26px;font-weight:700;letter-spacing:-.04em;color:var(--ds-ink);margin:0;line-height:1.1; }
.ilc3-sub { font-size:13.5px;color:var(--ds-ink3);margin:4px 0 0; }
.ilc3-header-actions { display:flex;align-items:center;gap:8px; }
.ilc3-warn-link { display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--ds-amber);text-decoration:none;padding:8px 14px;background:var(--ds-amber-lt);border:1px solid rgba(217,119,6,.2);border-radius:var(--ds-r); }
.ilc3-btn-ghost { display:inline-flex;align-items:center;gap:5px;font-family:var(--ds-font);font-size:13px;font-weight:600;color:var(--ds-ink2);background:var(--ds-surface);border:1px solid var(--ds-border2);border-radius:var(--ds-r);padding:8px 16px;cursor:pointer;transition:all .12s; }
.ilc3-btn-ghost:hover { background:var(--ds-surface3); }
.ilc3-btn-ghost:disabled { opacity:.4; }
.ilc3-btn-sm { font-size:12px;padding:5px 10px;border-radius:var(--ds-r-sm); }
.ilc3-btn-danger-sm { color:var(--ds-red);border-color:rgba(239,68,68,.2); }
.ilc3-btn-add { display:inline-flex;align-items:center;gap:6px;font-family:var(--ds-font);font-size:14px;font-weight:700;color:#fff;background:var(--ds-ink);border:none;border-radius:var(--ds-r);padding:10px 20px;cursor:pointer;transition:all .14s;box-shadow:0 1px 3px rgba(0,0,0,.2); }
.ilc3-btn-add:hover { background:#1f2937; }
.ilc3-btn-add:disabled { opacity:.4;cursor:not-allowed; }

/* ── Template pills ──────────────────────────────────────── */
.ilc3-tpl-bar { margin-bottom:20px; }
.ilc3-tpl-bar-inner { display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
.ilc3-tpl-label { font-size:12px;font-weight:600;color:var(--ds-ink4);text-transform:uppercase;letter-spacing:.06em;margin-right:6px; }
.ilc3-tpl-pill { font-family:var(--ds-font);font-size:13px;font-weight:500;color:var(--ds-ink2);background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:20px;padding:7px 18px;cursor:pointer;transition:all .12s;white-space:nowrap; }
.ilc3-tpl-pill:hover { border-color:var(--ds-border2);color:var(--ds-ink); }
.ilc3-tpl-pill-active { background:var(--ds-ink);color:#fff;border-color:var(--ds-ink);font-weight:600; }
.ilc3-tpl-pill-active:hover { background:#1f2937;color:#fff; }
.ilc3-tpl-new { color:var(--ds-ink3);border-style:dashed; }

/* Hidden template infrastructure (keep for JS compat) */
.ilc3-tpl-select { display:none; }
.ilc3-tpl-icon,.ilc3-tpl-selector-group,.ilc3-tpl-btn-confirm,.ilc3-tpl-applied-badge,.ilc3-tpl-sep,.ilc3-tpl-btn-manage,.ilc3-tpl-count-pill,.ilc3-tpl-badge-clear { }

/* Template table (appears on click) */
.ilc3-tpl-table-wrap { background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-r-lg);margin-bottom:20px;overflow:hidden; }
.ilc3-tpl-table-hd { display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--ds-border); }
.ilc3-tpl-table-title { font-size:14px;font-weight:700;color:var(--ds-ink);display:flex;align-items:center;gap:8px; }
.ilc3-tpl-count { font-size:11px;font-weight:600;background:var(--ds-surface3);padding:2px 8px;border-radius:10px;color:var(--ds-ink3); }
.ilc3-tpl-close { width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ds-border);border-radius:var(--ds-r-sm);background:none;color:var(--ds-ink4);cursor:pointer; }
.ilc3-tpl-close:hover { background:var(--ds-surface3);color:var(--ds-ink); }
.ilc3-tpl-hd-actions { display:flex;align-items:center;gap:8px; }
.ilc3-tpl-iobtn { font-family:var(--ds-font);font-size:12px;font-weight:600;color:var(--ds-ink2);background:var(--ds-surface);border:1px solid var(--ds-border2);border-radius:var(--ds-r-sm);padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .12s;white-space:nowrap; }
.ilc3-tpl-iobtn:hover { color:var(--ds-blue);background:var(--ds-blue-lt);border-color:rgba(37,99,235,.28); }
.ilc3-tpl-iobtn svg { flex-shrink:0; }
.ilset-aitpl-steps { display:flex;flex-direction:column;gap:10px;margin-bottom:18px; }
.ilset-aitpl-step { display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--ds-ink2);line-height:1.5; }
.ilset-aitpl-num { flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--ds-blue-lt);color:var(--ds-blue);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-top:1px; }
.ilset-aitpl-step code { background:var(--ds-surface3);padding:1px 6px;border-radius:4px;font-size:12px; }
.ilset-aitpl-actions { display:flex;gap:10px;flex-wrap:wrap; }
.ilset-btn-secondary { font-family:var(--ds-font);font-size:13px;font-weight:600;color:var(--ds-ink2);background:var(--ds-surface);border:1px solid var(--ds-border2);border-radius:var(--ds-r);padding:9px 16px;cursor:pointer;transition:all .12s; }
.ilset-btn-secondary:hover { color:var(--ds-blue);background:var(--ds-blue-lt);border-color:rgba(37,99,235,.28); }

/* ── Botones de la zona de plantillas (Crear contenido) ── */
/* Clase compartida: misma forma/tamaño/tipografía en los 3.
   Usar clase (no estilos inline) evita que jQuery .show() pierda el
   display:inline-flex y descoloque icono+texto. */
.ilc3-tplbtn {
    box-sizing:border-box !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    font-family:var(--ds-font) !important;
    font-size:13px !important;
    font-weight:600 !important;
    border-radius:8px !important;
    padding:0 18px !important;
    margin:0 !important;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    white-space:nowrap;
    border:1px solid transparent;
    transition:background .14s, border-color .14s, color .14s;
    line-height:1 !important;
    vertical-align:middle;
    text-transform:none !important;
    letter-spacing:normal !important;
}
.ilc3-tplbtn svg { flex-shrink:0; }
.ilc3-tplbtn[style*="display: none"],
.ilc3-tplbtn[style*="display:none"] { display:none !important; }
/* Primario — Aplicar plantilla */
.ilc3-tplbtn--primary { color:#fff !important;background:var(--ds-blue,#2563eb) !important;border-color:var(--ds-blue,#2563eb) !important; }
.ilc3-tplbtn--primary:hover { background:var(--ds-blue-dark,#1d4ed8) !important;border-color:var(--ds-blue-dark,#1d4ed8) !important; }
/* Secundario contorno azul — Importación rápida (fondo transparente) */
.ilc3-tplbtn--outline { color:var(--ds-blue,#2563eb) !important;background:transparent !important;border-color:#93b4f0 !important; }
.ilc3-tplbtn--outline:hover { background:var(--ds-blue-lt,#eff4ff) !important;border-color:var(--ds-blue,#2563eb) !important; }
/* Discreto contorno gris — Quitar plantilla */
.ilc3-tplbtn--ghost { color:var(--ds-ink2,#475569) !important;background:transparent !important;border-color:var(--ds-border2,#d1d5db) !important; }
.ilc3-tplbtn--ghost:hover { color:var(--ds-ink,#0f172a) !important;background:var(--ds-surface3,#f1f5f9) !important;border-color:var(--ds-ink4,#94a3b8) !important; }
.ilc3-tpl-tbl { width:100%;border-collapse:collapse; }
.ilc3-tpl-tbl th { padding:10px 16px;text-align:left;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ds-ink4);background:var(--ds-surface2);border-bottom:1px solid var(--ds-border); }
.ilc3-tpl-tbl td { padding:12px 16px;border-bottom:1px solid var(--ds-border);font-size:13px; }
.ilc3-tpl-row:last-child td { border-bottom:none; }
.ilc3-tpl-row:hover { background:rgba(37,99,235,.015); }
.ilc3-tpl-name { font-weight:600;color:var(--ds-ink); }
.ilc3-tpl-desc { font-size:12px;color:var(--ds-ink3);margin-top:2px; }
.ilc3-tpl-chip { font-size:11px;font-weight:600;background:var(--ds-surface3);padding:2px 8px;border-radius:4px;color:var(--ds-ink2); }
.ilc3-tpl-btn-apply,.ilc3-tpl-save-btn { font-family:var(--ds-font);font-size:11px;font-weight:600;color:var(--ds-blue);background:var(--ds-blue-lt);border:1px solid rgba(37,99,235,.2);border-radius:var(--ds-r-sm);padding:4px 10px;cursor:pointer; }
.ilc3-tpl-btn-del { font-family:var(--ds-font);font-size:11px;font-weight:600;color:var(--ds-red);background:var(--ds-red-lt);border:1px solid rgba(239,68,68,.2);border-radius:var(--ds-r-sm);padding:4px 10px;cursor:pointer; }
.ilc3-tpl-empty { padding:32px;text-align:center;color:var(--ds-ink3);font-size:13px; }
/* The td that holds the action buttons used to have display:flex,
   which removed it from the table's row layout — that's why the
   bottom separator broke at the right edge of every row (the cell
   was no longer being painted as part of the row's border). The
   buttons are inline-flex individually (.ilc3-tpl-act), so a plain
   right-aligned cell is enough to lay them out correctly. */
.ilc3-tpl-col-actions { text-align:right;white-space:nowrap; }
.ilc3-tpl-col-name { min-width:180px; }

/* ── Layout ──────────────────────────────────────────────── */
.ilc3-layout { display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start; }
@media(max-width:1100px) { .ilc3-layout { grid-template-columns:1fr; } }
.ilc3-main { display:flex;flex-direction:column;gap:0; }

/* ── SECTIONS → Visual merge into card-like blocks ───────── */
/* The PDF shows "Configuración del artículo" as ONE card.
   We achieve this by removing gaps and merging section borders. */
.il-page .ilc3-section,
.ilc3-page .ilc3-section {
    background:var(--ds-surface) !important;
    border:1px solid var(--ds-border) !important;
    border-radius:var(--ds-r-lg) !important;
    margin-bottom:16px !important;
    border-bottom:1px solid var(--ds-border) !important;
    overflow:hidden !important;
    box-shadow:none !important;
}
.il-page .ilc3-section-highlight { border-left:3px solid var(--ds-blue) !important; }

/* Section headers — compact dividers (PDF shows no icons, no descriptions) */
.il-page .ilc3-section-hd,
.ilc3-page .ilc3-section-hd {
    display:flex !important;
    align-items:center !important;
    padding:12px 22px !important;
    border-bottom:1px solid var(--ds-border) !important;
    gap:10px !important;
    background:var(--ds-surface2) !important;
    margin:0 !important;
}
.il-page .ilc3-section-hd-text { display:flex !important;align-items:center !important;gap:8px !important;flex:1 !important;min-width:0 !important; }
.il-page .ilc3-section-hd-text h2,
.il-page .ilc3-section-hd-text h3,
.ilc3-page .ilc3-section-hd-text h2,
.ilc3-page .ilc3-section-hd-text h3 { font-size:12px !important;font-weight:600 !important;color:var(--ds-ink4,#8b90a0) !important;margin:0 !important;padding:0 !important;text-transform:uppercase !important;letter-spacing:.08em !important;line-height:1 !important;border:none !important;background:none !important; }
.il-page .ilc3-section-hd-text p,
.ilc3-page .ilc3-section-hd-text p { font-size:12px !important;color:var(--ds-ink4,#8b90a0) !important;margin:0 !important;display:none !important; }
.il-page .ilc3-section-hd-right { display:flex !important;align-items:center !important;gap:6px !important;flex-shrink:0 !important; }
.il-page .ilc3-section-icon,
.ilc3-page .ilc3-section-icon { width:0 !important;height:0 !important;overflow:hidden !important;padding:0 !important;margin:0 !important;border:none !important;display:none !important; }

/* Section body */
.il-page .ilc3-section-body,.ilc3-page .ilc3-section-body { padding:16px 22px !important; }

/* ── Fields ──────────────────────────────────────────────── */
.ilc3-field { display:flex;flex-direction:column;gap:4px;margin-bottom:12px; }
.ilc3-field:last-child { margin-bottom:0; }
.ilc3-field-full { grid-column:1/-1; }
.ilc3-label { font-size:13px !important;font-weight:600 !important;color:var(--ds-ink) !important; }
.ilc3-label-inline { display:flex;align-items:center;gap:6px; }
.ilc3-hint { font-size:12px;color:var(--ds-ink4);line-height:1.4; }
.ilc3-input {
    font-family:var(--ds-font);font-size:14px;color:var(--ds-ink);
    background:var(--ds-surface);border:1px solid var(--ds-border2);
    border-radius:var(--ds-r);padding:8px 12px;height:40px;width:100%;
    box-sizing:border-box !important;outline:none !important;transition:border-color .15s,box-shadow .15s;
}
.ilc3-input:focus { border-color:var(--ds-blue);box-shadow:0 0 0 2px var(--ds-blue-ring); }
.ilc3-input::placeholder { color:var(--ds-ink4); }
.ilc3-select { appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px; }
.ilc3-select-inline { width:auto;height:36px;font-size:13px; }
.ilc3-textarea { height:auto;min-height:80px;resize:vertical;line-height:1.6; }
.ilc3-textarea-lg { min-height:100px; }
.ilc3-textarea-titles { min-height:120px;font-size:13px; }
.ilc3-grid-2 { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.ilc3-grid-3 { display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px; }
.ilc3-count-badge { font-size:11px;font-weight:700;background:var(--ds-surface3);color:var(--ds-ink3);padding:2px 8px;border-radius:10px; }

/* Titles section */
.ilc3-add-bar { display:flex;align-items:center;gap:10px;padding:12px 22px;border-top:1px solid var(--ds-border);flex-wrap:wrap; }
.ilc3-add-bar-bottom { border-top:1px solid var(--ds-border); }
.ilc3-add-bar-left { display:flex;align-items:center;gap:8px;flex:1; }
.ilc3-add-bar-info,.ilc3-add-bar-hint { font-size:12px;color:var(--ds-ink4);display:flex;align-items:center;gap:4px; }
.ilc3-titles-btns,.ilc3-titles-actions { display:flex;gap:6px; }
.ilc3-titles-hint { font-size:12px;color:var(--ds-ink4);margin-top:4px; }

/* Humanize toggle */
.ilc3-humanize-toggle { display:flex;align-items:center;gap:12px;padding:12px 22px;border-bottom:1px solid var(--ds-border);cursor:pointer; }
.ilc3-humanize-thumb { color:var(--ds-ink3); }
.ilc3-humanize-text { flex:1; }
.ilc3-humanize-name { font-size:13px;font-weight:600;color:var(--ds-ink); }
.ilc3-humanize-desc { font-size:12px;color:var(--ds-ink3);margin-top:1px; }
.ilc3-humanize-track { width:40px;height:22px;border-radius:11px;background:#d1d5db;position:relative;transition:background .2s;flex-shrink:0; }
.ilc3-humanize-cb { display:none; }
.ilc3-humanize-cb:checked ~ .ilc3-humanize-track { background:var(--ds-blue); }

/* Length cards */
.ilc3-length-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px; }
.ilc3-length-card,.ilc3-length-opt { padding:10px;border:1px solid var(--ds-border);border-radius:var(--ds-r);cursor:pointer;transition:all .12s;text-align:center; }
.ilc3-length-card:hover,.ilc3-length-opt:hover { border-color:var(--ds-border2); }
.ilc3-length-active { border-color:var(--ds-blue);background:var(--ds-blue-lt); }
.ilc3-length-name { font-size:13px;font-weight:600;color:var(--ds-ink); }
.ilc3-length-desc { font-size:11px;color:var(--ds-ink3);margin-top:2px; }
.ilc3-length-icon { margin-bottom:4px;color:var(--ds-ink4); }

/* Extras (toggle items) */
.ilc3-extras-list { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px; }
.ilc3-extra-item { display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--ds-border);border-radius:var(--ds-r);cursor:pointer;transition:all .12s; }
.ilc3-extra-item:hover { border-color:var(--ds-border2); }
.ilc3-extra-item-on { border-color:var(--ds-blue);background:var(--ds-blue-lt); }
.ilc3-extra-item-icon { flex-shrink:0;margin-top:2px; }
.ilc3-extra-item-body { flex:1;min-width:0; }
.ilc3-extra-item-name { font-size:12px;font-weight:600;color:var(--ds-ink); }
.ilc3-extra-item-desc { font-size:11px;color:var(--ds-ink3);margin-top:1px; }
.ilc3-extra-item-sw,.ilc3-extra-item-toggle,.ilc3-extra-cb-hidden { display:none; }
.ilc3-extra-detail { padding:6px 12px 0;font-size:12px;color:var(--ds-ink3); }

/* Pipeline auto items */
.ilc3-section-auto { }
.ilc3-auto-list { display:flex;flex-direction:column; }
.ilc3-auto-item { display:flex;align-items:flex-start;gap:10px;padding:12px 22px;border-top:1px solid var(--ds-border);cursor:pointer; }
.ilc3-auto-item:first-child { border-top:none; }
.ilc3-auto-item-toggle input { accent-color:var(--ds-blue);width:18px;height:18px;flex-shrink:0;margin-top:1px; }
.ilc3-auto-item-body { flex:1; }
.ilc3-auto-item-name { font-size:13px;font-weight:600;color:var(--ds-ink); }
.ilc3-auto-item-desc { font-size:12px;color:var(--ds-ink3);margin-top:1px; }

/* Status cards */
.ilc3-status-cards { display:flex;gap:8px;flex-wrap:wrap; }
.ilc3-status-card { display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--ds-border);border-radius:var(--ds-r);cursor:pointer;transition:all .12s;flex:1;min-width:100px; }
.ilc3-status-card:hover { border-color:var(--ds-border2); }
.ilc3-status-card-on { border-color:var(--ds-blue);background:var(--ds-blue-lt); }
.ilc3-status-card-icon { flex-shrink:0; }
.ilc3-status-card-text { flex:1; }
.ilc3-status-card-name { font-size:12px;font-weight:600;color:var(--ds-ink); }
.ilc3-status-card-desc { font-size:10px;color:var(--ds-ink3); }
.ilc3-status-radio,.ilc3-opt input[type="radio"] { display:none; }

/* Toggle pills */
.ilc3-toggle-pill { position:relative;cursor:pointer; }
.ilc3-opt { display:flex;align-items:center;gap:6px; }
.ilc3-length-opt input { display:none; }
.ilc3-toggle-pill-track { width:40px;height:22px;border-radius:11px;background:#d1d5db;transition:background .2s;display:block; }
.ilc3-toggle-pill input:checked + .ilc3-toggle-pill-track { background:var(--ds-blue); }
.ilc3-toggle-pill-thumb { position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.15); }
.ilc3-toggle-pill input:checked ~ .ilc3-toggle-pill-thumb { transform:translateX(18px); }
.ilc3-toggle-pill input { display:none; }
.ilc3-toggle-pill-label { font-size:12px;color:var(--ds-ink3);margin-left:8px; }

/* Presets */
.ilc3-presets { display:flex;gap:6px;flex-wrap:wrap;margin-top:6px; }
.ilc3-preset-chip { font-family:var(--ds-font);font-size:11px;font-weight:500;color:var(--ds-ink2);background:var(--ds-surface3);border:1px solid var(--ds-border);border-radius:20px;padding:4px 10px;cursor:pointer; }
.ilc3-preset-chip-clear,.ilc3-preset-clear,.ilc3-img-preset-clear { color:var(--ds-red);border-color:rgba(239,68,68,.15);background:var(--ds-red-lt); }
.ilc3-preset-bar { display:flex;align-items:center;gap:8px;margin-top:6px; }
.ilc3-preset-bar-label { font-size:11px;color:var(--ds-ink4); }
.ilc3-preset-bar-img { display:flex;gap:6px;flex-wrap:wrap; }
.ilc3-img-preset { font-family:var(--ds-font);font-size:11px;color:var(--ds-ink2);background:var(--ds-surface3);border:1px solid var(--ds-border);border-radius:20px;padding:3px 10px;cursor:pointer; }
.ilc3-img-debug-bar { margin-top:6px;display:flex;gap:8px; }
.ilc3-img-debug-hint { font-size:11px;color:var(--ds-ink4); }

/* Save template */






.ilc3-save-tpl-sub,








.ilc3-btn-preview-prompt { display:inline-flex;align-items:center;gap:5px;font-family:var(--ds-font);font-size:12px;font-weight:600;color:var(--ds-ink3);background:none;border:1px solid var(--ds-border);border-radius:var(--ds-r-sm);padding:5px 10px;cursor:pointer; }
.ilc3-btn-preview-prompt:hover { background:var(--ds-surface3); }

/* ── Queue panel (right) ─────────────────────────────────── */
.ilc3-queue-panel { position:sticky;top:40px;background:var(--ds-surface) !important;border:1px solid var(--ds-border) !important;border-radius:var(--ds-r-lg) !important;overflow:hidden; }
.ilc3-qp-header { padding:16px 22px;border-bottom:1px solid var(--ds-border); }
.ilc3-qp-title { font-size:14px;font-weight:700;color:var(--ds-ink);display:flex;align-items:center;gap:8px; }
.ilc3-qp-stats { display:flex;gap:12px;margin-top:6px; }
.ilc3-qp-stat { display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ds-ink3); }
.ilc3-qp-stat-n { font-weight:700;font-size:13px; }
.ilc3-qp-stat-pending .ilc3-qp-stat-n { color:var(--ds-amber); }
.ilc3-qp-stat-done .ilc3-qp-stat-n { color:var(--ds-green); }
.ilc3-qp-stat-fail .ilc3-qp-stat-n { color:var(--ds-red); }
.ilc3-qp-header-right { display:flex;gap:6px;margin-top:10px; }
.ilc3-qp-btn-retry,.ilc3-qp-btn-generate { font-family:var(--ds-font);font-size:11px;font-weight:600;padding:5px 12px;border-radius:var(--ds-r-sm);cursor:pointer;display:inline-flex;align-items:center;gap:4px; }
.ilc3-qp-btn-retry { color:var(--ds-ink3);background:none;border:1px solid var(--ds-border); }
.ilc3-qp-btn-retry:hover { background:var(--ds-surface3); }
.ilc3-qp-btn-generate { color:#fff;background:var(--ds-blue);border:none; }
.ilc3-qp-btn-generate:hover { background:var(--ds-blue-dark); }
.ilc3-qp-btn-generate:disabled { opacity:.4; }

/* Queue progress */
.ilc3-qp-progress-wrap { padding:10px 22px;border-bottom:1px solid var(--ds-border); }
.ilc3-qp-progress-bar { height:4px;background:var(--ds-surface3);border-radius:2px;overflow:hidden;margin-bottom:4px; }
.ilc3-qp-progress-fill { height:100%;background:var(--ds-blue);border-radius:2px;transition:width .3s; }
.ilc3-qp-progress-info { font-size:11px;color:var(--ds-ink3);display:flex;justify-content:space-between; }

/* Queue items */
.ilc3-qp-list { max-height:600px;overflow-y:auto; }
.ilc3-qp-empty { padding:32px 22px;text-align:center;color:var(--ds-ink3);font-size:13px; }
.ilc3-qp-item { padding:14px 22px;border-bottom:1px solid var(--ds-border); }
.ilc3-qp-item:last-child { border-bottom:none; }
.ilc3-qp-item-title { font-size:13px;font-weight:600;color:var(--ds-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px; }
.ilc3-qp-item-meta { font-size:12px;color:var(--ds-ink3);display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
.ilc3-qp-item-lang { font-size:9px;font-weight:800;background:#eef2ff;color:var(--ds-blue);padding:1px 5px;border-radius:3px; }
.ilc3-qp-item-status-label { font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px; }
.ilc3-qp-item-done .ilc3-qp-item-status-label { background:var(--ds-green-lt);color:#065f46; }
.ilc3-qp-item-pending .ilc3-qp-item-status-label { background:var(--ds-surface3);color:var(--ds-ink3); }
.ilc3-qp-item-processing .ilc3-qp-item-status-label { background:var(--ds-blue-lt);color:var(--ds-blue); }
.ilc3-qp-item-failed .ilc3-qp-item-status-label { background:var(--ds-red-lt);color:var(--ds-red); }
.ilc3-qp-item-error { font-size:12px;color:var(--ds-red);margin-top:4px; }
.ilc3-qp-item-link { font-family:var(--ds-font);font-size:12px;font-weight:600;color:var(--ds-ink3);text-decoration:none;display:inline-flex;align-items:center;gap:3px;margin-right:10px; }
.ilc3-qp-item-link:hover { color:var(--ds-blue); }
.ilc3-qp-item-prompt-btn { font-family:var(--ds-font);font-size:11px;color:var(--ds-ink4);background:none;border:1px solid var(--ds-border);border-radius:var(--ds-r-sm);padding:3px 8px;cursor:pointer; }
.ilc3-qp-item-prompt-btn:hover { background:var(--ds-surface3); }
.ilc3-qp-item-icon { flex-shrink:0; }
.ilc3-qp-item-body { flex:1;min-width:0; }

/* Translation compat */
.ilc2-lang-checks { padding:10px 22px; }
.ilc2-lang-checks-hd { display:flex;align-items:center;justify-content:space-between;margin-bottom:8px; }
.ilc2-lang-checks-label { font-size:13px;font-weight:600;color:var(--ds-ink); }
.ilc2-lang-checks-list { display:flex;flex-direction:column;gap:6px; }
.ilc2-lang-check { display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ds-ink);cursor:pointer; }
.ilc2-lang-check input { accent-color:var(--ds-blue);width:16px;height:16px; }
.ilc2-lang-all { display:flex;align-items:center;gap:8px;border-top:1px solid var(--ds-border);padding-top:8px;margin-top:4px; }
.ilc2-lang-all-cb { accent-color:var(--ds-blue);width:16px;height:16px; }
.ilc2-lang-all-label { font-size:13px;color:var(--ds-ink3);cursor:pointer; }
.ilc-trans-lang { font-size:9px;font-weight:800;background:#eef2ff;color:var(--ds-blue);padding:2px 6px;border-radius:4px; }
.ilc2-toggle-cb { display:none; }
.ilc2-toggle-sw { width:40px;height:22px;border-radius:11px;background:#d1d5db;display:block;position:relative;cursor:pointer;transition:background .2s; }
.ilc2-toggle-sw::after { content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.15); }
.ilc2-toggle-cb:checked + .ilc2-toggle-sw { background:var(--ds-blue); }
.ilc2-toggle-cb:checked + .ilc2-toggle-sw::after { transform:translateX(18px); }



/* ── Content page field refinements (match PDF 01/11) ────────── */
.il-page .ilc3-textarea,
.ilc3-page .ilc3-textarea {
    font-family:var(--ds-font) !important;
    font-size:14px !important;
    color:var(--ds-ink) !important;
    background:var(--ds-surface) !important;
    border:1px solid var(--ds-border2) !important;
    border-radius:var(--ds-r) !important;
    padding:12px 14px !important;
    width:100% !important;
    box-sizing:border-box !important;
    outline:none !important;
    resize:vertical !important;
    line-height:1.6 !important;
    transition:border-color .15s,box-shadow .15s !important;
}
.il-page .ilc3-textarea:focus,
.ilc3-page .ilc3-textarea:focus {
    border-color:var(--ds-blue) !important;
    box-shadow:0 0 0 2px var(--ds-blue-ring) !important;
}
.il-page .ilc3-textarea::placeholder { color:var(--ds-ink4) !important; }
.il-page .ilc3-textarea-titles { min-height:140px !important; }

/* Selects */
.il-page .ilc3-select,
.ilc3-page .ilc3-select {
    font-family:var(--ds-font) !important;
    font-size:14px !important;
    color:var(--ds-ink) !important;
    background:var(--ds-surface) !important;
    border:1px solid var(--ds-border2) !important;
    border-radius:var(--ds-r) !important;
    padding:8px 32px 8px 12px !important;
    height:40px !important;
    width:100% !important;
    box-sizing:border-box !important;
    appearance:none !important;
    cursor:pointer !important;
    outline:none !important;
    background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat:no-repeat !important;
    background-position:right 10px center !important;
}
.il-page .ilc3-select:focus { border-color:var(--ds-blue) !important; }

/* Text inputs */
.il-page .ilc3-input,
.ilc3-page .ilc3-input {
    font-family:var(--ds-font) !important;
    font-size:14px !important;
    color:var(--ds-ink) !important;
    background:var(--ds-surface) !important;
    border:1px solid var(--ds-border2) !important;
    border-radius:var(--ds-r) !important;
    padding:8px 12px !important;
    height:40px !important;
    width:100% !important;
    box-sizing:border-box !important;
    outline:none !important;
    transition:border-color .15s,box-shadow .15s !important;
}
.il-page .ilc3-input:focus { border-color:var(--ds-blue) !important;box-shadow:0 0 0 2px var(--ds-blue-ring) !important; }
.il-page .ilc3-input::placeholder { color:var(--ds-ink4) !important; }

/* Grid layouts - explicit */
.il-page .ilc3-grid-2 { display:grid !important;grid-template-columns:1fr 1fr !important;gap:14px !important; }
.il-page .ilc3-grid-3 { display:grid !important;grid-template-columns:1fr 1fr 1fr !important;gap:14px !important; }

/* Fields */
.il-page .ilc3-field { display:flex !important;flex-direction:column !important;gap:5px !important;margin-bottom:14px !important; }
.il-page .ilc3-field:last-child { margin-bottom:0 !important; }
.il-page .ilc3-label { font-size:13px !important;font-weight:600 !important;color:var(--ds-ink) !important; }
.il-page .ilc3-hint { font-size:12px !important;color:var(--ds-ink4) !important; }

/* Titles section buttons */
.il-page .ilc3-titles-actions { display:flex !important;align-items:center !important;justify-content:space-between !important;gap:8px !important;margin-top:8px !important;flex-wrap:wrap !important; }
.il-page .ilc3-titles-hint { font-size:12px !important;color:var(--ds-ink4) !important;display:flex !important;align-items:center !important;gap:4px !important; }
.il-page .ilc3-titles-btns { display:flex !important;gap:6px !important; }

/* Count badge */
.il-page .ilc3-count-badge { font-size:12px !important;font-weight:600 !important;color:var(--ds-ink3) !important;background:none !important;padding:0 !important; }

/* Humanize toggle */
.il-page .ilc3-humanize-toggle { display:flex !important;align-items:center !important;gap:12px !important;padding:16px 28px !important;border-bottom:none !important;cursor:pointer !important;margin-bottom:0 !important; }
.il-page .ilc3-humanize-toggle + * { border-top:1px solid var(--ds-border) !important;padding-top:20px !important;margin-top:20px !important; }

/* Length cards */
.il-page .ilc3-length-grid { display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:10px !important; }
.il-page .ilc3-length-card,
.il-page .ilc3-length-opt { 
    padding:14px 12px !important;
    border:1px solid var(--ds-border) !important;
    border-radius:var(--ds-r) !important;
    cursor:pointer !important;
    text-align:center !important;
    background:var(--ds-surface) !important;
    transition:all .12s !important;
}
.il-page .ilc3-length-card:hover,.il-page .ilc3-length-opt:hover { border-color:var(--ds-border2) !important; }
.il-page .ilc3-length-active { border-color:var(--ds-blue) !important;background:var(--ds-blue-lt) !important; }
.il-page .ilc3-length-name { font-size:13px !important;font-weight:600 !important;color:var(--ds-ink) !important; }
.il-page .ilc3-length-desc { font-size:11px !important;color:var(--ds-ink3) !important;margin-top:2px !important; }

/* Extras grid */
.il-page .ilc3-extras-list { display:grid !important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr)) !important;gap:8px !important; }
.il-page .ilc3-extra-item { 
    display:flex !important;align-items:flex-start !important;gap:8px !important;
    padding:10px 12px !important;border:1px solid var(--ds-border) !important;
    border-radius:var(--ds-r) !important;cursor:pointer !important;
    background:var(--ds-surface) !important;
}
.il-page .ilc3-extra-item-on { border-color:var(--ds-blue) !important;background:var(--ds-blue-lt) !important; }
.il-page .ilc3-extra-item-name { font-size:12px !important;font-weight:600 !important;color:var(--ds-ink) !important; }
.il-page .ilc3-extra-item-desc { font-size:11px !important;color:var(--ds-ink3) !important; }

/* Pipeline / auto items (checkbox list) */
.il-page .ilc3-auto-item { 
    display:flex !important;align-items:flex-start !important;gap:12px !important;
    padding:14px 22px !important;border-top:1px solid var(--ds-border) !important;
}
.il-page .ilc3-auto-item:first-child { border-top:none !important; }
.il-page .ilc3-auto-item-toggle input { accent-color:var(--ds-blue) !important;width:18px !important;height:18px !important; }
.il-page .ilc3-auto-item-name { font-size:14px !important;font-weight:600 !important;color:var(--ds-ink) !important; }
.il-page .ilc3-auto-item-desc { font-size:12px !important;color:var(--ds-ink3) !important;margin-top:2px !important; }

/* Buttons */
.il-page .ilc3-btn-sm { 
    font-family:var(--ds-font) !important;font-size:12px !important;font-weight:600 !important;
    color:var(--ds-ink2) !important;background:var(--ds-surface) !important;
    border:1px solid var(--ds-border2) !important;border-radius:var(--ds-r-sm) !important;
    padding:6px 12px !important;cursor:pointer !important;
    display:inline-flex !important;align-items:center !important;gap:4px !important;
}
.il-page .ilc3-btn-sm:hover { background:var(--ds-surface3) !important; }
.il-page .ilc3-btn-danger-sm { color:var(--ds-red) !important;border-color:rgba(239,68,68,.2) !important; }
.il-page .ilc3-btn-danger-sm:hover { background:var(--ds-red-lt) !important; }

/* Queue panel */
.il-page .ilc3-queue-panel {
    position:sticky !important;top:40px !important;
    background:var(--ds-surface) !important;
    border:1px solid var(--ds-border) !important;
    border-radius:var(--ds-r-lg) !important;
    overflow:hidden !important;
}
.il-page .ilc3-qp-header { padding:16px 22px !important;border-bottom:1px solid var(--ds-border) !important; }
.il-page .ilc3-qp-title { font-size:14px !important;font-weight:700 !important;color:var(--ds-ink) !important; }
.il-page .ilc3-qp-stats { display:flex !important;gap:12px !important;margin-top:8px !important; }
.il-page .ilc3-qp-stat { font-size:12px !important;color:var(--ds-ink3) !important; }
.il-page .ilc3-qp-stat-n { font-weight:700 !important;font-size:14px !important; }
.il-page .ilc3-qp-stat-pending .ilc3-qp-stat-n { color:var(--ds-amber) !important; }
.il-page .ilc3-qp-stat-done .ilc3-qp-stat-n { color:var(--ds-green) !important; }
.il-page .ilc3-qp-stat-fail .ilc3-qp-stat-n { color:var(--ds-red) !important; }
.il-page .ilc3-qp-header-right { display:flex !important;gap:6px !important;margin-top:10px !important; }
.il-page .ilc3-qp-btn-retry { font-family:var(--ds-font) !important;font-size:12px !important;font-weight:600 !important;padding:6px 12px !important;border-radius:var(--ds-r-sm) !important;cursor:pointer !important;color:var(--ds-ink3) !important;background:none !important;border:1px solid var(--ds-border) !important;display:inline-flex !important;align-items:center !important;gap:4px !important; }
.il-page .ilc3-qp-btn-generate { font-family:var(--ds-font) !important;font-size:12px !important;font-weight:700 !important;padding:6px 14px !important;border-radius:var(--ds-r-sm) !important;cursor:pointer !important;color:#fff !important;background:var(--ds-blue) !important;border:none !important;display:inline-flex !important;align-items:center !important;gap:4px !important; }

/* Queue items */
.il-page .ilc3-qp-item { padding:14px 22px !important;border-bottom:1px solid var(--ds-border) !important; }
.il-page .ilc3-qp-item:last-child { border-bottom:none !important; }
.il-page .ilc3-qp-item-title { font-size:13px !important;font-weight:600 !important;color:var(--ds-ink) !important; }
.il-page .ilc3-qp-item-meta { font-size:12px !important;color:var(--ds-ink3) !important; }
.il-page .ilc3-qp-item-status-label { font-size:11px !important;font-weight:600 !important;padding:2px 8px !important;border-radius:20px !important; }
.il-page .ilc3-qp-item-done .ilc3-qp-item-status-label { background:var(--ds-green-lt) !important;color:#065f46 !important; }
.il-page .ilc3-qp-item-pending .ilc3-qp-item-status-label { background:var(--ds-surface3) !important;color:var(--ds-ink3) !important; }
.il-page .ilc3-qp-item-failed .ilc3-qp-item-status-label { background:var(--ds-red-lt) !important;color:var(--ds-red) !important; }
.il-page .ilc3-qp-item-link { font-size:12px !important;font-weight:600 !important;color:var(--ds-ink3) !important;text-decoration:none !important; }
.il-page .ilc3-qp-item-link:hover { color:var(--ds-blue) !important; }
.il-page .ilc3-qp-empty { padding:32px 22px !important;text-align:center !important;color:var(--ds-ink3) !important;font-size:13px !important; }

/* Progress */
.il-page .ilc3-qp-progress-bar { height:4px !important;background:var(--ds-surface3) !important;border-radius:2px !important;overflow:hidden !important; }
.il-page .ilc3-qp-progress-fill { height:100% !important;background:var(--ds-blue) !important;border-radius:2px !important; }

/* Toggle switch compat */
.il-page .ilc2-toggle-sw { width:40px !important;height:22px !important;border-radius:11px !important;background:#d1d5db !important;display:block !important;position:relative !important;cursor:pointer !important; }
.il-page .ilc2-toggle-sw::after { content:'' !important;position:absolute !important;top:2px !important;left:2px !important;width:18px !important;height:18px !important;background:#fff !important;border-radius:50% !important;box-shadow:0 1px 3px rgba(0,0,0,.15) !important;transition:transform .2s !important; }
.il-page .ilc2-toggle-cb:checked + .ilc2-toggle-sw { background:var(--ds-blue) !important; }
.il-page .ilc2-toggle-cb:checked + .ilc2-toggle-sw::after { transform:translateX(18px) !important; }


/* ── Length cards: hide radio button, card is the selector ──────── */
.il-page .ilc3-length-card input[type="radio"],
.il-page .ilc3-length-opt input[type="radio"],
.il-page input.ilc3-length-opt { 
    position:absolute !important;width:0 !important;height:0 !important;opacity:0 !important;pointer-events:none !important;
}
.il-page .ilc3-length-card label,
.il-page label:has(.ilc3-length-card) { cursor:pointer !important; }

/* ── Auto items: only toggle, no dual controls ─────────────────── */
.il-page .ilc3-auto-item { 
    display:flex !important;align-items:center !important;gap:16px !important;
    padding:16px 28px !important;border-top:1px solid var(--ds-border) !important;
}
.il-page .ilc3-auto-item:first-child { border-top:none !important; }
.il-page .ilc3-auto-item-body { flex:1 !important;min-width:0 !important; }
.il-page .ilc3-auto-item-name { font-size:14px !important;font-weight:600 !important;color:var(--ds-ink) !important; }
.il-page .ilc3-auto-item-desc { font-size:12.5px !important;color:var(--ds-ink3) !important;margin-top:3px !important; }
.il-page .ilc3-auto-item-toggle { flex-shrink:0 !important;display:flex !important;align-items:center !important; }
/* The toggle label contains: checkbox (hidden) + span (visible switch).
   But WP may render a visible native checkbox. Hide it completely. */
.il-page .ilc3-auto-item-toggle { position:relative !important; }
.il-page .ilc3-auto-item-toggle input[type="checkbox"] {
    position:absolute !important;width:1px !important;height:1px !important;
    opacity:0 !important;pointer-events:none !important;overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
}

/* ── Save template section: better spacing ─────────────────────── */













/* ── Section body: more breathing room ─────────────────────────── */
.il-page .ilc3-section-body { padding:20px 28px !important; }

/* ── Queue panel: matching the example design ──────────────────── */
.il-page .ilc3-qp-header { padding:20px 24px !important; }
.il-page .ilc3-qp-item { padding:16px 24px !important; }

/* ── Template bar: align items vertically centered ─────────────── */
.il-page .ilc3-tpl-bar { margin-bottom:16px !important; }
.il-page .ilc3-tpl-bar-inner {
    display:flex !important;align-items:center !important;gap:10px !important;
    flex-wrap:wrap !important;padding:0 !important;
}

/* ── Language checks in auto-translate section ─────────────────── */
.il-page .ilc2-lang-checks { padding:12px 28px 16px !important; }



/* ── SEO fields: align labels and inputs in grid ───────────────── */
.il-page .ilc3-grid-2 .ilc3-field .ilc3-label { min-height:38px !important;display:flex !important;align-items:flex-end !important; }
.il-page .ilc3-grid-2 .ilc3-field .ilc3-input,
.il-page .ilc3-grid-2 .ilc3-field .ilc3-select { margin-top:auto !important; }

/* ── Tags label: single line ───────────────────────────────────── */
.il-page .ilc3-label[for="ilc-tags"],
.il-page .ilc3-field:has(#ilc-tags) .ilc3-label { white-space:nowrap !important; }

/* ── Presets: spacing before textarea ──────────────────────────── */
.il-page .ilc3-presets { margin-bottom:20px !important; }
.il-page .ilc3-preset-bar { margin-bottom:20px !important; }
.il-page .ilc3-textarea-lg,.il-page #ilc-custom { min-height:280px !important; }

/* ── Humanize toggle: working visual toggle ────────────────────── */
.il-page .ilc3-humanize-toggle {
    display:flex !important;align-items:center !important;gap:14px !important;
    padding:16px 28px !important;cursor:pointer !important;
}
.il-page .ilc3-humanize-cb { position:absolute !important;opacity:0 !important;pointer-events:none !important; }
.il-page .ilc3-humanize-track {
    width:44px !important;height:24px !important;border-radius:12px !important;
    background:#d1d5db !important;position:relative !important;flex-shrink:0 !important;
    transition:background .2s !important;
}
.il-page .ilc3-humanize-thumb {
    position:absolute !important;top:2px !important;left:2px !important;
    width:20px !important;height:20px !important;border-radius:50% !important;
    background:#fff !important;box-shadow:0 1px 3px rgba(0,0,0,.15) !important;
    transition:transform .2s !important;
}
.il-page .ilc3-humanize-cb:checked ~ .ilc3-humanize-track { background:var(--ds-blue,#2563eb) !important; }
.il-page .ilc3-humanize-cb:checked ~ .ilc3-humanize-track .ilc3-humanize-thumb { transform:translateX(20px) !important; }
.il-page .ilc3-humanize-text { flex:1 !important; }
.il-page .ilc3-humanize-name { font-size:14px !important;font-weight:600 !important;color:var(--ds-ink) !important;display:flex !important;align-items:center !important;gap:6px !important; }
.il-page .ilc3-humanize-desc { font-size:12.5px !important;color:var(--ds-ink3) !important;margin-top:3px !important; }

/* ── Save template section — matches IMAGEN.png exactly ────────── */
.il-page .ilc3-section-save-tpl {
    background:var(--ds-surface,#fff) !important;
    border:1px solid var(--ds-border,#e5e7eb) !important;
    border-left:3px solid var(--ds-blue,#2563eb) !important;
    border-radius:var(--ds-r-lg,12px) !important;
    padding:32px 36px !important;
    margin-top:20px !important;
    margin-bottom:16px !important;
}
.il-page .ilc3-save-tpl-inner {
    display:flex !important;flex-direction:column !important;gap:0 !important;
}
.il-page .ilc3-save-tpl-info {
    display:flex !important;align-items:flex-start !important;gap:14px !important;
    margin-bottom:28px !important;
}
.il-page .ilc3-save-tpl-icon {
    flex-shrink:0 !important;color:var(--ds-ink3,#6b7280) !important;margin-top:2px !important;
}
.il-page .ilc3-save-tpl-text { flex:1 !important; }
.il-page .ilc3-save-tpl-heading {
    font-size:18px !important;font-weight:700 !important;color:var(--ds-ink,#111827) !important;
    margin:0 0 8px !important;
}
.il-page .ilc3-save-tpl-sub {
    font-size:14px !important;color:var(--ds-ink3,#6b7280) !important;
    line-height:1.6 !important;margin:0 !important;
}
.il-page .ilc3-save-tpl-fields-wrap {
    display:flex !important;flex-direction:column !important;gap:0 !important;
}
.il-page .ilc3-save-tpl-fields {
    display:grid !important;grid-template-columns:320px 1fr !important;gap:24px !important;
    margin-bottom:24px !important;
}
.il-page .ilc3-save-tpl-field { display:flex !important;flex-direction:column !important;gap:6px !important; }
.il-page .ilc3-save-tpl-label {
    font-size:14px !important;font-weight:600 !important;color:var(--ds-ink,#111827) !important;
    display:block !important;
}
.il-page .ilc3-save-tpl-input {
    font-family:var(--ds-font) !important;font-size:14px !important;color:var(--ds-ink,#111827) !important;
    background:var(--ds-surface,#fff) !important;
    border:1px solid var(--ds-border2,#d1d5db) !important;
    border-radius:10px !important;
    padding:12px 16px !important;height:48px !important;
    width:100% !important;box-sizing:border-box !important;
    outline:none !important;transition:border-color .15s !important;
}
.il-page .ilc3-save-tpl-input:focus {
    border-color:var(--ds-blue,#2563eb) !important;
    box-shadow:0 0 0 2px var(--ds-blue-ring,rgba(59,130,246,.1)) !important;
}
.il-page .ilc3-save-tpl-input::placeholder { color:var(--ds-ink4,#9ca3af) !important; }
.il-page .ilc3-save-tpl-btn {
    font-family:var(--ds-font) !important;font-size:15px !important;font-weight:700 !important;
    color:#fff !important;background:var(--ds-blue,#2563eb) !important;border:none !important;
    border-radius:10px !important;padding:12px 28px !important;cursor:pointer !important;
    display:inline-flex !important;align-items:center !important;gap:8px !important;
    height:48px !important;align-self:flex-end !important;
    box-shadow:0 2px 8px rgba(37,99,235,.25) !important;
    transition:background .14s !important;
}
.il-page .ilc3-save-tpl-btn:hover { background:var(--ds-blue-dark,#1d4ed8) !important; }
.il-page .ilc3-save-tpl-feedback {
    margin-top:12px !important;font-size:13px !important;
    padding:0 36px !important;
}


/* ── Template table action icons ───────────────────────────────── */
.il-page .ilc3-tpl-act {
    display:inline-flex !important;align-items:center !important;justify-content:center !important;
    width:32px !important;height:32px !important;border-radius:8px !important;
    border:1px solid var(--ds-border,#e5e7eb) !important;background:var(--ds-surface,#fff) !important;
    cursor:pointer !important;transition:all .12s !important;margin:0 2px !important;
    color:var(--ds-ink3,#6b7280) !important;
}
.il-page .ilc3-tpl-act:hover { border-color:var(--ds-border2,#d1d5db) !important;background:var(--ds-surface2,#f8f9fc) !important; }
.il-page .ilc3-tpl-act-apply { color:var(--ds-blue,#2563eb) !important;border-color:rgba(37,99,235,.2) !important; }
.il-page .ilc3-tpl-act-apply:hover { background:rgba(37,99,235,.06) !important; }
.il-page .ilc3-tpl-act-edit { color:var(--ds-ink3,#6b7280) !important; }
.il-page .ilc3-tpl-act-edit:hover { color:var(--ds-ink,#111827) !important; }
.il-page .ilc3-tpl-act-del { color:var(--ds-red,#ef4444) !important;border-color:rgba(239,68,68,.2) !important; }
.il-page .ilc3-tpl-act-del:hover { background:rgba(239,68,68,.06) !important; }

/* ── Small chips for extras column ─────────────────────────────── */
.il-page .ilc3-tpl-chip-sm {
    display:inline-block !important;font-size:10px !important;font-weight:500 !important;
    color:var(--ds-ink3,#6b7280) !important;background:var(--ds-surface3,#f0f1f4) !important;
    padding:2px 6px !important;border-radius:4px !important;margin:1px 2px !important;
    white-space:nowrap !important;line-height:1.4 !important;
}


/* ── Semantic page redesign ────────────────────────────────────── */
/* (max-width is set globally in the unified page-wrapper rule) */

/* Stats grid — 4 cards in a row */
.ils-stats-grid {
    display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:16px !important;
    margin-bottom:24px !important;
}
.ils-page .ils-stat-card {
    background:var(--ds-surface,#fff) !important;border:1px solid var(--ds-border,#e5e7eb) !important;
    border-radius:var(--ds-r-lg,12px) !important;padding:20px 24px !important;
}
.ils-stat-head {
    display:flex !important;justify-content:space-between !important;align-items:center !important;
    margin-bottom:8px !important;
}
.ils-stat-title { font-size:13px !important;font-weight:500 !important;color:var(--ds-ink3,#6b7280) !important; }
.ils-stat-icon { color:var(--ds-ink4,#9ca3af) !important; }
.ils-page .ils-stat-num { font-size:32px !important;font-weight:700 !important;color:var(--ds-ink,#111827) !important;line-height:1.1 !important; }
.ils-stat-sub { font-size:12px !important;color:var(--ds-ink4,#9ca3af) !important;margin-top:4px !important; }

/* Explain card */
.ils-page .ils-explain-card {
    background:var(--ds-surface2,#f8f9fc) !important;border:1px solid var(--ds-border,#e5e7eb) !important;
    border-radius:var(--ds-r-lg,12px) !important;padding:28px 32px !important;
    display:flex !important;gap:32px !important;align-items:center !important;margin-bottom:24px !important;
}
.ils-explain-text { flex:1 !important; }
.ils-explain-label { font-size:11px !important;font-weight:700 !important;letter-spacing:.08em !important;text-transform:uppercase !important;color:var(--ds-blue,#2563eb) !important;margin-bottom:8px !important; }
.ils-explain-title { font-size:18px !important;font-weight:700 !important;color:var(--ds-ink,#111827) !important;margin-bottom:8px !important; }
.ils-explain-desc { font-size:14px !important;color:var(--ds-ink3,#6b7280) !important;line-height:1.6 !important; }
.ils-explain-graph { flex-shrink:0 !important;width:160px !important; }
.ils-explain-graph svg { width:100% !important;height:auto !important; }

/* Filter bar — single row with all elements */
.ils-filter-bar {
    display:flex !important;align-items:center !important;gap:10px !important;flex-wrap:wrap !important;
    margin-bottom:16px !important;
}
.ils-filter-spacer { flex:1 !important; }
.ils-page .ils-chip {
    font-family:var(--ds-font) !important;font-size:12px !important;font-weight:600 !important;
    padding:5px 12px !important;border-radius:6px !important;border:1px solid var(--ds-border2,#d1d5db) !important;
    background:var(--ds-surface,#fff) !important;color:var(--ds-ink3,#6b7280) !important;
    cursor:pointer !important;transition:all .12s !important;
}
.ils-page .ils-chip:hover,.ils-page .ils-chip.active {
    color:var(--ds-blue,#2563eb) !important;background:var(--ds-blue-lt,#eff4ff) !important;
    border-color:rgba(37,99,235,.28) !important;
}
.ils-page .ils-chip-warn.active { color:var(--ds-blue,#2563eb) !important;background:var(--ds-blue-lt,#eff4ff) !important;border-color:rgba(37,99,235,.28) !important; }
.ils-page .ils-search-wrap {
    display:flex !important;align-items:center !important;gap:6px !important;
    background:var(--ds-surface,#fff) !important;border:1px solid var(--ds-border,#e5e7eb) !important;
    border-radius:8px !important;padding:0 10px !important;height:34px !important;
}
.ils-page .ils-search-wrap input {
    border:none !important;background:none !important;font-family:var(--ds-font) !important;
    font-size:13px !important;outline:none !important;width:140px !important;
}
.ils-page .ils-btn-batch {
    font-family:var(--ds-font) !important;font-size:12px !important;font-weight:500 !important;
    color:var(--ds-ink3,#6b7280) !important;background:var(--ds-surface,#fff) !important;
    border:1px solid var(--ds-border,#e5e7eb) !important;border-radius:8px !important;
    padding:6px 14px !important;cursor:pointer !important;display:flex !important;align-items:center !important;gap:5px !important;
    transition:all .12s !important;white-space:nowrap !important;
}
.ils-page .ils-btn-batch:hover { border-color:var(--ds-border2,#d1d5db) !important;color:var(--ds-ink,#111827) !important; }

/* Table */
.ils-page .ils-table-wrap {
    background:var(--ds-surface,#fff) !important;border:1px solid var(--ds-border,#e5e7eb) !important;
    border-radius:var(--ds-r-lg,12px) !important;overflow:hidden !important;
}
.ils-page .ils-table-head {
    display:grid !important;grid-template-columns:50px 90px 1fr 100px 70px 70px 100px 80px !important;
    align-items:center !important;padding:10px 20px !important;
    border-bottom:1px solid var(--ds-border,#e5e7eb) !important;
    background:var(--ds-surface2,#f8f9fc) !important;
    font-size:11px !important;font-weight:600 !important;letter-spacing:.05em !important;
    text-transform:uppercase !important;color:var(--ds-ink4,#9ca3af) !important;
}
.ils-th-num,.ils-th-score { text-align:center !important; }


/* ── Semantic page top padding ──────────────────────────────────── */
.ils-page .ils-header { padding-top:20px !important; }
.ils-th-lang { text-align:left !important; }

/* ── Semantic table: clickable title + link counts ─────────────── */
.il-page a.ils-row-post-title {
    font-size: 13px !important; font-weight: 400 !important; color: var(--ds-ink, #111827) !important;
    text-decoration: none !important; display: block !important;
    overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important;
}
.il-page a.ils-row-post-title:hover { color: var(--ds-blue, #2563eb) !important; }
.il-page .ils-link-count {
    color: var(--ds-blue, #2563eb) !important; text-decoration: none !important;
    font-weight: 600 !important; cursor: pointer !important;
}
.il-page .ils-link-count:hover { text-decoration: underline !important; }

/* ── Semantic table date column ────────────────────────────────── */
.il-page .ils-row-date { font-size:12px !important;color:var(--ds-ink4,#9ca3af) !important;white-space:nowrap !important; }
.ils-th-date { text-align:left !important; }
/* ══════════════════════════════════════════════════════════════
   IMAGES MODULE — Diseño 04 (PDF 02/11)
   ══════════════════════════════════════════════════════════════ */

/* Page wrapper — shared max-width and top spacing for every plugin page.
   1500 px cap and ~28 px top padding apply to all pages, centered or not.
   Centered: Crear contenido, Crear imágenes, Traducciones, Automatizaciones,
             Páginas pilar, Reglas, Enlazado semántico, Mapa de enlaces.
   Left-aligned (no auto margin): Ajustes, Herramientas. */
.ilim-page,
.ilt2-page,
.ilpl-page,
.ilpp-page,
.ilrr-page,
.ils-page,
.ilx { max-width:1500px;margin:0 auto;padding:28px 0 48px; }

/* Same max-width and top spacing for the left-aligned pages. No margin-auto
   so they stay pinned to the left like Herramientas originally did. */
.il-page.ilset-page,
.il-page.il-page-md { max-width:1500px;margin:0 auto;padding:28px 0 48px; }

/* Header */
.ilim-header { display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px; }
.ilim-title { font-size:26px;font-weight:700;letter-spacing:-.04em;color:var(--ds-ink);display:flex;align-items:center;gap:10px;margin:0;line-height:1.1; }
.ilim-badge-ok { font-size:13px;font-weight:500;color:var(--ds-green); }
.ilim-sub { font-size:13.5px;color:var(--ds-ink3);margin:4px 0 0; }
.ilim-notice-warn { display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--ds-amber-lt);border:1px solid rgba(217,119,6,.2);border-radius:var(--ds-r);font-size:13px;font-weight:500;color:#92400e; }
.ilim-notice-warn a { color:#92400e;font-weight:600;text-decoration:underline; }

/* Filters bar — inline, no labels above selects */
.ilim-filters-bar { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap; }
.ilim-filters-left { display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1; }
.ilim-filters-right { display:flex;align-items:center;flex-shrink:0; }

.ilim-search-wrap { display:flex;align-items:center;gap:8px;background:var(--ds-surface);border:1px solid var(--ds-border2);border-radius:var(--ds-r);padding:0 12px;height:40px;flex:1;min-width:240px;max-width:400px;transition:border-color .15s,box-shadow .15s; }
.ilim-search-wrap:focus-within { border-color:var(--ds-blue);box-shadow:0 0 0 2px var(--ds-blue-ring); }
.ilim-search-wrap svg { color:var(--ds-ink4);flex-shrink:0; }
.ilim-search { border:none!important;outline:none!important;background:transparent!important;font-family:var(--ds-font);font-size:14px;color:var(--ds-ink);width:100%;height:100%;padding:0!important;box-shadow:none!important; }
.ilim-search::placeholder { color:var(--ds-ink4); }

.ilim-select { font-family:var(--ds-font);font-size:13px;color:var(--ds-ink);background:var(--ds-surface);border:1px solid var(--ds-border2);border-radius:var(--ds-r);padding:8px 32px 8px 12px;height:40px;appearance:none;cursor:pointer;outline:none;transition:border-color .15s;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center; }
.ilim-select:focus { border-color:var(--ds-blue); }

.ilim-btn-apply-filter { display:inline-flex;align-items:center;gap:6px;font-family:var(--ds-font);font-size:13px;font-weight:600;color:var(--ds-ink2);background:var(--ds-surface);border:1px solid var(--ds-border2);border-radius:var(--ds-r);padding:9px 16px;height:40px;cursor:pointer;transition:all .14s; }
.ilim-btn-apply-filter:hover { background:var(--ds-surface3); }
.ilim-total-label { font-size:13px;font-weight:500;color:var(--ds-ink3); }

/* Bulk action bar */
.ilim-bulk-bar { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;border:1px solid var(--ds-border);border-radius:var(--ds-r-lg);margin-bottom:12px;background:var(--ds-surface); }
.ilim-bulk-left { display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ds-ink2); }
.ilim-bulk-left svg { color:var(--ds-blue); }
.ilim-deselect-link { font-family:var(--ds-font);font-size:13px;color:var(--ds-blue);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px;margin-left:4px; }
.ilim-btn-generate { display:inline-flex;align-items:center;gap:7px;font-family:var(--ds-font);font-size:14px;font-weight:700;color:#fff;background:var(--ds-blue);border:none;border-radius:var(--ds-r);padding:10px 20px;cursor:pointer;transition:all .14s;box-shadow:0 2px 6px rgba(37,99,235,.3); }
.ilim-btn-generate:hover { background:var(--ds-blue-dark); }
.ilim-btn-generate:disabled { opacity:.4;cursor:not-allowed; }

/* Progress bar */
.ilim-progress-wrap { padding:12px 20px;border:1px solid var(--ds-border);border-radius:var(--ds-r-lg);margin-bottom:12px;background:var(--ds-surface); }
.ilim-progress-info { display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px;color:var(--ds-ink3); }
.ilim-cancel-link { font-family:var(--ds-font);font-size:13px;color:var(--ds-ink3);background:none;border:none;cursor:pointer; }
.ilim-cancel-link:hover { color:var(--ds-ink); }
.ilim-progress-bar-outer { height:6px;background:var(--ds-surface3);border-radius:3px;overflow:hidden; }
.ilim-progress-bar-fill { height:100%;background:var(--ds-blue);border-radius:3px;width:0%;transition:width .4s var(--ds-ease); }

/* Table */
.ilim-table-wrap { background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-r-xl);overflow:hidden; }
/* Grid: check · thumb · title(min) · flex-spacer · categoria · estado · fecha · acciones · padding-right */
.ilim-table-head { display:grid;grid-template-columns:40px 60px minmax(280px, max-content) 1fr 140px 110px 100px 130px 20px;align-items:center;border-bottom:1px solid var(--ds-border);background:var(--ds-surface2); }
.ilim-th { padding:14px 16px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ds-ink4);white-space:nowrap; }
.ilim-th-check { display:flex;justify-content:center;padding:14px 12px; }
.ilim-th-check input { accent-color:var(--ds-blue);width:16px;height:16px; }

.ilim-row { display:grid;grid-template-columns:40px 60px minmax(280px, max-content) 1fr 140px 110px 100px 130px 20px;align-items:center;border-bottom:1px solid var(--ds-border);transition:background .08s; }
.ilim-row:nth-child(even) { background:var(--ds-surface4); }
.ilim-row:last-child { border-bottom:none; }
.ilim-row:hover { background:rgba(37,99,235,.018); }
.ilim-row-selected { background:var(--ds-blue-lt)!important; }
.ilim-row-queued { opacity:.85; }
.ilim-row-queued .ilim-post-title { pointer-events:none; }

.ilim-td { padding:18px 16px;font-size:14px;color:var(--ds-ink); }
.ilim-td-check { display:flex;justify-content:center;padding:18px 12px; }
.ilim-td-check input { accent-color:var(--ds-blue);width:16px;height:16px; }
.ilim-td-img { display:flex;align-items:center;justify-content:center;padding:12px 8px; }
.ilim-thumb { width:48px;height:48px;border-radius:var(--ds-r-sm);object-fit:cover;border:1px solid var(--ds-border); }
.ilim-thumb-new { animation:ilim-fadein .5s var(--ds-ease); }
@keyframes ilim-fadein { from{opacity:0;transform:scale(.9)} to{opacity:1;transform:none} }
.ilim-no-img { display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--ds-surface3);border-radius:var(--ds-r-sm);font-size:9px;color:var(--ds-ink4);font-weight:600;text-transform:uppercase;letter-spacing:.04em; }
.ilim-img-generating { display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ds-blue);font-weight:500;white-space:nowrap; }
.ilim-img-error { display:inline-flex;align-items:center;font-size:11px;color:#dc2626;font-weight:600;background:rgba(220,38,38,.08);padding:4px 8px;border-radius:4px;white-space:nowrap; }
.ilim-post-title { font-size:14px;font-weight:500;color:var(--ds-ink);text-decoration:none;letter-spacing:-.005em; }
.ilim-post-title:hover { color:var(--ds-blue);text-decoration:underline; }
.ilim-cats { font-size:13px;color:var(--ds-ink3); }
.ilim-td-date { font-size:13px;color:var(--ds-ink3); }

/* Status badges */
.ilim-status-badge { display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600; }
.ilim-status-publish { background:var(--ds-green-lt);color:#065f46; }
.ilim-status-draft { background:var(--ds-amber-lt);color:var(--ds-amber); }
.ilim-status-pending { background:var(--ds-blue-lt);color:var(--ds-blue); }
.ilim-status-private { background:var(--ds-surface3);color:var(--ds-ink3); }

/* Row action button */
.ilim-btn-row-generate { display:inline-flex;align-items:center;gap:5px;font-family:var(--ds-font);font-size:12px;font-weight:600;color:var(--ds-ink2);background:var(--ds-surface);border:1px solid var(--ds-border2);border-radius:var(--ds-r-sm);padding:6px 12px;cursor:pointer;transition:all .12s;white-space:nowrap; }
.ilim-btn-row-generate:hover { background:var(--ds-surface3); }
.ilim-btn-row-generate.ilim-btn-primary-sm { color:#fff;background:var(--ds-blue);border-color:var(--ds-blue); }
.ilim-btn-row-generate.ilim-btn-primary-sm:hover { background:var(--ds-blue-dark); }
.ilim-btn-done { color:#065f46;background:var(--ds-green-lt);border-color:rgba(22,163,74,.2); }

/* Loading state */
.ilim-loading { display:flex;align-items:center;justify-content:center;gap:10px;padding:56px 24px;font-size:14px;color:var(--ds-ink3); }

/* Pagination */
.ilim-pagination { display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:13px;color:var(--ds-ink3); }
.ilim-pagination button,.ilim-pagination span { font-family:var(--ds-font);font-size:13px;font-weight:500;padding:6px 12px;border-radius:var(--ds-r-sm);cursor:pointer;border:1px solid var(--ds-border);background:var(--ds-surface);color:var(--ds-ink2);transition:all .12s; }
.ilim-pagination button:hover { background:var(--ds-surface3); }
.ilim-pagination .ilim-page-active { background:var(--ds-blue);color:white;border-color:var(--ds-blue); }
.ilim-pagination .ilim-page-dots { border:none;cursor:default;color:var(--ds-ink4); }

/* Queue banner (shown while bg jobs are processing) */
.ilim-queue-banner { display:flex;align-items:center;gap:10px;padding:12px 18px;margin-bottom:16px;background:var(--ds-blue-lt);border:1px solid rgba(37,99,235,.2);border-radius:var(--ds-r-lg);color:var(--ds-blue);font-size:13px;font-weight:500; }

/* ═══ Template picker modal ═══ */
.ilim-modal-overlay {
    position:fixed;inset:0;z-index:100000;
    display:flex;align-items:center;justify-content:center;
    background:rgba(15,23,42,.45);backdrop-filter:blur(4px);
    animation:ilim-modal-fade .18s ease-out;
}
@keyframes ilim-modal-fade { from{opacity:0} to{opacity:1} }
.ilim-modal {
    background:var(--ds-surface);
    border-radius:var(--ds-r-xl);
    width:min(1000px, 92vw);
    max-height:88vh;
    display:flex;flex-direction:column;
    box-shadow:0 20px 60px rgba(0,0,0,.25);
    overflow:hidden;
    animation:ilim-modal-rise .22s cubic-bezier(.16,1,.3,1);
}
@keyframes ilim-modal-rise { from{opacity:0;transform:translateY(12px) scale(.98)} to{opacity:1;transform:none} }
.ilim-modal-hd {
    display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
    padding:22px 24px 18px;
    border-bottom:1px solid var(--ds-border);
}
.ilim-modal-title { font-size:18px;font-weight:700;color:var(--ds-ink);margin:0;letter-spacing:-.01em; }
.ilim-modal-sub { font-size:13px;color:var(--ds-ink3);margin:4px 0 0; }
.ilim-modal-close {
    flex-shrink:0;width:32px;height:32px;
    display:flex;align-items:center;justify-content:center;
    background:none;border:none;border-radius:6px;
    color:var(--ds-ink4);cursor:pointer;transition:all .12s;
}
.ilim-modal-close:hover { background:var(--ds-surface3);color:var(--ds-ink); }
.ilim-tpl-grid {
    padding:20px 24px;
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
    gap:16px;
    overflow-y:auto;
    flex:1;
}
.ilim-tpl-card {
    background:var(--ds-surface);
    border:2px solid var(--ds-border);
    border-radius:var(--ds-r-lg);
    overflow:hidden;
    cursor:pointer;
    transition:all .15s var(--ds-ease);
    display:flex;flex-direction:column;
}
.ilim-tpl-card:hover { border-color:var(--ds-border2);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.06); }
.ilim-tpl-card.ilim-tpl-chosen {
    border-color:var(--ds-blue);
    box-shadow:0 0 0 3px rgba(37,99,235,.15);
    transform:translateY(-2px);
}
.ilim-tpl-img { width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--ds-surface3); }
.ilim-tpl-img-empty { width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:var(--ds-surface3);color:var(--ds-ink4);font-size:12px; }
.ilim-tpl-body { padding:14px 16px; }
.ilim-tpl-name { font-size:14px;font-weight:600;color:var(--ds-ink);letter-spacing:-.005em;display:flex;align-items:center;gap:8px; }
.ilim-tpl-pill { font-size:9px;font-weight:700;letter-spacing:.06em;color:var(--ds-blue);background:var(--ds-blue-lt);padding:2px 6px;border-radius:4px;text-transform:uppercase; }
.ilim-tpl-desc { font-size:12.5px;color:var(--ds-ink3);margin-top:6px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.ilim-tpl-empty { padding:40px 24px;text-align:center;color:var(--ds-ink3);font-size:13px;grid-column:1/-1; }
.ilim-tpl-empty a { color:var(--ds-blue);font-weight:600; }
.ilim-modal-ft {
    display:flex;justify-content:flex-end;gap:10px;
    padding:16px 24px;
    border-top:1px solid var(--ds-border);
    background:var(--ds-surface2);
}
.ilim-btn-cancel {
    font-family:var(--ds-font);font-size:13px;font-weight:500;
    color:var(--ds-ink2);background:var(--ds-surface);
    border:1px solid var(--ds-border2);border-radius:var(--ds-r-md);
    padding:9px 18px;cursor:pointer;transition:all .12s;
}
.ilim-btn-cancel:hover { background:var(--ds-surface3); }
.ilim-btn-confirm {
    display:inline-flex;align-items:center;gap:6px;
    font-family:var(--ds-font);font-size:13px;font-weight:600;
    color:#fff;background:var(--ds-blue);
    border:none;border-radius:var(--ds-r-md);
    padding:9px 20px;cursor:pointer;transition:all .12s;
    box-shadow:0 2px 8px rgba(37,99,235,.22);
}
.ilim-btn-confirm:hover:not(:disabled) { background:var(--ds-blue-dark); }
.ilim-btn-confirm:disabled { opacity:.5;cursor:not-allowed;box-shadow:none; }

/* ═══════════════════════════════════════════════════════════
   RULES — bulk selection UI (v3.8.1)
═══════════════════════════════════════════════════════════ */

/* Custom checkbox */
.ilrr-sel {
    display:inline-flex;align-items:center;justify-content:center;
    cursor:pointer;position:relative;
    width:18px;height:18px;
}
.ilrr-sel-cb {
    position:absolute;opacity:0;pointer-events:none;
    width:0;height:0;margin:0;
}
.ilrr-sel-box {
    width:18px;height:18px;border-radius:5px;
    border:1.5px solid var(--ds-border);background:#fff;
    display:inline-flex;align-items:center;justify-content:center;
    transition:.12s ease;
}
.ilrr-sel-cb:checked + .ilrr-sel-box {
    background:var(--ds-blue);border-color:var(--ds-blue);
}
.ilrr-sel-cb:checked + .ilrr-sel-box::after {
    content:"";
    width:10px;height:5px;border:2px solid #fff;border-top:0;border-right:0;
    transform:rotate(-45deg);margin-bottom:2px;
}
.ilrr-sel-cb:indeterminate + .ilrr-sel-box {
    background:var(--ds-blue);border-color:var(--ds-blue);
}
.ilrr-sel-cb:indeterminate + .ilrr-sel-box::after {
    content:"";width:10px;height:2px;background:#fff;
}
.ilrr-row:has(.ilrr-sel-cb:checked) { background:rgba(37,99,235,.055); }

/* Bulk bar */
.ilrr-bulk-bar {
    display:flex;align-items:center;gap:16px;
    padding:12px 22px;
    background:linear-gradient(90deg, #eef4ff 0%, #f5f9ff 100%);
    border-bottom:1px solid #d7e4fb;
    animation:ilrrBulkIn .22s ease;
}
@keyframes ilrrBulkIn {
    from { opacity:0; transform:translateY(-4px); }
    to   { opacity:1; transform:translateY(0); }
}
.ilrr-bulk-count {
    font-size:13px;font-weight:600;color:var(--ds-blue);
}
.ilrr-bulk-actions {
    display:flex;gap:8px;margin-left:auto;
}
.ilrr-bulk-btn {
    display:inline-flex;align-items:center;gap:6px;
    height:34px;padding:0 14px;border-radius:8px;
    border:1px solid var(--ds-border);background:#fff;color:var(--ds-ink);
    font-size:13px;font-weight:600;cursor:pointer;
    font-family:inherit;transition:.14s ease;
}
.ilrr-bulk-btn:hover { background:var(--ds-surface3);border-color:#bfd2f5; }
.ilrr-bulk-btn-danger { color:#b91c1c;border-color:#fecaca; }
.ilrr-bulk-btn-danger:hover { background:#fee2e2;border-color:#fca5a5;color:#991b1b; }
.ilrr-bulk-clear {
    width:28px;height:28px;border-radius:7px;
    border:1px solid transparent;background:transparent;
    color:var(--ds-ink4);cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;
    transition:.14s ease;
}
.ilrr-bulk-clear:hover { background:#fff;color:var(--ds-ink2); }

/* Generic centered modal (also used by import CSV dialog) */
.il-modal-overlay {
    position:fixed;inset:0;
    background:rgba(15,23,42,.42);
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    z-index:999999;
    display:flex;align-items:center;justify-content:center;
    padding:32px;
    opacity:0;transition:opacity .18s ease;
}
.il-modal-overlay.is-open { opacity:1; }
.il-modal-box {
    width:min(520px, calc(100vw - 64px));
    max-height:calc(100vh - 64px);
    background:#fff;
    border:1px solid var(--ds-border);
    border-radius:18px;
    box-shadow:0 24px 70px rgba(17,24,39,.22);
    overflow:hidden;display:flex;flex-direction:column;
    transform:scale(.97);transition:transform .18s ease;
}
.il-modal-overlay.is-open .il-modal-box { transform:scale(1); }
.il-modal-hd {
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:18px 22px;border-bottom:1px solid var(--ds-border);
    background:var(--ds-surface2);
}
.il-modal-title {
    font-size:16px;font-weight:700;color:var(--ds-ink);
    letter-spacing:-.01em;
    display:flex;align-items:center;gap:10px;
}
.il-modal-title-icon {
    width:32px;height:32px;border-radius:10px;
    display:inline-flex;align-items:center;justify-content:center;
    background:#fee2e2;color:#b91c1c;
}
.il-modal-title-icon.is-info { background:#eef4ff;color:var(--ds-blue); }
.il-modal-close {
    width:34px;height:34px;border-radius:10px;
    border:1px solid var(--ds-border);background:#fff;color:var(--ds-ink4);
    cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.il-modal-close:hover { background:var(--ds-surface3); }
.il-modal-body {
    padding:22px;overflow-y:auto;color:var(--ds-ink);font-size:14px;
    line-height:1.55;
}
.il-modal-body strong { font-weight:700; }
.il-modal-ft {
    padding:16px 22px;border-top:1px solid var(--ds-border);
    display:flex;justify-content:flex-end;gap:10px;
}
.il-modal-btn {
    height:40px;padding:0 18px;border-radius:10px;
    font-size:14px;font-weight:600;font-family:inherit;
    cursor:pointer;display:inline-flex;align-items:center;gap:8px;
    transition:.14s ease;line-height:1;
}
.il-modal-btn-ghost {
    background:#fff;border:1px solid var(--ds-border);color:var(--ds-ink);
}
.il-modal-btn-ghost:hover { background:var(--ds-surface3); }
.il-modal-btn-danger {
    background:#dc2626;border:1px solid #dc2626;color:#fff;
}
.il-modal-btn-danger:hover { background:#b91c1c;border-color:#b91c1c; }
.il-modal-btn-primary {
    background:var(--ds-blue);border:1px solid var(--ds-blue);color:#fff;
}
.il-modal-btn-primary:hover { background:#1d4ed8;border-color:#1d4ed8; }
.il-modal-btn:disabled { opacity:.5;cursor:not-allowed; }
.il-modal-warning {
    display:flex;gap:12px;align-items:flex-start;
    padding:12px 14px;border-radius:10px;
    background:#fef3c7;border:1px solid #fde68a;color:#78350f;
    font-size:13px;margin-bottom:14px;
}
.il-modal-warning svg { flex-shrink:0;margin-top:2px; }

/* CSV import modal specifics */
.ilrr-import-drop {
    border:2px dashed #cbd5e1;border-radius:12px;
    padding:28px 20px;text-align:center;
    background:var(--ds-surface3);
    transition:.14s ease;cursor:pointer;
    margin-bottom:14px;
}
.ilrr-import-drop:hover,
.ilrr-import-drop.is-over {
    border-color:var(--ds-blue);background:#eef4ff;
}
.ilrr-import-drop-label {
    font-size:14px;color:var(--ds-ink2);font-weight:500;
    margin:8px 0 2px;
}
.ilrr-import-drop-hint {
    font-size:12px;color:var(--ds-ink4);
}
.ilrr-import-file {
    display:flex;align-items:center;gap:10px;
    padding:10px 14px;border-radius:10px;background:var(--ds-surface3);
    border:1px solid var(--ds-border);
    font-size:13px;color:var(--ds-ink);margin-bottom:14px;
}
.ilrr-import-file-rm {
    margin-left:auto;background:none;border:none;cursor:pointer;
    color:var(--ds-ink4);display:inline-flex;
}
.ilrr-import-mode {
    display:flex;gap:10px;margin-bottom:14px;
}
.ilrr-import-mode label {
    flex:1;padding:12px 14px;border-radius:10px;
    border:1.5px solid var(--ds-border);background:#fff;
    cursor:pointer;transition:.14s ease;
}
.ilrr-import-mode label:has(input:checked) {
    border-color:var(--ds-blue);background:#eef4ff;
}
.ilrr-import-mode input[type="radio"] { display:none; }
.ilrr-import-mode-title {
    font-size:13px;font-weight:700;color:var(--ds-ink);margin-bottom:2px;
    display:flex;align-items:center;gap:6px;
}
.ilrr-import-mode-desc { font-size:12px;color:var(--ds-ink4);line-height:1.4; }
.ilrr-import-hint {
    font-size:12px;color:var(--ds-ink3);line-height:1.55;
    padding:10px 12px;background:var(--ds-surface3);border-radius:8px;
}
.ilrr-import-hint code {
    background:#fff;padding:1px 6px;border-radius:4px;
    font-size:11px;border:1px solid var(--ds-border);
}
.ilrr-import-result {
    padding:14px;border-radius:10px;font-size:13px;
    background:#eafaf1;border:1px solid #b7e6c8;color:#166534;
    margin-bottom:14px;
}
.ilrr-import-result.is-error { background:#fef2f2;border-color:#fecaca;color:#991b1b; }
.ilrr-import-result ul {
    margin:8px 0 0 0;padding-left:20px;font-size:12px;
    max-height:140px;overflow-y:auto;
}

/* ═══════════════════════════════════════════════════════════
   IMAGE PROMPT TEMPLATES — Ajustes tab (v3.9.2)
═══════════════════════════════════════════════════════════ */

.iltpl-page { padding-bottom: 40px; }

.iltpl-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 20px;
    margin-top: 20px;
}

/* Sidebar */
.iltpl-side {
    display: flex; flex-direction: column; gap: 10px;
}
.iltpl-new-btn {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 6px;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px dashed var(--ds-border);
    background: #fff; color: var(--ds-blue);
    font-size: 13px; font-weight: 600;
    cursor: pointer; font-family: inherit;
    transition: .14s ease;
}
.iltpl-new-btn:hover {
    border-color: var(--ds-blue);
    background: #eef4ff;
}
.iltpl-list {
    display: flex; flex-direction: column; gap: 6px;
    max-height: 70vh; overflow-y: auto;
    padding-right: 4px;
}
.iltpl-loading { color: var(--ds-ink4); font-size: 13px; padding: 10px 0; }
.iltpl-item {
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--ds-border);
    background: #fff;
    cursor: pointer;
    transition: .12s ease;
    display: flex; flex-direction: column; gap: 2px;
}
.iltpl-item:hover {
    background: var(--ds-surface3);
    border-color: #cbd5e1;
}
.iltpl-item.is-active {
    background: #eef4ff;
    border-color: var(--ds-blue);
}
.iltpl-item-name {
    font-size: 13px; font-weight: 600; color: var(--ds-ink);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    display: inline-flex; align-items: center; gap: 6px;
}
.iltpl-item-pill {
    display: inline-flex; align-items: center;
    font-size: 10px; font-weight: 700;
    padding: 1px 6px; border-radius: 6px;
    background: #eef2ff; color: #4338ca;
    letter-spacing: .02em; text-transform: uppercase;
    flex-shrink: 0;
}
.iltpl-item.is-predefined .iltpl-item-name { color: #3730a3; }
.iltpl-item-desc {
    font-size: 12px; color: var(--ds-ink4);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.iltpl-item.is-new .iltpl-item-name::before {
    content: "• "; color: var(--ds-blue);
}

/* Read-only mode banner + field visual state */
.iltpl-readonly-notice {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #eef2ff;
    border: 1px solid #c7d2fe;
    color: #3730a3;
    font-size: 13px; line-height: 1.5;
    margin-bottom: 4px;
}
.iltpl-readonly-notice svg { flex-shrink: 0; margin-top: 2px; }
.iltpl-form.is-readonly .iltpl-input,
.iltpl-form.is-readonly .iltpl-textarea-short,
.iltpl-form.is-readonly .iltpl-textarea-long {
    background: var(--ds-surface3);
    color: var(--ds-ink2);
    cursor: default;
}
.iltpl-form.is-readonly .iltpl-input:focus,
.iltpl-form.is-readonly .iltpl-textarea-short:focus,
.iltpl-form.is-readonly .iltpl-textarea-long:focus {
    box-shadow: none; border-color: var(--ds-border);
}

/* Editor */
.iltpl-editor {
    background: #fff;
    border: 1px solid var(--ds-border);
    border-radius: 12px;
    padding: 24px;
    min-height: 500px;
}
.iltpl-empty {
    text-align: center;
    padding: 80px 20px;
    color: var(--ds-ink4);
}
.iltpl-empty svg { opacity: .5; margin-bottom: 12px; }
.iltpl-empty p { font-size: 14px; margin: 0; }

.iltpl-form { display: flex; flex-direction: column; gap: 18px; }

.iltpl-field { display: flex; flex-direction: column; gap: 6px; }
.iltpl-label {
    font-size: 13px; font-weight: 600; color: var(--ds-ink);
    letter-spacing: -.01em;
}
.iltpl-input, .iltpl-textarea-short, .iltpl-textarea-long {
    width: 100%; padding: 10px 12px;
    border: 1px solid var(--ds-border);
    border-radius: 8px;
    background: #fff;
    font-family: inherit; font-size: 14px; color: var(--ds-ink);
    transition: .12s ease;
    resize: vertical;
}
.iltpl-textarea-short, .iltpl-textarea-long {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 13px; line-height: 1.55;
}
.iltpl-input:focus, .iltpl-textarea-short:focus, .iltpl-textarea-long:focus {
    outline: none; border-color: var(--ds-blue);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .08);
}
.iltpl-textarea-long { min-height: 320px; }
.iltpl-hint {
    font-size: 12px; color: var(--ds-ink4);
    margin-top: 2px; line-height: 1.5;
}

/* Image uploader */
.iltpl-image-box {
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    overflow: hidden;
    transition: .14s ease;
}
/* Background only when the box is in the empty (drop-zone) state */
.iltpl-image-box.is-empty {
    background: var(--ds-surface3);
}
.iltpl-image-box.is-over {
    border-color: var(--ds-blue);
    background: #eef4ff;
}
/* When there's an image preview, drop the dashed border so the
   image sits on a clean white background */
.iltpl-image-box.has-image {
    border: none;
    background: transparent;
}
.iltpl-image-empty {
    display: block;
    padding: 40px 20px;
    text-align: center;
    cursor: pointer;
    color: var(--ds-ink3);
}
.iltpl-image-empty p { margin: 8px 0 0; font-size: 13px; }
.iltpl-image-empty .iltpl-image-hint { color: var(--ds-ink4); font-size: 12px; margin-top: 4px; }
.iltpl-image-preview {
    padding: 0;
    display: flex; flex-direction: column; gap: 12px;
    align-items: center;
}
.iltpl-image-preview img {
    width: 500px; max-width: 100%; height: auto;
    border-radius: 8px;
    border: 1px solid var(--ds-border);
    display: block;
    margin: 0 auto;
}
.iltpl-image-actions { display: flex; gap: 8px; justify-content: center; }
.iltpl-image-replace, .iltpl-image-remove {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px; border-radius: 8px;
    border: 1px solid var(--ds-border);
    background: #fff; color: var(--ds-ink2);
    font-size: 12px; font-weight: 600;
    font-family: inherit; cursor: pointer;
    transition: .12s ease;
}
.iltpl-image-replace:hover { background: var(--ds-surface3); }
.iltpl-image-remove { color: #b91c1c; border-color: #fecaca; }
.iltpl-image-remove:hover { background: #fee2e2; }

/* Footer */
.iltpl-footer {
    display: flex; align-items: center; justify-content: space-between;
    padding-top: 16px;
    border-top: 1px solid var(--ds-border);
    margin-top: 6px;
}
.iltpl-footer-right { display: flex; align-items: center; gap: 12px; }
.iltpl-btn {
    padding: 10px 20px; border-radius: 10px;
    font-size: 14px; font-weight: 600;
    font-family: inherit; cursor: pointer;
    transition: .14s ease; line-height: 1;
    display: inline-flex; align-items: center; gap: 6px;
}
.iltpl-btn:disabled { opacity: .5; cursor: not-allowed; }
.iltpl-btn-primary {
    background: var(--ds-blue); border: 1px solid var(--ds-blue); color: #fff;
}
.iltpl-btn-primary:hover { background: #1d4ed8; border-color: #1d4ed8; }
.iltpl-btn-danger {
    background: #fff; border: 1px solid #fecaca; color: #b91c1c;
}
.iltpl-btn-danger:hover { background: #fee2e2; border-color: #fca5a5; }
.iltpl-status { font-size: 12px; color: var(--ds-ink4); }
.iltpl-status.is-ok { color: #166534; }
.iltpl-status.is-err { color: #b91c1c; }

/* ═══════════════════════════════════════════════════════════════
   Image templates layout — forced 1500 px width with flexbox.
   Radical rewrite using absolute pixel widths via flex-basis.
═══════════════════════════════════════════════════════════════ */

/* ⚠️ The parent .ilset-tab-content is capped at 900 px by default for
   other tabs. For the Plantillas de imagen tab we lift that cap so
   the layout can really be 1500 px wide as the user requested.
   Modern :has() selector — supported by all browsers since late 2023. */
.il-page .ilset-tab-content:has(.iltpl-page) {
    max-width: 1500px !important;
}

/* Also ensure the iltpl-page itself doesn't inherit any narrow width */
.iltpl-page {
    max-width: 1500px;
    width: 100%;
}

/* Enforce exact 1500 px width on the whole section.
   The margin-right ensures there's breathing room on the right edge
   that matches the natural left padding of the WP admin area. */
.iltpl-page .iltpl-layout {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    width: 1500px !important;
    max-width: 1500px !important;
    min-width: 0;
    align-items: stretch !important;
    margin-top: 20px;
    margin-right: 20px;
}

/* Column 1: sidebar (260 px fixed) */
.iltpl-page .iltpl-side {
    flex: 0 0 260px !important;
    width: 260px !important;
    min-width: 0;
}

/* Column 2: editor panel (1220 px = 1500 - 260 - 20 gap) */
.iltpl-page .iltpl-editor {
    flex: 0 0 1220px !important;
    width: 1220px !important;
    min-width: 0;
    overflow: hidden;
}

/* Inside the editor, two equal 600 px columns:
   600 + 20 gap + 600 = 1220 (matches .iltpl-editor) */
.iltpl-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    width: 100%;
    align-items: flex-start;
}
.iltpl-col-main,
.iltpl-col-image {
    flex: 0 0 586px !important; /* 586 + 20 + 586 = 1192, inside 1220 - 24*2 padding */
    width: 586px !important;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* Image preview: 500 px as requested */
.iltpl-image-preview img {
    width: 500px;
    max-width: 100%;
    height: auto;
}

.iltpl-col-image .iltpl-image-box { min-height: 220px; }

/* Responsive: collapse to single column if window is narrower than ~1560 px
   (1500 + some padding for the WP admin sidebar) */
@media (max-width: 1560px) {
    .iltpl-page .iltpl-layout {
        width: 100% !important;
        max-width: 100% !important;
        flex-wrap: wrap !important;
    }
    .iltpl-page .iltpl-side {
        flex: 0 0 100% !important;
        width: 100% !important;
    }
    .iltpl-page .iltpl-editor {
        flex: 1 1 auto !important;
        width: auto !important;
    }
    .iltpl-grid { flex-wrap: wrap; }
    .iltpl-col-main,
    .iltpl-col-image {
        flex: 1 1 100% !important;
        width: 100% !important;
    }
}

/* Image template selector description (Crear contenido) */
.ilc3-img-tpl-desc {
    margin-top: 6px;
    padding: 8px 12px;
    border-radius: 8px;
    background: #eef4ff;
    border: 1px solid #d7e4fb;
    color: #1e3a8a;
    font-size: 12.5px;
    line-height: 1.5;
}

/* ─────────────────────────────────────────────────────────────
   Enlazado hub — tab strip at the top of the unified Enlazado
   page. Sits above each sub-renderer's existing header so we
   don't have to touch any of the 4 individual views.

   Visual style: minimalist, similar to native WP nav-tab-wrapper
   but matching the rest of the plugin's design tokens (DM Sans,
   accent blue, hairline borders).
   ───────────────────────────────────────────────────────────── */
/* ════════════════════════════════════════════════════════════════
   HUB SCREEN WRAPPER — shared background + layout for the four
   "Crear contenido" tabs (Artículos, Imágenes, Traducciones,
   Automatizaciones). Artículos ships its own full .il-screen system in
   page-content.css; this global copy gives the OTHER three the same
   background, padding and header position so switching tabs doesn't make
   the content (and its header) jump. Only the base wrapper is defined
   here — each module keeps its own inner styles untouched.
   ════════════════════════════════════════════════════════════════ */
.il-screen {
    --il-bg: #f5f7fb;
    background: var(--il-bg);
    margin: 0 -20px;
    padding: 20px;
    min-height: calc(100vh - 64px);
    box-sizing: border-box;
}
.il-screen * { box-sizing: border-box; }
.il-screen .il-page { max-width: 1480px; margin: 0 auto; padding: 0; }
.il-hubnav {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 4px;
    margin: 0 0 24px;
    padding: 0 8px;
    background: #fff;
    border: 1px solid var(--ds-border);
    border-radius: var(--ds-r);
}
.il-hubnav-standalone {
    max-width: 1500px;
    margin: 0 auto;
    padding: 28px 0 0;
}
.il-hubnav-standalone .il-hubnav {
    justify-content: flex-start;
    margin: 0 0 20px;
}
.il-hubnav-standalone + .il-page.ilset-page,
.il-hubnav-standalone + .il-page.il-page-md {
    padding-top: 0;
}
.il-hubnav-card {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 16px 13px;
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    text-decoration: none;
    transition: color .14s, border-color .14s;
    white-space: nowrap;
}
.il-hubnav-card:hover { background: none; box-shadow: none; }
.il-hubnav-card:focus { outline: none; box-shadow: none; }
.il-hubnav-ic {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    color: var(--ds-ink4);
    transition: color .14s;
}
.il-hubnav-ic svg { width: 16px; height: 16px; display: block; }
.il-hubnav-label {
    font-family: var(--ds-font);
    font-size: 14px;
    font-weight: 500;
    color: var(--ds-ink3);
    letter-spacing: -.01em;
    transition: color .14s;
}
.il-hubnav-card:hover .il-hubnav-label,
.il-hubnav-card:hover .il-hubnav-ic { color: var(--ds-ink); }
.il-hubnav-card.is-active {
    border-color: var(--ds-blue);
    background: none;
}
.il-hubnav-card.is-active .il-hubnav-ic { background: none; color: var(--ds-blue); }
.il-hubnav-card.is-active .il-hubnav-label { color: var(--ds-blue); font-weight: 600; }
@media (max-width: 600px) {
    .il-hubnav { overflow-x: auto; }
    .il-hubnav-label { font-size: 13px; }
    .il-hubnav-card { padding: 10px 12px 12px; }
}

/* ════════════════════════════════════════════════════════════════
   FLINK MODAL — shared overlay/box used by the rule-link detail,
   the generic confirm modal (ILBulkModal) and the CSV import modal.
   These class names were referenced from admin.js but had no CSS,
   which left the modals unpositioned (rendered at the bottom of the
   page instead of centered). Defined here as the single source of truth.
   ════════════════════════════════════════════════════════════════ */
.flink-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147483600;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
    background: rgba(15, 23, 42, .45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity .2s ease;
}
.flink-modal-overlay.is-open { opacity: 1; }
.flink-modal-box {
    width: 100%;
    max-width: 560px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .22);
    transform: translateY(12px) scale(.98);
    transition: transform .2s ease;
}
.flink-modal-overlay.is-open .flink-modal-box {
    transform: translateY(0) scale(1);
}
.flink-modal-hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 22px;
    border-bottom: 1px solid var(--ds-border, #e5e7eb);
}
.flink-modal-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 700;
    color: var(--ds-ink, #111827);
}
.flink-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 20px 22px;
}
.flink-modal-ft {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 16px 22px;
    border-top: 1px solid var(--ds-border, #e5e7eb);
}
.flink-modal-close {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ds-border, #e5e7eb);
    border-radius: 8px;
    background: none;
    color: var(--ds-ink4, #9ca3af);
    cursor: pointer;
    transition: background .13s, color .13s;
}
.flink-modal-close:hover {
    background: var(--ds-surface2, #f8f9fc);
    color: var(--ds-ink, #111827);
}
.flink-modal-btn-primary {
    background: var(--ds-blue, #2563eb);
    color: #fff;
    border: none;
}
.flink-modal-btn-primary:hover { background: #1d4ed8; }
.flink-modal-btn-danger {
    background: var(--ds-red, #ef4444);
    color: #fff;
    border: none;
}
.flink-modal-btn-danger:hover { background: #dc2626; }
