/* ScamHunter WordPress Plugin Styles */
/* Follows WP theme color scheme via CSS custom properties + prefers-color-scheme */

/* ==================== CSS VARIABLES (theme-adaptive) ==================== */
.scamhunter-container {
    --sh-bg: #fff;
    --sh-text: #222;
    --sh-text-secondary: #555;
    --sh-text-muted: #777;
    --sh-border: #ddd;
    --sh-border-light: #eee;
    --sh-surface: #f8f9fa;
    --sh-surface-alt: #f5f5f5;
    --sh-input-bg: #fff;
    --sh-input-border: #ccc;
    --sh-input-text: #222;
    --sh-input-placeholder: #999;
    --sh-link: inherit;
    --sh-brand: #D2232A;
    --sh-brand-hover: #b31e24;
    --sh-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

/* Dark mode: respect WP theme or OS preference.
   Skip when theme explicitly sets light mode (aft-light-mode). */
@media (prefers-color-scheme: dark) {
    body:not(.aft-light-mode):not([data-theme="light"]) .scamhunter-container {
        --sh-bg: #1e1e1e;
        --sh-text: #e0e0e0;
        --sh-text-secondary: #aaa;
        --sh-text-muted: #888;
        --sh-border: #444;
        --sh-border-light: #333;
        --sh-surface: #2a2a2a;
        --sh-surface-alt: #252525;
        --sh-input-bg: #2a2a2a;
        --sh-input-border: #555;
        --sh-input-text: #e0e0e0;
        --sh-input-placeholder: #777;
        --sh-safe-bg: linear-gradient(135deg, #1a2e1a 0%, #1e331e 100%);
        --sh-safe-border: #2e7d32;
        --sh-suspicious-bg: linear-gradient(135deg, #2e2a1a 0%, #332e1a 100%);
        --sh-suspicious-border: #f9a825;
        --sh-scam-bg: linear-gradient(135deg, #2e1a1a 0%, #331e1e 100%);
        --sh-scam-border: #c62828;
        --sh-card-text: #e0e0e0;
        --sh-card-text-secondary: #aaa;
        --sh-card-text-muted: #888;
        --sh-positive-bg: #1a2e1a;
        --sh-positive-border: #2e7d32;
        --sh-negative-bg: #2e2a1a;
        --sh-negative-border: #f9a825;
        --sh-recommend-bg: #1a2230;
        --sh-recommend-border: #1565c0;
        --sh-recommend-text: #90caf9;
        --sh-recommend-text-body: #bbdefb;
        --sh-meter-track: #333;
    }
}
/* Explicit dark theme class overrides (ChromeNews Pro: aft-dark-mode + generic selectors) */
body.aft-dark-mode .scamhunter-container,
body[data-theme="dark"] .scamhunter-container,
body.dark .scamhunter-container,
body.dark-mode .scamhunter-container,
html.dark .scamhunter-container,
html.dark-mode .scamhunter-container,
html[data-theme="dark"] .scamhunter-container {
    --sh-bg: #1e1e1e;
    --sh-text: #e0e0e0;
    --sh-text-secondary: #aaa;
    --sh-text-muted: #888;
    --sh-border: #444;
    --sh-border-light: #333;
    --sh-surface: #2a2a2a;
    --sh-surface-alt: #252525;
    --sh-input-bg: #2a2a2a;
    --sh-input-border: #555;
    --sh-input-text: #e0e0e0;
    --sh-input-placeholder: #777;
    --sh-safe-bg: linear-gradient(135deg, #1a2e1a 0%, #1e331e 100%);
    --sh-safe-border: #2e7d32;
    --sh-suspicious-bg: linear-gradient(135deg, #2e2a1a 0%, #332e1a 100%);
    --sh-suspicious-border: #f9a825;
    --sh-scam-bg: linear-gradient(135deg, #2e1a1a 0%, #331e1e 100%);
    --sh-scam-border: #c62828;
    --sh-card-text: #e0e0e0;
    --sh-card-text-secondary: #aaa;
    --sh-card-text-muted: #888;
    --sh-positive-bg: #1a2e1a;
    --sh-positive-border: #2e7d32;
    --sh-negative-bg: #2e2a1a;
    --sh-negative-border: #f9a825;
    --sh-recommend-bg: #1a2230;
    --sh-recommend-border: #1565c0;
    --sh-recommend-text: #90caf9;
    --sh-recommend-text-body: #bbdefb;
    --sh-meter-track: #333;
}

/* Explicit light mode: force light variables when theme is set to light
   (overrides OS prefers-color-scheme: dark for users with dark OS + light theme toggle) */
body.aft-light-mode .scamhunter-container,
body[data-theme="light"] .scamhunter-container {
    --sh-bg: #fff;
    --sh-text: #222;
    --sh-text-secondary: #555;
    --sh-text-muted: #777;
    --sh-border: #ddd;
    --sh-border-light: #eee;
    --sh-surface: #f8f9fa;
    --sh-surface-alt: #f5f5f5;
    --sh-input-bg: #fff;
    --sh-input-border: #ccc;
    --sh-input-text: #222;
    --sh-input-placeholder: #999;
    --sh-safe-bg: linear-gradient(135deg, #f0f9f0 0%, #e8f5e9 100%);
    --sh-safe-border: #28a745;
    --sh-suspicious-bg: linear-gradient(135deg, #fffbe6 0%, #fff8e1 100%);
    --sh-suspicious-border: #ffc107;
    --sh-scam-bg: linear-gradient(135deg, #fff5f5 0%, #ffebee 100%);
    --sh-scam-border: #dc3545;
    --sh-card-text: #222;
    --sh-card-text-secondary: #555;
    --sh-card-text-muted: #777;
    --sh-positive-bg: #f0f9f0;
    --sh-positive-border: #c8e6c9;
    --sh-negative-bg: #fff8e1;
    --sh-negative-border: #ffe082;
    --sh-recommend-bg: #e3f2fd;
    --sh-recommend-border: #bbdefb;
    --sh-recommend-text: #0d47a1;
    --sh-recommend-text-body: #1a237e;
    --sh-meter-track: #e9ecef;
}

/* ==================== BASE CONTAINER ==================== */
.scamhunter-container {
    max-width: 1100px;
    margin: 2rem auto;
    padding: 2rem;
    background: var(--sh-bg);
    color: var(--sh-text);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    font-family: var(--sh-font);
    font-size: 16px;
    line-height: 1.6;

    /* Semantic color tokens for verdict/indicator cards (light mode defaults) */
    --sh-safe-bg: linear-gradient(135deg, #f0f9f0 0%, #e8f5e9 100%);
    --sh-safe-border: #28a745;
    --sh-suspicious-bg: linear-gradient(135deg, #fffbe6 0%, #fff8e1 100%);
    --sh-suspicious-border: #ffc107;
    --sh-scam-bg: linear-gradient(135deg, #fff5f5 0%, #ffebee 100%);
    --sh-scam-border: #dc3545;
    --sh-card-text: #222;
    --sh-card-text-secondary: #555;
    --sh-card-text-muted: #777;
    --sh-positive-bg: #f0f9f0;
    --sh-positive-border: #c8e6c9;
    --sh-negative-bg: #fff8e1;
    --sh-negative-border: #ffe082;
    --sh-recommend-bg: #e3f2fd;
    --sh-recommend-border: #bbdefb;
    --sh-recommend-text: #0d47a1;
    --sh-recommend-text-body: #1a237e;
    --sh-meter-track: #e9ecef;
}
/* Ensure detail view inside theme entry-content inherits properly */
.entry-content .scamhunter-container,
.post-content .scamhunter-container,
article .scamhunter-container,
.page .scamhunter-container {
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: var(--sh-text) !important;
}
.scamhunter-container * {
    box-sizing: border-box;
}

/* ==================== INPUT GROUP ==================== */
.scamhunter-input-group {
    display: flex;
    gap: 12px;
    margin-bottom: 1.5rem;
    align-items: stretch;
}

.scamhunter-input {
    flex: 1;
    padding: 0 20px;
    height: 52px;
    font-size: inherit;
    font-family: var(--sh-font);
    border: 2px solid var(--sh-input-border);
    border-radius: 8px;
    transition: all 0.2s;
    color: var(--sh-input-text);
    background: var(--sh-input-bg);
}
.scamhunter-input::placeholder {
    color: var(--sh-input-placeholder);
    opacity: 1;
}

.scamhunter-input:focus {
    outline: none;
    border-color: var(--sh-brand);
    box-shadow: 0 0 0 4px rgba(210, 35, 42, 0.1);
}

/* ==================== BUTTONS ==================== */
.scamhunter-btn {
    padding: 0 32px;
    height: 52px;
    font-size: inherit;
    font-family: var(--sh-font);
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    line-height: 52px;
}

.scamhunter-btn-primary {
    background: var(--sh-brand);
    color: white;
}

.scamhunter-btn-primary:hover {
    background: var(--sh-brand-hover);
    transform: translateY(-2px);
}

/* ==================== RESULTS CARD ==================== */
.scamhunter-results {
    margin-top: 2rem;
    display: none;
}

.scamhunter-verdict {
    padding: 2rem;
    border-radius: 12px;
    margin-bottom: 2rem;
    border-left: 8px solid #666;
    color: var(--sh-card-text);
}

.scamhunter-verdict.safe {
    background: var(--sh-safe-bg);
    border-color: var(--sh-safe-border);
    color: var(--sh-card-text);
}

.scamhunter-verdict.suspicious {
    background: var(--sh-suspicious-bg);
    border-color: var(--sh-suspicious-border);
    color: var(--sh-card-text);
}

.scamhunter-verdict.scam {
    background: var(--sh-scam-bg);
    border-color: var(--sh-scam-border);
    color: var(--sh-card-text);
}

.scamhunter-verdict.unknown {
    background: var(--sh-surface-alt);
    border-color: #757575;
    color: var(--sh-card-text);
}

/* Ensure all text inside verdict cards inherits the card text color */
.scamhunter-verdict,
.scamhunter-verdict p,
.scamhunter-verdict div,
.scamhunter-verdict span,
.scamhunter-verdict li {
    color: var(--sh-card-text);
}
.scamhunter-verdict .scamhunter-summary-text {
    color: var(--sh-card-text) !important;
}

.scamhunter-score {
    font-size: 3rem;
    font-weight: 700;
    margin: 0;
    line-height: 1;
}

.scamhunter-summary {
    line-height: 1.6;
    color: var(--sh-text);
    margin: 1.5rem 0;
}

.scamhunter-indicators {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin: 2rem 0;
}

.scamhunter-indicator-list {
    list-style: none;
    padding: 0;
}

.scamhunter-indicator-list li {
    padding: 12px 0;
    border-bottom: 1px solid var(--sh-border-light);
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.scamhunter-indicator-list li:last-child {
    border-bottom: none;
}

.scamhunter-recommendations {
    background: var(--sh-recommend-bg);
    border: 1px solid var(--sh-recommend-border);
    padding: 1.5rem;
    border-radius: 8px;
    margin-top: 2rem;
}

.scamhunter-recommendations h4 {
    margin-top: 0;
    color: var(--sh-recommend-text);
}

.scamhunter-recommendations ul {
    margin: 1rem 0 0 0;
    padding-left: 1.5rem;
}

.scamhunter-recommendations li {
    margin-bottom: 0.75rem;
    line-height: 1.5;
    color: var(--sh-recommend-text-body);
}

/* ==================== PROGRESS / ERROR ==================== */
.scamhunter-progress {
    display: none;
    text-align: center;
    padding: 3rem 2rem;
    background: var(--sh-surface);
    border-radius: 12px;
    margin: 2rem 0;
    color: var(--sh-text);
}

.scamhunter-spinner {
    width: 48px;
    height: 48px;
    border: 5px solid var(--sh-border);
    border-top: 5px solid var(--sh-brand);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 1rem;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Progress bar */
.scamhunter-progress-bar-container {
    width: 80%;
    max-width: 400px;
    height: 8px;
    background: var(--sh-border);
    border-radius: 4px;
    margin: 1rem auto;
    overflow: hidden;
}

.scamhunter-progress-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--sh-brand), #e74c3c, #f39c12, #2ecc71);
    background-size: 300% 100%;
    border-radius: 4px;
    transition: width 0.5s ease;
    animation: scamhunter-progress-shine 2s linear infinite;
}

@keyframes scamhunter-progress-shine {
    0% { background-position: 0% 50%; }
    100% { background-position: 300% 50%; }
}

.scamhunter-error {
    background: #f8d7da;
    color: #721c24;
    padding: 1rem;
    border-radius: 6px;
    margin: 1rem 0;
    display: none;
}

.scamhunter-login-required {
    background: #fff8e1;
    border: 1px solid #ffe082;
    padding: 16px;
    border-radius: 8px;
    margin: 16px 0;
}

/* ==================== HISTORY TABLE ==================== */
.scamhunter-history-section h3 {
    color: var(--sh-text);
    font-family: var(--sh-font);
}

.scamhunter-history-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1rem;
}

.scamhunter-history-table th,
.scamhunter-history-table td {
    padding: 1rem;
    text-align: left;
    border-bottom: 1px solid var(--sh-border-light);
    font-family: var(--sh-font);
    color: var(--sh-text);
}

/* Last column (details button) centered */
.scamhunter-history-table td:last-child {
    text-align: center;
}

.scamhunter-history-table th {
    background: var(--sh-surface);
    font-weight: 600;
    color: var(--sh-text-secondary);
}

.scamhunter-verdict-badge {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    font-family: var(--sh-font);
}

.scamhunter-verdict-badge.safe { background: #d4edda; color: #155724; }
.scamhunter-verdict-badge.suspicious { background: #fff3cd; color: #856404; }
.scamhunter-verdict-badge.scam { background: #f8d7da; color: #721c24; }

/* ==================== DETAIL LINK (Részletek) - theme-aware ==================== */
.scamhunter-detail-link {
    padding: 6px 14px;
    background: var(--sh-brand);
    color: white !important;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    font-family: var(--sh-font);
    text-decoration: none;
    display: inline-block;
    transition: background 0.2s;
}

.scamhunter-detail-link:hover {
    background: var(--sh-brand-hover);
    text-decoration: none;
    color: white !important;
}

.scamhunter-history-row {
    cursor: pointer;
}

.scamhunter-history-row:hover td {
    background: var(--sh-surface);
}

/* History table links inherit theme link color */
.scamhunter-history-table a:not(.scamhunter-detail-link) {
    color: var(--sh-link);
}

/* ==================== RESPONSIVE ==================== */
@media (max-width: 768px) {
    .scamhunter-container {
        margin: 1rem;
        padding: 1.5rem;
    }
    .scamhunter-input-group {
        flex-direction: column;
    }
    .scamhunter-indicators {
        grid-template-columns: 1fr;
    }
}

/* ==================== SCAN DETAIL VIEW ==================== */

.scamhunter-back-history {
    font-size: 0.9rem;
    color: var(--sh-brand);
    text-decoration: none;
    font-weight: 500;
    font-family: var(--sh-font);
}
.scamhunter-back-history:hover {
    text-decoration: underline;
}

/* --- Verdict card --- */
.scamhunter-verdict-card {
    border-radius: 16px !important;
    padding: 2rem !important;
    margin-bottom: 1.5rem !important;
    border-left: 6px solid #999 !important;
    background: var(--sh-surface) !important;
}
.scamhunter-verdict-card.safe { border-color: var(--sh-safe-border) !important; background: var(--sh-safe-bg) !important; }
.scamhunter-verdict-card.suspicious { border-color: var(--sh-suspicious-border) !important; background: var(--sh-suspicious-bg) !important; }
.scamhunter-verdict-card.scam { border-color: var(--sh-scam-border) !important; background: var(--sh-scam-bg) !important; }

.scamhunter-verdict-card-top {
    display: flex !important;
    align-items: center !important;
    gap: 1.5rem !important;
    flex-wrap: wrap !important;
}

.scamhunter-verdict-icon {
    font-size: 3rem !important;
    line-height: 1 !important;
    flex-shrink: 0;
}

.scamhunter-verdict-card-info {
    flex: 1 !important;
    min-width: 200px;
}

.scamhunter-verdict-label {
    margin: 0 !important;
    font-size: 1.8rem !important;
    font-weight: 800 !important;
    color: var(--sh-card-text) !important;
    font-family: var(--sh-font) !important;
}

.scamhunter-verdict-url {
    margin: 0.25rem 0 0 0 !important;
    font-size: 0.95rem !important;
    color: var(--sh-card-text-secondary) !important;
    word-break: break-all;
}

.scamhunter-verdict-description {
    margin: 1rem 0 0 0 !important;
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
    color: var(--sh-card-text) !important;
}

/* --- Risk meter --- */
.scamhunter-risk-meter {
    min-width: 180px !important;
    text-align: center !important;
    flex-shrink: 0;
}

.scamhunter-risk-meter-bar {
    height: 12px !important;
    background: var(--sh-meter-track) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    margin-bottom: 0.4rem !important;
}

.scamhunter-risk-meter-fill {
    height: 100% !important;
    border-radius: 6px !important;
    transition: width 0.8s ease !important;
}
.scamhunter-risk-meter-fill.safe { background: linear-gradient(90deg, #28a745, #4caf50) !important; }
.scamhunter-risk-meter-fill.suspicious { background: linear-gradient(90deg, #ffc107, #ff9800) !important; }
.scamhunter-risk-meter-fill.scam { background: linear-gradient(90deg, #dc3545, #c62828) !important; }
.scamhunter-risk-meter-fill.unknown { background: #999 !important; }

.scamhunter-risk-meter-label {
    font-size: 0.85rem !important;
    color: var(--sh-card-text-secondary) !important;
}
.scamhunter-risk-meter-label strong {
    font-size: 1.1rem !important;
    color: var(--sh-card-text) !important;
}

/* --- Summary box --- */
.scamhunter-summary-box {
    background: var(--sh-surface);
    padding: 1.5rem;
    border-radius: 12px;
    margin-bottom: 1.5rem;
}
.scamhunter-summary-box h3 {
    margin: 0 0 0.75rem 0;
    color: var(--sh-text);
    font-size: 1.1rem;
    font-family: var(--sh-font);
}
.scamhunter-summary-box p {
    margin: 0;
    line-height: 1.6;
    color: var(--sh-text);
}

/* --- Indicator cards --- */
.scamhunter-indicators-cards {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

.scamhunter-container .scamhunter-indicator-card {
    border-radius: 12px !important;
    padding: 1.25rem 1.5rem !important;
    border: 1px solid var(--sh-border) !important;
}
.scamhunter-container .scamhunter-indicator-card.positive {
    background: var(--sh-positive-bg) !important;
    border-color: var(--sh-positive-border) !important;
}
.scamhunter-container .scamhunter-indicator-card.negative {
    background: var(--sh-negative-bg) !important;
    border-color: var(--sh-negative-border) !important;
}

.scamhunter-indicator-card h4 {
    margin: 0 0 0.75rem 0 !important;
    font-size: 1rem !important;
    color: var(--sh-card-text) !important;
    font-family: var(--sh-font) !important;
}

.scamhunter-indicator-card ul {
    list-style: disc !important;
    padding-left: 1.2rem !important;
    margin: 0 !important;
}

.scamhunter-indicator-card ul li {
    padding: 0.3rem 0 !important;
    border-bottom: 1px solid rgba(128,128,128,0.15) !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    color: var(--sh-text) !important;
}
.scamhunter-indicator-card ul li:last-child { border-bottom: none !important; }
.scamhunter-indicator-card ul li.critical { color: #ef5350 !important; font-weight: 600 !important; }
.scamhunter-indicator-card ul li.high { color: #ff7043 !important; }

/* --- Recommendations --- */
.scamhunter-container .scamhunter-recommendations-card {
    background: var(--sh-recommend-bg) !important;
    border: 1px solid var(--sh-recommend-border) !important;
    border-radius: 12px !important;
    padding: 1.25rem 1.5rem !important;
    margin-bottom: 1.5rem !important;
}
.scamhunter-recommendations-card h4 {
    margin: 0 0 0.75rem 0 !important;
    font-size: 1rem !important;
    color: var(--sh-recommend-text) !important;
    font-family: var(--sh-font) !important;
}
.scamhunter-recommendations-card ul {
    list-style: disc !important;
    padding-left: 1.2rem !important;
    margin: 0 !important;
}
.scamhunter-recommendations-card ul li {
    padding: 0.3rem 0 !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    color: var(--sh-recommend-text-body) !important;
}

/* --- Scan meta (compact bar) --- */
.scamhunter-scan-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 2rem;
    padding: 0.75rem 1.25rem;
    background: var(--sh-surface);
    border-radius: 8px;
    margin-bottom: 1.5rem;
    font-size: 0.85rem;
    color: var(--sh-text-muted);
    font-family: var(--sh-font);
}

/* --- Admin section --- */
.scamhunter-admin-section {
    margin-top: 2rem;
    border-top: 2px solid var(--sh-border-light);
    padding-top: 1rem;
}

.scamhunter-admin-toggle {
    cursor: pointer;
    user-select: none;
    color: var(--sh-text-secondary);
    font-size: 1rem;
    font-weight: 600;
    font-family: var(--sh-font);
    margin: 0 0 0.5rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.scamhunter-admin-toggle:hover { color: var(--sh-brand); }

.scamhunter-toggle-arrow { font-size: 0.8rem; transition: transform 0.2s; }
.scamhunter-admin-details.open .scamhunter-toggle-arrow,
.scamhunter-admin-details:target .scamhunter-toggle-arrow { transform: rotate(90deg); }

.scamhunter-admin-details {
    display: none !important;
    margin-top: 1rem !important;
}
.scamhunter-admin-details.open { display: block !important; }

.scamhunter-detector-full-details {
    background: var(--sh-surface);
    padding: 12px;
    border-radius: 6px;
    margin: 5px 0;
    color: var(--sh-text);
}
.scamhunter-detector-full-details h4,
.scamhunter-detector-full-details li,
.scamhunter-detector-full-details p,
.scamhunter-detector-full-details span {
    color: var(--sh-text);
}

.scamhunter-json-pre {
    background: var(--sh-surface-alt);
    padding: 8px;
    max-height: 200px;
    overflow: auto;
    font-size: 11px;
    border-radius: 4px;
    word-break: break-all;
    white-space: pre-wrap;
    color: var(--sh-text);
}

.scamhunter-token-info {
    font-size: 0.8rem;
    color: var(--sh-text-muted);
    margin: 0.5rem 0;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .scamhunter-verdict-card-top { flex-direction: column; align-items: flex-start; }
    .scamhunter-risk-meter { width: 100%; }
    .scamhunter-indicators-cards { grid-template-columns: 1fr; }
    .scamhunter-plugin-table { font-size: 0.8rem; }
    .scamhunter-plugin-table th:nth-child(6),
    .scamhunter-plugin-table td:nth-child(6) { display: none; }
}

/* ==================== PLUGIN TABLE (admin technical details) ==================== */
.scamhunter-plugin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    font-family: var(--sh-font);
    table-layout: fixed;
}

.scamhunter-plugin-table th,
.scamhunter-plugin-table td {
    padding: 0.75rem 0.5rem;
    text-align: left;
    border-bottom: 1px solid var(--sh-border-light);
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    color: var(--sh-text);
}
/* Column widths for fixed layout */
.scamhunter-plugin-table th:nth-child(1),
.scamhunter-plugin-table td:nth-child(1) { width: 30px; }
.scamhunter-plugin-table th:nth-child(2),
.scamhunter-plugin-table td:nth-child(2) { width: 15%; }
.scamhunter-plugin-table th:nth-child(3),
.scamhunter-plugin-table td:nth-child(3) { width: 8%; }
.scamhunter-plugin-table th:nth-child(4),
.scamhunter-plugin-table td:nth-child(4) { width: 8%; }
.scamhunter-plugin-table th:nth-child(5),
.scamhunter-plugin-table td:nth-child(5) { width: 8%; }
.scamhunter-plugin-table th:nth-child(6),
.scamhunter-plugin-table td:nth-child(6) { width: 6%; }
.scamhunter-plugin-table th:nth-child(7),
.scamhunter-plugin-table td:nth-child(7) { width: auto; }
.scamhunter-plugin-table th:nth-child(8),
.scamhunter-plugin-table td:nth-child(8) { width: 55px; }

.scamhunter-plugin-table th {
    background: var(--sh-surface);
    font-weight: 600;
    color: var(--sh-text-secondary);
}

.scamhunter-plugin-status {
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 600;
    font-family: var(--sh-font);
}

.scamhunter-plugin-status.safe { background: #d4edda; color: #155724; }
.scamhunter-plugin-status.suspicious { background: #fff3cd; color: #856404; }
.scamhunter-plugin-status.scam { background: #f8d7da; color: #721c24; }
.scamhunter-plugin-status.skipped { background: #e2e3e5; color: #383d41; }
.scamhunter-plugin-status.failed { background: #f8d7da; color: #721c24; }
.scamhunter-plugin-status.na { background: #e2e3e5; color: #6c757d; font-style: italic; }

/* Detector findings list in detail table */
.scamhunter-findings-list {
    list-style: disc;
    padding-left: 1.2rem;
    margin: 0;
    max-width: 100%;
}

.scamhunter-findings-list li {
    padding: 2px 0;
    font-size: 0.82rem;
    line-height: 1.4;
    border-bottom: none !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    color: var(--sh-text) !important;
}

.scamhunter-error-text {
    color: #ef5350;
    font-size: 0.85rem;
    font-style: italic;
}

.scamhunter-plugin-status.completed { background: #d4edda; color: #155724; }

/* Toggle details button (detector expand/collapse arrow) */
button.scamhunter-toggle-details,
.scamhunter-container button.scamhunter-toggle-details,
.scamhunter-plugin-table button.scamhunter-toggle-details {
    background: none !important;
    border: none !important;
    cursor: pointer;
    font-size: 14px !important;
    color: var(--sh-brand) !important;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background 0.2s;
    line-height: 1;
    -webkit-appearance: none;
    appearance: none;
}
button.scamhunter-toggle-details:hover,
.scamhunter-container button.scamhunter-toggle-details:hover {
    background: rgba(210, 35, 42, 0.08) !important;
    color: var(--sh-brand-hover) !important;
}

/* Ensure all plugin table text inherits properly */
.scamhunter-plugin-table td,
.scamhunter-plugin-table th {
    color: var(--sh-text);
}
.scamhunter-plugin-table td strong {
    color: var(--sh-text);
}

/* ==================== FEEDBACK SECTION ==================== */
.scamhunter-feedback-section {
    background: var(--sh-surface);
    border: 1px solid var(--sh-border-light);
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.scamhunter-feedback-prompt {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.scamhunter-feedback-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--sh-text);
    font-family: var(--sh-font);
}

.scamhunter-feedback-buttons {
    display: flex;
    gap: 8px;
}

.scamhunter-feedback-btn {
    background: var(--sh-surface-alt) !important;
    border: 2px solid var(--sh-border) !important;
    border-radius: 50% !important;
    width: 48px !important;
    height: 48px !important;
    font-size: 1.4rem !important;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    line-height: 1 !important;
    -webkit-appearance: none;
    appearance: none;
}

.scamhunter-feedback-btn:hover {
    transform: scale(1.15);
    border-color: var(--sh-brand) !important;
}

.scamhunter-feedback-btn.active {
    border-color: var(--sh-brand) !important;
    background: rgba(210, 35, 42, 0.1) !important;
    transform: scale(1.15);
}

.scamhunter-feedback-idea-btn {
    border-radius: 50% !important;
}

.scamhunter-feedback-form {
    margin-top: 1rem;
    text-align: left;
}

.scamhunter-feedback-comment {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--sh-input-border);
    border-radius: 8px;
    font-family: var(--sh-font);
    font-size: 0.9rem;
    color: var(--sh-input-text);
    background: var(--sh-input-bg);
    resize: vertical;
    min-height: 80px;
}

.scamhunter-feedback-comment:focus {
    outline: none;
    border-color: var(--sh-brand);
    box-shadow: 0 0 0 3px rgba(210, 35, 42, 0.1);
}

.scamhunter-feedback-form-actions {
    display: flex;
    gap: 10px;
    margin-top: 0.75rem;
    justify-content: flex-end;
}

.scamhunter-feedback-form-actions .scamhunter-btn {
    padding: 0 24px;
    height: 40px;
    font-size: 0.9rem;
    line-height: 40px;
}

.scamhunter-feedback-cancel {
    background: none !important;
    border: 1px solid var(--sh-border) !important;
    border-radius: 8px;
    padding: 0 18px;
    height: 40px;
    font-size: 0.9rem;
    font-family: var(--sh-font);
    color: var(--sh-text-secondary) !important;
    cursor: pointer;
    transition: all 0.2s;
    -webkit-appearance: none;
    appearance: none;
}

.scamhunter-feedback-cancel:hover {
    background: var(--sh-surface-alt) !important;
    color: var(--sh-text) !important;
}

.scamhunter-feedback-thanks {
    font-size: 1rem;
    font-weight: 600;
    color: var(--sh-text);
    padding: 0.5rem;
}

.scamhunter-feedback-comment::placeholder {
    color: var(--sh-input-placeholder);
    opacity: 1;
}

/* ==================== HISTORY PAGINATION ==================== */
.scamhunter-history-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 1.5rem 0;
    font-size: 0.95rem;
    font-family: var(--sh-font);
}

.scamhunter-page-btn {
    padding: 8px 18px;
    background: var(--sh-brand);
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 600;
    font-family: var(--sh-font);
    transition: background 0.2s;
}

.scamhunter-page-btn:hover {
    background: var(--sh-brand-hover);
}

.scamhunter-page-info {
    font-weight: 600;
    color: var(--sh-text);
    font-family: var(--sh-font);
}
