/**
 * HEREANFIEL_PDF — Reporte de verificación de firma digital
 * CSS extraído del mockup (mockups/reporte-firma.html) v0.3.17
 *
 * ETSI EN 319 102-1 — 63 checks visuales
 * Prefijo: .pyd-rf- para evitar colisiones con WordPress admin
 */

/* ══════════════════════════════════════════════
   MODAL OVERLAY
   ══════════════════════════════════════════════ */
.pyd-rf-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.6); z-index: 100050;
    display: flex; align-items: center; justify-content: center;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
    font-size: 13px; color: #1d2327;
    line-height: 1.4;
}

/* ══════════════════════════════════════════════
   REPORT CARD
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .report-card {
    max-width: 560px; width: 100%; background: #fff; border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.4);
    display: flex; flex-direction: column; max-height: 90vh;
}

/* Header */
.pyd-rf-overlay .report-header { padding: 20px 24px 0; flex-shrink: 0; }
.pyd-rf-overlay .report-title-row { display: flex; align-items: center; justify-content: space-between; }
.pyd-rf-overlay .report-title-row h2 {
    font-size: 16px; color: #1d2327; font-weight: 700;
    font-family: "SF Mono", "Consolas", "Monaco", monospace; letter-spacing: -0.5px;
    margin: 0; padding: 0;
}
.pyd-rf-overlay .report-subtitle {
    font-size: 11px; color: #757575; margin-top: 2px; letter-spacing: 0.3px;
    padding-bottom: 14px; border-bottom: 1px solid #e2e4e7;
}
.pyd-rf-overlay .report-close {
    background: none; border: none; font-size: 20px;
    cursor: pointer; color: #999; padding: 0 4px; line-height: 1;
}
.pyd-rf-overlay .report-close:hover { color: #333; }
.pyd-rf-overlay .report-title-actions { display: flex; align-items: center; gap: 8px; }

/* Body */
.pyd-rf-overlay .report-body { padding: 16px 24px 20px; overflow-y: auto; flex: 1; }

/* Footer */
.pyd-rf-overlay .report-footer {
    padding: 10px 24px; border-top: 1px solid #e2e4e7;
    display: flex; gap: 10px; justify-content: flex-end;
    flex-shrink: 0; background: #fafafa;
    border-radius: 0 0 10px 10px;
}

/* ══════════════════════════════════════════════
   RESULTADO GLOBAL
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .result-banner {
    display: flex; align-items: stretch; margin-bottom: 14px;
    border-radius: 6px; overflow: hidden;
    border: 1px solid #e5e7eb;
}
.pyd-rf-overlay .result-stripe { width: 5px; flex-shrink: 0; }
.pyd-rf-overlay .result-banner.passed .result-stripe { background: #28a745; }
.pyd-rf-overlay .result-banner.failed .result-stripe { background: #d63638; }
.pyd-rf-overlay .result-banner.indeterminate .result-stripe { background: #dba617; }
.pyd-rf-overlay .result-banner.legacy .result-stripe { background: #e67e22; }
.pyd-rf-overlay .result-banner.passed.level-blta .result-stripe { background: #2271b1; }
.pyd-rf-overlay .result-banner.passed.level-bt .result-stripe { background: #dba617; }
.pyd-rf-overlay .result-banner.passed.level-bb .result-stripe { background: #dc3545; }

.pyd-rf-overlay .result-content {
    flex: 1; display: flex; align-items: center; gap: 12px;
    padding: 12px 16px;
    background: linear-gradient(135deg, #fafbfc 0%, #f5f6f8 100%);
}
.pyd-rf-overlay .result-icon {
    width: 28px; height: 28px; border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; flex-shrink: 0; font-weight: 700;
}
.pyd-rf-overlay .result-icon.passed { background: #2271b1; color: #fff; }
.pyd-rf-overlay .result-icon.failed { background: #d63638; color: #fff; }
.pyd-rf-overlay .result-icon.indeterminate { background: #dba617; color: #fff; }
.pyd-rf-overlay .result-icon.legacy { background: #e67e22; color: #fff; }
.pyd-rf-overlay .result-info { flex: 1; }
.pyd-rf-overlay .result-info .main {
    font-weight: 700; font-size: 13px; color: #1d2327;
    text-transform: uppercase; letter-spacing: 0.5px;
}
.pyd-rf-overlay .result-info .sub { font-size: 10.5px; color: #888; margin-top: 1px; }
.pyd-rf-overlay .result-level {
    padding: 5px 12px; border-radius: 4px; font-size: 13px;
    font-weight: 800; letter-spacing: 0.5px; flex-shrink: 0;
    font-family: "SF Mono", "Consolas", "Monaco", monospace;
}
.pyd-rf-overlay .result-level.blta { background: #2271b1; color: #fff; }
.pyd-rf-overlay .result-level.blt { background: #2271b1; color: #d4edda; }
.pyd-rf-overlay .result-level.bt { background: #2271b1; color: #fff3cd; }
.pyd-rf-overlay .result-level.bb { background: #2271b1; color: #f8d7da; }

/* ══════════════════════════════════════════════
   META BAR
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .meta-bar-wrapper {
    position: relative;
    margin-bottom: 14px; display: grid;
    grid-template-columns: auto 1fr;
    font-size: 12px; color: #555; gap: 0;
}
.pyd-rf-overlay .meta-labels {
    display: flex; flex-direction: column; gap: 4px;
    position: sticky; left: 0; z-index: 1; background: #fff;
    padding-right: 8px;
}
.pyd-rf-overlay .meta-values {
    display: flex; flex-direction: column; gap: 4px;
    overflow-x: auto; min-width: 0;
}
.pyd-rf-overlay .meta-actions {
    display: flex; flex-direction: column; gap: 4px; align-items: flex-end;
    position: sticky; right: 0; z-index: 1; background: #fff;
    padding-left: 8px;
}
.pyd-rf-overlay .meta-label-cell { color: #999; font-size: 11px; white-space: nowrap; min-height: 22px; display: flex; align-items: center; }
.pyd-rf-overlay .meta-value-cell { white-space: nowrap; min-height: 22px; display: flex; align-items: center; gap: 6px; }
.pyd-rf-overlay .meta-file { font-family: "SF Mono", "Consolas", "Monaco", monospace; font-size: 11px; color: #444; }
.pyd-rf-overlay .meta-bar-wrapper strong { color: #1d2327; font-weight: 600; }
.pyd-rf-overlay .meta-bar-wrapper .date { color: #1d2327; font-size: 12px; }
.pyd-rf-overlay .meta-bar-wrapper .date-source { color: #999; font-size: 10px; font-style: italic; }
.pyd-rf-overlay .meta-bar-wrapper .sep { color: #ccc; }
.pyd-rf-overlay .meta-reason { color: #555; font-size: 12px; font-style: italic; }
.pyd-rf-overlay .meta-reason-source { color: #999; font-size: 10px; font-style: italic; }
.pyd-rf-overlay .meta-reason-empty { color: #ccc; font-size: 11px; font-style: italic; }
.pyd-rf-overlay .meta-action-btn {
    width: 72px; padding: 4px 0; border: 1px solid #d0d0d0;
    border-radius: 3px; background: #f7f7f7; font-size: 10px;
    font-weight: 600; cursor: pointer; color: #666; white-space: nowrap;
    font-family: "SF Mono", "Consolas", "Monaco", monospace;
    text-align: center;
}
.pyd-rf-overlay .meta-action-btn:hover { background: #e8e8e8; border-color: #999; }
.pyd-rf-overlay .meta-action-btn.active { background: #1d2327; color: #e0e0e0; border-color: #1d2327; }
.pyd-rf-overlay .meta-action-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.pyd-rf-overlay .meta-action-btn:disabled:hover { background: #f7f7f7; border-color: #d0d0d0; }

/* ══════════════════════════════════════════════
   TARJETAS V9 ERROR (v0.5.59)
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .pyd-card-v9 { border-radius: 8px; padding: 12px; font-size: 13px; }
.pyd-rf-overlay .pyd-card-v9.pyd-card-red { background: #FEF2F2; border-left: 4px solid #dc3545; }
.pyd-rf-overlay .pyd-card-v9.pyd-card-orange { background: #FFFBEB; border-left: 4px solid #f0ad4e; }
.pyd-rf-overlay .pyd-card-v9 .pyd-card-header { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 8px; }
.pyd-rf-overlay .pyd-card-v9 .pyd-card-status { text-transform: uppercase; font-weight: 600; }
.pyd-rf-overlay .pyd-card-v9 .pyd-card-status.pyd-status-error { color: #dc3545; }
.pyd-rf-overlay .pyd-card-v9 .pyd-card-status.pyd-status-warning { color: #f0ad4e; }
.pyd-rf-overlay .pyd-card-v9 .pyd-msg { text-align: center; color: #6B7280; font-size: 12px; line-height: 1.5; margin: 0 0 4px; }

/* ══════════════════════════════════════════════
   MULTI-FIRMA DROPDOWN (v0.5.41)
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .signer-trigger-btn {
    display: inline-flex; align-items: center; gap: 4px;
    cursor: pointer; border-radius: 3px; padding: 1px 4px; margin: -1px -4px;
    transition: background 0.1s;
}
.pyd-rf-overlay .signer-trigger-btn:hover { background: #f0f6fc; }
.pyd-rf-overlay .signer-count {
    font-size: 9px; font-weight: 700; color: #2271b1;
    background: #e8f0fe; padding: 1px 5px; border-radius: 8px; white-space: nowrap;
}
.pyd-rf-overlay .signer-chevron { font-size: 8px; color: #2271b1; transition: transform 0.15s; }
.pyd-rf-overlay .meta-bar-wrapper.open .signer-chevron { transform: rotate(180deg); }

.pyd-rf-overlay .signers-dropdown {
    display: none;
    position: absolute; top: 100%; left: 0; right: 0;
    background: #fff; border: 1px solid #d0d0d0;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    z-index: 100; overflow: hidden; margin-top: 4px;
}
.pyd-rf-overlay .meta-bar-wrapper.open .signers-dropdown { display: block; }
.pyd-rf-overlay .signers-dropdown-header {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 12px; background: #f9f9f9; border-bottom: 1px solid #e2e4e7;
}
.pyd-rf-overlay .signers-dropdown-title { font-size: 11px; font-weight: 600; color: #50575e; white-space: nowrap; }
.pyd-rf-overlay .signers-search { flex: 1; min-width: 0; }
.pyd-rf-overlay .signers-search input {
    width: 100%; padding: 4px 8px; border: 1px solid #dcdcde;
    border-radius: 4px; font-size: 11px; color: #1d2327; background: #fff; outline: none;
}
.pyd-rf-overlay .signers-search input:focus { border-color: #2271b1; box-shadow: 0 0 0 1px #2271b1; }
.pyd-rf-overlay .signers-search input::placeholder { color: #c3c4c7; }
.pyd-rf-overlay .signers-list { display: flex; flex-direction: column; max-height: 220px; overflow-y: auto; }
.pyd-rf-overlay .signer-item {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 12px; font-size: 12px; cursor: pointer;
    transition: background 0.1s; border-bottom: 1px solid #f0f0f1;
}
.pyd-rf-overlay .signer-item:last-child { border-bottom: none; }
.pyd-rf-overlay .signer-item:hover { background: #f7f7f8; }
.pyd-rf-overlay .signer-item.active { background: #f0f6fc; }
.pyd-rf-overlay .signer-badge {
    display: inline-flex; align-items: center; justify-content: center;
    width: 20px; height: 20px; border-radius: 50%;
    font-size: 10px; font-weight: 700; background: #e2e4e7; color: #50575e; flex-shrink: 0;
}
.pyd-rf-overlay .signer-item.active .signer-badge { background: #2271b1; color: #fff; }
.pyd-rf-overlay .signer-name {
    font-weight: 600; color: #1d2327; flex: 1; min-width: 0;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.pyd-rf-overlay .signer-org { color: #757575; font-size: 10px; white-space: nowrap; }
.pyd-rf-overlay .signer-type { font-size: 9px; font-weight: 700; padding: 1px 6px; border-radius: 3px; letter-spacing: 0.3px; white-space: nowrap; }
.pyd-rf-overlay .signer-type.cades { background: #e3f2fd; color: #1565c0; }
.pyd-rf-overlay .signer-type.pkcs7 { background: #fff3e0; color: #e65100; }
.pyd-rf-overlay .signer-pyd { font-size: 9px; font-weight: 700; color: #fff; background: #28a745; padding: 1px 5px; border-radius: 3px; }
.pyd-rf-overlay .signer-item.filtered-out { display: none; }

/* ══════════════════════════════════════════════
   SECCIONES
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .verify-section {
    margin-bottom: 8px; border-radius: 4px;
    border: 1px solid #e5e7eb; overflow: hidden;
}
.pyd-rf-overlay .verify-section:last-of-type { margin-bottom: 0; }

.pyd-rf-overlay .section-header {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 14px; cursor: pointer; user-select: none;
    background: #fafbfc; border-left: 4px solid #ccc;
    transition: background 0.1s;
}
.pyd-rf-overlay .section-header:hover { background: #f3f4f6; }

.pyd-rf-overlay .section-header .arrow {
    font-size: 9px; color: #999; transition: transform 0.2s;
    flex-shrink: 0; width: 12px;
}
.pyd-rf-overlay .section-header .arrow.open { transform: rotate(90deg); }

.pyd-rf-overlay .section-dot {
    width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0;
}

.pyd-rf-overlay .section-title { flex: 1; font-weight: 600; font-size: 12.5px; color: #1d2327; }
.pyd-rf-overlay .section-counter {
    font-size: 10.5px; font-weight: 600; padding: 2px 7px;
    border-radius: 8px; flex-shrink: 0; background: #e9ecef; color: #666;
}
.pyd-rf-overlay .section-counter.ok { background: #d4edda; color: #155724; }
.pyd-rf-overlay .section-counter.partial { background: #f8d7da; color: #721c24; }

/* Colores por nivel */
.pyd-rf-overlay .section-bb .section-header { border-left-color: #dc3545; }
.pyd-rf-overlay .section-bb .section-dot { background: #dc3545; }
.pyd-rf-overlay .section-bt .section-header { border-left-color: #dba617; }
.pyd-rf-overlay .section-bt .section-dot { background: #dba617; }
.pyd-rf-overlay .section-blt .section-header { border-left-color: #28a745; }
.pyd-rf-overlay .section-blt .section-dot { background: #28a745; }
.pyd-rf-overlay .section-blta .section-header { border-left-color: #2271b1; }
.pyd-rf-overlay .section-blta .section-dot { background: #2271b1; }

.pyd-rf-overlay .section-na .section-header { border-left-color: #ddd; background: #f9f9f9; }
.pyd-rf-overlay .section-na .section-dot { background: #ccc; }
.pyd-rf-overlay .section-na .section-title { color: #aaa; }
.pyd-rf-overlay .section-na .section-counter { background: #f0f0f0; color: #bbb; }
.pyd-rf-overlay .section-na .check-icon { background: #e0e0e0; color: #bbb; }
.pyd-rf-overlay .section-na .check-text { color: #bbb; }
.pyd-rf-overlay .section-na .check-detail { color: #ccc; }
.pyd-rf-overlay .section-na .check-group-title { color: #ccc; border-bottom-color: #f5f5f5; }
.pyd-rf-overlay .section-na .group-badge { background: #f0f0f0; color: #bbb; }

/* ══════════════════════════════════════════════
   CHECKS
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .section-body {
    border-top: 1px solid #eee; max-height: 0;
    overflow: hidden; transition: max-height 0.25s ease-out;
}
.pyd-rf-overlay .section-body.open { max-height: 12000px; transition: max-height 0.4s ease-in; }

.pyd-rf-overlay .check-group { padding: 8px 14px 4px; }
.pyd-rf-overlay .check-group-title {
    font-size: 10px; font-weight: 700; color: #999;
    text-transform: uppercase; letter-spacing: 0.6px;
    margin-bottom: 5px; padding-bottom: 3px; border-bottom: 1px solid #f0f0f1;
    display: flex; align-items: center; gap: 6px;
}
.pyd-rf-overlay .group-badge {
    font-size: 9px; font-weight: 700; padding: 1px 6px;
    border-radius: 3px; letter-spacing: 0.3px; text-transform: uppercase;
    margin-left: auto; flex-shrink: 0;
}
.pyd-rf-overlay .group-badge.passed { background: #d4edda; color: #155724; }
.pyd-rf-overlay .group-badge.failed { background: #f8d7da; color: #721c24; }

.pyd-rf-overlay .check-row {
    display: flex; align-items: flex-start; gap: 7px;
    padding: 3px 0; font-size: 12px; line-height: 1.5;
}
.pyd-rf-overlay .check-row:last-child { padding-bottom: 5px; }

.pyd-rf-overlay .check-icon {
    width: 16px; height: 16px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 9px; font-weight: 700; flex-shrink: 0; margin-top: 2px;
}
.pyd-rf-overlay .check-icon.ok { background: #28a745; color: #fff; }
.pyd-rf-overlay .check-icon.fail { background: #d63638; color: #fff; }
.pyd-rf-overlay .check-icon.skip { background: #e0e0e0; color: #999; }

.pyd-rf-overlay .check-text { flex: 1; color: #444; }
.pyd-rf-overlay .check-num {
    display: inline-block; font-size: 9px; font-weight: 700; color: #fff;
    background: #6c757d; border-radius: 3px; padding: 0 4px; margin-right: 4px;
    font-family: "SF Mono", "Consolas", "Monaco", monospace; vertical-align: baseline;
    line-height: 1.5;
}
.pyd-rf-overlay .check-row.fail .check-num { background: #d63638; }
.pyd-rf-overlay .check-why { font-size: 10.5px; color: #7b8a99; margin-top: 1px; font-style: italic; line-height: 1.4; }
.pyd-rf-overlay .check-detail { font-size: 10.5px; color: #999; margin-top: 0; font-family: "SF Mono", "Consolas", "Monaco", monospace; }
.pyd-rf-overlay .check-row.fail .check-text { color: #8a1f1f; }
.pyd-rf-overlay .check-row.fail .check-detail { color: #b44; }
.pyd-rf-overlay .section-na .check-why { color: #ccc; }

/* Evidencia forense */
.pyd-rf-overlay .evidence-toggle {
    font-size: 10px; color: #2271b1; cursor: pointer;
    margin-top: 3px; user-select: none; display: inline-block;
}
.pyd-rf-overlay .evidence-toggle:hover { text-decoration: underline; }
.pyd-rf-overlay .evidence-body {
    display: none; margin-top: 4px; padding: 6px 8px;
    background: #f8f9fa; border-radius: 3px; border: 1px solid #e9ecef;
    font-family: "SF Mono", "Consolas", "Monaco", monospace; font-size: 10px;
    line-height: 1.6;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
}
.pyd-rf-overlay .evidence-body.open { display: block; }
.pyd-rf-overlay .evidence-row { display: flex; gap: 8px; padding: 1px 0; white-space: nowrap; }
.pyd-rf-overlay .evidence-label { color: #888; min-width: 80px; flex-shrink: 0; text-align: right; }
.pyd-rf-overlay .evidence-value { color: #333; white-space: normal; word-break: break-word; flex: 1; min-width: 200px; }
.pyd-rf-overlay .evidence-value.pass { color: #155724; font-weight: 600; }
.pyd-rf-overlay .evidence-value.fail { color: #721c24; font-weight: 600; }
.pyd-rf-overlay .section-na .evidence-toggle { color: #ccc; pointer-events: none; }
.pyd-rf-overlay .section-na .evidence-body { background: #fafafa; border-color: #f0f0f0; }
.pyd-rf-overlay .section-na .evidence-label { color: #ccc; }
.pyd-rf-overlay .section-na .evidence-value { color: #ccc; }

/* ══════════════════════════════════════════════
   TAB BAR
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .tab-bar {
    display: flex; align-items: center; gap: 8px; padding: 14px 24px;
    border-bottom: 1px solid #e2e4e7; flex-shrink: 0;
}
.pyd-rf-overlay .tab-btn-gear { padding: 4px 8px; font-size: 13px; font-family: inherit; }
.pyd-rf-overlay .tab-btn-gear.active { background: #1d2327; color: #fff; }
.pyd-rf-overlay .tab-bar-right {
    margin-left: auto; display: flex; align-items: center; gap: 8px;
}
.pyd-rf-overlay .pyd-i18n-lang {
    font-size: 11px; font-weight: 600; padding: 2px 4px; border: 1px solid #d0d0d0;
    border-radius: 3px; background: #f7f7f7; color: #1d2327; cursor: pointer;
    font-family: inherit;
}
.pyd-rf-overlay .pyd-i18n-lang:disabled { opacity: 0.5; cursor: wait; }
.pyd-rf-overlay .collapse-toggle {
    font-size: 11px; color: #888; cursor: pointer;
    display: flex; align-items: center; gap: 4px; user-select: none;
    font-weight: 500;
}
.pyd-rf-overlay .collapse-toggle input { cursor: pointer; }
.pyd-rf-overlay .tab-group {
    display: inline-flex; border: 1px solid #d0d0d0; border-radius: 4px; overflow: hidden;
}
.pyd-rf-overlay .tab-btn {
    padding: 4px 14px; font-size: 11px; font-weight: 600;
    border: none; background: #f7f7f7; cursor: pointer;
    color: #666; transition: all 0.15s;
    font-family: "SF Mono", "Consolas", "Monaco", monospace;
    border-right: 1px solid #d0d0d0;
}
.pyd-rf-overlay .tab-btn:last-child { border-right: none; }
.pyd-rf-overlay .tab-btn:hover { background: #e8e8e8; color: #1d2327; }
.pyd-rf-overlay .tab-btn.active { background: #2271b1; color: #fff; }

/* ══════════════════════════════════════════════
   CONFIG PANEL
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .config-panel { padding: 0; }

/* Sub-tabs bar */
.pyd-rf-overlay .config-subtabs {
    display: flex; gap: 0; border-bottom: 1px solid #ddd;
    padding: 0 16px; background: #fafafa;
}
.pyd-rf-overlay .config-subtab {
    padding: 8px 14px; font-size: 11px; font-weight: 600; color: #666;
    cursor: pointer; border-bottom: 2px solid transparent;
    transition: color 0.15s, border-color 0.15s; user-select: none;
}
.pyd-rf-overlay .config-subtab:hover { color: #1d2327; }
.pyd-rf-overlay .config-subtab.active { color: #2271b1; border-bottom-color: #2271b1; }

/* Sub-panels */
.pyd-rf-overlay .config-subpanel { display: none; padding: 16px; }
.pyd-rf-overlay .config-subpanel.active { display: block; }

/* Inner tabs */
.pyd-rf-overlay .config-innertabs {
    display: flex; gap: 0; margin-bottom: 14px;
    border-bottom: 1px solid #eee;
}
.pyd-rf-overlay .config-innertab {
    padding: 6px 12px; font-size: 10.5px; font-weight: 600; color: #888;
    cursor: pointer; border-bottom: 2px solid transparent;
    transition: color 0.15s, border-color 0.15s; user-select: none;
}
.pyd-rf-overlay .config-innertab:hover { color: #1d2327; }
.pyd-rf-overlay .config-innertab.active { color: #2271b1; border-bottom-color: #2271b1; }

/* Inner panels */
.pyd-rf-overlay .config-innerpanel { display: none; }
.pyd-rf-overlay .config-innerpanel.active { display: block; }

/* Trust store */
.pyd-rf-overlay .truststore-search {
    display: flex; align-items: center; gap: 6px;
    padding: 6px 10px; border: 1px solid #d0d0d0; border-radius: 4px;
    background: #fff; margin-bottom: 10px;
}
.pyd-rf-overlay .truststore-search-icon { color: #999; font-size: 12px; flex-shrink: 0; }
.pyd-rf-overlay .truststore-search input {
    border: none; outline: none; font-size: 11px; color: #333; width: 100%;
    font-family: inherit; background: transparent;
}
.pyd-rf-overlay .truststore-search input::placeholder { color: #bbb; }
.pyd-rf-overlay .truststore-list { display: flex; flex-direction: column; gap: 6px; max-height: 260px; overflow-y: auto; }
/* Trust store — groups by entity (v0.5.60) */
.pyd-rf-overlay .truststore-group { display: flex; flex-direction: column; gap: 4px; }
.pyd-rf-overlay .truststore-group-header {
    display: flex; align-items: center; gap: 6px; padding: 4px 0 2px;
    border-bottom: 1px solid #e9ecef; margin-bottom: 2px;
}
.pyd-rf-overlay .truststore-group-name {
    font-size: 10px; font-weight: 700; color: #1d2327; text-transform: uppercase;
    letter-spacing: 0.3px;
}
.pyd-rf-overlay .truststore-group-count {
    font-size: 9px; font-weight: 600; color: #fff; background: #6c757d;
    border-radius: 8px; padding: 1px 6px; line-height: 1.3;
}
.pyd-rf-overlay .truststore-item {
    display: flex; align-items: center; gap: 8px; padding: 8px 10px;
    border: 1px solid #e9ecef; border-radius: 4px; background: #f8f9fa;
    font-size: 10px; font-family: "SF Mono", "Consolas", monospace;
}
.pyd-rf-overlay .truststore-item.temporal {
    border-color: #bee5eb; background: #f0f9ff; border-style: dashed;
}
.pyd-rf-overlay .truststore-item-info { flex: 1; min-width: 0; }
.pyd-rf-overlay .truststore-item-cn {
    font-size: 10.5px; font-weight: 600; color: #333;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pyd-rf-overlay .truststore-item-meta { font-size: 9.5px; color: #888; margin-top: 2px; }
.pyd-rf-overlay .truststore-badge {
    font-size: 8px; font-weight: 700; padding: 2px 6px; border-radius: 8px;
    text-transform: uppercase; letter-spacing: 0.3px; flex-shrink: 0;
}
.pyd-rf-overlay .truststore-badge.permanent { background: #d4edda; color: #155724; }
.pyd-rf-overlay .truststore-badge.temporal { background: #d1ecf1; color: #0c5460; }
.pyd-rf-overlay .truststore-remove {
    font-size: 14px; color: #999; cursor: pointer; padding: 0 4px;
    line-height: 1; flex-shrink: 0;
}
.pyd-rf-overlay .truststore-remove:hover { color: #dc3545; }
.pyd-rf-overlay .truststore-add {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    padding: 10px; border: 2px dashed #d0d0d0; border-radius: 4px;
    color: #888; font-size: 11px; font-weight: 600; cursor: pointer;
    transition: border-color 0.15s, color 0.15s; margin-top: 6px;
}
.pyd-rf-overlay .truststore-add:hover { border-color: #2271b1; color: #2271b1; }

/* Trust store — PEM input form (v0.3.80) */
.pyd-rf-overlay .truststore-pem-form { margin-top: 6px; }
.pyd-rf-overlay .truststore-pem-input {
    width: 100%; min-height: 120px; padding: 8px; border: 1px solid #d0d0d0; border-radius: 4px;
    font-family: "SF Mono", "Consolas", monospace; font-size: 10px; line-height: 1.4;
    resize: vertical; box-sizing: border-box; color: #333; background: #fafafa;
}
.pyd-rf-overlay .truststore-pem-input:focus { border-color: #2271b1; outline: none; box-shadow: 0 0 0 1px #2271b1; }
.pyd-rf-overlay .truststore-pem-actions { display: flex; gap: 6px; margin-top: 6px; }
.pyd-rf-overlay .truststore-pem-error {
    font-size: 10px; color: #dc3545; margin-top: 4px; font-style: italic;
}

/* Trust store — Anchor mode radios (v0.3.80) */
.pyd-rf-overlay .truststore-mode {
    display: flex; gap: 16px; margin-bottom: 8px; padding: 6px 0;
    border-bottom: 1px solid #f0f0f0;
}
.pyd-rf-overlay .truststore-mode label {
    display: flex; align-items: center; gap: 4px; font-size: 10.5px; color: #555;
    cursor: pointer; font-weight: 500;
}
.pyd-rf-overlay .truststore-mode input[type="radio"] {
    margin: 0; cursor: pointer; accent-color: #2271b1;
}
.pyd-rf-overlay .truststore-mode label:has(input:disabled) {
    opacity: 0.4; cursor: not-allowed;
}

/* Trust store — Save config button (v0.3.80) */
.pyd-rf-overlay .config-save-btn.saved { background: #28a745; border-color: #28a745; }

/* Trust store — item layout adjustments */
.pyd-rf-overlay .truststore-item-actions {
    display: flex; align-items: center; gap: 8px; flex-shrink: 0;
}
.pyd-rf-overlay .truststore-validity {
    font-size: 9px; color: #888; white-space: nowrap;
}

.pyd-rf-overlay .config-row {
    display: flex; align-items: center; gap: 8px;
    padding: 5px 0; font-size: 11px; color: #555;
}
.pyd-rf-overlay .config-row + .config-row { border-top: 1px solid #f5f5f5; }
.pyd-rf-overlay .config-label { min-width: 80px; font-weight: 600; color: #1d2327; font-size: 11px; }
.pyd-rf-overlay .config-value { flex: 1; font-family: "SF Mono", "Consolas", monospace; font-size: 10.5px; color: #555; }

.pyd-rf-overlay .config-cert-chain {
    display: flex; flex-direction: column; gap: 4px; margin: 4px 0;
}
.pyd-rf-overlay .config-cert-item {
    display: flex; align-items: center; gap: 6px; padding: 4px 8px;
    background: #f8f9fa; border: 1px solid #e9ecef; border-radius: 3px;
    font-size: 10px; font-family: "SF Mono", "Consolas", monospace;
}
.pyd-rf-overlay .config-cert-item .cert-role {
    font-size: 9px; font-weight: 700; text-transform: uppercase;
    padding: 1px 5px; border-radius: 2px; letter-spacing: 0.3px;
    flex-shrink: 0;
}
.pyd-rf-overlay .cert-role.root { background: #ffeeba; color: #856404; }
.pyd-rf-overlay .cert-role.intermediate { background: #d4edda; color: #155724; }
.pyd-rf-overlay .cert-role.signer { background: #cce5ff; color: #004085; }
.pyd-rf-overlay .config-cert-item .cert-cn { color: #333; flex: 1; }
.pyd-rf-overlay .config-cert-item .config-btn-sm { margin-left: auto; font-size: 9px; padding: 1px 6px; }
.pyd-rf-overlay .config-chain-actions { display: flex; gap: 6px; margin-top: 6px; }

.pyd-rf-overlay .config-note {
    font-size: 10px; color: #999; font-style: italic; margin-top: 6px; line-height: 1.4;
}
/* Format cards grid */
.pyd-rf-overlay .config-format-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pyd-rf-overlay .config-format-card {
    padding: 10px; border: 1px solid #e5e7eb; border-radius: 6px; text-align: center;
}
.pyd-rf-overlay .config-format-card.supported { border-color: #28a745; background: #f8fff8; }
.pyd-rf-overlay .config-format-card.future { opacity: 0.5; }
.pyd-rf-overlay .config-format-name { font-size: 13px; font-weight: 700; color: #1d2327; }
.pyd-rf-overlay .config-format-desc { font-size: 9px; color: #888; margin-top: 2px; }
.pyd-rf-overlay .config-format-status { font-size: 9px; font-weight: 600; margin-top: 4px; display: block; }
.pyd-rf-overlay .config-format-status.ok { color: #28a745; }
.pyd-rf-overlay .config-format-status.planned { color: #999; }

/* Toggle switches */
.pyd-rf-overlay .config-toggle-row {
    display: flex; align-items: center; justify-content: space-between; padding: 5px 0;
}
.pyd-rf-overlay .config-toggle-label { font-size: 11px; font-weight: 600; color: #1d2327; }
.pyd-rf-overlay .config-toggle-sub { font-size: 9px; color: #888; }
.pyd-rf-overlay .config-switch {
    width: 32px; height: 18px; border-radius: 9px; border: none; background: #ccc;
    cursor: pointer; position: relative; transition: background 0.2s; flex-shrink: 0;
    appearance: none; -webkit-appearance: none; padding: 0;
}
.pyd-rf-overlay .config-switch::after {
    content: ''; position: absolute; top: 2px; left: 2px;
    width: 14px; height: 14px; border-radius: 50%; background: #fff;
    transition: left 0.2s;
}
.pyd-rf-overlay .config-switch.on { background: #2271b1; }
.pyd-rf-overlay .config-switch.on::after { left: 16px; }

/* Small buttons & select */
.pyd-rf-overlay .config-btn-sm {
    font-size: 10px; padding: 3px 10px; border: 1px solid #ddd; border-radius: 4px;
    background: #fff; cursor: pointer; font-family: inherit;
}
.pyd-rf-overlay .config-btn-sm.primary { background: #2271b1; color: #fff; border-color: #2271b1; }
.pyd-rf-overlay .config-btn-sm.primary:hover { background: #1a5a8e; }
.pyd-rf-overlay .config-btn-sm:disabled,
.pyd-rf-overlay .config-btn-sm.config-btn-disabled { opacity: 0.4; cursor: not-allowed; pointer-events: none; }
.pyd-rf-overlay .config-select {
    flex: 1; font-size: 10.5px; padding: 3px 6px; border: 1px solid #ddd; border-radius: 4px;
    font-family: "SF Mono", "Consolas", monospace; background: #fff; color: #333;
}
.pyd-rf-overlay .config-select:disabled { opacity: 0.5; cursor: not-allowed; background: #f5f5f5; }

.pyd-rf-overlay .tab-panel { display: none; }
.pyd-rf-overlay .tab-panel.active { display: block; }

/* ══════════════════════════════════════════════
   CODE VIEWER
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .code-viewer {
    font-family: "SF Mono", "Consolas", "Monaco", monospace;
    font-size: 10.5px; line-height: 1.7; color: #383a42;
    padding: 12px 0;
}
.pyd-rf-overlay .code-section { margin-bottom: 2px; }
.pyd-rf-overlay .code-section-title {
    font-size: 10px; font-weight: 700; color: #fff; padding: 4px 14px;
    text-transform: uppercase; letter-spacing: 0.5px;
    position: sticky; top: 0; z-index: 2;
    display: flex; align-items: center; justify-content: space-between;
}
.pyd-rf-overlay .code-section-title.rev1 { background: #6c757d; }
.pyd-rf-overlay .code-section-title.rev2 { background: #28a745; }
.pyd-rf-overlay .code-section-title.rev3 { background: #2271b1; }
.pyd-rf-overlay .code-section-title.decoded { background: #7952b3; }
.pyd-rf-overlay .code-back-link {
    font-size: 10px; font-weight: 600; color: rgba(255,255,255,0.75);
    cursor: pointer; text-transform: none; letter-spacing: 0;
    white-space: nowrap;
}
.pyd-rf-overlay .code-back-link:hover { color: #fff; text-decoration: underline; }

.pyd-rf-overlay .code-lines {
    max-height: 400px; overflow-y: auto;
}
.pyd-rf-overlay .code-line {
    display: flex; padding: 0 14px; min-height: 18px;
}
.pyd-rf-overlay .code-line:hover { background: #f5f5f5; }
.pyd-rf-overlay .line-num {
    min-width: 32px; text-align: right; color: #bbb;
    padding-right: 12px; user-select: none; flex-shrink: 0;
}
.pyd-rf-overlay .line-content { flex: 1; white-space: pre-wrap; word-break: break-all; }

/* Highlighted regions */
.pyd-rf-overlay .code-highlight {
    background: #fff8e1; border-left: 3px solid #ffc107;
    transition: background 0.3s;
}
.pyd-rf-overlay .code-highlight.flash {
    background: #fff3cd;
    animation: pyd-rf-code-flash 1.5s ease-out;
}
@keyframes pyd-rf-code-flash {
    0% { background: #ffe082; }
    100% { background: #fff8e1; }
}
.pyd-rf-overlay .code-line.code-highlight:hover { background: #fff3cd; }

/* Highlight dot al lado del Q number — indica que tiene code view */
.pyd-rf-overlay .hl-dot {
    display: inline-block; width: 6px; height: 6px; border-radius: 50%;
    background: #ffc107; margin-left: 4px; vertical-align: middle;
}

/* Empty state (v0.3.25 — tab vacío hasta seleccionar pregunta) */
.pyd-rf-overlay .code-empty-state {
    padding: 40px 24px; text-align: center;
}
.pyd-rf-overlay .code-empty-icon { font-size: 36px; margin-bottom: 12px; }
.pyd-rf-overlay .code-empty-title {
    font-size: 14px; font-weight: 700; color: #1d2327; margin-bottom: 8px;
}
.pyd-rf-overlay .code-empty-text {
    font-size: 12px; color: #666; line-height: 1.6; margin-bottom: 16px;
}
/* Nota verificabilidad en tab Firma Hex */
.pyd-rf-overlay .hex-verify-note {
    font-size: 10.5px; color: #666; line-height: 1.6; margin-bottom: 12px;
    background: #f0f6ff; border: 1px solid #d0e2f7; border-radius: 4px; padding: 10px 14px;
}
.pyd-rf-overlay .hex-verify-note a { color: #2271b1; text-decoration: none; }
.pyd-rf-overlay .hex-verify-note a:hover { text-decoration: underline; }

/* Question context header (v0.3.25) */
.pyd-rf-overlay .code-question-context {
    display: flex; align-items: center; gap: 8px; padding: 10px 14px;
    background: #1d2327; color: #fff; font-size: 11px;
    position: sticky; top: 0; z-index: 2;
}
.pyd-rf-overlay .code-question-num {
    background: #2271b1; color: #fff; padding: 2px 6px; border-radius: 3px;
    font-weight: 700; font-size: 10px; flex-shrink: 0;
}
.pyd-rf-overlay .code-question-text { flex: 1; font-weight: 500; }

/* Section header: badge + label en una línea */
.pyd-rf-overlay .code-section-header {
    display: flex; align-items: center; gap: 8px; padding: 8px 14px 2px;
}
.pyd-rf-overlay .code-type-badge {
    display: inline-block; font-size: 9px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.5px; padding: 2px 8px; border-radius: 3px; flex-shrink: 0;
}
.pyd-rf-overlay .code-type-badge.asn1 { background: #e8f0fe; color: #1a73e8; }
.pyd-rf-overlay .code-type-badge.pdf { background: #fce8e6; color: #d93025; }
.pyd-rf-overlay .code-section-label {
    font-size: 10px; font-weight: 600; color: #666;
    text-transform: uppercase; letter-spacing: 0.3px;
}

/* Breadcrumb: scroll horizontal para árbol completo */
.pyd-rf-overlay .code-breadcrumb {
    font-size: 9.5px; font-weight: 500; color: #999; font-style: italic;
    padding: 0 14px 6px; white-space: nowrap; overflow-x: auto;
}

/* Verification note */
.pyd-rf-overlay .code-verify-note {
    font-size: 10px; color: #888; line-height: 1.5; padding: 12px 14px;
    border-top: 1px solid #eee; margin-top: 8px;
}
.pyd-rf-overlay .code-verify-note a { color: #2271b1; text-decoration: none; }
.pyd-rf-overlay .code-verify-note a:hover { text-decoration: underline; }

/* Firma Hex tab */
.pyd-rf-overlay .hex-view { padding: 14px 24px; }
.pyd-rf-overlay .hex-empty {
    text-align: center; padding: 40px; color: #888; font-size: 13px;
}
/* Explicación */
.pyd-rf-overlay .hex-explain {
    font-size: 11px; color: #555; line-height: 1.6; margin-bottom: 12px;
}
.pyd-rf-overlay .hex-explain code {
    background: #e8e8e8; padding: 1px 5px; border-radius: 3px; font-size: 10px;
}
/* Hex completo con scroll bidireccional */
.pyd-rf-overlay .hex-block {
    background: #f8f9fa; border: 1px solid #e9ecef; border-radius: 4px;
    padding: 10px 12px; margin: 0 0 12px;
    font-family: "SF Mono", "Consolas", "Monaco", monospace;
    font-size: 10.5px; line-height: 1.7; color: #555;
    white-space: pre; overflow: auto; max-height: 400px;
}
/* Botón copiar — estilo sutil meta-action-btn */
.pyd-rf-overlay .hex-copy-row { margin-bottom: 8px; text-align: center; }
.pyd-rf-overlay .hex-copy-btn {
    padding: 5px 14px; border: 1px solid #d0d0d0; border-radius: 3px;
    background: #f7f7f7; font-size: 10px; font-weight: 600; cursor: pointer;
    color: #666; font-family: "SF Mono", "Consolas", "Monaco", monospace;
    transition: all 0.15s;
}
.pyd-rf-overlay .hex-copy-btn:hover { background: #e8e8e8; border-color: #999; }
.pyd-rf-overlay .hex-copy-btn:disabled { background: #f0f0f0; color: #aaa; cursor: default; }

/* Verify toggle (code sections) — arriba, centrado */
.pyd-rf-overlay .verify-toggle {
    font-size: 10px; color: #2271b1; cursor: pointer;
    padding: 6px 14px; user-select: none; text-align: center;
    border-bottom: 1px solid #eee;
}
.pyd-rf-overlay .verify-toggle:hover { text-decoration: underline; }
.pyd-rf-overlay .verify-body {
    display: none; padding: 8px 14px 12px;
    background: #f8f9fa; border-radius: 3px; border: 1px solid #e9ecef;
    margin: 0 14px 8px; font-size: 10.5px; line-height: 1.6;
}
.pyd-rf-overlay .verify-body.open { display: block; }
.pyd-rf-overlay .verify-steps {
    margin: 0; padding-left: 18px; color: #444;
}
.pyd-rf-overlay .verify-steps li { margin-bottom: 3px; }
.pyd-rf-overlay .verify-steps a { color: #2271b1; text-decoration: none; font-weight: 600; }
.pyd-rf-overlay .verify-steps a:hover { text-decoration: underline; }
.pyd-rf-overlay .verify-steps code {
    background: #e8e8e8; padding: 1px 5px; border-radius: 3px; font-size: 10px;
}

/* PDF syntax coloring */
.pyd-rf-overlay .pdf-keyword { color: #d73a49; font-weight: 600; }
.pyd-rf-overlay .pdf-name { color: #6f42c1; }
.pyd-rf-overlay .pdf-string { color: #22863a; }
.pyd-rf-overlay .pdf-number { color: #005cc5; }
.pyd-rf-overlay .pdf-comment { color: #6a737d; font-style: italic; }
.pyd-rf-overlay .pdf-hex { color: #b36200; }
.pyd-rf-overlay .pdf-label { color: #24292e; font-weight: 600; }

/* ASN.1 syntax coloring (v0.3.25) */
.pyd-rf-overlay .asn1-type { color: #d73a49; font-weight: 600; }
.pyd-rf-overlay .asn1-tag { color: #6f42c1; font-weight: 600; }
.pyd-rf-overlay .asn1-pos { color: #bbb; }
.pyd-rf-overlay .asn1-marker { color: #6a737d; font-style: italic; }
.pyd-rf-overlay .asn1-count { color: #6a737d; }
.pyd-rf-overlay .asn1-oid { color: #005cc5; }
.pyd-rf-overlay .asn1-oid-name { color: #22863a; font-weight: 600; }
.pyd-rf-overlay .asn1-oid-cat { color: #6a737d; font-style: italic; }
.pyd-rf-overlay .asn1-hex { color: #b36200; font-family: inherit; }
.pyd-rf-overlay .asn1-size { color: #999; }
.pyd-rf-overlay .asn1-time { color: #22863a; }
.pyd-rf-overlay .asn1-bool { color: #d73a49; font-weight: 600; }

/* "Ir al código" link */
.pyd-rf-overlay .evidence-goto {
    display: inline-block; font-size: 10px; color: #2271b1;
    cursor: pointer; margin-top: 3px; font-weight: 600;
}
.pyd-rf-overlay .evidence-goto:hover { text-decoration: underline; }

/* ══════════════════════════════════════════════
   REPORT NOTES
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .report-notes {
    font-size: 10px; color: #aaa; text-align: center;
    padding: 10px 16px 0; margin-top: 12px;
    border-top: 1px solid #f0f0f1; line-height: 1.7;
}
.pyd-rf-overlay .report-notes p { margin: 0 0 4px; font-size: 10px; }
.pyd-rf-overlay .report-notes a { color: #2271b1; text-decoration: none; }
.pyd-rf-overlay .report-notes a:hover { text-decoration: underline; }

/* ══════════════════════════════════════════════
   STANDARD REF
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .standard-ref {
    font-size: 10px; color: #aaa; text-align: center;
    padding-top: 10px; margin-top: 14px;
    border-top: 1px solid #f0f0f1; line-height: 1.7;
}
.pyd-rf-overlay .standard-ref a { color: #2271b1; text-decoration: none; }
.pyd-rf-overlay .standard-ref a:hover { text-decoration: underline; }

/* ══════════════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .btn {
    padding: 7px 16px; border: none; border-radius: 4px;
    cursor: pointer; font-size: 12px; font-weight: 600;
}
.pyd-rf-overlay .btn-secondary { background: #f0f0f1; color: #50575e; border: 1px solid #d0d0d0; }
.pyd-rf-overlay .btn-secondary:hover { background: #e4e4e4; }
.pyd-rf-overlay .btn-primary { background: #2271b1; color: #fff; }
.pyd-rf-overlay .btn-primary:hover { background: #1a5c8e; }

/* ══════════════════════════════════════════════
   SPINNER
   ══════════════════════════════════════════════ */
.pyd-rf-overlay .pyd-rf-spinner {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; padding: 60px 24px; gap: 16px;
}
.pyd-rf-overlay .pyd-rf-spinner-ring {
    width: 40px; height: 40px; border: 3px solid #e5e7eb;
    border-top-color: #2271b1; border-radius: 50%;
    animation: pyd-rf-spin 0.8s linear infinite;
}
@keyframes pyd-rf-spin { to { transform: rotate(360deg); } }
.pyd-rf-overlay .pyd-rf-spinner-text {
    font-size: 13px; color: #666; font-weight: 500;
}

/* ══════════════════════════════════════════════
   EXPORT MODAL (v0.5.8)
   Posición fija en body — encima de cualquier overlay (z 200000)
   ══════════════════════════════════════════════ */
.pyd-export-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.55); z-index: 200000;
    display: flex; align-items: center; justify-content: center;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 13px; color: #1d2327; line-height: 1.5;
}
.pyd-export-modal {
    background: #fff; border-radius: 8px; width: 360px; max-width: 90vw;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
    overflow: hidden;
}
.pyd-export-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 18px; border-bottom: 1px solid #e9ecef;
    font-weight: 600; font-size: 13px;
}
.pyd-export-close {
    background: none; border: none; cursor: pointer; font-size: 18px;
    color: #666; padding: 0 4px; line-height: 1;
}
.pyd-export-close:hover { color: #1d2327; }
.pyd-export-body {
    padding: 16px 18px;
}
.pyd-export-row {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 4px;
}
.pyd-export-label {
    font-size: 11px; font-weight: 600; color: #1d2327; margin-bottom: 6px;
}
.pyd-export-formats {
    display: flex; gap: 16px;
}
.pyd-export-radio {
    display: flex; align-items: center; gap: 5px;
    font-size: 12px; cursor: pointer; color: #1d2327;
}
.pyd-export-radio input { cursor: pointer; accent-color: #2271b1; }
.pyd-export-toggle-row {
    display: flex; align-items: center; justify-content: space-between;
    padding: 5px 0; border-bottom: 1px solid #f3f4f6; font-size: 12px;
}
.pyd-export-toggle-row:last-child { border-bottom: none; }
.pyd-export-modal .config-switch {
    width: 32px; height: 18px; border-radius: 9px; border: none; background: #ccc;
    cursor: pointer; position: relative; transition: background 0.2s; flex-shrink: 0;
    appearance: none; -webkit-appearance: none; padding: 0; display: inline-block;
}
.pyd-export-modal .config-switch::after {
    content: ''; position: absolute; top: 2px; left: 2px;
    width: 14px; height: 14px; border-radius: 50%; background: #fff;
    transition: left 0.2s;
}
.pyd-export-modal .config-switch.on { background: #2271b1; }
.pyd-export-modal .config-switch.on::after { left: 16px; }
.pyd-export-footer {
    display: flex; justify-content: flex-end; gap: 8px;
    padding: 12px 18px; border-top: 1px solid #e9ecef; background: #f8f9fa;
}
.pyd-export-cancel {
    padding: 6px 14px; background: #fff; border: 1px solid #d0d0d0;
    border-radius: 4px; font-size: 12px; cursor: pointer; color: #50575e;
    font-family: inherit;
}
.pyd-export-cancel:hover { background: #f0f0f1; }
.pyd-export-confirm {
    padding: 6px 16px; background: #2271b1; border: none;
    border-radius: 4px; font-size: 12px; font-weight: 600;
    cursor: pointer; color: #fff; font-family: inherit;
}
.pyd-export-confirm:hover { background: #1a5a8e; }
