/* WPAuditor admin layouts and page styles */

/* Admin menu */
#toplevel_page_wpauditor-dashboard .wp-menu-image img,
#toplevel_page_wpauditor .wp-menu-image img {
    width: 22px !important;
    height: 22px !important;
    display: inline-block;
    vertical-align: middle;
    image-rendering: -webkit-optimize-contrast;
}

#toplevel_page_wpauditor-dashboard .wp-submenu .wpa-group > .wpa-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 7px 10px;
    color: #c3c4c7;
    font-weight: 600;
    text-decoration: none;
    opacity: .95;
}

#toplevel_page_wpauditor-dashboard .wp-submenu .wpa-toggle:hover {
    color: #fff;
}

#toplevel_page_wpauditor-dashboard .wp-submenu .wpa-caret {
    margin-left: 8px;
    transform: rotate(0deg);
    transition: transform .15s ease-in-out;
}

#toplevel_page_wpauditor-dashboard .wp-submenu .wpa-group.open .wpa-caret {
    transform: rotate(90deg);
}

#toplevel_page_wpauditor-dashboard .wp-submenu .wpa-sublist {
    display: none;
    margin: 6px 0 8px 8px;
}

#toplevel_page_wpauditor-dashboard .wp-submenu .wpa-group.open .wpa-sublist {
    display: block;
}

#toplevel_page_wpauditor-dashboard .wp-submenu .wpa-sublist li a {
    padding-left: 24px;
}

/* Loader */
.wpauditor-loader {
    padding: 40px 20px;
    text-align: center;
}

.wpauditor-spinner {
    width: 50px;
    height: 50px;
    display: inline-block;
    border: 6px solid #ddd;
    border-top-color: #0073aa;
    border-radius: 50%;
    animation: wpauditor-spin 1s linear infinite;
}

.wpauditor-spinner.wpauditor-spinner-has-progress {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    animation: none;
}

.wpauditor-spinner.wpauditor-spinner-has-progress::before {
    position: absolute;
    inset: 0;
    border: 6px solid #ddd;
    border-top-color: #0073aa;
    border-radius: 50%;
    animation: wpauditor-spin 1s linear infinite;
    content: "";
}

.wpauditor-spinner-progress {
    position: relative;
    z-index: 1;
    color: #1d2327;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.wpauditor-loader-message {
    margin-top: 10px;
}

.wpa-loader-fallback {
    padding: 20px;
    font-size: 14px;
}

@keyframes wpauditor-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Shared utilities */
.wpa-m-0 {
    margin: 0;
}

.wpa-copy {
    cursor: pointer;
}

.wpa-filter-bar {
    margin-bottom: 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.wpa-admin-note {
    margin-top: .5rem;
}

.wpa-admin-note-lg {
    margin-top: .6rem;
}

.wpa-admin-note p {
    margin: 0;
}

.wpa-admin-note-lg p {
    margin: 0;
}

.wpa-mt-10 {
    margin-top: 10px;
}

.wpa-mt-12 {
    margin-top: 12px;
}

.wpa-mt-14 {
    margin-top: 14px;
}

.wpa-mt-16 {
    margin-top: 16px;
}

.wpa-mt-20 {
    margin-top: 20px;
}

.wpa-mt-8 {
    margin-top: 8px;
}

.wpa-mt-6 {
    margin-top: 6px;
}

.wpa-mt-2 {
    margin-top: 2px;
}

.wpa-mr-8 {
    margin-right: 8px;
}

.wpa-mb-0 {
    margin-bottom: 0;
}

.wpa-my-10-18 {
    margin: 10px 0 18px;
}

.wpa-ml-8 {
    margin-left: 8px;
}

.wpa-hidden {
    display: none;
}

.wpa-flex-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.wpa-flex-wide {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.wpa-inline-actions {
    display: inline;
    margin: 0;
}

.wpa-form-column {
    flex: 1;
    min-width: 320px;
    margin: 0;
}

.wpa-box {
    max-width: 900px;
    padding: 16px;
}

.wpa-box-wide {
    max-width: 950px;
    padding: 16px;
}

.wpa-table-narrow {
    max-width: 700px;
}

.wpa-input-wide {
    width: 360px;
}

.wpa-input-model {
    width: 260px;
}

.wpa-input-small {
    width: 100px;
}

.wpa-input-days {
    width: 80px;
}

.wpa-input-ip {
    width: 260px;
}

.wpa-select-medium {
    min-width: 140px;
}

.wpa-search-input {
    min-width: 240px;
}

.wpa-error-text {
    color: red;
}

.wpa-dim {
    opacity: .7;
}

.wpa-expanded-details {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.wpa-expanded-detail {
    min-width: 260px;
    max-width: 100%;
}

.wpa-ai-explain-btn {
    margin-right: 6px;
}

.wpa-block-form {
    display: inline;
    margin-right: 6px;
}

.wpa-ip-action-form {
    display: inline;
    margin-left: 8px;
}

.wpa-form-mb {
    margin-bottom: 16px;
}

.wpa-form-tight {
    margin: 0 0 14px;
}

.wpa-form-compact {
    margin: 0 0 8px;
}

.wpa-license-label {
    margin-left: 8px;
}

.wpa-license-cell {
    max-width: 680px;
}

.wpa-login-icon {
    margin-right: 10px;
}

.wpa-ipbl-intro {
    max-width: 760px;
}

.wpa-scanner-table {
    table-layout: fixed;
    font-size: 13px;
}

.wpa-col-select {
    width: 30px;
}

.wpa-col-select-narrow {
    width: 28px;
}

.wpa-col-type {
    width: 80px;
}

.wpa-col-permissions,
.wpa-col-status {
    width: 100px;
}

.wpa-col-severity {
    width: 90px;
}

.wpa-col-modified {
    width: 140px;
}

.wpa-col-recency {
    width: 150px;
}

.wpa-col-signals {
    width: 240px;
}

.wpa-col-signal-count {
    width: 160px;
}

.wpa-col-time {
    width: 160px;
}

.wpa-col-event {
    width: 220px;
}

.wpa-col-severity-wide {
    width: 120px;
}

.wpa-file-path {
    word-break: break-all;
}

.wpa-break-word {
    word-break: break-word;
}

.wpa-page-current {
    color: #2271b1;
    font-weight: bold;
}

.wpa-badge-pill {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 12px;
}

.wpa-signal-count-badge {
    background: #f1f1f1;
    color: #111;
}

.wpa-text-danger {
    color: #cc0000;
}

.wpa-permission-risk {
    color: red;
}

.wpa-muted {
    opacity: .8;
}

.wpa-help-text {
    margin-top: 8px;
    color: #6c7781;
}

.wpa-search-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 0 16px;
}

.wpa-inline-form {
    display: inline;
}

.wpa-progress-wrap {
    max-width: 640px;
}

.wpa-progress-inner {
    margin: 10px 0;
}

.wpa-progress-label,
.wpa-progress-percent {
    font-weight: 600;
}

.wpa-progress-label {
    margin-bottom: 6px;
}

.wpa-progress-track {
    height: 16px;
    border-radius: 4px;
    background: #eee;
    overflow: hidden;
}

.wpa-progress-bar {
    width: 0%;
    height: 16px;
    background: #2271b1;
    transition: width .4s;
}

.wpa-progress-percent,
.wpa-progress-note {
    margin-top: 6px;
}

.wpa-progress-note {
    color: #666;
}

.wpa-download-box {
    margin-top: 8px;
}

.wpa-copy-width {
    max-width: 900px;
}

.wpa-panel {
    padding: 20px;
}

.wpa-console-box {
    max-width: 1000px;
    padding: 0;
}

.wpa-console-head {
    padding: 12px;
    border-bottom: 1px solid #e5e5e5;
}

.wpa-console-body {
    min-height: 420px;
    max-height: 420px;
    padding: 12px;
    overflow: auto;
}

.wpa-geo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    padding: 2px 8px;
    border: 1px solid #d0d7de;
    border-radius: 999px;
    background: #fff;
    font-size: 11px;
    overflow: hidden;
}

.wpa-geo img {
    width: 16px;
    height: 12px;
    display: block;
    border-radius: 2px;
}

.wpa-geo .wpa-country {
    max-width: 160px;
    opacity: .75;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wpa-mono {
    font-family: monospace;
}

.wpa-subtle {
    color: #666;
}

/* AI Analyst */
.wpa-ai-grid {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin: 16px 0;
}

.wpa-ai-card {
    flex: 1 1 320px;
    padding: 16px;
    border: 1px solid #dcdcde;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .03);
}

.wpa-ai-history-card {
    max-width: 1100px;
}

.wpa-ai-history-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.wpa-ai-title {
    margin: 0 0 8px;
    font-weight: 600;
}

.wpa-ai-subtle {
    color: #646970;
}

.wpa-ai-result,
.wpa-ai-inline-result,
.wpa-ai-log-result,
.wpa-ai-session-result {
    white-space: pre-wrap;
    border: 1px solid #e2e4e7;
    border-radius: 8px;
    background: #f6f7f7;
}

.wpa-ai-result {
    min-height: 120px;
    padding: 12px;
}

.wpa-ai-inline-result {
    min-height: 72px;
    padding: 10px;
}

.wpa-ai-log-result,
.wpa-ai-session-result {
    margin-top: 12px;
    padding: 10px;
}

.wpa-ai-markdown-rendered {
    white-space: normal;
}

.wpa-ai-markdown-rendered > :first-child {
    margin-top: 0;
}

.wpa-ai-markdown-rendered > :last-child {
    margin-bottom: 0;
}

.wpa-ai-markdown-rendered h2,
.wpa-ai-markdown-rendered h3,
.wpa-ai-markdown-rendered h4,
.wpa-ai-markdown-rendered h5 {
    margin: 16px 0 6px;
    color: inherit;
    font-size: 14px;
    line-height: 1.4;
}

.wpa-ai-markdown-rendered p,
.wpa-ai-markdown-rendered ul,
.wpa-ai-markdown-rendered ol,
.wpa-ai-markdown-rendered blockquote {
    margin: 0 0 10px;
}

.wpa-ai-markdown-rendered ul,
.wpa-ai-markdown-rendered ol {
    padding-left: 24px;
}

.wpa-ai-markdown-rendered code {
    padding: 1px 4px;
    border-radius: 3px;
    background: rgba(0, 0, 0, 0.08);
    color: inherit;
}

.wpa-ai-history-item {
    padding: 10px 0;
    border-top: 1px solid #eee;
}

.wpa-ai-history-item:first-child {
    padding-top: 0;
    border-top: none;
}

/* Active Defense */
.wpa-advanced-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 12px 0;
}

.wpa-advanced-panel {
    padding: 12px;
    border: 1px solid #e1e1e1;
    border-radius: 4px;
    background: #fff;
}

.wpa-advanced-panel.collapsed {
    display: none;
}

.wpa-advanced-button {
    padding: 6px 10px;
    border: 1px solid #ddd;
    border-radius: 3px;
    background: #f1f1f1;
    cursor: pointer;
}

.wpa-advanced-hint {
    margin-left: 8px;
    color: #666;
    font-size: 12px;
}

.wpa-preset-wrap {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.wpa-preset-preview {
    margin-top: 6px;
    color: #444;
    font-size: 12px;
}

.wpa-preset-note {
    margin-top: 4px;
    color: #666;
    font-size: 12px;
}

/* IP Blocklist KPI cards */
.wpa-kpis {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 14px 0 18px;
}

.wpa-kpi {
    min-width: 180px;
    padding: 12px 14px;
    border: 1px solid #dcdcde;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .03);
}

.wpa-kpi .label {
    margin-bottom: 4px;
    color: #646970;
    font-size: 12px;
}

.wpa-kpi .value {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}

.wpa-kpi .sub {
    margin-top: 4px;
    color: #646970;
    font-size: 12px;
}

/* Quarantine Manager */
#wpa-qtable {
    width: 100%;
    table-layout: fixed;
}

#wpa-qtable code {
    position: relative;
}

#wpa-qtable th,
#wpa-qtable td {
    vertical-align: top;
    word-break: break-word;
}

body.wpauditor-admin-page .wpa-admin-shell.wpa-quarantine-page #wpa-qtable > tbody > tr {
    background: #252525;
}

body.wpauditor-admin-page .wpa-admin-shell.wpa-quarantine-page #wpa-qtable > tbody > tr:hover {
    background: #252525;
}

/* SIEM dashboard */
.wpa-kpi-grid {
    display: flex;
    align-items: stretch;
    gap: 20px;
    flex-wrap: wrap;
    margin: 10px 0 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-weight: 400;
}

.wpa-kpi-card {
    box-sizing: border-box;
    flex: 1 1 300px;
    min-width: 0;
    max-width: 100%;
    padding: 16px 18px;
    border: 1px solid #e3e3e3;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .03);
}

.wpa-kpi-title {
    margin-bottom: 10px;
    color: #444;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.wpa-kpi-total {
    margin-top: 4px;
    color: #222;
    font-size: 28px;
    font-weight: 400;
}

.wpa-kpi-card-hero {
    position: relative;
    display: flex;
    flex: 0 1 320px;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 18px 16px 20px;
    border: 1px solid #e2e8f0;
    border-top: none;
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
}

.wpa-kpi-subtle {
    margin: 0;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.4;
}

.wpa-ip-kpi-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 4px;
}

.wpa-kpi-card-ip {
    flex: 1 1 440px;
}

.wpa-ip-kpi-stat {
    min-width: 0;
    padding-right: 16px;
}

.wpa-ip-kpi-stat + .wpa-ip-kpi-stat {
    padding-right: 0;
    padding-left: 16px;
    border-left: 1px solid #dcdcde;
}

.wpa-ip-kpi-repeat {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 14px;
    align-items: center;
    margin-top: 14px;
    padding: 14px 0 0;
    border-top: 1px solid #dcdcde;
    border-left: none !important;
}

.wpa-ip-kpi-repeat .wpa-kpi-total {
    grid-row: 1 / 3;
    margin: 0;
}

.wpa-ip-kpi-label {
    margin: 3px 0 2px;
    color: #1d2327;
    font-size: 12px;
    font-weight: 400;
}

.wpa-kpi-list {
    color: #222;
    font-size: 13px;
}

.wpa-kpi-minihead {
    margin: 12px 0 8px;
    color: #6b7280;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.wpa-status-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 12px;
}

.wpa-status-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 0;
    border-top: 1px solid #e2e4e7;
}

.wpa-status-row:first-child {
    padding-top: 0;
    border-top: none;
}

.wpa-status-row:last-child {
    padding-bottom: 0;
}

.wpa-status-label {
    color: #1d2327;
    font-weight: 400;
}

.wpa-status-state {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #50575e;
    white-space: nowrap;
}

.wpa-ipintel-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}

.wpa-ipintel-row {
    padding: 8px 10px;
    border: 1px solid #e2e4e7;
    border-radius: 6px;
    background: #fff;
}

.wpa-ipintel-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.wpa-ipintel-main {
    min-width: 0;
}

.wpa-ipintel-ip {
    display: block;
    color: #1d2327;
    font-family: inherit;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.25;
    word-break: break-all;
}

.wpa-ipintel-count {
    color: #1d2327;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.1;
    white-space: nowrap;
}

.wpa-ipintel-geo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    margin-top: 6px;
    color: #50575e;
    font-size: 11px;
}

.wpa-ipintel-geo img {
    width: 16px;
    height: 12px;
    display: block;
    flex: 0 0 auto;
    border-radius: 2px;
}

.wpa-ipintel-bar {
    height: 4px;
    margin-top: 8px;
    border-radius: 999px;
    background: #e2e4e7;
    overflow: hidden;
}

.wpa-ipintel-bar span {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--wp-admin-theme-color, #2271b1);
    opacity: .32;
}

.wpa-kpi-card-hot {
    flex: 1 1 560px;
    max-width: 760px;
    padding: 14px 16px 16px;
}

.wpa-kpi-card-hot .wpa-kpi-title {
    margin-bottom: 10px;
    font-size: 12px;
}

.wpa-hot-chart-wrap {
    position: relative;
    width: 100%;
    min-width: 0;
    height: 320px;
    margin-top: 4px;
}

.wpa-severity-chart-wrap {
    position: relative;
    width: 100%;
    max-width: 250px;
    height: 250px;
    margin: 6px auto;
}

.wpa-kpi-card-risk {
    flex: 1 1 680px;
}

.wpa-kpi-card-targets {
    flex: 1 1 500px;
}

.wpa-targeted-endpoints-wrap {
    position: relative;
    height: 260px;
    margin-top: 12px;
}

.wpa-risk-matrix-wrap {
    position: relative;
    height: 320px;
    margin-top: 12px;
}

.wpa-ai-fab {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9998;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 16px;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, #1d4ed8, #2271b1);
    box-shadow: 0 12px 30px rgba(17, 24, 39, .18);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.wpa-ai-fab:hover,
.wpa-ai-fab:focus {
    background: linear-gradient(135deg, #1e40af, #135e96);
    color: #fff;
}

.wpa-ai-fab:focus {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.wpa-ai-fab-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.wpa-ai-report-panel {
    position: fixed;
    right: 24px;
    bottom: 82px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    width: min(420px, calc(100vw - 32px));
    max-height: min(70vh, 720px);
    border: 1px solid #dcdcde;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(17, 24, 39, .22);
    overflow: hidden;
}

.wpa-ai-report-panel[hidden] {
    display: none;
}

.wpa-ai-report-body {
    min-height: 0;
    flex: 1 1 auto;
    padding: 16px;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--wpa-soc-border) var(--wpa-soc-surface);
}

.wpa-ai-report-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex: 0 0 auto;
    padding: 12px 16px;
    border-top: 1px solid var(--wpa-soc-border-soft);
    background: var(--wpa-soc-surface-raised);
}

.wpa-ai-report-footer[hidden] {
    display: none;
}

.wpa-ai-report-loading {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.wpa-ai-report-spinner {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    border: 2px solid rgba(121, 191, 255, .28);
    border-top-color: var(--wpa-soc-blue, var(--wpa-admin-blue, #79bfff));
    border-radius: 50%;
    animation: wpauditor-spin .8s linear infinite;
}

.wpa-ai-report-meta {
    margin: 0;
    color: var(--wpa-soc-muted);
    font-size: 11px;
}

.wpa-ai-report-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: 0 0 0 auto;
}

@media (prefers-reduced-motion: reduce) {
    .wpa-ai-report-spinner {
        animation: none;
    }
}

.wpa-ai-report-body::-webkit-scrollbar {
    width: 8px;
}

.wpa-ai-report-body::-webkit-scrollbar-track {
    background: var(--wpa-soc-surface);
}

.wpa-ai-report-body::-webkit-scrollbar-thumb {
    min-height: 36px;
    border: 2px solid var(--wpa-soc-surface);
    border-radius: 999px;
    background: var(--wpa-soc-border);
}

.wpa-ai-report-body::-webkit-scrollbar-thumb:hover {
    background: var(--wpa-soc-blue);
}

.wpa-chart-card {
    padding: 14px 16px;
    margin: 18px 0 26px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
}

.wpa-chart-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.wpa-chart-title {
    color: #111827;
    font-weight: 650;
}

.wpa-chart-sub {
    color: #6b7280;
    font-size: 12px;
}

.wpa-chart-wrap {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: 320px;
    overflow: hidden;
}

.wpa-chart-wrap canvas {
    width: 100% !important;
    height: auto;
    display: block;
}

.wpa-chart-controls,
.wpa-chart-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.wpa-chart-controls label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    color: #374151;
    font-size: 12px;
}

.wpa-chart-controls select {
    min-height: 28px;
}

.wpa-chart-hint {
    margin-top: 6px;
    color: #6b7280;
    font-size: 12px;
}

.wpa-chart-toolbar {
    margin: 8px 0 10px;
}

.wpa-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #374151;
    font-size: 12px;
    user-select: none;
}

.wpa-toggle.is-disabled {
    opacity: .55;
    cursor: not-allowed;
}

.wpa-switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 22px;
    vertical-align: middle;
}

.wpa-switch input {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
}

.wpa-slider {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #d1d5db;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06);
    transition: all .18s ease;
}

.wpa-slider:before {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .18);
    transition: all .18s ease;
}

.wpa-switch input:checked + .wpa-slider {
    background: #2271b1;
}

.wpa-switch input:checked + .wpa-slider:before {
    transform: translateX(18px);
}

.wpa-switch input:focus + .wpa-slider {
    box-shadow: 0 0 0 2px rgba(34, 113, 177, .25), inset 0 0 0 1px rgba(0, 0, 0, .06);
}

.wpa-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border: 1px solid #ddd;
    border-radius: 16px;
    background: #f8f9fa;
    color: #111827;
    font-size: 12px;
    line-height: 1.2;
    text-decoration: none;
}

.wpa-chip:hover {
    border-color: #cfd6de;
    background: #eef2f7;
}

.wpa-chip .dot {
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 50%;
}

.wpa-chart-toolbar .wpa-chip {
    cursor: pointer;
}

.wpa-chip-active {
    border-color: #2271b1;
    background: #e7f1fa;
    box-shadow: 0 0 0 2px #2271b1 inset;
}

.wpa-page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin: 0 0 18px;
}

.wpa-page-head .wpa-page-title {
    margin: 0;
}

.wpa-mood-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    max-width: 100%;
}

.wpa-mood-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0;
}

.wpa-mood-label {
    color: #50575e;
    font-size: 12px;
    font-weight: 600;
}

.wpa-mood-form {
    margin: 0;
}

.wpa-mood-switch {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid #d0d7de;
    border-radius: 999px;
    background: #fff;
    box-shadow: inset 0 1px 1px rgba(15, 23, 42, .04);
}

.wpa-mood-option {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.wpa-mood-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.wpa-mood-option-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    color: #50575e;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.wpa-mood-option input:checked + .wpa-mood-option-text {
    background: #3858e9;
    color: #fff;
    box-shadow: 0 1px 2px rgba(56, 88, 233, .24);
}

.wpa-mood-option input:focus-visible + .wpa-mood-option-text {
    outline: 2px solid rgba(56, 88, 233, .28);
    outline-offset: 2px;
}

.wpa-mood-option:hover .wpa-mood-option-text {
    color: #1d2327;
}

.wpa-mood-note {
    margin: 0;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.35;
}

.wpa-summary-panels {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin: 20px 0;
}

.wpa-summary-panel {
    min-width: 150px;
    padding: 10px 15px;
    border-left: 5px solid var(--wp-admin-theme-color, #2271b1);
    border-radius: 4px;
    background: #f6f7f7;
    color: #1d2327;
}

.wpa-summary-panel-count {
    color: inherit;
    font-size: 20px;
    line-height: 1.2;
}

.wpa-summary-panel-label {
    color: #50575e;
}

/* Dark SOC dashboard */
.wpa-soc-dashboard {
    --wpa-soc-bg: #07101d;
    --wpa-soc-surface: #0d1828;
    --wpa-soc-surface-raised: #111f32;
    --wpa-soc-surface-soft: #14243a;
    --wpa-soc-border: #253650;
    --wpa-soc-border-soft: rgba(148, 163, 184, .16);
    --wpa-soc-text: #e7eef8;
    --wpa-soc-muted: #91a3bb;
    --wpa-soc-blue: #60a5fa;
    --wpa-soc-cyan: #22d3ee;
    --wpa-soc-red: #fb7185;
    --wpa-soc-orange: #fb923c;
    --wpa-soc-green: #4ade80;
    box-sizing: border-box;
    width: calc(100% + 20px);
    min-height: calc(100vh - 32px);
    margin: 0 0 -65px -20px;
    padding: 24px 24px 72px;
    color: var(--wpa-soc-text);
    background:
        radial-gradient(circle at 18% 0%, rgba(37, 99, 235, .16), transparent 34%),
        radial-gradient(circle at 92% 12%, rgba(8, 145, 178, .11), transparent 28%),
        var(--wpa-soc-bg);
}

.wpa-soc-dashboard,
.wpa-soc-dashboard .wpa-kpi-grid {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.wpa-soc-dashboard a {
    color: #7dd3fc;
}

.wpa-soc-dashboard a:hover,
.wpa-soc-dashboard a:focus {
    color: #bae6fd;
}

.wpa-soc-dashboard .notice {
    color: #1d2327;
}

.wpa-soc-dashboard .wpa-page-head {
    align-items: flex-end;
    margin: 0 0 14px;
    padding: 0 0 20px;
    border-bottom: 1px solid var(--wpa-soc-border-soft);
}

.wpa-page-heading-copy {
    min-width: 0;
}

.wpa-soc-dashboard .wpa-page-eyebrow {
    display: block;
    margin-bottom: 6px;
    color: var(--wpa-soc-cyan);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.wpa-soc-dashboard .wpa-page-title {
    color: #f8fafc;
    font-size: 28px;
    font-weight: 650;
    line-height: 1.2;
}

.wpa-page-intro {
    margin: 6px 0 0;
    color: var(--wpa-soc-muted);
    font-size: 13px;
}

.wpa-soc-dashboard .wpa-mood-label,
.wpa-soc-dashboard .wpa-mood-note {
    color: var(--wpa-soc-muted);
}

.wpa-soc-dashboard .wpa-mood-switch {
    border-color: var(--wpa-soc-border);
    background: rgba(13, 24, 40, .94);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .2);
}

.wpa-soc-dashboard .wpa-mood-option-text {
    color: #aebed2;
}

.wpa-soc-dashboard .wpa-mood-option input:checked + .wpa-mood-option-text {
    background: linear-gradient(135deg, #2563eb, #0891b2);
    color: #fff;
    box-shadow: 0 6px 16px rgba(37, 99, 235, .25);
}

.wpa-soc-dashboard .wpa-mood-option:hover .wpa-mood-option-text {
    color: #fff;
}

.wpa-soc-status-strip {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    margin: 0 0 18px;
    color: var(--wpa-soc-muted);
    font-size: 12px;
}

.wpa-soc-live {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #d7e4f4;
    font-weight: 600;
}

.wpa-soc-live-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--wpa-soc-green);
    box-shadow: 0 0 0 4px rgba(74, 222, 128, .12), 0 0 18px rgba(74, 222, 128, .5);
}

.wpa-soc-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 18px;
}

.wpa-soc-metric {
    position: relative;
    display: block;
    min-width: 0;
    padding: 17px 18px 16px;
    border: 1px solid var(--wpa-soc-border);
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(17, 31, 50, .98), rgba(11, 23, 39, .98));
    color: inherit;
    box-shadow: 0 16px 32px rgba(0, 0, 0, .12);
    text-decoration: none;
    overflow: hidden;
}

.wpa-soc-dashboard .wpa-soc-metric:focus-visible {
    outline: 2px solid var(--wpa-soc-blue);
    outline-offset: 3px;
}

.wpa-soc-metric::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--wpa-soc-blue);
}

.wpa-soc-metric-priority::before,
.wpa-soc-metric-priority .wpa-soc-metric-dot {
    background: var(--wpa-soc-red);
}

.wpa-soc-metric-attackers::before,
.wpa-soc-metric-attackers .wpa-soc-metric-dot {
    background: var(--wpa-soc-cyan);
}

.wpa-soc-metric-blocked::before,
.wpa-soc-metric-blocked .wpa-soc-metric-dot {
    background: var(--wpa-soc-green);
}

.wpa-soc-metric-label {
    color: var(--wpa-soc-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.wpa-soc-metric-value {
    margin: 8px 0 7px;
    color: #f8fafc;
    font-size: 31px;
    font-weight: 650;
    line-height: 1;
}

.wpa-soc-metric-context {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--wpa-soc-muted);
    font-size: 11px;
}

.wpa-soc-metric-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--wpa-soc-blue);
}

.wpa-soc-dashboard .wpa-soc-analysis-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: stretch;
    gap: 16px;
    margin: 0 0 20px;
}

.wpa-soc-dashboard .wpa-kpi-card {
    position: relative;
    min-width: 0;
    padding: 17px 18px;
    border: 1px solid var(--wpa-soc-border);
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(15, 29, 47, .98), rgba(10, 21, 36, .98));
    box-shadow: 0 18px 38px rgba(0, 0, 0, .14);
    overflow: hidden;
}

.wpa-soc-dashboard .wpa-kpi-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: linear-gradient(90deg, var(--wpa-soc-blue), transparent 72%);
    opacity: .7;
}

.wpa-soc-dashboard .wpa-kpi-card-hero {
    grid-column: span 4;
}

.wpa-soc-dashboard .wpa-kpi-card-hot {
    grid-column: span 5;
    max-width: none;
}

.wpa-soc-dashboard .wpa-kpi-card-ip {
    grid-column: span 3;
}

.wpa-soc-dashboard .wpa-kpi-card-attackers {
    grid-column: span 4;
}

.wpa-soc-dashboard .wpa-kpi-card-targets {
    grid-column: span 8;
}

.wpa-soc-dashboard .wpa-kpi-card-risk {
    grid-column: 1 / -1;
}

.wpa-soc-dashboard .wpa-kpi-title {
    margin-bottom: 12px;
    color: #dce7f5;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
}

.wpa-soc-dashboard .wpa-kpi-total,
.wpa-soc-dashboard .wpa-ip-kpi-label,
.wpa-soc-dashboard .wpa-status-label,
.wpa-soc-dashboard .wpa-ipintel-ip,
.wpa-soc-dashboard .wpa-ipintel-count {
    color: var(--wpa-soc-text);
}

.wpa-soc-dashboard .wpa-kpi-subtle,
.wpa-soc-dashboard .wpa-ipintel-geo,
.wpa-soc-dashboard .wpa-status-state,
.wpa-soc-dashboard .wpa-dim,
.wpa-soc-dashboard .wpa-subtle {
    color: var(--wpa-soc-muted);
}

.wpa-soc-dashboard .wpa-ip-kpi-stat + .wpa-ip-kpi-stat,
.wpa-soc-dashboard .wpa-ip-kpi-repeat {
    border-color: var(--wpa-soc-border-soft);
}

.wpa-soc-dashboard .wpa-soc-module-status {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--wpa-soc-border-soft);
}

.wpa-soc-dashboard .wpa-status-row {
    padding: 7px 0;
    border-color: var(--wpa-soc-border-soft);
    font-size: 12px;
}

.wpa-soc-dashboard .wpa-status-state .dot {
    width: 7px;
    height: 7px;
    display: inline-block;
    border-radius: 50%;
    box-shadow: 0 0 10px currentColor;
}

.wpa-soc-dashboard .wpa-ipintel-row {
    border-color: var(--wpa-soc-border-soft);
    background: rgba(20, 36, 58, .68);
}

.wpa-soc-dashboard .wpa-ipintel-bar {
    background: #1e3048;
}

.wpa-soc-dashboard .wpa-ipintel-bar span {
    background: linear-gradient(90deg, var(--wpa-soc-blue), var(--wpa-soc-cyan));
    opacity: .9;
}

.wpa-soc-dashboard .wpa-hot-chart-wrap,
.wpa-soc-dashboard .wpa-risk-matrix-wrap,
.wpa-soc-dashboard .wpa-targeted-endpoints-wrap {
    min-width: 0;
}

.wpa-soc-dashboard .wpa-chart-card {
    padding: 18px;
    border-color: var(--wpa-soc-border);
    background: linear-gradient(145deg, rgba(15, 29, 47, .98), rgba(10, 21, 36, .98));
    box-shadow: 0 18px 38px rgba(0, 0, 0, .14);
}

.wpa-soc-dashboard .wpa-chart-title {
    color: var(--wpa-soc-text);
    font-size: 13px;
    letter-spacing: .04em;
}

.wpa-soc-dashboard .wpa-chart-sub,
.wpa-soc-dashboard .wpa-chart-hint,
.wpa-soc-dashboard .wpa-chart-controls label,
.wpa-soc-dashboard .wpa-toggle {
    color: var(--wpa-soc-muted);
}

.wpa-soc-dashboard .wpa-chart-controls select {
    border-color: var(--wpa-soc-border);
    background: var(--wpa-soc-surface-soft);
    color: var(--wpa-soc-text);
    color-scheme: dark;
}

.wpa-soc-dashboard .wpa-chart-wrap canvas {
    height: 100% !important;
}

.wpa-soc-dashboard .wpa-chip {
    border-color: var(--wpa-soc-border);
    background: rgba(20, 36, 58, .72);
    color: #c8d6e8;
}

.wpa-soc-dashboard .wpa-chip:hover {
    border-color: #3b82f6;
    background: rgba(37, 99, 235, .18);
    color: #fff;
}

.wpa-soc-dashboard .wpa-chip-active {
    border-color: #3b82f6;
    background: rgba(37, 99, 235, .25);
    box-shadow: inset 0 0 0 1px rgba(96, 165, 250, .45);
    color: #fff;
}

.wpa-soc-dashboard .wpa-slider {
    background: #30415a;
}

.wpa-soc-dashboard .wpa-switch input:checked + .wpa-slider {
    background: linear-gradient(90deg, #2563eb, #0891b2);
}

.wpa-soc-dashboard .wpa-summary-panels {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.wpa-soc-dashboard .wpa-summary-panel {
    min-width: 0;
    padding: 13px 15px;
    border: 1px solid var(--wpa-soc-border-soft);
    border-left: 3px solid var(--wpa-soc-blue);
    border-radius: 9px;
    background: rgba(17, 31, 50, .76);
    color: var(--wpa-soc-text);
}

.wpa-soc-dashboard .wpa-summary-panel-label {
    color: var(--wpa-soc-muted);
    font-size: 12px;
}

.wpa-soc-dashboard .wpa-ai-fab {
    background: linear-gradient(135deg, #2563eb, #0891b2);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .35), 0 0 22px rgba(37, 99, 235, .2);
}

.wpa-soc-dashboard .wpa-ai-report-panel {
    border-color: var(--wpa-soc-border);
    background: var(--wpa-soc-surface);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
    color: var(--wpa-soc-text);
}

.wpa-soc-dashboard .wpa-ai-inline-result {
    border-color: var(--wpa-soc-border);
    background: rgba(7, 16, 29, .7);
    color: var(--wpa-soc-text);
}

@media (max-width: 1280px) {
    .wpa-soc-dashboard .wpa-kpi-card-hero {
        grid-column: span 5;
    }

    .wpa-soc-dashboard .wpa-kpi-card-hot {
        grid-column: span 7;
    }

    .wpa-soc-dashboard .wpa-kpi-card-ip,
    .wpa-soc-dashboard .wpa-kpi-card-attackers {
        grid-column: span 6;
    }

    .wpa-soc-dashboard .wpa-kpi-card-targets {
        grid-column: 1 / -1;
    }
}

@media (max-width: 960px) {
    .wpa-soc-metrics,
    .wpa-soc-dashboard .wpa-summary-panels {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wpa-soc-dashboard .wpa-kpi-card-hero,
    .wpa-soc-dashboard .wpa-kpi-card-hot,
    .wpa-soc-dashboard .wpa-kpi-card-ip,
    .wpa-soc-dashboard .wpa-kpi-card-attackers,
    .wpa-soc-dashboard .wpa-kpi-card-targets {
        grid-column: span 12;
    }
}

@media (max-width: 782px) {
    .wpa-soc-dashboard {
        width: calc(100% + 10px);
        margin-left: -10px;
        padding: 20px 16px 64px;
    }

    .wpa-soc-dashboard .wpa-page-head {
        align-items: stretch;
    }

    .wpa-soc-dashboard .wpa-mood-wrap {
        align-items: flex-start;
    }

    .wpa-soc-dashboard .wpa-mood-switch {
        flex-wrap: wrap;
        border-radius: 12px;
    }

    .wpa-soc-metrics,
    .wpa-soc-dashboard .wpa-summary-panels {
        grid-template-columns: minmax(0, 1fr);
    }

    .wpa-soc-dashboard .wpa-soc-analysis-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .wpa-soc-dashboard .wpa-kpi-card-hero,
    .wpa-soc-dashboard .wpa-kpi-card-hot,
    .wpa-soc-dashboard .wpa-kpi-card-ip,
    .wpa-soc-dashboard .wpa-kpi-card-attackers,
    .wpa-soc-dashboard .wpa-kpi-card-targets,
    .wpa-soc-dashboard .wpa-kpi-card-risk {
        grid-column: 1;
    }
}

/* Reference-matched SIEM dashboard layout */
.wpa-soc-dashboard {
    --wpa-soc-bg: #161616;
    --wpa-soc-surface: #242424;
    --wpa-soc-surface-raised: #292929;
    --wpa-soc-surface-soft: #303030;
    --wpa-soc-border: #303030;
    --wpa-soc-border-soft: #2b2b2b;
    --wpa-soc-text: #f4f4f5;
    --wpa-soc-muted: #98989c;
    --wpa-soc-blue: #79bfff;
    --wpa-soc-cyan: #79bfff;
    --wpa-soc-red: #ff9d57;
    --wpa-soc-green: #70d68b;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 0;
    padding-inline: max(24px, calc((100% - 1500px) / 2));
    background: var(--wpa-soc-bg);
}

.wpa-soc-dashboard > .notice,
.wpa-soc-dashboard > .wpa-error-text {
    grid-column: 1 / -1;
}

.wpa-soc-dashboard .wpa-page-head {
    order: 1;
    grid-column: 1 / -1;
    display: block;
    margin: 0;
    padding: 0 0 24px;
    border-bottom: 1px solid var(--wpa-soc-border-soft);
}

.wpa-soc-dashboard .wpa-page-title-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.wpa-soc-dashboard .wpa-page-title {
    font-size: 32px;
    font-weight: 650;
    letter-spacing: -.025em;
}

.wpa-soc-dashboard .wpa-page-intro {
    margin-top: 7px;
    color: var(--wpa-soc-muted);
    font-size: 15px;
}

.wpa-live-monitoring-badge {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 13px;
    border-radius: 999px;
    background: #0c3c63;
    color: #83c6ff;
    font-size: 13px;
    font-weight: 600;
}

.wpa-dashboard-filter-form {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 24px;
}

.wpa-notification-center {
    position: relative;
    flex: 0 0 auto;
}

.wpa-soc-dashboard .wpa-page-title-row > .wpa-notification-center {
    margin-left: auto;
}

.wpa-header-icon-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid var(--wpa-soc-border, #303030);
    border-radius: 10px;
    background: linear-gradient(145deg, var(--wpa-soc-surface-raised, #292929), var(--wpa-soc-surface, #242424));
    color: var(--wpa-soc-muted, #98989c);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 8px 18px rgba(0, 0, 0, .16);
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.wpa-header-icon-button:hover,
.wpa-header-icon-button:focus-visible,
.wpa-notification-center.is-open .wpa-header-icon-button {
    border-color: var(--wpa-soc-blue, #79bfff);
    background: var(--wpa-soc-surface-soft, #303030);
    color: var(--wpa-soc-text, #f4f4f5);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 0 0 3px rgba(96, 165, 250, .1), 0 10px 24px rgba(0, 0, 0, .22);
    outline: none;
}

.wpa-notification-bell .dashicons {
    width: 20px;
    height: 20px;
    font-size: 20px;
}

.wpa-notification-badge {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border: 2px solid var(--wpa-soc-bg);
    border-radius: 999px;
    background: var(--wpa-soc-red);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 16px;
    text-align: center;
    box-sizing: border-box;
}

.wpa-notification-panel {
    position: absolute;
    z-index: 10020;
    top: calc(100% + 10px);
    right: 0;
    width: min(390px, calc(100vw - 48px));
    border: 1px solid var(--wpa-soc-border);
    border-radius: 14px;
    background: var(--wpa-soc-surface);
    color: var(--wpa-soc-text);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .42);
    overflow: hidden;
}

.wpa-notification-panel[hidden],
.wpa-notification-badge[hidden] {
    display: none !important;
}

.wpa-notification-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 17px 13px;
    border-bottom: 1px solid var(--wpa-soc-border-soft);
}

.wpa-notification-panel-head h2 {
    margin: 0;
    color: var(--wpa-soc-text);
    font-size: 15px;
    line-height: 1.35;
}

.wpa-notification-panel-head p {
    margin: 4px 0 0;
    color: var(--wpa-soc-muted);
    font-size: 11px;
}

.wpa-notification-panel-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.wpa-notification-mark-read,
.wpa-notification-clear {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--wpa-soc-cyan);
    font-size: 11px;
    cursor: pointer;
    white-space: nowrap;
}

.wpa-notification-mark-read:hover,
.wpa-notification-mark-read:focus-visible,
.wpa-notification-clear:hover,
.wpa-notification-clear:focus-visible {
    color: #bae6fd;
    text-decoration: underline;
    outline: none;
}

.wpa-notification-clear {
    color: var(--wpa-soc-muted);
}

.wpa-notification-clear:hover,
.wpa-notification-clear:focus-visible {
    color: var(--wpa-soc-red);
}

.wpa-notification-mark-read:disabled,
.wpa-notification-clear:disabled {
    color: #64748b;
    cursor: default;
    text-decoration: none;
}

.wpa-notification-list {
    max-height: 430px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--wpa-soc-border) var(--wpa-soc-surface);
}

.wpa-notification-list::-webkit-scrollbar {
    width: 8px;
}

.wpa-notification-list::-webkit-scrollbar-track {
    background: var(--wpa-soc-surface);
}

.wpa-notification-list::-webkit-scrollbar-thumb {
    min-height: 36px;
    border: 2px solid var(--wpa-soc-surface);
    border-radius: 999px;
    background: var(--wpa-soc-border);
}

.wpa-notification-list::-webkit-scrollbar-thumb:hover {
    background: var(--wpa-soc-blue);
}

.wpa-notification-card {
    position: relative;
    padding: 14px 16px 13px 19px;
    border-bottom: 1px solid var(--wpa-soc-border-soft);
    background: var(--wpa-soc-surface-raised);
}

.wpa-notification-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--wpa-soc-orange);
}

.wpa-notification-card-critical::before {
    background: var(--wpa-soc-red);
}

.wpa-notification-card-top,
.wpa-notification-card-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.wpa-notification-severity {
    display: inline-flex;
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(251, 146, 60, .15);
    color: #fdba74;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.wpa-notification-card-critical .wpa-notification-severity {
    background: rgba(251, 113, 133, .16);
    color: #fda4af;
}

.wpa-notification-age,
.wpa-notification-category {
    color: var(--wpa-soc-muted);
    font-size: 10px;
}

.wpa-notification-title {
    display: block;
    margin-top: 9px;
    color: var(--wpa-soc-text);
    font-size: 13px;
    line-height: 1.4;
}

.wpa-notification-repeat {
    color: #93c5fd;
    font-size: 11px;
}

.wpa-notification-target,
.wpa-notification-message {
    margin: 5px 0 0;
    color: #b8c6d9;
    font-size: 11px;
    line-height: 1.45;
    word-break: break-word;
}

.wpa-notification-target code {
    color: #d8e5f5;
    font-size: 10px;
}

.wpa-notification-message {
    color: var(--wpa-soc-muted);
}

.wpa-notification-technical {
    margin-top: 7px;
    color: var(--wpa-soc-muted);
    font-size: 10px;
}

.wpa-notification-technical summary {
    width: fit-content;
    cursor: pointer;
    color: #9fc7ea;
    font-weight: 600;
}

.wpa-notification-technical code {
    display: block;
    max-height: 120px;
    margin-top: 6px;
    padding: 7px 8px;
    overflow: auto;
    border: 1px solid var(--wpa-soc-border-soft);
    border-radius: 6px;
    background: rgba(0, 0, 0, .18);
    color: #b8c6d9;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.wpa-notification-card-foot {
    margin-top: 9px;
}

.wpa-notification-investigate {
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

.wpa-notification-empty {
    margin: 0;
    padding: 28px 18px;
    color: var(--wpa-soc-muted);
    font-size: 12px;
    text-align: center;
}

.wpa-notification-panel-foot {
    padding: 11px 16px;
    background: var(--wpa-soc-bg);
    text-align: center;
}

.wpa-notification-panel-foot a {
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

@keyframes wpa-notification-pulse {
    0%, 100% { transform: scale(1); }
    45% { transform: scale(1.08); box-shadow: 0 0 0 6px rgba(225, 29, 72, .12); }
}

.wpa-notification-bell.has-new-threat {
    animation: wpa-notification-pulse .7s ease;
}

@media (max-width: 782px) {
    .wpa-notification-panel {
        right: 0;
        left: auto;
        width: min(390px, calc(100vw - 32px));
    }
}

.wpa-dashboard-filter-field {
    display: grid;
    gap: 7px;
    min-width: 210px;
    color: var(--wpa-soc-text);
    font-size: 13px;
}

.wpa-dashboard-filter-field select {
    min-width: 210px;
    min-height: 42px;
    border: 1px solid #515151;
    border-radius: 10px;
    background: #363636;
    color: var(--wpa-soc-text);
    color-scheme: dark;
    font-size: 14px;
}

.wpa-dashboard-filter-field select:hover {
    border-color: #515151;
    background: #363636;
    color: var(--wpa-soc-text);
}

.wpauditor-admin-page .wpa-admin-shell.wpa-soc-dashboard .wpa-ai-fab {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9998;
    width: auto;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
    gap: 8px;
    padding: 0 16px;
    border: 1px solid #315b7d;
    border-radius: 999px;
    background: #0c3c63;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .32), 0 0 20px rgba(37, 99, 235, .16);
    color: #fff;
    font-size: 14px;
}

.wpauditor-admin-page .wpa-admin-shell.wpa-soc-dashboard .wpa-ai-fab-icon {
    display: block;
    width: 18px;
    height: 18px;
}

.wpauditor-admin-page .wpa-admin-shell.wpa-soc-dashboard .wpa-ai-fab:hover,
.wpauditor-admin-page .wpa-admin-shell.wpa-soc-dashboard .wpa-ai-fab:focus {
    border-color: #4d82ab;
    background: #114d7d;
    color: #fff;
}

.wpa-soc-dashboard .wpa-soc-status-strip {
    order: 2;
    grid-column: 1 / -1;
    min-height: 70px;
    margin: 0;
    padding: 20px 0;
    border-bottom: 0;
    color: var(--wpa-soc-muted);
    font-size: 13px;
}

.wpa-soc-dashboard .wpa-soc-live {
    color: var(--wpa-soc-text);
    font-weight: 500;
}

.wpa-soc-dashboard .wpa-soc-live-dot {
    background: var(--wpa-soc-blue);
    box-shadow: none;
}

.wpa-status-mood-form {
    margin-left: 4px !important;
    padding-left: 18px;
    border-left: 1px solid var(--wpa-soc-border-soft);
}

.wpa-soc-dashboard .wpa-status-mood-form .wpa-mood-switch {
    gap: 2px;
    padding: 2px;
    border-color: #3b3b3b;
    background: #202020;
}

.wpa-soc-dashboard .wpa-status-mood-form .wpa-mood-option-text {
    min-height: 25px;
    padding: 0 9px;
    font-size: 10px;
}

.wpa-soc-dashboard .wpa-soc-metrics {
    order: 3;
    grid-column: 1 / -1;
    gap: 14px;
    margin: 0 0 18px;
}

.wpa-soc-dashboard .wpa-soc-metric {
    padding: 17px 18px 16px;
    border: 0;
    border-radius: 20px;
    background: var(--wpa-soc-surface);
    box-shadow: none;
    transition: transform .18s ease, background-color .18s ease;
}

.wpa-soc-dashboard .wpa-soc-metric:hover {
    transform: translateY(-2px);
    background: var(--wpa-soc-surface-raised);
}

.wpa-soc-dashboard .wpa-soc-metric::before {
    display: none;
}

.wpa-soc-dashboard .wpa-soc-metric-label {
    color: var(--wpa-soc-muted);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.wpa-soc-dashboard .wpa-soc-metric-value {
    margin: 8px 0 11px;
    font-size: 28px;
    font-weight: 650;
}

.wpa-soc-dashboard .wpa-soc-metric-context {
    color: #ededee;
    font-size: 12px;
}

.wpa-soc-dashboard .wpa-soc-metric-priority .wpa-soc-metric-dot {
    background: #ff9d57;
}

.wpa-soc-dashboard .wpa-soc-metric-attackers .wpa-soc-metric-dot {
    background: #70d68b;
}

.wpa-soc-dashboard .wpa-soc-metric-blocked .wpa-soc-metric-dot {
    background: #e986bd;
}

.wpa-soc-dashboard .wpa-soc-analysis-grid {
    display: contents;
}

.wpa-soc-dashboard .wpa-kpi-card,
.wpa-soc-dashboard .wpa-chart-card,
.wpa-soc-dashboard .wpa-recent-events {
    min-width: 0;
    margin: 18px 0 0;
    padding: 26px 0 24px;
    border: 0;
    border-top: 1px solid var(--wpa-soc-border-soft);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.wpa-soc-dashboard .wpa-kpi-card::before {
    display: none;
}

.wpa-soc-dashboard .wpa-chart-card {
    order: 4;
    grid-column: span 8;
}

.wpa-soc-dashboard .wpa-kpi-card-hero {
    order: 5;
    grid-column: span 4;
}

.wpa-soc-dashboard .wpa-kpi-card-hot {
    order: 6;
    grid-column: span 4;
    max-width: none;
}

.wpa-soc-dashboard .wpa-kpi-card-attackers {
    order: 7;
    grid-column: span 4;
}

.wpa-soc-dashboard .wpa-kpi-card-targets {
    order: 8;
    grid-column: span 4;
}

.wpa-soc-dashboard .wpa-kpi-card-hot,
.wpa-soc-dashboard .wpa-kpi-card-attackers,
.wpa-soc-dashboard .wpa-kpi-card-targets {
    min-height: 270px;
}

.wpa-soc-dashboard .wpa-recent-events {
    order: 9;
    grid-column: 1 / -1;
}

.wpa-soc-dashboard .wpa-kpi-card-ip {
    order: 11;
    grid-column: span 4;
}

.wpa-soc-dashboard .wpa-kpi-card-risk {
    order: 12;
    grid-column: span 8;
}

.wpa-advanced-analysis-heading {
    order: 10;
    grid-column: 1 / -1;
    margin-top: 22px;
    padding-top: 30px;
    border-top: 1px solid var(--wpa-soc-border-soft);
}

.wpa-advanced-analysis-heading h2 {
    margin: 0;
    color: var(--wpa-soc-text);
    font-size: 23px;
    font-weight: 650;
    letter-spacing: -.02em;
}

.wpa-advanced-analysis-heading p {
    margin: 5px 0 0;
    color: var(--wpa-soc-muted);
    font-size: 13px;
}

.wpa-soc-dashboard .wpa-summary-panels {
    display: none;
}

.wpa-soc-dashboard .wpa-chart-toolbar {
    display: none;
}

.wpa-soc-dashboard .wpa-chart-head,
.wpa-reference-panel-head,
.wpa-recent-events-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.wpa-soc-dashboard .wpa-chart-title,
.wpa-soc-dashboard .wpa-kpi-title,
.wpa-recent-events-head h2 {
    margin: 0;
    color: var(--wpa-soc-text);
    font-size: 23px;
    font-weight: 650;
    letter-spacing: -.02em;
    text-transform: none;
}

.wpa-soc-dashboard .wpa-chart-sub,
.wpa-reference-panel-sub,
.wpa-recent-events-head p {
    margin: 4px 0 0;
    color: var(--wpa-soc-muted);
    font-size: 13px;
}

.wpa-soc-dashboard .wpa-chart-head > a,
.wpa-reference-panel-head > a,
.wpa-recent-events-head > a {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 9px;
    border-radius: 8px;
    color: var(--wpa-soc-blue);
    font-size: 13px;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease;
}

.wpa-soc-dashboard .wpa-chart-head > a:hover,
.wpa-reference-panel-head > a:hover,
.wpa-recent-events-head > a:hover,
.wpa-soc-dashboard .wpa-chart-head > a:focus,
.wpa-reference-panel-head > a:focus,
.wpa-recent-events-head > a:focus {
    background: #252f38;
    color: #bfe1ff;
}

.wpa-soc-dashboard .wpa-chart-wrap {
    height: 300px;
    margin-top: 18px;
}

.wpa-soc-dashboard .wpa-severity-chart-wrap {
    width: 100%;
    max-width: none;
    height: 320px;
    margin: 10px 0 0;
}

.wpa-soc-dashboard .wpa-hot-chart-wrap {
    height: 225px;
    margin-top: 14px;
}

.wpa-activity-footer {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 12px;
    color: var(--wpa-soc-muted);
    font-size: 12px;
}

.wpa-activity-series {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--wpa-soc-text);
}

.wpa-activity-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--wpa-soc-blue);
}

.wpa-soc-dashboard .wpa-ipintel-list {
    gap: 10px;
    margin-top: 15px;
}

.wpa-soc-dashboard .wpa-ipintel-row {
    padding: 0;
    border: 0;
    background: transparent;
}

.wpa-soc-dashboard .wpa-ipintel-ip {
    display: inline-block;
    padding: 5px 8px;
    border-radius: 7px;
    background: #2d2d2d;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.wpa-soc-dashboard .wpa-ipintel-count {
    padding: 5px 9px;
    border-radius: 999px;
    background: #0c3c63;
    color: #83c6ff;
    font-size: 12px;
}

.wpa-soc-dashboard .wpa-ipintel-geo,
.wpa-soc-dashboard .wpa-ipintel-bar {
    display: none;
}

.wpa-targeted-endpoint-list {
    display: grid;
    gap: 12px;
    margin-top: 15px;
}

.wpa-targeted-endpoint-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.wpa-targeted-endpoint-row code,
.wpa-recent-event code {
    padding: 4px 8px;
    border-radius: 7px;
    background: #2d2d2d;
    color: #e7e7e8;
}

.wpa-targeted-endpoint-row strong {
    color: var(--wpa-soc-text);
    font-size: 14px;
}

.wpa-empty-state {
    display: grid;
    place-items: center;
    min-height: 150px;
    margin: 18px 0 0;
    padding: 18px;
    border: 1px dashed #3a3a3a;
    border-radius: 12px;
    background: rgba(255, 255, 255, .015);
    color: var(--wpa-soc-muted);
    text-align: center;
}

.wpa-recent-events-head {
    align-items: center;
}

.wpa-recent-events-list {
    margin-top: 18px;
}

.wpa-recent-event {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: 14px;
    padding: 17px 0;
    border-bottom: 1px solid var(--wpa-soc-border-soft);
}

.wpa-recent-event-copy {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.wpa-recent-event-copy strong {
    color: var(--wpa-soc-text);
    font-size: 14px;
}

.wpa-recent-event-copy > span,
.wpa-recent-event time {
    color: var(--wpa-soc-muted);
    font-size: 12px;
}

.wpa-recent-event time {
    white-space: nowrap;
}

@media (max-width: 1180px) {
    .wpa-soc-dashboard {
        column-gap: 26px;
    }

    .wpa-soc-dashboard .wpa-chart-card,
    .wpa-soc-dashboard .wpa-kpi-card-hero {
        grid-column: 1 / -1;
    }

    .wpa-soc-dashboard .wpa-kpi-card-hot,
    .wpa-soc-dashboard .wpa-kpi-card-attackers,
    .wpa-soc-dashboard .wpa-kpi-card-targets {
        grid-column: span 4;
    }

    .wpa-soc-dashboard .wpa-kpi-card-ip,
    .wpa-soc-dashboard .wpa-kpi-card-risk {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .wpa-soc-dashboard .wpa-kpi-card-hot,
    .wpa-soc-dashboard .wpa-kpi-card-attackers,
    .wpa-soc-dashboard .wpa-kpi-card-targets {
        grid-column: span 6;
    }

    .wpa-soc-dashboard .wpa-kpi-card-targets {
        grid-column: 1 / -1;
    }
}

@media (max-width: 782px) {
    .wpa-soc-dashboard {
        display: block;
        padding: 20px 16px 64px;
    }

    .wpa-dashboard-filter-form,
    .wpa-dashboard-filter-field,
    .wpa-dashboard-filter-field select {
        width: 100%;
    }

    .wpauditor-admin-page .wpa-admin-shell.wpa-soc-dashboard .wpa-ai-fab {
        right: 16px;
        bottom: 16px;
        width: auto;
        max-width: calc(100vw - 32px);
    }

    .wpa-status-mood-form {
        width: 100%;
        margin-left: 0 !important;
        padding: 12px 0 0;
        border-top: 1px solid var(--wpa-soc-border-soft);
        border-left: 0;
    }

    .wpa-soc-dashboard .wpa-status-mood-form .wpa-mood-switch {
        width: 100%;
    }

    .wpa-soc-dashboard .wpa-kpi-card,
    .wpa-soc-dashboard .wpa-chart-card,
    .wpa-soc-dashboard .wpa-recent-events {
        margin-top: 18px;
    }

    .wpa-soc-dashboard .wpa-kpi-card-hot,
    .wpa-soc-dashboard .wpa-kpi-card-attackers,
    .wpa-soc-dashboard .wpa-kpi-card-targets {
        min-height: 0;
    }

    .wpa-recent-event {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .wpa-recent-event time {
        grid-column: 2;
    }
}

.wpa-logs-container {
    overflow-x: visible;
    overflow-y: visible;
}

table.wpa-table {
    width: 100%;
    table-layout: fixed;
    font-size: 13px;
}

table.wpa-table th,
table.wpa-table td {
    vertical-align: top;
    word-break: break-word;
}

table.wpa-table th:nth-child(1) {
    width: 120px;
}

table.wpa-table th:nth-child(2),
table.wpa-table th:nth-child(3) {
    width: 140px;
}

table.wpa-table th:nth-child(4),
table.wpa-table th:nth-child(7) {
    width: 80px;
}

table.wpa-table th:nth-child(5) {
    width: 125px;
}

table.wpa-table th:nth-child(6) {
    width: 60px;
}

table.wpa-table th:nth-child(8),
table.wpa-table th:nth-child(11) {
    width: 120px;
}

table.wpa-table th:nth-child(9) {
    width: 150px;
}

table.wpa-table th:nth-child(10) {
    width: 160px;
}

.wpa-truncate {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.wpa-expand-btn {
    margin-left: 6px;
}

.wpa-expand-row {
    display: none;
    background: #fafafa;
}

.wpa-action-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: auto;
    min-height: auto;
    margin: 0;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #1d2327 !important;
    vertical-align: middle;
}

.wpa-action-icon-btn:hover,
.wpa-action-icon-btn:focus {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #2c3338 !important;
}

.wpa-action-icon-btn .dashicons {
    width: 16px;
    height: 16px;
    font-size: 16px;
    line-height: 16px;
}

.wpa-expand-box {
    padding: 10px 12px;
}

.wpa-expand-box code,
.wpa-table code {
    word-break: break-word;
    white-space: pre-wrap;
}

.wpa-table code {
    display: inline-block;
    max-width: 100%;
}

.wpa-ipcell {
    display: flex;
    flex-direction: column;
    gap: 4px;
    line-height: 1.15;
}

.wpa-ipcell .wpa-geo {
    width: fit-content;
}

.wpa-ipcell .wpa-country {
    max-width: 130px;
}

.wpa-live-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.wpa-live-title {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.wpa-live-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
}

.wpa-live-wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

#wpaLiveHead.is-live .wpa-live-icon {
    color: #16a34a;
}

#wpaLiveHead.is-live .wpa-live-icon svg {
    animation: wpa-pulse 1.2s ease-in-out infinite;
}

/* Timeline */
.timeline-session {
    padding: 10px 15px;
    margin-bottom: 15px;
    border-left: 5px solid #adb5bd;
    border-radius: 4px;
    background: #f7f7f7;
}

.severity-badge {
    padding: 2px 6px;
    border-radius: 3px;
    color: #fff;
    font-size: 12px;
    margin-left: 6px;
}

.wpa-severity-critical {
    background: #c05761;
    color: #fff;
}

.wpa-severity-high {
    background: #c7755b;
    color: #1e1e1e;
}

.wpa-severity-medium {
    background: #ddb463;
    color: #1e1e1e;
}

.wpa-severity-low {
    background: #9cc07e;
    color: #1e1e1e;
}

.wpa-severity-info {
    background: #99a2ab;
    color: #1e1e1e;
}

.session-body {
    display: none;
    margin-top: 10px;
}

.toggle-button {
    padding: 4px 10px;
    border: none;
    border-radius: 3px;
    background: #2271b1;
    color: #fff;
    cursor: pointer;
}

.wpa-table-wrap {
    overflow-x: auto;
}

.tablenav-pages {
    margin: 14px 0;
}

@keyframes wpa-pulse {
    0% {
        transform: scale(1);
        opacity: .85;
    }

    50% {
        transform: scale(1.15);
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: .85;
    }
}

@media (max-width: 1024px) {
    #wpa-qtable,
    table.wpa-table {
        font-size: 12px;
    }

    .wpa-logs-container {
        max-height: 70vh;
        border: 1px solid #eee;
        border-radius: 4px;
        overflow: auto;
    }
}

@media (max-width: 782px) {
    .wpa-kpi {
        min-width: calc(50% - 6px);
    }

    .wpa-kpi-card,
    .wpa-kpi-card-hot,
    .wpa-kpi-card-hero,
    .wpa-kpi-card-targets,
    .wpa-kpi-card-risk {
        flex: 1 1 100%;
    }

    .wpa-risk-matrix-wrap {
        height: 280px;
    }

    .wpa-targeted-endpoints-wrap {
        height: 240px;
    }

    .wpa-kpi-card-hero {
        padding: 16px 14px 18px;
    }

    .wpa-hot-chart-wrap {
        height: 340px;
    }

    .wpa-severity-chart-wrap {
        max-width: 220px;
        height: 220px;
    }

    .wpa-chart-wrap {
        height: 260px;
    }

    .wpa-ai-fab {
        right: 16px;
        bottom: 16px;
    }

    .wpa-ai-report-panel {
        right: 16px;
        bottom: 72px;
        width: calc(100vw - 24px);
        max-height: 68vh;
    }

    .wpa-page-head {
        align-items: stretch;
    }

    .wpa-mood-wrap {
        align-items: flex-start;
        width: 100%;
    }

    .wpa-mood-row {
        justify-content: flex-start;
    }

    table.wpa-table {
        font-size: 12px;
    }
}

/* Shared WPAuditor admin page shell */
body.wpauditor-admin-page {
    --wpa-admin-bg: #161616;
    --wpa-admin-surface: #242424;
    --wpa-admin-surface-raised: #292929;
    --wpa-admin-surface-soft: #303030;
    --wpa-admin-border: #3a3a3a;
    --wpa-admin-border-soft: #2b2b2b;
    --wpa-admin-text: #f4f4f5;
    --wpa-admin-muted: #a1a1a6;
    --wpa-admin-blue: #79bfff;
    --wpa-admin-blue-deep: #0c3c63;
    --wpa-admin-green: #70d68b;
    --wpa-admin-orange: #ff9d57;
    --wpa-admin-red: #ff8b8b;
    background: var(--wpa-admin-bg);
}

body.wpauditor-admin-page #wpcontent,
body.wpauditor-admin-page #wpbody,
body.wpauditor-admin-page #wpbody-content {
    background: var(--wpa-admin-bg);
}

body.wpauditor-admin-page #wpbody-content {
    min-height: calc(100vh - 32px);
}

body.wpauditor-admin-page #wpfooter {
    color: var(--wpa-admin-muted);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) {
    box-sizing: border-box;
    width: calc(100% + 20px);
    max-width: none;
    min-height: calc(100vh - 32px);
    margin: 0 0 -65px -20px;
    padding: 24px max(24px, calc((100% - 1500px) / 2)) 72px;
    color: var(--wpa-admin-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) > h1:first-of-type,
.wpa-security-events-page .wpa-security-events-header > h1:first-of-type,
.wpa-timeline-page .wpa-timeline-header > h1:first-of-type {
    display: flex;
    align-items: center;
    gap: 13px;
    flex-wrap: wrap;
    margin: 0 0 8px;
    padding: 0;
    color: var(--wpa-admin-text);
    font-size: 32px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) > h1:first-of-type::after,
.wpa-security-events-page .wpa-security-events-header > h1:first-of-type::after,
.wpa-timeline-page .wpa-timeline-header > h1:first-of-type::after {
    content: "WPAuditor Pro";
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--wpa-admin-blue-deep);
    color: #91ccff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) > h1 + br,
.wpa-admin-shell:not(.wpa-soc-dashboard) > .notice + br,
.wpa-admin-shell:not(.wpa-soc-dashboard) > hr.wp-header-end {
    display: none;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) h2,
.wpa-admin-shell:not(.wpa-soc-dashboard) h3,
.wpa-admin-shell:not(.wpa-soc-dashboard) h4,
.wpa-admin-shell:not(.wpa-soc-dashboard) strong,
.wpa-admin-shell:not(.wpa-soc-dashboard) label,
.wpa-admin-shell:not(.wpa-soc-dashboard) legend {
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) h2 {
    font-size: 22px;
    font-weight: 650;
    letter-spacing: -.015em;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) p,
.wpa-admin-shell:not(.wpa-soc-dashboard) li,
.wpa-admin-shell:not(.wpa-soc-dashboard) td,
.wpa-admin-shell:not(.wpa-soc-dashboard) th {
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) a {
    color: var(--wpa-admin-blue);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) a:hover,
.wpa-admin-shell:not(.wpa-soc-dashboard) a:focus {
    color: #bfe1ff;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) hr {
    border: 0;
    border-top: 1px solid var(--wpa-admin-border-soft);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) code,
.wpa-admin-shell:not(.wpa-soc-dashboard) kbd {
    padding: 3px 7px;
    border-radius: 6px;
    background: #303030;
    color: #e8e8ea;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) pre {
    border: 1px solid var(--wpa-admin-border);
    border-radius: 10px;
    background: #111;
    color: #d4f5dd;
}

body.wpauditor-admin-page #wpbody-content > .notice,
.wpa-admin-shell:not(.wpa-soc-dashboard) .notice {
    margin: 18px 0;
    border-top: 1px solid var(--wpa-admin-border);
    border-right: 1px solid var(--wpa-admin-border);
    border-bottom: 1px solid var(--wpa-admin-border);
    border-radius: 0 10px 10px 0;
    background: var(--wpa-admin-surface);
    box-shadow: none;
    color: var(--wpa-admin-text);
}

body.wpauditor-admin-page #wpbody-content > .notice {
    box-sizing: border-box;
    width: calc(100% - 64px);
    max-width: 1436px;
    margin-right: auto;
    margin-left: auto;
}

body.wpauditor-admin-page #wpbody-content > .notice p,
.wpa-admin-shell:not(.wpa-soc-dashboard) .notice p {
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .notice-info {
    border-left-color: #72aee6;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .notice-success {
    border-left-color: var(--wpa-admin-green);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .notice-warning {
    border-left-color: var(--wpa-admin-orange);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .notice-error {
    border-left-color: var(--wpa-admin-red);
}

body.wpauditor-admin-page .notice-dismiss:before {
    color: var(--wpa-admin-muted);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .postbox,
.wpa-admin-shell:not(.wpa-soc-dashboard) .card,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpauditor-box,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-box,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-box-wide,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-panel,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-ai-card,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-advanced-panel,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-kpi,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-chart-card,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-console-box {
    border: 1px solid var(--wpa-admin-border);
    border-radius: 16px;
    background: var(--wpa-admin-surface);
    box-shadow: none;
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .postbox,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpauditor-box,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-box,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-box-wide,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-panel {
    margin-top: 18px;
    padding: 22px;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .postbox .hndle,
.wpa-admin-shell:not(.wpa-soc-dashboard) .postbox .handlediv {
    border-color: var(--wpa-admin-border);
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-ai-card,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-kpi {
    background: var(--wpa-admin-surface);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-ai-history-item {
    border-color: var(--wpa-admin-border-soft);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-ai-result,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-ai-inline-result,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-ai-log-result,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-ai-session-result {
    border-color: var(--wpa-admin-border);
    background: #1d1d1d;
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-kpi .label,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-kpi .sub,
.wpa-admin-shell:not(.wpa-soc-dashboard) .description,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-subtle,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-ai-subtle,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-help-text,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-preset-preview,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-preset-note,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-advanced-hint,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-progress-note {
    color: var(--wpa-admin-muted);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) input:not([type="hidden"]):not([type="submit"]):not([type="button"]),
.wpa-admin-shell:not(.wpa-soc-dashboard) select,
.wpa-admin-shell:not(.wpa-soc-dashboard) textarea {
    border-color: #515151;
    border-radius: 8px;
    background: #303030;
    color: var(--wpa-admin-text);
    box-shadow: none;
    color-scheme: dark;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) input:not([type="hidden"]):focus,
.wpa-admin-shell:not(.wpa-soc-dashboard) select:focus,
.wpa-admin-shell:not(.wpa-soc-dashboard) textarea:focus {
    border-color: var(--wpa-admin-blue);
    box-shadow: 0 0 0 1px var(--wpa-admin-blue);
    outline: 0;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) input:disabled,
.wpa-admin-shell:not(.wpa-soc-dashboard) select:disabled,
.wpa-admin-shell:not(.wpa-soc-dashboard) textarea:disabled {
    border-color: #3a3a3a;
    background: #242424;
    color: #777;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .button,
.wpa-admin-shell:not(.wpa-soc-dashboard) .button-secondary,
.wpa-admin-shell:not(.wpa-soc-dashboard) .button-delete {
    min-height: 36px;
    padding: 3px 13px;
    border-color: #555;
    border-radius: 9px;
    background: #373737;
    color: var(--wpa-admin-text);
    box-shadow: none;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .button:hover,
.wpa-admin-shell:not(.wpa-soc-dashboard) .button:focus,
.wpa-admin-shell:not(.wpa-soc-dashboard) .button-secondary:hover,
.wpa-admin-shell:not(.wpa-soc-dashboard) .button-secondary:focus {
    border-color: #6a6a6a;
    background: #434343;
    color: #fff;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .button-primary {
    border-color: #2271b1;
    background: #2271b1;
    color: #fff;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .button-primary:hover,
.wpa-admin-shell:not(.wpa-soc-dashboard) .button-primary:focus {
    border-color: #3582bf;
    background: #3582bf;
    color: #fff;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .button-danger,
.wpa-admin-shell:not(.wpa-soc-dashboard) .button-delete {
    border-color: #7a3d3d;
    background: #4b2929;
    color: #ffb1b1;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .form-table {
    margin: 18px 0 24px;
    border: 1px solid var(--wpa-admin-border);
    border-radius: 14px;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--wpa-admin-surface);
    overflow: hidden;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .form-table th,
.wpa-admin-shell:not(.wpa-soc-dashboard) .form-table td {
    padding: 18px 20px;
    border-bottom: 1px solid var(--wpa-admin-border-soft);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .form-table tr:last-child th,
.wpa-admin-shell:not(.wpa-soc-dashboard) .form-table tr:last-child td {
    border-bottom: 0;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .form-table th {
    color: #dfdfe1;
    font-weight: 600;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) table.widefat,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wp-list-table,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-table-wrap {
    border-color: var(--wpa-admin-border);
    border-radius: 12px;
    background: #202020;
    color: var(--wpa-admin-text);
    box-shadow: none;
    overflow: hidden;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) table.widefat thead th,
.wpa-admin-shell:not(.wpa-soc-dashboard) table.widefat tfoot th,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wp-list-table thead th,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wp-list-table tfoot th {
    border-color: var(--wpa-admin-border);
    background: #2a2a2a;
    color: #e9e9ea;
    font-weight: 600;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) table.widefat td,
.wpa-admin-shell:not(.wpa-soc-dashboard) table.widefat th,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wp-list-table td,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wp-list-table th {
    border-color: var(--wpa-admin-border-soft);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) table.widefat tbody tr,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wp-list-table tbody tr {
    background: #202020;
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) table.widefat.striped > tbody > :nth-child(odd),
.wpa-admin-shell:not(.wpa-soc-dashboard) .wp-list-table.striped > tbody > :nth-child(odd) {
    background: #252525;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) table.widefat tbody tr:hover,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wp-list-table tbody tr:hover {
    background: #2c2c2c;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .row-title,
.wpa-admin-shell:not(.wpa-soc-dashboard) .column-primary,
.wpa-admin-shell:not(.wpa-soc-dashboard) .column-primary strong {
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .tablenav,
.wpa-admin-shell:not(.wpa-soc-dashboard) .tablenav .displaying-num {
    color: var(--wpa-admin-muted);
}

.wpa-admin-shell .tablenav-pages a,
.wpa-admin-shell .tablenav-pages .tablenav-pages-navspan,
.wpa-admin-shell .tablenav-pages .current,
.wpa-admin-shell .tablenav-pages .wpa-page-current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 34px;
    border: 1px solid #4c4c4c;
    border-radius: 8px;
    background: #303030;
    color: var(--wpa-admin-text);
    text-decoration: none;
}

.wpa-admin-shell .tablenav-pages a:hover,
.wpa-admin-shell .tablenav-pages a:focus {
    text-decoration: none;
}

.wpa-admin-shell .tablenav-pages .current,
.wpa-admin-shell .tablenav-pages .wpa-page-current {
    border-color: #4f8abb;
    background: var(--wpa-admin-blue-deep);
    color: #a8d7ff;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .nav-tab-wrapper {
    margin: 24px 0 0;
    padding: 0;
    border-color: var(--wpa-admin-border);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .nav-tab {
    margin-left: 0;
    margin-right: 6px;
    border-color: var(--wpa-admin-border);
    border-radius: 9px 9px 0 0;
    background: #202020;
    color: var(--wpa-admin-muted);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .nav-tab:hover,
.wpa-admin-shell:not(.wpa-soc-dashboard) .nav-tab:focus {
    background: #2b2b2b;
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .nav-tab-active,
.wpa-admin-shell:not(.wpa-soc-dashboard) .nav-tab-active:hover,
.wpa-admin-shell:not(.wpa-soc-dashboard) .nav-tab-active:focus {
    border-bottom-color: var(--wpa-admin-surface-raised);
    background: var(--wpa-admin-surface-raised);
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) details {
    border: 1px solid var(--wpa-admin-border);
    border-radius: 10px;
    background: #202020;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) details summary {
    padding: 12px 14px;
    color: var(--wpa-admin-text);
    cursor: pointer;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-signal-count-badge,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-geo {
    border-color: #484848;
    background: #303030;
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-progress-track {
    background: #3a3a3a;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-progress-bar {
    background: #4c9bd8;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpauditor-spinner {
    border-color: #3d3d3d;
    border-top-color: var(--wpa-admin-blue);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpauditor-spinner.wpauditor-spinner-has-progress::before {
    border-color: #3d3d3d;
    border-top-color: var(--wpa-admin-blue);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpauditor-spinner-progress {
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .timeline-session {
    border-top: 1px solid var(--wpa-admin-border);
    border-right: 1px solid var(--wpa-admin-border);
    border-bottom: 1px solid var(--wpa-admin-border);
    border-radius: 12px;
    background: var(--wpa-admin-surface);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-chart-card,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-chart-toolbar,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-live-head,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-expand-box {
    border-color: var(--wpa-admin-border);
    background: var(--wpa-admin-surface);
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-chip {
    border-color: #4c4c4c;
    background: #303030;
    color: var(--wpa-admin-text);
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-chip-active,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-chip:hover {
    border-color: #4f8abb;
    background: var(--wpa-admin-blue-deep);
    color: #b9dcfb;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-sim-console,
.wpa-admin-shell:not(.wpa-soc-dashboard) .wpa-console-body {
    border-color: var(--wpa-admin-border);
    background: #101010;
    color: #eee;
}

.wpa-admin-shell:not(.wpa-soc-dashboard) .submit {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--wpa-admin-border-soft);
}

@media (max-width: 782px) {
    body.wpauditor-admin-page #wpbody-content > .notice {
        width: calc(100% - 32px);
    }

    .wpa-admin-shell:not(.wpa-soc-dashboard) {
        width: calc(100% + 10px);
        margin-left: -10px;
        padding: 20px 16px 64px;
    }

    .wpa-admin-shell:not(.wpa-soc-dashboard) > h1:first-of-type {
        font-size: 27px;
    }

    .wpa-admin-shell:not(.wpa-soc-dashboard) .form-table,
    .wpa-admin-shell:not(.wpa-soc-dashboard) .form-table tbody,
    .wpa-admin-shell:not(.wpa-soc-dashboard) .form-table tr,
    .wpa-admin-shell:not(.wpa-soc-dashboard) .form-table th,
    .wpa-admin-shell:not(.wpa-soc-dashboard) .form-table td {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        min-width: 0;
    }

    .wpa-admin-shell:not(.wpa-soc-dashboard) .form-table th {
        padding-bottom: 6px;
        border-bottom: 0;
    }

    .wpa-admin-shell:not(.wpa-soc-dashboard) .form-table td {
        padding-top: 6px;
    }

    .wpa-admin-shell:not(.wpa-soc-dashboard) input.regular-text,
    .wpa-admin-shell:not(.wpa-soc-dashboard) input.large-text,
    .wpa-admin-shell:not(.wpa-soc-dashboard) textarea,
    .wpa-admin-shell:not(.wpa-soc-dashboard) select {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        min-width: 0;
    }
}

/* Security Events */
.wpa-security-events-page .wpa-security-events-header,
.wpa-timeline-page .wpa-timeline-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.wpa-security-events-page .wpa-security-events-header .wpa-page-title,
.wpa-timeline-page .wpa-timeline-header > h1 {
    margin: 0;
}

.wpa-security-events-page .wpa-filter-bar,
.wpa-timeline-page .wpa-filter-bar {
    margin: 18px 0 22px;
    padding: 16px;
    border: 1px solid var(--wpa-admin-border);
    border-radius: 14px;
    background: var(--wpa-admin-surface);
}

.wpa-security-events-page .wpa-filter-bar,
.wpa-timeline-page .wpa-filter-bar {
    align-items: flex-end;
    gap: 12px;
}

.wpa-security-events-page .wpa-filter-fields,
.wpa-timeline-page .wpa-filter-fields {
    display: grid;
    flex: 1 1 720px;
    gap: 12px;
}

.wpa-security-events-page .wpa-filter-fields {
    grid-template-columns: minmax(180px, 1.4fr) minmax(150px, 1fr) minmax(145px, 1fr) minmax(145px, 1fr);
}

.wpa-timeline-page .wpa-filter-fields {
    grid-template-columns: minmax(135px, .75fr) minmax(220px, 1.35fr) minmax(190px, 1fr) minmax(190px, 1fr);
}

.wpa-security-events-page .wpa-filter-field,
.wpa-timeline-page .wpa-filter-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.wpa-security-events-page .wpa-filter-field > span,
.wpa-timeline-page .wpa-filter-field > span {
    color: var(--wpa-admin-muted);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.wpa-security-events-page .wpa-filter-field select,
.wpa-security-events-page .wpa-filter-field input,
.wpa-timeline-page .wpa-filter-field select,
.wpa-timeline-page .wpa-filter-field input {
    width: 100%;
    min-height: 36px;
    margin: 0;
}

.wpa-security-events-page .wpa-filter-actions,
.wpa-timeline-page .wpa-filter-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.wpa-security-events-page .wpa-filter-context {
    display: flex;
    align-items: center;
    flex: 1 0 100%;
    gap: 8px;
    color: var(--wpa-admin-muted);
    font-size: 12px;
}

.wpa-security-events-page .wpa-filter-context a {
    color: #79bfff;
}

.wpa-security-events-page .wpa-event-count-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin: 18px 0 22px;
}

.wpa-security-events-page .wpa-event-count-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    box-sizing: border-box;
    min-width: 0;
    min-height: 84px;
    padding: 14px 16px;
    border: 1px solid var(--wpa-admin-border);
    border-left: 4px solid var(--wpa-event-count-accent, var(--wpa-admin-blue));
    border-radius: 12px;
    background: var(--wpa-admin-surface);
    color: var(--wpa-admin-text);
    text-decoration: none;
    transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}

.wpa-security-events-page .wpa-event-count-card:hover,
.wpa-security-events-page .wpa-event-count-card:focus {
    border-color: #5a5a5a;
    border-left-color: var(--wpa-event-count-accent, var(--wpa-admin-blue));
    background: var(--wpa-admin-surface-raised);
    color: var(--wpa-admin-text);
    transform: translateY(-1px);
}

.wpa-security-events-page .wpa-event-count-card:focus-visible {
    outline: 2px solid var(--wpa-event-count-accent, var(--wpa-admin-blue));
    outline-offset: 2px;
}

.wpa-security-events-page .wpa-event-count-card.is-active {
    background: var(--wpa-admin-surface-soft);
    box-shadow: inset 0 0 0 1px var(--wpa-event-count-accent, var(--wpa-admin-blue));
}

.wpa-security-events-page .wpa-event-count-card strong {
    color: var(--wpa-admin-text);
    font-size: 27px;
    font-weight: 650;
    line-height: 1;
}

.wpa-security-events-page .wpa-event-count-card span {
    color: #b9bdc7;
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.wpa-security-events-page .wpa-event-count-accent-blue {
    --wpa-event-count-accent: #79bfff;
}

.wpa-security-events-page .wpa-event-count-accent-red {
    --wpa-event-count-accent: #fb7185;
}

.wpa-security-events-page .wpa-event-count-accent-orange {
    --wpa-event-count-accent: #ff9d57;
}

.wpa-security-events-page .wpa-event-count-accent-green {
    --wpa-event-count-accent: #70d68b;
}

.wpa-security-events-page .wpa-event-count-accent-purple {
    --wpa-event-count-accent: #b49cff;
}

.wpa-security-events-page .wpa-event-count-accent-cyan {
    --wpa-event-count-accent: #67d4d8;
}

@media (max-width: 782px) {
    .wpa-security-events-page .wpa-event-count-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .wpa-security-events-page .wpa-event-count-grid {
        grid-template-columns: 1fr;
    }
}

.wpa-admin-shell.wpa-security-events-page .wpa-live-head,
.wpa-admin-shell.wpa-timeline-page .wpa-live-head {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.wpa-security-events-page .wpa-live-title,
.wpa-timeline-page .wpa-live-title {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
}

.wpa-security-events-page .wpa-live-pause-icon,
.wpa-timeline-page .wpa-live-pause-icon {
    display: none;
}

.wpa-security-events-page .wpa-live-toggle.is-active .wpa-live-play-icon,
.wpa-timeline-page .wpa-live-toggle.is-active .wpa-live-play-icon {
    display: none;
}

.wpa-security-events-page .wpa-live-toggle.is-active .wpa-live-pause-icon,
.wpa-timeline-page .wpa-live-toggle.is-active .wpa-live-pause-icon {
    display: block;
}

.wpa-security-events-page .wpa-live-toggle svg,
.wpa-timeline-page .wpa-live-toggle svg {
    width: 18px;
    height: 18px;
}

.wpa-security-events-page .wpa-logs-container,
.wpa-timeline-page .wpa-logs-container {
    border: 1px solid var(--wpa-admin-border);
    border-radius: 12px;
    overflow-x: auto;
}

.wpa-security-events-page table.wpa-table th:nth-child(n) {
    width: auto;
}

.wpa-security-events-page table.wpa-table th:nth-child(1) {
    width: 120px;
}

.wpa-security-events-page table.wpa-table th:nth-child(2),
.wpa-security-events-page table.wpa-table th:nth-child(3) {
    width: 140px;
}

.wpa-security-events-page table.wpa-table th:nth-child(4) {
    width: 125px;
}

.wpa-security-events-page table.wpa-table th:nth-child(5) {
    width: 60px;
}

.wpa-security-events-page table.wpa-table th:nth-child(6) {
    width: 80px;
}

.wpa-security-events-page table.wpa-table th:nth-child(7) {
    width: 220px;
}

.wpa-security-events-page table.wpa-table th:nth-child(8) {
    width: 120px;
}

@media (max-width: 782px) {
    body.wpauditor-page-wpauditor-security-events #wpwrap {
        overflow-x: hidden;
    }

    .wpa-security-events-page,
    .wpa-security-events-page #wpaSecurityEventsResults,
    .wpa-security-events-page .wpa-logs-container {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .wpa-security-events-page .wpa-logs-container {
        display: block;
        overflow-x: auto;
        overflow-y: hidden;
        contain: inline-size paint;
        -webkit-overflow-scrolling: touch;
    }
}

.wpa-security-events-page .wpa-expand-row {
    background: #1b1b1b;
}

.wpa-security-events-page .wpa-action-icon-btn,
.wpa-timeline-page .wpa-action-icon-btn {
    width: 28px;
    height: 28px;
    min-width: 28px;
    min-height: 28px;
    border: none !important;
    border-radius: 7px;
    background: transparent !important;
    color: #d4d4d8 !important;
    transition: border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.wpa-security-events-page .wpa-action-icon-btn {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .05) !important;
    border-radius: 0;
}

.wpa-security-events-page .wpa-expand-btn {
    margin-left: 6px;
}

.wpa-security-events-page .wpa-action-icon-btn:hover,
.wpa-security-events-page .wpa-action-icon-btn:focus,
.wpa-timeline-page .wpa-action-icon-btn:hover,
.wpa-timeline-page .wpa-action-icon-btn:focus {
    border-color: #737373 !important;
    background: transparent !important;
    color: #fff !important;
}

.wpa-security-events-page .wpa-action-icon-btn:focus-visible,
.wpa-timeline-page .wpa-action-icon-btn:focus-visible {
    box-shadow: 0 0 0 2px #1f1f1f, 0 0 0 4px rgba(121, 191, 255, .55) !important;
    outline: none;
}

.wpa-security-events-page .wpa-block-btn[data-action="block"],
.wpa-timeline-page .wpa-block-btn[data-action="block"] {
    border-color: rgba(251, 113, 133, .42) !important;
    background: transparent !important;
    color: #fb7185 !important;
}

.wpa-security-events-page .wpa-block-btn[data-action="block"]:hover,
.wpa-security-events-page .wpa-block-btn[data-action="block"]:focus,
.wpa-timeline-page .wpa-block-btn[data-action="block"]:hover,
.wpa-timeline-page .wpa-block-btn[data-action="block"]:focus {
    border-color: rgba(251, 113, 133, .72) !important;
    background: transparent !important;
    color: #fecdd3 !important;
}

.wpa-security-events-page .wpa-block-btn[data-action="unblock"],
.wpa-timeline-page .wpa-block-btn[data-action="unblock"] {
    border-color: rgba(74, 222, 128, .4) !important;
    background: transparent !important;
    color: #4ade80 !important;
}

.wpa-security-events-page .wpa-block-btn[data-action="unblock"]:hover,
.wpa-security-events-page .wpa-block-btn[data-action="unblock"]:focus,
.wpa-timeline-page .wpa-block-btn[data-action="unblock"]:hover,
.wpa-timeline-page .wpa-block-btn[data-action="unblock"]:focus {
    border-color: rgba(74, 222, 128, .7) !important;
    background: transparent !important;
    color: #bbf7d0 !important;
}

.wpa-security-events-page .wpa-ai-explain-btn,
.wpa-timeline-page .wpa-ai-explain-btn {
    border-color: rgba(121, 191, 255, .42) !important;
    background: transparent !important;
    color: #79bfff !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
}

.wpa-security-events-page .wpa-ai-explain-btn:hover,
.wpa-security-events-page .wpa-ai-explain-btn:focus,
.wpa-timeline-page .wpa-ai-explain-btn:hover,
.wpa-timeline-page .wpa-ai-explain-btn:focus {
    border-color: rgba(121, 191, 255, .72) !important;
    background: transparent !important;
    color: #dbeafe !important;
}

.wpa-security-events-page .wpa-action-icon-btn:hover,
.wpa-security-events-page .wpa-action-icon-btn:focus {
    border-color: rgba(255, 255, 255, .08) !important;
}

.wpa-security-events-page .wpa-block-btn[data-action="block"] {
    border-color: rgba(251, 113, 133, .05) !important;
}

.wpa-security-events-page .wpa-block-btn[data-action="block"]:hover,
.wpa-security-events-page .wpa-block-btn[data-action="block"]:focus {
    border-color: rgba(251, 113, 133, .08) !important;
}

.wpa-security-events-page .wpa-block-btn[data-action="unblock"] {
    border-color: rgba(74, 222, 128, .05) !important;
}

.wpa-security-events-page .wpa-block-btn[data-action="unblock"]:hover,
.wpa-security-events-page .wpa-block-btn[data-action="unblock"]:focus {
    border-color: rgba(74, 222, 128, .08) !important;
}

.wpa-security-events-page .wpa-ai-explain-btn {
    border-color: rgba(121, 191, 255, .05) !important;
}

.wpa-security-events-page .wpa-ai-explain-btn:hover,
.wpa-security-events-page .wpa-ai-explain-btn:focus {
    border-color: rgba(121, 191, 255, .08) !important;
}

.wpa-timeline-page .wpa-expand-btn,
.wpa-timeline-page .wpa-ai-explain-btn {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .05) !important;
    border-radius: 0;
}

.wpa-timeline-page .wpa-ai-explain-btn {
    margin-left: 0;
    border-color: rgba(121, 191, 255, .05) !important;
}

.wpa-timeline-page .wpa-session-toggle {
    margin-left: 6px;
}

.wpa-timeline-page .wpa-session-toggle,
.wpa-timeline-page .wpa-ai-session-btn {
    margin-top: 8px;
}

.wpa-timeline-page .wpa-expand-btn:hover,
.wpa-timeline-page .wpa-expand-btn:focus {
    border-color: rgba(255, 255, 255, .08) !important;
}

.wpa-timeline-page .wpa-ai-explain-btn:hover,
.wpa-timeline-page .wpa-ai-explain-btn:focus {
    border-color: rgba(121, 191, 255, .08) !important;
}

.wpa-security-events-page .wpa-action-icon-btn:disabled,
.wpa-timeline-page .wpa-action-icon-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.wpa-security-events-page .wpa-action-icon-btn .dashicons,
.wpa-timeline-page .wpa-action-icon-btn .dashicons {
    width: 16px;
    height: 16px;
    font-size: 16px;
    line-height: 16px;
}

/* Shared action confirmation dialogs */
body.wpa-confirm-dialog-open {
    overflow: hidden;
}

.wpa-confirm-dialog[hidden] {
    display: none;
}

.wpa-confirm-dialog {
    position: fixed;
    z-index: 100100;
    inset: 0;
    display: grid;
    place-items: center;
    box-sizing: border-box;
    padding: 24px;
    background: rgba(5, 5, 5, .76);
    backdrop-filter: blur(5px);
}

.wpa-confirm-dialog-panel {
    width: min(480px, 100%);
    overflow: hidden;
    border: 1px solid var(--wpa-admin-border);
    border-top: 3px solid var(--wpa-admin-red);
    border-radius: 16px;
    background: var(--wpa-admin-surface);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .52);
    color: var(--wpa-admin-text);
    animation: wpa-confirm-dialog-in .16s ease-out;
}

#wpaIpConfirmDialog:not(.wpa-confirm-dialog-simple) .wpa-confirm-dialog-panel,
.wpa-confirm-dialog-ip .wpa-confirm-dialog-panel {
    width: min(420px, 100%);
}

#wpaIpConfirmDialog:not(.wpa-confirm-dialog-simple) .wpa-confirm-dialog-head,
.wpa-confirm-dialog-ip .wpa-confirm-dialog-head {
    padding: 16px 18px 14px;
}

#wpaIpConfirmDialog:not(.wpa-confirm-dialog-simple) .wpa-confirm-dialog-body,
.wpa-confirm-dialog-ip .wpa-confirm-dialog-body {
    padding: 16px 18px;
}

#wpaIpConfirmDialog .wpa-confirm-dialog-body > p:last-child,
.wpa-confirm-dialog-ip .wpa-confirm-dialog-body > p:last-child {
    margin-bottom: 0;
}

#wpaIpConfirmDialog:not(.wpa-confirm-dialog-simple) .wpa-confirm-dialog-actions,
.wpa-confirm-dialog-ip .wpa-confirm-dialog-actions {
    padding: 12px 18px 16px;
}

.wpa-confirm-dialog-ip #wpaActionConfirmDescription,
.wpa-confirm-dialog[data-action="mode"] #wpaActionConfirmDescription {
    white-space: pre-line;
}

#wpaActionConfirmIcon[hidden],
#wpaActionConfirmClose[hidden],
#wpaIpConfirmDialog .wpa-confirm-dialog-icon[hidden],
#wpaIpConfirmDialog .wpa-confirm-dialog-close[hidden] {
    display: none !important;
}

.wpa-confirm-dialog-simple .wpa-confirm-dialog-panel {
    width: min(380px, 100%);
    border-top: 1px solid var(--wpa-admin-border);
    border-radius: 10px;
    box-shadow: 0 16px 45px rgba(0, 0, 0, .42);
}

.wpa-confirm-dialog:not(.wpa-confirm-dialog-simple)[data-action="unblock"] .wpa-confirm-dialog-panel,
.wpa-confirm-dialog:not(.wpa-confirm-dialog-simple)[data-action="restore"] .wpa-confirm-dialog-panel {
    border-top-color: var(--wpa-admin-green);
}

.wpa-confirm-dialog-head {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 32px;
    gap: 13px;
    align-items: center;
    padding: 20px 22px 16px;
    border-bottom: 1px solid var(--wpa-admin-border-soft);
}

.wpa-confirm-dialog-simple .wpa-confirm-dialog-head {
    grid-template-columns: minmax(0, 1fr);
    padding: 16px 18px 12px;
}

.wpa-confirm-dialog-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: rgba(255, 139, 139, .12);
    color: var(--wpa-admin-red);
}

.wpa-confirm-dialog[data-action="unblock"] .wpa-confirm-dialog-icon,
.wpa-confirm-dialog[data-action="restore"] .wpa-confirm-dialog-icon {
    background: rgba(112, 214, 139, .12);
    color: var(--wpa-admin-green);
}

.wpa-confirm-dialog-icon .dashicons {
    width: 20px;
    height: 20px;
    font-size: 20px;
    line-height: 20px;
}

.wpa-confirm-dialog-eyebrow {
    margin: 0 0 3px !important;
    color: var(--wpa-admin-muted) !important;
    font-size: 11px;
    font-weight: 650;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.wpa-confirm-dialog-head h2 {
    margin: 0 !important;
    color: var(--wpa-admin-text) !important;
    font-size: 20px !important;
    font-weight: 650;
    line-height: 1.25;
}

.wpa-confirm-dialog-simple .wpa-confirm-dialog-head h2 {
    font-size: 17px !important;
}

.wpa-confirm-dialog-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--wpa-admin-muted);
    cursor: pointer;
}

.wpa-confirm-dialog-close:hover,
.wpa-confirm-dialog-close:focus {
    background: var(--wpa-admin-surface-soft);
    color: var(--wpa-admin-text);
}

.wpa-confirm-dialog-close:focus-visible {
    outline: 2px solid var(--wpa-admin-blue);
    outline-offset: 2px;
}

.wpa-confirm-dialog-body {
    padding: 20px 22px;
}

.wpa-confirm-dialog-simple .wpa-confirm-dialog-body {
    padding: 14px 18px;
}

.wpa-confirm-dialog-body > p {
    margin: 0 0 15px;
    color: var(--wpa-admin-muted);
    line-height: 1.55;
}

.wpa-confirm-dialog-target {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    border: 1px solid var(--wpa-admin-border);
    border-radius: 10px;
    background: var(--wpa-admin-surface-soft);
}

.wpa-confirm-dialog-simple .wpa-confirm-dialog-target {
    margin-bottom: 12px;
    padding: 9px 11px;
    border-radius: 6px;
}

.wpa-confirm-dialog-target span {
    color: var(--wpa-admin-muted);
    font-size: 12px;
    font-weight: 600;
}

.wpa-confirm-dialog-target code {
    padding: 0;
    background: transparent;
    color: var(--wpa-admin-text);
    font-size: 13px;
    font-weight: 650;
    word-break: break-all;
}

.wpa-confirm-dialog-body .wpa-confirm-dialog-note {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 0;
    padding: 10px 12px;
    border-radius: 9px;
    background: rgba(121, 191, 255, .08);
    color: #b9dcfb;
    font-size: 12px;
}

.wpa-confirm-dialog-note .dashicons {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    font-size: 16px;
    line-height: 16px;
}

.wpa-confirm-dialog-body .wpa-confirm-dialog-simple-note {
    margin: 0;
    color: var(--wpa-admin-muted);
    font-size: 12px;
    line-height: 1.45;
}

.wpa-confirm-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 22px 20px;
    border-top: 1px solid var(--wpa-admin-border-soft);
    background: #202020;
}

.wpa-confirm-dialog-simple .wpa-confirm-dialog-actions {
    gap: 8px;
    padding: 12px 18px 16px;
    background: var(--wpa-admin-surface);
}

body.wpauditor-admin-page .wpa-confirm-dialog-actions .button {
    min-width: 96px;
    min-height: 36px;
    border-radius: 9px;
}

body.wpauditor-admin-page .wpa-confirm-dialog-simple .wpa-confirm-dialog-actions .button {
    min-width: 0;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 10px;
    box-shadow: none;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
}

body.wpauditor-admin-page .wpa-confirm-dialog-simple .wpa-confirm-dialog-cancel {
    border-color: #555;
    background: #373737;
    color: var(--wpa-admin-text);
}

body.wpauditor-admin-page .wpa-confirm-dialog-simple .wpa-confirm-dialog-cancel:hover,
body.wpauditor-admin-page .wpa-confirm-dialog-simple .wpa-confirm-dialog-cancel:focus {
    border-color: #6a6a6a;
    background: #434343;
    color: #fff;
}

body.wpauditor-admin-page .wpa-confirm-dialog-simple[data-action="restore"] .wpa-confirm-dialog-confirm,
body.wpauditor-admin-page .wpa-confirm-dialog-simple[data-action="mode"] .wpa-confirm-dialog-confirm {
    border-color: #315b7d;
    background: #0c3c63;
    color: #b9dcfb;
}

body.wpauditor-admin-page .wpa-confirm-dialog-simple[data-action="restore"] .wpa-confirm-dialog-confirm:hover,
body.wpauditor-admin-page .wpa-confirm-dialog-simple[data-action="restore"] .wpa-confirm-dialog-confirm:focus,
body.wpauditor-admin-page .wpa-confirm-dialog-simple[data-action="mode"] .wpa-confirm-dialog-confirm:hover,
body.wpauditor-admin-page .wpa-confirm-dialog-simple[data-action="mode"] .wpa-confirm-dialog-confirm:focus {
    border-color: #4d82ab;
    background: #114d7d;
    color: #fff;
}

body.wpauditor-admin-page .wpa-confirm-dialog-simple:not([data-action="restore"]):not([data-action="mode"]) .wpa-confirm-dialog-confirm {
    border-color: #7a3d3d;
    background: #4b2929;
    color: #ffb1b1;
}

body.wpauditor-admin-page .wpa-confirm-dialog-simple:not([data-action="restore"]):not([data-action="mode"]) .wpa-confirm-dialog-confirm:hover,
body.wpauditor-admin-page .wpa-confirm-dialog-simple:not([data-action="restore"]):not([data-action="mode"]) .wpa-confirm-dialog-confirm:focus {
    border-color: #985050;
    background: #5c3131;
    color: #ffd0d0;
}

body.wpauditor-admin-page .wpa-confirm-dialog:not(.wpa-confirm-dialog-simple) .wpa-confirm-dialog-actions .wpa-confirm-dialog-confirm,
body.wpauditor-admin-page #wpaIpConfirmDialog.wpa-confirm-dialog-simple .wpa-confirm-dialog-confirm {
    border-color: #8c414b;
    background: #5c2f36;
    color: #ffd8dd;
}

body.wpauditor-admin-page .wpa-confirm-dialog:not(.wpa-confirm-dialog-simple) .wpa-confirm-dialog-actions .wpa-confirm-dialog-confirm:hover,
body.wpauditor-admin-page .wpa-confirm-dialog:not(.wpa-confirm-dialog-simple) .wpa-confirm-dialog-actions .wpa-confirm-dialog-confirm:focus,
body.wpauditor-admin-page #wpaIpConfirmDialog.wpa-confirm-dialog-simple .wpa-confirm-dialog-confirm:hover,
body.wpauditor-admin-page #wpaIpConfirmDialog.wpa-confirm-dialog-simple .wpa-confirm-dialog-confirm:focus {
    border-color: #b95a66;
    background: #713841;
    color: #fff;
}

body.wpauditor-admin-page .wpa-confirm-dialog:not(.wpa-confirm-dialog-simple)[data-action="unblock"] .wpa-confirm-dialog-confirm,
body.wpauditor-admin-page .wpa-confirm-dialog:not(.wpa-confirm-dialog-simple)[data-action="restore"] .wpa-confirm-dialog-confirm,
body.wpauditor-admin-page #wpaIpConfirmDialog.wpa-confirm-dialog-simple[data-action="unblock"] .wpa-confirm-dialog-confirm {
    border-color: #397c4b;
    background: #285737;
    color: #d5f8de;
}

body.wpauditor-admin-page .wpa-confirm-dialog:not(.wpa-confirm-dialog-simple)[data-action="unblock"] .wpa-confirm-dialog-confirm:hover,
body.wpauditor-admin-page .wpa-confirm-dialog:not(.wpa-confirm-dialog-simple)[data-action="unblock"] .wpa-confirm-dialog-confirm:focus,
body.wpauditor-admin-page .wpa-confirm-dialog:not(.wpa-confirm-dialog-simple)[data-action="restore"] .wpa-confirm-dialog-confirm:hover,
body.wpauditor-admin-page .wpa-confirm-dialog:not(.wpa-confirm-dialog-simple)[data-action="restore"] .wpa-confirm-dialog-confirm:focus,
body.wpauditor-admin-page #wpaIpConfirmDialog.wpa-confirm-dialog-simple[data-action="unblock"] .wpa-confirm-dialog-confirm:hover,
body.wpauditor-admin-page #wpaIpConfirmDialog.wpa-confirm-dialog-simple[data-action="unblock"] .wpa-confirm-dialog-confirm:focus {
    border-color: #4da562;
    background: #326d45;
    color: #fff;
}

@keyframes wpa-confirm-dialog-in {
    from {
        opacity: 0;
        transform: translateY(8px) scale(.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 480px) {
    .wpa-confirm-dialog {
        align-items: end;
        padding: 12px;
    }

    .wpa-confirm-dialog-head,
    .wpa-confirm-dialog-body {
        padding-right: 18px;
        padding-left: 18px;
    }

    .wpa-confirm-dialog-actions {
        padding-right: 18px;
        padding-left: 18px;
    }

    .wpa-confirm-dialog-actions .button {
        flex: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wpa-confirm-dialog-panel {
        animation: none;
    }
}

.wpa-security-events-page .wpa-expand-box {
    border: 1px solid var(--wpa-admin-border);
    border-radius: 10px;
    background: #202020;
}

/* Security Timeline */
.wpa-timeline-page .wpa-chart-card {
    margin: 20px 0 26px;
    padding: 18px;
}

.wpa-timeline-page .wpa-chart-toolbar {
    margin: 0 0 12px;
    padding: 0;
    border: 0;
    background: transparent;
}

.wpa-timeline-page .wpa-chart-wrap {
    height: 420px;
}

.wpa-timeline-page .wpa-chart-wrap canvas.wpa-chart-pannable {
    cursor: grab !important;
}

.wpa-timeline-page .wpa-chart-wrap canvas.wpa-chart-panning {
    cursor: grabbing !important;
}

.wpa-timeline-page .wpa-score-filters {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.wpa-timeline-page .wpa-score-filter {
    display: inline-flex;
    border-radius: var(--wpa-component-radius-pill, 999px);
    text-decoration: none;
}

.wpa-timeline-page .wpa-score-filter:hover,
.wpa-timeline-page .wpa-score-filter:focus {
    text-decoration: none;
}

.wpa-timeline-page .wpa-score-filter-active > span {
    box-shadow: 0 0 0 1px var(--wpa-admin-blue);
}

.wpa-timeline-page .wpa-chart-context {
    flex: 0 0 auto;
    margin-left: 5px;
    color: var(--wpa-admin-muted, #a3a3a3);
    font-size: 12px;
    white-space: nowrap;
}

.wpa-timeline-page .wpa-chart-empty {
    display: flex;
    min-height: 220px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 7px;
    border: 1px dashed var(--wpa-admin-border);
    border-radius: 10px;
    color: var(--wpa-admin-muted, #a3a3a3);
    text-align: center;
}

.wpa-timeline-page .wpa-chart-empty .dashicons {
    width: 28px;
    height: 28px;
    color: var(--wpa-admin-blue);
    font-size: 28px;
    line-height: 28px;
}

.wpa-timeline-page .wpa-chart-empty strong {
    color: var(--wpa-admin-text);
    font-size: 14px;
}

.wpa-timeline-page .wpa-chart-empty > span:last-child {
    max-width: 380px;
    font-size: 12px;
}

.wpa-timeline-page .timeline-session {
    transition: box-shadow .2s ease;
}

.wpa-timeline-page .timeline-session.wpa-session-highlight {
    box-shadow: 0 0 0 3px var(--wpa-tone-info-border);
}

.wpa-timeline-page .timeline-session {
    margin-bottom: 14px;
    padding: 0;
    overflow: hidden;
    border-left: 3px solid var(--wpa-session-accent, var(--wpa-admin-blue));
}

.wpa-timeline-page .wpa-session-overview {
    padding: 18px 20px;
}

.wpa-timeline-page .wpa-session-heading,
.wpa-timeline-page .wpa-session-actions,
.wpa-timeline-page .wpa-session-metrics {
    display: flex;
    align-items: center;
}

.wpa-timeline-page .wpa-session-heading {
    justify-content: space-between;
    gap: 16px;
}

.wpa-timeline-page .wpa-session-identity {
    min-width: 0;
    color: var(--wpa-admin-text);
    font-size: 15px;
}

.wpa-timeline-page .wpa-session-identity code {
    padding: 0;
    background: transparent;
    color: inherit;
    font-size: inherit;
}

.wpa-timeline-page .wpa-session-risk {
    flex: 0 0 auto;
}

.wpa-timeline-page .wpa-session-client {
    margin-top: 7px;
    color: var(--wpa-admin-muted, #a3a3a3);
    font-size: 13px;
}

.wpa-timeline-page .wpa-session-metrics {
    gap: 0;
    flex-wrap: wrap;
    margin-top: 12px;
    color: var(--wpa-admin-muted, #a3a3a3);
    font-size: 13px;
}

.wpa-timeline-page .wpa-session-metrics > span:not(:last-child)::after {
    content: "\00b7";
    margin: 0 8px;
    color: var(--wpa-admin-border);
}

.wpa-timeline-page .wpa-session-metrics strong {
    color: var(--wpa-admin-text);
}

.wpa-timeline-page .wpa-session-actions {
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.wpa-timeline-page .wpa-session-actions .wpa-ip-action-form {
    margin: 0;
}

.wpa-timeline-page .wpa-session-actions .wpa-ai-session-btn,
.wpa-timeline-page .wpa-session-actions .wpa-session-toggle {
    margin: 0;
}

.wpa-timeline-page .wpa-session-actions .wpa-session-action {
    display: inline-flex;
    width: auto;
    min-width: 0;
    height: 32px;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0;
    padding: 0 10px;
    border-radius: 7px;
    font-size: 12px;
}

.wpa-timeline-page .wpa-session-technical {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid var(--wpa-admin-border-soft);
    border-radius: 9px;
    background: var(--wpa-admin-surface-soft);
}

.wpa-timeline-page .wpa-session-technical > div {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.wpa-timeline-page .wpa-session-technical span {
    color: var(--wpa-admin-muted, #a3a3a3);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.wpa-timeline-page .wpa-session-technical code {
    overflow-wrap: anywhere;
}

.wpa-timeline-page .wpa-session-technical-ua {
    grid-column: 1 / -1;
}

.wpa-timeline-page .session-body {
    padding: 0 20px 20px;
}

.wpa-timeline-page table.wpa-table th:nth-child(n) {
    width: auto;
}

.wpa-timeline-page table.wpa-table th:nth-child(1) {
    width: 165px;
}

.wpa-timeline-page table.wpa-table th:nth-child(2) {
    width: 210px;
}

.wpa-timeline-page table.wpa-table th:nth-child(3) {
    width: 120px;
}

.wpa-timeline-page .toggle-button {
    min-height: 34px;
    padding: 4px 12px;
    border: 1px solid #4478a1;
    border-radius: 8px;
    background: var(--wpa-admin-blue-deep);
    color: #b9dcfb;
}

/* File-security scanners */
.wpa-scanner-page .wpauditor-loader {
    margin: 20px 0;
    padding: 52px 24px;
    border: 1px solid var(--wpa-admin-border);
    border-radius: 16px;
    background: var(--wpa-admin-surface);
}

.wpa-scanner-page form > .wpa-scanner-table,
.wpa-scanner-page > .wpa-scanner-table,
.wpa-scanner-page #wpauditor-result > .wpa-scanner-table,
.wpa-scanner-page #wpauditor-monitoring-result > form > .wpa-scanner-table,
.wpa-scanner-page #wpauditor-core-integrity-result > .wpa-scanner-table {
    margin-top: 18px;
}

.wpa-scanner-page .wpa-permission-risk,
.wpa-scanner-page .wpa-text-danger {
    color: #ff9a9a;
}

.wpa-scanner-page .wpa-signal-count-badge {
    background: #343434;
    color: var(--wpa-admin-text);
}

.wpa-core-integrity-fresh {
    color: #9fc58f;
    font-weight: 600;
}

.wpa-core-integrity-summary {
    grid-template-columns: repeat(6, minmax(110px, 1fr));
}

.wpa-core-summary-modified,
.wpa-core-summary-unexpected {
    border-left-color: var(--wpa-admin-red);
}

.wpa-core-summary-missing {
    border-left-color: var(--wpa-admin-orange);
}

.wpa-core-summary-unreadable {
    border-left-color: #b49cff;
}

.wpa-core-summary-verified {
    border-left-color: #6f9f62;
}

.wpa-forensics-filter-form.wpa-core-integrity-filter-form {
    grid-template-columns: minmax(180px, .8fr) minmax(280px, 2fr) auto;
}

@media (max-width: 782px) {
    .wpa-forensics-filter-form.wpa-core-integrity-filter-form {
        grid-template-columns: 1fr;
        max-width: none;
    }
}

/* Suspicious uploads severity UI */
.wpa-suspicious-page .wpa-col-severity {
    width: 118px;
}

body.wpauditor-admin-page .wpa-admin-shell.wpa-suspicious-page table.widefat.wpa-scanner-table.striped > tbody > tr {
    background: #252525;
}

body.wpauditor-admin-page .wpa-admin-shell.wpa-suspicious-page table.widefat.wpa-scanner-table.striped > tbody > tr:hover {
    background: #2c2c2c;
}

.wpa-suspicious-severity-overview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 18px 0 0;
    padding: 16px 18px;
    border: 1px solid var(--wpa-admin-border);
    border-radius: 12px;
    background: var(--wpa-admin-surface);
}

.wpa-suspicious-severity-heading {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 180px;
}

.wpa-suspicious-severity-heading strong {
    font-size: 14px;
    font-weight: 650;
}

.wpa-suspicious-severity-heading span {
    color: var(--wpa-admin-muted);
    font-size: 12px;
}

.wpa-suspicious-severity-summary {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.wpa-suspicious-page .wpa-severity-summary-item {
    gap: 7px;
}

.wpa-suspicious-page .wpa-severity-summary-item strong {
    padding-left: 7px;
    border-left: 1px solid currentColor;
    color: inherit;
}

@media (max-width: 782px) {
    .wpa-suspicious-severity-overview {
        align-items: flex-start;
        flex-direction: column;
    }

    .wpa-suspicious-severity-summary {
        justify-content: flex-start;
    }
}

/* AI Analyst and operations */
.wpa-ai-analyst-page .wpa-ai-page-intro {
    max-width: 840px;
    margin: 6px 0 0;
    color: var(--wpa-admin-muted);
    font-size: 14px;
    line-height: 1.6;
}

.wpa-ai-analyst-page .wpa-ai-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, .85fr);
    gap: 18px;
    margin-top: 24px;
}

.wpa-ai-analyst-page .wpa-ai-card {
    padding: 22px;
}

.wpa-ai-analyst-page .wpa-ai-card-head,
.wpa-ai-analyst-page .wpa-ai-status-head,
.wpa-ai-analyst-page .wpa-ai-history-head,
.wpa-ai-analyst-page .wpa-ai-history-actions,
.wpa-ai-analyst-page .wpa-ai-usage-head {
    display: flex;
    align-items: center;
}

.wpa-ai-analyst-page .wpa-ai-card-head {
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

.wpa-ai-analyst-page .wpa-ai-card-head > div {
    min-width: 0;
}

.wpa-ai-analyst-page .wpa-ai-card-head .wpa-ai-subtle {
    max-width: 680px;
    margin: 0;
    line-height: 1.55;
}

.wpa-ai-analyst-page .wpa-ai-card-head .button-primary {
    flex: 0 0 auto;
}

.wpa-ai-analyst-page .wpa-ai-title {
    color: var(--wpa-admin-text);
    font-size: 17px;
    line-height: 1.35;
}

.wpa-ai-analyst-page .wpa-ai-primary-card .wpa-ai-result {
    min-height: 180px;
}

.wpa-ai-analyst-page .wpa-ai-status-head {
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--wpa-admin-border-soft);
}

.wpa-ai-analyst-page .wpa-ai-status-head .wpa-ai-title {
    margin: 0;
}

.wpa-ai-analyst-page .wpa-ai-state {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 9px;
    border: 1px solid var(--wpa-admin-border);
    border-radius: 999px;
    color: var(--wpa-admin-muted);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.4;
}

.wpa-ai-analyst-page .wpa-ai-state.is-ready {
    border-color: rgba(96, 165, 250, .3);
    background: rgba(96, 165, 250, .14);
    color: #93c5fd;
}

.wpa-ai-analyst-page .wpa-ai-state.is-warning {
    border-color: rgba(255, 157, 87, .45);
    background: rgba(255, 157, 87, .08);
    color: var(--wpa-admin-orange);
}

.wpa-ai-analyst-page .wpa-ai-status-list {
    margin: 4px 0 16px;
}

.wpa-ai-analyst-page .wpa-ai-status-list > div {
    display: grid;
    grid-template-columns: minmax(80px, .7fr) minmax(0, 1.3fr);
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--wpa-admin-border-soft);
}

.wpa-ai-analyst-page .wpa-ai-status-list dt {
    color: var(--wpa-admin-muted);
}

.wpa-ai-analyst-page .wpa-ai-status-list dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--wpa-admin-text);
    font-weight: 600;
    text-align: right;
}

.wpa-ai-analyst-page .wpa-ai-usage-head {
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 7px;
    color: var(--wpa-admin-muted);
    font-size: 12px;
}

.wpa-ai-analyst-page .wpa-ai-usage-head strong {
    color: var(--wpa-admin-text);
}

.wpa-ai-analyst-page .wpa-ai-usage-track {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--wpa-admin-surface-soft);
}

.wpa-ai-analyst-page .wpa-ai-usage-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--wpa-admin-blue);
}

.wpa-ai-analyst-page .wpa-ai-settings-link {
    margin: 18px 0 0;
}

.wpa-ai-analyst-page .wpa-ai-history-card {
    max-width: none;
    margin-top: 18px;
}

.wpa-ai-analyst-page .wpa-ai-history-head {
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--wpa-admin-border-soft);
}

.wpa-ai-analyst-page .wpa-ai-section-note {
    margin: 4px 0 0;
    color: var(--wpa-admin-muted);
    font-size: 12px;
}

.wpa-ai-analyst-page .wpa-ai-history-actions {
    flex: 0 0 auto;
    gap: 8px;
}

.wpa-ai-analyst-page .wpa-ai-history-item {
    margin-top: 10px;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--wpa-admin-border-soft);
    border-radius: 10px;
    background: var(--wpa-admin-surface-raised);
}

.wpa-ai-analyst-page .wpa-ai-history-head + .wpa-ai-history-item {
    margin-top: 14px;
    padding-top: 0;
    border-top: 1px solid var(--wpa-admin-border-soft);
}

.wpa-ai-analyst-page .wpa-ai-history-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    min-height: 68px;
    padding: 13px 16px;
    border: 0;
    background: transparent;
    color: var(--wpa-admin-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.wpa-ai-analyst-page .wpa-ai-history-toggle:hover {
    background: rgba(121, 191, 255, .05);
}

.wpa-ai-analyst-page .wpa-ai-history-toggle:focus-visible {
    outline: 2px solid var(--wpa-admin-blue);
    outline-offset: -2px;
}

.wpa-ai-analyst-page .wpa-ai-history-summary {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
}

.wpa-ai-analyst-page .wpa-ai-history-summary strong {
    color: var(--wpa-admin-text);
    font-size: 14px;
    line-height: 1.4;
}

.wpa-ai-analyst-page .wpa-ai-history-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    color: var(--wpa-admin-muted);
    font-size: 12px;
    line-height: 1.4;
}

.wpa-ai-analyst-page .wpa-ai-history-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border: 1px solid var(--wpa-admin-border);
    border-radius: 8px;
    color: var(--wpa-admin-blue);
}

.wpa-ai-analyst-page .wpa-ai-history-body {
    padding: 0 16px 16px;
    border-top: 1px solid var(--wpa-admin-border-soft);
}

.wpa-ai-analyst-page .wpa-ai-history-body[hidden] {
    display: none;
}

.wpa-ai-analyst-page .wpa-ai-history-body .wpa-ai-result {
    min-height: 0;
    margin-top: 16px;
}

.wpa-ai-analyst-page .wpa-ai-empty-state {
    margin-top: 14px;
    padding: 28px 18px;
    border: 1px dashed var(--wpa-admin-border);
    border-radius: 10px;
    color: var(--wpa-admin-muted);
    text-align: center;
}

.wpa-ip-blocklist-page .wpa-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 0;
}

.wpa-ip-blocklist-page .wpa-kpi {
    min-width: 0;
    padding: 18px;
    border-radius: 16px;
}

.wpa-ip-blocklist-page .wpa-kpi .value {
    margin-top: 7px;
    color: var(--wpa-admin-text);
    font-size: 28px;
    font-weight: 650;
}

.wpa-ip-blocklist-page .wpa-ipbl-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 12px 0 16px;
}

.wpa-ip-blocklist-page .wpa-ipbl-summary .wpa-forensics-summary-card {
    gap: 3px;
    padding: 12px 14px;
}

.wpa-ipbl-summary .wpa-ipbl-summary-synced {
    border-left-color: #2f9e67;
}

.wpa-ipbl-summary .wpa-ipbl-summary-not-synced {
    border-left-color: var(--wpa-admin-orange);
}

.wpa-ipbl-summary .wpa-ipbl-summary-unknown {
    border-left-color: #8c8f94;
}

.wpa-ip-blocklist-page .wpa-ipbl-filter-form {
    display: grid;
    grid-template-columns: minmax(180px, .8fr) minmax(260px, 2fr) auto;
    align-items: end;
    gap: 10px;
    margin: 12px 0 8px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.wpa-ip-blocklist-page .wpa-ipbl-filter-search-only {
    grid-template-columns: minmax(260px, 1fr) auto;
}

.wpa-ip-blocklist-page .wpa-ipbl-connection,
.wpa-settings-page .wpa-ipbl-connection {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 8px 0 4px;
    color: var(--wpa-admin-muted);
    font-size: 12px;
}

.wpa-ipbl-connection-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--wpa-admin-orange);
}

.wpa-ipbl-connection.is-connected .wpa-ipbl-connection-dot {
    background: var(--wpa-admin-green);
}

.wpa-ip-blocklist-page .wpa-ipbl-management-bar {
    grid-template-columns: minmax(300px, .8fr) minmax(260px, .75fr) minmax(340px, 1.1fr);
    align-items: end;
    gap: 16px;
    margin: 14px 0 12px;
}

.wpa-ip-blocklist-page .wpa-ipbl-management-bar .wpa-ipbl-filter-form {
    margin: 0;
}

.wpa-ip-blocklist-page .wpa-ipbl-management-bar input[type="text"],
.wpa-ip-blocklist-page .wpa-ipbl-management-bar input[type="search"],
.wpa-ip-blocklist-page .wpa-ipbl-management-bar select,
.wpa-ip-blocklist-page .wpa-ipbl-management-bar .button {
    box-sizing: border-box;
    height: 42px;
    min-height: 42px;
}

.wpa-ip-blocklist-page .wpa-ipbl-filter-form .wpa-forensics-filter-actions .button {
    min-width: 72px;
}

.wpa-ip-blocklist-page .wpa-ipbl-action-bar {
    min-width: 0;
}

.wpa-ip-blocklist-page .wpa-ipbl-add-form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto;
    grid-template-areas:
        "label label"
        "input button";
    align-items: end;
    gap: 8px 10px;
}

.wpa-ip-blocklist-page .wpa-ipbl-add-form label {
    grid-area: label;
}

.wpa-ip-blocklist-page .wpa-ipbl-add-form .wpa-input-ip {
    grid-area: input;
    width: 100%;
}

.wpa-ip-blocklist-page .wpa-ipbl-add-form .button {
    grid-area: button;
}

.wpa-ip-blocklist-page .wpa-ipbl-add-form label {
    color: var(--wpa-admin-muted);
    font-size: 12px;
    font-weight: 600;
}

.wpa-ip-blocklist-page .wpa-ipbl-refresh-form {
    display: inline-flex;
    margin: 0;
}

.wpa-ip-blocklist-page .wpa-ipbl-refresh-form .button-link {
    min-height: 0;
    padding: 0;
    color: var(--wpa-admin-blue);
    line-height: 1.5;
}

.wpa-ip-blocklist-page .wpa-ipbl-bulk-group {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto;
    align-items: end;
    gap: 10px;
    min-width: 0;
}

.wpa-ip-blocklist-page > .notice {
    margin: 10px 0;
}

.wpa-ip-blocklist-page > .notice p {
    margin: 8px 0;
}

.wpa-ip-blocklist-page .wp-list-table tfoot,
.wpa-ip-blocklist-page .tablenav.bottom {
    display: none;
}

.wpa-ip-blocklist-page .tablenav.top .bulkactions {
    display: none;
}

.wpa-ip-blocklist-page .wp-list-table .row-actions {
    position: static;
    left: auto;
    display: block;
    visibility: visible;
    opacity: 1;
}

body.wpauditor-admin-page .wpa-admin-shell.wpa-ip-blocklist-page table.widefat.striped > tbody > tr,
body.wpauditor-admin-page .wpa-admin-shell.wpa-ip-blocklist-page table.widefat.striped > tbody > :nth-child(odd),
body.wpauditor-admin-page .wpa-admin-shell.wpa-ip-blocklist-page table.widefat.striped > tbody > tr:hover {
    background: #252525;
}

.wpa-ip-blocklist-page .search-box,
.wpa-quarantine-page .wpa-search-controls {
    margin: 18px 0;
    padding: 14px;
    border: 1px solid var(--wpa-admin-border);
    border-radius: 12px;
    background: var(--wpa-admin-surface);
}

/* Hardening and configuration */
.wpa-login-url-page form,
.wpa-xmlrpc-page form,
.wpa-rest-api-page form,
.wpa-rate-limit-page form,
.wpa-license-page form {
    max-width: 980px;
}

.wpa-rate-limit-page .wpa-rate-limit-actions {
    margin-top: 12px;
    padding-top: 16px;
    border-top: 1px solid #2b2b2b;
}

.wpa-active-defense-page .wpa-advanced-panel {
    margin-top: 14px;
    padding: 20px;
    border-radius: 14px;
}

.wpa-active-defense-page .wpa-advanced-panel > .form-table {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

.wpa-active-defense-page .wpa-advanced-button {
    border-color: #555;
    border-radius: 8px;
    background: #373737;
    color: var(--wpa-admin-text);
}

.wpa-active-defense-page .wpa-ads-range-field,
.wpa-rate-limit-page .wpa-ads-range-field,
.wpa-settings-page .wpa-ads-range-field {
    width: min(100%, 460px);
}

.wpa-active-defense-page .wpa-ads-range-value-row,
.wpa-rate-limit-page .wpa-ads-range-value-row,
.wpa-settings-page .wpa-ads-range-value-row {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 8px;
}

.wpa-active-defense-page .wpa-ads-range-heading,
.wpa-rate-limit-page .wpa-ads-range-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    color: var(--wpa-admin-text);
    font-size: 12px;
    font-weight: 600;
}

.wpa-active-defense-page .wpa-ads-range-group,
.wpa-rate-limit-page .wpa-ads-range-group {
    display: grid;
    grid-template-columns: minmax(0, 460px);
    gap: 18px;
    max-width: 460px;
}

.wpa-active-defense-page .wpa-ads-range-output,
.wpa-rate-limit-page .wpa-ads-range-output,
.wpa-settings-page .wpa-ads-range-output {
    min-width: 76px;
    padding: 4px 9px;
    border: 1px solid var(--wpa-admin-border);
    border-radius: 6px;
    background: var(--wpa-admin-surface-soft);
    color: var(--wpa-admin-text);
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}

.wpa-active-defense-page .wpa-ads-range,
.wpa-rate-limit-page .wpa-ads-range,
.wpa-settings-page .wpa-ads-range {
    --wpa-range-color: var(--wpa-admin-blue);
    --wpa-range-gap: 7px;
    --wpa-range-line: 4px;
    --wpa-range-size: 22px;
    box-sizing: border-box;
    width: 100%;
    height: var(--wpa-range-size);
    margin: 0;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    appearance: none;
    background: none;
    cursor: pointer;
}

.wpa-active-defense-page .wpa-ads-range::-webkit-slider-thumb,
.wpa-rate-limit-page .wpa-ads-range::-webkit-slider-thumb,
.wpa-settings-page .wpa-ads-range::-webkit-slider-thumb {
    width: var(--wpa-range-size);
    height: var(--wpa-range-size);
    border: 0;
    border-radius: 50%;
    appearance: none;
    background: var(--wpa-admin-surface);
    box-shadow: 0 0 0 var(--wpa-range-line) inset var(--wpa-range-color);
    border-image: linear-gradient(90deg, var(--wpa-range-color) 50%, var(--wpa-admin-border) 0) 1 / 0 100vw / 0 calc(100vw + var(--wpa-range-gap));
}

.wpa-active-defense-page .wpa-ads-range::-moz-range-thumb,
.wpa-rate-limit-page .wpa-ads-range::-moz-range-thumb,
.wpa-settings-page .wpa-ads-range::-moz-range-thumb {
    width: var(--wpa-range-size);
    height: var(--wpa-range-size);
    border: 0;
    border-radius: 50%;
    appearance: none;
    background: var(--wpa-admin-surface);
    box-shadow: 0 0 0 var(--wpa-range-line) inset var(--wpa-range-color);
    border-image: linear-gradient(90deg, var(--wpa-range-color) 50%, var(--wpa-admin-border) 0) 1 / 0 100vw / 0 calc(100vw + var(--wpa-range-gap));
}

.wpa-active-defense-page .wpa-ads-range:hover,
.wpa-active-defense-page .wpa-ads-range:focus-visible,
.wpa-rate-limit-page .wpa-ads-range:hover,
.wpa-rate-limit-page .wpa-ads-range:focus-visible,
.wpa-settings-page .wpa-ads-range:hover,
.wpa-settings-page .wpa-ads-range:focus-visible {
    --wpa-range-color: #a8d7ff;
}

.wpa-active-defense-page .wpa-ads-range:focus-visible,
.wpa-rate-limit-page .wpa-ads-range:focus-visible,
.wpa-settings-page .wpa-ads-range:focus-visible {
    outline: 2px solid var(--wpa-admin-blue);
    outline-offset: 3px;
}

.wpa-active-defense-page .wpa-ads-range-scale,
.wpa-rate-limit-page .wpa-ads-range-scale,
.wpa-settings-page .wpa-ads-range-scale {
    display: flex;
    justify-content: space-between;
    margin-top: 5px;
    color: var(--wpa-admin-muted);
    font-size: 11px;
}

.wpa-active-defense-page .wpa-ads-range-field .description,
.wpa-rate-limit-page .wpa-ads-range-field .description,
.wpa-settings-page .wpa-ads-range-field .description {
    margin-top: 8px;
}

.wpa-settings-page .wpauditor-box {
    max-width: 1100px;
}

.wpa-settings-page .wpa-box-wide {
    max-width: 1180px;
}

.wpa-settings-page details > div {
    padding: 0 14px 14px;
}

.wpa-backup-tab-panel {
    padding-top: 24px;
}

.wpa-backup-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.wpa-backup-section-head h2,
.wpa-backup-empty h3 {
    margin: 0 0 6px;
}

.wpa-backup-empty p {
    margin: 0;
    color: var(--wpa-admin-muted);
}

.wpa-backup-empty {
    padding: 44px 24px;
    border: 1px dashed #505050;
    border-radius: 14px;
    background: var(--wpa-admin-surface);
    text-align: center;
}

.wpa-backup-empty .button {
    margin-top: 18px;
}

.wpa-backup-table-wrap {
    overflow-x: auto;
}

.wpa-backup-expiry {
    display: inline-block;
    padding: 4px 8px;
    border: 1px solid #664e2e;
    border-radius: 999px;
    background: #3a3023;
    color: #f0c77b;
    font-size: 12px;
    white-space: nowrap;
}

.wpa-password-strength {
    width: 25em;
    max-width: 100%;
    margin-top: 10px;
}

.wpa-password-strength-track {
    width: 100%;
    height: 6px;
    border-radius: 999px;
    background: #3a3a3a;
    overflow: hidden;
}

.wpa-password-strength-bar {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #666;
    transition: width 160ms ease, background-color 160ms ease;
}

.wpa-password-strength[data-strength="very-weak"] .wpa-password-strength-bar,
.wpa-password-strength[data-strength="mismatch"] .wpa-password-strength-bar {
    width: 20%;
    background: #d63638;
}

.wpa-password-strength[data-strength="weak"] .wpa-password-strength-bar {
    width: 45%;
    background: #dba617;
}

.wpa-password-strength[data-strength="medium"] .wpa-password-strength-bar {
    width: 72%;
    background: #72aee6;
}

.wpa-password-strength[data-strength="strong"] .wpa-password-strength-bar {
    width: 100%;
    background: #46b450;
}

.wpa-backup-page .wpa-progress-wrap {
    max-width: 760px;
    padding: 16px;
    border: 1px solid var(--wpa-admin-border);
    border-radius: 12px;
    background: var(--wpa-admin-surface);
}

@media (max-width: 782px) {
    .wpa-backup-section-head {
        display: block;
    }

    .wpa-backup-section-head .button {
        margin-top: 14px;
    }
}

.wpa-license-page .wpa-license-cell {
    max-width: 760px;
}

.wpa-license-page .wpa-license-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.wpa-upsell-page {
    max-width: none !important;
}

.wpa-setup-wizard {
    max-width: 760px;
    margin-top: 24px;
    border: 1px solid var(--wpa-admin-border);
    border-radius: 12px;
    background: var(--wpa-admin-surface);
    overflow: hidden;
}

.wpa-setup-panel > p {
    margin: 0 0 20px;
    color: var(--wpa-admin-muted);
}

.wpa-setup-progress {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0 18px;
    border-bottom: 1px solid var(--wpa-admin-border-soft);
    list-style: none;
}

.wpa-setup-progress li {
    position: relative;
    margin: 0;
}

.wpa-setup-step-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 8px;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: var(--wpa-admin-muted);
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}

.wpa-setup-step-button:hover,
.wpa-setup-step-button:focus-visible {
    color: var(--wpa-admin-text);
}

.wpa-setup-step-button:focus-visible {
    outline: 2px solid var(--wpa-admin-blue);
    outline-offset: -4px;
}

.wpa-setup-step-button[aria-current="step"] {
    border-bottom-color: var(--wpa-admin-blue);
    color: var(--wpa-admin-text);
}

.wpa-setup-stage {
    min-height: 150px;
    padding: 24px;
}

.wpa-setup-panel[hidden] {
    display: none !important;
}

.wpa-setup-panel.is-active {
    display: block;
}

.wpa-setup-panel h2 {
    margin: 0 0 8px;
}

.wpa-setup-panel h2:focus {
    outline: none;
}

.wpa-setup-welcome-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.wpa-setup-welcome-title img {
    display: block;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 9px;
}

.wpa-setup-welcome-title h2 {
    margin: 0;
    font-weight: 400;
}

.wpa-setup-welcome-title h2 strong {
    font-weight: 650;
}

.wpa-setup-integration-label {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 7px;
    border: 1px solid;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    vertical-align: baseline;
}

.wpa-setup-integration-ai {
    border-color: var(--wpa-tone-info-border);
    background: var(--wpa-tone-info-bg);
    color: var(--wpa-tone-info-text) !important;
}

.wpa-setup-integration-cloudflare {
    border-color: var(--wpa-tone-high-border);
    background: var(--wpa-tone-high-bg);
    color: var(--wpa-tone-high-text) !important;
}

.wpa-setup-time-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 20px 0;
    border-top: 1px solid var(--wpa-admin-border-soft);
    border-bottom: 1px solid var(--wpa-admin-border-soft);
}

.wpa-setup-time-details > div {
    padding: 14px 0;
}

.wpa-setup-time-details dt {
    margin-bottom: 6px;
    color: var(--wpa-admin-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.wpa-setup-time-details dd {
    margin: 0;
    color: var(--wpa-admin-text);
    font-weight: 600;
}

.wpa-setup-time-confirm {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 18px;
}

.wpa-setup-time-confirm label {
    color: var(--wpa-admin-text);
    font-weight: 600;
}

.wpa-setup-time-controls {
    display: flex;
    align-items: center;
    gap: 16px;
}

.wpa-setup-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--wpa-admin-border-soft);
}

.wpa-setup-actions-end {
    justify-content: flex-end;
}

@media (max-width: 782px) {
    .wpa-setup-wizard {
        margin-top: 18px;
    }

    .wpa-setup-progress {
        padding: 0 8px;
    }

    .wpa-setup-step-button {
        min-height: 46px;
        padding: 8px 4px;
        font-size: 11px;
    }

    .wpa-setup-stage {
        min-height: 0;
        padding: 20px;
    }

    .wpa-setup-time-details {
        grid-template-columns: 1fr;
    }

    .wpa-setup-time-confirm {
        align-items: stretch;
        flex-direction: column;
    }

    .wpa-setup-time-controls {
        justify-content: space-between;
    }

}

/* Shared text action button */
.wpauditor-admin-page .wpa-admin-shell .wpa-button,
.wpauditor-admin-page .wpa-admin-shell .button:not(.button-small):not(.button-delete):not(.button-danger):not(.wpa-action-icon-btn) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 15px;
    border: 1px solid #315b7d;
    border-radius: 10px;
    background: #0c3c63;
    box-shadow: none;
    color: #b9dcfb;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
}

.wpauditor-admin-page .wpa-admin-shell .wpa-button:hover,
.wpauditor-admin-page .wpa-admin-shell .wpa-button:focus,
.wpauditor-admin-page .wpa-admin-shell .button:not(.button-small):not(.button-delete):not(.button-danger):not(.wpa-action-icon-btn):hover,
.wpauditor-admin-page .wpa-admin-shell .button:not(.button-small):not(.button-delete):not(.button-danger):not(.wpa-action-icon-btn):focus {
    border-color: #4d82ab;
    background: #114d7d;
    box-shadow: none;
    color: #fff;
}

.wpauditor-admin-page .wpa-admin-shell .wpa-button:focus,
.wpauditor-admin-page .wpa-admin-shell .button:not(.button-small):not(.button-delete):not(.button-danger):not(.wpa-action-icon-btn):focus {
    outline: 2px solid #72aee6;
    outline-offset: 2px;
}

.wpauditor-admin-page .wpa-admin-shell .wpa-button:disabled,
.wpauditor-admin-page .wpa-admin-shell .wpa-button.disabled,
.wpauditor-admin-page .wpa-admin-shell .button:not(.button-small):not(.button-delete):not(.button-danger):not(.wpa-action-icon-btn):disabled,
.wpauditor-admin-page .wpa-admin-shell .button:not(.button-small):not(.button-delete):not(.button-danger):not(.wpa-action-icon-btn).disabled {
    border-color: #3d4f5f;
    background: #27343f;
    color: #7f9bb2;
    cursor: not-allowed;
    opacity: .7;
}

@media (max-width: 1080px) {
    .wpa-security-events-page .wpa-filter-fields,
    .wpa-timeline-page .wpa-filter-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wpa-ip-blocklist-page .wpa-kpis,
    .wpa-ip-blocklist-page .wpa-ipbl-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wpa-ai-analyst-page .wpa-ai-grid {
        grid-template-columns: minmax(0, 1.35fr) minmax(260px, .85fr);
    }

    .wpa-ip-blocklist-page .wpa-ipbl-filter-form {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .wpa-ip-blocklist-page .wpa-ipbl-filter-form .wpa-forensics-filter-actions {
        grid-column: 1 / -1;
    }

    .wpa-ip-blocklist-page .wpa-ipbl-management-bar {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

@media (max-width: 782px) {
    .wpa-timeline-page .wpa-chart-card {
        padding: 16px;
    }

    .wpa-timeline-page .wpa-chart-wrap {
        height: 320px;
    }

    .wpa-timeline-page .wpa-chart-toolbar {
        display: block;
        overflow: hidden;
    }

    .wpa-timeline-page .wpa-score-filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 5px;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .wpa-timeline-page .wpa-score-filter {
        flex: 0 0 auto;
    }

    .wpa-timeline-page .wpa-session-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .wpa-timeline-page .wpa-session-technical {
        grid-template-columns: 1fr;
    }

    .wpa-timeline-page .wpa-session-technical-ua {
        grid-column: auto;
    }

    .wpa-security-events-page .wpa-filter-bar,
    .wpa-timeline-page .wpa-filter-bar {
        align-items: stretch;
    }

    .wpa-security-events-page .wpa-filter-bar > *,
    .wpa-timeline-page .wpa-filter-bar > * {
        width: 100%;
    }

    .wpa-security-events-page .wpa-filter-fields,
    .wpa-timeline-page .wpa-filter-fields {
        grid-template-columns: 1fr;
    }

    .wpa-security-events-page .wpa-filter-actions > *,
    .wpa-timeline-page .wpa-filter-actions > * {
        flex: 1 1 0;
        justify-content: center;
        text-align: center;
    }

    .wpa-ai-analyst-page .wpa-ai-grid,
    .wpa-ip-blocklist-page .wpa-kpis,
    .wpa-ip-blocklist-page .wpa-ipbl-summary {
        grid-template-columns: 1fr;
    }

    .wpa-ai-analyst-page .wpa-ai-card {
        padding: 18px;
    }

    .wpa-ai-analyst-page .wpa-ai-card-head,
    .wpa-ai-analyst-page .wpa-ai-history-head {
        align-items: stretch;
        flex-direction: column;
    }

    .wpa-ai-analyst-page .wpa-ai-card-head .button-primary {
        align-self: flex-start;
    }

    .wpa-ai-analyst-page .wpa-ai-history-actions {
        width: 100%;
    }

    .wpa-ai-analyst-page .wpa-ai-history-actions .button {
        flex: 1 1 0;
        justify-content: center;
        text-align: center;
    }

    .wpa-ai-analyst-page .wpa-ai-history-toggle {
        min-height: 64px;
        padding: 12px;
    }

    .wpa-ai-analyst-page .wpa-ai-history-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .wpa-ai-analyst-page .wpa-ai-history-meta [aria-hidden="true"] {
        display: none;
    }

    .wpa-ai-analyst-page .wpa-ai-history-body {
        padding: 0 12px 12px;
    }

    .wpa-ip-blocklist-page .wpa-ipbl-filter-form {
        grid-template-columns: 1fr;
    }

    .wpa-ip-blocklist-page .wpa-ipbl-filter-form .wpa-forensics-filter-actions {
        grid-column: auto;
    }

    .wpa-ip-blocklist-page .wpa-ipbl-add-form {
        grid-template-columns: 1fr;
        grid-template-areas:
            "label"
            "input"
            "button";
    }

    .wpa-ip-blocklist-page .wpa-ipbl-bulk-group {
        grid-template-columns: 1fr;
    }

    .wpa-ip-blocklist-page .wpa-ipbl-add-form label {
        align-self: flex-start;
    }

    .wpa-ip-blocklist-page .wpa-input-ip,
    .wpa-ip-blocklist-page .wpa-ipbl-action-bar .button,
    .wpa-ip-blocklist-page .wpa-ipbl-bulk-group .button {
        width: 100%;
    }
}

/* File Forensics workspace */
.wpa-file-forensics-page .wpa-forensics-lead,
.wpa-monitoring-page .wpa-forensics-lead,
.wpa-core-integrity-page .wpa-forensics-lead {
    max-width: 980px;
    margin: 8px 0 20px;
    color: var(--wpa-admin-muted);
    font-size: 14px;
    line-height: 1.6;
}

.wpa-forensics-scan-panel {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin: 18px 0;
    padding: 20px;
    border: 1px solid var(--wpa-admin-border);
    border-radius: 14px;
    background: var(--wpa-admin-surface);
}

.wpa-forensics-scan-panel h2,
.wpa-forensics-scan-panel p {
    margin: 0;
}

.wpa-forensics-scan-panel p {
    max-width: 720px;
    margin-top: 6px;
    color: var(--wpa-admin-muted);
}

.wpa-forensics-scan-form {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.wpa-forensics-scan-form label,
.wpa-forensics-filter-form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: var(--wpa-admin-muted);
    font-size: 12px;
    font-weight: 600;
}

.wpa-forensics-scan-form select {
    min-width: 230px;
}

.wpa-forensics-empty {
    margin-top: 18px;
    padding: 38px 24px;
    border: 1px dashed var(--wpa-admin-border);
    border-radius: 14px;
    background: var(--wpa-admin-surface);
    text-align: center;
}

.wpa-forensics-empty h2,
.wpa-forensics-empty p {
    margin: 0;
}

.wpa-forensics-empty p {
    margin-top: 8px;
    color: var(--wpa-admin-muted);
}

.wpa-forensics-scan-meta {
    display: flex;
    align-items: center;
    gap: 10px 18px;
    flex-wrap: wrap;
    margin: 18px 0 10px;
    color: var(--wpa-admin-muted);
    font-size: 12px;
}

.wpa-forensics-scan-meta strong {
    color: var(--wpa-admin-text);
    font-size: 14px;
}

.wpa-forensics-summary {
    display: grid;
    grid-template-columns: repeat(6, minmax(120px, 1fr));
    gap: 10px;
    margin: 12px 0 18px;
}

.wpa-forensics-summary-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid var(--wpa-admin-border);
    border-left: 4px solid var(--wpa-admin-blue);
    border-radius: 10px;
    background: var(--wpa-admin-surface);
}

.wpa-forensics-summary-card strong {
    color: var(--wpa-admin-text);
    font-size: 24px;
    line-height: 1;
}

.wpa-forensics-summary-card span {
    color: var(--wpa-admin-muted);
    font-size: 12px;
}

.wpa-forensics-summary-critical {
    border-left-color: var(--wpa-admin-red);
}

.wpa-forensics-summary-high {
    border-left-color: var(--wpa-admin-orange);
}

.wpa-forensics-summary-correlated {
    border-left-color: #b49cff;
}

.wpa-forensics-filter-form {
    display: grid;
    grid-template-columns: minmax(160px, .8fr) minmax(160px, .8fr) minmax(260px, 2fr) auto;
    align-items: end;
    gap: 12px;
    margin: 18px 0;
    padding: 16px;
    border: 1px solid var(--wpa-admin-border);
    border-radius: 12px;
    background: var(--wpa-admin-surface);
}

.wpa-monitoring-filter-form {
    grid-template-columns: minmax(140px, .65fr) minmax(150px, .75fr) minmax(140px, .65fr) minmax(180px, .85fr) minmax(240px, 1.5fr) auto;
}

.wpa-forensics-filter-form select,
.wpa-forensics-filter-form input {
    width: 100%;
    max-width: none;
}

.wpa-forensics-filter-actions {
    display: flex;
    gap: 8px;
}

.wpa-forensics-result-count {
    margin: 0 0 8px;
    color: var(--wpa-admin-muted);
    font-size: 12px;
}

body.wpauditor-admin-page .wpa-admin-shell.wpa-file-forensics-page table.widefat.wpa-forensics-table.striped > tbody > tr,
body.wpauditor-admin-page .wpa-admin-shell.wpa-file-forensics-page table.widefat.wpa-forensics-table.striped > tbody > :nth-child(odd),
body.wpauditor-admin-page .wpa-admin-shell.wpa-monitoring-page table.widefat.wpa-forensics-table.striped > tbody > tr,
body.wpauditor-admin-page .wpa-admin-shell.wpa-monitoring-page table.widefat.wpa-forensics-table.striped > tbody > :nth-child(odd),
body.wpauditor-admin-page .wpa-admin-shell.wpa-core-integrity-page table.widefat.wpa-forensics-table.striped > tbody > tr,
body.wpauditor-admin-page .wpa-admin-shell.wpa-core-integrity-page table.widefat.wpa-forensics-table.striped > tbody > :nth-child(odd) {
    background: #252525;
}

body.wpauditor-admin-page .wpa-admin-shell.wpa-file-forensics-page table.widefat.wpa-forensics-table.striped > tbody > tr:hover,
body.wpauditor-admin-page .wpa-admin-shell.wpa-monitoring-page table.widefat.wpa-forensics-table.striped > tbody > tr:hover,
body.wpauditor-admin-page .wpa-admin-shell.wpa-core-integrity-page table.widefat.wpa-forensics-table.striped > tbody > tr:hover {
    background: #252525;
}

.wpa-forensics-table .wpa-forensics-col-finding {
    width: 34%;
}

.wpa-forensics-table .wpa-forensics-col-risk {
    width: 120px;
}

.wpa-forensics-table .wpa-forensics-col-type {
    width: 150px;
}

.wpa-file-forensics-page .wpa-forensics-table .wpa-forensics-col-actions,
.wpa-monitoring-page .wpa-forensics-table .wpa-forensics-col-actions,
.wpa-core-integrity-page .wpa-forensics-table .wpa-forensics-col-actions {
    width: 94px;
}

.wpa-forensics-file-meta {
    margin-top: 7px;
    color: var(--wpa-admin-muted);
    font-size: 11px;
}

.wpa-forensics-file-meta code {
    font-size: 11px;
}

.wpa-forensics-detectors {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 7px;
}

.wpa-forensics-detector {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border: 1px solid #46637d;
    border-radius: 999px;
    background: #1d3447;
    color: #b9dcfb;
    font-size: 11px;
    font-weight: 600;
}

.wpa-forensics-detector-sensitive {
    border-color: #6d5b3d;
    background: #392f20;
    color: #f5c985;
}

.wpa-file-forensics-page .wpa-forensics-evidence > strong,
.wpa-monitoring-page .wpa-forensics-evidence > strong {
    display: block;
    color: #f4f4f5;
    line-height: 1.45;
}

.wpa-forensics-evidence details {
    margin-top: 8px;
}

.wpa-forensics-evidence summary {
    color: var(--wpa-admin-blue);
    font-size: 12px;
    cursor: pointer;
}

.wpa-forensics-evidence ul {
    margin: 8px 0 0 18px;
}

.wpa-file-forensics-page .wpa-forensics-evidence li,
.wpa-monitoring-page .wpa-forensics-evidence li {
    margin-bottom: 8px;
    color: #d6d6da;
    line-height: 1.4;
}

.wpa-forensics-risk {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
}

.wpa-forensics-risk > strong {
    color: var(--wpa-admin-text);
}

.wpa-forensics-risk > span:last-child {
    color: var(--wpa-admin-muted);
    font-size: 11px;
}

@media (max-width: 1280px) {
    .wpa-forensics-summary {
        grid-template-columns: repeat(3, minmax(130px, 1fr));
    }

    .wpa-forensics-filter-form {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .wpa-monitoring-filter-form {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 782px) {
    .wpa-forensics-scan-panel {
        align-items: stretch;
        flex-direction: column;
    }

    .wpa-forensics-scan-form,
    .wpa-forensics-filter-actions {
        justify-content: stretch;
    }

    .wpa-forensics-scan-form > *,
    .wpa-forensics-filter-actions > * {
        width: 100%;
    }

    .wpa-forensics-summary,
    .wpa-forensics-filter-form {
        grid-template-columns: 1fr;
    }

    .wpa-forensics-table .wpa-forensics-col-finding,
    .wpa-forensics-table .wpa-forensics-col-risk,
    .wpa-forensics-table .wpa-forensics-col-type {
        width: auto;
    }
}

/* Simple Settings layout */
.wpa-settings-page .wpa-settings-intro {
    max-width: 900px;
    margin: 8px 0 16px;
    color: var(--wpa-admin-muted);
}

.wpa-settings-page .wpa-settings-tabs,
.wpa-settings-page > .notice,
.wpa-settings-page .wpa-settings-tab-panel {
    max-width: 900px;
}

.wpa-settings-page .wpa-settings-tab-panel {
    padding-top: 24px;
}

.wpa-settings-page .wpa-settings-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.wpa-settings-page .wpa-settings-section-head h2 {
    margin: 0 0 6px;
}

.wpa-settings-page .wpa-settings-section-head p {
    margin: 0;
    color: var(--wpa-admin-muted);
}

.wpa-settings-page .wpa-settings-tab-panel > h3 {
    margin: 24px 0 10px;
}

.wpa-settings-page .wpa-settings-tab-panel > hr {
    margin: 24px 0;
    border: 0;
    border-top: 1px solid var(--wpa-admin-border-soft);
}

.wpa-settings-page .wpa-settings-tab-panel .form-table {
    margin: 16px 0;
}

.wpa-settings-page .wpa-settings-section-head > .button {
    flex: 0 0 auto;
}

.wpa-settings-page .wpa-settings-subsection-head {
    margin: 24px 0 10px;
}

.wpa-settings-page .wpa-settings-subsection-head h3 {
    margin: 0 0 5px;
}

.wpa-settings-page .wpa-settings-subsection-head p {
    margin: 0;
    color: var(--wpa-admin-muted);
}

.wpa-settings-page .wpa-settings-form-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.wpa-settings-page .wpa-settings-token-remove {
    display: inline-block;
    margin-top: 8px;
}

.wpa-settings-page .wpa-settings-date-range {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 12px;
}

.wpa-settings-page .wpa-settings-date-range label {
    display: grid;
    gap: 6px;
    color: var(--wpa-admin-muted);
    font-size: 12px;
    font-weight: 600;
}

.wpa-settings-page .wpa-settings-date-range .wpa-settings-date-delete {
    min-height: 40px;
    padding: 0 13px;
    line-height: 1.2;
}

.wpa-settings-page .wpa-settings-preview,
.wpa-settings-page .wpa-settings-danger {
    margin: 16px 0 0;
    padding-bottom: 12px;
}

.wpa-settings-page .wpa-settings-preview form,
.wpa-settings-page .wpa-settings-danger form {
    margin: 10px 12px 0;
}

.wpa-settings-page .wpa-settings-danger .wpa-settings-log-action {
    margin: 10px 0 0;
}

.wpa-settings-page .wpa-settings-danger .wpa-settings-log-action-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 15px;
    border-radius: 10px;
    box-shadow: none;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    vertical-align: middle;
}

.wpa-settings-page details {
    margin-top: 18px;
}

@media (max-width: 782px) {
    .wpa-settings-page .wpa-settings-section-head {
        align-items: stretch;
        flex-direction: column;
    }

    .wpa-settings-page .wpa-settings-section-head > .button {
        width: 100%;
        text-align: center;
    }

    .wpa-settings-page .wpa-settings-date-range {
        align-items: stretch;
        flex-direction: column;
    }

    .wpa-settings-page .wpa-settings-date-range input {
        width: 100%;
    }
}
