
    :root {
        --nhrrob-secure-bg: #f0f2f5;
        --nhrrob-secure-card-bg: #ffffff;
        --nhrrob-secure-text: #1e1e1e;
        --nhrrob-secure-text-muted: #646970;
        --nhrrob-secure-border: #dcdcde;
        --nhrrob-secure-primary: #2271b1;
        --nhrrob-secure-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    }

    .nhrrob-secure-settings.dark-mode {
        --nhrrob-secure-bg: #101113;
        --nhrrob-secure-card-bg: #1e1e1e;
        --nhrrob-secure-text: #f0f0f1;
        --nhrrob-secure-text-muted: #a7aaad;
        --nhrrob-secure-border: #2c3338;
        --nhrrob-secure-primary: #72aee6;
        --nhrrob-secure-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    }

    /* Global Body Overrides for Dark Mode */
    body,
    #wpcontent,
    #wpbody,
    #wpbody-content,
    #wpadminbar {
        transition: background-color 0.3s ease, color 0.3s ease;
    }

    body.nhrrob-secure-dark-mode-active #wpcontent,
    body.nhrrob-secure-dark-mode-active #wpbody,
    body.nhrrob-secure-dark-mode-active #wpbody-content,
    body.nhrrob-secure-dark-mode-active {
        background-color: #101113 !important;
    }

    body.nhrrob-secure-dark-mode-active #wpadminbar {
        background-color: #1e1e1e;
    }

    .nhrrob-secure-settings {
        margin-left: 0px;
        margin-right: 0px;
        margin-top: 0px;
        margin-bottom: 0px;
        min-height: calc(100vh - 100px);
        background-color: var(--nhrrob-secure-bg);
        color: var(--nhrrob-secure-text);
        transition: all 0.3s ease;
}

    .nhrrob-secure-header {
        margin-bottom: 2rem;
}

    .nhrrob-secure-header-main {
        margin-bottom: 0.5rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
}

    .nhrrob-secure-header h1 {
        margin: 0px;
        font-size: 1.875rem;
        line-height: 2.25rem;
        font-weight: 600;
        color: var(--nhrrob-secure-text);
}

    .nhrrob-secure-settings.dark-mode .nhrrob-secure-dark-mode-toggle {
        --tw-text-opacity: 1;
        color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

    .nhrrob-secure-settings.dark-mode .nhrrob-secure-dark-mode-toggle:hover {
        --tw-text-opacity: 1;
        color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

    .nhrrob-secure-settings .nhrrob-secure-dark-mode-toggle,
    .nhrrob-secure-settings .nhrrob-secure-dark-mode-toggle:focus {
        --tw-text-opacity: 1;
        color: rgb(0 0 0 / var(--tw-text-opacity, 1));
        outline: 2px solid transparent;
        outline-offset: 2px;
}

    .nhrrob-secure-settings .nhrrob-secure-dark-mode-toggle:hover,
    .nhrrob-secure-settings .nhrrob-secure-dark-mode-toggle:focus:hover {
        --tw-text-opacity: 1;
        color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

    .nhrrob-secure-settings .nhrrob-secure-dark-mode-toggle,
    .nhrrob-secure-settings .nhrrob-secure-dark-mode-toggle:focus {
        box-shadow: none;
    }

    .nhrrob-secure-subtitle {
        margin: 0px;
        font-size: 0.875rem;
        line-height: 1.25rem;
        color: var(--nhrrob-secure-text-muted);
}

    .nhrrob-secure-loading {
        display: flex;
        min-height: 400px;
        align-items: center;
        justify-content: center;
}

    .nhrrob-secure-cards {
        margin-bottom: 1.5rem;
        display: grid;
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 1.25rem;
}

    @media (min-width: 768px) {

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

    @media (min-width: 1024px) {

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

    .nhrrob-secure-card {
        border-width: 1px;
        --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
        --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        transition-property: all;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 200ms;
}

    .nhrrob-secure-card:hover {
        --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
        --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

    .nhrrob-secure-card {
        background-color: var(--nhrrob-secure-card-bg);
        border-color: var(--nhrrob-secure-border);
        border-radius: 8px;
    }

    .nhrrob-secure-card .components-text-control__input {
        max-width: 28rem;
}

    .nhrrob-secure-card-title {
        margin: 0px;
        border-bottom-width: 1px;
        padding-bottom: 0.75rem;
        font-size: 1.125rem;
        line-height: 1.75rem;
        font-weight: 600;
        color: var(--nhrrob-secure-text);
        border-color: var(--nhrrob-secure-border);
}

    .nhrrob-secure-card-header-flex {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
}

    .nhrrob-secure-card-header-actions {
        display: flex;
        align-items: center;
        gap: 0.75rem;
}

    /* Core component overrides for Dark Mode */
    .dark-mode .components-toggle-control__label,
    .dark-mode .components-base-control__label,
    .dark-mode .components-checkbox-control__label,
    .dark-mode .components-radio-control__label,
    .dark-mode .components-placeholder__label,
    .dark-mode .components-placeholder__instructions,
    .dark-mode .nhrrob-secure-2fa-method h3,
    .dark-mode .nhrrob-secure-enforced-roles h3,
    .dark-mode .nhrrob-secure-ip-card h3,
    .dark-mode .nhrrob-secure-ip-card .components-base-control__label,
    .dark-mode .nhrrob-secure-country-select label {
        color: var(--nhrrob-secure-text) !important;
    }

    .
    .dark-mode .components-placeholder {
        background-color: var(--nhrrob-secure-vuln-bg) !important;
        border-color: var(--nhrrob-secure-vuln-border) !important;
        box-shadow: none !important;
    }

    .dark-mode .components-text-control__input,
    .dark-mode .components-textarea-control__input,
    .dark-mode .components-select-control__input {
        background-color: #2c3338 !important;
        border-color: #43494e !important;
        color: #f0f0f1 !important;
    }

    /* IP Manager SelectControl specific styling */
    .dark-mode .nhrrob-secure-ip-card .components-select-control__input {
        background-color: #2c3338 !important;
        border-color: #43494e !important;
        color: #f0f0f1 !important;
    }

    .dark-mode .components-placeholder__input::-moz-placeholder, .dark-mode input::-moz-placeholder, .dark-mode textarea::-moz-placeholder {
        color: rgba(240, 240, 241, 0.6) !important;
    }

    .dark-mode .components-placeholder__input::placeholder,
    .dark-mode input::placeholder,
    .dark-mode textarea::placeholder {
        color: rgba(240, 240, 241, 0.6) !important;
    }

    /* Session Manager Dark Mode */
    .dark-mode .session-item.bg-gray-50 {
        background-color: rgba(255, 255, 255, 0.03) !important;
        border-color: var(--nhrrob-secure-border) !important;
    }

    .dark-mode .session-item.bg-blue-50 {
        background-color: rgba(34, 113, 177, 0.15) !important;
        border-color: var(--nhrrob-secure-border) !important;
    }

    .dark-mode .session-item .text-gray-700 {
        color: var(--nhrrob-secure-text) !important;
    }

    .dark-mode .session-item .text-gray-500 {
        color: var(--nhrrob-secure-text-muted) !important;
    }

    .dark-mode .session-item .bg-blue-100 {
        background-color: rgba(34, 113, 177, 0.3) !important;
        color: #72aee6 !important;
    }

    /* Hardening Headers */
    .nhrrob-secure-setting-subtitle {
        margin-bottom: 0.75rem;
        margin-top: 0px;
        font-size: 0.875rem;
        line-height: 1.25rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.025em;
        opacity: 0.8;
        color: var(--nhrrob-secure-text-muted);
}

    .dark-mode .nhrrob-secure-setting-subtitle {
        color: #a7aaad;
    }

    .nhrrob-secure-card .components-toggle-control {
        align-items: flex-start;
}

    .nhrrob-secure-card .components-toggle-control .components-base-control__field {
        margin-bottom: 0px;
}

    /* Notice styling */
    .nhrrob-secure-settings .components-notice {
        margin: 0px;
        margin-bottom: 1.25rem;
}

    .nhrrob-secure-settings.dark-mode .components-notice__content {
        color: #1e1e1e;
    }

    /* Vulnerability Checker Styles */
    .nhrrob-secure-vulnerability-card .nhrrob-secure-card-header-flex {
        margin-bottom: 1rem;
        border-bottom-width: 1px;
        padding-bottom: 0.75rem;
        border-color: var(--nhrrob-secure-border);
}

    .nhrrob-secure-vulnerability-card .nhrrob-secure-card-title {
        flex-shrink: 0;
        border-bottom-width: 0px;
        padding-bottom: 0px;
}

    .nhrrob-secure-last-scan {
        margin-bottom: 1rem;
        font-size: 0.875rem;
        line-height: 1.25rem;
        color: var(--nhrrob-secure-text-muted);
}

    .nhrrob-secure-status-success {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        border-radius: 0.5rem;
        --tw-bg-opacity: 1;
        background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
        padding: 1rem;
        font-weight: 500;
        --tw-text-opacity: 1;
        color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

    .dark-mode .nhrrob-secure-status-success {
        background-color: rgb(20 83 45 / 0.2);
        --tw-text-opacity: 1;
        color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

    .nhrrob-secure-status-success .dashicons {
        --tw-text-opacity: 1;
        color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

    .dark-mode .nhrrob-secure-status-success .dashicons {
        --tw-text-opacity: 1;
        color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

    .vulnerability-section {
        margin-top: 1.5rem;
}

    .vulnerability-section h3 {
        margin-bottom: 0.75rem;
        font-size: 0.75rem;
        line-height: 1rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--nhrrob-secure-text-muted);
}

    .vulnerability-item {
        margin-bottom: 1rem;
        border-radius: 0.5rem;
        border-width: 1px;
        padding: 1rem;
        border-color: var(--nhrrob-secure-border);
        background-color: var(--nhrrob-secure-bg);
}

    .vulnerability-item strong {
        margin-bottom: 0.5rem;
        display: block;
        font-size: 0.875rem;
        line-height: 1.25rem;
        color: var(--nhrrob-secure-text);
}

    .vulnerability-item ul {
        margin: 0px;
        list-style-position: inside;
        list-style-type: disc;
}

    .vulnerability-item ul > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

    .vulnerability-item li {
        font-size: 0.75rem;
        line-height: 1rem;
        line-height: 1.625;
        color: var(--nhrrob-secure-text-muted);
}


    /* File Scanner Styles */
    .nhrrob-secure-vulnerability-card.padded-header .nhrrob-secure-card-header-flex {
        padding: 1.25rem;
}

    .nhrrob-scan-controls {
        display: flex;
        flex-shrink: 0;
        align-items: center;
        gap: 1rem;
}

    .nhrrob-scan-controls .components-button {
        display: flex !important;
        height: auto !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.5rem !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
}

    .nhrrob-scan-controls .components-button .dashicon {
        position: static !important;
        margin: 0px !important;
}

    .nhrrob-scan-type-toggle {
        display: inline-flex;
        border-radius: 0.375rem;
        border-width: 1px;
        --tw-border-opacity: 1;
        border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
        --tw-bg-opacity: 1;
        background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
        padding: 0.25rem;
}

    .nhrrob-scan-toggle-btn {
        cursor: pointer;
        border-radius: 0.25rem;
        border-width: 0px;
        background-color: transparent;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-top: 0.375rem;
        padding-bottom: 0.375rem;
        font-size: 0.75rem;
        line-height: 1rem;
        font-weight: 500;
        --tw-text-opacity: 1;
        color: rgb(75 85 99 / var(--tw-text-opacity, 1));
        transition-property: all;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 200ms;
}

    .nhrrob-scan-toggle-btn:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
        --tw-text-opacity: 1;
        color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

    .nhrrob-scan-toggle-btn.active {
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
        font-weight: 600;
        --tw-text-opacity: 1;
        color: rgb(37 99 235 / var(--tw-text-opacity, 1));
        --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
        --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

    .dark-mode .nhrrob-scan-type-toggle {
        --tw-border-opacity: 1;
        border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
        --tw-bg-opacity: 1;
        background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

    .dark-mode .nhrrob-scan-toggle-btn {
        --tw-text-opacity: 1;
        color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

    .dark-mode .nhrrob-scan-toggle-btn:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
        --tw-text-opacity: 1;
        color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

    .dark-mode .nhrrob-scan-toggle-btn.active {
        --tw-bg-opacity: 1;
        background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
        --tw-text-opacity: 1;
        color: rgb(96 165 250 / var(--tw-text-opacity, 1));
        --tw-shadow: 0 0 #0000;
        --tw-shadow-colored: 0 0 #0000;
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

    .dark-mode .session-item .nhrrob-secure-card-subtitle {
        color: var(--nhrrob-secure-text-muted);
    }

    .nhrrob-secure-card-subtitle {
        margin: 0px;
        margin-top: 0.25rem;
        font-size: 0.875rem;
        line-height: 1.25rem;
        --tw-text-opacity: 1;
        color: rgb(107 114 128 / var(--tw-text-opacity, 1));
        color: var(--nhrrob-secure-text-muted);
}

    .nhrrob-card-body {
        padding: 1.25rem;
}

    .nhrrob-result-group {
        margin-bottom: 1.5rem;
        overflow: hidden;
        border-radius: 0.5rem;
        border-width: 1px;
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
        --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
        --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        border-color: var(--nhrrob-secure-border);
}

    .dark-mode .nhrrob-result-group {
        background-color: transparent;
}

    .dark-mode .session-item.nhrrob-result-group-title {
        background-color: rgba(255, 255, 255, 0.03);
        border-color: var(--nhrrob-secure-border);
    }

    .nhrrob-result-group-title {
        margin: 0px;
        border-bottom-width: 1px;
        --tw-bg-opacity: 1;
        background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
        padding-left: 1rem;
        padding-right: 1rem;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
        font-size: 0.875rem;
        line-height: 1.25rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        --tw-text-opacity: 1;
        color: rgb(75 85 99 / var(--tw-text-opacity, 1));
        border-color: var(--nhrrob-secure-border);
}

    .dark-mode .nhrrob-result-group-title {
        --tw-bg-opacity: 1;
        background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
        --tw-text-opacity: 1;
        color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

    .nhrrob-result-list {
        max-height: 400px;
}

    .nhrrob-result-list > :not([hidden]) ~ :not([hidden]) {
        --tw-divide-y-reverse: 0;
        border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
        border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

    .nhrrob-result-list {
        overflow-y: auto;
}

    .nhrrob-result-list>* {
        border-color: var(--nhrrob-secure-border);
    }

    .nhrrob-result-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1rem;
        transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
}

    .dark-mode .nhrrob-result-row:hover.session-item {
        background-color: rgba(255, 255, 255, 0.03);
        border-color: var(--nhrrob-secure-border);
    }

    .nhrrob-result-row:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

    .dark-mode .nhrrob-result-row:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

    .nhrrob-file-info {
        display: flex;
        flex-direction: column;
        font-size: 0.875rem;
        line-height: 1.25rem;
}

    .nhrrob-file-info strong {
        margin-bottom: 0.25rem;
        word-break: break-all;
        font-size: 0.75rem;
        line-height: 1rem;
        --tw-text-opacity: 1;
        color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

    .dark-mode .nhrrob-file-info strong {
        --tw-text-opacity: 1;
        color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

    .dark-mode .session-item .nhrrob-file-meta {
        color: var(--nhrrob-secure-text-muted);
    }

    .nhrrob-file-meta {
        display: flex;
        align-items: center;
        gap: 0.25rem;
        font-size: 0.75rem;
        line-height: 1rem;
        --tw-text-opacity: 1;
        color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

    .notice.inline-notice {
        margin: 0px;
        margin-bottom: 1rem;
}

    .nhrrob-warning-notice {
        margin-bottom: 1.25rem;
}

    .nhrrob-scan-count {
        margin-top: 1rem;
        border-top-width: 1px;
        --tw-border-opacity: 1;
        border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
        padding-top: 0.625rem;
        border-color: var(--nhrrob-secure-border);
}
.absolute {
        position: absolute;
}
.relative {
        position: relative;
}
.-mr-0\.5 {
        margin-right: -0.125rem;
}
.mb-2 {
        margin-bottom: 0.5rem;
}
.mb-3 {
        margin-bottom: 0.75rem;
}
.mb-4 {
        margin-bottom: 1rem;
}
.mb-6 {
        margin-bottom: 1.5rem;
}
.ml-2 {
        margin-left: 0.5rem;
}
.ml-5 {
        margin-left: 1.25rem;
}
.mt-0 {
        margin-top: 0px;
}
.mt-0\.5 {
        margin-top: 0.125rem;
}
.mt-1 {
        margin-top: 0.25rem;
}
.mt-4 {
        margin-top: 1rem;
}
.mt-8 {
        margin-top: 2rem;
}
.block {
        display: block;
}
.flex {
        display: flex;
}
.table {
        display: table;
}
.grid {
        display: grid;
}
.hidden {
        display: none;
}
.h-32 {
        height: 8rem;
}
.h-auto {
        height: auto;
}
.h-full {
        height: 100%;
}
.w-32 {
        width: 8rem;
}
.w-64 {
        width: 16rem;
}
.w-full {
        width: 100%;
}
.max-w-xs {
        max-width: 20rem;
}
.flex-1 {
        flex: 1 1 0%;
}
.-rotate-90 {
        --tw-rotate: -90deg;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.cursor-pointer {
        cursor: pointer;
}
.grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flex-col {
        flex-direction: column;
}
.flex-wrap {
        flex-wrap: wrap;
}
.items-start {
        align-items: flex-start;
}
.items-end {
        align-items: flex-end;
}
.items-center {
        align-items: center;
}
.justify-center {
        justify-content: center;
}
.justify-between {
        justify-content: space-between;
}
.gap-1 {
        gap: 0.25rem;
}
.gap-2 {
        gap: 0.5rem;
}
.gap-3 {
        gap: 0.75rem;
}
.gap-4 {
        gap: 1rem;
}
.gap-6 {
        gap: 1.5rem;
}
.gap-8 {
        gap: 2rem;
}
.truncate {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
}
.rounded {
        border-radius: 0.25rem;
}
.rounded-full {
        border-radius: 9999px;
}
.rounded-lg {
        border-radius: 0.5rem;
}
.border {
        border-width: 1px;
}
.border-0 {
        border-width: 0px;
}
.border-b {
        border-bottom-width: 1px;
}
.border-t {
        border-top-width: 1px;
}
.border-none {
        border-style: none;
}
.border-blue-200 {
        --tw-border-opacity: 1;
        border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-gray-100 {
        --tw-border-opacity: 1;
        border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-200 {
        --tw-border-opacity: 1;
        border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-red-200 {
        --tw-border-opacity: 1;
        border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.bg-blue-100 {
        --tw-bg-opacity: 1;
        background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-50 {
        --tw-bg-opacity: 1;
        background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
        --tw-bg-opacity: 1;
        background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-green-100 {
        --tw-bg-opacity: 1;
        background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-red-100 {
        --tw-bg-opacity: 1;
        background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-50 {
        --tw-bg-opacity: 1;
        background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-yellow-100 {
        --tw-bg-opacity: 1;
        background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.p-0\.5 {
        padding: 0.125rem;
}
.p-3 {
        padding: 0.75rem;
}
.p-5 {
        padding: 1.25rem;
}
.p-6 {
        padding: 1.5rem;
}
.px-2 {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
}
.px-3 {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
}
.py-0\.5 {
        padding-top: 0.125rem;
        padding-bottom: 0.125rem;
}
.py-1 {
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
}
.py-1\.5 {
        padding-top: 0.375rem;
        padding-bottom: 0.375rem;
}
.py-2 {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
}
.pb-0 {
        padding-bottom: 0px;
}
.pt-3 {
        padding-top: 0.75rem;
}
.pt-4 {
        padding-top: 1rem;
}
.font-mono {
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.text-2xl {
        font-size: 1.5rem;
        line-height: 2rem;
}
.text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
}
.text-\[10px\] {
        font-size: 10px;
}
.text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem;
}
.text-xs {
        font-size: 0.75rem;
        line-height: 1rem;
}
.font-bold {
        font-weight: 700;
}
.font-medium {
        font-weight: 500;
}
.font-semibold {
        font-weight: 600;
}
.uppercase {
        text-transform: uppercase;
}
.italic {
        font-style: italic;
}
.leading-none {
        line-height: 1;
}
.tracking-wider {
        letter-spacing: 0.05em;
}
.text-blue-800 {
        --tw-text-opacity: 1;
        color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-gray-100 {
        --tw-text-opacity: 1;
        color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}
.text-gray-400 {
        --tw-text-opacity: 1;
        color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
        --tw-text-opacity: 1;
        color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
        --tw-text-opacity: 1;
        color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
        --tw-text-opacity: 1;
        color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-500 {
        --tw-text-opacity: 1;
        color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600 {
        --tw-text-opacity: 1;
        color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
        --tw-text-opacity: 1;
        color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-red-400 {
        --tw-text-opacity: 1;
        color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-500 {
        --tw-text-opacity: 1;
        color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
        --tw-text-opacity: 1;
        color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700 {
        --tw-text-opacity: 1;
        color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-yellow-500 {
        --tw-text-opacity: 1;
        color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-yellow-700 {
        --tw-text-opacity: 1;
        color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.opacity-60 {
        opacity: 0.6;
}
.filter {
        filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.transition-all {
        transition-property: all;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
}
.transition-colors {
        transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
}
.duration-1000 {
        transition-duration: 1000ms;
}
.ease-out {
        transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

/* Responsive */
@media (max-width: 782px) {
    .nhrrob-secure-header h1 {
                font-size: 1.5rem;
                line-height: 2rem;
        }

    .nhrrob-secure-card .components-text-control__input {
                max-width: 100%;
        }

    .nhrrob-secure-vuln-footer {
                flex-direction: column;
                align-items: flex-start;
                gap: 0.5rem;
        }
}

/* Retention Select */
.nhrrob-secure-retention-select select {
        height: 2rem;
        --tw-border-opacity: 1;
        border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
        padding-top: 0px;
        padding-bottom: 0px;
        padding-right: 2rem;
        padding-left: 0.5rem;
        font-size: 0.75rem;
        line-height: 1rem;
    border-color: var(--nhrrob-secure-border);
    color: var(--nhrrob-secure-text);
    background-color: var(--nhrrob-secure-bg);
}

.nhrrob-secure-settings.dark-mode .nhrrob-secure-retention-select select {
    background-color: #2c3338 !important;
    /* Darker input bg */
    border-color: var(--nhrrob-secure-border) !important;
    color: var(--nhrrob-secure-text) !important;
}

.nhrrob-secure-retention-select .components-base-control__field {
        margin-bottom: 0px;
}



/* Audit Log Table */
.nhrrob-secure-audit-table-wrapper {
        margin-top: 1.25rem;
        overflow-x: auto;
        border-radius: 0.25rem;
        border-width: 1px;
    border-color: var(--nhrrob-secure-border);
}

.nhrrob-secure-audit-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 13px;
    background: var(--nhrrob-secure-card-bg);
    color: var(--nhrrob-secure-text-muted);
}

.nhrrob-secure-audit-table th,
.nhrrob-secure-audit-table td {
        border-bottom-width: 1px;
        padding: 0.75rem;
        text-align: left;
    border-color: var(--nhrrob-secure-border);
}

.nhrrob-secure-audit-table th {
        font-weight: 600;
    background-color: var(--nhrrob-secure-bg);
    color: var(--nhrrob-secure-text);
}

.nhrrob-secure-audit-table tr:last-child td {
        border-bottom-width: 0px;
}

.nhrrob-secure-audit-table tr:hover td {
    background-color: var(--nhrrob-secure-bg);
}

.nhrrob-secure-badge {
        border-radius: 0.25rem;
        padding-left: 0.375rem;
        padding-right: 0.375rem;
        padding-top: 0.125rem;
        padding-bottom: 0.125rem;
        font-size: 11px;
        font-weight: 500;
        text-transform: uppercase;
    background-color: var(--nhrrob-secure-bg);
    color: var(--nhrrob-secure-text);
}

/* Dark Mode support for table */
.nhrrob-secure-settings.dark-mode .nhrrob-secure-audit-table-wrapper {
    border-color: #3c434a;
}

.nhrrob-secure-settings.dark-mode .nhrrob-secure-audit-table {
    background: #1e1e1e;
    color: #dcdcde;
}

.nhrrob-secure-settings.dark-mode .nhrrob-secure-audit-table th {
    background: #2c2c2c;
    color: #ffffff;
    border-bottom-color: #3c434a;
}

.nhrrob-secure-settings.dark-mode .nhrrob-secure-audit-table td {
    border-bottom-color: #3c434a;
}

.nhrrob-secure-settings.dark-mode .nhrrob-secure-audit-table tr:hover td {
    background: #2c2c2c;
}

.nhrrob-secure-settings.dark-mode .nhrrob-secure-badge {
    background: #3c434a;
    color: #dcdcde;
}

.nhrrob-secure-pagination {
        margin-top: 1.25rem;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1rem;
}

.nhrrob-secure-page-info {
        font-size: 13px;
    color: var(--nhrrob-secure-text-muted);
}

.nhrrob-secure-settings.dark-mode .nhrrob-secure-page-info {
    color: #a7aaad;
}

.no-logs {
        padding: 2rem !important;
        text-align: center !important;
    color: var(--nhrrob-secure-text-muted);
}

/* Severity indicators */
.severity-2 td:first-child {
        border-left-width: 4px;
        --tw-border-opacity: 1;
        border-left-color: rgb(250 204 21 / var(--tw-border-opacity, 1));
}

.severity-3 td:first-child {
        border-left-width: 4px;
        --tw-border-opacity: 1;
        border-left-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

@media (prefers-color-scheme: dark) {

    .dark-mode .session-item .dark\:text-gray-500 {
        color: var(--nhrrob-secure-text-muted) !important;
    }
}

.hover\:bg-blue-600:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.hover\:text-white:hover {
        --tw-text-opacity: 1;
        color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.focus\:outline-none:focus {
        outline: 2px solid transparent;
        outline-offset: 2px;
}

@media (min-width: 640px) {

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

@media (min-width: 768px) {

        .md\:col-span-2 {
                grid-column: span 2 / span 2;
        }

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

        .md\:flex-row {
                flex-direction: row;
        }
}

@media (min-width: 1024px) {

        .lg\:col-span-3 {
                grid-column: span 3 / span 3;
        }
}

@media (prefers-color-scheme: dark) {

        .dark\:border-gray-700 {
                --tw-border-opacity: 1;
                border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
        }

        .dark\:border-gray-800 {
                --tw-border-opacity: 1;
                border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
        }

        .dark\:border-red-800\/50 {
                border-color: rgb(153 27 27 / 0.5);
        }

        .dark\:bg-red-900\/20 {
                background-color: rgb(127 29 29 / 0.2);
        }

        .dark\:text-gray-100 {
                --tw-text-opacity: 1;
                color: rgb(243 244 246 / var(--tw-text-opacity, 1));
        }

        .dark\:text-gray-300 {
                --tw-text-opacity: 1;
                color: rgb(209 213 219 / var(--tw-text-opacity, 1));
        }

        .dark\:text-gray-400 {
                --tw-text-opacity: 1;
                color: rgb(156 163 175 / var(--tw-text-opacity, 1));
        }

        .dark\:text-gray-500 {
                --tw-text-opacity: 1;
                color: rgb(107 114 128 / var(--tw-text-opacity, 1));
        }

        .dark\:text-gray-800 {
                --tw-text-opacity: 1;
                color: rgb(31 41 55 / var(--tw-text-opacity, 1));
        }

        .dark\:text-green-400 {
                --tw-text-opacity: 1;
                color: rgb(74 222 128 / var(--tw-text-opacity, 1));
        }

        .dark\:text-red-400 {
                --tw-text-opacity: 1;
                color: rgb(248 113 113 / var(--tw-text-opacity, 1));
        }
}
