/* VulnTitan light indigo admin. Scoped so WordPress and other plugins stay independent. */
.vulntitan-wrapper {
    --vt-ink: #202537; --vt-muted: #646b7c;
    /* WordPress Modern accent, shared by the email and public Shield templates. */
    --vt-primary: #3858e9; --vt-primary-hover: #2848d7;
    --vt-primary-border: #d7defc; --vt-focus: #3858e9;
    --vt-line: #e1e5ee; --vt-bg: #f7f8fc; --vt-soft: #eef1ff;
    background: var(--vt-bg); color: var(--vt-ink); font: 14px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    padding: 0; margin: 20px 20px 0 0; border: 1px solid var(--vt-line); border-radius: 12px; min-height: 80vh;
    box-shadow: none; overflow: visible; box-sizing: border-box;
}
.vulntitan-wrapper *, .vulntitan-wrapper *::before, .vulntitan-wrapper *::after {box-sizing: border-box;}
.vulntitan-wrapper [hidden] {display: none !important;}
.vulntitan-wrapper h1, .vulntitan-wrapper h2, .vulntitan-wrapper h3 {font-family: inherit; color: var(--vt-ink); letter-spacing: -.035em; line-height: 1.3;}
.vulntitan-wrapper a {text-decoration: none;}
.vulntitan-wrapper button, .vulntitan-wrapper input, .vulntitan-wrapper select, .vulntitan-wrapper textarea {font-family: inherit;}
.vulntitan-wrapper button, .vulntitan-wrapper a {transition: background .15s, border-color .15s, color .15s;}
.vulntitan-wrapper :is(a,button,input,select,textarea,summary):focus-visible {outline: 3px solid var(--vt-focus); outline-offset: 3px; box-shadow: none;}
.vt-icon {flex-shrink: 0; vertical-align: middle;}
.vulntitan-wrapper .vulntitan-topbar {position: relative; top: auto; height: 86px; display: flex; gap: 32px; padding: 0 32px; border: 0; border-bottom: 1px solid var(--vt-line); border-radius: 12px 12px 0 0; background: #fff; box-shadow: none; backdrop-filter: none;}
.vulntitan-topbar::before,.vulntitan-topbar::after {display: none;}
.vt-brand {display: flex; align-items: center; gap: 10px; color: var(--vt-ink); font-size: 23px; font-weight: 750; letter-spacing: -.8px; white-space: nowrap;}
.vt-brand:hover {color: var(--vt-ink);}
.vt-brand-mark {display: grid; place-items: center; width: 44px; height: 46px;}
.vt-brand-mark img {object-fit: contain; width: 38px; height: 42px;}
.vt-brand-accent {color: var(--vt-primary);}
.vt-version-tag {font-size: 10px; letter-spacing: 0; font-weight: 500; color: var(--vt-muted); border: 1px solid var(--vt-line); padding: 1px 6px; border-radius: 4px; margin-left: 4px;}
.vulntitan-wrapper .vulntitan-nav-links {display: flex; align-self: stretch; gap: 8px; margin: 0 auto; padding: 0;}
.vulntitan-wrapper .vulntitan-nav-links a {display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 20px; font-size: 13px; font-weight: 600; text-transform: none; letter-spacing: 0; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: none; box-shadow: none; color: var(--vt-muted);}
.vulntitan-wrapper .vulntitan-nav-links a.active {color: var(--vt-primary); background: none; border-bottom-color: var(--vt-primary);}
.vulntitan-wrapper .vulntitan-nav-links a:hover {color: var(--vt-primary); background: #f0f3ff;}
.vulntitan-nav-links .vt-icon {width: 17px; height: 17px;}
.vt-site-label {font-size: 12px; color: var(--vt-muted); display: flex; gap: 7px; align-items: center;}
.vt-site-label .vt-icon {width: 15px;}
.vt-content {padding: 34px 36px 24px; max-width: 1500px; margin: auto;}
.vt-page-heading {display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px;}
.vt-eyebrow {font-size: 10px; font-weight: 650; color: var(--vt-muted); letter-spacing: 1.5px; text-transform: uppercase;}
.vt-page-heading h1 {font-size: 30px; font-weight: 650; padding: 0; margin: 7px 0 7px;}
.vt-page-heading p {margin: 0; color: var(--vt-muted); font-size: 13px;}
.vulntitan-wrapper :is(.vt-button,.vulntitan-fw-btn,.vulntitan-scan-button,.vulntitan-scan-control-btn) {display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 40px; padding: 10px 17px; border: 1px solid var(--vt-primary); border-radius: 7px; background: var(--vt-primary); color: #fff; font-size: 12px; font-weight: 600; line-height: 1.4; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: 0; transform: none;}
.vulntitan-wrapper :is(.vt-button,.vulntitan-fw-btn,.vulntitan-scan-button):hover:not(:disabled) {background: var(--vt-primary-hover); border-color: var(--vt-primary-hover); transform: none; color: #fff;}
.vulntitan-wrapper :is(.vt-button-outline,.vulntitan-fw-btn-secondary,.vulntitan-scan-control-btn) {color: #3d4660; background: #fff; border-color: #e1e5ee;}
.vulntitan-wrapper :is(.vt-button-outline,.vulntitan-fw-btn-secondary,.vulntitan-scan-control-btn):hover:not(:disabled) {background: #f0f3ff; border-color: #acb9fa; color: var(--vt-primary);}
.vulntitan-wrapper .vulntitan-fw-btn-danger {background: #fff6f5; color: #b42332; border-color: #f1c4c4;}
.vulntitan-wrapper .vulntitan-fw-btn-danger:hover:not(:disabled) {background: #ffe6e3; color: #972131; border-color: #e0a7a7;}
.vulntitan-wrapper button:disabled {opacity: .45; cursor: not-allowed; box-shadow: none;}
.vt-overview-banner {display: flex; align-items: center; gap: 28px; padding: 30px 34px; background: var(--vt-soft); border: 1px solid var(--vt-primary-border); border-radius: 10px; margin-bottom: 22px;}
.vt-shield-illustration {width: 106px; height: 106px; flex-shrink: 0; display: grid; place-items: center; background: #e2e8ff; border-radius: 50%; outline: 1px solid #e2e8ff; outline-offset: 9px; margin: 0 14px 0 8px;}
.vt-shield-illustration .vt-icon {width: 56px; height: 56px; color: var(--vt-primary); stroke-width: 1.25;}
.vt-banner-copy {flex: 1;}
.vt-banner-copy h2 {font-size: 24px; margin: 12px 0 8px; font-weight: 600;}
.vt-banner-copy p {font-size: 13px; margin: 0 0 16px; color: #646b7c; max-width: 530px;}
.vt-status {display: inline-flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 600; padding: 3px 8px; border-radius: 5px; white-space: nowrap;}
.vt-status::before {content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor;}
.vt-status.is-on {color: #147659; background: #e4f2e9;}
.vt-status.is-off {color: #69767e; background: #f1f3f5;}
.vt-banner-copy > .vt-status {letter-spacing: .8px;}
.vt-text-link {color: var(--vt-primary); font-size: 12px; font-weight: 600; display: inline-flex; align-items: center; gap: 6px;}
.vt-text-link:hover {color: #213db0;}
.vt-text-link .vt-icon {width: 16px;}
.vt-banner-aside {border-left: 1px solid #d7defc; min-width: 174px; padding: 8px 0 8px 30px; display: flex; flex-direction: column;}
.vt-banner-aside > span {font-size: 9px; letter-spacing: 1.1px; color: #646b7c; font-weight: 600;}
.vt-banner-aside strong {font-size: 42px; font-weight: 550; line-height: 1.7; color: #2848d7; letter-spacing: -2px;}
.vt-banner-aside small {font-size: 22px; font-weight: 400; color: #7d869a; letter-spacing: -1px;}
.vt-banner-aside a {font-size: 11px; color: #3858e9;}
.vt-stats {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 34px;}
.vt-stat {background: #fff; border: 1px solid var(--vt-line); border-radius: 9px; padding: 19px 20px; color: var(--vt-ink);}
.vt-stat:hover {border-color: #acb9fa; color: var(--vt-ink);}
.vt-stat-top {display: flex; align-items: center; justify-content: space-between; color: #646b7c; font-size: 12px; font-weight: 500;}
.vt-stat-top .vt-icon {width: 17px; color: #7d869a;}
.vt-stat-value {font-size: 31px; font-weight: 550; letter-spacing: -1px; margin: 10px 0 3px; line-height: 1.3;}
.vt-stat-value span {font-size: 10px; color: #646b7c; letter-spacing: 0; font-weight: 400; margin-left: 10px;}
.vt-stat p {font-size: 10px; color: #646b7c; margin: 0;}
.vt-section-heading {display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; scroll-margin-top: 48px;}
.vt-section-heading h2 {font-size: 19px; margin: 0 0 5px; font-weight: 600;}
.vt-section-heading p {font-size: 12px; margin: 0; color: var(--vt-muted);}
.vt-subtle-label {display: flex; align-items: center; gap: 6px; color: #646b7c; font-size: 10px;}
.vt-subtle-label .vt-icon {width: 14px;}
.vt-scanner-section {scroll-margin-top: 48px; margin-bottom: 30px;}
.vt-scanner-section .vt-section-heading h2 {font-size: 22px;}
.vt-scanners {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-bottom: 0;}
.vt-scanner {background: #fff; border: 1px solid var(--vt-primary-border); border-radius: 10px; padding: 24px; display: flex; align-items: flex-start; flex-direction: column;}
.vt-scanner-top {display: flex; width: 100%; align-items: center; gap: 13px; margin-bottom: 16px;}
.vt-scanner-icon {width: 44px; height: 44px; display: grid; place-items: center; background: var(--vt-soft); color: #3858e9; border-radius: 10px;}
.vt-scanner-icon .vt-icon {width: 24px; height: 24px;}
.vt-scanner--malware .vt-scanner-icon {background: #f3eeff; color: #8462b3;}
.vt-scanner--integrity .vt-scanner-icon {background: #edf2fd; color: #6489c4;}
.vt-scanner-coverage {font-size: 9px; color: #646b7c;}
.vt-scanner .vt-eyebrow {font-size: 9px; letter-spacing: 1px;}
.vt-scanner h3 {font-size: 18px; font-weight: 650; margin: 0;}
.vt-scanner p {font-size: 12px; line-height: 1.8; color: #646b7c; margin: 0 0 20px; flex: 1; max-width: 360px;}
.vulntitan-wrapper .vt-scanner .vulntitan-scan-button {justify-content: space-between; min-height: 44px; width: 100%; color: #fff; border-color: var(--vt-primary); background: var(--vt-primary);}
.vulntitan-wrapper .vt-scanner .vulntitan-scan-button:hover {background: var(--vt-primary-hover); color: #fff; border-color: var(--vt-primary-hover);}
.vt-dashboard-bottom {display: grid; grid-template-columns: 1.1fr 1fr; gap: 20px; margin-top: 26px;}
.vt-surface {background: #fff; border: 1px solid var(--vt-line); border-radius: 10px; padding: 22px 25px;}
.vt-card-heading {display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 14px;}
.vt-card-heading h2 {font-size: 16px; font-weight: 600; margin: 0;}
.vt-protection-row {display: flex; align-items: center; gap: 12px; padding: 14px 0; border-top: 1px solid #e1e5ee; color: var(--vt-ink);}
.vt-protection-row:hover {color: var(--vt-primary);}
.vt-layer-icon {color: #72a28e;}.vt-layer-icon.is-off {color: #c9cfdd;}
.vt-layer-copy {flex: 1; display: flex; flex-direction: column; gap: 2px;}
.vt-layer-copy strong {font-size: 11px; font-weight: 550;}
.vt-layer-copy small {font-size: 10px; color: #646b7c;}
.vt-activity-empty {display: flex; flex-direction: column; align-items: center; text-align: center; padding: 23px 20px 10px;}
.vt-activity-icon {width: 46px; height: 46px; display: grid; place-items: center; background: #f5f6fb; color: #7d869a; border-radius: 50%;}
.vt-activity-empty h3 {font-size: 15px; font-weight: 550; margin: 14px 0 7px;}
.vt-activity-empty p {font-size: 12px; color: #646b7c; max-width: 330px; margin: 0 0 18px;}
.vt-footer {display: flex; justify-content: space-between; gap: 16px; padding: 20px 36px; font-size: 10px; color: #646b7c; border-top: 1px solid #e1e5ee;}
.vt-footer a {color: #646b7c;}
/* Settings: one persistent form, grouped with keyboard-accessible tabs. */
.vt-search {display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid #e1e5ee; border-radius: 7px; padding: 0 13px; color: #7d869a; min-width: 270px;}
.vt-search input[type=search] {border: 0; background: transparent; box-shadow: none; padding: 10px 0; margin: 0; height: 42px; min-width: 0; width: 100%; font-size: 12px; color: var(--vt-ink);}
.vt-search:focus-within {outline: 2px solid var(--vt-focus); outline-offset: 2px;}
.vt-search input:focus-visible {outline: 0;}
.vulntitan-wrapper .vulntitan-firewall-settings-layout {display: grid; grid-template-columns: 255px minmax(0,1fr); gap: 28px; align-items: start;}
.vulntitan-wrapper .vulntitan-firewall-settings-nav {position: sticky; top: 52px; padding: 12px 0 0; background: transparent; border: 0; border-radius: 0; box-shadow: none;}
.vt-nav-label {font-size: 9px; letter-spacing: 1.3px; color: #646b7c; padding: 0 12px 15px; font-weight: 650;}
.vulntitan-wrapper .vulntitan-firewall-tabs {display: flex; flex-direction: column; gap: 5px; padding: 0; background: transparent; border: 0;}
.vulntitan-wrapper .vulntitan-firewall-tab {display: flex; align-items: center; justify-content: flex-start; gap: 12px; width: 100%; min-height: 60px; padding: 12px 13px; text-align: left; border: 1px solid transparent; background: transparent; box-shadow: none; border-radius: 7px; color: #7d869a; cursor: pointer;}
.vulntitan-wrapper .vulntitan-firewall-tab::before,.vulntitan-wrapper .vulntitan-firewall-tab::after {display: none;}
.vulntitan-wrapper .vulntitan-firewall-tab.is-active {border-color: var(--vt-primary-border); background: var(--vt-soft); color: #3858e9; box-shadow: none;}
.vulntitan-wrapper .vulntitan-firewall-tab:hover {background: #f0f3ff;}
.vulntitan-wrapper .vulntitan-firewall-tab-title {font-size: 12px; color: #3d4660; line-height: 1.4; font-weight: 550; letter-spacing: 0;}
.vulntitan-wrapper .vulntitan-firewall-tab.is-active .vulntitan-firewall-tab-title {color: #3858e9; font-weight: 650;}
.vulntitan-wrapper .vulntitan-firewall-tab-desc {font-size: 10px; line-height: 1.5; color: #646b7c; margin-top: 3px;}
.vulntitan-firewall-tab-copy {min-width: 0; display: flex; flex-direction: column;}
.vulntitan-firewall-tab .vt-icon {width: 19px;}
.vt-settings-help {display: flex; gap: 9px; margin: 24px 10px; padding-top: 20px; border-top: 1px solid #e1e5ee; color: #7d869a;}
.vt-settings-help .vt-icon {width: 15px; margin-top: 2px;}
.vt-settings-help p {font-size: 11px; line-height: 1.8; margin: 0;}
.vulntitan-wrapper .vulntitan-firewall-tab-panel {background: #fff; border: 1px solid var(--vt-line); border-radius: 10px; padding: 28px 30px; box-shadow: none; min-height: 320px;}
.vulntitan-wrapper .vulntitan-firewall-tab-panel-head {background: none; border: 0; border-bottom: 1px solid var(--vt-line); padding: 0 0 24px; margin-bottom: 24px;}
.vulntitan-firewall-tab-panel-head h2 {font-size: 23px; margin: 8px 0; font-weight: 600;}
.vulntitan-firewall-tab-panel-head p {font-size: 12px; color: var(--vt-muted); margin: 0;}
.vulntitan-wrapper .vulntitan-firewall-section {background: none; border: 0; padding: 0; box-shadow: none;}
.vulntitan-wrapper .vulntitan-firewall-section + .vulntitan-firewall-section {margin-top: 26px; padding-top: 26px; border-top: 1px solid #e1e5ee;}
.vulntitan-wrapper .vulntitan-firewall-section-title {font-size: 14px; color: #3d4660; text-transform: none; letter-spacing: -.1px; font-weight: 650; margin-bottom: 4px;}
.vulntitan-wrapper .vulntitan-firewall-section-desc {color: #646b7c; font-size: 12px; line-height: 1.7; margin-bottom: 18px; max-width: 770px;}
.vulntitan-wrapper .vulntitan-firewall-toggle {display: flex; align-items: center; gap: 11px; color: #3d4660; font-size: 12px; padding: 10px 0; margin: 0; cursor: pointer;}
.vulntitan-wrapper .vt-toggle-help {margin: 0 0 0 45px; max-width: 760px; color: var(--vt-muted); font-size: 12px; line-height: 1.8;}
.vulntitan-wrapper .vt-toggle-spaced {margin-top: 16px;}
.vt-toggle-requirement {display: flex; align-items: flex-start; gap: 8px; margin: 18px 0 0 45px; color: #3d4660; font-size: 12px; line-height: 1.7;}
.vt-toggle-requirement .vt-icon {width: 15px; height: 15px; margin-top: 3px; color: var(--vt-primary);}
.vulntitan-wrapper .vulntitan-firewall-toggle input[type=checkbox] {appearance: none; -webkit-appearance: none; width: 34px; min-width: 34px; height: 20px; border: 1px solid #c9cfdd; background: #c9cfdd; border-radius: 20px; position: relative; box-shadow: none; margin: 0; transition: background .15s;}
.vulntitan-wrapper .vulntitan-firewall-toggle input[type=checkbox]::before {content: ''; display: block; position: absolute; width: 14px; height: 14px; background: #fff; border-radius: 50%; top: 2px; left: 2px; margin: 0; float: none; transition: transform .15s;}
.vulntitan-wrapper .vulntitan-firewall-toggle input[type=checkbox]:checked {background: var(--vt-primary); border-color: var(--vt-primary);}
.vulntitan-wrapper .vulntitan-firewall-toggle input[type=checkbox]:checked::before {transform: translateX(14px);}
.vulntitan-wrapper .vulntitan-firewall-field {display: flex; flex-direction: column; gap: 7px; margin: 15px 0 0; min-width: 0;}
.vulntitan-wrapper .vulntitan-firewall-field-label {font-size: 12px; font-weight: 550; color: #3d4660;}
.vulntitan-wrapper .vulntitan-firewall-field-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 0;}
.vulntitan-wrapper .vulntitan-firewall-input {width: 100%; max-width: 100%; min-height: 40px; background: #fff; border: 1px solid #e1e5ee; color: #3d4660; padding: 9px 12px; border-radius: 6px; box-shadow: none; font-size: 12px; line-height: 1.5;}
.vulntitan-wrapper select.vulntitan-firewall-input {padding-right: 30px; background: #fff; appearance: auto; font-weight: 400;}
.vulntitan-wrapper select[multiple] {padding: 8px;}
.vulntitan-wrapper select[multiple] option {padding: 7px 10px; border-radius: 4px;}
.vulntitan-wrapper .vulntitan-firewall-input:focus {border-color: #3858e9; box-shadow: 0 0 0 2px #eef1ff;}
.vulntitan-wrapper .vulntitan-firewall-textarea {resize: vertical; font-family: ui-monospace, SFMono-Regular, monospace; font-size: 11px; min-height: 92px;}
.vulntitan-wrapper .vulntitan-firewall-input:disabled {background: #f5f6fb; color: #7d869a; opacity: .8; cursor: not-allowed;}
.vulntitan-wrapper .vulntitan-firewall-field-help {font-size: 11px; color: #646b7c; line-height: 1.7; display: block; font-weight: 400;}
.vulntitan-wrapper code {background: var(--vt-soft); color: #2848d7; border-radius: 4px; overflow-wrap: anywhere;}
.vulntitan-wrapper .vulntitan-firewall-guidance-note {background: #f5f6fb; border: 1px solid #e1e5ee; border-radius: 7px; margin: 15px 0 18px; padding: 12px 15px;}
.vulntitan-wrapper .vulntitan-firewall-guidance-summary {display: list-item; cursor: pointer; color: #646b7c; font-size: 12px;}
.vulntitan-wrapper .vulntitan-firewall-guidance-kicker {display: none;}
.vulntitan-wrapper .vulntitan-firewall-guidance-title {color: #3d4660; font-size: 12px; font-weight: 550;}
.vulntitan-wrapper .vulntitan-firewall-guidance-list {color: #646b7c; font-size: 12px; line-height: 1.8; padding-left: 20px;}
.vulntitan-wrapper .vulntitan-firewall-actions {position: sticky; bottom: 0; z-index: 20; margin: 20px 0 0 283px; padding: 16px 20px; display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid #e1e5ee; border-radius: 8px; box-shadow: 0 -3px 15px #20253708;}
.vt-save-state {font-size: 11px; color: #646b7c; flex: 1;}
.vt-save-state.is-dirty {color: #906422;}
.vt-save-state.is-dirty::before {content: ''; display: inline-block; width: 6px; height: 6px; background: #c09033; border-radius: 50%; margin-right: 7px;}
.vt-search-status {padding: 16px 20px; background: var(--vt-soft); color: #3d4660; border: 1px solid var(--vt-primary-border); border-radius: 8px; margin-bottom: 16px; font-size: 12px;}
.vt-is-searching .vulntitan-firewall-tab-panel {margin-bottom: 18px;}
.vulntitan-wrapper .vulntitan-firewall-toast {background: #fff; color: #3d4660; border: 1px solid #e1e5ee; box-shadow: 0 8px 40px #20253720;}
.vulntitan-wrapper .vulntitan-firewall-toast-message {color: #3d4660;}
.vulntitan-wrapper .vulntitan-firewall-toast.is-error {border-color: #d88888;}
.vulntitan-wrapper .vulntitan-firewall-empty,.vulntitan-wrapper .vulntitan-firewall-approvals-empty {background: #f5f6fb; color: #646b7c; border: 1px dashed #e1e5ee; padding: 36px 24px; font-size: 13px; border-radius: 8px; text-align: center;}
/* Feed and scan results reuse the same light component palette. */
.vulntitan-wrapper .vulntitan-elite-output {padding: 0; margin: 0; border: 0; background: transparent; box-shadow: none;}
.vulntitan-wrapper .vulntitan-panel {background: #fff; border: 1px solid var(--vt-line); box-shadow: none; color: #3d4660;}
.vulntitan-wrapper .vulntitan-panel-title {color: #3d4660;}
.vulntitan-wrapper .vulntitan-panel--danger {border-color: #e9bcbc;}
.vulntitan-wrapper .vulntitan-panel--progress {margin: 24px 0;}
.vulntitan-wrapper #vulntitan-scan-progress {background: var(--vt-soft); border: 1px solid var(--vt-primary-border);}
.vulntitan-wrapper #vulntitan-scan-progress-bar {background: var(--vt-primary);}
.vulntitan-wrapper #vulntitan-scan-progress-text {color: #2848d7; text-shadow: none;}
.vulntitan-wrapper--feed .vulntitan-firewall-hero {display: block; padding: 0; background: transparent; border: 0; margin-bottom: 24px;}
.vulntitan-wrapper--feed .vulntitan-firewall-hero-content {margin-bottom: 24px;}
.vulntitan-wrapper--feed .vulntitan-firewall-hero-panel {background: transparent; border: 0; padding: 0;}
.vulntitan-wrapper--feed .vulntitan-firewall-overview-grid {grid-template-columns: repeat(7,minmax(0,1fr)); gap: 12px;}
.vulntitan-wrapper--feed .vulntitan-firewall-stat-card {background: #fff; border: 1px solid #e1e5ee; padding: 16px; border-radius: 8px;}
.vulntitan-wrapper--feed .vulntitan-firewall-stat-label {font-size: 10px; color: #646b7c; letter-spacing: 0; text-transform: none;}
.vulntitan-wrapper--feed .vulntitan-firewall-stat-value {color: #3d4660; font-size: 27px;}
.vulntitan-wrapper--feed .vulntitan-firewall-runtime {margin-top: 12px; font-size: 10px; color: #646b7c;}
.vulntitan-wrapper--feed .vulntitan-firewall-runtime-path {font-size: 10px;}
.vulntitan-wrapper--feed .vulntitan-firewall-panel {background: #fff; border: 1px solid #e1e5ee; padding: 25px; border-radius: 9px;}
.vulntitan-wrapper .vulntitan-firewall-filter-chip {border: 1px solid #e1e5ee; background: #fff; color: #646b7c; border-radius: 5px; font-size: 11px; padding: 7px 12px;}
.vulntitan-wrapper .vulntitan-firewall-filter-chip.is-active {background: var(--vt-soft); color: #3858e9; border-color: var(--vt-primary-border);}
.vulntitan-wrapper .vulntitan-firewall-log-item {background: #fff; border: 1px solid #e1e5ee; color: #3d4660;}
/* Feed rows are disclosure buttons; keep the action visible before interaction. */
.vulntitan-wrapper--feed button.vulntitan-firewall-log-item {appearance: none; width: 100%; min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 22px; padding: 18px 20px; text-align: left; font: inherit; cursor: pointer; border-radius: 8px;}
.vulntitan-wrapper--feed button.vulntitan-firewall-log-item:hover {background: #f8f9ff; border-color: #acb9fa;}
.vulntitan-wrapper--feed button.vulntitan-firewall-log-item.is-selected {background: var(--vt-soft); border-color: var(--vt-primary);}
.vulntitan-wrapper--feed button.vulntitan-firewall-log-item:focus-visible {outline: 3px solid var(--vt-focus); outline-offset: 3px;}
.vulntitan-wrapper--feed .vulntitan-firewall-log-summary {display: grid; gap: 9px; min-width: 0;}
.vulntitan-wrapper--feed .vulntitan-firewall-log-request {font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; word-break: normal;}
.vulntitan-wrapper--feed .vulntitan-firewall-log-meta {flex-wrap: wrap; gap: 5px 14px; font-size: 11px; color: var(--vt-muted); overflow-wrap: anywhere;}
.vulntitan-wrapper--feed .vulntitan-firewall-log-reason {font-size: 12px; line-height: 1.6; color: #535d73; overflow-wrap: anywhere;}
.vulntitan-wrapper--feed .vulntitan-firewall-log-toggle {display: inline-flex; align-items: center; gap: 9px; padding: 8px 10px; color: var(--vt-primary); background: var(--vt-soft); border: 1px solid var(--vt-primary-border); border-radius: 6px; font-size: 12px; font-weight: 600; white-space: nowrap;}
.vulntitan-wrapper--feed .vulntitan-firewall-log-chevron {flex-shrink: 0; transition: transform .15s ease;}
.vulntitan-wrapper--feed .vulntitan-firewall-log-item[aria-expanded=true] .vulntitan-firewall-log-chevron {transform: rotate(180deg);}
@media(max-width:760px) {.vulntitan-wrapper--feed button.vulntitan-firewall-log-item {grid-template-columns: minmax(0,1fr); gap: 14px; padding: 16px;}.vulntitan-wrapper--feed .vulntitan-firewall-log-toggle {justify-self: end;}}
@media (min-width: 1600px) {.vt-content {padding-top: 42px; padding-bottom: 32px;}}
@media (max-width: 1200px) {
    .vt-site-label {display: none;}.vulntitan-wrapper .vulntitan-nav-links {margin: 0 0 0 auto; gap: 2px;}
    .vulntitan-wrapper .vulntitan-nav-links a {padding: 0 12px; gap: 7px; white-space: nowrap;}
    .vt-content {padding: 26px;}.vt-stats {gap: 12px;}.vt-stat {padding: 16px;}
    .vt-scanner {padding: 20px;}.vt-scanner-coverage {display: none;}
    .vt-shield-illustration {width: 74px; height: 74px;}.vt-shield-illustration .vt-icon {width: 44px; height: 44px;}
    .vt-banner-copy h2 {font-size: 21px;}.vt-overview-banner {padding: 26px; gap: 20px;}
    .vulntitan-wrapper .vulntitan-firewall-settings-layout {grid-template-columns: 225px minmax(0,1fr); gap: 20px;}
    .vulntitan-wrapper .vulntitan-firewall-actions {margin-left: 245px;}
    .vulntitan-wrapper--feed .vulntitan-firewall-overview-grid {grid-template-columns: repeat(4,minmax(0,1fr));}
}
@media (max-width: 960px) {
    .vulntitan-wrapper {margin-right: 12px;}.vulntitan-wrapper .vulntitan-topbar {padding: 0 20px; gap: 20px;}.vt-version-tag {display: none;}
    .vt-banner-aside {min-width: 135px; padding-left: 22px;}.vt-banner-aside strong {font-size: 35px;}
    .vt-stats {grid-template-columns: repeat(2,minmax(0,1fr));}.vt-scanners {gap: 12px;}.vt-scanner h3 {font-size: 17px;}
    .vulntitan-wrapper .vulntitan-firewall-field-grid {grid-template-columns: 1fr;gap: 0;}
    .vt-search {min-width: 220px;}.vt-page-heading h1 {font-size: 27px;}
}
@media (max-width: 760px) {
    .vulntitan-wrapper {margin: 12px 10px 0 0;}.vt-content {padding: 22px 18px;}
    .vulntitan-wrapper .vulntitan-topbar {height: auto; padding: 16px 18px 0; flex-wrap: wrap; gap: 12px;}
    .vt-brand {font-size: 22px;}.vulntitan-wrapper .vulntitan-nav-links {width: 100%; margin: 0;gap: 0;}
    .vulntitan-wrapper .vulntitan-nav-links a {flex: 1; min-width: 0; flex-direction: column; gap: 5px; padding: 10px 4px; font-size: 11px;}
    .vt-page-heading {align-items: flex-start; flex-direction: column; gap: 18px;}.vt-page-heading h1 {font-size: 27px;}
    .vt-overview-banner {padding: 23px;}.vt-shield-illustration {display: none;}.vt-banner-aside {display: none;}
    .vt-stats {gap: 10px; margin-bottom: 28px;}.vt-stat {padding: 15px;}.vt-stat p {font-size: 10px;}.vt-stat-value span {display: block; margin-left: 0; margin-top: 4px;}
    .vt-scanners,.vt-dashboard-bottom {grid-template-columns: 1fr;}.vt-scanner {padding: 22px;}.vt-scanner-top {margin-bottom: 16px;}.vt-scanner-coverage {display: inline;}
    .vt-section-heading > .vt-subtle-label {display: none;}.vt-scanner p {max-width: none;}
    .vt-footer {padding: 20px; font-size: 9px;}.vt-protection-row {flex-wrap: wrap;}.vt-layer-copy {min-width: 150px;}
    .vt-search {width: 100%;}.vulntitan-wrapper .vulntitan-firewall-settings-layout {grid-template-columns: 1fr; gap: 16px;}
    .vulntitan-wrapper .vulntitan-firewall-settings-nav {position: static; padding: 0;}.vt-settings-help,.vt-nav-label {display: none;}
    .vulntitan-wrapper .vulntitan-firewall-tabs {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px;}
    .vulntitan-wrapper .vulntitan-firewall-tab {min-height: 48px; gap: 8px; padding: 10px;}
    .vulntitan-wrapper .vulntitan-firewall-tab-title {font-size: 11px;}.vulntitan-wrapper .vulntitan-firewall-tab-desc {display: none;}
    .vulntitan-wrapper .vulntitan-firewall-tab-panel {padding: 22px 18px;}.vulntitan-firewall-tab-panel-head h2 {font-size: 22px;}
    .vulntitan-wrapper .vulntitan-firewall-actions {margin-left: 0; padding: 12px; flex-wrap: wrap; bottom: 0;}
    .vt-save-state {flex-basis: 100%;}.vulntitan-wrapper .vulntitan-firewall-actions button {flex: 1;}
    .vulntitan-wrapper--feed .vulntitan-firewall-overview-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
    .vulntitan-wrapper--feed .vulntitan-firewall-panel {padding: 18px;}
}
@media (prefers-reduced-motion: reduce) {.vulntitan-wrapper *, .vulntitan-wrapper *::before {transition: none !important; animation: none !important; scroll-behavior: auto !important;}}
/* Reset inherited geometry from the earlier admin component stylesheet. */
.vulntitan-wrapper {display: block; --vt-surface: #fff; --vt-surface-strong: #f5f6fb; --vt-border: #e1e5ee; --vt-text: #202537; --vt-accent: var(--vt-primary); --vt-accent-2: var(--vt-primary);}
.vt-content {width: 100%;}
.vulntitan-wrapper .vulntitan-nav-links a {height: auto;}
.vulntitan-wrapper .vulntitan-nav-links a::after {display: none;}
.vulntitan-wrapper .vulntitan-firewall-section {display: block; border-radius: 0;}
.vulntitan-wrapper .vulntitan-firewall-field-label {text-transform: none; letter-spacing: 0;}
.vulntitan-wrapper .vulntitan-firewall-toggle input[type=checkbox] {background-image: none !important; background-color: #c9cfdd !important; border-color: #c9cfdd !important;}
.vulntitan-wrapper .vulntitan-firewall-toggle input[type=checkbox]:checked {background-color: var(--vt-primary) !important; border-color: var(--vt-primary) !important;}
.vulntitan-wrapper .vulntitan-firewall-toggle input:focus-visible {outline: 3px solid var(--vt-focus); outline-offset: 3px;}
.vulntitan-wrapper :is(.vt-stat p,.vt-stat-value span,.vt-subtle-label,.vt-scanner-coverage,.vt-layer-copy small,.vt-activity-empty p,.vt-footer,.vt-nav-label,.vt-settings-help,.vt-save-state,.vulntitan-firewall-field-help,.vulntitan-firewall-tab-desc,.vulntitan-firewall-section-desc) {color: #646b7c;}
.vulntitan-wrapper .vt-save-state.is-dirty {color: #906422;}
.vulntitan-wrapper .vulntitan-firewall-proxy-note {padding: 14px 16px; background: #fff9ed; border: 1px solid #eee0bd; border-radius: 7px; margin: 12px 0; color: #776636; font-size: 12px;}
.vulntitan-wrapper .vulntitan-firewall-proxy-note-title {font-weight: 650; margin-bottom: 4px;}
.vulntitan-wrapper--feed .vulntitan-firewall-grid {display: block;}
.vulntitan-wrapper--feed .vulntitan-firewall-panel-head--feed {display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px;}
.vulntitan-wrapper--feed .vulntitan-firewall-panel-title {font-size: 16px; letter-spacing: 0; text-transform: none; margin: 0 0 5px;}
.vulntitan-wrapper--feed .vulntitan-firewall-panel-meta {font-size: 11px; letter-spacing: 0; text-transform: none; color: #646b7c;}
.vulntitan-wrapper--feed .vulntitan-firewall-feed-live {display: flex; align-items: center; gap: 8px;}
.vulntitan-wrapper--feed .vulntitan-firewall-live-pill {font-size: 11px; color: #397151; background: #e8f4eb; border-radius: 5px; padding: 5px 9px;}
.vulntitan-wrapper--feed .vulntitan-firewall-feed-toolbar {display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 16px 0; border-top: 1px solid #e1e5ee; border-bottom: 1px solid #e1e5ee; margin-bottom: 20px;}
.vulntitan-wrapper--feed .vulntitan-firewall-feed-search {min-width: 285px;}
.vulntitan-wrapper--feed .vulntitan-firewall-feed-filters {display: flex; flex-wrap: wrap; gap: 6px;}
.vulntitan-wrapper--feed .vulntitan-firewall-feed-summary {font-size: 11px; color: #646b7c; margin-bottom: 15px;}
.vulntitan-wrapper--feed .vulntitan-firewall-log-list {display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; max-height: none; padding: 0; overflow: visible;}
.vulntitan-wrapper--feed .vulntitan-firewall-log-detail {min-width: 0;}
.vulntitan-wrapper--feed .vulntitan-firewall-detail-card {display: grid; gap: 18px; background: #f5f6fb; border: 1px solid var(--vt-primary-border); padding: 22px; border-radius: 8px; margin-bottom: 0;}
.vulntitan-wrapper--feed .vulntitan-firewall-detail-head {display: flex; justify-content: space-between; gap: 16px;}
.vulntitan-wrapper--feed .vulntitan-firewall-detail-head-copy {display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0;}
.vulntitan-wrapper--feed .vulntitan-firewall-detail-request {font: 12px/1.7 ui-monospace, SFMono-Regular, monospace; overflow-wrap: anywhere;}
.vulntitan-wrapper--feed .vulntitan-firewall-detail-section-title {font-size: 12px; color: #3d4660;}
.vulntitan-wrapper--feed .vulntitan-firewall-detail-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px;}
.vulntitan-wrapper--feed .vulntitan-firewall-detail-cell {border: 1px solid #e1e5ee; padding: 12px; border-radius: 5px; min-width: 0;}
.vulntitan-wrapper--feed .vulntitan-firewall-detail-cell dt {color: #646b7c; font-size: 11px;}
.vulntitan-wrapper--feed .vulntitan-firewall-detail-cell dd {margin: 5px 0 0; overflow-wrap: anywhere; font-size: 12px;}
.vulntitan-wrapper--feed .vulntitan-firewall-detail-pre {white-space: pre-wrap; overflow-wrap: anywhere; max-height: 250px; overflow: auto; font-size: 11px;}
.vulntitan-wrapper--feed .vulntitan-firewall-detail-close {flex-shrink: 0; align-self: start;}
.vulntitan-wrapper--feed .vulntitan-firewall-detail-actions {display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px;}
@media(max-width: 1050px) {.vulntitan-wrapper--feed .vulntitan-firewall-feed-toolbar {flex-wrap: wrap;}.vulntitan-wrapper--feed .vulntitan-firewall-feed-search {flex: 1;}}
@media(max-width:760px) {.vulntitan-wrapper--feed .vulntitan-firewall-panel-head--feed {align-items: flex-start; flex-direction: column;}.vulntitan-wrapper--feed .vulntitan-firewall-feed-search {min-width: 0; width: 100%;}.vulntitan-wrapper--feed .vulntitan-firewall-detail-grid {grid-template-columns: 1fr;}}
.vulntitan-wrapper #vulntitan-scan-progress {height: 22px; border-radius: 5px; overflow: hidden; position: relative;}
.vulntitan-wrapper #vulntitan-scan-progress-text {position: absolute; left: auto; right: 5px; top: 50%; transform: translateY(-50%); padding: 1px 5px; border-radius: 3px; font-size: 10px; line-height: 1.4; color: #fff; background: #3858e9;}
.vulntitan-wrapper .vulntitan-panel--progress {scroll-margin-top: 48px;}
.vulntitan-wrapper .vulntitan-firewall-hero::after {display: none;}
.vulntitan-wrapper .vt-scanner .vulntitan-scan-button::after {content: '→'; font-size: 18px; line-height: 1; margin-left: auto;}

/* Current IP protection state and management. */
.vulntitan-wrapper .vt-ip-management {margin-bottom: 24px;}
.vulntitan-wrapper .vt-ip-management [hidden], .vulntitan-wrapper #vt-ip-more[hidden] {display: none !important;}
.vulntitan-wrapper .vt-ip-toolbar {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; margin: 18px 0;}
.vulntitan-wrapper .vt-ip-toolbar .vulntitan-firewall-feed-filters {display: flex; flex-wrap: wrap; gap: 6px;}
.vulntitan-wrapper .vt-ip-toolbar [data-ip-count] {display: inline-block; min-width: 18px; padding: 0 5px; background: #eef1ff; border-radius: 4px;}
.vulntitan-wrapper .vt-ip-list {display: grid; gap: 10px; margin-bottom: 14px;}
.vulntitan-wrapper .vt-ip-row {display: grid; grid-template-columns: minmax(150px,1fr) minmax(0,2fr) auto; gap: 16px; align-items: center; border: 1px solid #e1e5ee; padding: 16px; border-radius: 7px;}
.vulntitan-wrapper .vt-ip-identity, .vulntitan-wrapper .vt-ip-info {display: grid; gap: 6px; min-width: 0; overflow-wrap: anywhere;}
.vulntitan-wrapper .vt-ip-identity code {background: #eef1ff; color: #2848d7; font-size: 13px; width: fit-content; max-width: 100%;}
.vulntitan-wrapper .vt-ip-identity span, .vulntitan-wrapper .vt-ip-info span, .vulntitan-wrapper .vt-ip-description {color: #646b7c; font-size: 12px; line-height: 1.6;}
.vulntitan-wrapper .vt-ip-actions {display: flex; flex-wrap: wrap; gap: 8px;}
.vulntitan-wrapper .vt-ip-info strong {font-size: 12px; font-weight: 600;}
.vulntitan-wrapper .vt-ip-current {display: grid; gap: 7px; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; padding: 14px; border: 1px solid #c9e4d1; background: #edf7f0; border-radius: 6px; color: #245c37;}
.vulntitan-wrapper .vt-ip-current.is-locked {color: #8d302f; background: #fff1f0; border-color: #f0c7c5;}
.vulntitan-wrapper .vt-ip-add {display: flex; align-items: center; flex-wrap: wrap; gap: 10px; border-top: 1px solid #e1e5ee; padding: 16px 0;}
.vulntitan-wrapper .vt-ip-add label {font-size: 12px; font-weight: 600;}
.vulntitan-wrapper .vt-ip-add input {max-width: 290px;}
.vulntitan-wrapper .vt-ip-add .vulntitan-firewall-select {width: auto; min-width: 170px;}
.vulntitan-wrapper .vt-ip-paths {border-top: 1px solid #e1e5ee; padding-top: 15px; font-size: 12px;}
.vulntitan-wrapper .vt-ip-paths summary {cursor: pointer; font-weight: 600; color: #3d4660; border-radius: 6px;}
.vulntitan-wrapper .vt-ip-paths summary:hover {color: var(--vt-primary);}
.vulntitan-wrapper .vt-ip-paths summary::marker {color: var(--vt-primary);}
.vulntitan-wrapper #vt-ip-path-list {display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; overflow-wrap: anywhere;}
.vulntitan-wrapper #vt-ip-path-list code {max-width: 100%; white-space: normal;}
.vulntitan-wrapper #vt-ip-path-list p {margin: 0; font-size: 12px; color: var(--vt-muted);}
@media(max-width: 1100px) {.vulntitan-wrapper .vt-ip-row {grid-template-columns: minmax(120px,1fr) minmax(0,2fr);}.vulntitan-wrapper .vt-ip-actions {grid-column: 1/-1;}}
@media(max-width: 600px) {.vulntitan-wrapper .vt-ip-row {grid-template-columns: minmax(0,1fr); gap: 12px;}.vulntitan-wrapper .vt-ip-toolbar > label, .vulntitan-wrapper .vt-ip-toolbar input {width: 100%;}.vulntitan-wrapper .vt-ip-add {align-items: stretch; flex-direction: column;}.vulntitan-wrapper .vt-ip-add input, .vulntitan-wrapper .vt-ip-add .vulntitan-firewall-select {max-width: none; width: 100%;}}

.vulntitan-wrapper .vt-firewall-detection-filters {display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 0 0 18px;}
.vulntitan-wrapper .vt-firewall-detection-filters label {display: grid; gap: 6px; min-width: 0; flex: 0 1 260px; font-size: 12px; font-weight: 600;}
.vulntitan-wrapper .vt-firewall-detection-filters select {width: 100%; max-width: 100%;}
.vulntitan-wrapper .vt-firewall-detection-filters p {flex-basis: 100%; margin: 0; font-size: 12px; color: #646b7c;}
.vulntitan-wrapper--feed .vulntitan-firewall-feed-toolbar {flex-wrap: wrap;}
@media(max-width:600px) {.vulntitan-wrapper .vt-firewall-detection-filters label {flex-basis: 100%;}.vulntitan-wrapper .vt-firewall-detection-filters > button {width: 100%;}}

/* Keep new Firewall controls and all their states on the shared theme palette. */
.vulntitan-wrapper--feed .vulntitan-firewall-input:focus {border-color: var(--vt-primary) !important; box-shadow: 0 0 0 2px var(--vt-soft);}
.vulntitan-wrapper--feed .vulntitan-firewall-input:disabled {color: #7d869a !important; opacity: .65; cursor: not-allowed;}
.vulntitan-wrapper--feed .vulntitan-firewall-filter-chip:hover:not(:disabled) {background: var(--vt-soft); border-color: #acb9fa; color: var(--vt-primary); cursor: pointer;}
.vulntitan-wrapper .vt-ip-empty {margin: 0; padding: 18px; border: 1px dashed var(--vt-line); border-radius: 7px; background: var(--vt-surface-strong); color: var(--vt-muted); font-size: 12px; line-height: 1.7;}
.vulntitan-wrapper .vt-ip-alert {margin: 0; padding: 14px 16px; border: 1px solid #f1c4c4; border-radius: 7px; background: #fff6f5; color: #b42332; font-size: 12px; line-height: 1.7;}
.vulntitan-wrapper--feed .vulntitan-firewall-toast {border-radius: 8px; background: #fff;}
.vulntitan-wrapper--feed .vulntitan-firewall-toast-close {border-radius: 5px; background: var(--vt-surface-strong); color: var(--vt-muted);}
.vulntitan-wrapper--feed .vulntitan-firewall-toast-close:hover {background: var(--vt-soft); color: var(--vt-primary);}
.vulntitan-wrapper--feed .vulntitan-firewall-toast.is-success {border-color: #c9e4d1;}
.vulntitan-wrapper--feed .vulntitan-firewall-toast.is-success .vulntitan-firewall-toast-badge {background: #edf7f0; color: #245c37; border-color: #c9e4d1;}
.vulntitan-wrapper--feed .vulntitan-firewall-toast.is-error .vulntitan-firewall-toast-badge {background: #fff6f5; color: #b42332; border-color: #f1c4c4;}
@media(max-width:600px) {.vulntitan-wrapper--feed .vulntitan-firewall-detail-head {flex-wrap: wrap;}.vulntitan-wrapper--feed .vulntitan-firewall-detail-actions > button {width: 100%;}}

.vulntitan-wrapper .vt-ip-confirm {width: min(480px, calc(100vw - 32px)); max-height: calc(100vh - 48px); overflow: auto; margin: auto; padding: 24px; border: 1px solid var(--vt-primary-border); border-radius: 10px; background: #fff; color: var(--vt-ink); box-shadow: 0 18px 60px #20253726; font-family: inherit;}
.vulntitan-wrapper .vt-ip-confirm:not([open]) {display: none;}
.vulntitan-wrapper .vt-ip-confirm::backdrop {background: #20253766;}
.vulntitan-wrapper .vt-ip-confirm h2 {margin: 0 0 12px; font-size: 18px; font-weight: 600;}
.vulntitan-wrapper .vt-ip-confirm p {margin: 0 0 18px; font-size: 12px; line-height: 1.7; color: var(--vt-muted);}
.vulntitan-wrapper .vt-ip-confirm-context {display: grid; gap: 12px; padding: 14px; margin: 0 0 20px; border: 1px solid var(--vt-line); border-radius: 6px; background: var(--vt-surface-strong); font-size: 12px;}
.vulntitan-wrapper .vt-ip-confirm-context dt {color: var(--vt-muted); font-size: 11px;}
.vulntitan-wrapper .vt-ip-confirm-context dd {margin: 3px 0 0; overflow-wrap: anywhere;}
.vulntitan-wrapper .vt-ip-confirm-actions {display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px;}
@media(max-width:600px) {.vulntitan-wrapper .vt-ip-confirm {padding: 20px;}.vulntitan-wrapper .vt-ip-confirm-actions > button {flex: 1;}}

.vulntitan-wrapper .vt-ip-confirm-backdrop {position: fixed; inset: 0; z-index: 100001; background: #20253766;}
.vulntitan-wrapper .vt-ip-confirm.is-fallback {display: block; position: fixed; top: 50%; left: 50%; z-index: 100002; transform: translate(-50%, -50%); margin: 0;}

/* Firewall page sections remain mounted so filters and IP state survive tab switches. */
.vulntitan-wrapper .vt-firewall-view-tabs {display: flex; gap: 6px; width: fit-content; max-width: 100%; padding: 5px; margin-bottom: 22px; border: 1px solid var(--vt-line); border-radius: 8px; background: #fff;}
.vulntitan-wrapper .vt-firewall-view-tab {appearance: none; min-height: 40px; padding: 10px 16px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: #3d4660; font-size: 12px; font-weight: 600; line-height: 1.4; cursor: pointer; box-shadow: none;}
.vulntitan-wrapper .vt-firewall-view-tab:hover {background: var(--vt-soft); color: var(--vt-primary);}
.vulntitan-wrapper .vt-firewall-view-tab.is-active {background: var(--vt-soft); border-color: var(--vt-primary-border); color: var(--vt-primary);}
@media(max-width:600px) {.vulntitan-wrapper .vt-firewall-view-tabs {width: 100%;}.vulntitan-wrapper .vt-firewall-view-tab {flex: 1; padding: 10px 12px;}}
