:root {
    --wpkpro-ink: #1d2327;
    --wpkpro-ink-soft: #34404a;
    --wpkpro-pro: #7e5bef;
    --wpkpro-pro-dark: #6344d8;
    --wpkpro-bg: #f4f6f8;
    --wpkpro-card: #ffffff;
    --wpkpro-border: #dce2e8;
    --wpkpro-border-strong: #c7d0da;
    --wpkpro-muted: #667085;
    --wpkpro-muted-bg: #f8fafc;
    --wpkpro-success: #15803d;
    --wpkpro-success-bg: #e8f7ee;
    --wpkpro-radius: 14px;
    --wpkpro-shadow: 0 18px 45px rgba(29, 35, 39, 0.08);
    --wpkpro-shadow-soft: 0 8px 24px rgba(29, 35, 39, 0.06);
}

.wpkpro-admin-wrap {
    margin: 20px 20px 0 0;
    color: var(--wpkpro-ink);
}

.advapafo-layout.advapafo-layout--dashboard {
    grid-template-columns: minmax(0, 1fr);
}

.advapafo-layout.advapafo-layout--dashboard .advapafo-main-panel {
    max-width: none;
    width: 100%;
}

/* Hard-block: any notice injected inside the hero or shell by WP core or
   third-party plugins is invisible. Our notices live in .wpkpro-notices-wrap
   which sits BEFORE .wpkpro-premium-shell in the DOM. */
.wpkpro-premium-shell .notice,
.wpkpro-premium-shell .updated,
.wpkpro-premium-shell .error,
.wpkpro-premium-shell [class*="notice-"] {
    display: none !important;
}

.wpkpro-premium-shell {
    max-width: 1280px;
}

.wpkpro-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 150px;
    padding: 30px;
    color: #fff;
    background:
        radial-gradient(circle at top right, rgba(126, 91, 239, 0.42), transparent 36%),
        linear-gradient(135deg, var(--wpkpro-ink), #111820 72%);
    border-radius: 18px;
    box-shadow: var(--wpkpro-shadow);
    overflow: hidden;
}

.wpkpro-product-mark {
    display: flex;
    align-items: center;
    gap: 16px;
}

.wpkpro-product-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 30px;
    line-height: 1;
    color: #fff;
}

.wpkpro-hero h1,
.wpkpro-section-header h2,
.wpkpro-card h3,
.wpkpro-side-card h2,
.wpkpro-shortcode-card h3 {
    margin: 0;
    color: inherit;
    line-height: 1.2;
}

.wpkpro-hero h1 {
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0;
}

.wpkpro-eyebrow {
    margin: 0 0 5px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: currentColor;
    opacity: 0.72;
}

.wpkpro-hero__copy {
    max-width: 560px;
    margin: 14px 0 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 15px;
}

.wpkpro-hero__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.wpkpro-status-pill,
.wpkpro-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.wpkpro-status-pill {
    padding: 9px 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.wpkpro-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #38d87b;
    box-shadow: 0 0 0 4px rgba(56, 216, 123, 0.14);
}

.wpkpro-status-pill--success .wpkpro-status-dot {
    background: #38d87b;
    box-shadow: 0 0 0 4px rgba(56, 216, 123, 0.14);
}

.wpkpro-status-pill--warning {
    background: #fff4bf;
    color: #5c4600;
    border-color: rgba(145, 111, 0, 0.35);
}

.wpkpro-status-pill--warning .wpkpro-status-dot {
    background: #f1b800;
    box-shadow: 0 0 0 4px rgba(241, 184, 0, 0.2);
}

/* Settings notices — rendered above the hero */
.wpkpro-notices-wrap {
    margin: 20px 20px 16px 0;
    max-width: 1280px;
}

.wpkpro-debug-banner {
    margin: 0 0 16px;
    padding: 12px 14px;
    border: 1px solid #e8b949;
    border-left: 4px solid #e8b949;
    border-radius: 8px;
    background: #fff9e8;
    color: #1d2327;
    box-shadow: var(--wpkpro-shadow-soft);
}

.wpkpro-debug-banner strong {
    display: block;
    margin: 0 0 6px;
    font-size: 12px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.wpkpro-debug-banner pre {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    font-size: 12px;
    line-height: 1.45;
    color: #1d2327;
}

.wpkpro-flash {
    margin: 0;
    padding: 12px 16px;
    border-radius: 8px;
    border-left: 4px solid #4b5563;
    background: #fff;
    color: #1d2327;
    box-shadow: var(--wpkpro-shadow-soft);
}

.wpkpro-flash + .wpkpro-flash {
    margin-top: 10px;
}

.wpkpro-flash p {
    margin: 0;
    color: #1d2327;
    font-size: 13.5px;
}

.wpkpro-flash--success {
    border-left-color: #0f9f4b;
    background: #eefbf3;
}

.wpkpro-flash--error {
    border-left-color: #d63638;
    background: #fff0f1;
}

.wpkpro-flash--warning {
    border-left-color: #dba617;
    background: #fff9e8;
}

.wpkpro-flash--info {
    border-left-color: #2271b1;
    background: #eef6fc;
}

.wpkpro-tabs {
    display: flex;
    gap: 8px;
    margin-top: 18px;
    padding: 8px;
    background: var(--wpkpro-card);
    border: 1px solid var(--wpkpro-border);
    border-radius: 16px;
    box-shadow: var(--wpkpro-shadow-soft);
    overflow-x: auto;
}

.wpkpro-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 11px;
    color: var(--wpkpro-muted);
    font-weight: 700;
    text-decoration: none;
    transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.wpkpro-tab:hover,
.wpkpro-tab:focus {
    color: var(--wpkpro-ink);
    background: var(--wpkpro-muted-bg);
    outline: none;
    box-shadow: none;
}

.wpkpro-tab.is-active {
    color: #fff;
    background: var(--wpkpro-ink);
    box-shadow: 0 8px 18px rgba(29, 35, 39, 0.16);
}

.wpkpro-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 22px;
    margin-top: 22px;
    align-items: start;
}

.wpkpro-layout--full {
    grid-template-columns: minmax(0, 1fr);
}

.wpkpro-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0 28px 22px;
}

.wpkpro-profile-trusted-devices {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.wpkpro-profile-trusted-devices > h3,
.wpkpro-profile-trusted-devices > .wpkpro-profile-tip {
    padding: 0 28px;
}

.wpkpro-profile-trusted-devices > h3 {
    margin: 24px 0 10px;
    line-height: 1.3;
}

.wpkpro-profile-trusted-devices > .wpkpro-profile-tip {
    margin: 0;
}

.wpkpro-profile-trusted-devices > .wpkpro-profile-tip + .wpkpro-profile-tip {
    margin-top: 8px;
}

.wpkpro-trusted-devices-table .wpkpro-status-pill {
    padding: 6px 10px;
    font-size: 11px;
    color: var(--wpkpro-ink);
}

.wpkpro-trusted-devices-table .wpkpro-status-pill .wpkpro-status-dot {
    width: 7px;
    height: 7px;
}

.wpkpro-dashboard-card {
    min-height: 392px;
}

.wpkpro-dashboard-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px;
}

.wpkpro-dashboard-auth-body,
.wpkpro-dashboard-activity-body {
    max-height: 340px;
    overflow: auto;
}

.wpkpro-dashboard-auth-chart-wrap {
    margin: -2px 0 12px;
    padding: 10px 12px 8px;
    border: 1px solid #dbe4ee;
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.wpkpro-dashboard-auth-chart-labels {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
}

.wpkpro-dashboard-auth-chart-labels strong {
    margin: 0;
    color: #1f2937;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.wpkpro-dashboard-auth-chart-labels span {
    color: #64748b;
    font-size: 11px;
    font-weight: 600;
}

.wpkpro-dashboard-auth-chart {
    min-height: 200px;
    margin-top: 4px;
}

.wpkpro-dashboard-auth-chart .apexcharts-tooltip {
    background: #0f172a !important;
    color: #f8fafc !important;
    border: 1px solid #334155 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.32) !important;
}

.wpkpro-dashboard-auth-chart .apexcharts-tooltip-title {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #e2e8f0 !important;
    border-bottom: 1px solid rgba(148, 163, 184, 0.26) !important;
}

.wpkpro-dashboard-auth-chart .apexcharts-tooltip-text,
.wpkpro-dashboard-auth-chart .apexcharts-tooltip-text-y-label,
.wpkpro-dashboard-auth-chart .apexcharts-tooltip-text-y-value,
.wpkpro-dashboard-auth-chart .apexcharts-tooltip-text-z-label,
.wpkpro-dashboard-auth-chart .apexcharts-tooltip-text-z-value {
    color: #f8fafc !important;
}

.wpkpro-dashboard-auth-chart-empty {
    margin: 10px 0 2px;
    color: var(--wpkpro-muted);
    font-size: 13px;
}

.wpkpro-dashboard-auth-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wpkpro-dashboard-auth-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--wpkpro-border);
}

.wpkpro-dashboard-auth-list li > div {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.wpkpro-dashboard-auth-list li:last-child {
    border-bottom: 0;
}

.wpkpro-dashboard-auth-list strong {
    display: block;
    margin: 0;
}

.wpkpro-dashboard-auth-total {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--wpkpro-muted);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.wpkpro-provider-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;
    color: #1f2937;
}

.wpkpro-provider-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    color: #4338ca;
    background: rgba(67, 56, 202, 0.12);
    border: 1px solid rgba(67, 56, 202, 0.24);
    flex: 0 0 22px;
}

.wpkpro-provider-icon svg {
    display: block;
}

.wpkpro-provider-detail {
    color: var(--wpkpro-muted);
    font-size: 12px;
    font-weight: 500;
}

.wpkpro-provider-chip--bitwarden .wpkpro-provider-icon {
    color: #175ddc;
    background: rgba(23, 93, 220, 0.12);
    border-color: rgba(23, 93, 220, 0.28);
}

.wpkpro-provider-chip--apple .wpkpro-provider-icon,
.wpkpro-provider-chip--apple-passwords .wpkpro-provider-icon {
    color: #111827;
    background: rgba(17, 24, 39, 0.1);
    border-color: rgba(17, 24, 39, 0.2);
}

.wpkpro-provider-chip--onepassword .wpkpro-provider-icon {
    color: #0b63ce;
    background: rgba(11, 99, 206, 0.1);
    border-color: rgba(11, 99, 206, 0.24);
}

.wpkpro-provider-chip--lastpass .wpkpro-provider-icon {
    color: #c81f35;
    background: rgba(200, 31, 53, 0.12);
    border-color: rgba(200, 31, 53, 0.24);
}

.wpkpro-provider-chip--google .wpkpro-provider-icon {
    color: #1a73e8;
    background: rgba(26, 115, 232, 0.12);
    border-color: rgba(26, 115, 232, 0.24);
}

.wpkpro-provider-chip--samsung .wpkpro-provider-icon {
    color: #1f5dff;
    background: rgba(31, 93, 255, 0.12);
    border-color: rgba(31, 93, 255, 0.24);
}

.wpkpro-provider-chip--windows-hello .wpkpro-provider-icon {
    color: #0378d4;
    background: rgba(3, 120, 212, 0.1);
    border-color: rgba(3, 120, 212, 0.22);
}

.wpkpro-provider-chip--proton-pass .wpkpro-provider-icon {
    color: #6d28d9;
    background: rgba(109, 40, 217, 0.12);
    border-color: rgba(109, 40, 217, 0.25);
}

.wpkpro-provider-chip--dashlane .wpkpro-provider-icon {
    color: #c2410c;
    background: rgba(194, 65, 12, 0.12);
    border-color: rgba(194, 65, 12, 0.25);
}

.wpkpro-provider-chip--nordpass .wpkpro-provider-icon {
    color: #1d4ed8;
    background: rgba(29, 78, 216, 0.12);
    border-color: rgba(29, 78, 216, 0.25);
}

.wpkpro-provider-chip--unknown-platform .wpkpro-provider-icon,
.wpkpro-provider-chip--unknown-security-key .wpkpro-provider-icon,
.wpkpro-provider-chip--unknown-cross-device .wpkpro-provider-icon,
.wpkpro-provider-chip--unknown .wpkpro-provider-icon {
    color: #475569;
    background: rgba(71, 85, 105, 0.12);
    border-color: rgba(71, 85, 105, 0.28);
}

.wpkpro-device-detection-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.wpkpro-device-detection-pill--high {
    color: #166534;
    background: #dcfce7;
    border-color: #86efac;
}

.wpkpro-device-detection-pill--medium {
    color: #92400e;
    background: #fef3c7;
    border-color: #fcd34d;
}

.wpkpro-device-detection-pill--low {
    color: #334155;
    background: #e2e8f0;
    border-color: #cbd5e1;
}

.wpkpro-dashboard-auth-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid #d8cdfa;
    background: #f3edff;
    color: #4d35be;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.wpkpro-dashboard-activity-table {
    width: 100%;
    border-collapse: collapse;
}

.wpkpro-dashboard-activity-chart-wrap {
    margin: -2px 0 12px;
    padding: 10px 12px 8px;
    border: 1px solid #dbe4ee;
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.wpkpro-dashboard-activity-chart-labels {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
}

.wpkpro-dashboard-activity-chart-labels strong {
    margin: 0;
    color: #1f2937;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.wpkpro-dashboard-activity-chart-labels span {
    color: #64748b;
    font-size: 11px;
    font-weight: 600;
}

.wpkpro-dashboard-activity-chart {
    min-height: 126px;
    margin-top: 4px;
}

.wpkpro-dashboard-activity-table td {
    padding: 10px 0;
    border-bottom: 1px solid var(--wpkpro-border);
    vertical-align: top;
}

.wpkpro-dashboard-activity-table tr:last-child td {
    border-bottom: 0;
}

.wpkpro-dashboard-activity-table strong {
    display: block;
    margin: 0;
}

.wpkpro-dashboard-activity-meta,
.wpkpro-dashboard-activity-time {
    display: block;
    margin-top: 4px;
    color: var(--wpkpro-muted);
    font-size: 12px;
    line-height: 1.35;
}

.wpkpro-dashboard-method-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 8px;
    margin-right: 6px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.wpkpro-dashboard-method-pill--passkey {
    color: #0f766e;
    background: #ccfbf1;
    border-color: #99f6e4;
}

.wpkpro-dashboard-method-pill--password {
    color: #1e3a8a;
    background: #dbeafe;
    border-color: #93c5fd;
}

.wpkpro-dashboard-method-pill--magic-link {
    color: #5b21b6;
    background: #ede9fe;
    border-color: #c4b5fd;
}

.wpkpro-dashboard-method-pill--recovery-code {
    color: #854d0e;
    background: #fef9c3;
    border-color: #fde68a;
}

.wpkpro-dashboard-method-pill--security {
    color: #1d4ed8;
    background: #dbeafe;
    border-color: #93c5fd;
}

.wpkpro-dashboard-method-pill--other {
    color: #334155;
    background: #e2e8f0;
    border-color: #cbd5e1;
}

.wpkpro-dashboard-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 8px;
    margin-right: 6px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.wpkpro-dashboard-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    display: inline-block;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.04);
}

.wpkpro-dashboard-status-pill--success {
    color: #166534;
    background: #dcfce7;
    border-color: #86efac;
}

.wpkpro-dashboard-status-pill--success .wpkpro-dashboard-status-dot {
    background: #15803d;
}

.wpkpro-dashboard-status-pill--blocked {
    color: #92400e;
    background: #fef3c7;
    border-color: #fcd34d;
}

.wpkpro-dashboard-status-pill--blocked .wpkpro-dashboard-status-dot {
    background: #d97706;
}

.wpkpro-dashboard-status-pill--failed {
    color: #991b1b;
    background: #fee2e2;
    border-color: #fca5a5;
}

.wpkpro-dashboard-status-pill--failed .wpkpro-dashboard-status-dot {
    background: #dc2626;
}

.wpkpro-dashboard-status-pill--info {
    color: #334155;
    background: #e2e8f0;
    border-color: #cbd5e1;
}

.wpkpro-dashboard-status-pill--info .wpkpro-dashboard-status-dot {
    background: #64748b;
}

.wpkpro-main-panel,
.wpkpro-side-card,
.wpkpro-card,
.wpkpro-shortcode-card {
    background: var(--wpkpro-card);
    border: 1px solid var(--wpkpro-border);
    border-radius: var(--wpkpro-radius);
    box-shadow: var(--wpkpro-shadow-soft);
}

.wpkpro-main-panel {
    overflow: hidden;
}

.wpkpro-section-header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    padding: 26px 28px;
    border-bottom: 1px solid var(--wpkpro-border);
    background: linear-gradient(180deg, #fff, #fbfcfe);
}

.wpkpro-section-header h2 {
    font-size: 22px;
    font-weight: 700;
}

.wpkpro-section-header .wpkpro-eyebrow {
    color: var(--wpkpro-pro);
    opacity: 1;
}

.wpkpro-settings-form .wpkpro-card,
.wpkpro-shortcode-grid {
    margin: 22px 28px;
}

.wpkpro-main-panel > .wpkpro-card {
    margin: 22px 28px;
}

.wpkpro-main-panel > .wpkpro-flash {
    margin: 22px 28px;
}

.wpkpro-settings-form .wpkpro-inline-warning {
    margin: 22px 28px;
}

.wpkpro-main-panel > .wpkpro-section-header + .wpkpro-card {
    margin: 22px 28px;
}

.wpkpro-settings-license-card {
    margin: 16px 28px 22px;
}

.wpkpro-license-inline-row {
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

.wpkpro-license-inline-activate {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex: 1 1 auto;
    min-width: 0;
}

.wpkpro-license-inline-activate .wpkpro-field {
    flex: 1 1 auto;
    margin: 0;
}

.wpkpro-license-inline-activate .wpkpro-save-button,
.wpkpro-license-inline-deactivate .wpkpro-button {
    min-height: 42px;
    white-space: nowrap;
}

.wpkpro-license-inline-deactivate {
    flex: 0 0 auto;
    margin: 0;
}

.wpkpro-license-pill {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.wpkpro-license-pill--active {
    color: var(--wpkpro-success);
    background: var(--wpkpro-success-bg);
    border-color: rgba(21, 128, 61, 0.16);
}

.wpkpro-license-pill--inactive {
    color: #9a3412;
    background: #fff7ed;
    border-color: #fdba74;
}

.wpkpro-card {
    padding: 22px;
}

.wpkpro-card--setting {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.wpkpro-agency-toggle-row {
    margin-bottom: 16px;
}

.wpkpro-magic-bot-controls-card .wpkpro-card--setting {
    margin-bottom: 24px;
}

.wpkpro-magic-bot-controls-card .wpkpro-grid-2 {
    margin-top: 16px;
}

.wpkpro-magic-bot-controls-card .wpkpro-grid-2 + .wpkpro-card--setting {
    margin-top: 16px;
}

.wpkpro-magic-bot-controls-card .wpkpro-card--setting + .wpkpro-card--setting {
    margin-top: 16px;
}

.wpkpro-magic-bot-controls-card .wpkpro-card__header {
    margin-bottom: 24px;
}

.wpkpro-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.wpkpro-setting-copy h2,
.wpkpro-setting-copy h3,
.wpkpro-setting-copy h4,
.wpkpro-setting-copy h5,
.wpkpro-setting-copy h6 {
    margin: 0;
    line-height: 1.3;
}

.wpkpro-setting-copy h3,
.wpkpro-setting-copy h4,
.wpkpro-card h3,
.wpkpro-side-card h2,
.wpkpro-shortcode-card h3 {
    font-size: 16px;
    font-weight: 700;
}

.wpkpro-setting-copy p,
.wpkpro-card__header p,
.wpkpro-field p,
.wpkpro-side-card p,
.wpkpro-shortcode-card p,
.wpkpro-form-footer p {
    margin: 7px 0 0;
    color: var(--wpkpro-muted);
    font-size: 13px;
    line-height: 1.55;
}

.wpkpro-integration-modules-divider {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--wpkpro-border);
}

.wpkpro-switch {
    position: relative;
    display: inline-flex;
    cursor: pointer;
}

.wpkpro-switch input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
}

.advapafo-switch input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
}

.advapafo-integration-toggle-row .advapafo-switch {
    position: relative;
    width: 54px;
    height: 30px;
}

.advapafo-integration-toggle-row .advapafo-switch > input[type="checkbox"] {
    position: absolute !important;
    inset: 0 !important;
    width: 54px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    pointer-events: none !important;
}

.wpkpro-switch__track {
    position: relative;
    display: inline-flex;
    width: 54px;
    height: 30px;
    border-radius: 999px;
    background: #cbd5df;
    transition: background 160ms ease;
}

.wpkpro-switch__thumb {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 3px 8px rgba(29, 35, 39, 0.22);
    transition: transform 160ms ease;
}

.wpkpro-switch input:checked + .wpkpro-switch__track {
    background: var(--wpkpro-pro);
}

.wpkpro-switch input:checked + .wpkpro-switch__track .wpkpro-switch__thumb {
    transform: translateX(24px);
}

.wpkpro-role-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.wpkpro-role-chip {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--wpkpro-border);
    border-radius: 12px;
    background: var(--wpkpro-muted-bg);
    font-weight: 650;
    cursor: pointer;
}

.wpkpro-role-chip input {
    accent-color: var(--wpkpro-pro);
}

.wpkpro-attestation-card .wpkpro-card__header {
    margin-bottom: 22px;
}

.wpkpro-attestation-card .wpkpro-role-grid {
    margin-top: 18px;
}

.wpkpro-attestation-quickstart {
    margin: 14px 0 0;
    padding: 10px 12px;
    border: 1px solid var(--wpkpro-border);
    border-radius: 10px;
    background: var(--wpkpro-muted-bg);
}

.wpkpro-attestation-help {
    margin-top: 14px;
}

.wpkpro-attestation-help summary {
    cursor: pointer;
    color: var(--wpkpro-ink);
}

.wpkpro-attestation-aaguid-grid {
    margin-top: 18px;
    gap: 20px;
}

.wpkpro-attestation-aaguid-grid .wpkpro-field {
    margin: 0;
    padding: 12px;
    border: 1px solid var(--wpkpro-border);
    border-radius: 12px;
    background: var(--wpkpro-muted-bg);
}

.wpkpro-aaguid-input {
    min-height: 118px !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    line-height: 1.45;
}

.wpkpro-session-policy-card .wpkpro-card__header {
    margin-bottom: 22px;
}

.wpkpro-session-policy-grid {
    display: grid;
    align-items: start;
    gap: 22px;
    grid-template-columns: minmax(0, 1fr);
}

.wpkpro-session-policy-grid > * {
    min-width: 0;
}

.wpkpro-session-hardening-panel {
    padding: 14px;
    border: 1px solid var(--wpkpro-border);
    border-radius: 12px;
    background: #f9fbfe;
}

.wpkpro-session-hardening-panel h4 {
    margin: 0;
    color: var(--wpkpro-ink);
    font-size: 15px;
    font-weight: 750;
}

.wpkpro-session-hardening-panel > p {
    margin: 8px 0 0;
    color: var(--wpkpro-muted);
    font-size: 13px;
    line-height: 1.5;
}

.wpkpro-session-hardening-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 12px;
    padding: 12px;
    border: 1px solid var(--wpkpro-border);
    border-radius: 10px;
    background: #fff;
}

.wpkpro-session-hardening-copy {
    min-width: 0;
}

.wpkpro-session-hardening-copy h5 {
    margin: 0;
    color: var(--wpkpro-ink);
    font-size: 14px;
    font-weight: 750;
}

.wpkpro-session-hardening-copy p {
    margin: 6px 0 0;
    color: var(--wpkpro-muted);
    font-size: 13px;
    line-height: 1.5;
}

.wpkpro-session-policy-footnote {
    margin-top: 12px !important;
    padding-top: 12px;
    border-top: 1px dashed var(--wpkpro-border);
}

.wpkpro-grid-2,
.wpkpro-grid-3,
.wpkpro-grid-4 {
    display: grid;
    gap: 18px;
}

.wpkpro-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wpkpro-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wpkpro-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wpkpro-integration-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.wpkpro-integration-setting-card {
    margin: 0;
    padding: 16px;
    border: 1px solid var(--wpkpro-border);
    border-radius: 12px;
    background: var(--wpkpro-muted-bg);
}

.wpkpro-integration-setting-card.is-enabled {
    border-color: rgba(21, 128, 61, 0.28);
    background: #f0fdf4;
}

.wpkpro-integration-setting-card.is-missing {
    opacity: 0.72;
}

.wpkpro-integration-setting-card header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    margin-bottom: 8px;
}

.wpkpro-integration-setting-card h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--wpkpro-ink);
}

.wpkpro-integration-status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    border: 1px solid var(--wpkpro-border);
    color: var(--wpkpro-muted);
    background: #fff;
}

.wpkpro-integration-status.is-active {
    color: var(--wpkpro-success);
    border-color: rgba(21, 128, 61, 0.22);
    background: var(--wpkpro-success-bg);
}

.wpkpro-integration-status.is-missing {
    color: #9ca3af;
    border-color: #d1d5db;
    background: #f3f4f6;
}

.wpkpro-integration-status.is-fallback {
    color: #92400e;
    border-color: #fcd34d;
    background: #fef3c7;
}

.wpkpro-env-compat-grid,
.wpkpro-env-compat-item {
    display: none;
}

.wpkpro-integration-toggle-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--wpkpro-border);
}

.wpkpro-integration-toggle-row label {
    margin: 0;
    color: var(--wpkpro-ink-soft);
    font-size: 12px;
    font-weight: 650;
}

.wpkpro-field label,
.wpkpro-label-row label {
    display: block;
    margin-bottom: 8px;
    color: var(--wpkpro-ink);
    font-size: 13px;
    font-weight: 750;
}

.wpkpro-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.wpkpro-label-row label {
    margin-bottom: 0;
}

.wpkpro-field input[type="text"],
.wpkpro-field input[type="email"],
.wpkpro-field input[type="password"],
.wpkpro-field input[type="url"],
.wpkpro-field input[type="number"],
.wpkpro-field input[type="file"],
.wpkpro-audit-search,
.wpkpro-field select,
.wpkpro-field textarea {
    width: 100%;
    max-width: none;
    min-height: 42px;
    border-radius: 10px;
    border-color: var(--wpkpro-border-strong);
    color: var(--wpkpro-ink);
    background-color: #fff;
}

.wpkpro-field textarea {
    min-height: 210px;
    padding: 10px 12px;
    line-height: 1.45;
}

.wpkpro-field input:focus,
.wpkpro-field select:focus,
.wpkpro-field textarea:focus,
.wpkpro-audit-search:focus {
    border-color: var(--wpkpro-pro);
    box-shadow: 0 0 0 3px rgba(126, 91, 239, 0.14);
    outline: none;
}

.wpkpro-tab-form > .wpkpro-field + .wpkpro-field {
    margin-top: 14px;
}

.wpkpro-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.wpkpro-agency-tools {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.wpkpro-agency-tools__header {
    margin-bottom: 14px;
}

.wpkpro-agency-tools__header h4,
.wpkpro-agency-tool-card h5 {
    margin: 0;
    color: var(--wpkpro-ink);
    line-height: 1.2;
}

.wpkpro-agency-tools__header h4 {
    font-size: 15px;
    font-weight: 700;
}

.wpkpro-agency-tools__header p,
.wpkpro-agency-tool-card p {
    margin: 6px 0 0;
    color: var(--wpkpro-muted);
    font-size: 13px;
    line-height: 1.5;
}

.wpkpro-agency-tools__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.wpkpro-agency-tool-card {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--wpkpro-border);
    border-radius: 12px;
    background: var(--wpkpro-muted-bg);
}

.wpkpro-agency-tool-card .wpkpro-field {
    margin-top: 12px;
}

.wpkpro-agency-tool-card .wpkpro-form-actions {
    margin-top: auto;
    padding-top: 12px;
}

.wpkpro-badge {
    padding: 7px 9px;
    color: var(--wpkpro-muted);
    background: var(--wpkpro-muted-bg);
    border: 1px solid var(--wpkpro-border);
}

.wpkpro-badge--pro {
    color: var(--wpkpro-pro-dark);
    background: rgba(126, 91, 239, 0.1);
    border-color: rgba(126, 91, 239, 0.22);
}

.wpkpro-badge--success {
    color: var(--wpkpro-success);
    background: var(--wpkpro-success-bg);
    border-color: rgba(21, 128, 61, 0.16);
}

.wpkpro-setting-status-hint {
    display: inline-flex;
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1.45;
    font-weight: 700;
    color: #6f4b00;
    background: #fff6dc;
    border: 1px solid #f0d486;
    vertical-align: middle;
}

.wpkpro-button,
.wp-core-ui .wpkpro-save-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 42px !important;
    padding: 0 16px !important;
    border-radius: 10px !important;
    border: 0 !important;
    font-weight: 750 !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.wpkpro-button:hover,
.wp-core-ui .wpkpro-save-button:hover {
    transform: translateY(-1px);
}

.wp-core-ui .wpkpro-save-button {
    background: var(--wpkpro-ink) !important;
    color: #fff !important;
    box-shadow: 0 10px 20px rgba(29, 35, 39, 0.18) !important;
}

.wpkpro-button--ghost {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

.wpkpro-button--pro {
    display: block;
    width: 100%;
    box-sizing: border-box;
    color: #fff !important;
    background: var(--wpkpro-pro);
    box-shadow: 0 12px 24px rgba(126, 91, 239, 0.28);
    text-align: center;
}

.wpkpro-button--pro:hover,
.wpkpro-button--pro:focus {
    color: #fff !important;
    background: var(--wpkpro-pro-deep);
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(126, 91, 239, 0.38);
}

.wpkpro-button--secondary {
    color: var(--wpkpro-ink) !important;
    background: #fff;
    border: 1px solid var(--wpkpro-border-strong) !important;
}

.wpkpro-button--secondary:hover,
.wpkpro-button--secondary:focus {
    color: var(--wpkpro-ink) !important;
    border-color: var(--wpkpro-ink) !important;
    background: #fff;
}

.wpkpro-button--danger {
    color: #b91c1c !important;
    background: #fff;
    border: 1px solid #fca5a5 !important;
}

.wpkpro-button--danger:hover,
.wpkpro-button--danger:focus {
    color: #991b1b !important;
    border-color: #ef4444 !important;
    background: #fff;
}

.wpkpro-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 28px;
    background: var(--wpkpro-muted-bg);
    border-top: 1px solid var(--wpkpro-border);
}

.wpkpro-form-footer--card {
    margin: 20px -22px -22px;
    padding: 20px 22px;
    border-radius: 0 0 var(--wpkpro-radius) var(--wpkpro-radius);
}

.wpkpro-sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.wpkpro-side-card {
    padding: 22px;
}

.wpkpro-side-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.wpkpro-side-card__head h2 {
    margin: 0;
}

.wpkpro-side-card--env-compat .wpkpro-side-card__note {
    margin-top: 8px;
}

.wpkpro-side-card__note--requirements {
    margin-bottom: 6px;
    font-weight: 700;
    color: var(--wpkpro-ink-soft);
}

.wpkpro-side-compat-list {
    margin: 12px 0;
    padding: 0;
    list-style: none;
}

.wpkpro-side-compat-list li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin: 0;
    padding: 8px 0;
    border-bottom: 1px dashed var(--wpkpro-border);
}

.wpkpro-side-compat-list li .wpkpro-integration-status {
    margin-left: auto;
}

.wpkpro-side-compat-list li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.wpkpro-side-requirements-list {
    margin: 0 0 10px;
    padding-left: 18px;
}

.wpkpro-side-requirements-list li {
    margin: 6px 0;
    color: var(--wpkpro-ink-soft);
    font-size: 12px;
    line-height: 1.45;
}

.wpkpro-side-card--pro {
    color: #fff;
    background:
        radial-gradient(circle at 90% 0%, rgba(255, 255, 255, 0.28), transparent 30%),
        linear-gradient(145deg, var(--wpkpro-pro), #4f33ba);
    border-color: rgba(126, 91, 239, 0.2);
}

.wpkpro-side-card--pro p,
.wpkpro-side-card--pro li,
.wpkpro-side-card--pro h2 {
    color: #fff;
}

.wpkpro-side-card--pro p,
.wpkpro-side-card--pro li {
    opacity: 0.88;
}

.wpkpro-side-card--pro .wpkpro-badge--pro {
    color: #fff;
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.22);
}

.wpkpro-side-card ul,
.wpkpro-checklist {
    margin: 16px 0 18px;
    padding: 0;
    list-style: none;
}

.wpkpro-side-card li,
.wpkpro-checklist li,
.wpkpro-compat-list span {
    display: flex;
    gap: 9px;
    align-items: center;
    margin: 10px 0;
    font-size: 13px;
    line-height: 1.4;
}

.wpkpro-side-card__note {
    margin: 10px 0 0;
    color: var(--wpkpro-muted);
    font-size: 12px;
    line-height: 1.45;
}

.wpkpro-modules-list li {
    justify-content: space-between;
    gap: 10px;
}

.wpkpro-modules-list__name {
    flex: 1;
    min-width: 0;
}

.wpkpro-badge--module-status {
    margin-left: auto;
    padding: 5px 11px;
    font-size: 11px;
    font-weight: 700;
    min-width: 72px;
    justify-content: center;
}

.wpkpro-audit-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 28px;
}

.wpkpro-audit-stats-grid--login-kpis {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.wpkpro-audit-stat {
    padding: 16px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    color: #fff;
    box-shadow: var(--wpkpro-shadow-soft);
}

.wpkpro-audit-stat h3 {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.9);
}

.wpkpro-audit-stat p {
    margin: 10px 0 0;
    font-size: 28px;
    font-weight: 750;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
}

.wpkpro-metric-info-card,
.wpkpro-device-health-info-card {
    margin: 0 28px 18px;
}

.wpkpro-metric-info-card .wpkpro-card__header,
.wpkpro-device-health-info-card .wpkpro-card__header {
    padding-bottom: 8px;
}

.wpkpro-metric-info-card .wpkpro-card__header p,
.wpkpro-device-health-info-card .wpkpro-card__header p {
    margin: 4px 0 0;
}

.wpkpro-metric-info-card .wpkpro-card__body,
.wpkpro-device-health-info-card .wpkpro-card__body {
    padding-top: 0;
}

.wpkpro-metric-info-list,
.wpkpro-device-health-info-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.wpkpro-metric-info-list li,
.wpkpro-device-health-info-list li {
    margin: 0;
    padding: 8px 10px;
    border: 1px solid var(--wpkpro-border);
    border-radius: 8px;
    background: #f8fafc;
    color: #334155;
    font-size: 12px;
    line-height: 1.35;
}

.wpkpro-metric-info-list strong,
.wpkpro-device-health-info-list strong {
    display: block;
    margin-bottom: 2px;
    color: #111827;
}

.wpkpro-policy-example-list {
    align-items: start;
}

.wpkpro-policy-example-list li p {
    margin: 4px 0 0;
}

.wpkpro-policy-accordion {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.wpkpro-policy-example-notice {
    margin: 8px 0 0;
    padding: 6px 10px;
    display: inline-block;
    border: 1px solid #ddd8f4;
    border-radius: 999px;
    background: #f7f3ff;
    color: #4d35be;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 600;
}

.wpkpro-policy-accordion__item {
    margin: 0;
    border: 1px solid var(--wpkpro-border);
    border-radius: 10px;
    background: #f8fafc;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.wpkpro-policy-accordion__item summary {
    margin: 0;
    padding: 11px 14px;
    cursor: pointer;
    color: #111827;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    list-style: none;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

.wpkpro-policy-accordion__item summary::-webkit-details-marker {
    display: none;
}

.wpkpro-policy-accordion__item summary::after {
    content: '+';
    float: right;
    color: #475569;
    font-weight: 700;
}

.wpkpro-policy-accordion__item[open] summary::after {
    content: '-';
}

.wpkpro-policy-accordion__item[open] summary {
    border-bottom: 1px solid #e2e8f0;
}

.wpkpro-policy-accordion__item > p {
    margin: 0;
    padding: 10px 14px 12px;
    color: #334155;
    font-size: 12px;
    line-height: 1.35;
}

.wpkpro-policy-example-code {
    margin: 12px 14px 14px;
    padding: 14px 16px;
    border: 1px solid #ddd8f4;
    border-radius: 8px;
    background: linear-gradient(180deg, #faf8ff 0%, #f2fbfb 100%);
    color: #0f172a;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 12px;
    line-height: 1.55;
    white-space: pre;
    overflow-x: auto;
    overflow-y: hidden;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 1px 3px rgba(15, 23, 42, 0.06);
}

.wpkpro-json-token--key {
    color: #6344d8;
    font-weight: 600;
}

.wpkpro-json-token--string {
    color: #138786;
}

.wpkpro-json-token--number {
    color: #4d35be;
}

.wpkpro-json-token--boolean {
    color: #0f6f71;
    font-weight: 600;
}

.wpkpro-json-token--null {
    color: #8b6bff;
    font-weight: 600;
}

@media (max-width: 900px) {
    .wpkpro-metric-info-list,
    .wpkpro-device-health-info-list {
        grid-template-columns: 1fr;
    }
}

.wpkpro-audit-stat--users {
    background: linear-gradient(140deg, #8b6bff 0%, #6b4ce6 52%, #4d35be 100%);
}

.wpkpro-audit-stat--passkeys {
    background: linear-gradient(140deg, #1ebd64 0%, #169e56 52%, #10753f 100%);
}

.wpkpro-audit-stat--passkey-logins {
    background: linear-gradient(140deg, #1aa6a1 0%, #158a86 52%, #0f6766 100%);
}

.wpkpro-audit-stat--password-logins {
    background: linear-gradient(140deg, #ef4444 0%, #dc2626 52%, #b91c1c 100%);
}

.wpkpro-audit-stat--blocked-attempts {
    background: linear-gradient(140deg, #f97316 0%, #ea580c 52%, #c2410c 100%);
}

.wpkpro-audit-stat--bypassed-logins {
    background: linear-gradient(140deg, #f59e0b 0%, #d97706 52%, #b45309 100%);
}

.wpkpro-audit-stat--health-normal {
    background: linear-gradient(140deg, #19a3a0 0%, #138786 52%, #0f6f71 100%);
}

.wpkpro-audit-stat--health-elevated {
    background: linear-gradient(140deg, #e83a3a 0%, #d12a2a 52%, #a91b1b 100%);
}

.wpkpro-audit-search-wrap {
    min-width: 260px;
}

.wpkpro-audit-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.wpkpro-audit-filter-wrap {
    min-width: 170px;
}

.wpkpro-audit-filter {
    width: 100%;
    max-width: none;
    min-height: 42px;
    border-radius: 10px;
    border-color: var(--wpkpro-border-strong);
    color: var(--wpkpro-ink);
    background-color: #fff;
}

.wpkpro-audit-filter:focus {
    border-color: var(--wpkpro-pro);
    box-shadow: 0 0 0 3px rgba(126, 91, 239, 0.14);
    outline: none;
}

.wpkpro-audit-search {
    width: 100%;
    max-width: none;
}

.wpkpro-audit-table-wrap {
    overflow: auto;
}

.wpkpro-audit-table {
    min-width: 760px;
    border: 1px solid var(--wpkpro-border);
    border-radius: 12px;
    overflow: hidden;
}

.wpkpro-audit-table thead th {
    background: #f8fafc;
    color: var(--wpkpro-ink);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 800;
    padding: 16px 18px;
}

.wpkpro-audit-table tbody td {
    vertical-align: middle;
    color: var(--wpkpro-ink-soft);
    padding: 15px 18px;
}

.wpkpro-audit-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.wpkpro-audit-status-pill--success {
    color: #0f5132;
    background: #d1fae5;
    border-color: #86efac;
}

.wpkpro-audit-status-pill--blocked {
    color: #9a3412;
    background: #ffedd5;
    border-color: #fdba74;
}

.wpkpro-audit-status-pill--failed {
    color: #7f1d1d;
    background: #fee2e2;
    border-color: #fca5a5;
}

.wpkpro-audit-status-pill--bypassed {
    color: #1e3a8a;
    background: #dbeafe;
    border-color: #93c5fd;
}

.wpkpro-audit-status-pill--info {
    color: #334155;
    background: #e2e8f0;
    border-color: #cbd5e1;
}

.wpkpro-device-risk-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 76px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-transform: capitalize;
}

.wpkpro-device-risk-pill--normal {
    color: #0f766e;
    background: #ccfbf1;
    border-color: #99f6e4;
}

.wpkpro-device-risk-pill--elevated {
    color: #b91c1c;
    background: #fee2e2;
    border-color: #fecaca;
}

.wpkpro-device-last-used-relative {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.2;
    color: var(--wpkpro-muted);
}

.wpkpro-audit-table th.is-sortable {
    cursor: pointer;
    position: relative;
    user-select: none;
}

.wpkpro-audit-table th.is-sortable::after {
    content: "↕";
    margin-left: 8px;
    color: #94a3b8;
    font-size: 11px;
}

.wpkpro-audit-table th.is-sorted-asc::after {
    content: "↑";
    color: var(--wpkpro-pro);
}

.wpkpro-audit-table th.is-sorted-desc::after {
    content: "↓";
    color: var(--wpkpro-pro);
}

.wpkpro-card .tablenav-pages {
    margin-top: 14px;
    display: flex;
    justify-content: flex-end;
}

.wpkpro-card .tablenav-pages .page-numbers {
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.wpkpro-card .tablenav-pages .page-numbers li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wpkpro-card .tablenav-pages .page-numbers a,
.wpkpro-card .tablenav-pages .page-numbers span {
    min-width: 36px;
    height: 36px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid var(--wpkpro-border-strong);
    background: #fff;
    color: var(--wpkpro-ink-soft);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    transition: border-color .18s ease, color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.wpkpro-card .tablenav-pages .page-numbers a:hover,
.wpkpro-card .tablenav-pages .page-numbers a:focus-visible {
    color: var(--wpkpro-pro-dark);
    border-color: rgba(126, 91, 239, 0.44);
    background: rgba(126, 91, 239, 0.08);
    box-shadow: 0 0 0 3px rgba(126, 91, 239, 0.12);
    outline: none;
}

.wpkpro-card .tablenav-pages .page-numbers .current {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #7e5bef 0%, #5b44cf 100%);
    box-shadow: 0 8px 18px rgba(91, 68, 207, 0.28);
}

.wpkpro-card .tablenav-pages .page-numbers .dots {
    border-color: transparent;
    background: transparent;
    color: var(--wpkpro-muted);
    min-width: auto;
    padding: 0 4px;
}

.wpkpro-side-card ul li::before,
.wpkpro-checklist li::before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border-radius: 50%;
    color: var(--wpkpro-success);
    background: var(--wpkpro-success-bg);
    font-size: 11px;
    font-weight: 800;
}

.wpkpro-side-card--pro ul li::before {
    color: var(--wpkpro-pro-dark);
    background: rgba(255, 255, 255, 0.9);
}

.wpkpro-compat-list {
    display: grid;
    gap: 8px;
    margin-top: 15px;
}

.wpkpro-compat-list span {
    justify-content: space-between;
    margin: 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--wpkpro-muted-bg);
}

.wpkpro-compat-list strong {
    color: var(--wpkpro-success);
}

.wpkpro-shortcode-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.wpkpro-shortcode-helper-card {
    margin: 22px 28px;
    padding: 20px;
    border: 1px solid var(--wpkpro-border);
    border-radius: var(--wpkpro-radius);
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: var(--wpkpro-shadow-soft);
}

.wpkpro-shortcode-helper-card__header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--wpkpro-ink);
}

.wpkpro-shortcode-helper-card__header p {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.55;
    color: var(--wpkpro-muted);
}

.wpkpro-shortcode-helper-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.wpkpro-shortcode-helper-grid section {
    padding: 14px;
    border: 1px solid var(--wpkpro-border);
    border-radius: 12px;
    background: #fff;
}

.wpkpro-shortcode-helper-grid h4,
.wpkpro-shortcode-examples h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--wpkpro-ink);
}

.wpkpro-shortcode-helper-grid ol,
.wpkpro-shortcode-helper-list {
    margin: 10px 0 0;
    padding-left: 18px;
}

.wpkpro-shortcode-helper-grid li,
.wpkpro-shortcode-helper-list li {
    margin: 6px 0;
    color: var(--wpkpro-ink-soft);
    font-size: 13px;
    line-height: 1.45;
}

.wpkpro-shortcode-helper-list code {
    margin-right: 5px;
    padding: 1px 6px;
    border-radius: 6px;
    border: 1px solid var(--wpkpro-border);
    background: #fff;
    color: var(--wpkpro-ink);
    font-size: 12px;
}

.wpkpro-shortcode-examples {
    margin-top: 16px;
}

.wpkpro-shortcode-examples__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 10px;
}

.wpkpro-shortcode-examples__grid > div {
    padding: 12px;
    border: 1px dashed var(--wpkpro-border-strong);
    border-radius: 10px;
    background: #fff;
}

.wpkpro-shortcode-examples__grid p {
    margin: 0 0 8px;
    color: var(--wpkpro-ink);
    font-size: 12px;
    font-weight: 700;
}

.wpkpro-shortcode-examples__grid code {
    display: block;
    padding: 9px 10px;
    border-radius: 8px;
    border: 1px solid #1f2937;
    background: #111820;
    color: #f8fafc;
    font-size: 12px;
    white-space: normal;
}

.wpkpro-shortcode-card {
    padding: 22px;
}

.wpkpro-shortcode-card code {
    display: block;
    margin-top: 16px;
    padding: 13px 14px;
    border-radius: 10px;
    border: 1px solid var(--wpkpro-border);
    background: #111820;
    color: #f8fafc;
    font-size: 13px;
    white-space: normal;
}

.wpkpro-shortcode-card span {
    display: block;
    margin-top: 12px;
    color: var(--wpkpro-muted);
    font-size: 12px;
    font-weight: 650;
}

@media (max-width: 1100px) {
    .wpkpro-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .wpkpro-dashboard-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wpkpro-dashboard-activity-chart-labels {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .wpkpro-dashboard-auth-chart-labels {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .wpkpro-dashboard-card {
        min-height: 0;
    }

    .wpkpro-layout {
        grid-template-columns: 1fr;
    }

    .wpkpro-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        display: grid;
    }
}

@media (max-width: 782px) {
    .wpkpro-admin-wrap {
        margin-right: 12px;
    }

    .wpkpro-notices-wrap {
        margin: 16px 12px 14px 0;
    }

    .wpkpro-hero,
    .wpkpro-card--setting,
    .wpkpro-card__header,
    .wpkpro-form-footer,
    .wpkpro-section-header {
        flex-direction: column;
        align-items: stretch;
    }

    .wpkpro-hero {
        padding: 24px;
    }

    .wpkpro-hero h1 {
        font-size: 28px;
    }

    .wpkpro-role-grid,
    .wpkpro-grid-2,
    .wpkpro-grid-3,
    .wpkpro-grid-4,
    .wpkpro-integration-settings-grid,
    .wpkpro-dashboard-kpis,
    .wpkpro-agency-tools__grid,
    .wpkpro-audit-stats-grid,
    .wpkpro-shortcode-helper-grid,
    .wpkpro-shortcode-examples__grid,
    .wpkpro-shortcode-grid,
    .wpkpro-sidebar {
        grid-template-columns: 1fr;
    }

    .wpkpro-settings-form .wpkpro-card,
    .wpkpro-shortcode-grid,
    .wpkpro-shortcode-helper-card {
        margin: 16px;
    }

    .wpkpro-settings-license-card {
        margin: 12px 16px 16px;
    }

    .wpkpro-audit-stats-grid,
    .wpkpro-dashboard-grid,
    .wpkpro-main-panel > .wpkpro-card,
    .wpkpro-main-panel > .wpkpro-section-header + .wpkpro-card {
        margin: 16px;
    }

    .wpkpro-audit-search-wrap {
        min-width: 0;
        width: 100%;
    }

    .wpkpro-license-inline-row,
    .wpkpro-license-inline-activate {
        flex-wrap: wrap;
        align-items: stretch;
    }

    .wpkpro-license-inline-activate,
    .wpkpro-license-inline-deactivate {
        width: 100%;
    }

    .wpkpro-section-header,
    .wpkpro-form-footer {
        padding: 20px;
    }
}

/* ── Profile section ──────────────────────────────────────── */

.wpkpro-profile-section {
    margin: 28px 0;
    color: var(--wpkpro-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.wpkpro-profile-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.wpkpro-profile-header h2 {
    margin: 0 0 4px;
    font-size: 18px;
    font-weight: 700;
    color: var(--wpkpro-ink);
}

.wpkpro-profile-header p {
    margin: 0;
    font-size: 13px;
    color: var(--wpkpro-muted);
    line-height: 1.5;
}

.wpkpro-profile-count {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid var(--wpkpro-border);
    background: var(--wpkpro-muted-bg);
    font-size: 14px;
    font-weight: 700;
    color: var(--wpkpro-ink);
    white-space: nowrap;
    flex-shrink: 0;
}

.wpkpro-profile-count-label {
    font-size: 12px;
    font-weight: 500;
    color: var(--wpkpro-muted);
}

.wpkpro-profile-card {
    background: #fff;
    border: 1px solid var(--wpkpro-border);
    border-radius: var(--wpkpro-radius);
    box-shadow: var(--wpkpro-shadow-soft);
    overflow: hidden;
}

.wpkpro-profile-card--trusted-devices {
    margin-top: 16px;
}

/* Register row */
.wpkpro-profile-register-row {
    padding: 24px 28px;
    border-bottom: 1px solid var(--wpkpro-border);
}

.wpkpro-profile-register-row--grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.wpkpro-profile-register-col {
    min-width: 0;
}

.wpkpro-profile-register-col--recovery {
    border-left: 1px solid var(--wpkpro-border);
    padding-left: 28px;
}

.wpkpro-profile-register-header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 16px;
}

.wpkpro-profile-register-header--recovery {
    justify-content: space-between;
    align-items: center;
}

.wpkpro-profile-register-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--wpkpro-ink);
    white-space: nowrap;
}

.wpkpro-recovery-codes-remaining-pill {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid #d7e2ec;
    background: #f4f8fc;
    color: #516073;
    font-size: 11.5px;
    font-weight: 650;
    line-height: 1.2;
    white-space: nowrap;
}

.wpkpro-recovery-codes-remaining-pill--hidden {
    display: none;
}

.wpkpro-profile-register-desc {
    font-size: 13px;
    color: var(--wpkpro-muted);
    line-height: 1.5;
}

.wpkpro-profile-register-controls {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 520px;
}

.wpkpro-profile-register-row--grid .wpkpro-profile-register-controls {
    max-width: none;
}

.wpkpro-profile-register-label {
    flex: 1;
    min-width: 0;
}

.wpkpro-profile-register-label label {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
    font-weight: 700;
    color: var(--wpkpro-ink);
}

.wpkpro-profile-label-input {
    width: 100%;
    height: 46px;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid var(--wpkpro-border-strong) !important;
    border-radius: 10px !important;
    font-size: 14.5px;
    color: var(--wpkpro-ink);
    background: #fff;
    box-shadow: none !important;
    box-sizing: border-box;
}

.wpkpro-profile-label-input:focus {
    border-color: var(--wpkpro-pro) !important;
    box-shadow: 0 0 0 3px rgba(126, 91, 239, 0.14) !important;
    outline: none;
}

.wpkpro-profile-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 20px;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--wpkpro-ink) !important;
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 140ms ease, box-shadow 140ms ease;
    box-shadow: 0 8px 18px rgba(29, 35, 39, 0.18);
    width: 100%;
}

.wpkpro-profile-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(29, 35, 39, 0.24);
    color: #fff !important;
}

.wpkpro-profile-btn--subtle {
    width: auto;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--wpkpro-border-strong) !important;
    background: #fff !important;
    color: var(--wpkpro-ink) !important;
    font-size: 13px;
    font-weight: 600;
    box-shadow: none;
}

.wpkpro-profile-btn--subtle:hover {
    background: var(--wpkpro-muted-bg) !important;
    border-color: var(--wpkpro-pro) !important;
    color: var(--wpkpro-pro-dark) !important;
    box-shadow: 0 4px 10px rgba(29, 35, 39, 0.08);
}

.wpkpro-profile-btn--subtle:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.wpkpro-profile-tip {
    margin: 0;
    font-size: 12px;
    color: var(--wpkpro-muted);
    line-height: 1.5;
}

/* Hidden by default; JS sets display:'' when content is written */
#wpkpro-passkey-hub-profile-message {
    display: none;
    margin: 0;
    padding: 0;
}

.wpkpro-profile-limit-notice {
    padding: 12px 16px;
    border-radius: 10px;
    border: 1px solid rgba(202, 138, 4, 0.28);
    background: rgba(254, 249, 195, 0.6);
    color: #854d0e;
    font-size: 13px;
    line-height: 1.5;
    min-width: 260px;
}

/* Credentials table */
.wpkpro-profile-creds {
    padding: 0;
}

.wpkpro-profile-warning {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 20px 28px 0;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid rgba(202, 138, 4, 0.28);
    background: rgba(254, 249, 195, 0.6);
    color: #854d0e;
    font-size: 12.5px;
    line-height: 1.4;
}

.wpkpro-profile-warning svg {
    flex-shrink: 0;
    stroke: #a16207;
}

.wpkpro-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.wpkpro-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 32, 0.58);
    backdrop-filter: blur(2px);
}

.wpkpro-modal__dialog {
    position: relative;
    width: min(560px, calc(100vw - 40px));
    background: #fff;
    border: 1px solid var(--wpkpro-border);
    border-radius: 14px;
    box-shadow: var(--wpkpro-shadow);
    overflow: hidden;
}

.wpkpro-modal__header,
.wpkpro-modal__body,
.wpkpro-modal__footer {
    padding: 18px 20px;
}

.wpkpro-modal__header {
    border-bottom: 1px solid var(--wpkpro-border);
    background: linear-gradient(145deg, #fff, #f8fafc);
}

.wpkpro-modal__header h3 {
    margin: 0;
    font-size: 18px;
    color: var(--wpkpro-ink);
}

.wpkpro-modal__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wpkpro-modal__code-list {
    background: var(--wpkpro-muted-bg);
    border: 1px solid var(--wpkpro-border);
    border-radius: 10px;
    padding: 14px 16px;
}

.wpkpro-modal__code-line {
    margin: 0;
    padding: 2px 0;
}

.wpkpro-modal__code-list code {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--wpkpro-pro-dark);
}

#wpkpro-recovery-codes-copy-status.wpkpro-msg-success {
    color: var(--wpkpro-success);
    background: var(--wpkpro-success-bg);
    border: 1px solid rgba(21, 128, 61, 0.24);
    border-radius: 8px;
    padding: 8px 10px;
}

#wpkpro-recovery-codes-copy-status.wpkpro-msg-error {
    color: #b91c1c;
    background: #fef2f2;
    border: 1px solid rgba(185, 28, 28, 0.24);
    border-radius: 8px;
    padding: 8px 10px;
}

.wpkpro-modal__ack {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: var(--wpkpro-ink-soft);
}

.wpkpro-modal__ack input {
    margin-top: 2px;
    accent-color: var(--wpkpro-pro);
}

.wpkpro-modal__footer {
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid var(--wpkpro-border);
    background: #fff;
}

.wpkpro-stepup-modal__dialog {
    width: min(620px, calc(100vw - 40px));
}

.wpkpro-stepup-banner {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    margin: 20px 28px 0;
    padding: 13px 15px;
    border-radius: 14px;
    border: 1px solid rgba(126, 91, 239, 0.2);
    background: linear-gradient(160deg, #fbf9ff 0%, #f7f3ff 100%);
    box-shadow: 0 6px 16px rgba(77, 53, 190, 0.08);
}

.wpkpro-stepup-banner__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 11px;
    color: #ffffff;
    background: linear-gradient(180deg, #7e5bef 0%, #6f4ee6 100%);
    border: 1px solid rgba(99, 68, 216, 0.38);
    box-shadow: 0 4px 10px rgba(99, 68, 216, 0.18);
}

.wpkpro-stepup-banner__icon svg {
    display: block;
}

.wpkpro-stepup-banner__content {
    min-width: 0;
}

.wpkpro-stepup-banner__title {
    margin: 0;
    font-size: 13.5px;
    font-weight: 750;
    color: #2f3150;
}

.wpkpro-stepup-banner__text {
    margin: 5px 0 0;
    font-size: 12.25px;
    line-height: 1.45;
    color: #5b6078;
}

.wpkpro-stepup-banner__actions {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.wpkpro-stepup-banner__verify {
    width: auto;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 10px !important;
    font-size: 14px;
    background: linear-gradient(180deg, #7e5bef 0%, #7050e8 100%) !important;
    box-shadow: 0 6px 14px rgba(99, 68, 216, 0.22);
}

.wpkpro-stepup-banner__verify:hover {
    background: linear-gradient(180deg, #7352e8 0%, #6646db 100%) !important;
    box-shadow: 0 8px 16px rgba(99, 68, 216, 0.26);
}

[data-wpkpro-stepup-sensitive="1"][disabled],
[data-wpkpro-stepup-sensitive="1"][aria-disabled="true"] {
    opacity: 0.58;
    cursor: not-allowed;
    filter: saturate(0.9);
    pointer-events: none;
}

[data-wpkpro-stepup-sensitive-core="1"],
button.wp-generate-pw[disabled],
#destroy_sessions[disabled],
button[name="destroy_sessions"][disabled],
.clear_sessions button[disabled] {
    opacity: 0.58;
    cursor: not-allowed;
    pointer-events: none;
}

.wpkpro-stepup-pane {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--wpkpro-border);
    border-radius: 10px;
    background: #fbfcfe;
}

.wpkpro-stepup-pane + .wpkpro-stepup-pane {
    margin-top: 8px;
}

.wpkpro-stepup-pane__title {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: var(--wpkpro-ink);
}

.wpkpro-stepup-pane label {
    font-size: 13px;
    font-weight: 700;
    color: var(--wpkpro-ink);
}

#wpkpro-stepup-status.wpkpro-msg-success {
    color: var(--wpkpro-success);
    background: var(--wpkpro-success-bg);
    border: 1px solid rgba(21, 128, 61, 0.24);
    border-radius: 8px;
    padding: 8px 10px;
}

#wpkpro-stepup-status.wpkpro-msg-error {
    color: #b91c1c;
    background: #fef2f2;
    border: 1px solid rgba(185, 28, 28, 0.24);
    border-radius: 8px;
    padding: 8px 10px;
}

.wpkpro-creds-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 16px;
    font-size: 13.5px;
}

.wpkpro-creds-table thead tr {
    border-bottom: 1px solid var(--wpkpro-border);
}

.wpkpro-creds-table thead th {
    padding: 10px 28px;
    text-align: left;
    font-size: 11px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--wpkpro-muted);
    background: var(--wpkpro-muted-bg);
}

.wpkpro-creds-table tbody tr {
    border-bottom: 1px solid var(--wpkpro-border);
    transition: background 120ms ease;
}

.wpkpro-creds-table tbody tr:last-child {
    border-bottom: 0;
}

.wpkpro-creds-table tbody tr:hover {
    background: #fafbff;
}

.wpkpro-creds-table td {
    padding: 14px 28px;
    color: var(--wpkpro-ink);
    vertical-align: middle;
}

.wpkpro-creds-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 650;
}

.wpkpro-creds-label-text {
    white-space: nowrap;
}

.wpkpro-creds-edit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-left: 2px;
    border: 1px solid var(--wpkpro-border);
    border-radius: 6px;
    background: #fff;
    color: var(--wpkpro-muted);
    cursor: pointer;
    transition: color 120ms ease, border-color 120ms ease, background 120ms ease;
}

.wpkpro-creds-edit-btn:hover,
.wpkpro-creds-edit-btn:focus {
    border-color: var(--wpkpro-pro);
    color: var(--wpkpro-pro);
    background: #f9f8ff;
}

.wpkpro-creds-edit-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 8px;
}

.wpkpro-creds-edit-wrap[hidden] {
    display: none !important;
}

.wpkpro-passkey-edit[hidden] {
    display: none !important;
}

.wpkpro-creds-edit-input {
    width: 190px;
    min-height: 28px;
    border: 1px solid var(--wpkpro-border);
    border-radius: 8px;
    padding: 4px 8px;
    font-size: 12.5px;
}

.wpkpro-creds-edit-save,
.wpkpro-creds-edit-cancel {
    min-height: 28px;
    padding: 0 8px;
    border-radius: 7px;
    border: 1px solid var(--wpkpro-border);
    background: #fff;
    color: var(--wpkpro-ink);
    font-size: 12px;
    font-weight: 650;
    cursor: pointer;
}

.wpkpro-creds-edit-save {
    border-color: #111820;
    background: #111820;
    color: #fff;
}

.wpkpro-creds-edit-save:hover,
.wpkpro-creds-edit-save:focus {
    border-color: #0b0f14;
    background: #0b0f14;
    color: #fff;
}

.wpkpro-creds-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--wpkpro-pro);
    flex-shrink: 0;
}

.wpkpro-revoke-btn {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border: 1px solid rgba(185, 28, 28, 0.3) !important;
    border-radius: 8px !important;
    background: rgba(254, 226, 226, 0.6) !important;
    color: #b91c1c !important;
    font-size: 12.5px;
    font-weight: 700;
    cursor: pointer;
    transition: background 140ms ease, border-color 140ms ease;
}

.wpkpro-revoke-btn:hover {
    background: rgba(254, 202, 202, 0.9) !important;
    border-color: rgba(185, 28, 28, 0.55) !important;
}

/* Login form passkey button: premium black style, same size as SSO button */
/* Front-end shortcode login button: mirror wp-login passkey styling */
.wpkpro-shortcode-login-wrap {
    max-width: 320px;
    margin: 12px 0;
}

.wpkpro-shortcode-login-wrap .wpkpro-passkey-btn {
    width: 100% !important;
    min-height: 30px;
    margin: 0;
    padding: 0 12px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    border: 1px solid #111820 !important;
    border-radius: 4px !important;
    background: #111820 !important;
    color: #fff !important;
    font-weight: 600;
    text-shadow: none;
    box-shadow: 0 2px 8px rgba(17, 24, 32, 0.22);
    transition: background 150ms ease, border-color 150ms ease, transform 120ms ease, box-shadow 150ms ease;
}

.wpkpro-shortcode-login-wrap .wpkpro-passkey-btn:hover,
.wpkpro-shortcode-login-wrap .wpkpro-passkey-btn:focus {
    border-color: #0b0f14 !important;
    background: #0b0f14 !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(17, 24, 32, 0.24);
}

.wpkpro-shortcode-login-wrap .wpkpro-passkey-btn:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(76, 159, 254, 0.45), 0 6px 14px rgba(17, 24, 32, 0.24);
}

.wpkpro-shortcode-login-wrap .wpkpro-passkey-icon {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    color: #fff;
}

.wpkpro-shortcode-login-wrap .wpkpro-passkey-icon svg {
    width: 16px;
    height: 16px;
    stroke-width: 2.2;
}

.wpkpro-shortcode-login-wrap .wpkpro-login-message {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.45;
    color: #5f6873;
}

.wpkpro-passkey-hub-prompt {
    margin: 18px 0;
}

.wpkpro-passkey-hub-prompt__card {
    max-width: 640px;
    padding: 22px;
    border-radius: 14px;
    border: 1px solid #dbe2ea;
    background:
        radial-gradient(circle at top right, rgba(58, 173, 255, 0.14), transparent 42%),
        linear-gradient(165deg, #ffffff 0%, #f6f9fc 100%);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.wpkpro-passkey-hub-prompt__eyebrow {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0f6b8e;
}

.wpkpro-passkey-hub-prompt h3 {
    margin: 0;
    font-size: 24px;
    line-height: 1.25;
    color: #111827;
}

.wpkpro-passkey-hub-prompt__copy {
    margin: 10px 0 0;
    font-size: 15px;
    line-height: 1.55;
    color: #3f4b5a;
}

.wpkpro-passkey-hub-prompt__benefits {
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.wpkpro-passkey-hub-prompt__benefits li {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #243447;
    font-size: 13.5px;
    line-height: 1.4;
}

.wpkpro-passkey-hub-prompt__benefits li::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #1597d4;
    box-shadow: 0 0 0 4px rgba(21, 151, 212, 0.14);
    flex: 0 0 8px;
}

.wpkpro-passkey-hub-prompt__actions {
    margin-top: 16px;
}

.wpkpro-passkey-hub-prompt .wpkpro-passkey-hub-prompt-register {
    max-width: 520px;
}

.wpkpro-passkey-hub-prompt .wpkpro-passkey-hub-prompt-register .wpkpro-profile-register-controls {
    gap: 10px;
}

.wpkpro-passkey-hub-prompt .wpkpro-passkey-hub-prompt-register .wpkpro-profile-tip {
    margin-top: 6px;
}

@media (max-width: 782px) {
    .wpkpro-passkey-hub-prompt__card {
        padding: 16px;
    }

    .wpkpro-passkey-hub-prompt h3 {
        font-size: 20px;
    }
}

.wpkpro-passkey-btn.wpkpro-btn-disabled,
.wpkpro-passkey-btn.wpkpro-btn-disabled:hover,
.wpkpro-passkey-btn.wpkpro-btn-disabled:focus {
    border-color: #c8ced6 !important;
    background: #f1f3f5 !important;
    color: #8a929b !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: not-allowed;
    opacity: 0.92;
}

.wpkpro-passkey-btn.wpkpro-btn-disabled .wpkpro-passkey-icon {
    color: #9aa3ad;
}

body.login .wpkpro-login-separator {
    width: 100%;
    margin: 14px 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #8b949e;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.login .wpkpro-login-separator::before,
body.login .wpkpro-login-separator::after {
    content: "";
    flex: 1 1 auto;
    border-top: 1px solid #d8dde3;
}

body.login .wpkpro-login-separator span {
    display: inline-block;
    padding: 0 10px;
    line-height: 1;
    background: #fff;
}

body.login .wpkpro-login-passkey-wrap {
    margin-top: 0;
}

body.login .wpkpro-login-passkey-wrap .wpkpro-passkey-btn {
    width: 100% !important;
    min-height: 30px;
    margin-bottom: 0;
    padding: 0 12px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    border: 1px solid #111820 !important;
    border-radius: 4px !important;
    background: #111820 !important;
    color: #fff !important;
    font-weight: 600;
    text-shadow: none;
    box-shadow: 0 2px 8px rgba(17, 24, 32, 0.22);
    transition: background 150ms ease, border-color 150ms ease, transform 120ms ease, box-shadow 150ms ease;
}

body.login .wpkpro-login-passkey-wrap .wpkpro-passkey-btn:hover,
body.login .wpkpro-login-passkey-wrap .wpkpro-passkey-btn:focus {
    border-color: #0b0f14 !important;
    background: #0b0f14 !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(17, 24, 32, 0.24);
}

body.login .wpkpro-login-passkey-wrap .wpkpro-passkey-btn:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(76, 159, 254, 0.45), 0 6px 14px rgba(17, 24, 32, 0.24);
}

body.login .wpkpro-login-passkey-wrap .wpkpro-passkey-icon {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    color: #fff;
}

body.login .wpkpro-login-passkey-wrap .wpkpro-passkey-icon svg {
    width: 16px;
    height: 16px;
    stroke-width: 2.2;
}

body.login #wpkpro-passkey-login-message {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.45;
}

@media (max-width: 782px) {
    .wpkpro-profile-register-row--grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .wpkpro-profile-register-col--recovery {
        border-left: 0;
        border-top: 1px solid var(--wpkpro-border);
        padding-left: 0;
        padding-top: 20px;
    }

    .wpkpro-profile-register-controls,
    .wpkpro-profile-limit-notice {
        min-width: 0;
        width: 100%;
    }

    .wpkpro-profile-register-header--recovery {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 8px;
    }

    .wpkpro-recovery-codes-remaining-pill {
        white-space: normal;
    }

    .wpkpro-creds-table thead th,
    .wpkpro-creds-table td {
        padding-left: 16px;
        padding-right: 16px;
    }

    .wpkpro-profile-warning {
        margin-left: 16px;
        margin-right: 16px;
    }
}
