/* Enhanced CSS styles for Network Tools Application - FIXED VERSION */
.zone-validator { --zone-bg:var(--bg-primary); --zone-ink:var(--text-primary); --zone-muted:var(--text-secondary); --zone-edge:var(--border-color); --zone-accent:var(--primary-color); color:var(--zone-ink); min-width:0; }
body[data-interface="workbench"] .zone-validator { --zone-bg:var(--wb-panel); --zone-ink:var(--wb-ink); --zone-muted:var(--wb-muted); --zone-edge:var(--wb-edge); --zone-accent:var(--wb-accent); }
.zone-validator [hidden] { display:none!important; }
.zone-validator-steps { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; padding:12px; border:1px solid var(--zone-edge); border-radius:16px; background:var(--zone-bg); }
.zone-validator-steps button { display:flex; flex-direction:column; align-items:center; gap:8px; padding:10px 5px; min-height:64px; border:0; border-radius:10px; background:transparent; color:var(--zone-muted); font:inherit; cursor:pointer; }
.zone-validator-steps button span { display:grid; place-items:center; width:28px; height:28px; border:1px solid var(--zone-edge); border-radius:50%; }
.zone-validator-steps button strong { font-size:13px; }
.zone-validator-steps button[aria-current] { color:var(--zone-accent); outline:2px solid var(--zone-accent); outline-offset:-2px; }
.zone-validator-steps button.is-complete span { background:var(--zone-accent); color:var(--zone-bg); }
.zone-validator-steps button:disabled { cursor:default; opacity:.7; }
.zone-validator-panel { padding:24px; margin-block:16px; border:1px solid var(--zone-edge); background:var(--zone-bg); border-radius:16px; min-width:0; }
.zone-validator-panel h3 { margin:0 0 16px; scroll-margin-top:140px; }
.zone-validator .form-input { margin-bottom:16px; max-width:100%; box-sizing:border-box; }
.zone-validator textarea { font-family:ui-monospace,monospace; resize:vertical; }
.zone-validator .field-help-text { color:var(--zone-muted); line-height:1.6; overflow-wrap:anywhere; }
.zone-validator-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.zone-validator-summary { display:flex; flex-wrap:wrap; gap:14px; align-items:center; padding:18px; border:1px solid var(--zone-edge); border-radius:12px; }
.zone-validator-summary strong { font-size:20px; color:var(--zone-accent); }
.zone-validator-finding { border:1px solid var(--zone-edge); border-inline-start:3px solid var(--zone-accent); border-radius:10px; padding:14px; margin-block:10px; overflow-wrap:anywhere; }
.zone-validator-finding p { margin-bottom:0; }
.zone-validator-finding[data-severity="blocker"] { border-inline-start-color:var(--danger-color,#e45865); }
.zone-validator-discard { max-width:480px; width:calc(100% - 40px); box-sizing:border-box; background:var(--zone-bg); color:var(--zone-ink); border:1px solid var(--zone-edge); border-radius:16px; padding:24px; }
.zone-validator-discard::backdrop { background:rgba(0,0,0,.65); }
@media(max-width:600px) { .zone-validator-panel { padding:16px; } .zone-validator-steps { gap:3px; padding:8px; } .zone-validator-steps button { min-height:44px; padding:6px 2px; } .zone-validator-steps button strong { display:none; } .zone-validator-actions .btn { flex:1 1 140px; } }
.wb-brand { display:none; }
.effects-choice { display:flex; align-items:center; gap:10px; min-height:44px; margin-top:12px; color:var(--text-primary); cursor:pointer; }
.effects-choice input { width:20px; height:20px; accent-color:var(--primary-color); }
.effects-choice-help { color:var(--text-secondary); font-size:13px; line-height:1.5; margin:4px 0; }
body[data-effects="off"], body[data-effects="off"] *, body[data-effects="off"] *::before, body[data-effects="off"] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
@media (prefers-reduced-motion:reduce) {
    body[data-effects], body[data-effects] *, body[data-effects] *::before, body[data-effects] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* SIDEBAR SCROLLBAR FIX */
.sidebar {
    width: var(--sidebar-width);
    background: var(--sidebar-bg);
    color: var(--sidebar-text);
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    transition: all 0.3s ease;
    z-index: 1000;
    overflow-y: auto;
    overflow-x: hidden; /* FIXED: Prevent horizontal scrollbar */
    display: flex;
    flex-direction: column;
}

.sidebar.collapsed {
    width: var(--sidebar-collapsed-width);
    overflow-y: hidden; /* FIXED: Hide scrollbar when collapsed */
}

/* Enhanced sidebar hover for collapsed state */
.sidebar.collapsed.hover-expanded {
    width: var(--sidebar-width);
    box-shadow: 4px 0 12px rgba(0,0,0,0.15);
    z-index: 1001;
    overflow-y: auto; /* Re-enable scrollbar when expanded on hover */
}

.sidebar-header {
    padding: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0; /* FIXED: Prevent header from shrinking */
    min-height: 60px; /* Ensure consistent header height */
}

.nav-menu {
    padding: 0;
    list-style: none;
    flex: 1; /* FIXED: Allow menu to take remaining space */
    overflow-y: auto; /* Allow scrolling within nav menu only */
    overflow-x: hidden;
}

.sidebar.collapsed .nav-menu {
    overflow-y: hidden; /* Hide scrolling when collapsed */
}

.sidebar.collapsed.hover-expanded .nav-menu {
    overflow-y: auto; /* Re-enable scrolling on hover */
}

.nav-item {
    display: block;
    padding: 16px 20px;
    color: var(--sidebar-text);
    text-decoration: none;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    transition: background 0.3s ease;
    font-size: 14px;
    position: relative;
    white-space: nowrap; /* FIXED: Prevent text wrapping */
    flex-shrink: 0; /* Prevent nav items from shrinking */
}

.nav-item .icon {
    display: inline-block;
    width: 20px;
    margin-right: 12px;
    text-align: center;
    flex-shrink: 0; /* FIXED: Prevent icon from shrinking */
}

.nav-item .text {
    transition: opacity 0.3s ease;
    display: inline-block;
}

.sidebar.collapsed .nav-item .text {
    opacity: 0;
    pointer-events: none; /* FIXED: Prevent interaction with hidden text */
    width: 0; /* Collapse text width */
    overflow: hidden;
}

.sidebar.collapsed.hover-expanded .nav-item .text {
    opacity: 1;
    pointer-events: auto;
    width: auto;
}

/* Enhanced form styling */
.form-input:invalid {
    border-color: var(--danger-color);
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}

.form-input:valid {
    border-color: var(--success-color);
}

/* Enhanced button animations */
.btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* Enhanced table styles for results */
.data-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--bg-primary);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    margin-top: 16px;
}

.data-table th,
.data-table td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
    position: relative;
    word-wrap: break-word;
    max-width: 300px;
}

.data-table th {
    background: var(--bg-secondary);
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-primary);
    position: sticky;
    top: 0;
    z-index: 10;
    user-select: none;
}

.data-table th.sortable-column {
    padding: 0;
}

.sortable-header-button {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    min-height: 44px;
    padding: 12px 15px;
    font: inherit;
    text-align: left;
    text-transform: inherit;
    letter-spacing: inherit;
}

.sortable-header-button:hover {
    background: var(--border-color);
}

.sortable-header-button:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--primary-color) 70%, #ffffff);
    outline-offset: -3px;
}

.sort-indicator {
    opacity: 0.7;
    font-size: 12px;
    line-height: 1;
    flex-shrink: 0;
}

.data-table td {
    color: var(--text-primary);
}

.data-table td:hover {
    background-color: var(--bg-secondary);
}

.copyable-cell {
    padding-right: 54px;
    cursor: copy;
}

.table-cell-value {
    min-width: 0;
    overflow-wrap: anywhere;
}

.table-cell-copy-button {
    position: absolute;
    right: 6px;
    top: 50%;
    width: 44px;
    height: 44px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: inherit;
    cursor: pointer;
    opacity: 0;
    transform: translateY(-50%);
}

.table-cell-copy-button::before {
    content: "";
    position: absolute;
    width: 13px;
    height: 15px;
    left: 13px;
    top: 10px;
    border: 1.5px solid currentColor;
    border-radius: 2px;
}

.table-cell-copy-button::after {
    content: "";
    position: absolute;
    width: 13px;
    height: 15px;
    left: 17px;
    top: 14px;
    border: 1.5px solid currentColor;
    border-radius: 2px;
    background: var(--bg-primary, #fff);
}

.copyable-cell:hover .table-cell-copy-button,
.table-cell-copy-button:focus-visible {
    opacity: 1;
}

.table-cell-copy-button:hover,
.table-cell-copy-button:focus-visible {
    border-color: var(--border-color);
    background: var(--bg-secondary);
}

.table-cell-copy-button:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 1px;
}

.results-panel [data-copy-on-click="true"] {
    cursor: copy;
}

.data-table tr:last-child td {
    border-bottom: none;
}

/* Search filter highlight */
.highlight {
    background-color: #ffeb3b;
    color: #000;
    padding: 2px 4px;
    border-radius: 3px;
    font-weight: bold;
}

/* Status legend */
.status-legend {
    margin-top: 20px;
    padding: 16px;
    background: var(--bg-secondary);
    border-radius: 8px;
    border: 1px solid var(--border-color);
}

.status-legend h4 {
    margin-bottom: 12px;
    color: var(--text-primary);
    font-size: 16px;
}

.legend-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 8px;
}

.legend-item {
    padding: 8px;
    font-size: 14px;
    color: var(--text-secondary);
}

/* Loading states for share button */
#shareLoading {
    display: none;
}

#shareLoading.show {
    display: inline;
    animation: spin 1s linear infinite;
}

#shareBtn {
    display: inline;
}

#shareBtn.hide {
    display: none;
}

/* Results panel styling */

.result-anchor-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    margin-bottom: 10px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    background: rgba(248, 250, 252, 0.9);
}

.result-anchor-bar.is-compact {
    padding: 4px 0 6px;
    margin-bottom: 8px;
    border: 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.result-anchor-bar.is-hidden-anchor {
    height: 1px;
    min-height: 1px;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.result-anchor-copy {
    min-width: 0;
    display: flex;
    align-items: center;
}

.result-anchor-kicker {
    display: none;
}

.result-anchor-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
    overflow-wrap: anywhere;
}

.result-anchor-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
}

.result-anchor-state.is-loading,
.result-anchor-state.is-progress {
    background: rgba(245, 158, 11, 0.14);
    color: #92400e;
}

.result-anchor-state.is-done {
    background: rgba(16, 185, 129, 0.14);
    color: #065f46;
}

.result-anchor-state.is-error {
    background: rgba(239, 68, 68, 0.14);
    color: #991b1b;
}

.result-primary-action-flash {
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.18) !important;
    border-radius: 10px;
}

@media (max-width: 640px) {
    .result-anchor-bar {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* v1.60.4 - account-saved result views and mixed-type Batch DNS builder */
.batch-dns-add-lookup {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(130px, 180px) auto;
    gap: 12px;
    align-items: end;
    margin: 4px 0 8px;
}

.batch-dns-add-lookup .form-group { margin-bottom: 0; }

.result-view-customizer {
    margin: 0 0 14px;
    border: 1px solid var(--border-color, #d7dee8);
    border-radius: 10px;
    background: var(--surface-muted, #f8fafc);
}

.result-view-customizer > summary { padding: 11px 13px; cursor: pointer; font-weight: 700; }
.result-view-customizer-body { padding: 0 13px 13px; }
.result-view-customizer-body .muted { margin: 0 0 10px; }
.result-view-customizer-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.result-view-customizer-options label { display: flex; align-items: center; gap: 7px; min-width: 0; cursor: pointer; }
.result-view-customizer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }

@media (max-width: 640px) {
    .batch-dns-add-lookup { grid-template-columns: 1fr; gap: 9px; }
    .batch-dns-add-lookup .btn { width: 100%; }
    .result-view-customizer-options { grid-template-columns: 1fr; }
}

/* Member Feedback Hub: privacy-safe, compact on desktop and full-width on mobile. */
.feedback-hub-overlay { position: fixed; inset: 0; z-index: 10080; display: grid; place-items: center; padding: 20px; background: rgba(15,23,42,.58); }
.feedback-hub-overlay[hidden] { display: none; }
.feedback-hub-dialog { width: min(680px, 100%); max-height: min(820px, calc(100vh - 40px)); overflow: auto; padding: 24px; border-radius: 18px; background: var(--card-bg, #fff); color: var(--text-primary, #10223d); box-shadow: 0 24px 72px rgba(15,23,42,.38); }
.feedback-hub-head { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; margin-bottom: 18px; }
.feedback-hub-head h2 { margin: 0 0 5px; font-size: 1.35rem; }.feedback-hub-head p { margin: 0; color: var(--text-secondary, #64748b); line-height: 1.45; }
.feedback-hub-close { flex: 0 0 auto; width: 44px; height: 44px; border: 0; border-radius: 50%; font-size: 1.45rem; line-height: 1; cursor: pointer; color: inherit; background: rgba(148,163,184,.16); }
.feedback-hub-dialog form { display: grid; gap: 14px; }.feedback-hub-dialog label { display: grid; gap: 6px; font-weight: 700; font-size: .92rem; }.feedback-hub-dialog input, .feedback-hub-dialog select, .feedback-hub-dialog textarea { width: 100%; border: 1px solid #cbd5e1; border-radius: 9px; padding: 10px 12px; font: inherit; color: inherit; background: transparent; }.feedback-hub-dialog textarea { resize: vertical; min-height: 76px; }
.feedback-hub-grid { display: grid; grid-template-columns: minmax(150px,.6fr) minmax(0,1.4fr); gap: 14px; }.feedback-hub-dialog .feedback-hub-check { display: flex; align-items: center; gap: 8px; font-weight: 500; }.feedback-hub-check input { width: auto; }.feedback-hub-status { min-height: 1.25em; color: var(--text-secondary, #475569); }.feedback-hub-actions { display: flex; justify-content: flex-end; gap: 10px; }
@media (max-width: 640px) { .feedback-hub-overlay { align-items: end; padding: 8px; }.feedback-hub-dialog { max-height: calc(100vh - 16px); border-radius: 16px; padding: 18px; }.feedback-hub-grid { grid-template-columns: 1fr; }.feedback-hub-actions .btn { flex: 1 1 auto; }.member-topbar-label { display: none; } }

/* v1.56.20 Admin + Frontend Workflow UX Hardening */
.nav-search-status {
    margin: 7px 3px 0;
    color: rgba(255, 255, 255, .78);
    font-size: .75rem;
    line-height: 1.35;
}
.nav-search-status.is-empty {
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 9px;
    background: rgba(15, 23, 42, .24);
    color: #fff;
}
.nav-search-browse {
    width: 100%;
    margin-top: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 9px;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    font: inherit;
    font-size: .78rem;
    font-weight: 700;
    cursor: pointer;
}
.nav-search-browse:hover,
.nav-search-browse:focus-visible {
    background: rgba(255, 255, 255, .16);
    outline: 2px solid rgba(255, 255, 255, .72);
    outline-offset: 2px;
}
.sidebar.collapsed .nav-search-status {
    display: none;
}
.btn[aria-busy="true"] {
    cursor: wait;
}
.main-content:focus {
    outline: none;
}
@media (max-width: 768px) {
    .nav-search-status {
        font-size: .82rem;
    }
}

/* v1.56.19 Shared Result Security + Lookup Runtime Diagnostics */
.shared-view,
.shared-view * {
    box-sizing: border-box;
}
.shared-view,
.shared-content,
.shared-header,
.shared-snapshot-results-content,
.shared-secret-layout,
.shared-secret-page,
.shared-secret-details,
.shared-secret-detail-line {
    min-width: 0;
    max-width: 100%;
}
.shared-title,
.shared-subtitle,
.shared-timestamp,
.shared-secret-page-title,
.shared-secret-created,
.shared-secret-detail-line,
.shared-secret-warning,
.shared-secret-home-link,
.shared-content a,
.shared-view code,
.shared-view pre,
.shared-view td,
.shared-view th {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.shared-secret-page {
    width: min(760px, 100%);
    margin-inline: auto;
    padding-inline: clamp(16px, 4vw, 34px);
}
.shared-secret-detail-tags {
    display: inline-flex;
    max-width: 100%;
    flex-wrap: wrap;
    gap: 6px;
    vertical-align: middle;
}
.shared-secret-diagnostic-code {
    margin-top: 10px;
    color: var(--text-secondary, #64748b);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12px;
    letter-spacing: .03em;
}
.shared-secret-actions,
.shared-header-actions,
.shared-batch-toolbar-title {
    flex-wrap: wrap;
}
.shared-secret-actions .btn,
.shared-header-actions .btn {
    max-width: 100%;
    white-space: normal;
}
.shared-snapshot-table-wrap,
.shared-view .table-wrapper,
.shared-view .responsive-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}
.share-dialog {
    max-width: min(680px, calc(100vw - 28px));
    max-height: min(88vh, 860px);
}
.share-dialog-body {
    min-width: 0;
    overflow-x: hidden;
    overflow-y: auto;
}
.share-dialog-result-row,
.share-dialog-actions {
    min-width: 0;
    flex-wrap: wrap;
}
.share-dialog-result-input {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
.lookup-runtime-error {
    display: grid;
    gap: 10px;
    padding: 18px;
    border: 1px solid #fecaca;
    border-radius: 14px;
    background: #fff7f7;
    color: #7f1d1d;
}
.lookup-runtime-error-kicker {
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.lookup-runtime-error-message,
.lookup-runtime-error-hint {
    overflow-wrap: anywhere;
    line-height: 1.55;
}
.lookup-runtime-error-hint { color: #991b1b; }
.lookup-runtime-error .btn { justify-self: start; }
.lookup-runtime-error .tool-result-state-message,
.lookup-runtime-error .tool-result-state-hint { color: #991b1b; }
.batch-dns-base-domain-label {
    margin-top: 18px;
}
.batch-dns-input-status {
    margin-top: 10px;
}
.batch-dns-input-status .notice-card {
    margin: 0;
}
.batch-dns-input-status small {
    display: block;
    margin-top: 6px;
    overflow-wrap: anywhere;
}
.batch-dns-retry-row {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    margin: 14px 0;
    padding: 14px;
    border: 1px solid #f3d98a;
    border-radius: 12px;
    background: #fffaf0;
}
.batch-dns-retry-row > span {
    min-width: 0;
    flex: 1 1 260px;
    color: var(--text-secondary, #52606d);
}
.batch-dns-runtime-details {
    margin: 12px 0;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-secondary);
}
.batch-dns-runtime-details > summary {
    padding: 12px 14px;
    cursor: pointer;
    font-weight: 800;
}
.batch-dns-runtime-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0 14px 14px;
}
.batch-dns-runtime-grid > span {
    min-width: 0;
    overflow-wrap: anywhere;
}
@media (max-width: 640px) {
    .shared-header,
    .shared-content,
    .shared-batch-toolbar {
        padding-inline: 14px;
    }
    .shared-secret-page { padding-inline: 14px; }
    .shared-secret-actions,
    .share-dialog-actions,
    .share-dialog-result-row {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }
    .shared-secret-actions .btn,
    .shared-secret-actions a,
    .share-dialog-actions .btn,
    .share-dialog-copy-btn {
        width: 100%;
    }
    .batch-dns-runtime-grid { grid-template-columns: 1fr; }
    .batch-dns-retry-row .btn { width: 100%; }
}
@media print {
    .shared-view .results-actions,
    .shared-view .shared-header-actions,
    .shared-view .shared-batch-toolbar,
    .shared-view .new-search-btn,
    .shared-view .new-search-secondary-link {
        display: none !important;
    }
    .shared-view,
    .shared-content,
    .shared-snapshot-results-content,
    .shared-snapshot-table-wrap {
        max-width: none !important;
        overflow: visible !important;
    }
    .shared-view table {
        width: 100% !important;
        table-layout: fixed !important;
        font-size: 9pt;
    }
}

.results-panel {
    margin-top: 32px;
    background: var(--bg-primary);
    border-radius: 12px;
    border: 1px solid var(--border-color);
    overflow: hidden;
    display: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.results-panel.show {
    display: block;
}


.result-region-flash {
    animation: resultRegionFlash 1.6s ease;
}

@keyframes resultRegionFlash {
    0% { box-shadow: 0 0 0 0 rgba(37,99,235,.00); }
    20% { box-shadow: 0 0 0 4px rgba(37,99,235,.14); }
    100% { box-shadow: 0 0 0 0 rgba(37,99,235,.00); }
}

.results-header {
    padding: 20px 24px;
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.results-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary);
}

.results-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    --results-action-width: auto;
    --results-action-height: 42px;
}

.results-actions-items {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.mobile-results-actions-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--bg-primary);
    color: var(--text-primary);
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
}

.results-actions-mobile-sticky {
    display: none;
}

.results-actions-compact {
    gap: 10px;
}

.results-header-stacked-mobile {
    gap: 16px;
}
.results-header-no-title {
    justify-content: flex-end;
    padding-top: 14px;
    padding-bottom: 14px;
}


.export-menu-wrap {
    position: relative;
}

.results-actions > .btn,
.results-actions > .export-menu-wrap,
.results-actions > .domain-handoff-menu-wrap {
    flex: 0 0 auto;
    min-width: 0;
}

.results-actions .btn,
.results-actions .export-toggle,
.results-actions .domain-handoff-toggle {
    width: auto;
    min-height: var(--results-action-height);
    justify-content: center;
    padding: 10px 14px;
    font-size: 13px;
}

.export-toggle {
    white-space: nowrap;
}

.export-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 220px;
    padding: 8px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-primary);
    box-shadow: 0 12px 30px rgba(0,0,0,0.14);
    display: none;
    z-index: 40;
}

.export-menu.show {
    display: grid;
    gap: 6px;
}

.export-menu button {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--text-primary);
    text-align: left;
    border-radius: 8px;
    padding: 10px 12px;
    cursor: pointer;
    font-size: 13px;
}

.export-menu button:hover {
    background: var(--bg-secondary);
}

.export-menu-divider {
    height: 1px;
    background: var(--border-color);
    margin: 4px 0;
}

.shared-insights {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    margin: 24px 0;
}

.shared-summary-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.shared-summary-card,
.shared-meta-box,
.shared-warning-box {
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--bg-primary);
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}

.shared-summary-card {
    flex: 1 1 160px;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    padding: 16px;
}

.shared-summary-card-subject {
    flex: 2 1 auto;
    width: max-content;
}

.shared-summary-card-subject .shared-summary-value {
    white-space: nowrap;
    word-break: normal;
    overflow-x: auto;
    font-size: clamp(16px, 2vw, 20px);
}

.shared-summary-label {
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--text-secondary);
    font-weight: 700;
}

.shared-summary-value {
    margin-top: 8px;
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    word-break: break-word;
}

.shared-meta-box {
    padding: 16px 18px;
    color: var(--text-primary);
    line-height: 1.55;
}

.shared-warning-box {
    padding: 16px 18px;
    border-color: rgba(255, 140, 0, 0.28);
    background: rgba(255, 140, 0, 0.08);
}

.shared-warning-title {
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 10px;
}

.shared-warning-list {
    margin: 0;
    padding-left: 18px;
    color: var(--text-primary);
}

.shared-warning-list li + li {
    margin-top: 6px;
}

.results-content {
    padding: 0;
}

/* No results message */
.no-results {
    padding: 40px 24px;
    text-align: center;
    color: var(--text-secondary);
    font-style: italic;
}

/* Status indicators */
.status-success {
    color: var(--success-color);
    font-weight: 600;
}

.status-danger {
    color: var(--danger-color);
    font-weight: 600;
}

.status-warning {
    color: var(--warning-color);
    font-weight: 600;
}

.status-info {
    color: var(--info-color);
    font-weight: 600;
}

.status-muted {
    color: var(--text-secondary);
    font-weight: 600;
}

/* Enhanced IP card styling */
/* NEW: Compact IP card styling */
.ip-card {
    text-align: center;
    padding: 48px 32px;
    background: linear-gradient(135deg, var(--primary-color), var(--info-color));
    color: white;
    border-radius: 16px;
    margin: 32px auto;
    max-width: 800px;
    width: 90%;
    box-shadow: 0 8px 32px rgba(0,123,255,0.3);
    display: block;
}

.ip-card:hover {
    transform: translateY(-2px);
}

.ip-number {
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 16px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    transition: all 0.2s ease;
}

.ip-number:hover {
    transform: scale(1.05);
    text-shadow: 0 4px 8px rgba(0,0,0,0.4);
}

.ip-subtitle {
    font-size: 18px;
    opacity: 0.9;
}

/* Password display styling */
.password-display {
    background: var(--bg-secondary);
    padding: 20px;
    border-radius: 8px;
    font-family: 'Monaco', 'Consolas', monospace;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 2px dashed var(--border-color);
}

.password-display:hover {
    background: var(--border-color);
    border-color: var(--primary-color);
    transform: scale(1.02);
}

.password-display::after {
    content: ' 📋';
    opacity: 0;
    transition: opacity 0.2s ease;
}

.password-display:hover::after {
    opacity: 1;
}

/* Image converter results styling */
.image-result {
    background: var(--bg-secondary);
    border-radius: 8px;
    padding: 20px;
    margin-top: 16px;
}

.image-result-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.image-result-title {
    font-weight: 600;
    color: var(--text-primary);
}

.download-btn {
    background: var(--success-color);
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.download-btn:hover {
    background: #218838;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.image-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}

.info-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--border-color);
}

.info-item:last-child {
    border-bottom: none;
}

.info-label {
    font-weight: 600;
    color: var(--text-secondary);
    margin-right: 16px;
}

.info-value {
    color: var(--text-primary);
    font-weight: 500;
    text-align: right;
}

/* Loading state enhancements */
.loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255,255,255,0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
}

.loading-text {
    margin-left: 10px;
    color: var(--text-secondary);
}

.loading-spinner {
    display: none;
}

.loading-spinner.show {
    display: inline;
    animation: spin 1s linear infinite;
}

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

/* Result panel enhancements */
.results-panel .copy-indicator {
    position: absolute;
    top: 10px;
    right: 10px;
    background: var(--success-color);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.results-panel .copy-indicator.show {
    opacity: 1;
}

/* Pre-content styling for legacy fallbacks */
.pre-content {
    background: var(--bg-secondary);
    padding: 20px;
    border-radius: 8px;
    font-family: 'Monaco', 'Consolas', monospace;
    font-size: 13px;
    line-height: 1.5;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-word;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.pre-content:hover {
    background: var(--border-color);
}

/* NOTIFICATION FIX - Ensure notifications are completely hidden by default */
#copyNotification,
#shareNotification,
#pwaNotification {
    display: none !important;
    opacity: 0;
    visibility: hidden;
    transform: translateX(100%);
}

/* Show notifications only when explicitly shown */
#copyNotification.show,
#shareNotification.show,
#pwaNotification.show {
    display: block !important;
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Enhanced mobile styles */
@media (max-width: 480px) {
    .content-wrapper {
        padding: 16px;
    }
    
    .tool-section {
        padding: 20px;
    }
    
    .section-title {
        font-size: 24px;
    }
    
    .form-input {
        padding: 14px;
        font-size: 16px; /* Prevents zoom on iOS */
    }
    
    .btn {
        padding: 14px 20px;
        font-size: 16px;
    }
    
    .data-table {
        font-size: 14px;
    }
    
    .data-table th,
    .data-table td {
        padding: 8px 12px;
    }
    
    .results-header {
        flex-direction: column;
        gap: 16px;
        align-items: stretch;
    }
    
    .results-actions {
        justify-content: center;
    }
    
    .ip-number {
        font-size: 36px;
    }
    
    .password-display {
        font-size: 16px;
        padding: 16px;
    }
    
    /* Mobile notification positioning */
    #copyNotification,
    #shareNotification,
    #pwaNotification {
        left: 10px;
        right: 10px;
        transform: translateY(-100%);
    }
    
    #copyNotification.show,
    #shareNotification.show,
    #pwaNotification.show {
        transform: translateY(0);
    }
    
    /* Mobile sidebar fixes */
    .sidebar {
        overflow-y: auto; /* Always allow scrolling on mobile */
    }
    
    .sidebar.collapsed {
        overflow-y: auto; /* Keep scrolling enabled on mobile even when collapsed */
    }
}

/* Enhanced mobile responsiveness for tables */
@media (max-width: 768px) {
    .data-table {
        font-size: 14px;
    }
    
    .data-table,
    .data-table thead,
    .data-table tbody,
    .data-table th,
    .data-table td,
    .data-table tr {
        display: block;
    }
    
    .data-table thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    
    .data-table tr {
        border: 1px solid var(--border-color);
        border-radius: 8px;
        margin-bottom: 12px;
        padding: 12px;
        background: var(--bg-primary);
    }
    
    .data-table td {
        border: none;
        border-bottom: 1px solid var(--border-color);
        position: relative;
        padding-left: 50% !important;
        white-space: normal;
        text-align: left;
        max-width: none;
    }
    
    .data-table td:before {
        content: attr(data-label) ": ";
        position: absolute;
        left: 6px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        font-weight: 600;
        color: var(--text-secondary);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .data-table td:last-child {
        border-bottom: none;
    }
    
    /* Mobile image info grid */
    .image-info {
        grid-template-columns: 1fr;
    }
    
    .info-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    
    .info-value {
        text-align: left;
    }
}

/* Print styles */
@media print {
    .sidebar,
    .top-bar,
    .pwa-banner,
    .notification,
    .mobile-overlay,
    .results-actions,
    #copyNotification,
    #shareNotification,
    #pwaNotification {
        display: none !important;
    }
    
    .main-content {
        margin-left: 0 !important;
    }
    
    
.results-panel {
        box-shadow: none;
        border: 1px solid #ccc;
    }
    
    .pre-content,
    .password-display {
        background: #f8f9fa;
        border: 1px solid #dee2e6;
    }
    
    .data-table {
        box-shadow: none;
        border: 1px solid #ccc;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
/* Keep the bounded multi-column technology evidence within its own scroll surface. */
#technologyResult .phase-section-card { max-width:100%; min-width:0; overflow-x:auto; box-sizing:border-box; }
#technologyResult :is(.results-content,.wb-adaptive-results,.wb-results-main) { min-width:0; }
#technologyResult .data-table td:last-child { white-space:normal; overflow-wrap:anywhere; }

:root {
        --primary-color: #0000ff;
        --success-color: #008000;
        --danger-color: #ff0000;
        --warning-color: #ff8c00;
        --info-color: #4169e1;
    }
    
    .btn {
        border: 2px solid currentColor;
    }
    
    .form-input {
        border-width: 3px;
    }
    
    .data-table td:hover {
        background-color: #ffff00;
        color: #000000;
    }
}

/* Reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    .loading-spinner {
        animation: none;
    }
    
    .data-table td:hover {
        transform: none;
    }
    
    .ip-number:hover {
        transform: none;
    }
    
    .password-display:hover {
        transform: none;
    }
    
    .ip-card:hover {
        transform: none;
    }
    
    #copyNotification,
    #shareNotification,
    #pwaNotification {
        transition: none;
    }
}

/* Focus indicators for keyboard navigation */
.nav-item:focus,
.btn:focus,
.form-input:focus,
.toggle-btn:focus,
.data-table td:focus {
    outline: 3px solid var(--primary-color);
    outline-offset: 2px;
}

/* Skip link for accessibility */
.skip-link {
    position: absolute;
    top: -40px;
    left: 6px;
    background: var(--primary-color);
    color: white;
    padding: 8px;
    text-decoration: none;
    border-radius: 4px;
    z-index: 1000;
}

.skip-link:focus {
    top: 6px;
}

/* Enhanced error states */
.error-message {
    background: var(--danger-color);
    color: white;
    padding: 12px 16px;
    border-radius: 8px;
    margin: 16px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.error-message::before {
    content: '⚠️';
    font-size: 16px;
}

/* Success states */
.success-message {
    background: var(--success-color);
    color: white;
    padding: 12px 16px;
    border-radius: 8px;
    margin: 16px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.success-message::before {
    content: '✅';
    font-size: 16px;
}

/* Tooltip styles */
.tooltip {
    position: relative;
    cursor: help;
}

.tooltip::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: var(--text-primary);
    color: var(--bg-primary);
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
    z-index: 1000;
}

.tooltip:hover::after {
    opacity: 1;
    visibility: visible;
}

/* Status indicators with icons */
.status-indicator {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

.status-indicator.online {
    background: rgba(40, 167, 69, 0.1);
    color: var(--success-color);
}

.status-indicator.offline {
    background: rgba(220, 53, 69, 0.1);
    color: var(--danger-color);
}

.status-indicator.warning {
    background: rgba(255, 193, 7, 0.1);
    color: var(--warning-color);
}

/* Progress bars */
.progress-bar {
    width: 100%;
    height: 8px;
    background: var(--border-color);
    border-radius: 4px;
    overflow: hidden;
    margin: 16px 0;
}

.progress-fill {
    height: 100%;
    background: var(--primary-color);
    transition: width 0.3s ease;
    border-radius: 4px;
}

/* Card layouts for results */
.result-card {
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 16px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    transition: box-shadow 0.3s ease;
}

.result-card:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.result-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-color);
}

.result-card-title {
    font-weight: 600;
    color: var(--text-primary);
}

.result-card-meta {
    font-size: 12px;
    color: var(--text-secondary);
}

/* Responsive grid for cards */
.results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 16px;
    margin-top: 24px;
}

/* Additional notification styling enhancements */
.notification {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 12px 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    z-index: 2000;
    max-width: 300px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.notification.copy {
    background: var(--success-color);
    color: white;
}

.notification.share {
    background: var(--info-color);
    color: white;
}

/* Ensure proper stacking and positioning */
#copyNotification {
    z-index: 2001;
}

#shareNotification {
    z-index: 2002;
}

#pwaNotification {
    z-index: 2003;
}

@media (max-width: 768px) {
    .results-grid {
        grid-template-columns: 1fr;
    }
    
    /* Mobile-specific table improvements */
    .data-table td:before {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .data-table td {
        padding-top: 12px;
        padding-bottom: 12px;
    }
    
    .data-table tr:last-child td:last-child {
        border-bottom: none;
    }
}

/* Custom scrollbar styling for webkit browsers */
.sidebar::-webkit-scrollbar {
    width: 6px;
}

.sidebar::-webkit-scrollbar-track {
    background: rgba(255,255,255,0.1);
}

.sidebar::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.3);
    border-radius: 3px;
}

.sidebar::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,0.5);
}

.sidebar.collapsed::-webkit-scrollbar {
    width: 0px; /* Hide scrollbar when collapsed */
}

.nav-menu::-webkit-scrollbar {
    width: 4px;
}

.nav-menu::-webkit-scrollbar-track {
    background: transparent;
}

.nav-menu::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.2);
    border-radius: 2px;
}

/* Firefox scrollbar styling */
.sidebar {
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.3) rgba(255,255,255,0.1);
}

.sidebar.collapsed {
    scrollbar-width: none; /* Hide scrollbar when collapsed */
}

/* Ensure nav menu scrolling works properly */
.nav-menu {
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.2) transparent;
}

@media (max-width: 768px) {
    .export-menu {
        left: 0;
        right: auto;
        min-width: 200px;
    }

    .shared-summary-grid {
        grid-template-columns: 1fr;
    }
}

/* ==============================
   Phase 1 UI
   ============================== */
.optional-text {
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 500;
}

.phase-results-stack {
    display: grid;
    gap: 18px;
    padding: 18px;
}

.phase-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 14px;
}

.phase-metric-card,
.phase-section-card,
.phase-warning-box {
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--bg-primary);
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}

.phase-metric-card {
    padding: 16px;
}

/* Keep metric labels, values, and supporting text on distinct readable lines in every tool. */
.phase-metric-card > .phase-metric-label,
.phase-metric-card > .phase-metric-value,
.phase-metric-card > .phase-metric-sublabel {
    display: block;
    min-width: 0;
}

.phase-metric-card-success {
    border-color: rgba(40, 167, 69, 0.28);
    background: rgba(40, 167, 69, 0.08);
}

.phase-metric-card-warning {
    border-color: rgba(255, 193, 7, 0.28);
    background: rgba(255, 193, 7, 0.09);
}

.phase-metric-card-danger {
    border-color: rgba(220, 53, 69, 0.28);
    background: rgba(220, 53, 69, 0.08);
}

.phase-metric-card-info {
    border-color: rgba(13, 110, 253, 0.24);
    background: rgba(13, 110, 253, 0.07);
}

.phase-metric-card-neutral {
    border-color: rgba(108, 117, 125, 0.24);
    background: rgba(108, 117, 125, 0.07);
}

.phase-metric-label {
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--text-secondary);
    font-weight: 700;
}

.phase-metric-value {
    margin-top: 8px;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    word-break: break-word;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.phase-metric-value-clamp,
.phase-inline-note,
.phase-badge {
    overflow-wrap: anywhere;
}

.phase-warning-box {
    padding: 16px 18px;
    border-color: rgba(255, 140, 0, 0.28);
    background: rgba(255, 140, 0, 0.08);
}

.phase-warning-title,
.phase-section-title {
    font-weight: 700;
    color: var(--text-primary);
}

.phase-warning-title {
    margin-bottom: 10px;
}

.phase-warning-list {
    margin: 0;
    padding-left: 18px;
    color: var(--text-primary);
}

.phase-warning-list li + li {
    margin-top: 6px;
}

.phase-section-card {
    padding: 16px;
}

.phase-section-title {
    margin-bottom: 12px;
}
.phase-section-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.phase-section-title-row .phase-section-title {
    margin-bottom: 0;
}

.phase-section-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}


.dns-results-table-header .phase-section-actions {
    gap: 4px;
}


.phase-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid currentColor;
    background: rgba(255,255,255,0.6);
}

.phase-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.phase-badge {
    display: inline-flex;
    align-items: center;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid var(--border-color);
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.phase-badge-success {
    color: var(--success-color);
    border-color: rgba(40, 167, 69, 0.28);
    background: rgba(40, 167, 69, 0.08);
}

.phase-badge-danger {
    color: var(--danger-color);
    border-color: rgba(220, 53, 69, 0.28);
    background: rgba(220, 53, 69, 0.08);
}

.phase-badge-info {
    color: var(--info-color);
    border-color: rgba(23, 162, 184, 0.28);
    background: rgba(23, 162, 184, 0.08);
}

.phase-badge-neutral {
    color: var(--text-primary);
}


.phase-inline-note {
    color: var(--text-secondary);
    font-size: 12px;
}


.phase-inline-note-warning {
    color: var(--warning-color);
    border-left: 3px solid rgba(255, 193, 7, 0.65);
    padding-left: 10px;
}

.phase-inline-note-danger {
    color: var(--danger-color);
    border-left: 3px solid rgba(220, 53, 69, 0.72);
    padding-left: 10px;
}

.phase-inline-note-success {
    color: var(--success-color);
    border-left: 3px solid rgba(40, 167, 69, 0.72);
    padding-left: 10px;
}

.ssl-browser-verdict {
    margin: 12px 0 14px;
}

.phase-header-list {
    display: grid;
    gap: 8px;
    min-width: 220px;
}

.phase-header-row {
    display: grid;
    gap: 4px;
    padding: 8px 10px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-secondary);
}

.phase-header-key {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--text-secondary);
    letter-spacing: .04em;
}

.phase-header-value {
    font-size: 12px;
    color: var(--text-primary);
    word-break: break-word;
}


/* Phase 1 UI menu enhancements */
.sidebar-header {
    position: sticky;
    top: 0;
    z-index: 5;
    background: var(--sidebar-bg);
    backdrop-filter: blur(10px);
}

.sidebar-brand {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.sidebar-subtitle {
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.68);
    font-weight: 700;
}


.sidebar-meta-line {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.app-version-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
    background: rgba(255,255,255,0.14);
    color: #ffffff;
    border: 1px solid rgba(255,255,255,0.16);
}

@media (min-width:769px) {
    .sidebar-meta-line .app-version-badge { order:-1; }
}

.sidebar-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.nav-search-wrap {
    padding: 14px 14px 12px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    position: sticky;
    top: 77px;
    z-index: 4;
    background: linear-gradient(180deg, rgba(0,0,0,0.16), rgba(0,0,0,0.04));
    backdrop-filter: blur(10px);
}

.nav-search-box {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.08);
    padding: 0 10px;
}

.nav-search-icon {
    flex-shrink: 0;
    opacity: 0.82;
}

.nav-search-input {
    flex: 1;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 14px;
    min-width: 0;
    outline: none;
}

.nav-search-input::placeholder {
    color: rgba(255,255,255,0.58);
}

.nav-search-clear,
.mobile-close-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 999px;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.nav-search-clear {
    visibility: hidden;
    opacity: 0;
    background: rgba(255,255,255,0.12);
    color: #fff;
}

.nav-search-clear.show {
    visibility: visible;
    opacity: 1;
}

.nav-search-clear:hover,
.mobile-close-btn:hover {
    background: rgba(255,255,255,0.18);
    transform: translateY(-1px);
}

.mobile-close-btn {
    display: none;
    background: rgba(255,255,255,0.12);
    color: #fff;
}

.nav-group {
    padding: 10px 10px 0;
}

.nav-group + .nav-group {
    margin-top: 4px;
}

.nav-group-hidden {
    display: none;
}

.nav-group-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: none;
    background: transparent;
    color: rgba(255,255,255,0.76);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 800;
    cursor: pointer;
    border-radius: 8px;
}

.nav-group-toggle:hover {
    background: rgba(255,255,255,0.08);
    color: #fff;
}

.nav-group-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nav-group-chevron {
    transition: transform .2s ease;
    font-size: 12px;
    flex-shrink: 0;
}

.nav-group.collapsed .nav-group-chevron {
    transform: rotate(-90deg);
}

.nav-group-items {
    display: grid;
    gap: 2px;
    padding: 4px 0 2px;
}

.nav-group.collapsed .nav-group-items {
    display: none;
}

.sidebar-utility {
    padding: 12px 10px 16px;
    border-top: 1px solid rgba(255,255,255,0.08);
    flex-shrink: 0;
}

.sidebar-utility-title {
    padding: 6px 12px 10px;
    color: rgba(255,255,255,0.72);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.nav-utility-link {
    border-radius: 12px;
}

.sidebar.collapsed .sidebar-utility-title {
    display: none;
}

.nav-item {
    border-radius: 12px;
}

.nav-item:hover,
.nav-item.active {
    background: rgba(255,255,255,0.12);
}

.nav-item.active {
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.16);
}

.sidebar.collapsed .sidebar-subtitle,
.sidebar.collapsed .sidebar-meta-line,
.sidebar.collapsed .app-version-badge,
.sidebar.collapsed .nav-search-wrap,
.sidebar.collapsed .nav-group-toggle {
    opacity: 0;
    pointer-events: none;
    height: 0;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
    border: none;
}

.sidebar.collapsed.hover-expanded .sidebar-subtitle,
.sidebar.collapsed.hover-expanded .sidebar-meta-line,
.sidebar.collapsed.hover-expanded .app-version-badge,
.sidebar.collapsed.hover-expanded .nav-search-wrap,
.sidebar.collapsed.hover-expanded .nav-group-toggle {
    opacity: 1;
    pointer-events: auto;
    height: auto;
    border-bottom-width: 1px;
}

.sidebar.collapsed .nav-group {
    padding-left: 6px;
    padding-right: 6px;
}

.sidebar.collapsed.hover-expanded .nav-group {
    padding-left: 10px;
    padding-right: 10px;
}

body.menu-open {
    overflow: hidden;
}

.phase-section-card .data-table {
    margin-top: 0;
}

@media (max-width: 768px) {
    .sidebar {
        width: min(88vw, 340px);
        box-shadow: 10px 0 24px rgba(0,0,0,0.2);
    }

    .sidebar-header {
        padding-top: calc(20px + env(safe-area-inset-top, 0px));
    }

    .nav-search-wrap {
        top: calc(76px + env(safe-area-inset-top, 0px));
    }

    .mobile-close-btn {
        display: inline-flex;
    }

    .toggle-btn {
        display: none;
    }

    .mobile-menu-btn {
        padding: 10px 16px;
        border-radius: 10px;
        font-weight: 700;
        box-shadow: 0 6px 14px rgba(0,0,0,0.14);
    }

    .nav-group {
        padding-left: 12px;
        padding-right: 12px;
    }

    .nav-item {
        padding-top: 15px;
        padding-bottom: 15px;
        font-size: 15px;
    }

    .top-bar {
        position: sticky;
        top: 0;
        z-index: 30;
        background: rgba(255,255,255,0.92);
        backdrop-filter: blur(12px);
    }

    

body:is(.theme-dark,.theme-dimmed,.theme-ash) .top-bar,
    body.theme-black .top-bar,
    body.theme-ocean .top-bar,
    body.theme-matrix .top-bar,
    body.theme-purple .top-bar {
        background: rgba(18,18,18,0.9);
    }
}

@media (min-width: 769px) {
    .mobile-close-btn {
        display: none !important;
    }

    .nav-menu {
        padding-bottom: 18px;
    }

    .main-content {
        min-width: 0;
    }
}


/* Phase 1 mobile/header follow-up tuning */
.top-bar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
}

.page-title {
    min-width: 0;
    margin: 0;
    line-height: 1.08;
}

.mobile-menu-btn {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
}

.mobile-menu-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
}

.mobile-menu-label {
    line-height: 1;
}

.theme-switcher {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.theme-toggle-btn {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-primary);
    color: var(--text-primary);
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.theme-toggle-btn:hover,
.theme-toggle-btn:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(0,0,0,0.10);
    border-color: var(--primary-color);
    outline: none;
}

.theme-toggle-icon {
    font-size: 20px;
    line-height: 1;
}

.theme-popover {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(260px, calc(100vw - 32px));
    display: none;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: var(--bg-primary);
    box-shadow: 0 18px 38px rgba(0,0,0,0.18);
    z-index: 80;
    max-height: min(640px, calc(100dvh - 160px));
    overflow-y: auto;
    overscroll-behavior: contain;
}

.theme-switcher.open .theme-popover {
    display: block;
}

.theme-popover-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.theme-popover-title {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--text-secondary);
}

.theme-popover-close {
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 999px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    cursor: pointer;
}

.theme-option-grid {
    display: grid;
    gap: 8px;
}

.theme-option-btn {
    width: 100%;
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-primary);
    color: var(--text-primary);
    text-align: left;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.theme-option-btn:hover,
.theme-option-btn:focus-visible {
    border-color: var(--primary-color);
    background: var(--bg-secondary);
    transform: translateY(-1px);
    outline: none;
}

.theme-option-btn.is-active {
    border-color: var(--primary-color);
    box-shadow: inset 0 0 0 1px rgba(0,123,255,0.16);
    background: var(--bg-secondary);
}

.theme-option-text {
    font-size: 14px;
    font-weight: 600;
}

.theme-swatch {
    width: 16px;
    height: 16px;
    border-radius: 999px;
    display: inline-block;
    border: 1px solid rgba(0,0,0,0.15);
}

.swatch-default { background: linear-gradient(135deg, #ffffff, #dfe7f4); }
.swatch-dark { background: linear-gradient(135deg, #121212, #3b3b3b); border-color: rgba(255,255,255,0.18); }
.swatch-blue { background: linear-gradient(135deg, #1976d2, #66a6ff); border-color: rgba(255,255,255,0.18); }
.swatch-terminal { background: linear-gradient(135deg, #050505, #00ff66); border-color: rgba(255,255,255,0.18); }
.swatch-purple { background: linear-gradient(135deg, #673ab7, #c09bff); border-color: rgba(255,255,255,0.18); }

.action-button-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

body:is(.theme-dark,.theme-dimmed,.theme-ash) .theme-toggle-btn,
body.theme-blue .theme-toggle-btn,
body.theme-terminal .theme-toggle-btn,
body.theme-purple .theme-toggle-btn,
body:is(.theme-dark,.theme-dimmed,.theme-ash) .theme-popover,
body.theme-blue .theme-popover,
body.theme-terminal .theme-popover,
body.theme-purple .theme-popover {
    box-shadow: 0 18px 38px rgba(0,0,0,0.28);
}

@media (max-width: 768px) {
    .top-bar {
        padding: 12px 14px;
        gap: 10px;
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .page-title {
        font-size: 18px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .mobile-menu-btn {
        display: inline-flex;
        min-width: 46px;
        min-height: 42px;
        padding: 8px 12px;
        border-radius: 12px;
        font-weight: 700;
    }

    .mobile-menu-label {
        font-size: 14px;
    }

    .theme-toggle-btn {
        width: 42px;
        height: 42px;
        border-radius: 12px;
    }

    .theme-popover {
        position: fixed;
        top: calc(72px + env(safe-area-inset-top, 0px));
        right: 12px;
        left: auto;
        width: min(280px, calc(100vw - 24px));
    }
}

@media (max-width: 480px) {
    .content-wrapper {
        padding: 12px;
    }

    .top-bar {
        padding: 10px 12px;
        gap: 8px;
    }

    .page-title {
        font-size: 17px;
    }

    .mobile-menu-btn {
        display: inline-flex;
        min-width: 40px;
        min-height: 40px;
        padding: 8px 10px;
        border-radius: 10px;
        box-shadow: 0 4px 10px rgba(0,0,0,0.10);
    }

    .mobile-menu-label {
        display: none;
    }

    .theme-toggle-btn {
        width: 40px;
        height: 40px;
        border-radius: 10px;
    }

    .tool-section {
        padding: 18px;
    }

    .section-title {
        font-size: 22px;
        margin-bottom: 18px;
    }

    .action-button-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: stretch;
    }

    .action-button-row .btn {
        width: 100%;
        justify-content: center;
    }

    .action-button-row .btn.btn-secondary {
        white-space: nowrap;
        min-width: 110px;
    }
}

.propagation-meta-note {
    margin-top: -6px;
    margin-bottom: 10px;
    font-size: 12px;
}


body.modal-open {
    overflow: hidden;
}

.share-dialog-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    z-index: 2500;
}

.share-dialog-overlay.show {
    display: flex;
}

.share-dialog {
    width: min(640px, 100%);
    background: var(--bg-primary);
    color: var(--text-primary);
    border-radius: 16px;
    border: 1px solid var(--border-color);
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    overflow: hidden;
}

.share-dialog-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px 16px;
    border-bottom: 1px solid var(--border-color);
}

.share-dialog-title {
    font-size: 22px;
    margin: 0 0 6px;
}

.share-dialog-subtitle,
.share-dialog-help {
    color: var(--text-secondary);
    font-size: 13px;
}

.share-dialog-close {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.share-dialog-body {
    padding: 20px 24px 8px;
}

.share-dialog-check-wrap {
    margin-top: 4px;
}

.share-dialog-check {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    cursor: pointer;
}

.share-dialog-check input {
    width: 16px;
    height: 16px;
    margin: 0;
}

.share-dialog-textarea {
    min-height: 120px;
    resize: vertical;
}

.share-dialog-warning {
    margin-bottom: 16px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(245, 158, 11, 0.35);
    background: rgba(245, 158, 11, 0.12);
    color: var(--text-primary);
    font-size: 13px;
    line-height: 1.5;
}


.share-dialog-result {
    margin: 12px 0 18px;
    padding: 14px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--bg-secondary);
}

.share-dialog-result-row {
    display: flex;
    gap: 10px;
    align-items: center;
}

.share-dialog-result-input {
    flex: 1;
    min-width: 0;
    font-size: 14px;
}

.share-dialog-copy-btn {
    min-width: 52px;
    justify-content: center;
    padding-left: 16px;
    padding-right: 16px;
}

.member-snapshot-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(40, 167, 69, 0.22);
    background: rgba(40, 167, 69, 0.10);
}

.member-snapshot-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 4px;
}

.member-snapshot-text {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.45;
}

.member-snapshot-btn {
    white-space: nowrap;
}

.share-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 0 24px 24px;
}

.shared-tag-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    flex-wrap: wrap;
}

.shared-tag-list {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
}

.shared-tag {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(23, 162, 184, 0.14);
    color: var(--text-primary);
    border: 1px solid rgba(23, 162, 184, 0.25);
    font-size: 12px;
    font-weight: 600;
}

@media (max-width: 768px) {
    .share-dialog-overlay {
        padding: 16px;
        align-items: flex-end;
    }

    .share-dialog {
        width: 100%;
    }

    .share-dialog-actions {
        flex-direction: column-reverse;
    }

    .share-dialog-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .share-dialog-result-row,
    .member-snapshot-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .share-dialog-copy-btn,
    .member-snapshot-btn {
        width: 100%;
    }
}

/* Member portal entry points */
.top-bar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
}

.top-bar-utility {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-left: auto;
}

.member-topbar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.member-topbar-header {
    flex-wrap: nowrap;
}

.member-topbar-link,
.member-topbar-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid var(--border-color);
    background: var(--bg-primary);
    color: var(--text-primary);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.member-topbar-link-primary {
    padding: 8px 11px;
}

.member-topbar-link-icon {
    width: 38px;
    height: 38px;
    padding: 0;
    font-size: 16px;
    box-shadow: var(--shadow-sm);
}

.member-topbar-link-icon:hover,
.member-topbar-link-icon:focus-visible {
    border-color: var(--primary-color);
    outline: none;
}

.member-topbar-label {
    line-height: 1;
}

.member-topbar-chip {
    background: var(--bg-secondary);
}

.member-notification-menu {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.member-notification-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    border: 1px solid var(--border-color);
    background: var(--bg-primary);
    color: var(--text-primary);
    cursor: pointer;
    font-size: 15px;
    box-shadow: var(--shadow-sm);
}

.member-notification-button:hover,
.member-notification-button:focus-visible {
    border-color: var(--primary-color);
    outline: none;
}

.member-notification-count {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--danger-color, #dc2626);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    box-shadow: 0 0 0 2px var(--bg-primary);
}

.member-notification-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 1200;
    width: min(360px, calc(100vw - 24px));
    max-height: min(520px, calc(100vh - 96px));
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-primary);
    color: var(--text-primary);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18);
}

.member-notification-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-secondary);
}

.member-notification-panel-head small {
    display: block;
    margin-top: 2px;
    color: var(--text-secondary);
    font-size: 12px;
}

.member-notification-dismiss-all {
    border: 0;
    background: transparent;
    color: var(--primary-color);
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.member-notification-list {
    max-height: 390px;
    overflow: auto;
    padding: 8px;
}

.member-notification-confirm {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(220, 38, 38, 0.22);
    background: rgba(220, 38, 38, 0.07);
}

.member-notification-confirm strong,
.member-notification-confirm span {
    display: block;
}

.member-notification-confirm span {
    margin-top: 3px;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.4;
}

.member-notification-confirm-actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.member-notification-confirm-actions button {
    min-height: 34px;
    padding: 6px 11px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-primary);
    color: var(--text-primary);
    cursor: pointer;
    font-weight: 700;
}

.member-notification-confirm-actions button:first-child {
    border-color: #b91c1c;
    background: #b91c1c;
    color: #fff;
}

.member-notification-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    width: 100%;
    padding: 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: inherit;
    text-align: left;
    text-decoration: none;
}

.member-notification-item,
.member-notification-item:hover,
.member-notification-item:focus-visible,
.member-notification-item:visited,
.member-notification-copy,
.member-notification-copy:hover,
.member-notification-copy:focus-visible,
.member-notification-copy:visited,
.member-notification-copy strong,
.member-notification-copy span,
.member-notification-copy small,
.member-notification-footer,
.member-notification-footer:hover,
.member-notification-footer:focus-visible,
.member-notification-footer:visited {
    text-decoration: none;
}

.member-notification-item:hover,
.member-notification-item:focus-visible {
    border-color: var(--border-color);
    background: var(--bg-secondary);
    outline: none;
}

.member-notification-item.is-unread {
    border-color: rgba(37, 99, 235, 0.22);
    background: rgba(37, 99, 235, 0.07);
}

.member-notification-item.is-admin.is-critical,
.member-notification-item.is-critical {
    border-left: 4px solid #dc2626;
}

.member-notification-item.is-admin.is-warning,
.member-notification-item.is-warning {
    border-left: 4px solid #d97706;
}

.member-notification-copy strong {
    display: block;
    font-size: 13px;
}

.member-notification-copy span,
.member-notification-copy small {
    display: block;
    margin-top: 3px;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.35;
}

.member-notification-delete {
    width: 28px;
    height: 28px;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--bg-primary);
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
}

.member-notification-delete:hover,
.member-notification-delete:focus-visible {
    color: var(--danger-color, #dc2626);
    border-color: rgba(220, 38, 38, 0.35);
    outline: none;
}

.member-notification-empty {
    padding: 22px 14px;
    color: var(--text-secondary);
    font-size: 13px;
    text-align: center;
}

.member-notification-footer {
    display: block;
    padding: 12px 14px;
    border-top: 1px solid var(--border-color);
    color: var(--primary-color);
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.member-watcher-event-row {
    align-items: flex-start;
}
.member-watcher-event-copy {
    min-width: 0;
}
.member-watcher-event-message {
    color: var(--text-primary);
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: anywhere;
}

.share-member-note {
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: 10px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.45;
}

.share-member-note a {
    color: var(--primary-color);
    font-weight: 600;
}

@media (max-width: 768px) {
    .top-bar-actions {
        width: 100%;
        justify-content: space-between;
        margin-left: 0;
    }

    .member-topbar {
        width: 100%;
        justify-content: flex-start;
    }

    .member-notification-panel {
        position: fixed;
        top: 64px;
        right: 12px;
        left: 12px;
        width: auto;
    }
}

.password-share-note {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.5;
}

.shared-secret-warning {
    margin-bottom: 16px;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid rgba(239, 68, 68, 0.22);
    background: rgba(239, 68, 68, 0.1);
    color: var(--text-primary);
    font-size: 14px;
    line-height: 1.5;
}

.shared-secret-warning strong {
    display: block;
    margin-bottom: 4px;
}

.shared-secret-warning.used {
    border-color: rgba(107, 114, 128, 0.28);
    background: rgba(107, 114, 128, 0.12);
}

.shared-secret-warning.revealed {
    border-color: rgba(34, 197, 94, 0.45);
    background: rgba(34, 197, 94, 0.12);
}

.private-note-lifetime {
    min-width: 0;
    margin: 0 0 20px;
    padding: 16px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-secondary);
}

.private-note-lifetime legend {
    padding: 0 6px;
    font-weight: 600;
}

.private-note-lifetime [hidden] { display: none; }
.private-note-lifetime .password-share-note { margin-bottom: 0; }

.shared-secret-meta {
    margin-top: 8px;
    color: var(--text-secondary);
    font-size: 12px;
}

.shared-secret-empty {
    padding: 18px;
    border-radius: 12px;
    border: 1px dashed var(--border-color);
    background: var(--bg-secondary);
    color: var(--text-secondary);
    text-align: center;
}


/* ==============================
   v1.6.2 Mobile experience refresh
   ============================== */
html {
    -webkit-text-size-adjust: 100%;
}

body.menu-open,
body.modal-open {
    overscroll-behavior: none;
}

@media (max-width: 768px) {
    body {
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    .top-bar {
        grid-template-columns: auto minmax(0, 1fr) auto;
        grid-template-areas: "menu title utility";
        align-items: center;
    }

    .mobile-menu-btn {
        grid-area: menu;
    }

    .page-title {
        grid-area: title;
    }

    .top-bar-utility {
        grid-area: utility;
        gap: 8px;
    }

    .member-topbar {
        display: flex;
        width: auto;
        min-width: 0;
    }

    .member-topbar-link,
    .member-topbar-chip {
        min-height: 40px;
        padding: 8px 11px;
    }

    .member-topbar-label {
        display: none;
    }

    .content-wrapper {
        padding: 14px;
    }

    .tool-section {
        padding: 20px;
        border-radius: 16px;
    }

    .section-title {
        font-size: 22px;
        line-height: 1.2;
        margin-bottom: 20px;
    }

    .tool-section > .btn {
        width: 100%;
        min-height: 48px;
        justify-content: center;
    }

    .tool-section > .btn + 
.results-panel {
        margin-top: 20px;
    }

    .form-group {
        margin-bottom: 16px;
    }

    .form-label {
        font-size: 13px;
    }

    .form-input {
        min-height: 48px;
    }

    select.form-input {
        padding-right: 40px;
    }

    textarea.form-input {
        min-height: 140px;
    }

    
.results-panel {
        margin-top: 20px;
        border-radius: 14px;
    }

    .results-header {
        padding: 16px;
    }

    .results-title {
        font-size: 17px;
        line-height: 1.25;
    }

    .results-header {
        padding: 16px 18px;
    }

    .results-actions {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .results-actions-mobile-sticky {
        position: sticky;
        bottom: calc(10px + env(safe-area-inset-bottom, 0px));
        display: grid;
        margin-top: 14px;
        padding: 12px;
        border: 1px solid rgba(0, 0, 0, 0.08);
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.94);
        backdrop-filter: blur(12px);
        box-shadow: 0 8px 24px rgba(0,0,0,0.14);
        z-index: 55;
    }

    .results-actions > .btn,
    .results-actions > .export-menu-wrap {
        width: 100%;
        min-width: 0;
    }

    .results-actions .btn,
    .results-actions .export-toggle {
        width: 100%;
        justify-content: center;
    }

    .export-menu {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: calc(12px + env(safe-area-inset-bottom, 0px));
        top: auto;
        min-width: 0;
        max-height: min(50vh, 360px);
        overflow: auto;
        z-index: 2600;
    }

    .phase-results-stack {
        padding: 14px;
    }

    .phase-card-grid,
    .shared-summary-grid {
        grid-template-columns: 1fr;
    }

    .phase-header-list {
        min-width: 0;
    }

    .password-display {
        font-size: 16px;
        padding: 16px;
        overflow-x: auto;
        white-space: nowrap;
    }

    .shared-secret-layout {
        padding: 24px 16px calc(28px + env(safe-area-inset-bottom, 0px));
    }

    .shared-secret-page-title {
        font-size: 28px;
    }

    .shared-secret-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .shared-secret-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .share-dialog-overlay {
        padding: 0;
        align-items: flex-end;
    }

    .share-dialog {
        width: 100%;
        max-width: none;
        max-height: min(90vh, 860px);
        border-radius: 20px 20px 0 0;
        display: flex;
        flex-direction: column;
    }

    .share-dialog-header {
        padding: 18px 18px 14px;
    }

    .share-dialog-title {
        font-size: 20px;
    }

    .share-dialog-body {
        padding: 16px 18px 12px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .share-dialog-textarea {
        min-height: 132px;
    }

    .share-dialog-actions {
        padding: 14px 18px calc(18px + env(safe-area-inset-bottom, 0px));
        background: var(--bg-primary);
        border-top: 1px solid var(--border-color);
        position: sticky;
        bottom: 0;
    }

    .share-member-note,
    .password-share-note,
    .shared-secret-warning {
        font-size: 13px;
        line-height: 1.5;
    }

    .notification {
        left: 12px;
        right: 12px;
        top: 12px;
        max-width: none;
    }
}

@media (max-width: 560px) {
    .top-bar {
        padding: 10px 12px;
    }

    .page-title {
        font-size: 17px;
    }

    .tool-section {
        padding: 16px;
    }

    .results-header {
        align-items: stretch;
        padding: 14px 16px;
    }

    .results-actions {
        grid-template-columns: 1fr;
    }

    .results-actions-mobile-sticky {
        padding: 10px;
        margin-top: 12px;
    }

    .phase-results-stack {
        padding: 12px;
        gap: 14px;
    }

    .phase-card-grid {
        gap: 12px;
    }

    .phase-metric-card,
    .phase-section-card,
    .phase-warning-box {
        border-radius: 12px;
    }

    .phase-metric-card,
    .phase-section-card {
        padding: 14px;
    }

    .phase-metric-value {
        font-size: 17px;
    }

    .member-snapshot-bar {
        padding: 12px 14px;
    }

    .form-input {
        font-size: 16px;
    }

    .data-table tr {
        padding: 10px;
    }

    .data-table td {
        padding-left: 44% !important;
    }

    .data-table td:before {
        width: 40%;
        left: 0;
        padding-right: 8px;
    }
}

/* Layer 2 route / toast / loading refresh */
.toast-container {
    position: fixed;
    top: 88px;
    right: 24px;
    z-index: 3200;
    display: flex;
    flex-direction: column;
    gap: 12px;
    pointer-events: none;
    width: min(960px, calc(100vw - 48px));
    max-height: calc(100dvh - 112px);
    overflow-y: auto;
    padding: 4px;
    box-sizing: border-box;
}

.toast {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 9px;
    border: 1px solid var(--notice-edge, #93c5fd);
    background: var(--notice-bg, #e0efff);
    color: var(--notice-ink, #153f70);
    box-shadow: 0 2px 5px #0002;
    flex-shrink: 0;
    min-width: 0;
    overflow-wrap: anywhere;
    opacity: 0;
    transform: translateY(-8px) scale(0.98);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: auto;
}

.toast.show {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.toast-success { --notice-bg:#d7efdf; --notice-ink:#155333; --notice-edge:#a5d7b7; }
.toast-info { --notice-bg:#e0efff; --notice-ink:#153f70; --notice-edge:#93c5fd; }
.toast-warning { --notice-bg:#fff1ce; --notice-ink:#684500; --notice-edge:#e4c369; }
.toast-danger { --notice-bg:#ffdfdc; --notice-ink:#8e201c; --notice-edge:#eda9a2; }

.toast-icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
}
.toast-icon svg { width:100%; height:100%; fill:currentColor; }
.toast-icon path { fill:none; stroke:var(--notice-bg,#e0efff); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }

.toast-copy {
    flex: 1;
    min-width: 0;
}

.toast-title {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 3px;
}

.toast-message {
    font-size: 14px;
    line-height: 1.45;
    opacity: 0.96;
}

.toast-close {
    background: transparent;
    border: 1px solid transparent;
    color: inherit;
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-radius:50%;
    display:grid;
    place-items:center;
    padding:0;
    opacity:.85;
    transition:background .15s ease,box-shadow .15s ease,transform .15s ease;
}
.toast-close:hover,.toast-close:focus-visible { opacity:1; background:color-mix(in srgb,currentColor 12%,transparent); border-color:currentColor; box-shadow:0 0 0 3px color-mix(in srgb,currentColor 16%,transparent); transform:scale(1.05); outline-offset:3px; }
@media(prefers-reduced-motion:reduce) { .toast,.toast.show,.toast-close:hover,.toast-close:focus-visible { transition:none; transform:none; } }
body[data-effects="off"] .toast-close { transform:none; }

.results-loading-card {
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: linear-gradient(180deg, var(--bg-primary), var(--bg-secondary));
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.results-loading-header {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 16px;
}

.results-loading-spinner {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid rgba(0, 123, 255, 0.18);
    border-top-color: var(--primary-color);
    animation: spin 0.9s linear infinite;
}

.results-loading-bars {
    display: grid;
    gap: 10px;
}

.results-loading-bar {
    height: 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(0,0,0,0.05), rgba(0,0,0,0.11), rgba(0,0,0,0.05));
    background-size: 220% 100%;
    animation: ntShimmer 1.4s ease infinite;
}

.results-loading-bar.is-wide { width: 100%; }
.results-loading-bar.is-medium { width: 74%; }
.results-loading-bar:not(.is-wide):not(.is-medium) { width: 86%; }

@keyframes ntShimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.field-inline-validation {
    display: none;
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.45;
}
.field-inline-validation.warning { color: #8a6500; }
.field-inline-validation.danger { color: var(--danger-color); }
.form-input.input-warning { border-color: rgba(255, 193, 7, 0.8); box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.12); }
.form-input.input-danger { border-color: rgba(220, 53, 69, 0.8); box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.12); }

.form-error-summary {
    margin: 0 0 20px;
    padding: 16px 18px;
    border: 2px solid var(--danger-color, #b42318);
    border-radius: 10px;
    background: color-mix(in srgb, var(--danger-color, #b42318) 8%, var(--card-bg, #fff));
    color: var(--text-primary, #161b22);
}

.result-more-actions {
    position: relative;
}

.result-more-actions > summary {
    list-style: none;
    cursor: pointer;
}

.result-more-actions > summary::-webkit-details-marker {
    display: none;
}

.result-more-actions-menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + 8px);
    right: 0;
    display: grid;
    gap: 6px;
    min-width: 220px;
    padding: 8px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-primary);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .18);
}

.result-more-actions-menu > .btn,
.result-more-actions-menu > .export-menu-wrap {
    width: 100%;
}

.result-more-actions-menu .btn,
.result-more-actions-menu .export-toggle {
    width: 100%;
    justify-content: flex-start;
}

.form-error-summary:focus-visible {
    outline: 3px solid var(--primary-color, #0d6efd);
    outline-offset: 3px;
}

.form-error-summary strong {
    display: block;
    margin-bottom: 8px;
    font-size: 1rem;
}

.form-error-summary ul {
    margin: 0;
    padding-left: 22px;
}

.form-error-summary a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ip-secondary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.18);
    border: 1px solid rgba(255,255,255,0.24);
}
.ip-secondary-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    opacity: 0.9;
}
.ip-secondary-value {
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

#shareDialogSecretExpiryWrap {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(220px, 0.95fr);
    gap: 16px;
    align-items: start;
}
#shareDialogSecretExpiryWrap .form-group.narrow {
    min-width: 0;
    margin-bottom: 0;
}
#shareDialogSecretExpireMode,
#shareDialogSecretExpireDays {
    min-height: 48px;
}

@media (max-width: 768px) {
    .toast-container {
        left: 12px;
        right: 12px;
        width: auto;
        top: 12px;
    }

    #shareDialogSecretExpiryWrap {
        grid-template-columns: 1fr;
    }

    .ip-secondary {
        flex-direction: column;
        border-radius: 14px;
    }
}

/* v1.13.0 polish pack */
.result-meta-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}
.result-meta-chip {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border-radius: 999px;
    border: 1px solid var(--border-color);
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 700;
}
.result-highlight-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}
.result-highlight-card {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid var(--border-color);
    background: var(--bg-primary);
    box-shadow: 0 6px 18px rgba(0,0,0,0.04);
}
.result-highlight-card.is-success { border-color: rgba(40,167,69,0.28); background: rgba(40,167,69,0.08); }
.result-highlight-card.is-warning { border-color: rgba(245,158,11,0.28); background: rgba(245,158,11,0.10); }
.result-highlight-card.is-danger { border-color: rgba(220,53,69,0.28); background: rgba(220,53,69,0.08); }
.result-highlight-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
}
.result-highlight-value {
    margin-top: 6px;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    word-break: break-word;
}
.results-loading-card-rich {
    display: grid;
    gap: 16px;
}
.results-loading-shell-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
}
.results-loading-shell-card,
.results-loading-table-row span {
    border-radius: 14px;
    background: linear-gradient(90deg, rgba(0,0,0,0.05), rgba(0,0,0,0.11), rgba(0,0,0,0.05));
    background-size: 220% 100%;
    animation: ntShimmer 1.4s ease infinite;
}
.results-loading-shell-card {
    min-height: 84px;
}
.results-loading-table {
    display: grid;
    gap: 10px;
}
.results-loading-table-row {
    display: grid;
    grid-template-columns: 1.25fr 0.7fr 0.9fr;
    gap: 12px;
}
.results-loading-table-row span {
    height: 16px;
}
.results-loading-header {
    margin-bottom: 0;
}
.share-dialog {
    width: min(720px, 100%);
}
.share-dialog-body {
    padding: 22px 24px 12px;
}
.share-dialog .form-group {
    margin-bottom: 18px;
}
.share-dialog-result {
    margin-top: 16px;
}
.share-dialog-check-wrap {
    margin-top: 10px;
}
#shareDialogSecretExpiryWrap {
    gap: 18px;
}
#shareDialogSecretExpireMode,
#shareDialogSecretExpireDays {
    width: 100%;
}
.nav-item-disabled {
    opacity: 0.62;
    position: relative;
    filter: grayscale(0.18);
}
.nav-item-disabled:hover {
    opacity: 0.72;
}
.nav-item-disabled .icon,
.nav-item-disabled .text {
    color: var(--text-secondary);
}
.nav-disabled-badge { display:none !important; }
.tool-disabled-banner,
.tool-unavailable-route-card {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 16px;
    align-items: center;
    margin: 14px 0 18px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(220, 53, 69, 0.22);
    background: rgba(220, 53, 69, 0.08);
    color: var(--text-primary);
    line-height: 1.5;
}
.tool-disabled-banner-icon,
.tool-unavailable-route-icon {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: rgba(220, 53, 69, 0.12);
    color: #b42318;
}
.tool-disabled-banner-icon svg,
.tool-unavailable-route-icon svg {
    width: 34px;
    height: 34px;
    fill: currentColor;
}
.tool-disabled-banner-copy,
.tool-unavailable-route-copy {
    min-width: 0;
}
.tool-disabled-banner-title,
.tool-unavailable-route-title {
    font-size: 1.05rem;
    font-weight: 800;
    margin-bottom: 4px;
}
.tool-disabled-banner-text,
.tool-unavailable-route-copy {
    font-size: 0.95rem;
    color: var(--text-primary);
}
.tool-unavailable-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}
/* Public header utilities must wrap as a group when the sidebar narrows the canvas. */
body[data-interface] .top-bar { flex-wrap:wrap; gap:12px; }
body[data-interface] .top-bar-utility { flex:1 1 430px; min-width:0; flex-wrap:wrap; justify-content:flex-end; }
body[data-interface] .top-bar-utility > * { flex-shrink:0; }
body[data-interface] .wb-command-button { white-space:nowrap; }
@media (max-width:768px) {
    /* Clip horizontal overflow without creating a non-scrolling ancestor for
       the sticky header. Interface controls must stay reachable at results. */
    body[data-interface]:not(.shared-view),
    body[data-interface]:not(.shared-view) .main-content { overflow-x:clip; }
    body[data-interface] .top-bar-utility { flex-basis:auto; }
    body[data-interface]:not(.shared-view) .toast-container {
        top:auto;
        bottom:calc(80px + env(safe-area-inset-bottom,0px));
        max-height:max(0px,calc(100dvh - var(--nt-mobile-header-height,184px) - 92px));
        overflow-y:auto;
    }
    body[data-interface]:not(.shared-view) .toast { flex-shrink:0; }
}

.sr-only {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    max-width: 1px !important;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
@media (max-width: 640px) {
    .tool-disabled-banner,
    .tool-unavailable-route-card {
        grid-template-columns: 1fr;
        text-align: left;
    }
    .tool-disabled-banner-icon,
    .tool-unavailable-route-icon {
        width: 56px;
        height: 56px;
    }
}

.tool-section-disabled {
    opacity: 1;
}
.tool-section-disabled .tool-disabled-content {
    display: none !important;
}
.tool-section-disabled .results-panel {
    opacity: 1;
}
.btn-clear-action {
    white-space: nowrap;
}
.open-in-tool-btn {
    margin-right: 10px;
}
@media (max-width: 768px) {
    .result-highlight-grid {
        grid-template-columns: 1fr;
    }
    .results-loading-table-row {
        grid-template-columns: 1fr;
    }
    .share-dialog-overlay {
        padding: 12px;
    }
    .share-dialog {
        border-radius: 18px 18px 0 0;
        max-height: min(92vh, 860px);
        overflow: auto;
    }
    .share-dialog-header,
    .share-dialog-body,
    .share-dialog-actions {
        padding-left: 18px;
        padding-right: 18px;
    }
    .share-dialog-result-row {
        gap: 12px;
    }
    .share-dialog-result-input,
    .share-dialog-copy-btn,
    #shareDialogSecretExpireMode,
    #shareDialogSecretExpireDays {
        min-height: 48px;
    }
}


/* v1.14.0 recent runs drawer */
.section-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}
.section-title-row .section-title {
    margin-bottom: 0;
}
.tool-utility-row {
    width: 100%;
    min-width: 0;
}
.section-title-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-left: auto;
    flex-shrink: 0;
}
.tool-info-trigger {
    width: 30px;
    height: 30px;
    min-width: 30px;
    padding: 0;
    border-radius: 999px;
    border: 1px solid var(--border-color);
    background: var(--bg-secondary);
    color: var(--text-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease;
}
.tool-info-trigger:hover {
    transform: translateY(-1px);
    border-color: rgba(0, 123, 255, 0.32);
    color: var(--primary-color);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}
.tool-info-trigger[aria-expanded="true"] {
    border-color: rgba(0, 123, 255, 0.32);
    background: rgba(0, 123, 255, 0.08);
    color: var(--primary-color);
}
.tool-info-trigger-icon {
    font-size: 14px;
    font-weight: 800;
    font-style: normal;
    line-height: 1;
}
.tool-info-drawer {
    display: none;
    margin: -4px 0 18px;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid var(--border-color);
    background: linear-gradient(180deg, rgba(0, 123, 255, 0.04), rgba(255,255,255,0.02));
    box-shadow: 0 12px 28px rgba(0,0,0,0.05);
}
.tool-info-drawer.open {
    display: block;
}
.tool-info-drawer-title {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: var(--text-primary);
}
.tool-info-text {
    margin: 10px 0 0;
    color: var(--text-primary);
    line-height: 1.6;
}
.tool-info-meta {
    margin-top: 12px;
}
.tool-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}
.tool-info-block {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.62);
}
.dark-mode .tool-info-block {
    background: rgba(15, 23, 42, 0.42);
}
.tool-info-summary {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.tool-info-summary-hint {
    flex: 0 0 auto;
    max-width: 220px;
    padding: 5px 10px;
    border: 1px solid rgba(0, 123, 255, 0.18);
    border-radius: 999px;
    background: rgba(0, 123, 255, 0.08);
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}
.tool-info-meta-label {
    display: inline-block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--text-secondary);
}
.tool-info-list {
    margin: 0;
    padding-left: 18px;
    color: var(--text-primary);
}
.tool-info-steps {
    counter-reset: tool-info-step;
}
.tool-info-steps li {
    padding-left: 2px;
}
.tool-info-list li + li {
    margin-top: 4px;
}
.section-icon-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid var(--border-color);
    background: var(--bg-secondary);
    color: var(--text-primary);
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background-color 0.16s ease;
}
.section-icon-button:hover {
    transform: translateY(-1px);
    border-color: rgba(0, 123, 255, 0.32);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}
.recent-runs-icon {
    font-size: 15px;
    line-height: 1;
}
.recent-runs-label {
    font-size: 13px;
    font-weight: 700;
}
.recent-runs-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(0, 123, 255, 0.12);
    color: var(--primary-color);
    font-size: 12px;
    font-weight: 700;
}
.recent-runs-drawer {
    display: none;
    margin: -4px 0 18px;
    padding: 16px;
    border-radius: 16px;
    border: 1px solid var(--border-color);
    background: linear-gradient(180deg, rgba(0, 123, 255, 0.04), rgba(255,255,255,0.02));
    box-shadow: 0 14px 28px rgba(0,0,0,0.06);
}
.recent-runs-drawer.open {
    display: block;
}
.recent-runs-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}
.recent-runs-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary);
}
.recent-runs-subtitle {
    margin-top: 3px;
    font-size: 12px;
    color: var(--text-secondary);
}
.recent-runs-list {
    display: grid;
    gap: 10px;
}
.recent-run-item {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid var(--border-color);
    background: var(--bg-primary);
    color: var(--text-primary);
    text-align: left;
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}
.recent-run-item:hover {
    transform: translateY(-1px);
    border-color: rgba(0, 123, 255, 0.28);
    box-shadow: 0 12px 22px rgba(0,0,0,0.07);
}
.recent-run-primary {
    font-weight: 700;
    word-break: break-word;
}
.recent-run-meta {
    flex-shrink: 0;
    color: var(--text-secondary);
    font-size: 12px;
    white-space: nowrap;
}
@media (max-width: 768px) {
    .section-title-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .section-title-actions {
        width: 100%;
        justify-content: flex-end;
    }

    .recent-runs-header,
    .recent-run-item {
        flex-direction: column;
        align-items: stretch;
    }

    .recent-run-meta {
        white-space: normal;
    }
}


.dns-column-manager {
    margin: 4px 0 0;
    padding: 8px 10px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-secondary);
}

.dns-column-manager-collapsed {
    box-shadow: none;
}

.dns-column-manager-head,
.dns-result-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.dns-column-manager-head-compact {
    gap: 10px;
}

.dns-column-manager-head-inline {
    justify-content: flex-end;
    gap: 8px;
}

.dns-column-manager-inline {
    margin-top: 0;
}

.dns-column-manager-copy-inline {
    margin-right: auto;
    overflow: hidden;
}

.dns-column-manager-copy {
    min-width: 0;
}

.dns-column-manager-title {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.1;
}

.dns-column-manager-text,
.dns-result-toolbar-copy {
    font-size: 0.78rem;
    color: var(--text-secondary);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dns-column-manager-actions-compact {
    flex-shrink: 0;
}

.dns-column-toggle-icon {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-primary);
    color: var(--text-primary);
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.dns-column-toggle-icon:hover,
.dns-column-toggle-icon:focus-visible,
.dns-column-toggle-icon.is-active {
    border-color: var(--primary-color);
    background: var(--bg-secondary);
    outline: none;
}

.dns-column-toggle-icon:hover,
.dns-column-toggle-icon:focus-visible {
    transform: translateY(-1px);
}

.dns-column-customizer {
    margin-top: 4px;
    padding-top: 6px;
    border-top: 1px solid var(--border-color);
}

.dns-column-customizer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 6px 10px;
}

.dns-column-option {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    font-size: 0.9rem;
    color: var(--text-primary);
}

.dns-column-customizer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.dns-result-toolbar {
    margin: 0 0 8px;
}

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

/* Header utilities are injected into the title wrapper. Keep that wrapper full-width
   so settings, guidance, and recent-run controls align with the workspace edge. */
.tool-workspace-header > :only-child {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
}

.tool-workspace-header .section-title {
    margin-bottom: 6px;
}

.tool-workspace-header .section-subtitle {
    max-width: 760px;
    margin: 0;
}

.tool-request-panel {
    padding: 18px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--bg-secondary);
}

.tool-request-panel .form-row {
    margin-bottom: 4px;
}

.form-help {
    margin-top: 6px;
    color: var(--text-secondary);
    font-size: .82rem;
    line-height: 1.45;
}

.tool-request-actions {
    margin-top: 12px;
}

.tool-initial-state {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 16px;
    padding: 18px;
    border: 1px dashed var(--border-color);
    border-radius: 14px;
    background: color-mix(in srgb, var(--bg-secondary) 72%, transparent);
    color: var(--text-secondary);
}

.tool-initial-state[hidden] {
    display: none;
}

.tool-initial-state-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--bg-secondary);
    color: var(--primary-color);
    font-size: 1.35rem;
}

.tool-initial-state strong,
.tool-initial-state span {
    display: block;
}

.tool-initial-state strong {
    margin-bottom: 4px;
    color: var(--text-primary);
}

.result-content-controls {
    margin-top: 16px;
    padding: 14px 16px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--bg-secondary);
}

.result-content-controls[hidden] {
    display: none;
}

.result-content-controls .form-group {
    margin: 0;
}

.result-filter-input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.dns-filter-empty-state {
    margin-top: 10px;
}

.dns-filter-empty-state[hidden] {
    display: none;
}

.action-button-row-compact {
    margin-top: 0;
}

#dns-lookup 
.results-panel {
    margin-top: 6px;
}

#dns-lookup .phase-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 8px;
    margin-bottom: 6px;
}

#dns-lookup .phase-metric-card {
    padding: 12px;
}

#dns-lookup .phase-metric-value {
    margin-top: 6px;
    font-size: 16px;
}

#dns-lookup .phase-inline-note {
    margin-top: 4px;
    margin-bottom: 4px;
}

#dns-lookup .data-table {
    margin-top: 6px;
}

.dns-result-note-compact {
    font-size: 0.78rem;
}

.dns-results-table-card {
    padding-top: 10px;
}

.dns-results-table-card .dns-column-manager {
    margin-bottom: 4px;
}

.dns-results-table-header {
    margin-bottom: 4px;
}

@media (max-width: 768px) {
    .tool-workspace-header {
        margin-bottom: 14px;
    }

    .tool-request-panel,
    .result-content-controls {
        padding: 14px;
    }

    .result-filter-input-row {
        grid-template-columns: 1fr;
    }

    .result-filter-input-row .btn {
        width: 100%;
    }

    .result-more-actions {
        width: 100%;
    }

    .result-more-actions > summary {
        width: 100%;
    }

    .result-more-actions-menu {
        position: static;
        width: 100%;
        min-width: 0;
        margin-top: 6px;
        box-shadow: none;
    }

    .dns-column-manager {
        padding: 8px 9px;
        margin-top: 6px;
    }

    .dns-column-manager-head {
        align-items: center;
    }

    .phase-section-title-row {
        gap: 8px;
    }

    .dns-column-customizer-actions {
        width: 100%;
    }

    .dns-column-customizer-actions .btn {
        width: 100%;
    }

    .dns-column-toggle-icon {
        width: 28px;
        height: 28px;
        border-radius: 8px;
    }

    #dns-lookup 
.results-panel {
        margin-top: 8px;
    }
}


.member-header-menu {
    position: relative;
}

.member-header-menu summary {
    list-style: none;
    cursor: pointer;
}

.member-header-menu summary::-webkit-details-marker {
    display: none;
}

.member-header-menu[open] .member-topbar-link {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.12);
}

.member-header-menu-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 280px;
    padding: 10px;
    border-radius: 14px;
    border: 1px solid var(--border-color);
    background: var(--bg-primary);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
    display: grid;
    gap: 8px;
    z-index: 40;
}

.member-header-menu-panel :is(a,button[role="menuitem"]) {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 10px;
    color: var(--text-primary);
    text-decoration: none;
    font-weight: 600;
}

.member-header-menu-panel button[role="menuitem"] {
    width:100%;
    border:0;
    background:transparent;
    font-family:inherit;
    font-size:inherit;
    text-align:left;
    cursor:pointer;
}

.member-header-menu-panel :is(a,button[role="menuitem"]):hover,
.member-header-menu-panel :is(a,button[role="menuitem"]):focus-visible {
    background: var(--bg-secondary);
}

.member-header-menu-panel .member-header-menu-primary {
    align-items: flex-start;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--primary-color) 24%, var(--border-color));
    background: color-mix(in srgb, var(--primary-color) 7%, var(--bg-primary));
}

.member-header-menu-icon {
    display: grid;
    flex: 0 0 30px;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: color-mix(in srgb, var(--primary-color) 13%, var(--bg-primary));
}

.member-header-menu-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.member-header-menu-copy small {
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 550;
    line-height: 1.35;
}

.member-header-menu-divider {
    height: 1px;
    margin: 1px 4px;
    background: var(--border-color);
}

.member-header-menu-panel .member-header-menu-logout {
    color: var(--danger-color, #b42318);
}

.phase-header-toggle {
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-secondary);
    padding: 8px 10px;
}

.phase-header-toggle summary {
    cursor: pointer;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.phase-header-toggle[open] summary {
    margin-bottom: 10px;
}

.phase-header-toggle .phase-header-list {
    margin-top: 0;
}

@media (max-width: 768px) {
    .member-header-menu {
        width: 100%;
    }

    .member-header-menu-panel {
        left: 0;
        right: auto;
        min-width: min(260px, calc(100vw - 32px));
    }
}


.tool-state-return-banner {
    margin: 14px 0 18px;
}
.tool-state-return-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    z-index: 3000;
}
.tool-state-return-modal {
    width: min(520px, 100%);
    max-height: calc(100dvh - 36px);
    overflow-y: auto;
    border-radius: 16px;
}
.domain-snapshot-compare-backdrop,
.domain-snapshot-picker-backdrop {
    z-index: 3600;
}
.domain-snapshot-compare-modal {
    width: min(1280px, calc(100vw - 24px));
    max-height: calc(100vh - 24px);
}
.domain-snapshot-modal-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 22px;
}
.domain-snapshot-compare-shell {
    max-height: calc(100vh - 24px);
    background: #ffffff;
}
.domain-snapshot-compare-shell .phase-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.domain-snapshot-compare-header-row {
    align-items: flex-start;
}
.domain-snapshot-compare-subtitle {
    color: var(--text-secondary);
    margin-top: 6px;
    font-size: 0.96rem;
}
.domain-snapshot-compare-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.domain-snapshot-compare-results {
    margin-top: 0;
    padding: 0 2px 4px;
    max-height: min(74vh, 840px);
    overflow: auto;
}
.domain-snapshot-diff-section {
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: #ffffff;
    padding: 16px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}
.domain-snapshot-diff-section + .domain-snapshot-diff-section {
    margin-top: 14px;
}
.domain-snapshot-diff-section-header h3 {
    margin: 0;
    font-size: 1rem;
}
.domain-snapshot-diff-section-meta {
    margin-top: 6px;
    color: var(--text-secondary);
    font-size: 0.92rem;
}
.domain-snapshot-diff-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 14px;
    margin-top: 14px;
}
.domain-snapshot-diff-block {
    border: 1px solid var(--border-color);
    border-radius: 14px;
    overflow: hidden;
    background: #ffffff;
}
.domain-snapshot-diff-block.is-added {
    border-color: rgba(25, 135, 84, 0.26);
    background: rgba(25, 135, 84, 0.06);
}
.domain-snapshot-diff-block.is-removed {
    border-color: rgba(220, 53, 69, 0.26);
    background: rgba(220, 53, 69, 0.06);
}
.domain-snapshot-diff-block.is-changed {
    border-color: rgba(255, 193, 7, 0.32);
    background: rgba(255, 193, 7, 0.10);
}
.domain-snapshot-diff-block-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px 0;
}
.domain-snapshot-diff-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    border: 1px solid currentColor;
    background: #fff;
}
.domain-snapshot-diff-badge.is-added {
    color: #146c43;
}
.domain-snapshot-diff-badge.is-removed {
    color: #b02a37;
}
.domain-snapshot-diff-badge.is-changed {
    color: #997404;
}
.domain-snapshot-diff-count {
    font-weight: 700;
    color: var(--text-secondary);
}
.domain-snapshot-diff-block .phase-section-card {
    background: transparent;
    box-shadow: none;
    border: none;
    padding: 12px 14px 14px;
}
.domain-snapshot-diff-block .data-table {
    background: #fff;
}
.domain-snapshot-diff-empty {
    border: 1px dashed var(--border-color);
    border-radius: 14px;
    padding: 18px;
    color: var(--text-secondary);
    background: #fff;
}
.tool-progress-card {
    background: #ffffff;
}
.tool-state-return-card {
    background: #ffffff;
    border: 1px solid var(--border-color, #d9d9d9);
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.16);
    padding: 16px;
}
body:is(.theme-dark,.theme-dimmed,.theme-ash) .domain-snapshot-compare-shell,
body.theme-blue .domain-snapshot-compare-shell,
body.theme-terminal .domain-snapshot-compare-shell,
body.theme-purple .domain-snapshot-compare-shell,
body:is(.theme-dark,.theme-dimmed,.theme-ash) .tool-progress-card,
body.theme-blue .tool-progress-card,
body.theme-terminal .tool-progress-card,
body.theme-purple .tool-progress-card {
    background: var(--bg-primary);
    color: var(--text-primary);
    border-color: var(--border-color);
}
body:is(.theme-dark,.theme-dimmed,.theme-ash) .domain-snapshot-diff-section,
body.theme-blue .domain-snapshot-diff-section,
body.theme-terminal .domain-snapshot-diff-section,
body.theme-purple .domain-snapshot-diff-section,
body:is(.theme-dark,.theme-dimmed,.theme-ash) .domain-snapshot-diff-block,
body.theme-blue .domain-snapshot-diff-block,
body.theme-terminal .domain-snapshot-diff-block,
body.theme-purple .domain-snapshot-diff-block,
body:is(.theme-dark,.theme-dimmed,.theme-ash) .domain-snapshot-diff-empty,
body.theme-blue .domain-snapshot-diff-empty,
body.theme-terminal .domain-snapshot-diff-empty,
body.theme-purple .domain-snapshot-diff-empty,
body:is(.theme-dark,.theme-dimmed,.theme-ash) .domain-snapshot-diff-block .data-table,
body.theme-blue .domain-snapshot-diff-block .data-table,
body.theme-terminal .domain-snapshot-diff-block .data-table,
body.theme-purple .domain-snapshot-diff-block .data-table {
    background: var(--bg-primary);
    color: var(--text-primary);
    border-color: var(--border-color);
}
.tool-state-return-title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 6px;
}
.tool-state-return-message {
    color: var(--text-muted, #666);
    margin-bottom: 14px;
}
.tool-state-return-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.tool-state-return-remember {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    font-size: 0.95rem;
}
@media (max-width: 768px) {
    .tool-state-return-actions {
        flex-direction: column;
    }
    .tool-state-return-actions .btn {
        width: 100%;
    }
}


@media (max-width: 768px) {
    .domain-snapshot-compare-modal {
        width: min(100vw - 12px, 100%);
        max-height: calc(100vh - 12px);
    }

    .domain-snapshot-modal-card {
        padding: 14px;
    }

    .domain-snapshot-diff-grid {
        grid-template-columns: 1fr;
    }

    .domain-snapshot-compare-results {
        max-height: min(68vh, 640px);
    }
}

#global-upgrade-alert {
    position: sticky;
    top: 10px;
    z-index: 40;
    margin: 12px 0 0;
}

.admin-global-upgrade-alert {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-width: 2px;
    box-shadow: 0 10px 28px rgba(0,0,0,0.10);
}

.admin-global-upgrade-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .admin-global-upgrade-alert {
        flex-direction: column;
        align-items: stretch;
    }

    .admin-global-upgrade-actions {
        width: 100%;
    }

    .admin-global-upgrade-actions .btn {
        width: 100%;
    }
}


.domain-handoff-menu-wrap {
    position: relative;
}

.results-actions > .domain-handoff-menu-wrap {
    flex: 0 0 36px;
    min-width: 36px;
    width: 36px;
}

.domain-handoff-toggle {
    min-width: 36px;
    min-height: 36px;
    padding: 6px;
    gap: 0;
    justify-content: center;
}

.results-actions .domain-handoff-toggle {
    width: 36px;
    min-height: 36px;
    padding: 6px;
}

.domain-handoff-icon {
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
}

.domain-handoff-menu {
    min-width: 220px;
}

.domain-handoff-menu-title {
    padding: 6px 12px 4px;
    font-size: 12px;
    font-weight: 700;
    color: var(--text-secondary);
}

@media (max-width: 768px) {
    .results-header .results-actions:not(.results-actions-mobile-sticky) {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: flex-start;
    }

    .results-header .results-actions:not(.results-actions-mobile-sticky) > .btn,
    .results-header .results-actions:not(.results-actions-mobile-sticky) > .export-menu-wrap {
        flex: 1 1 calc(50% - 10px);
        min-width: min(180px, calc(50% - 10px));
        width: auto;
    }

    .results-header .results-actions:not(.results-actions-mobile-sticky) > .domain-handoff-menu-wrap {
        flex: 0 0 40px;
        min-width: 40px;
        width: 40px;
        margin-left: auto;
    }

    .results-header .results-actions:not(.results-actions-mobile-sticky) .domain-handoff-toggle {
        width: 40px;
        min-width: 40px;
        flex: 0 0 40px;
    }

    .tool-info-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .tool-info-summary-hint {
        max-width: none;
        font-size: 11px;
        text-align: left;
    }

    .tool-info-grid {
        grid-template-columns: 1fr;
    }

    .tool-info-block {
        padding: 11px 12px;
    }
}

.tool-progress-card {
  margin-bottom: 16px;
  background: var(--bg-primary, #ffffff);
  color: var(--text-primary, #212529);
  border: 1px solid var(--border-color, #dee2e6);
}
.tool-progress-bar {
  width: 100%;
  height: 12px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.10);
  overflow: hidden;
  margin: 10px 0 14px;
  border: 1px solid rgba(15, 23, 42, 0.08);
}
.tool-progress-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #0ea5e9 0%, var(--primary-color, #2563eb) 100%);
  transition: width .25s ease;
}
.tool-progress-steps {
  display: grid;
  gap: 8px;
}
.tool-progress-step {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--text-primary, #212529);
}
.tool-progress-step-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.20);
  flex: 0 0 10px;
}
.tool-progress-step.is-done .tool-progress-step-dot {
  background: #16a34a;
}
.tool-progress-step.is-active .tool-progress-step-dot {
  background: var(--primary-color, #2563eb);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.15);
}
.tool-progress-step.is-pending {
  color: var(--text-secondary, rgba(15,23,42,.62));
}
.tool-progress-percent {
  font-weight: 800;
  color: var(--primary-color, #2563eb);
}
.tool-progress-detail {
  margin-top: 12px;
}
body:is(.theme-dark,.theme-dimmed,.theme-ash) .tool-progress-card,
body.theme-blue .tool-progress-card,
body.theme-terminal .tool-progress-card,
body.theme-purple .tool-progress-card {
  box-shadow: 0 14px 32px rgba(0,0,0,.18);
}
body:is(.theme-dark,.theme-dimmed,.theme-ash) .tool-progress-bar,
body.theme-terminal .tool-progress-bar {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.14);
}
body.theme-blue .tool-progress-bar,
body.theme-purple .tool-progress-bar {
  background: rgba(255,255,255,.50);
  border-color: rgba(0,0,0,.08);
}
body:is(.theme-dark,.theme-dimmed,.theme-ash) .tool-progress-step-dot,
body.theme-terminal .tool-progress-step-dot {
  background: rgba(255,255,255,.24);
}
body.theme-terminal .tool-progress-bar-fill,
body.theme-terminal .tool-progress-step.is-active .tool-progress-step-dot {
  background: #00ff88;
}
body.theme-terminal .tool-progress-percent {
  color: #00ff88;
}
body.theme-terminal .tool-progress-step.is-active .tool-progress-step-dot {
  box-shadow: 0 0 0 4px rgba(0,255,136,.18);
}
.snapshot-picker-grid {
  display: grid;
  gap: 12px;
}
.snapshot-picker-grid label {
  display: grid;
  gap: 6px;
  font-weight: 600;
}
@media (min-width: 760px) {
  .snapshot-picker-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.dns-watch-preview-panel,
.dns-watch-results-panel {
    display: block;
    margin-top: 20px;
}

.dns-watch-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.dns-watch-summary-grid.compact {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.dns-watch-summary-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 14px;
}

.dns-watch-summary-kicker {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--text-secondary);
    margin-bottom: 6px;
}

.dns-watch-summary-value {
    font-size: 16px;
    font-weight: 600;
    word-break: break-word;
}

.dns-watch-preview-text {
    margin-bottom: 10px;
}

/* v1.56.89 watcher delivery troubleshooting */
.dns-watch-delivery-status {
    margin: 14px 0;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--card-bg);
    overflow: hidden;
}
.dns-watch-delivery-heading,
.dns-watch-delivery-row,
.dns-watch-delivery-history-item {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}
.dns-watch-delivery-heading {
    padding: 12px 14px;
    border-bottom: 1px solid var(--border-color);
    background: color-mix(in srgb, var(--card-bg) 88%, var(--primary-color));
}
.dns-watch-delivery-heading strong,
.dns-watch-delivery-row strong { display: block; }
.dns-watch-delivery-heading span,
.dns-watch-delivery-row span,
.dns-watch-delivery-row small,
.dns-watch-delivery-history-item small { color: var(--text-muted); font-size: 12px; }
.dns-watch-delivery-channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dns-watch-delivery-row { padding: 12px 14px; border-right: 1px solid var(--border-color); }
.dns-watch-delivery-row:last-child { border-right: 0; }
.dns-watch-delivery-row > div:last-child { text-align: right; }
.dns-watch-delivery-row small { display: block; margin-top: 4px; }
.dns-watch-delivery-history { border-top: 1px solid var(--border-color); }
.dns-watch-delivery-history > summary { cursor: pointer; padding: 10px 14px; font-weight: 700; }
.dns-watch-delivery-history-item { padding: 9px 14px; border-top: 1px solid var(--border-color); flex-wrap: wrap; }
.dns-watch-delivery-empty { padding: 12px 14px; color: var(--text-muted); border: 1px dashed var(--border-color); border-radius: 10px; margin: 14px 0; }

.dns-watch-list {
    display: grid;
    gap: 0;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    overflow: hidden;
    background: var(--bg-primary);
}

.dns-watch-row {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding: 16px 18px;
    background: var(--bg-primary);
    border-bottom: 1px solid var(--border-color);
}
.dns-watch-row:last-child {
    border-bottom: 0;
}
.dns-watch-row::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: rgba(108, 117, 125, .35);
}
.dns-watch-row-success::before { background: rgba(40, 167, 69, .7); }
.dns-watch-row-warning::before { background: rgba(255, 193, 7, .85); }
.dns-watch-row-danger::before { background: rgba(220, 53, 69, .75); }
.dns-watch-row-muted::before { background: rgba(100, 116, 139, .55); }
.dns-watch-row-main {
    min-width: 0;
}

.dns-watch-row-heading {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 10px;
}

.dns-watch-row-title-wrap {
    min-width: 0;
}

.dns-watch-title {
    font-size: 18px;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.dns-watch-record-chip {
    display: inline-block;
    font-size: 12px;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    vertical-align: middle;
    white-space: nowrap;
    max-width: none;
}

.dns-watch-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px 12px;
    font-size: 14px;
    margin-bottom: 12px;
}

.dns-watch-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-content: flex-start;
    justify-content: flex-start;
    width: 100%;
    max-width: none;
}

.dns-watch-detail-panel {
    background: var(--bg-secondary);
    border-radius: 10px;
    padding: 14px;
    margin-top: 8px;
}

.dns-watch-detail-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}

.dns-watch-detail-columns-events-first {
    grid-template-columns: minmax(360px, 1.35fr) minmax(280px, .9fr);
}

.dns-watch-run-list,
.dns-watch-event-list {
    display: grid;
    gap: 10px;
}

.dns-watch-run-item,
.dns-watch-attempt-card {
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 10px;
}

.dns-watch-attempt-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    margin-top: 10px;
}

.dns-watch-attempt-card.ok {
    border-color: rgba(40,167,69,.45);
}

.dns-watch-attempt-card.warn {
    border-color: rgba(255,193,7,.55);
}

.dns-watch-shortcut-btn {
    white-space: nowrap;
}

.btn-danger {
    background: var(--danger-color);
    color: #fff;
}

.launch-session-card .dns-watch-summary-value {
    min-height: 22px;
}

.launch-session-schedule-row .form-group {
    min-width: 180px;
}


.dns-watch-group-builder {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 16px;
    background: rgba(15, 23, 42, 0.03);
}

.dns-watch-group-condition-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.dns-watch-group-condition {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 14px;
    background: #fff;
}
.dns-watch-group-condition-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    list-style-position: outside;
}
.dns-watch-group-condition-head .muted {
    min-width: 0;
    text-align: right;
    overflow-wrap: anywhere;
}
.dns-watch-group-condition-body {
    padding-top: 14px;
}

/* v1.56.42 DNS Watcher record-group and all-active workflow */
.dns-watch-create-mode {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 18px;
}
.dns-watch-create-mode-button {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 10px;
    text-align: left;
    padding: 13px 15px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    cursor: pointer;
}
.dns-watch-create-mode-button > span {
    grid-row: 1 / 3;
    color: var(--text-secondary);
    padding-top: 2px;
}
.dns-watch-create-mode-button strong { font-size: 14px; }
.dns-watch-create-mode-button small { color: var(--text-secondary); margin-top: 2px; }
.dns-watch-create-mode-button.is-active {
    border-color: rgba(37, 99, 235, .55);
    background: linear-gradient(135deg, rgba(37, 99, 235, .10), rgba(14, 165, 233, .05));
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .08);
}
.dns-watch-create-mode-button.is-active > span { color: var(--primary-color); }
.dns-watch-group-workflow {
    display: grid;
    gap: 14px;
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid rgba(37, 99, 235, .25);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(37, 99, 235, .055), rgba(16, 185, 129, .035));
}
.dns-watch-group-workflow[hidden],
#dnsWatcherSingleRecordPanel[hidden],
.dns-watch-single-action[hidden],
.dns-watch-bulk-progress[hidden],
#dnsWatcherCancelEditButton[hidden],
#dnsWatcherEditSaveButton[hidden],
#dnsWatcherGroupSaveButton[hidden],
#dnsWatcherAdvancedDetails .form-row[hidden],
#dnsWatcherAdvancedDetails .form-group[hidden],
#dnsWatcherStructuredFields[hidden] { display: none !important; }
.dns-watch-edit-save-button {
    min-width: 160px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(22, 163, 74, .2);
}

.dns-watch-incident-controls {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, .7fr)) minmax(220px, 1fr) auto;
    gap: 10px;
    align-items: end;
    margin: 12px 0;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-secondary);
}
.dns-watch-incident-controls label {
    display: grid;
    gap: 5px;
    min-width: 0;
    font-size: 12px;
    font-weight: 750;
    color: var(--text-secondary);
}
.dns-watch-incident-filter-actions,
.dns-watch-incident-table .admin-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.dns-watch-incident-filter-count {
    grid-column: 1 / -1;
    color: var(--text-secondary);
    font-size: 12px;
}
.dns-watch-incident-table {
    width: 100%;
    table-layout: auto;
}
.dns-watch-incident-table th,
.dns-watch-incident-table td {
    white-space: normal;
    overflow-wrap: anywhere;
    vertical-align: top;
}
.dns-watch-incident-row.is-acknowledged { opacity: .74; }
.dns-watch-incident-row.is-recovered { opacity: .7; }
.dns-watch-incident-row.is-stale { background: color-mix(in srgb, var(--danger-color, #dc2626) 6%, transparent); }
.dns-watch-incident-proof {
    margin-top: 5px;
    color: var(--success-color, #15803d);
    font-size: 12px;
    font-weight: 800;
}
.dns-watch-incident-guidance { min-width: 210px; }
.dns-watch-incident-guidance > summary { cursor: pointer; font-weight: 750; }
.dns-watch-incident-guidance ol { margin: 8px 0 0; padding-left: 20px; }
.dns-watch-incident-guidance li + li { margin-top: 6px; }
@media (max-width: 980px) {
    .dns-watch-incident-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .dns-watch-incident-controls { grid-template-columns: 1fr; }
    .dns-watch-incident-filter-actions .btn { flex: 1 1 auto; }
}
.dns-watch-group-heading,
.dns-watch-bulk-progress-head,
.dns-watch-bulk-progress-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.dns-watch-group-heading h4 { margin: 0 0 3px; }
.dns-watch-condition-count {
    flex: 0 0 auto;
    padding: 6px 9px;
    border-radius: 999px;
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    font-size: 12px;
    font-weight: 700;
}
.dns-watch-bulk-builder {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-primary);
}
.dns-watch-bulk-builder > summary {
    padding: 12px 14px;
    cursor: pointer;
    font-weight: 700;
}
.dns-watch-bulk-builder-body { padding: 0 14px 14px; }
.dns-watch-bulk-actions,
.dns-watch-group-actions { margin-top: 12px; }
.dns-watch-bulk-status:empty { display: none; }
.dns-watch-bulk-status { margin-top: 10px; }
.dns-watch-bulk-status .alert { margin: 0; }
.dns-watch-bulk-progress {
    margin: 0 16px 12px;
    padding: 12px 14px;
    border: 1px solid rgba(37, 99, 235, .25);
    border-radius: 12px;
    background: rgba(37, 99, 235, .055);
}
.dns-watch-bulk-progress-track {
    height: 8px;
    margin: 9px 0;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(148, 163, 184, .28);
}
.dns-watch-bulk-progress-track span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--primary-color), var(--success-color));
    transition: width .2s ease;
}
.dns-watch-row-details {
    margin: 10px 0;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-secondary);
}
.dns-watch-row-details > summary {
    padding: 9px 11px;
    cursor: pointer;
    font-weight: 700;
}
.dns-watch-record-table-wrap {
    overflow-x: auto;
    padding: 0 11px 11px;
}
.dns-watch-record-table {
    width: 100%;
    min-width: 860px;
    border-collapse: collapse;
    font-size: 13px;
    table-layout: auto;
}
.dns-watch-record-table th,
.dns-watch-record-table td {
    padding: 8px 9px;
    text-align: left;
    border-top: 1px solid var(--border-color);
    vertical-align: top;
    overflow-wrap: anywhere;
}
.dns-watch-record-table th {
    color: var(--text-secondary);
    font-size: 11px;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.dns-watch-record-table th:first-child,
.dns-watch-record-table td:first-child {
    width: 150px;
}
.dns-watch-record-table th:nth-child(2),
.dns-watch-record-table td:nth-child(2) {
    width: 88px;
    min-width: 88px;
    white-space: nowrap;
}
.dns-watch-record-table th:nth-child(3),
.dns-watch-record-table td:nth-child(3) {
    min-width: 210px;
}
.dns-watch-record-table th:nth-child(4),
.dns-watch-record-table td:nth-child(4),
.dns-watch-record-table th:nth-child(5),
.dns-watch-record-table td:nth-child(5) {
    min-width: 220px;
}
.dns-watch-record-table code,
.dns-watch-current-values code {
    display: block;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.dns-watch-record-table tr.dns-watch-condition-success td:first-child { border-left: 3px solid rgba(22, 163, 74, .7); }
.dns-watch-record-table tr.dns-watch-condition-warning td:first-child { border-left: 3px solid rgba(217, 119, 6, .75); }
.dns-watch-record-table tr.dns-watch-condition-danger td:first-child { border-left: 3px solid rgba(220, 38, 38, .75); }
.dns-watch-condition-label {
    display: block;
    margin-top: 3px;
    color: var(--text-secondary);
    font-size: 12px;
}
.dns-watch-row-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.dns-watch-record-summary {
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 600;
    text-align: right;
}
.dns-watch-result-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    padding: 5px 9px;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap;
}
.dns-watch-result-badge.success { color: #166534; border-color: rgba(22, 163, 74, .35); background: rgba(22, 163, 74, .10); }
.dns-watch-result-badge.warning { color: #92400e; border-color: rgba(217, 119, 6, .38); background: rgba(245, 158, 11, .12); }
.dns-watch-result-badge.danger { color: #991b1b; border-color: rgba(220, 38, 38, .38); background: rgba(220, 38, 38, .10); }
.dns-watch-result-badge.muted { color: var(--text-secondary); }
body:is(.theme-dark,.theme-dimmed,.theme-ash) .dns-watch-result-badge.success { color: #86efac; }
body:is(.theme-dark,.theme-dimmed,.theme-ash) .dns-watch-result-badge.warning { color: #fcd34d; }
body:is(.theme-dark,.theme-dimmed,.theme-ash) .dns-watch-result-badge.danger { color: #fca5a5; }
.dns-watch-result-icon {
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 12px;
    line-height: 1;
}
.dns-watch-current-state {
    display: grid;
    gap: 10px;
    margin: 0 0 12px;
    padding: 12px 14px;
    border: 1px solid var(--border-color);
    border-radius: 11px;
    background: var(--bg-secondary);
}
.dns-watch-current-state.success { border-color: rgba(22, 163, 74, .30); background: rgba(22, 163, 74, .055); }
.dns-watch-current-state.warning { border-color: rgba(217, 119, 6, .34); background: rgba(245, 158, 11, .065); }
.dns-watch-current-state.danger { border-color: rgba(220, 38, 38, .34); background: rgba(220, 38, 38, .055); }
.dns-watch-current-state-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.dns-watch-current-state-heading > span:last-child {
    min-width: 0;
    color: var(--text-secondary);
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.dns-watch-current-values {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 14px;
}
.dns-watch-current-values > div {
    min-width: 0;
    padding-top: 8px;
    border-top: 1px solid var(--border-color);
}
.dns-watch-current-values span {
    display: block;
    margin-bottom: 4px;
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.dns-watch-next-action {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 9px 12px;
    align-items: start;
    margin: -2px 0 12px;
    padding: 10px 12px;
    border: 1px solid rgba(37, 99, 235, .20);
    border-radius: 10px;
    background: color-mix(in srgb, var(--bg-secondary) 88%, #2563eb 12%);
}
.dns-watch-next-action.success { border-color: rgba(22, 163, 74, .28); background: rgba(22, 163, 74, .055); }
.dns-watch-next-action.warning { border-color: rgba(217, 119, 6, .34); background: rgba(245, 158, 11, .075); }
.dns-watch-next-action.danger { border-color: rgba(220, 38, 38, .34); background: rgba(220, 38, 38, .065); }
.dns-watch-next-action.muted { border-color: var(--border-color); background: var(--bg-secondary); }
.dns-watch-next-action-label {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}
.dns-watch-next-action > div { min-width: 0; }
.dns-watch-next-action strong,
.dns-watch-next-action span:last-child { display: block; overflow-wrap: anywhere; }
.dns-watch-next-action span:last-child { margin-top: 2px; color: var(--text-secondary); font-size: 13px; line-height: 1.35; }
.dns-watch-lifecycle-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--text-secondary);
    font-size: 11px;
}

@media (max-width: 760px) {
    .dns-watch-create-mode { grid-template-columns: 1fr; }
    .dns-watch-group-workflow { padding: 12px; }
    .dns-watch-group-heading,
    .dns-watch-bulk-progress-foot { align-items: stretch; flex-direction: column; }
    .dns-watch-condition-count { align-self: flex-start; }
    .dns-watch-bulk-actions .btn,
    .dns-watch-group-actions .btn,
    .dns-watch-bulk-progress-foot .btn { width: 100%; justify-content: center; }
    .dns-watch-bulk-progress { margin-left: 12px; margin-right: 12px; }
    .dns-watch-record-table { min-width: 860px; }
    .dns-watch-current-state-heading,
    .dns-watch-row-details > summary {
        align-items: flex-start;
        flex-direction: column;
    }
    .dns-watch-record-summary { text-align: left; }
}

@media (max-width: 560px) {
    .dns-watch-current-values { grid-template-columns: 1fr; }
    .dns-watch-next-action { grid-template-columns: 1fr; gap: 7px; }
    .dns-watch-next-action-label { justify-self: start; }
}


/* Port Scanner */
#port-scanner code {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.port-scan-action-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: flex-start;
}

.port-scan-action-wrap .btn {
    white-space: nowrap;
}

.port-scan-banner {
    width: 100%;
    margin-top: 6px;
    overflow-wrap: anywhere;
}

@media (max-width: 768px) {
    .port-scan-action-wrap .btn {
        white-space: normal;
    }
}

/* v1.39.0 Reports */
.report-builder-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
}

.report-builder-card {
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.report-builder-kicker,
.dns-tools-report-kicker,
.report-mini-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-secondary);
}

.report-builder-title,
.dns-tools-report-title {
    margin: 8px 0 10px;
    font-size: 1.35rem;
    line-height: 1.25;
}

.report-builder-copy,
.dns-tools-report-subtitle,
.report-section-lead {
    color: var(--text-secondary);
    line-height: 1.6;
}

.report-copy-block,
.report-table-cell {
    display: block;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.report-builder-success {
    display: grid;
    gap: 16px;
}

.report-builder-success-shell {
    padding: 20px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.98));
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.07);
}

.report-builder-success-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.report-builder-success-copy {
    flex: 1 1 320px;
    min-width: 0;
}

.report-builder-status-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.report-builder-status-pill,
.dns-tools-report-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    background: rgba(239, 246, 255, 0.95);
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.report-builder-actions,
.report-builder-export-actions,
.report-shared-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.report-builder-actions,
.report-shared-actions {
    justify-content: flex-end;
}

.report-builder-export-strip {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 16px;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.report-builder-export-label {
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 600;
}

.report-builder-note {
    margin: 0;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.04);
    color: var(--text-secondary);
}

.report-builder-placeholder {
    display: grid;
    gap: 10px;
    padding: 24px;
    border: 1px dashed rgba(148, 163, 184, 0.45);
    border-radius: 16px;
    background:
        radial-gradient(circle at top left, rgba(14, 165, 233, 0.1), transparent 32%),
        linear-gradient(180deg, rgba(248,250,252,0.96), rgba(255,255,255,0.98));
}

.report-builder-placeholder-title {
    margin: 0;
    font-size: 1.05rem;
}

.report-mini-card-grid,
.report-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
}

.report-mini-card,
.report-summary-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    padding: 14px 16px;
    min-width: 0;
}

.report-summary-card[data-accent="success"] {
    border-color: rgba(34, 197, 94, 0.35);
}

.report-summary-card[data-accent="warning"] {
    border-color: rgba(245, 158, 11, 0.45);
}

.report-summary-card[data-accent="danger"] {
    border-color: rgba(239, 68, 68, 0.45);
}

.report-mini-value,
.report-summary-value {
    margin-top: 8px;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-primary);
    overflow-wrap: anywhere;
    word-break: break-word;
}

.dns-tools-report-shell {
    display: grid;
    gap: 18px;
}

.dns-tools-report-head {
    display: grid;
    gap: 18px;
}

.dns-tools-report-headcard {
    padding: 20px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.1), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.98));
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.dns-tools-report-headtop {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.dns-tools-report-meta-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.dns-tools-report-meta-item {
    display: grid;
    gap: 4px;
    min-width: 160px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255,255,255,0.88);
    border: 1px solid rgba(148, 163, 184, 0.2);
}

.dns-tools-report-meta-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-secondary);
}

.dns-tools-report-meta-value {
    color: var(--text-primary);
    font-size: 0.95rem;
}

.dns-tools-report-sections {
    display: grid;
    gap: 18px;
}

.report-section {
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 20px;
    min-width: 0;
}

.report-section-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 4px;
}

.report-section-title {
    margin: 0;
    font-size: 1.08rem;
}

.report-kv-list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.report-kv-item {
    display: grid;
    grid-template-columns: minmax(160px, 220px) 1fr;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid var(--border-color);
}

.report-kv-item:first-child {
    border-top: 0;
    padding-top: 0;
}

.report-kv-label {
    font-weight: 700;
    color: var(--text-primary);
}

.report-kv-value {
    color: var(--text-primary);
    overflow-wrap: anywhere;
    word-break: break-word;
}

.report-bullet-list {
    display: grid;
    gap: 10px;
    margin: 14px 0 0;
    padding-left: 20px;
}

.report-table-wrap {
    overflow: auto;
    margin-top: 14px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.9);
}

.report-data-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: collapse;
}

.report-data-table th,
.report-data-table td {
    overflow-wrap: anywhere;
    word-break: break-word;
    vertical-align: top;
}

.report-shared-banner {
    display: grid;
    gap: 12px;
}

.report-shared-panel {
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.report-shared-shell-head {
    align-items: flex-start;
    gap: 16px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,250,252,0.98)),
        radial-gradient(circle at top right, rgba(14, 165, 233, 0.12), transparent 34%);
}

.report-shared-shell-copy {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.report-shared-panel .results-content {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.03), transparent 40%),
        linear-gradient(180deg, rgba(248,250,252,0.92), rgba(255,255,255,0.98));
}

.report-empty-state {
    color: var(--text-secondary);
    margin-top: 12px;
}

.report-menu-wrap .export-toggle {
    min-width: 92px;
}

@media (max-width: 768px) {
    .report-builder-success-head,
    .report-section-header {
        flex-direction: column;
        align-items: stretch;
    }

    .report-builder-actions,
    .report-shared-actions {
        justify-content: flex-start;
    }

    .report-builder-export-strip,
    .dns-tools-report-headtop {
        flex-direction: column;
        align-items: stretch;
    }

    .report-kv-item {
        grid-template-columns: 1fr;
    }
}

@media print {
    .report-shared-panel {
        box-shadow: none;
        border-color: rgba(148, 163, 184, 0.28);
    }

    .report-shared-shell-head,
    .report-shared-panel .results-content {
        background: #fff;
    }

    .report-builder-success-shell {
        box-shadow: none;
        background: #fff;
    }
}

/* v1.41.0 Deep HTTP Diagnostics */
#headerResult table td,
#statusResult table td {
    overflow-wrap: anywhere;
    word-break: break-word;
    vertical-align: top;
}
#headerResult .phase-section-card,
#statusResult .phase-section-card {
    max-width: 100%;
}
#headerResult code,
#statusResult code {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.advanced-settings-block .field-help-text,
.advanced-settings-block .muted {
    line-height: 1.4;
}

/* v1.41.1 Deep HTTP Diagnostics hardening */
#headerResult .results-table,
#statusResult .results-table,
#headerResult table,
#statusResult table {
    table-layout: fixed;
    width: 100%;
}
#headerResult th,
#headerResult td,
#statusResult th,
#statusResult td {
    max-width: 420px;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
}
#headerResult .phase-inline-note,
#statusResult .phase-inline-note,
.http-baseline-comparison-card {
    overflow-wrap: anywhere;
}
#statusFailedRouteSetTable td,
#statusRouteSetTable td,
#headerRawTable td,
#headerCorsTable td,
#headerCacheTable td,
#headerRiskTable td {
    line-height: 1.35;
}
.http-baseline-comparison-card .metric-card-grid {
    margin: 10px 0 12px;
}

.http-baseline-capture {
    margin: 12px 0 4px;
    padding: 16px;
    border: 1px solid var(--border-color, #d8e0ea);
    border-left: 4px solid var(--primary-color, #1677ff);
    border-radius: 12px;
    background: var(--card-bg, #fff);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.http-baseline-capture[hidden] {
    display: none !important;
}

.http-baseline-capture-heading,
.http-baseline-capture-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.http-baseline-capture-heading {
    justify-content: space-between;
    margin-bottom: 14px;
}

.http-baseline-capture-heading strong,
.http-baseline-capture-heading span {
    display: block;
}

.http-baseline-capture-heading span {
    margin-top: 3px;
    color: var(--text-muted, #64748b);
    font-size: 0.9rem;
}

.http-baseline-capture-close {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border: 1px solid var(--border-color, #d8e0ea);
    border-radius: 9px;
    background: transparent;
    color: inherit;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
}

.http-baseline-capture-close:hover,
.http-baseline-capture-close:focus-visible {
    border-color: var(--primary-color, #1677ff);
    background: rgba(22, 119, 255, 0.08);
    outline: none;
}

.http-baseline-capture-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 0.32fr);
    gap: 12px;
}

.http-baseline-capture-fields .form-group {
    margin-bottom: 0;
}

.http-baseline-capture-actions {
    justify-content: flex-end;
    margin-top: 14px;
}

.http-baseline-capture-status {
    flex: 1 1 auto;
    color: var(--text-muted, #64748b);
    font-size: 0.9rem;
}

.http-baseline-capture-status.is-success {
    color: var(--success-color, #15803d);
    font-weight: 600;
}

.http-baseline-capture-status.is-error {
    color: var(--danger-color, #b91c1c);
    font-weight: 600;
}

@media (max-width: 640px) {
    .http-baseline-capture {
        padding: 14px;
    }

    .http-baseline-capture-fields {
        grid-template-columns: 1fr;
    }

    .http-baseline-capture-actions {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .http-baseline-capture-status {
        flex-basis: 100%;
    }

    .http-baseline-capture-actions .btn {
        flex: 1 1 130px;
    }
}
@media (max-width: 900px) {
    #headerResult th,
    #headerResult td,
    #statusResult th,
    #statusResult td {
        max-width: 260px;
    }
}

/* v1.42.3 member preference tabs and maintenance mode */
.member-account-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}
.member-account-tab {
    border: 1px solid var(--border-color);
    background: var(--card-bg);
    color: var(--text-primary);
    border-radius: 999px;
    padding: 8px 14px;
    cursor: pointer;
    font-weight: 700;
}
.member-account-tab.is-active {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
}
.member-account-tab-panel {
    display: none;
}
.member-account-tab-panel.is-active {
    display: block;
}
.maintenance-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 32px 18px;
    background: radial-gradient(circle at top, rgba(59, 130, 246, 0.12), transparent 42%), var(--bg-color);
}
.maintenance-card {
    width: min(680px, 100%);
    text-align: center;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 24px;
    box-shadow: var(--shadow-lg);
    padding: 42px 32px;
}
.maintenance-icon {
    font-size: clamp(4rem, 12vw, 8rem);
    line-height: 1;
    margin-bottom: 18px;
}
.maintenance-title {
    font-size: clamp(1.8rem, 4vw, 3rem);
    margin: 0 0 12px;
}
.maintenance-message {
    font-size: 1.08rem;
    color: var(--text-secondary);
    line-height: 1.7;
    margin: 0 auto;
    max-width: 48rem;
}

/* v1.44.4 member preference bridge: compact result density */
.member-pref-compact-results .results-content,
.member-pref-compact-results .results-panel,
.member-pref-compact-results .enhanced-results-table th,
.member-pref-compact-results .enhanced-results-table td,
.member-pref-compact-results .phase-table th,
.member-pref-compact-results .phase-table td {
    font-size: 0.92rem;
}
.member-pref-compact-results .result-card,
.member-pref-compact-results .summary-card,
.member-pref-compact-results .metric-card,
.member-pref-compact-results .results-panel {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

/* v1.45.1 maintenance editor and rendered message polish */
.maintenance-editor-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}
.maintenance-rich-editor {
    min-height: 170px;
    padding: 14px 16px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--input-bg, var(--card-bg));
    color: var(--text-primary);
    line-height: 1.6;
    outline: none;
}
.maintenance-rich-editor:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
}
.maintenance-preview-panel .maintenance-message,
.maintenance-card .maintenance-message {
    text-align: left;
}
.maintenance-message h1,
.maintenance-message h2,
.maintenance-message h3,
.maintenance-message h4,
.maintenance-rich-editor h1,
.maintenance-rich-editor h2,
.maintenance-rich-editor h3,
.maintenance-rich-editor h4 {
    color: var(--text-primary);
    line-height: 1.2;
    margin: 0.25em 0 0.45em;
}
.maintenance-message p,
.maintenance-rich-editor p {
    margin: 0 0 0.8em;
}
.maintenance-message ul,
.maintenance-message ol,
.maintenance-rich-editor ul,
.maintenance-rich-editor ol {
    margin: 0.4em 0 0.9em;
    padding-left: 1.4em;
}
.maintenance-message a,
.maintenance-rich-editor a {
    color: var(--primary-color);
    font-weight: 700;
}

/* v1.45.2 PWA polish and maintenance editor hardening */
.pwa-update-banner {
    position: fixed;
    left: 50%;
    bottom: 22px;
    transform: translate(-50%, 24px);
    opacity: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: min(720px, calc(100vw - 28px));
    padding: 14px 16px;
    border: 1px solid var(--border-color, rgba(148, 163, 184, .4));
    border-radius: 18px;
    background: var(--bg-primary, #fff);
    color: var(--text-primary, #1f2937);
    box-shadow: 0 18px 48px rgba(15, 23, 42, .24);
    transition: transform .2s ease, opacity .2s ease;
}
.pwa-update-banner.show { opacity: 1; transform: translate(-50%, 0); }
.pwa-update-copy { display: grid; gap: 2px; min-width: 0; }
.pwa-update-copy span { color: var(--text-secondary, #64748b); font-size: .9rem; }
.pwa-update-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pwa-standalone body,
body.pwa-standalone { min-height: 100dvh; }
body.pwa-standalone .top-bar { padding-top: max(12px, env(safe-area-inset-top)); }
.maintenance-icon-choice-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.maintenance-icon-choice {
    width: 44px;
    height: 44px;
    display: inline-grid;
    place-items: center;
    border-radius: 14px;
    border: 1px solid var(--border-color, #d1d5db);
    background: var(--bg-primary, #fff);
    color: var(--text-primary, #111827);
    font-size: 1.35rem;
    cursor: pointer;
}
.maintenance-icon-choice:hover,
.maintenance-icon-choice:focus { border-color: var(--primary-color, #2563eb); outline: none; box-shadow: 0 0 0 3px rgba(37, 99, 235, .16); }
.maintenance-icon-choice.is-active { background: var(--primary-color, #2563eb); color: #fff; border-color: var(--primary-color, #2563eb); }
.pwa-offline-page .maintenance-card { max-width: 720px; }
@media (max-width: 640px) {
    .pwa-update-banner { align-items: stretch; flex-direction: column; }
    .pwa-update-actions .btn { flex: 1 1 auto; }
}

/* v1.45.3 PWA preset theme picker and maintenance editor hardening */
.pwa-settings-hero {
    margin: 16px;
    padding: 20px;
    border: 1px solid color-mix(in srgb, var(--pwa-hero-theme, #2563eb) 36%, var(--border-color, #dbe4f0));
    border-radius: 22px;
    background:
        radial-gradient(circle at 18% 15%, color-mix(in srgb, var(--pwa-hero-accent, #60a5fa) 28%, transparent), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--pwa-hero-bg, #fff) 88%, #fff), color-mix(in srgb, var(--pwa-hero-theme, #2563eb) 16%, var(--bg-primary, #fff)));
    color: color-mix(in srgb, var(--pwa-hero-text, #0f172a) 88%, var(--text-primary, #0f172a));
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
    gap: 20px;
    align-items: center;
    overflow: hidden;
}
.pwa-settings-hero h3 { margin: 4px 0 8px; font-size: 1.35rem; color: inherit; }
.pwa-settings-hero p { margin: 0; max-width: 760px; color: color-mix(in srgb, currentColor 72%, transparent); line-height: 1.55; }
.pwa-kicker { display: inline-flex; align-items: center; gap: 6px; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; color: var(--pwa-hero-theme, #2563eb); }
.pwa-device-preview {
    min-height: 168px;
    border-radius: 26px;
    padding: 10px;
    background: color-mix(in srgb, var(--pwa-hero-theme, #2563eb) 20%, rgba(255,255,255,.72));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.42), 0 24px 60px rgba(15, 23, 42, .18);
}
.pwa-device-bar { height: 34px; border-radius: 18px 18px 8px 8px; background: var(--pwa-hero-theme, #2563eb); position: relative; }
.pwa-device-bar::after { content: ''; position: absolute; left: 14px; top: 11px; width: 44px; height: 8px; border-radius: 99px; background: color-mix(in srgb, var(--pwa-hero-accent, #60a5fa) 60%, white); opacity: .86; }
.pwa-device-body { min-height: 110px; border-radius: 10px 10px 20px 20px; padding: 18px; background: var(--pwa-hero-bg, #fff); color: var(--pwa-hero-text, #0f172a); display: grid; align-content: center; gap: 8px; }
.pwa-device-body strong { font-size: 1.18rem; }
.pwa-device-body span { color: color-mix(in srgb, var(--pwa-hero-text, #0f172a) 62%, transparent); font-size: .9rem; }
.pwa-preset-section { margin: 0 16px 16px; }
.pwa-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.pwa-section-heading h4 { margin: 0 0 4px; }
.pwa-section-heading p { margin: 0; color: var(--text-secondary, #64748b); }
.pwa-preset-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.pwa-preset-card {
    appearance: none;
    border: 1px solid color-mix(in srgb, var(--pwa-preset-theme, #2563eb) 28%, var(--border-color, #dbe4f0));
    border-radius: 18px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--pwa-preset-bg, #fff) 88%, #fff), color-mix(in srgb, var(--pwa-preset-theme, #2563eb) 14%, var(--bg-primary, #fff)));
    color: var(--pwa-preset-text, var(--text-primary, #0f172a));
    padding: 14px;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 12px;
    text-align: left;
    cursor: pointer;
    position: relative;
    min-height: 122px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .08);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.pwa-preset-card:hover, .pwa-preset-card:focus { transform: translateY(-2px); border-color: var(--pwa-preset-theme, #2563eb); box-shadow: 0 18px 42px rgba(15, 23, 42, .14); outline: none; }
.pwa-preset-card.is-active { border-width: 2px; box-shadow: 0 0 0 3px color-mix(in srgb, var(--pwa-preset-accent, #60a5fa) 24%, transparent), 0 18px 42px rgba(15, 23, 42, .16); }
.pwa-preset-swatch { width: 54px; height: 54px; border-radius: 16px; background: var(--pwa-preset-theme, #2563eb); display: grid; place-items: center; box-shadow: inset 0 1px 0 rgba(255,255,255,.35); }
.pwa-preset-swatch span { width: 26px; height: 26px; border-radius: 9px; background: var(--pwa-preset-accent, #60a5fa); box-shadow: 12px 10px 0 -4px var(--pwa-preset-bg, #fff); }
.pwa-preset-copy { display: grid; gap: 5px; padding-right: 62px; }
.pwa-preset-copy strong { color: inherit; }
.pwa-preset-copy small { color: color-mix(in srgb, var(--pwa-preset-text, #0f172a) 66%, transparent); line-height: 1.38; }
.pwa-preset-chip { position: absolute; top: 12px; right: 12px; font-size: .72rem; font-weight: 800; border-radius: 999px; padding: 4px 8px; background: color-mix(in srgb, var(--pwa-preset-theme, #2563eb) 16%, var(--bg-primary, #fff)); color: var(--pwa-preset-theme, #2563eb); }
.pwa-preset-card.is-active .pwa-preset-chip { background: var(--pwa-preset-theme, #2563eb); color: #fff; }
.pwa-custom-colors { border-top: 1px solid var(--border-color, #dbe4f0); }
.maintenance-editor-heading-row { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 12px; }
.maintenance-template-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.maintenance-source-editor { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; line-height: 1.5; }
.maintenance-editor-toolbar .btn.active,
#maintenanceSourceToggle.active { background: var(--primary-color, #2563eb); color: #fff; border-color: var(--primary-color, #2563eb); }
.maintenance-icon-choice { min-width: 70px; width: auto; height: 58px; padding: 6px 8px; gap: 2px; grid-auto-flow: row; }
.maintenance-icon-choice small { display: block; font-size: .68rem; line-height: 1; opacity: .78; }
.maintenance-rich-editor:empty::before { content: 'Type the maintenance message shown to visitors...'; color: var(--text-muted, #94a3b8); }
@media (max-width: 760px) {
    .pwa-settings-hero { grid-template-columns: 1fr; }
    .pwa-device-preview { max-width: 360px; width: 100%; }
    .maintenance-editor-heading-row { flex-direction: column; }
    .maintenance-template-actions { justify-content: flex-start; }
}

/* v1.45.3 Cron Health dashboard polish */
.cron-health-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px;
    border: 1px solid var(--border-color, #dbe4f0);
    border-radius: 18px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent-primary, #2563eb) 12%, var(--bg-primary, #fff)), var(--bg-secondary, #f8fafc));
    box-shadow: 0 14px 36px rgba(15, 23, 42, .08);
}
.cron-health-hero p { margin: 0; color: var(--text-secondary, #475569); max-width: 820px; }
.cron-health-meter {
    min-width: 118px;
    min-height: 88px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
    border: 1px solid currentColor;
    background: color-mix(in srgb, currentColor 11%, transparent);
}
.cron-script-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 14px; margin-top: 16px; }
.cron-script-card {
    border: 1px solid var(--border-color, #dbe4f0);
    border-radius: 18px;
    padding: 16px;
    background: var(--bg-primary, #fff);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}
.cron-script-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.cron-script-heading h4 { margin: 0 0 6px; }
.cron-script-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.cron-command-details { margin-top: 12px; border-top: 1px solid var(--border-color, #dbe4f0); padding-top: 12px; }
.cron-command-details summary { cursor: pointer; font-weight: 800; color: var(--accent-primary, #2563eb); }
.status-badge { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 4px 9px; font-size: .72rem; font-weight: 800; border: 1px solid var(--border-color, #dbe4f0); background: var(--bg-secondary, #f8fafc); color: var(--text-secondary, #475569); }
.status-badge.status-ok { border-color: color-mix(in srgb, #16a34a 38%, var(--border-color, #dbe4f0)); color: #15803d; background: color-mix(in srgb, #22c55e 12%, var(--bg-primary, #fff)); }
.status-badge.status-danger { border-color: color-mix(in srgb, #dc2626 40%, var(--border-color, #dbe4f0)); color: #b91c1c; background: color-mix(in srgb, #ef4444 12%, var(--bg-primary, #fff)); }
.status-badge.status-badge-warning { border-color: color-mix(in srgb, #f59e0b 44%, var(--border-color, #dbe4f0)); color: #92400e; background: color-mix(in srgb, #f59e0b 14%, var(--bg-primary, #fff)); }
:is(.theme-dark,.theme-dimmed,.theme-ash) .cron-script-card,
.theme-blue .cron-script-card,
.theme-terminal .cron-script-card,
.theme-purple .cron-script-card { background: color-mix(in srgb, var(--bg-primary, #0f172a) 88%, #fff 4%); }
:is(.theme-dark,.theme-dimmed,.theme-ash) .status-badge.status-ok,
.theme-blue .status-badge.status-ok,
.theme-terminal .status-badge.status-ok,
.theme-purple .status-badge.status-ok { color: #86efac; }
:is(.theme-dark,.theme-dimmed,.theme-ash) .status-badge.status-danger,
.theme-blue .status-badge.status-danger,
.theme-terminal .status-badge.status-danger,
.theme-purple .status-badge.status-danger { color: #fecaca; }
:is(.theme-dark,.theme-dimmed,.theme-ash) .status-badge.status-badge-warning,
.theme-blue .status-badge.status-badge-warning,
.theme-terminal .status-badge.status-badge-warning,
.theme-purple .status-badge.status-badge-warning { color: #fde68a; }
@media (max-width: 760px) {
    .cron-health-hero { align-items: stretch; flex-direction: column; }
    .cron-health-meter { min-height: 64px; width: 100%; }
}

/* v1.45.6 Cron setup assistant and database backup/restore hardening */
.cron-setup-assistant {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    gap: 16px;
    margin: 16px 0;
    padding: 16px;
    border: 1px solid var(--border-color, #dbe4f0);
    border-radius: 18px;
    background: color-mix(in srgb, var(--accent-primary, #2563eb) 7%, var(--bg-primary, #fff));
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}
.cron-command-primary {
    border-left: 4px solid var(--accent-primary, #2563eb);
    font-weight: 700;
}
.cron-setup-steps {
    margin: 8px 0 0;
    padding-left: 22px;
    color: var(--text-primary, #0f172a);
}
.cron-setup-steps li { margin: 6px 0; }
.database-danger-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 16px;
}
.database-action-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--border-color, #dbe4f0);
    border-radius: 18px;
    background: var(--bg-primary, #fff);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}
.database-action-card h4 { margin: 0 0 6px; }
.database-action-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: color-mix(in srgb, var(--accent-primary, #2563eb) 14%, var(--bg-secondary, #f8fafc));
    font-size: 1.35rem;
}
.database-action-card--restore {
    border-color: color-mix(in srgb, #dc2626 32%, var(--border-color, #dbe4f0));
}
.database-action-card--restore .database-action-icon {
    background: color-mix(in srgb, #dc2626 14%, var(--bg-secondary, #f8fafc));
}
.admin-inline-feedback--danger {
    background: color-mix(in srgb, #dc2626 12%, var(--bg-primary, #fff));
    border-color: color-mix(in srgb, #dc2626 36%, var(--border-color, #dbe4f0));
    color: color-mix(in srgb, #7f1d1d 80%, var(--text-primary, #0f172a));
}
:is(.theme-dark,.theme-dimmed,.theme-ash) .cron-setup-assistant,
.theme-blue .cron-setup-assistant,
.theme-terminal .cron-setup-assistant,
.theme-purple .cron-setup-assistant,
:is(.theme-dark,.theme-dimmed,.theme-ash) .database-action-card,
.theme-blue .database-action-card,
.theme-terminal .database-action-card,
.theme-purple .database-action-card {
    background: color-mix(in srgb, var(--bg-primary, #0f172a) 88%, #fff 4%);
}
:is(.theme-dark,.theme-dimmed,.theme-ash) .admin-inline-feedback--danger,
.theme-blue .admin-inline-feedback--danger,
.theme-terminal .admin-inline-feedback--danger,
.theme-purple .admin-inline-feedback--danger {
    color: #fecaca;
}
@media (max-width: 760px) {
    .cron-setup-assistant,
    .database-danger-grid,
    .database-action-card { grid-template-columns: 1fr; }
    .database-action-icon { width: 100%; }
}

/* v1.45.7 Cron cockpit and universal hosting-panel setup polish */
.cron-profile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 14px;
    margin: 16px 0;
}
.cron-profile-card {
    border: 1px solid var(--border-color, #dbe4f0);
    border-radius: 18px;
    padding: 16px;
    background: var(--bg-primary, #fff);
    box-shadow: 0 12px 34px rgba(15, 23, 42, .07);
}
.cron-profile-card--recommended {
    border-color: color-mix(in srgb, var(--accent-primary, #2563eb) 42%, var(--border-color, #dbe4f0));
    box-shadow: 0 14px 38px color-mix(in srgb, var(--accent-primary, #2563eb) 14%, transparent);
}
.cron-field-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(48px, 1fr));
    gap: 8px;
    margin-top: 12px;
}
.cron-field-grid div {
    border: 1px solid var(--border-color, #dbe4f0);
    border-radius: 12px;
    padding: 8px;
    background: color-mix(in srgb, var(--accent-primary, #2563eb) 5%, var(--bg-primary, #fff));
    text-align: center;
}
.cron-field-grid span {
    display: block;
    color: var(--text-secondary, #64748b);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.cron-field-grid strong {
    display: block;
    margin-top: 3px;
    font-size: 1.25rem;
    line-height: 1;
}
.cron-note-list {
    margin: 12px 0 0;
    padding-left: 18px;
    color: var(--text-secondary, #475569);
}
.cron-php-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}
.cron-script-badges .status-badge + .status-badge { margin-left: 6px; }
:is(.theme-dark,.theme-dimmed,.theme-ash) .cron-profile-card,
.theme-blue .cron-profile-card,
.theme-terminal .cron-profile-card,
.theme-purple .cron-profile-card { background: color-mix(in srgb, var(--bg-primary, #0f172a) 88%, #fff 4%); }
@media (max-width: 760px) {
    .cron-field-grid { grid-template-columns: repeat(2, minmax(80px, 1fr)); }
}

/* v1.49.0 Page Resource Audit */
.wrap-anywhere {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.compact-result-list .result-list-row {
    padding: 10px 0;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}
.compact-result-list .result-list-row:last-child {
    border-bottom: 0;
}

/* v1.49.1: compact DNS Lookup resolver selector */
.dns-resolver-toggle {
    white-space: nowrap;
    min-width: auto;
}
.dns-resolver-dialog {
    max-width: 560px;
}
.dns-resolver-dialog .share-dialog-body {
    display: grid;
    gap: 14px;
}
.dns-resolver-saved-heading,
.dns-resolver-saved-row,
.dns-resolver-save-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.dns-resolver-saved-heading {
    justify-content: space-between;
    margin-bottom: 6px;
}
.dns-resolver-saved-row .form-input,
.dns-resolver-save-row .form-input {
    min-width: 0;
    flex: 1 1 auto;
}
.dns-resolver-save-row {
    margin-top: 8px;
}
@media (max-width: 560px) {
    .dns-resolver-saved-row,
    .dns-resolver-save-row {
        align-items: stretch;
        flex-direction: column;
    }
    .dns-resolver-saved-row .btn,
    .dns-resolver-save-row .btn {
        width: 100%;
    }
}
@media (max-width: 640px) {
    .dns-resolver-toggle {
        width: auto;
        flex: 0 0 auto;
    }
    .action-button-row.action-button-row-compact {
        gap: 8px;
    }
}

/* v1.49.2 Page Resource Audit hardening */
.advanced-options.page-audit-advanced {
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 12px;
    padding: 12px 14px;
    margin: 0 0 14px;
    background: rgba(248, 250, 252, 0.72);
}
.advanced-options.page-audit-advanced > summary {
    cursor: pointer;
    font-weight: 700;
    color: var(--text-color, #111827);
}
.advanced-options.page-audit-advanced[open] > summary {
    margin-bottom: 12px;
}

/* v1.50.3 DNS Zone Compare progress/filter UX hardening */
.zone-compare-option-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 16px;
}

.zone-compare-option-grid .zone-compare-setting-toggle {
    min-width: 0;
    width: 100%;
}

.zone-compare-card-grid .zone-compare-filter-card {
    appearance: none;
    border: 1px solid var(--border-color);
    color: inherit;
    text-align: left;
    width: 100%;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.zone-compare-card-grid .zone-compare-filter-card:hover,
.zone-compare-card-grid .zone-compare-filter-card:focus-visible,
.zone-compare-card-grid .zone-compare-filter-card.active {
    outline: 2px solid var(--accent-color, #0d6efd);
    outline-offset: 2px;
    transform: translateY(-1px);
}

.zone-compare-card-grid .zone-compare-card-static {
    cursor: default;
    opacity: .95;
}

.zone-compare-filter-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 8px;
}

.zone-compare-filter-chip {
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    padding: 8px 11px;
}

.zone-compare-filter-chip:hover,
.zone-compare-filter-chip:focus-visible,
.zone-compare-filter-chip.active {
    background: var(--accent-color, #0d6efd);
    border-color: var(--accent-color, #0d6efd);
    color: #fff;
    outline: none;
}

.zone-compare-filter-count {
    margin-bottom: 12px;
}

.zone-compare-findings-section .phase-section-title-row {
    align-items: flex-start;
}

.zone-compare-findings-table td {
    vertical-align: top;
}

.zone-compare-status-pill {
    white-space: nowrap;
}

.phase-metric-sublabel {
    color: var(--text-secondary);
    display: block;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
}

@media (max-width: 760px) {
    .zone-compare-option-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* v1.52.0 Mobile PWA App Shell */
.mobile-app-shell,
.mobile-bottom-tabs {
    display: none;
}

.mobile-app-shell {
    width: 100%;
}

.mobile-app-panel {
    display: none;
}

.mobile-app-panel.is-active {
    display: block;
}

@media (max-width: 768px) {
    body:not(.shared-view) {
        background: #f7f9fe;
    }

    .app-layout {
        display: block;
        min-height: 100dvh;
        background:
            radial-gradient(circle at 18% 0%, rgba(37, 99, 235, .11), transparent 34%),
            radial-gradient(circle at 92% 8%, rgba(16, 185, 129, .10), transparent 30%),
            #f7f9fe;
    }

    .sidebar {
        position: fixed;
        left: 12px;
        right: 12px;
        top: max(12px, env(safe-area-inset-top));
        width: auto;
        max-width: none;
        max-height: min(78dvh, 680px);
        transform: translateY(-120%);
        z-index: 1200;
        border-radius: 28px;
        overflow: hidden;
        box-shadow: 0 30px 80px rgba(15, 23, 42, .30);
        background: rgba(15, 23, 42, .96);
        backdrop-filter: blur(18px);
    }

    .sidebar.mobile-open {
        transform: translateY(0);
    }

    .sidebar-header {
        padding: 16px 18px;
        min-height: auto;
    }

    .sidebar-title {
        font-size: 18px;
    }

    .sidebar-subtitle {
        font-size: 12px;
    }

    .nav-search-wrap {
        padding: 0 16px 12px;
    }

    .nav-menu {
        max-height: calc(min(78dvh, 680px) - 142px);
        overflow-y: auto;
        padding: 0 12px 14px;
        -webkit-overflow-scrolling: touch;
    }

    .nav-group {
        border-radius: 18px;
        margin: 8px 0;
        background: rgba(255, 255, 255, .06);
        border: 1px solid rgba(255, 255, 255, .08);
        overflow: hidden;
    }

    .nav-group-toggle {
        min-height: 44px;
    }

    .nav-item {
        min-height: 46px;
        padding: 12px 14px;
        border-radius: 14px;
        margin: 4px 8px;
    }

    .mobile-overlay.show,
    .mobile-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    .main-content {
        margin-left: 0 !important;
        padding: 0 0 calc(88px + env(safe-area-inset-bottom));
        min-height: 100dvh;
    }

    .top-bar.compact-top-bar {
        position: sticky;
        top: 0;
        z-index: 900;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        min-height: 64px;
        padding: calc(8px + env(safe-area-inset-top)) 14px 10px;
        background: rgba(247, 249, 254, .88);
        backdrop-filter: blur(18px);
        border-bottom: 1px solid rgba(148, 163, 184, .20);
        box-shadow: 0 8px 30px rgba(15, 23, 42, .04);
    }

    .mobile-menu-btn {
        width: 44px;
        height: 44px;
        border-radius: 999px;
        display: inline-grid;
        place-items: center;
        padding: 0;
        background: rgba(255, 255, 255, .92);
        border: 1px solid rgba(203, 213, 225, .90);
        box-shadow: 0 10px 26px rgba(15, 23, 42, .08);
    }

    .mobile-menu-label {
        display: none;
    }

    .page-title {
        font-size: 18px !important;
        font-weight: 850;
        letter-spacing: -.02em;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .top-bar-utility.compact-actions {
        justify-content: flex-end;
        gap: 6px;
    }

    .member-topbar-label {
        display: none;
    }

    .member-topbar-link,
    .theme-toggle-btn {
        min-width: 42px;
        height: 42px;
        border-radius: 999px;
        padding: 0 10px;
        background: rgba(255, 255, 255, .92);
        border: 1px solid rgba(203, 213, 225, .90);
        box-shadow: 0 10px 26px rgba(15, 23, 42, .08);
    }

    .content-wrapper {
        padding: 16px 14px 0 !important;
        max-width: none !important;
    }

    .mobile-app-shell {
        display: block;
        padding: 14px 14px 0;
    }

    body.mobile-shell-tool-active .mobile-app-shell,
    body.mobile-shell-tool-active .mobile-hero-card {
        display: none;
    }

    body.mobile-shell-home-active .content-wrapper,
    body.mobile-shell-tools-active .content-wrapper,
    body.mobile-shell-history-active .content-wrapper,
    body.mobile-shell-favorites-active .content-wrapper,
    body.mobile-shell-settings-active .content-wrapper {
        display: none;
    }

    .mobile-hero-card {
        border: 1px solid rgba(203, 213, 225, .72);
        border-radius: 30px;
        padding: 26px 22px;
        margin-bottom: 16px;
        min-height: 210px;
        background:
            linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,246,255,.90)),
            radial-gradient(circle at 85% 0%, rgba(37,99,235,.18), transparent 34%);
        box-shadow: 0 24px 58px rgba(15, 23, 42, .10);
    }

    .mobile-hero-eyebrow,
    .mobile-section-kicker {
        color: #2563eb;
        font-size: 12px;
        font-weight: 850;
        letter-spacing: .10em;
        text-transform: uppercase;
    }

    .mobile-hero-title {
        color: #0f172a;
        font-size: clamp(30px, 9vw, 46px);
        line-height: .98;
        letter-spacing: -.05em;
        margin: 16px 0 12px;
    }

    .mobile-hero-copy {
        color: #64748b;
        font-size: 16px;
        line-height: 1.45;
        max-width: 30ch;
    }

    .mobile-hero-actions {
        display: flex;
        gap: 10px;
        margin-top: 20px;
        flex-wrap: wrap;
    }

    .mobile-primary-action,
    .mobile-secondary-action,
    .mobile-text-action {
        border: 0;
        cursor: pointer;
        font-weight: 800;
        font-family: inherit;
    }

    .mobile-primary-action,
    .mobile-secondary-action {
        min-height: 44px;
        border-radius: 999px;
        padding: 0 16px;
    }

    .mobile-primary-action {
        color: #fff;
        background: linear-gradient(135deg, #2563eb, #0ea5e9);
        box-shadow: 0 14px 34px rgba(37,99,235,.28);
    }

    .mobile-secondary-action {
        color: #1e293b;
        background: #fff;
        border: 1px solid rgba(203, 213, 225, .85);
    }

    .mobile-text-action {
        color: #2563eb;
        background: transparent;
        padding: 8px 0 8px 8px;
    }

    .mobile-section-heading-row {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 14px;
        margin: 20px 2px 12px;
    }

    .mobile-section-heading-row-spaced {
        margin-top: 26px;
    }

    .mobile-section-heading {
        color: #0f172a;
        font-size: 21px;
        font-weight: 900;
        letter-spacing: -.03em;
        margin-top: 3px;
    }

    .mobile-tool-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .mobile-tool-card,
    .mobile-tool-list-row,
    .mobile-settings-card,
    .mobile-settings-link,
    .mobile-recent-item {
        border: 1px solid rgba(203, 213, 225, .76);
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 16px 36px rgba(15, 23, 42, .07);
    }

    .mobile-tool-card {
        min-height: 152px;
        border-radius: 24px;
        padding: 16px;
        text-align: left;
        color: #0f172a;
        display: flex;
        flex-direction: column;
        gap: 10px;
        cursor: pointer;
        font-family: inherit;
    }

    .mobile-tool-card:active,
    .mobile-tool-list-main:active,
    .mobile-tab-btn:active {
        transform: scale(.985);
    }

    .mobile-tool-icon,
    .mobile-settings-icon {
        width: 44px;
        height: 44px;
        border-radius: 16px;
        display: inline-grid;
        place-items: center;
        background: #eef4ff;
        color: #2563eb;
        font-size: 22px;
        flex: 0 0 auto;
    }

    .mobile-tool-name {
        display: block;
        color: #0f172a;
        font-size: 16px;
        font-weight: 900;
        line-height: 1.15;
    }

    .mobile-tool-desc {
        display: -webkit-box;
        color: #64748b;
        font-size: 12.5px;
        line-height: 1.35;
        overflow: hidden;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }

    .mobile-search-box {
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 48px;
        margin: 0 0 14px;
        padding: 0 14px;
        border: 1px solid rgba(203, 213, 225, .76);
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
    }

    .mobile-search-box input {
        appearance: none;
        border: 0;
        outline: 0;
        background: transparent;
        flex: 1;
        min-width: 0;
        font: inherit;
        color: #0f172a;
    }

    .mobile-tool-list,
    .mobile-recent-list {
        display: grid;
        gap: 10px;
    }

    .mobile-tool-list-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
        border-radius: 22px;
        padding: 10px;
    }

    .mobile-tool-list-main {
        display: flex;
        align-items: center;
        gap: 12px;
        min-width: 0;
        text-align: left;
        border: 0;
        background: transparent;
        color: inherit;
        font-family: inherit;
        cursor: pointer;
        text-decoration: none;
    }

    .mobile-favorite-btn {
        width: 42px;
        height: 42px;
        border: 1px solid rgba(203, 213, 225, .70);
        border-radius: 999px;
        background: #fff;
        color: #94a3b8;
        font-size: 22px;
        cursor: pointer;
    }

    .mobile-favorite-btn.is-favorite {
        color: #f59e0b;
        background: #fffbeb;
        border-color: rgba(245, 158, 11, .34);
    }

    .mobile-recent-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
        border-radius: 20px;
        padding: 13px 14px;
        text-align: left;
        color: #0f172a;
        font-family: inherit;
        cursor: pointer;
    }

    .mobile-recent-primary {
        display: block;
        font-weight: 850;
        font-size: 14px;
    }

    .mobile-recent-meta {
        display: block;
        color: #64748b;
        font-size: 12px;
        margin-top: 2px;
    }

    .mobile-empty-state {
        border: 1px dashed rgba(148, 163, 184, .75);
        border-radius: 20px;
        padding: 18px;
        color: #64748b;
        background: rgba(255, 255, 255, .68);
        text-align: center;
        font-weight: 650;
    }

    .mobile-settings-card,
    .mobile-settings-link {
        border-radius: 22px;
        padding: 16px;
    }

    .mobile-settings-card {
        display: flex;
        gap: 14px;
        margin-bottom: 12px;
    }

    .mobile-settings-title {
        color: #0f172a;
        font-weight: 900;
        margin-bottom: 5px;
    }

    .mobile-settings-copy {
        color: #64748b;
        line-height: 1.45;
        margin: 0;
    }

    .mobile-settings-link {
        display: block;
        color: #2563eb;
        font-weight: 850;
        text-decoration: none;
    }

    .mobile-bottom-tabs {
        position: fixed;
        left: 10px;
        right: 10px;
        bottom: max(10px, env(safe-area-inset-bottom));
        z-index: 1000;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 2px;
        padding: 8px;
        border: 1px solid rgba(203, 213, 225, .78);
        border-radius: 28px;
        background: rgba(255, 255, 255, .92);
        backdrop-filter: blur(22px);
        box-shadow: 0 20px 60px rgba(15, 23, 42, .18);
    }

    .mobile-tab-btn {
        display: grid;
        place-items: center;
        gap: 3px;
        min-height: 54px;
        border: 0;
        border-radius: 20px;
        background: transparent;
        color: #64748b;
        font-family: inherit;
        font-size: 11px;
        font-weight: 750;
        cursor: pointer;
    }

    .mobile-tab-btn span:first-child {
        font-size: 21px;
        line-height: 1;
    }

    .mobile-tab-btn.is-active {
        color: #2563eb;
        background: #eff6ff;
    }

    body.mobile-shell-tool-active .mobile-tab-btn.is-active {
        color: #64748b;
        background: transparent;
    }

    .tool-section.active {
        border-radius: 26px;
        background: rgba(255, 255, 255, .94);
        border: 1px solid rgba(203, 213, 225, .76);
        box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
        padding: 18px !important;
    }

    .section-title,
    .section-title-row .section-title {
        font-size: 24px !important;
        line-height: 1.08;
        letter-spacing: -.04em;
    }

    .section-subtitle {
        font-size: 14px;
        line-height: 1.45;
    }

    .form-group,
    .form-row {
        gap: 10px;
    }

    .form-input,
    .btn {
        min-height: 46px;
        border-radius: 15px;
    }

    .action-button-row,
    .action-button-row.action-button-row-compact {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .results-panel {
        overflow-x: hidden;
    }

    .data-table {
        font-size: 13px;
    }

    .data-table th,
    .data-table td {
        padding: 10px;
        max-width: 180px;
        overflow-wrap: anywhere;
    }

    :is(.theme-dark,.theme-dimmed,.theme-ash) .mobile-hero-card,
    .theme-blue .mobile-hero-card,
    .theme-terminal .mobile-hero-card,
    .theme-purple .mobile-hero-card,
    :is(.theme-dark,.theme-dimmed,.theme-ash) .mobile-tool-card,
    .theme-blue .mobile-tool-card,
    .theme-terminal .mobile-tool-card,
    .theme-purple .mobile-tool-card,
    :is(.theme-dark,.theme-dimmed,.theme-ash) .mobile-tool-list-row,
    .theme-blue .mobile-tool-list-row,
    .theme-terminal .mobile-tool-list-row,
    .theme-purple .mobile-tool-list-row,
    :is(.theme-dark,.theme-dimmed,.theme-ash) .mobile-settings-card,
    .theme-blue .mobile-settings-card,
    .theme-terminal .mobile-settings-card,
    .theme-purple .mobile-settings-card,
    :is(.theme-dark,.theme-dimmed,.theme-ash) .mobile-settings-link,
    .theme-blue .mobile-settings-link,
    .theme-terminal .mobile-settings-link,
    .theme-purple .mobile-settings-link,
    :is(.theme-dark,.theme-dimmed,.theme-ash) .mobile-recent-item,
    .theme-blue .mobile-recent-item,
    .theme-terminal .mobile-recent-item,
    .theme-purple .mobile-recent-item,
    :is(.theme-dark,.theme-dimmed,.theme-ash) .mobile-bottom-tabs,
    .theme-blue .mobile-bottom-tabs,
    .theme-terminal .mobile-bottom-tabs,
    .theme-purple .mobile-bottom-tabs,
    :is(.theme-dark,.theme-dimmed,.theme-ash) .mobile-search-box,
    .theme-blue .mobile-search-box,
    .theme-terminal .mobile-search-box,
    .theme-purple .mobile-search-box {
        background: color-mix(in srgb, var(--bg-primary, #0f172a) 92%, #fff 6%);
        color: var(--text-primary, #f8fafc);
    }

    :is(.theme-dark,.theme-dimmed,.theme-ash) .mobile-hero-title,
    .theme-blue .mobile-hero-title,
    .theme-terminal .mobile-hero-title,
    .theme-purple .mobile-hero-title,
    :is(.theme-dark,.theme-dimmed,.theme-ash) .mobile-section-heading,
    .theme-blue .mobile-section-heading,
    .theme-terminal .mobile-section-heading,
    .theme-purple .mobile-section-heading,
    :is(.theme-dark,.theme-dimmed,.theme-ash) .mobile-tool-name,
    .theme-blue .mobile-tool-name,
    .theme-terminal .mobile-tool-name,
    .theme-purple .mobile-tool-name,
    :is(.theme-dark,.theme-dimmed,.theme-ash) .mobile-settings-title,
    .theme-blue .mobile-settings-title,
    .theme-terminal .mobile-settings-title,
    .theme-purple .mobile-settings-title {
        color: var(--text-primary, #f8fafc);
    }
}
@media (max-width: 768px) {
    body.mobile-shell-tool-active .mobile-tab-btn[data-mobile-tab="tools"].is-active {
        color: #2563eb;
        background: #eff6ff;
    }
}

/* v1.52.1 Mobile Tool Result Polish */
@media (max-width: 768px) {
    body:not(.member-portal) .results-panel.show {
        border-radius: 24px;
        border-color: rgba(203, 213, 225, .72);
        box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
        overflow: visible;
    }

    body:not(.member-portal) .results-header-stacked-mobile {
        display: grid;
        gap: 12px;
        background: linear-gradient(180deg, rgba(248, 250, 252, .98), rgba(255, 255, 255, .96));
    }

    body:not(.member-portal) .results-title {
        font-size: 16px;
        line-height: 1.25;
        letter-spacing: -.02em;
    }

    body:not(.member-portal) .phase-results-stack {
        padding: 12px;
        gap: 12px;
    }

    body:not(.member-portal) .phase-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body:not(.member-portal) .phase-metric-card {
        border-radius: 18px;
        padding: 13px;
        min-width: 0;
    }

    body:not(.member-portal) .phase-metric-label {
        font-size: 10px;
        line-height: 1.25;
    }

    body:not(.member-portal) .phase-metric-value {
        font-size: 15px;
        line-height: 1.25;
        margin-top: 6px;
    }

    body:not(.member-portal) .phase-section-card {
        border-radius: 20px;
        padding: 13px;
        box-shadow: 0 14px 34px rgba(15, 23, 42, .065);
    }

    body:not(.member-portal) .phase-section-title-row {
        align-items: flex-start;
        gap: 8px;
    }

    body:not(.member-portal) .phase-section-title {
        font-size: 15px;
        line-height: 1.25;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table,
    body:not(.member-portal) .results-panel table.data-table {
        display: grid;
        gap: 10px;
        width: 100%;
        min-width: 0 !important;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table thead,
    body:not(.member-portal) .results-panel table.data-table thead {
        display: none !important;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table tbody,
    body:not(.member-portal) .results-panel table.data-table tbody {
        display: grid;
        gap: 10px;
        width: 100%;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table tr,
    body:not(.member-portal) .results-panel table.data-table tr {
        position: relative;
        display: grid;
        gap: 0;
        width: 100%;
        margin: 0;
        padding: 12px;
        border: 1px solid rgba(203, 213, 225, .78);
        border-radius: 18px;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table td,
    body:not(.member-portal) .results-panel table.data-table td {
        position: static;
        display: grid;
        grid-template-columns: minmax(88px, 34%) minmax(0, 1fr);
        gap: 10px;
        align-items: start;
        width: 100%;
        max-width: none !important;
        padding: 9px 0 !important;
        border: 0;
        border-bottom: 1px solid rgba(226, 232, 240, .90);
        background: transparent;
        white-space: normal;
        text-align: left;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table td.copyable-cell,
    body:not(.member-portal) .results-panel table.data-table td.copyable-cell {
        grid-template-columns: minmax(88px, 34%) minmax(0, 1fr) 44px;
        padding-right: 0 !important;
    }

    body:not(.member-portal) .copyable-cell .table-cell-copy-button {
        position: relative;
        top: auto;
        right: auto;
        align-self: center;
        opacity: 1;
        transform: none;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table td:last-child,
    body:not(.member-portal) .results-panel table.data-table td:last-child {
        border-bottom: 0;
        padding-bottom: 0 !important;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table td::before,
    body:not(.member-portal) .results-panel table.data-table td::before {
        content: attr(data-label);
        position: static;
        display: block;
        width: auto;
        padding: 0;
        white-space: normal;
        color: #64748b;
        font-size: 10px;
        font-weight: 850;
        letter-spacing: .075em;
        text-transform: uppercase;
        line-height: 1.3;
    }

    body:not(.member-portal) .results-actions-mobile-sticky {
        left: auto;
        right: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-radius: 22px;
        padding: 10px;
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 18px 46px rgba(15, 23, 42, .16);
    }

    body:not(.member-portal) .results-actions-mobile-sticky .btn,
    body:not(.member-portal) .results-actions-mobile-sticky .export-toggle {
        min-height: 44px;
        border-radius: 16px;
        justify-content: center;
        font-size: 12px;
    }

    body:not(.member-portal) .phase-warning-box,
    body:not(.member-portal) .phase-inline-note,
    body:not(.member-portal) .no-results {
        border-radius: 16px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    body:not(.member-portal) .propagation-result,
    body:not(.member-portal) .phase-header-row {
        grid-template-columns: 1fr;
        gap: 6px;
        align-items: start;
    }

    body:not(.member-portal) .phase-header-value,
    body:not(.member-portal) .phase-header-key,
    body:not(.member-portal) .pre-content,
    body:not(.member-portal) code {
        white-space: pre-wrap;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

@media (max-width: 430px) {
    body:not(.member-portal) .phase-card-grid {
        grid-template-columns: 1fr;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table td,
    body:not(.member-portal) .results-panel table.data-table td {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table td.copyable-cell,
    body:not(.member-portal) .results-panel table.data-table td.copyable-cell {
        grid-template-columns: minmax(0, 1fr) 44px;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table td.copyable-cell::before,
    body:not(.member-portal) .results-panel table.data-table td.copyable-cell::before {
        grid-column: 1 / -1;
    }
}

/* Batch DNS multi-filter and propagation monitoring (v1.56.43) */
.multi-result-filter-list { display: grid; gap: 8px; }
.multi-result-filter-row { display: grid; grid-template-columns: 72px minmax(0, 1fr) 36px; gap: 8px; align-items: center; }
.multi-result-filter-number { color: var(--text-secondary, #64748b); font-size: 12px; font-weight: 800; }
.multi-result-filter-remove,
.batch-propagation-record-remove { width: 36px; height: 36px; border: 1px solid var(--border-color, #d9e2ec); border-radius: 9px; background: var(--surface, #fff); color: var(--text-secondary, #64748b); font-size: 21px; line-height: 1; cursor: pointer; }
.multi-result-filter-remove:hover,
.batch-propagation-record-remove:hover { border-color: #ef4444; color: #b91c1c; }
.multi-result-filter-actions { margin-top: 8px; }
.multi-result-filter-badges { display: inline-flex; flex-wrap: wrap; gap: 4px; margin-left: 8px; vertical-align: middle; }
.multi-result-filter-badge { padding: 2px 6px; border-radius: 999px; font-size: 10px; font-weight: 850; white-space: nowrap; }
.multi-result-highlight { padding: 0 2px; border-radius: 3px; color: inherit; }
.multi-result-highlight-0,.multi-result-filter-badge-0 { background: #bfdbfe; color: #1e3a8a; }
.multi-result-highlight-1,.multi-result-filter-badge-1 { background: #bbf7d0; color: #14532d; }
.multi-result-highlight-2,.multi-result-filter-badge-2 { background: #fde68a; color: #78350f; }
.multi-result-highlight-3,.multi-result-filter-badge-3 { background: #e9d5ff; color: #581c87; }
.multi-result-highlight-4,.multi-result-filter-badge-4 { background: #fecdd3; color: #881337; }
.multi-result-highlight-5,.multi-result-filter-badge-5 { background: #a5f3fc; color: #164e63; }
.multi-result-filter-match { box-shadow: inset 4px 0 0 #3b82f6; }

.batch-propagation-builder,
.batch-propagation-setup,
.batch-propagation-resolvers,
.batch-propagation-filter-wrap,
.batch-propagation-monitor-options,
.batch-propagation-refresh-status,
.batch-propagation-progress { margin-top: 16px; padding: 16px; border: 1px solid var(--border-color, #d9e2ec); border-radius: 14px; background: var(--surface, #fff); }
.batch-propagation-setup { padding: 0; overflow: clip; }
.batch-propagation-setup > summary { display: flex; justify-content: space-between; gap: 16px; align-items: center; min-height: 58px; padding: 12px 16px; cursor: pointer; list-style: none; }
.batch-propagation-setup > summary::-webkit-details-marker { display: none; }
.batch-propagation-setup > summary > span:first-child { display: grid; gap: 3px; min-width: 0; }
.batch-propagation-setup > summary small { color: var(--text-secondary, #64748b); font-weight: 600; overflow-wrap: anywhere; }
.batch-propagation-setup-action { flex: 0 0 auto; padding: 6px 10px; border: 1px solid var(--border-color, #d9e2ec); border-radius: 9px; color: var(--accent, #2563eb); font-size: 12px; font-weight: 800; }
.batch-propagation-setup-hide-label { display: none; }
.batch-propagation-setup[open] .batch-propagation-setup-edit-label { display: none; }
.batch-propagation-setup[open] .batch-propagation-setup-hide-label { display: inline; }
.batch-propagation-setup-body { padding: 0 16px 16px; border-top: 1px solid var(--border-color, #d9e2ec); }
.batch-propagation-setup-body > .batch-propagation-builder { margin-top: 0; padding-right: 0; padding-left: 0; border: 0; background: transparent; }
.batch-propagation-profile-option { max-width: 460px; margin-top: 16px; }
.batch-propagation-monitor-options { display: grid; grid-template-columns: minmax(220px, 360px); }
.batch-propagation-record-list { display: grid; gap: 10px; margin: 12px 0; }
.batch-propagation-source-context { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; margin-top: 14px; }
.batch-propagation-source-context[hidden] { display: none !important; }
.batch-propagation-record-row { display: grid; grid-template-columns: 30px minmax(150px, 1.1fr) minmax(110px, .4fr) minmax(130px, .7fr) minmax(150px, 1fr) minmax(200px, .85fr) 36px; gap: 10px; align-items: end; padding: 12px; border: 1px solid var(--border-color, #d9e2ec); border-radius: 12px; background: var(--surface-muted, #f8fafc); }
.batch-propagation-record-row .form-input { width:100%; min-width:0; max-width:100%; box-sizing:border-box; margin:0; }
#batchPropagationRecordList { container-type:inline-size; }
@container(max-width:1100px) {
    #batchPropagationRecordList .batch-propagation-record-row { grid-template-columns:28px minmax(0,1.5fr) 110px minmax(180px,1fr) 36px; }
    #batchPropagationRecordList .batch-propagation-record-row label:nth-of-type(1) { grid-column:2 / 3; }
    #batchPropagationRecordList .batch-propagation-record-row label:nth-of-type(2) { grid-column:3 / 4; }
    #batchPropagationRecordList .batch-propagation-record-row label:nth-of-type(3) { grid-column:4 / 5; }
    #batchPropagationRecordList .batch-propagation-record-row label:nth-of-type(4) { grid-column:2 / 4; }
    #batchPropagationRecordList .batch-propagation-record-row label:nth-of-type(5) { grid-column:4 / 5; }
    #batchPropagationRecordList .batch-propagation-record-remove { grid-column:5; grid-row:1; }
    #batchPropagationRecordList .batch-propagation-record-row > .error-text { grid-column:2 / -1; }
}
@container(max-width:700px) {
    #batchPropagationRecordList .batch-propagation-record-row { grid-template-columns:26px minmax(0,1fr) 36px; }
    #batchPropagationRecordList .batch-propagation-record-row label:nth-of-type(n) { grid-column:2 / 3; }
    #batchPropagationRecordList .batch-propagation-record-row label:nth-of-type(n+2) { grid-column:2 / -1; }
    #batchPropagationRecordList .batch-propagation-record-remove { grid-column:3; }
}
.frontend-handoff-suggestion-choice { display:flex; align-items:center; gap:9px; padding:8px 12px; min-height:44px; box-sizing:border-box; border:1px solid var(--border-color); border-radius:10px; cursor:pointer; font-size:13px; font-weight:700; flex-shrink:0; }
.frontend-handoff-suggestion-choice input { appearance:auto; width:20px; height:20px; margin:0; accent-color:var(--primary-color); flex-shrink:0; }
.frontend-handoff-suggestion-choice:has(input:checked) { background:color-mix(in srgb,var(--primary-color) 9%,var(--bg-primary)); border-color:var(--primary-color); }
.frontend-handoff-suggestion-choice:focus-within { outline:2px solid var(--primary-color); outline-offset:3px; }
.batch-propagation-record-row label { display: grid; gap: 5px; min-width: 0; color: var(--text-secondary, #64748b); font-size: 12px; font-weight: 750; }
.batch-propagation-record-row label small { font-weight: 500; }
.batch-propagation-record-number { align-self: center; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 999px; background: #e0ecff; color: #174ea6; font-size: 12px; font-weight: 900; }
.batch-propagation-record-row > .error-text { grid-column: 2 / -1; }
.batch-propagation-paste { margin-top: 12px; }
.batch-propagation-record-meta { display: grid; justify-items: end; gap: 4px; text-align: right; }
.batch-propagation-record-meta small { color: var(--text-secondary, #64748b); font-weight: 600; }
#batchPropagationPasteStatus,
.dns-watch-bulk-status,
.dns-record-paste-status { margin-top: 10px; }
#batchPropagationPasteStatus .notice-card,
.dns-watch-bulk-status .notice-card,
.dns-record-paste-status .notice-card { display: grid; gap: 5px; margin: 0; }
#batchPropagationPasteStatus small,
.dns-watch-bulk-status small,
.dns-record-paste-status small { display: block; line-height: 1.45; }
.frontend-handoff-paste { margin: 10px 0 12px; }
.frontend-handoff-paste > summary { cursor: pointer; font-weight: 850; }
.admin-share-domain-value,
.admin-share-domain-preview code { display: block; padding: 9px 10px; border: 1px solid var(--border-color, #d9e2ec); border-radius: 9px; background: var(--surface-muted, #f8fafc); overflow-wrap: anywhere; white-space: normal; }
.admin-share-domain-preview { display: grid; gap: 6px; }
.admin-share-domain-preview small:not(:first-child) { margin-top: 5px; }
#dedicated-share-domain-field[hidden] { display: none !important; }
.batch-propagation-resolvers > summary { cursor: pointer; font-weight: 850; }
.batch-propagation-resolvers > summary::after { content: ' · Customize'; color: var(--text-secondary, #64748b); font-size: 12px; font-weight: 650; }
.batch-propagation-resolvers[open] > summary::after { content: ' · Hide choices'; }
.batch-propagation-resolver-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px; margin-top: 12px; }
.batch-propagation-resolver-option { display: flex; gap: 9px; align-items: flex-start; padding: 9px; border: 1px solid var(--border-color, #d9e2ec); border-radius: 10px; cursor: pointer; }
.batch-propagation-resolver-option span { display: grid; gap: 2px; min-width: 0; }
.batch-propagation-resolver-option small { color: var(--text-secondary, #64748b); overflow-wrap: anywhere; }
.batch-propagation-command-bar { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-top: 16px; }
.batch-propagation-command-bar > [hidden] { display: none !important; }
.batch-propagation-auto-toggle { min-height: 38px; padding: 6px 10px; border: 1px solid var(--border-color, #d9e2ec); border-radius: 10px; }
.batch-propagation-refresh-status { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 18px; color: var(--text-secondary, #64748b); font-size: 13px; }
.batch-propagation-refresh-status[hidden] { display: none !important; }
.batch-propagation-progress-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.batch-propagation-result-group { margin-top: 14px; padding: 0; overflow: hidden; }
.batch-propagation-result-group > summary { display: flex; justify-content: space-between; gap: 12px; padding: 14px 16px; cursor: pointer; }
.batch-propagation-result-group > summary > span { min-width: 0; overflow-wrap: anywhere; }
.batch-propagation-result-group > .phase-inline-note { margin: 0 16px 10px; }
.batch-propagation-summary-explainer { display: flex; justify-content: space-between; gap: 12px 24px; align-items: center; margin-top: 12px; padding: 12px 14px; border: 1px solid var(--border-color, #d9e2ec); border-radius: 12px; background: var(--surface-muted, #f8fafc); }
.batch-propagation-summary-explainer > div:first-child { display: grid; gap: 2px; }
.batch-propagation-summary-explainer > div:first-child span { color: var(--text-secondary, #64748b); font-size: 12px; }
.batch-propagation-resolver-breakdown { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.batch-propagation-resolver-breakdown span { padding: 4px 8px; border-radius: 999px; background: var(--surface, #fff); color: var(--text-secondary, #64748b); font-size: 11px; white-space: nowrap; }
.batch-propagation-resolver-results { display: grid; gap: 8px; padding: 0 16px 16px; }
.batch-propagation-resolver-card { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid var(--border-color, #d9e2ec); border-radius: 11px; background: var(--surface, #fff); overflow: hidden; }
.batch-propagation-result-group, .batch-propagation-resolver-results, .batch-propagation-resolver-card, .batch-propagation-summary-explainer { min-width: 0; max-width: 100%; }
.batch-propagation-resolver-card[hidden] { display: none !important; }
.batch-propagation-resolver-cell { min-width: 0; padding: 10px 12px; border-right: 1px solid var(--border-color, #d9e2ec); border-bottom: 1px solid var(--border-color, #d9e2ec); }
.batch-propagation-resolver-cell:nth-child(3n) { border-right: 0; }
.batch-propagation-resolver-cell:nth-last-child(-n + 3) { border-bottom: 0; }
.batch-propagation-cell-label { display: block; margin-bottom: 5px; color: var(--text-secondary, #64748b); font-size: 10px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.batch-propagation-cell-content { min-width: 0; line-height: 1.45; overflow-wrap: anywhere; word-break: break-word; }
.batch-propagation-cell-content small { display: block; margin-top: 4px; color: var(--text-secondary, #64748b); overflow-wrap: anywhere; }
.batch-propagation-value code { display: block; max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; }
.batch-propagation-state,.batch-propagation-change-label { display: inline-flex; margin: 2px 5px 2px 0; padding: 3px 7px; border-radius: 999px; font-size: 10px; font-weight: 850; text-transform: capitalize; }
.batch-propagation-state-matching { background: #dcfce7; color: #166534; }
.batch-propagation-state-mismatched,.batch-propagation-state-failed { background: #fee2e2; color: #991b1b; }
.batch-propagation-state-missing,.batch-propagation-state-timed_out { background: #fef3c7; color: #92400e; }
.batch-propagation-change-label { background: #dbeafe; color: #1e40af; }
.batch-propagation-resolver-card[class*="batch-propagation-change-"] { animation: batchPropagationChanged 1.8s ease-out; box-shadow: inset 4px 0 0 #3b82f6; }
.batch-propagation-resolver-card.is-stale { opacity: .72; background: repeating-linear-gradient(-45deg, transparent, transparent 7px, rgba(148,163,184,.08) 7px, rgba(148,163,184,.08) 14px); }
.shared-batch-propagation-group { margin-bottom: 16px; min-width: 0; }
.shared-batch-propagation-group h4 { margin: 0 0 10px; overflow-wrap: anywhere; }
.shared-batch-propagation-group .batch-propagation-cell-content,
.shared-batch-propagation-group code,
.shared-batch-propagation-history td { overflow-wrap: anywhere; word-break: break-word; }
.batch-propagation-history { margin-top: 16px; }
@keyframes batchPropagationChanged { from { background: #fef3c7; } to { background: transparent; } }

@media (max-width: 800px) {
    .batch-propagation-record-meta { justify-items: start; text-align: left; }
    .batch-propagation-record-row { grid-template-columns: 28px minmax(0, 1fr) 72px 36px; }
    .batch-propagation-record-row label:nth-of-type(1) { grid-column: 2 / 3; }
    .batch-propagation-record-row label:nth-of-type(2) { grid-column: 3 / 4; }
    .batch-propagation-record-row label:nth-of-type(3) { grid-column: 2 / 4; }
    .batch-propagation-record-row label:nth-of-type(4) { grid-column: 2 / 4; }
    .batch-propagation-record-row label:nth-of-type(5) { grid-column: 2 / 4; }
    .batch-propagation-record-remove { grid-column: 4; grid-row: 1; }
    .batch-propagation-record-row > .error-text { grid-column: 2 / -1; }
    .batch-propagation-command-bar > .btn { flex: 1 1 150px; }
    .batch-propagation-refresh-status { display: grid; }
    .batch-propagation-resolver-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .batch-propagation-resolver-cell:nth-child(3n) { border-right: 1px solid var(--border-color, #d9e2ec); }
    .batch-propagation-resolver-cell:nth-child(2n) { border-right: 0; }
    .batch-propagation-resolver-cell:nth-last-child(-n + 3) { border-bottom: 1px solid var(--border-color, #d9e2ec); }
    .batch-propagation-resolver-cell:nth-last-child(-n + 2) { border-bottom: 0; }
    .batch-propagation-summary-explainer { display: grid; }
    .batch-propagation-resolver-breakdown { justify-content: flex-start; }
}
@media (max-width: 520px) {
    .multi-result-filter-row { grid-template-columns: 62px minmax(0, 1fr) 36px; }
    .batch-propagation-builder,.batch-propagation-resolvers,.batch-propagation-filter-wrap,.batch-propagation-monitor-options,.batch-propagation-refresh-status,.batch-propagation-progress { padding: 12px; }
    .batch-propagation-setup > summary { align-items: flex-start; padding: 12px; }
    .batch-propagation-setup-body { padding: 0 12px 12px; }
    .batch-propagation-result-group > summary { display: grid; }
    .batch-propagation-resolver-grid { grid-template-columns: 1fr; }
    .batch-propagation-resolver-card { grid-template-columns: 1fr; }
    .batch-propagation-resolver-cell,.batch-propagation-resolver-cell:nth-child(2n),.batch-propagation-resolver-cell:nth-child(3n) { border-right: 0; border-bottom: 1px solid var(--border-color, #d9e2ec); }
    .batch-propagation-resolver-cell:last-child { border-bottom: 0; }
}

/* v1.52.2 Mobile Member Portal + Result UX Hardening */
@media (max-width: 768px) {
    body:not(.member-portal) .results-panel.show,
    body:not(.member-portal) .results-panel.mobile-result-loading-state {
        margin-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
    }

    body:not(.member-portal) .results-panel.mobile-result-loading-state {
        border-radius: 24px;
        padding: 12px;
        background: rgba(255, 255, 255, .92);
        box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
    }

    body:not(.member-portal) .results-loading-card {
        border-radius: 22px;
        padding: 18px;
        background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
    }

    body:not(.member-portal) .results-loading-header {
        display: flex;
        align-items: center;
        margin-bottom: 14px;
        font-size: 14px;
    }

    body:not(.member-portal) .mobile-result-card-row::before {
        content: attr(data-mobile-card-title);
        display: block;
        margin-bottom: 8px;
        color: #0f172a;
        font-size: 14px;
        font-weight: 900;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    body:not(.member-portal) .mobile-result-card-row:not([data-mobile-card-title])::before,
    body:not(.member-portal) .mobile-result-card-row[data-mobile-card-title=""]::before {
        display: none;
    }

    body:not(.member-portal) .results-panel table.data-table td.is-mobile-primary-cell {
        grid-template-columns: 1fr;
        gap: 4px;
        padding-top: 2px !important;
    }

    body:not(.member-portal) .results-panel table.data-table td.is-mobile-primary-cell::before {
        font-size: 9px;
        opacity: .72;
    }

    body:not(.member-portal) .results-panel table.data-table td.is-mobile-empty-cell:not(.has-mobile-interactive-content) {
        display: none;
    }

    body:not(.member-portal) .results-panel table.data-table td.has-mobile-interactive-content {
        grid-template-columns: 1fr;
    }

    body:not(.member-portal) .mobile-result-message-card,
    body:not(.member-portal) .no-results {
        margin: 10px 0;
        padding: 16px;
        border: 1px solid rgba(203, 213, 225, .76);
        border-radius: 20px;
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 12px 28px rgba(15,23,42,.06);
        text-align: left;
        font-style: normal;
    }

    body:not(.member-portal) .results-actions-mobile-sticky {
        position: sticky;
        bottom: max(82px, calc(82px + env(safe-area-inset-bottom, 0px)));
        z-index: 18;
    }

    body:not(.member-portal) .phase-section-card,
    body:not(.member-portal) .phase-metric-card,
    body:not(.member-portal) .result-highlight-card,
    body:not(.member-portal) .results-loading-card {
        overflow-wrap: anywhere;
    }

    body:not(.member-portal) .export-menu,
    body:not(.member-portal) .domain-handoff-menu {
        max-width: calc(100vw - 32px);
        right: 0;
        left: auto;
    }
}

@media (max-width: 430px) {
    body:not(.member-portal) .results-actions-mobile-sticky {
        grid-template-columns: 1fr;
        bottom: max(78px, calc(78px + env(safe-area-inset-bottom, 0px)));
    }

    body:not(.member-portal) .mobile-result-card-row::before {
        font-size: 13px;
    }
}

/* v1.56.101 Share dialog safety and space optimization */
#shareDialogOverlay .share-dialog {
    width: min(920px, calc(100vw - 32px));
    max-width: 920px;
    max-height: min(96vh, 900px);
    max-height: min(96dvh, 900px);
}
#shareDialogOverlay .share-dialog-header { padding: 16px 20px 12px; }
#shareDialogOverlay .share-dialog-title { margin-bottom: 3px; font-size: 20px; }
#shareDialogOverlay .share-dialog-body { padding: 14px 20px 10px; }
.share-dialog-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px 18px;
    align-items: start;
}
.share-dialog-form-grid .form-group { min-width: 0; margin-bottom: 0; }
.share-dialog-notes-field { grid-column: 2; grid-row: 1 / span 2; }
#shareDialogOverlay .share-dialog-textarea { min-height: 80px; max-height: 160px; }
.share-dialog-expiry-field {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(160px, .65fr);
    gap: 14px;
    margin: 0;
}
.share-dialog-expiry-field .form-group { margin: 0; }
#shareDialogOverlay .share-dialog-warning { margin-bottom: 12px; padding: 10px 12px; line-height: 1.4; }
#shareDialogOverlay .share-dialog-result { margin: 12px 0; padding: 12px; }
#shareDialogOverlay .share-dialog-check-wrap { margin: 10px 0; }
#shareDialogOverlay .share-member-note { margin-top: 10px; padding: 10px 12px; line-height: 1.4; }
#shareDialogOverlay .share-dialog-actions { padding: 12px 20px 16px; }
#shareDialogOverlay .share-dialog-actions [hidden] { display: none !important; }
.share-dialog-close-guard {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 20px;
    border-top: 1px solid rgba(245, 158, 11, .35);
    background: color-mix(in srgb, #f59e0b 10%, var(--bg-primary));
}
.share-dialog-close-guard[hidden] { display: none !important; }
.share-dialog-close-guard-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
    font-size: 13px;
    line-height: 1.35;
}
.share-dialog-close-guard-copy span { color: var(--text-secondary); }
.share-dialog-close-guard-actions { display: flex; flex: 0 0 auto; gap: 8px; }
body.modal-open #memberSuggestionBanner.member-suggestion-banner {
    opacity: 0;
    pointer-events: none;
    transform: translateY(18px);
}
#shareDialogOverlay.share-dialog-secret .share-member-note { display: none; }

@media (max-width: 700px) {
    #shareDialogOverlay { padding: 0; }
    #shareDialogOverlay .share-dialog {
        width: 100%;
        max-width: none;
        max-height: min(96vh, 900px);
        max-height: min(96dvh, 900px);
        border-radius: 20px 20px 0 0;
    }
    .share-dialog-form-grid,
    .share-dialog-expiry-field { grid-template-columns: 1fr; }
    .share-dialog-notes-field,
    .share-dialog-expiry-field { grid-column: auto; grid-row: auto; }
    #shareDialogOverlay .share-dialog-textarea { min-height: 86px; }
    .share-dialog-close-guard { align-items: stretch; flex-direction: column; gap: 10px; }
    .share-dialog-close-guard-actions,
    #shareDialogOverlay .share-dialog-actions {
        display: grid;
        grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
        width: 100%;
    }
    .share-dialog-close-guard-actions .btn,
    #shareDialogOverlay .share-dialog-actions .btn { width: 100%; min-width: 0; }
}

@media (max-width: 390px) {
    .share-dialog-close-guard-actions,
    #shareDialogOverlay .share-dialog-actions { grid-template-columns: 1fr; }
}


/* v1.52.3 Mobile PWA Real-Device Polish */
@media (max-width: 768px) {
    body:not(.member-portal) .results-header [data-results-actions-menu].results-actions:not(.results-actions-mobile-sticky) {
        position: relative;
        display: flex;
        width: auto;
        min-width: 0;
        margin-left: auto;
        flex: 0 0 auto;
        justify-content: flex-end;
        overflow: visible;
    }

    body:not(.member-portal) .results-header [data-results-actions-menu] .mobile-results-actions-toggle {
        display: inline-flex;
        min-height: 40px;
        white-space: nowrap;
    }

    body:not(.member-portal) .results-header [data-results-actions-menu] .results-actions-items {
        display: none;
        position: absolute;
        top: calc(100% + 10px);
        right: 0;
        z-index: 1105;
        width: min(300px, calc(100vw - 28px));
        max-height: min(66vh, 520px);
        overflow: auto;
        grid-template-columns: 1fr;
        gap: 9px;
        padding: 10px;
        border: 1px solid rgba(203, 213, 225, .92);
        border-radius: 22px;
        background: rgba(255, 255, 255, .98);
        box-shadow: 0 24px 70px rgba(15, 23, 42, .24);
        backdrop-filter: blur(18px);
        -webkit-overflow-scrolling: touch;
    }

    body:not(.member-portal) .results-header [data-results-actions-menu].is-open .results-actions-items {
        display: grid;
    }

    body:not(.member-portal) .results-header [data-results-actions-menu] .results-actions-items > .btn,
    body:not(.member-portal) .results-header [data-results-actions-menu] .results-actions-items > .export-menu-wrap,
    body:not(.member-portal) .results-header [data-results-actions-menu] .results-actions-items > .domain-handoff-menu-wrap {
        width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
    }

    body:not(.member-portal) .results-header [data-results-actions-menu] .results-actions-items .btn,
    body:not(.member-portal) .results-header [data-results-actions-menu] .results-actions-items .export-toggle,
    body:not(.member-portal) .results-header [data-results-actions-menu] .results-actions-items .domain-handoff-toggle {
        width: 100%;
        min-height: 44px;
        justify-content: center;
        border-radius: 16px;
        font-size: 14px;
    }

    body:not(.member-portal) .results-actions-mobile-sticky {
        display: none !important;
        position: static !important;
    }

    body:not(.member-portal) .results-panel.show,
    body:not(.member-portal) .results-panel.mobile-result-loading-state {
        margin-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
    }

    .member-header-menu {
        position: static;
        width: auto;
    }

    .member-header-menu-panel {
        position: fixed;
        top: calc(70px + env(safe-area-inset-top, 0px));
        right: 12px;
        left: auto;
        width: min(286px, calc(100vw - 24px));
        min-width: 0;
        max-width: calc(100vw - 24px);
        max-height: min(60vh, 420px);
        overflow: auto;
        z-index: 1200;
        -webkit-overflow-scrolling: touch;
    }

    .member-header-menu-panel :is(a,button[role="menuitem"]) {
        min-height: 46px;
        font-size: 15px;
    }
}

@media (max-width: 430px) {
    body:not(.member-portal) .results-header [data-results-actions-menu] .results-actions-items {
        right: -2px;
        width: min(288px, calc(100vw - 20px));
    }
}

/* DNS TTL values stay visually consistent across raw, normalized, and authoritative results. */
.dns-ttl-display {
    display: inline;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    color: inherit;
}

body:is(.theme-dark,.theme-dimmed,.theme-ash) .top-bar,
body.theme-terminal .top-bar {
    background: var(--app-topbar-bg, var(--bg-primary));
    border-bottom-color: var(--border-color);
}

body.theme-blue .top-bar,
body.theme-purple .top-bar {
    background: var(--app-topbar-bg, var(--bg-primary));
    border-bottom-color: var(--border-color);
}

@media (max-width: 768px) {
    body.theme-dark:not(.shared-view),
    body.theme-terminal:not(.shared-view) {
        background: var(--bg-primary);
    }

    body:is(.theme-dark,.theme-dimmed,.theme-ash) .app-layout,
    body.theme-terminal .app-layout {
        background:
            radial-gradient(circle at 18% 0%, rgba(37, 99, 235, .16), transparent 34%),
            radial-gradient(circle at 92% 8%, rgba(16, 185, 129, .12), transparent 30%),
            var(--bg-primary);
    }

    body:is(.theme-dark,.theme-dimmed,.theme-ash) .top-bar.compact-top-bar,
    body.theme-terminal .top-bar.compact-top-bar {
        background: color-mix(in srgb, var(--bg-primary) 88%, transparent);
        color: var(--text-primary);
        border-bottom-color: var(--border-color);
        box-shadow: 0 8px 30px rgba(0, 0, 0, .20);
    }

    body.theme-blue .top-bar.compact-top-bar,
    body.theme-purple .top-bar.compact-top-bar {
        background: color-mix(in srgb, var(--bg-primary) 88%, transparent);
        color: var(--text-primary);
        border-bottom-color: var(--border-color);
    }

    body:is(.theme-dark,.theme-dimmed,.theme-ash) .mobile-menu-btn,
    body:is(.theme-dark,.theme-dimmed,.theme-ash) .member-topbar-link,
    body:is(.theme-dark,.theme-dimmed,.theme-ash) .theme-toggle-btn,
    body.theme-terminal .mobile-menu-btn,
    body.theme-terminal .member-topbar-link,
    body.theme-terminal .theme-toggle-btn {
        background: color-mix(in srgb, var(--bg-primary) 86%, #ffffff 6%);
        border-color: var(--border-color);
        color: var(--text-primary);
        box-shadow: 0 10px 26px rgba(0, 0, 0, .22);
    }
}


/* v1.52.11 Mobile Space Optimization Pass */
@media (max-width: 768px) {
    .top-bar.compact-top-bar {
        min-height: 56px;
        gap: 8px;
        padding: calc(6px + env(safe-area-inset-top)) 10px 8px;
    }

    .mobile-menu-btn,
    .member-topbar-link,
    .theme-toggle-btn {
        width: 40px;
        min-width: 40px;
        height: 40px;
        box-shadow: 0 8px 20px rgba(15, 23, 42, .07);
    }

    .page-title {
        font-size: 16px !important;
    }

    .content-wrapper {
        padding: 10px 10px 0 !important;
    }

    .mobile-app-shell {
        padding: 10px 10px 0;
    }

    .mobile-hero-card {
        min-height: 0;
        border-radius: 20px;
        padding: 12px;
        margin-bottom: 10px;
        box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
        background:
            linear-gradient(135deg, rgba(255,255,255,.97), rgba(239,246,255,.90)),
            radial-gradient(circle at 96% -18%, rgba(37,99,235,.16), transparent 36%);
    }

    .mobile-hero-eyebrow,
    .mobile-section-kicker {
        font-size: 10px;
        letter-spacing: .075em;
    }

    .mobile-hero-title {
        font-size: clamp(20px, 5.8vw, 26px);
        line-height: 1.08;
        letter-spacing: -.035em;
        margin: 5px 0 4px;
    }

    .mobile-hero-copy {
        font-size: 12.5px;
        line-height: 1.32;
        max-width: none;
        margin: 0;
    }

    .mobile-hero-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-top: 10px;
    }

    .mobile-primary-action,
    .mobile-secondary-action {
        min-height: 38px;
        padding: 0 10px;
        font-size: 12.5px;
    }

    .mobile-section-heading-row {
        align-items: center;
        gap: 8px;
        margin: 14px 2px 8px;
    }

    .mobile-section-heading-row-spaced {
        margin-top: 18px;
    }

    .mobile-section-heading {
        font-size: 18px;
        line-height: 1.12;
        margin-top: 1px;
    }

    .mobile-text-action {
        padding: 6px 0 6px 8px;
        font-size: 12.5px;
    }

    .mobile-tool-grid {
        gap: 8px;
    }

    .mobile-tool-card {
        min-height: 112px;
        border-radius: 18px;
        padding: 11px;
        gap: 6px;
        box-shadow: 0 10px 24px rgba(15, 23, 42, .055);
    }

    .mobile-tool-icon,
    .mobile-settings-icon {
        width: 34px;
        height: 34px;
        border-radius: 12px;
        font-size: 18px;
    }

    .mobile-tool-name {
        font-size: 14px;
        line-height: 1.14;
    }

    .mobile-tool-desc {
        font-size: 11.5px;
        line-height: 1.25;
        -webkit-line-clamp: 2;
    }

    .mobile-search-box {
        min-height: 42px;
        margin-bottom: 10px;
        padding: 0 12px;
        border-radius: 15px;
        box-shadow: 0 9px 20px rgba(15, 23, 42, .045);
    }

    .mobile-tool-list,
    .mobile-recent-list {
        gap: 8px;
    }

    .mobile-tool-list-row {
        border-radius: 17px;
        padding: 8px;
        gap: 6px;
        box-shadow: 0 9px 22px rgba(15, 23, 42, .05);
    }

    .mobile-tool-list-main {
        gap: 9px;
    }

    .mobile-favorite-btn {
        width: 38px;
        height: 38px;
        font-size: 20px;
    }

    .mobile-recent-item {
        border-radius: 16px;
        padding: 10px 11px;
        gap: 8px;
        box-shadow: 0 9px 22px rgba(15, 23, 42, .05);
    }

    .mobile-empty-state {
        border-radius: 16px;
        padding: 13px;
        font-size: 12.5px;
    }

    .mobile-settings-card,
    .mobile-settings-link {
        border-radius: 17px;
        padding: 12px;
        box-shadow: 0 9px 22px rgba(15, 23, 42, .05);
    }

    .mobile-settings-card {
        gap: 10px;
        margin-bottom: 8px;
    }

    .mobile-settings-title {
        margin-bottom: 3px;
    }

    .mobile-settings-copy {
        font-size: 12.5px;
        line-height: 1.35;
    }

    .mobile-bottom-tabs {
        left: 8px;
        right: 8px;
        bottom: max(8px, env(safe-area-inset-bottom));
        gap: 1px;
        padding: 6px;
        border-radius: 22px;
        box-shadow: 0 16px 44px rgba(15, 23, 42, .16);
    }

    .mobile-tab-btn {
        min-height: 48px;
        border-radius: 16px;
        gap: 2px;
        font-size: 10px;
    }

    .mobile-tab-btn span:first-child {
        font-size: 19px;
    }

    .tool-section.active {
        border-radius: 22px;
        padding: 14px !important;
        box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
    }

    .section-title,
    .section-title-row .section-title {
        font-size: 21px !important;
        line-height: 1.12;
    }

    .section-subtitle {
        font-size: 13px;
        line-height: 1.35;
    }

    .form-row,
    .form-group {
        gap: 8px;
    }

    .form-label {
        margin-bottom: 5px;
        font-size: 12px;
    }

    .form-input,
    .btn {
        min-height: 42px;
        border-radius: 13px;
    }

    .action-button-row,
    .action-button-row.action-button-row-compact {
        gap: 8px;
    }

    body:not(.member-portal) .results-panel.show,
    body:not(.member-portal) .results-panel.mobile-result-loading-state {
        margin-bottom: calc(78px + env(safe-area-inset-bottom, 0px));
    }

    body:not(.member-portal) .results-header-stacked-mobile {
        gap: 8px;
    }

    body:not(.member-portal) .results-title {
        font-size: 15px;
    }

    body:not(.member-portal) .phase-results-stack {
        padding: 10px;
        gap: 10px;
    }

    body:not(.member-portal) .phase-card-grid {
        gap: 8px;
    }

    body:not(.member-portal) .phase-metric-card,
    body:not(.member-portal) .phase-section-card,
    body:not(.member-portal) .result-highlight-card,
    body:not(.member-portal) .results-loading-card {
        border-radius: 16px;
        padding: 10px;
        box-shadow: 0 10px 24px rgba(15, 23, 42, .055);
    }

    body:not(.member-portal) .phase-metric-label {
        font-size: 9.5px;
    }

    body:not(.member-portal) .phase-metric-value {
        font-size: 14px;
        margin-top: 4px;
    }

    body:not(.member-portal) .phase-section-title {
        font-size: 14px;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table tbody,
    body:not(.member-portal) .results-panel table.data-table tbody,
    body:not(.member-portal) table.data-table.mobile-result-card-table,
    body:not(.member-portal) .results-panel table.data-table {
        gap: 8px;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table tr,
    body:not(.member-portal) .results-panel table.data-table tr {
        border-radius: 16px;
        padding: 10px;
        box-shadow: 0 9px 22px rgba(15, 23, 42, .05);
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table td,
    body:not(.member-portal) .results-panel table.data-table td {
        grid-template-columns: minmax(78px, 30%) minmax(0, 1fr);
        gap: 8px;
        padding: 7px 0 !important;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table td::before,
    body:not(.member-portal) .results-panel table.data-table td::before {
        font-size: 9px;
        letter-spacing: .06em;
    }

    body:not(.member-portal) .mobile-result-card-row::before {
        margin-bottom: 5px;
        font-size: 13px;
    }

    body:not(.member-portal) .mobile-result-message-card,
    body:not(.member-portal) .no-results,
    body:not(.member-portal) .phase-warning-box,
    body:not(.member-portal) .phase-inline-note {
        border-radius: 15px;
        padding: 12px;
        line-height: 1.4;
    }
}

@media (max-width: 430px) {
    .mobile-app-shell {
        padding: 8px 8px 0;
    }

    .content-wrapper {
        padding: 8px 8px 0 !important;
    }

    .mobile-hero-card {
        padding: 10px;
        border-radius: 18px;
    }

    .mobile-hero-copy {
        display: none;
    }

    .mobile-hero-title {
        font-size: 20px;
    }

    .mobile-hero-actions {
        margin-top: 8px;
    }

    .mobile-primary-action,
    .mobile-secondary-action {
        min-height: 36px;
        font-size: 12px;
    }

    .mobile-tool-card {
        min-height: 96px;
        padding: 10px;
    }

    .mobile-tool-card .mobile-tool-desc {
        -webkit-line-clamp: 1;
    }

    .mobile-tool-list-row .mobile-tool-desc {
        display: none;
    }

    .mobile-bottom-tabs {
        left: 6px;
        right: 6px;
        padding: 5px;
    }

    .mobile-tab-btn {
        min-height: 44px;
        font-size: 9.5px;
    }

    .tool-section.active {
        padding: 12px !important;
    }

    body:not(.member-portal) table.data-table.mobile-result-card-table td,
    body:not(.member-portal) .results-panel table.data-table td {
        grid-template-columns: 1fr;
        gap: 3px;
        padding: 6px 0 !important;
    }
}

/* v1.54.1 Redirect Import Tester export hardening */
.redirect-import-export-panel {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--border-color, rgba(148, 163, 184, 0.28));
  border-radius: 16px;
  background: var(--panel-muted-bg, rgba(15, 23, 42, 0.035));
}

.redirect-import-export-actions {
  gap: 8px;
  flex-wrap: wrap;
}

.redirect-import-export-actions .btn {
  min-height: 38px;
}

@media (max-width: 640px) {
  .redirect-import-export-panel {
    padding: 12px;
    border-radius: 14px;
  }
  .redirect-import-export-actions .btn {
    width: 100%;
    justify-content: center;
  }
}

/* v1.54.4 DNS Watcher existing-watch dashboard and density polish */
.dns-watch-command-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 14px;
}
.dns-watch-dashboard-panel {
    margin-top: 12px;
    border-width: 1px;
}
.dns-watch-dashboard-header {
    gap: 12px;
    align-items: flex-start;
}
.dns-watch-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}
.dns-watch-search {
    width: min(260px, 44vw);
    min-width: 180px;
}
.dns-watch-status-select {
    width: auto;
    min-width: 150px;
}
.dns-watch-topline {
    padding: 12px 16px 0;
}
.dns-watch-dashboard-metrics {
    margin-bottom: 8px;
}
.dns-watch-attention-list {
    display: grid;
    gap: 8px;
    padding: 0 16px 8px;
}
.dns-watch-activity-digest { padding: 0 16px 12px; }
.dns-watch-digest-panel,
.dns-watch-follow-up {
    border: 1px solid var(--border-color, #d8e0ea);
    border-radius: 12px;
    background: var(--bg-primary, #fff);
}
.dns-watch-digest-panel { padding: 14px; }
.dns-watch-digest-heading,
.dns-watch-digest-item,
.dns-watch-follow-up,
.dns-watch-follow-up-controls {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}
.dns-watch-digest-heading span,
.dns-watch-digest-item p,
.dns-watch-digest-item small,
.dns-watch-follow-up p { display: block; margin: 3px 0 0; color: var(--text-secondary, #667085); }
.dns-watch-digest-counts { display: flex; gap: 8px; flex-wrap: wrap; }
.dns-watch-digest-counts span { margin: 0; padding: 3px 8px; border-radius: 999px; background: #eef4fb; color: inherit; font-size: 12px; }
.dns-watch-digest-list { display: grid; gap: 8px; margin-top: 12px; }
.dns-watch-digest-item { padding: 10px; border: 1px solid #e4eaf1; border-radius: 9px; align-items: flex-start; }
.dns-watch-digest-item.needs-attention { border-left: 4px solid var(--danger-color, #c43838); }
.dns-watch-digest-item.review-due { border-left: 4px solid var(--warning-color, #a86600); }
.dns-watch-digest-item > div:first-child { min-width: 0; overflow-wrap: anywhere; }
.dns-watch-digest-item p { font-size: 13px; }
.dns-watch-digest-actions { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.dns-watch-follow-up { margin: 14px 0; padding: 12px; align-items: flex-start; }
.dns-watch-follow-up > div:first-child { min-width: 0; }
.dns-watch-follow-up-controls { flex-wrap: wrap; justify-content: flex-end; }
.dns-watch-follow-up-controls select { min-width: 138px; width: auto; }
.dns-watch-attention-heading {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-secondary);
    font-weight: 700;
}
.dns-watch-attention-card {
    text-align: left;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-primary);
    padding: 9px 11px;
    display: grid;
    gap: 3px;
    cursor: pointer;
    color: var(--text-primary);
}
.dns-watch-attention-card.success { border-color: rgba(40, 167, 69, .38); }
.dns-watch-attention-card.warning { border-color: rgba(255, 193, 7, .55); }
.dns-watch-attention-card.danger { border-color: rgba(220, 53, 69, .45); }
.dns-watch-attention-card:focus-visible,
.dns-watch-attention-card:hover {
    outline: none;
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}
.dns-watch-create-panel {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--bg-primary);
}
.dns-watch-create-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.dns-watch-create-header h3 {
    margin: 0 0 4px;
    font-size: 18px;
}
.dns-watch-dashboard-list {
    gap: 10px;
}
.dns-watch-status-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
    align-items: center;
}
.dns-watch-attention-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1;
    padding: 5px 8px;
    font-weight: 700;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    color: var(--text-secondary);
}
.dns-watch-attention-pill.success { color: var(--success-color); border-color: rgba(40, 167, 69, .35); }
.dns-watch-attention-pill.warning { color: var(--warning-color); border-color: rgba(255, 193, 7, .55); }
.dns-watch-attention-pill.danger { color: var(--danger-color); border-color: rgba(220, 53, 69, .45); }
.dns-watch-card-focus,
.dns-watch-row-focus {
    animation: dns-watch-focus-pulse 1.8s ease-out;
}
.dns-watch-card-linked,
.dns-watch-row-linked {
    border-color: rgba(0, 123, 255, .55);
    box-shadow: 0 0 0 2px rgba(0, 123, 255, .12);
    background: linear-gradient(90deg, rgba(0, 123, 255, .06), var(--bg-primary) 42%);
}
.dns-watch-linked-panel {
    padding: 0 16px 12px;
}
.dns-watch-linked-summary {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid rgba(0, 123, 255, .35);
    border-radius: 14px;
    background: rgba(0, 123, 255, .07);
    padding: 14px;
}
.dns-watch-linked-summary.warning {
    border-color: rgba(255, 193, 7, .55);
    background: rgba(255, 193, 7, .08);
}
.dns-watch-linked-copy {
    min-width: 0;
}
.dns-watch-linked-kicker {
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    margin-bottom: 3px;
}
.dns-watch-linked-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin: 6px 0;
    color: var(--text-secondary);
    font-size: 13px;
}
.dns-watch-linked-facts span {
    overflow-wrap: anywhere;
}
.dns-watch-linked-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 0 auto;
}
@keyframes dns-watch-focus-pulse {
    0% { box-shadow: 0 0 0 0 rgba(0, 123, 255, .35); }
    60% { box-shadow: 0 0 0 8px rgba(0, 123, 255, .08); }
    100% { box-shadow: 0 0 0 0 rgba(0, 123, 255, 0); }
}
.dns-watch-empty-state {
    border: 1px dashed var(--border-color);
    border-radius: 12px;
    padding: 16px;
    background: var(--bg-secondary);
}
.dns-watch-empty-state p {
    margin: 6px 0 12px;
    color: var(--text-secondary);
}
@media (max-width: 760px) {
    .dns-watch-linked-summary {
        flex-direction: column;
    }
    .dns-watch-linked-actions {
        justify-content: flex-start;
    }
    .dns-watch-dashboard-header,
    .dns-watch-toolbar,
    .dns-watch-create-header,
    .dns-watch-row-heading {
        display: grid;
        justify-content: stretch;
    }
    .dns-watch-search,
    .dns-watch-status-select {
        width: 100%;
        min-width: 0;
    }
    .dns-watch-create-panel {
        padding: 12px;
        border-radius: 12px;
    }
    .dns-watch-topline,
    .dns-watch-attention-list,
    .dns-watch-activity-digest,
    #dnsWatcherJobs {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* v1.54.5 DNS Watcher view split and compact existing-watch CTA */
.dns-watch-view-tabs .btn[aria-pressed="true"] {
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .12);
}
.dns-watch-existing-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 14px;
    padding: 12px 14px;
    border: 1px solid rgba(37, 99, 235, .18);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(37, 99, 235, .08), rgba(16, 185, 129, .06));
}
.dns-watch-existing-cta[hidden],
[data-dns-watch-view][hidden],
#dnsWatcherCreateTab[hidden],
#dnsWatcherExistingTab[hidden],
#dnsWatcherRefreshButton[hidden] {
    display: none !important;
}

/* v1.58.14 DNS Watch workspace-first navigation and compact status overview */
.dns-watch-section-heading {
    align-items: flex-start;
    margin-bottom: 10px;
}
.dns-watch-section-heading .section-subtitle {
    max-width: 820px;
    margin: 6px 0 0;
}
.dns-watch-header-actions {
    margin: 0;
    justify-content: flex-end;
}
.dns-watch-create-action {
    min-height: 44px;
    box-sizing: border-box;
}
.dns-watch-metric-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 18px;
    padding: 0 0 10px;
    border-bottom: 1px solid var(--border-color);
}
.dns-watch-metric-item {
    appearance: none;
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
    min-height: 36px;
    padding: 5px 2px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--text-secondary);
    font: inherit;
    cursor: pointer;
}
.dns-watch-metric-item span {
    font-size: 12px;
    font-weight: 750;
}
.dns-watch-metric-item strong {
    color: var(--text-primary);
    font-size: 17px;
}
.dns-watch-metric-item:hover,
.dns-watch-metric-item:focus-visible,
.dns-watch-metric-item.is-active {
    color: var(--primary-color);
    border-bottom-color: var(--primary-color);
    outline: none;
}
.dns-watch-attention-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-left: 4px solid var(--warning-color, #d97706);
    background: color-mix(in srgb, var(--warning-color, #d97706) 8%, var(--bg-primary));
    border-radius: 8px;
}
.dns-watch-attention-banner > div {
    min-width: 0;
}
.dns-watch-attention-banner strong,
.dns-watch-attention-banner span {
    display: block;
}
.dns-watch-attention-banner span {
    margin-top: 2px;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.4;
}
@media (max-width: 760px) {
    .dns-watch-section-heading .section-title-actions,
    .dns-watch-header-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }
    .dns-watch-header-actions .btn {
        width: 100%;
        justify-content: center;
    }
    .dns-watch-metric-strip {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2px 12px;
    }
    .dns-watch-metric-item {
        justify-content: space-between;
        min-width: 0;
    }
    .dns-watch-attention-banner {
        align-items: stretch;
        flex-direction: column;
    }
    .dns-watch-attention-banner .btn {
        width: 100%;
        justify-content: center;
    }
    .dns-watch-digest-heading,
    .dns-watch-digest-item,
    .dns-watch-follow-up {
        align-items: stretch;
        flex-direction: column;
    }
    .dns-watch-digest-actions,
    .dns-watch-follow-up-controls {
        width: 100%;
        justify-content: stretch;
    }
    .dns-watch-digest-actions .btn,
    .dns-watch-follow-up-controls .btn,
    .dns-watch-follow-up-controls select { flex: 1 1 145px; width: 100%; }
}
@media (max-width: 420px) {
    .dns-watch-section-heading .section-title-actions,
    .dns-watch-header-actions {
        grid-template-columns: 1fr;
    }
}

/* v1.58.15 DNS Watch guided setup, compact actions, and DNS handoff copy */
.dns-watch-setup-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
}
.dns-watch-setup-steps li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-secondary);
}
.dns-watch-setup-steps li > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--primary-color) 12%, var(--bg-primary));
    color: var(--primary-color);
    font-size: 12px;
    font-weight: 850;
}
.dns-watch-setup-steps strong,
.dns-watch-setup-steps small {
    display: block;
    overflow-wrap: anywhere;
}
.dns-watch-setup-steps strong { font-size: 13px; }
.dns-watch-setup-steps small {
    margin-top: 2px;
    color: var(--text-secondary);
    font-size: 11px;
    line-height: 1.35;
}
.dns-watch-setup-options {
    margin: 2px 0 14px;
    border: 1px solid var(--border-color);
    border-radius: 11px;
    background: var(--bg-secondary);
}
.dns-watch-setup-options > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    padding: 9px 12px;
    cursor: pointer;
    font-weight: 750;
}
.dns-watch-setup-options > summary small {
    color: var(--text-secondary);
    font-weight: 650;
}
.dns-watch-setup-options-body {
    padding: 12px 12px 0;
    border-top: 1px solid var(--border-color);
}
.dns-watch-create-panel #dnsWatcherNotes {
    height: auto;
    min-height: 84px;
    resize: vertical;
}
.dns-watch-row-more {
    min-width: 0;
}
.dns-watch-row-more > summary {
    list-style: none;
    cursor: pointer;
}
.dns-watch-row-more > summary::-webkit-details-marker { display: none; }
.dns-watch-row-more[open] {
    flex: 1 1 100%;
    width: 100%;
}
.dns-watch-row-more-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
    padding: 10px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-secondary);
}
.dns-watch-detail-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.dns-watch-detail-toolbar strong,
.dns-watch-detail-toolbar span { display: block; }
.dns-watch-detail-toolbar span {
    margin-top: 2px;
    color: var(--text-secondary);
    font-size: 12px;
}

.dns-watch-linked-handoffs {
    margin: 0 0 16px;
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--primary-color) 24%, var(--border-color));
    border-radius: 12px;
    background: color-mix(in srgb, var(--primary-color) 5%, var(--card-bg));
}

.dns-watch-linked-handoffs-heading,
.dns-watch-linked-handoff {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.dns-watch-linked-handoffs p,
.dns-watch-linked-handoff span {
    display: block;
    margin: 3px 0 0;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.45;
}

.dns-watch-linked-handoffs-heading > span {
    min-width: 28px;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--bg-secondary);
    text-align: center;
    font-size: 12px;
    font-weight: 700;
}

.dns-watch-linked-handoff-list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.dns-watch-linked-handoff {
    padding: 10px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--card-bg);
}

@media (max-width: 560px) {
    .dns-watch-linked-handoff { display: grid; }
    .dns-watch-linked-handoff .btn { width: 100%; justify-content: center; }
}
@media (max-width: 760px) {
    .dns-watch-setup-steps { grid-template-columns: 1fr; }
    .dns-watch-simple-options > .form-group,
    .dns-watch-start-options > .form-group {
        flex: 0 0 auto;
        width: 100%;
    }
    .dns-watch-create-panel #dnsWatcherNotes {
        height: 96px;
        min-height: 96px;
    }
    .dns-watch-primary-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .dns-watch-primary-actions .btn { width: 100%; justify-content: center; }
    .dns-watch-row-more { grid-column: 1 / -1; width: 100%; }
    .dns-watch-row-more > summary { width: 100%; justify-content: center; }
    .dns-watch-row-more-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dns-watch-row-more-menu .btn { width: 100%; justify-content: center; }
    .dns-watch-detail-toolbar { display: grid; }
    .dns-watch-detail-toolbar .btn { width: 100%; justify-content: center; }
}
@media (max-width: 460px) {
    .dns-watch-primary-actions,
    .dns-watch-row-more-menu { grid-template-columns: 1fr; }
}
.dns-watch-existing-cta strong {
    display: block;
    margin-bottom: 2px;
}
.whois-summary-strip,
.registrar-summary-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    margin: 12px 0 16px;
}
.lookup-signal-card {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 12px;
    background: var(--bg-secondary);
}
.lookup-signal-card .kicker {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-secondary);
    font-weight: 800;
    margin-bottom: 4px;
}
.lookup-signal-card .value {
    font-weight: 800;
    color: var(--text-primary);
    overflow-wrap: anywhere;
}
.lookup-inline-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 10px 0;
}
.lookup-inline-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 8px;
    border-radius: 999px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    font-size: 12px;
    font-weight: 700;
    color: var(--text-secondary);
    max-width: 100%;
    overflow-wrap: anywhere;
}
.whois-classification {
    display: grid;
    gap: 4px;
    margin-bottom: 14px;
}
.whois-classification strong { font-size: 16px; }
.registration-source-panel,
.registration-discrepancy-panel {
    min-width: 0;
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-secondary);
    overflow-wrap: anywhere;
}
.registration-source-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
}
.registration-source-heading h3 { margin: 2px 0 0; font-size: 16px; }
.registration-source-heading > strong { color: var(--text-secondary); font-size: 12px; text-align: right; }
.registration-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.registration-source-card {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-left: 4px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-primary);
}
.registration-source-card.is-success { border-left-color: var(--success-color, #15803d); }
.registration-source-card.is-warning { border-left-color: var(--warning-color, #b45309); }
.registration-source-card.is-danger { border-left-color: var(--danger-color, #b91c1c); }
.registration-source-card.is-info { border-left-color: var(--primary-color, #2563eb); }
.registration-source-card > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; }
.registration-source-card > div span,
.registration-source-card small,
.registration-source-warning { color: var(--text-secondary); font-size: 12px; }
.registration-source-card p { margin: 8px 0; line-height: 1.45; }
.registration-source-card small { display: block; overflow-wrap: anywhere; }
.registration-source-warning { margin: 10px 0 0; }
.registration-source-badge {
    display: inline-flex;
    padding: 2px 6px;
    border-radius: 999px;
    font-size: 9px !important;
    font-weight: 850;
    letter-spacing: .04em;
    line-height: 1.35;
    vertical-align: middle;
}
.registration-source-badge.is-rdap { color: #1d4ed8; background: rgba(37, 99, 235, .10); }
.registration-source-badge.is-whois { color: #6d28d9; background: rgba(124, 58, 237, .10); }
.registration-discrepancy-panel { border-left: 4px solid var(--warning-color, #b45309); }
.registration-discrepancy-panel h3 { display: flex; gap: 8px; margin: 0; font-size: 16px; }
.registration-discrepancy-panel h3 span { color: var(--warning-color, #b45309); }
.registration-discrepancy-panel p { margin: 6px 0 10px; color: var(--text-secondary); }
.registration-discrepancy-panel ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.registration-discrepancy-panel li { display: grid; grid-template-columns: minmax(110px, .35fr) minmax(0, 1.65fr); gap: 10px; padding-top: 8px; border-top: 1px solid var(--border-color); }
.whois-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.whois-primary-detail,
.whois-detail-section {
    min-width: 0;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-secondary);
}
.whois-primary-detail { display: grid; align-content: start; gap: 5px; padding: 13px; }
.whois-primary-detail > span {
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.whois-primary-detail strong,
.whois-primary-detail small { overflow-wrap: anywhere; }
.whois-registrar-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    width: fit-content;
    max-width: 100%;
    color: var(--primary-color, #2563eb);
    font-weight: 800;
    overflow-wrap: anywhere;
    text-decoration: none;
}
.whois-registrar-link:hover,
.whois-registrar-link:focus-visible { text-decoration: underline; }
.whois-registrar-contact .btn { width: fit-content; max-width: 100%; }
.whois-registrar-contact p { margin: 8px 0 0; }
.whois-registrar-visit { margin-top: 8px; font-size: 12px; }

/* v1.56.97 Share dialog containment and generated-link visibility */
.share-dialog-overlay {
    overflow-y: auto;
    overscroll-behavior: contain;
}
.share-dialog {
    display: flex;
    flex-direction: column;
    max-height: min(88vh, 860px);
    max-height: min(88dvh, 860px);
    overflow: hidden;
}
.share-dialog-header,
.share-dialog-actions {
    flex: 0 0 auto;
}
.share-dialog-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}
.share-dialog-actions {
    position: relative;
    z-index: 1;
    padding-top: 16px;
    border-top: 1px solid var(--border-color);
    background: var(--bg-primary);
    box-shadow: 0 -10px 24px rgba(15, 23, 42, 0.04);
}
.share-dialog-result {
    scroll-margin-block: 16px;
}
@media (max-width: 768px) {
    .share-dialog-overlay { overflow: hidden; }
    .share-dialog {
        max-height: min(92vh, 860px);
        max-height: min(92dvh, 860px);
    }
    .share-dialog-actions { position: relative; bottom: auto; }
}

/* v1.56.95 DNS Watch read-only sharing */
.dns-watch-share-panel {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin: 2px 0 4px;
    padding: 16px;
    border: 1px solid var(--border-color, #d8e1ec);
    border-radius: 12px;
    background: var(--surface-soft, #f7f9fc);
}
.dns-watch-share-panel[hidden] { display: none !important; }
.dns-watch-share-copy { display: grid; gap: 6px; min-width: 0; flex: 1 1 520px; }
.dns-watch-share-copy > span { color: var(--text-muted, #5f6f82); line-height: 1.5; }
.dns-watch-share-copy label { margin-top: 4px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.dns-watch-share-copy input { width: 100%; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.dns-watch-share-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
@media (max-width: 760px) {
    .dns-watch-share-panel { align-items: stretch; flex-direction: column; }
    .dns-watch-share-actions { justify-content: stretch; }
    .dns-watch-share-actions .btn { flex: 1 1 145px; text-align: center; }
}
.whois-primary-detail small { color: var(--text-secondary); }
.whois-detail-grid {
    display: grid;
    grid-template-columns: minmax(240px, .75fr) minmax(300px, 1.25fr);
    gap: 12px;
    margin-bottom: 12px;
}
.whois-detail-section { padding: 14px; margin-bottom: 12px; }
.whois-detail-grid .whois-detail-section { margin-bottom: 0; }
.whois-detail-section h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    font-size: 15px;
}
.whois-detail-section h3 > span {
    padding: 2px 7px;
    border-radius: 999px;
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: 11px;
}
.whois-timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; }
.whois-timeline div { min-width: 0; }
.whois-timeline dt { color: var(--text-secondary); font-size: 12px; font-weight: 750; }
.whois-timeline dd { display: grid; gap: 4px; margin: 3px 0 0; font-weight: 750; overflow-wrap: anywhere; }
.whois-date-state { color: var(--text-secondary); font-weight: 700; }
.whois-date-state.is-danger { color: var(--danger-color, #b91c1c); }
.whois-date-state.is-warning { color: var(--warning-color, #b45309); }
.whois-date-state.is-success { color: var(--success-color, #15803d); }
.whois-value-list,
.whois-status-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.whois-value-list li,
.whois-status-row { min-width: 0; overflow-wrap: anywhere; }
.whois-value-list code,
.whois-status-row code { white-space: normal; overflow-wrap: anywhere; }
.whois-status-row { display: grid; gap: 3px; padding-bottom: 8px; border-bottom: 1px solid var(--border-color); }
.whois-status-row:last-child { padding-bottom: 0; border-bottom: 0; }
.whois-status-row span { color: var(--text-secondary); font-size: 12px; }
.whois-status-row.is-attention code,
.whois-status-row.is-attention span { color: var(--danger-color, #b91c1c); }
.whois-technical-details { margin-top: 10px; }
.whois-technical-details > .muted { margin: 8px 0; }
@media (max-width: 900px) {
    .whois-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .whois-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .registration-source-heading { display: grid; }
    .registration-source-heading > strong { text-align: left; }
    .registration-source-grid,
    .registration-discrepancy-panel li { grid-template-columns: 1fr; }
    .whois-overview,
    .whois-timeline { grid-template-columns: 1fr; }
    .whois-primary-detail,
    .whois-detail-section { border-radius: 10px; }
}
@media (max-width: 760px) {
    .dns-watch-existing-cta {
        display: grid;
        gap: 10px;
    }
    .dns-watch-existing-cta .btn {
        width: 100%;
        justify-content: center;
    }
}

/* v1.54.6 Frontend Redirect Import Tester */
.frontend-redirect-import-form {
    display: grid;
    gap: 14px;
}
.frontend-redirect-import-form .redirect-import-live-card {
    min-height: 100%;
    align-items: center;
}
#redirect-import-tester .redirect-import-progress {
    margin-top: 14px;
}
#redirect-import-tester .results-panel {
    margin-top: 14px;
}
#redirect-import-tester .table-scroll {
    max-width: 100%;
    overflow-x: auto;
}
#redirect-import-tester table.data-table td,
#redirect-import-tester table.data-table th {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}
@media (max-width: 720px) {
    #redirect-import-tester .action-button-row .btn,
    #redirect-import-tester .redirect-import-export-actions .btn {
        width: 100%;
        justify-content: center;
    }
}

/* v1.54.8 Redirect Import Tester reliability hardening */
.redirect-import-summary-grid,
.redirect-import-file-grid {
    margin-bottom: 14px;
}
.redirect-import-file-card .muted {
    line-height: 1.45;
}
.redirect-import-section-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin: 16px 0 8px;
}
.redirect-import-section-heading h3 {
    margin: 0;
    font-size: 16px;
}
.redirect-import-details {
    margin-top: 14px;
    border: 1px solid var(--border-color, rgba(148, 163, 184, 0.28));
    border-radius: 16px;
    background: var(--card-bg, #fff);
    overflow: hidden;
}
.redirect-import-details > summary {
    cursor: pointer;
    padding: 12px 14px;
    background: var(--panel-muted-bg, rgba(15, 23, 42, 0.035));
}
.redirect-import-phase-list,
.redirect-import-row-issue-list {
    list-style: none;
    margin: 0;
    padding: 12px 14px;
    display: grid;
    gap: 10px;
}
.redirect-import-phase-item,
.redirect-import-row-issue-list li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
}
.redirect-import-table-scroll {
    border: 1px solid var(--border-color, rgba(148, 163, 184, 0.28));
    border-radius: 14px;
    overflow: auto;
    background: var(--card-bg, #fff);
}
/* Keep column labels in view while reviewing a long redirect report. */
@media (min-width: 769px) {
    #redirect-import-tester .redirect-import-table-scroll {
        max-height: min(68vh, 48rem);
        max-height: min(68dvh, 48rem);
        scroll-padding-top: 3.5rem;
    }
    #redirect-import-tester .redirect-import-table-scroll .data-table {
        overflow: visible;
        margin-top: 0;
        border-collapse: separate;
        border-spacing: 0;
    }
    #redirect-import-tester .redirect-import-table-scroll th {
        position: sticky;
        top: 0;
        z-index: 3;
        background: var(--bg-secondary);
        box-shadow: 0 1px 0 var(--border-color);
    }
    body[data-interface="workbench"] #redirect-import-tester .redirect-import-table-scroll th {
        background: var(--wb-panel);
    }
}
.redirect-import-table-scroll:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}
.redirect-import-row-detail-card {
    padding: 14px;
    border-radius: 14px;
    background: var(--panel-muted-bg, rgba(15, 23, 42, 0.035));
}
.redirect-import-row-detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}
.redirect-import-row-detail-grid div {
    display: grid;
    gap: 4px;
}
.redirect-import-row-detail-grid code,
.redirect-import-row-detail-grid span {
    overflow-wrap: anywhere;
    white-space: normal;
}
.redirect-import-row-detail-actions {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
}
.redirect-import-row-failed > td {
    background: rgba(239, 68, 68, 0.055);
}
.redirect-import-row-warning > td {
    background: rgba(245, 158, 11, 0.065);
}
.btn.btn-xs {
    min-height: 28px;
    padding: 4px 9px;
    font-size: 12px;
}
@media (max-width: 720px) {
    .redirect-import-section-heading {
        display: grid;
        gap: 4px;
    }
    .redirect-import-row-detail-grid {
        grid-template-columns: 1fr;
    }
}

/* v1.54.10 Hosting Provider Lookup spacing polish */
.hosting-provider-caveat {
  margin: 14px 0 16px;
  max-width: 920px;
}
.hosting-provider-action-row {
  margin-top: 0;
  margin-bottom: 16px;
}

/* v1.54.13 Redirect Import Tester UX clarification */
#redirect-import-tester .stats-grid,
.redirect-import-summary-grid,
.redirect-import-file-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin: 14px 0;
}
#redirect-import-tester .stat-card,
.redirect-import-file-card {
  border: 1px solid var(--border-color, rgba(148, 163, 184, 0.28));
  border-radius: 16px;
  padding: 14px;
  background: var(--card-bg, var(--bg-primary, #fff));
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  min-width: 0;
}
#redirect-import-tester .stat-value {
  font-size: clamp(24px, 4vw, 34px);
  line-height: 1;
  font-weight: 850;
  letter-spacing: -0.04em;
  color: var(--text-primary, #0f172a);
  overflow-wrap: anywhere;
}
#redirect-import-tester .stat-label {
  margin-top: 7px;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.055em;
  color: var(--text-primary, #0f172a);
}
#redirect-import-tester .stat-card .muted {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.35;
}
#redirect-import-tester .command-center-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 1px solid var(--border-color, rgba(148, 163, 184, 0.32));
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 850;
  line-height: 1;
  color: var(--text-secondary, #475569);
  background: var(--bg-secondary, #f8fafc);
  white-space: nowrap;
}
#redirect-import-tester .command-center-pill.status-success,
#redirect-import-tester .command-center-pill.status-ok {
  color: #15803d;
  border-color: rgba(34, 197, 94, 0.36);
  background: rgba(34, 197, 94, 0.10);
}
#redirect-import-tester .command-center-pill.status-warning,
#redirect-import-tester .command-center-pill.status-warn {
  color: #92400e;
  border-color: rgba(245, 158, 11, 0.42);
  background: rgba(245, 158, 11, 0.13);
}
#redirect-import-tester .command-center-pill.status-danger,
#redirect-import-tester .command-center-pill.status-bad {
  color: #b91c1c;
  border-color: rgba(239, 68, 68, 0.38);
  background: rgba(239, 68, 68, 0.11);
}
.redirect-import-decision-card {
  margin: 16px 0 14px;
  padding: 16px 18px;
  border: 1px solid var(--border-color, rgba(148, 163, 184, 0.28));
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.08), rgba(14, 165, 233, 0.04));
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}
.redirect-import-decision-card.is-blocked {
  border-color: rgba(239, 68, 68, 0.34);
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.11), rgba(245, 158, 11, 0.08));
}
.redirect-import-decision-card.is-warning {
  border-color: rgba(245, 158, 11, 0.40);
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.13), rgba(59, 130, 246, 0.06));
}
.redirect-import-decision-card.is-clean {
  border-color: rgba(34, 197, 94, 0.35);
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.12), rgba(14, 165, 233, 0.05));
}
.redirect-import-decision-kicker {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.075em;
  text-transform: uppercase;
  color: var(--text-secondary, #475569);
  margin-bottom: 5px;
}
.redirect-import-decision-title {
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 900;
  line-height: 1.1;
  color: var(--text-primary, #0f172a);
}
.redirect-import-decision-card p {
  margin: 8px 0 0;
  color: var(--text-primary, #0f172a);
  line-height: 1.45;
}
.redirect-import-decision-meta {
  margin-top: 10px;
  color: var(--text-secondary, #475569);
  font-size: 12px;
  line-height: 1.4;
}
.redirect-import-issue-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.redirect-import-primary-issue {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--border-color, rgba(148, 163, 184, 0.28));
  border-radius: 14px;
  background: var(--bg-primary, #fff);
}
.redirect-import-fix-hint {
  margin-top: 7px;
  font-size: 12px;
  font-weight: 700;
  color: var(--text-primary, #0f172a);
}
.redirect-import-secondary-issues {
  margin-top: 10px;
}
.redirect-import-secondary-issues > summary {
  cursor: pointer;
  color: var(--text-secondary, #475569);
  font-size: 12px;
  font-weight: 800;
}
.redirect-import-row-focus > td,
.redirect-import-row-detail.redirect-import-row-focus > td {
  animation: redirect-import-focus-pulse 2.1s ease-out;
  outline: 2px solid rgba(37, 99, 235, 0.42);
  outline-offset: -2px;
}
@keyframes redirect-import-focus-pulse {
  0% { box-shadow: inset 0 0 0 999px rgba(37, 99, 235, 0.12), 0 0 0 0 rgba(37, 99, 235, 0.35); }
  60% { box-shadow: inset 0 0 0 999px rgba(37, 99, 235, 0.06), 0 0 0 8px rgba(37, 99, 235, 0.08); }
  100% { box-shadow: inset 0 0 0 999px rgba(37, 99, 235, 0), 0 0 0 0 rgba(37, 99, 235, 0); }
}
body:is(.theme-dark,.theme-dimmed,.theme-ash) #redirect-import-tester .stat-card,
body.theme-blue #redirect-import-tester .stat-card,
body.theme-terminal #redirect-import-tester .stat-card,
body.theme-purple #redirect-import-tester .stat-card,
body:is(.theme-dark,.theme-dimmed,.theme-ash) .redirect-import-primary-issue,
body.theme-blue .redirect-import-primary-issue,
body.theme-terminal .redirect-import-primary-issue,
body.theme-purple .redirect-import-primary-issue {
  background: rgba(15, 23, 42, 0.42);
}
@media (max-width: 720px) {
  #redirect-import-tester .stats-grid,
  .redirect-import-summary-grid,
  .redirect-import-file-grid {
    grid-template-columns: 1fr;
  }
  .redirect-import-decision-card {
    padding: 14px;
    border-radius: 15px;
  }
}

/* v1.54.15 - SSL result layout optimization */
.ssl-certificate-summary-card {
    border-color: rgba(13, 110, 253, 0.18);
}

.ssl-connection-diagnostics-toggle {
    background: var(--bg-primary);
    border-color: var(--border-color);
    padding: 0;
    overflow: hidden;
}

.ssl-connection-diagnostics-toggle summary {
    display: grid;
    grid-template-columns: minmax(160px, auto) 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    color: var(--text-primary);
}

.ssl-connection-diagnostics-toggle[open] summary {
    margin-bottom: 0;
    border-bottom: 1px solid var(--border-color);
}

.ssl-connection-summary-title {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ssl-connection-summary-label {
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
}

.ssl-connection-summary-badges {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.ssl-stage-mini-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid var(--border-color);
    padding: 3px 8px;
    font-size: 11px;
    line-height: 1.2;
    color: var(--text-secondary);
    background: var(--bg-secondary);
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;
}

.ssl-stage-mini-pill-success {
    border-color: rgba(40, 167, 69, 0.26);
    color: var(--success-color);
    background: rgba(40, 167, 69, 0.08);
}

.ssl-stage-mini-pill-warning {
    border-color: rgba(255, 193, 7, 0.32);
    color: var(--warning-color);
    background: rgba(255, 193, 7, 0.10);
}

.ssl-stage-mini-pill-neutral {
    border-color: rgba(108, 117, 125, 0.26);
    color: var(--text-secondary);
    background: rgba(108, 117, 125, 0.08);
}

.ssl-connection-diagnostics-toggle .ssl-connection-diagnostics-note {
    margin: 14px 16px 0;
}

.ssl-connection-diagnostics-toggle .ssl-connection-stages-table-card {
    margin: 14px 16px 16px;
    box-shadow: none;
}

@media (max-width: 768px) {
    .ssl-connection-diagnostics-toggle summary {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .ssl-connection-summary-badges {
        justify-content: flex-start;
    }
}

/* v1.54.16 - Redirect target SSL message polish */
.ssl-redirect-followup-notice {
    margin-top: 14px;
}

.ssl-redirect-target-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.ssl-redirect-target-meta span {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 12px;
    color: var(--text-secondary);
    background: rgba(108, 117, 125, 0.08);
}

.ssl-redirect-compatibility-note {
    margin-top: 10px;
    line-height: 1.45;
}

.ssl-redirect-technical-details {
    margin-top: 10px;
}

.ssl-redirect-technical-details summary {
    cursor: pointer;
    font-weight: 700;
}

.ssl-redirect-technical-details .pre-content {
    margin-top: 8px;
}

/* v1.54.17 - Batch Status Check reliability hardening */
.notice-card {
    border: 1px solid var(--border-color);
    border-radius: 14px;
    padding: 12px 14px;
    margin: 10px 0;
    line-height: 1.45;
    background: rgba(108, 117, 125, 0.08);
    color: var(--text-primary);
}

.notice-card.info {
    border-color: rgba(23, 162, 184, 0.28);
    background: rgba(23, 162, 184, 0.09);
}

.notice-card.success {
    border-color: rgba(22, 163, 74, 0.28);
    background: rgba(22, 163, 74, 0.09);
}

.notice-card.warning {
    border-color: rgba(255, 193, 7, 0.32);
    background: rgba(255, 193, 7, 0.10);
}

.notice-card.danger {
    border-color: rgba(220, 53, 69, 0.30);
    background: rgba(220, 53, 69, 0.09);
}

.batch-propagation-guidance {
    display: grid;
    gap: 5px;
    margin: 14px 0;
}

.batch-propagation-guidance > span {
    color: var(--text-secondary, #64748b);
}

.batch-propagation-guidance details {
    margin-top: 3px;
}

.batch-propagation-guidance summary {
    width: fit-content;
    cursor: pointer;
    color: var(--primary-color, #2563eb);
    font-size: 0.88rem;
    font-weight: 750;
}

.batch-propagation-guidance p {
    margin: 7px 0 0;
    font-size: 0.88rem;
}

/* v1.54.18 - Batch Status progress, cards, filters, and drilldowns */
.phase-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr));
    max-width: 100%;
    min-width: 0;
}
.phase-metric-card {
    min-width: 0;
    overflow: hidden;
}
.phase-metric-value,
.phase-metric-value-clamp {
    overflow-wrap: anywhere;
    word-break: break-word;
    max-width: 100%;
}
.results-panel,
.results-content,
.phase-results-stack,
.phase-section-card {
    min-width: 0;
    max-width: 100%;
}
.batch-status-progress-card {
    overflow: hidden;
}
.batch-status-progress-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
    gap: 12px;
    margin-top: 12px;
}
.batch-status-progress-focus {
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 12px;
    padding: 12px;
    background: rgba(15, 23, 42, 0.03);
    min-width: 0;
}
.batch-status-progress-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-secondary, #6c757d);
    font-weight: 800;
    margin-bottom: 5px;
}
.batch-status-current-url {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 13px;
    overflow-wrap: anywhere;
}
.batch-status-progress-list {
    margin-top: 12px;
    border: 1px dashed var(--border-color, #dee2e6);
    border-radius: 12px;
    padding: 10px 12px;
}
.batch-status-progress-list summary {
    cursor: pointer;
    font-weight: 700;
}
.batch-status-progress-list ul {
    margin: 10px 0 0;
    padding-left: 18px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 12px;
    overflow-wrap: anywhere;
}
.batch-status-progress-muted {
    color: var(--text-secondary, #6c757d);
    font-family: inherit;
}
.batch-status-filter-panel {
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 16px;
    background: var(--bg-primary, #fff);
    padding: 14px;
    margin: 14px 0;
    max-width: 100%;
    min-width: 0;
}
.batch-status-filter-heading {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
    color: var(--text-primary, #212529);
}
.batch-status-filter-heading span {
    color: var(--text-secondary, #6c757d);
    font-size: 13px;
}
.batch-status-filter-controls {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) minmax(160px, 1fr) minmax(160px, 1fr) auto;
    gap: 10px;
    align-items: end;
}
.batch-status-filter-controls label {
    display: grid;
    gap: 5px;
    min-width: 0;
    font-size: 12px;
    font-weight: 700;
    color: var(--text-secondary, #6c757d);
}
.batch-status-row-list {
    display: grid;
    gap: 12px;
    max-width: 100%;
    min-width: 0;
}
.batch-status-row-card {
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 16px;
    background: var(--bg-primary, #fff);
    padding: 14px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}
.batch-status-row-card[hidden] {
    display: none !important;
}
.batch-status-row-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}
.batch-status-line {
    font-size: 12px;
    font-weight: 800;
    color: var(--text-secondary, #6c757d);
    white-space: nowrap;
}
.batch-status-row-targets {
    min-width: 0;
    display: grid;
    gap: 3px;
}
.batch-status-input-url {
    font-weight: 800;
    color: var(--text-primary, #212529);
    overflow-wrap: anywhere;
}
.batch-status-final-url {
    color: var(--text-secondary, #6c757d);
    font-size: 13px;
    overflow-wrap: anywhere;
}
.batch-status-row-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
    min-width: 0;
}
.batch-status-row-details {
    margin-top: 10px;
    border-top: 1px solid var(--border-color, #dee2e6);
    padding-top: 10px;
}
.batch-status-row-details summary {
    cursor: pointer;
    font-weight: 800;
    color: var(--primary-color, #2563eb);
}
.batch-status-detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
    gap: 10px;
    margin-top: 12px;
}
.batch-status-detail-block {
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 12px;
    padding: 10px;
    background: rgba(15, 23, 42, 0.025);
    min-width: 0;
    overflow-wrap: anywhere;
}
.batch-status-detail-block strong {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-secondary, #6c757d);
    margin-bottom: 5px;
}
.batch-status-detail-block ul {
    margin: 6px 0 0;
    padding-left: 18px;
}
.batch-status-chain-block {
    margin-top: 10px;
}
.batch-status-chain-list {
    display: grid;
    gap: 8px;
    margin: 8px 0 0;
    padding-left: 0;
    list-style: none;
}
.batch-status-chain-hop {
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 12px;
    padding: 10px;
    background: var(--bg-primary, #fff);
}
.batch-status-chain-topline {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    margin-bottom: 7px;
    color: var(--text-secondary, #6c757d);
    font-size: 12px;
    font-weight: 700;
}
.batch-status-chain-url,
.batch-status-chain-location {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 12px;
    overflow-wrap: anywhere;
}
.batch-status-chain-location {
    margin-top: 4px;
    color: var(--text-secondary, #6c757d);
}
.batch-status-empty-chain {
    color: var(--text-secondary, #6c757d);
    font-size: 13px;
}
body:is(.theme-dark,.theme-dimmed,.theme-ash) .batch-status-progress-focus,
body.theme-blue .batch-status-progress-focus,
body.theme-terminal .batch-status-progress-focus,
body.theme-purple .batch-status-progress-focus,
body:is(.theme-dark,.theme-dimmed,.theme-ash) .batch-status-filter-panel,
body.theme-blue .batch-status-filter-panel,
body.theme-terminal .batch-status-filter-panel,
body.theme-purple .batch-status-filter-panel,
body:is(.theme-dark,.theme-dimmed,.theme-ash) .batch-status-row-card,
body.theme-blue .batch-status-row-card,
body.theme-terminal .batch-status-row-card,
body.theme-purple .batch-status-row-card,
body:is(.theme-dark,.theme-dimmed,.theme-ash) .batch-status-detail-block,
body.theme-blue .batch-status-detail-block,
body.theme-terminal .batch-status-detail-block,
body.theme-purple .batch-status-detail-block,
body:is(.theme-dark,.theme-dimmed,.theme-ash) .batch-status-chain-hop,
body.theme-blue .batch-status-chain-hop,
body.theme-terminal .batch-status-chain-hop,
body.theme-purple .batch-status-chain-hop {
    background: var(--bg-primary);
    color: var(--text-primary);
    border-color: var(--border-color);
}
@media (max-width: 820px) {
    .batch-status-filter-controls {
        grid-template-columns: 1fr;
    }
    .batch-status-filter-controls .btn {
        width: 100%;
    }
    .batch-status-row-main {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .batch-status-row-badges {
        justify-content: flex-start;
    }
    .batch-status-line {
        white-space: normal;
    }
}


/* v1.54.19 - Batch DNS current-domain progress */
.batch-dns-progress-card,
.batch-dns-progress-grid,
.batch-dns-progress-list {
    max-width: 100%;
    min-width: 0;
}
.batch-dns-current-domain {
    overflow-wrap: anywhere;
}

/* v1.54.20 - Saved snapshot responsive view and batch drilldowns */
.shared-snapshot-results-content {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}
.shared-snapshot-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
}
.shared-snapshot-data-table {
    table-layout: fixed;
    min-width: min(980px, 100%);
}
.shared-snapshot-data-table th,
.shared-snapshot-data-table td {
    max-width: 260px;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
    vertical-align: top;
}
.shared-batch-toolbar {
    padding: 16px 24px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-secondary);
    display: grid;
    gap: 12px;
}
.shared-batch-toolbar-title {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    color: var(--text-primary);
}
.shared-batch-toolbar-title span {
    color: var(--text-secondary);
    font-size: 13px;
}
.shared-batch-filters {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) minmax(160px, 1fr) minmax(160px, 1fr) auto;
    gap: 10px;
    align-items: end;
}
.shared-batch-filters label {
    display: grid;
    gap: 5px;
    min-width: 0;
    font-size: 12px;
    font-weight: 700;
    color: var(--text-secondary);
}
.shared-batch-status-list {
    display: grid;
    gap: 12px;
    padding: 16px 24px 24px;
    max-width: 100%;
    min-width: 0;
}
.shared-batch-live {
    margin: 16px 24px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    overflow: hidden;
    min-width: 0;
}
.shared-batch-live-content { padding: 0 16px 16px; }
.shared-batch-original-label {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 24px 0;
    color: var(--text-secondary);
}
.shared-batch-live-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.shared-batch-live-list { display: grid; gap: 10px; }
.shared-batch-live-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    min-width: 0;
}
.shared-batch-live-row.is-changed { border-color: var(--primary-color); }
.shared-batch-live-row strong,
.shared-batch-live-row span,
.shared-batch-live-row small { overflow-wrap: anywhere; }
.shared-batch-live-row strong { width: 100%; }
.shared-batch-live-row small { width: 100%; color: var(--text-secondary); }
.shared-batch-status-card {
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.07);
}
.shared-batch-status-card[hidden] {
    display: none !important;
}
.shared-batch-status-details {
    color: var(--text-primary);
}
.shared-view .batch-status-input-url,
.shared-view .batch-status-final-url,
.shared-view .batch-status-detail-block,
.shared-view .batch-status-chain-url,
.shared-view .batch-status-chain-location {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.shared-view .results-panel {
    max-width: 100%;
    overflow: hidden;
}
@media (max-width: 820px) {
    .shared-batch-filters {
        grid-template-columns: 1fr;
    }
    .shared-batch-filters .btn {
        width: 100%;
    }
    .shared-batch-toolbar,
    .shared-batch-status-list {
        padding-left: 14px;
        padding-right: 14px;
    }
    .shared-batch-live { margin-left: 14px; margin-right: 14px; }
    .shared-batch-original-label { padding-left: 14px; padding-right: 14px; }
    .shared-snapshot-data-table {
        min-width: 720px;
    }
}

/* v1.54.21 - Shared snapshot owner/recipient view optimization */
.shared-view-owner .shared-header,
.shared-header-owner {
    background: linear-gradient(135deg, var(--primary-color), var(--info-color));
}
.shared-owner-console,
.shared-owner-preview-strip {
    margin: 0 0 22px;
    border: 1px solid var(--border-color);
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.10), rgba(20, 184, 166, 0.08));
    border-radius: 18px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}
.shared-owner-console {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.9fr);
    gap: 18px;
    padding: 22px;
    align-items: center;
}
.shared-owner-console-copy {
    min-width: 0;
}
.shared-owner-kicker {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--primary-color);
    margin-bottom: 6px;
}
.shared-owner-console h2 {
    margin: 0 0 8px;
    color: var(--text-primary);
    font-size: clamp(22px, 3vw, 30px);
    line-height: 1.1;
}
.shared-owner-console p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.55;
}
.shared-owner-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    align-items: center;
}
.shared-owner-actions .btn,
.shared-view-owner .results-actions .btn,
.shared-view-owner .results-actions a.btn {
    white-space: normal;
    text-align: center;
}
.shared-owner-preview-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    color: var(--text-primary);
}
.shared-owner-preview-strip span {
    color: var(--text-secondary);
    flex: 1 1 260px;
}
.shared-banner-owner {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.92), rgba(20, 184, 166, 0.92));
    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.18);
}
.shared-view-owner .shared-content {
    max-width: 1280px;
}
.shared-view-owner .shared-insights {
    margin-top: 18px;
}
.shared-view-owner #sharedResult {
    border: 1px solid rgba(37, 99, 235, 0.16);
}
.new-search-owner-section {
    border-style: solid;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(20, 184, 166, 0.07));
}
.new-search-secondary-link {
    display: inline-flex;
    margin-left: 12px;
    color: var(--primary-color);
    font-weight: 700;
    text-decoration: none;
}
.new-search-secondary-link:hover {
    text-decoration: underline;
}
.shared-view .results-header,
.shared-view .results-actions {
    min-width: 0;
}
.shared-view .results-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}
.shared-view .results-title {
    overflow-wrap: anywhere;
}
@media (max-width: 760px) {
    .shared-owner-console {
        grid-template-columns: 1fr;
        padding: 18px;
    }
    .shared-owner-actions {
        justify-content: stretch;
    }
    .shared-owner-actions .btn,
    .shared-owner-preview-strip .btn,
    .new-search-owner-section .new-search-btn,
    .new-search-secondary-link {
        width: 100%;
        justify-content: center;
        margin-left: 0;
    }
    .shared-owner-preview-strip {
        align-items: stretch;
    }
}

/* Shared DNS Propagation live status */
.shared-banner-live-propagation {
    background: linear-gradient(135deg, #075985, #0f766e);
    box-shadow: 0 10px 28px rgba(8, 145, 178, .2);
}
.shared-propagation-live,
.shared-propagation-saved {
    min-width: 0;
    border: 1px solid var(--border-color, #d9e2ec);
    border-radius: 16px;
    background: var(--bg-primary, #fff);
    overflow: hidden;
}
.shared-propagation-live {
    box-shadow: 0 12px 32px rgba(15, 23, 42, .08);
}
.shared-propagation-live-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--border-color, #d9e2ec);
    background: linear-gradient(135deg, rgba(14, 165, 233, .09), rgba(20, 184, 166, .07));
}
.shared-propagation-kicker {
    color: var(--primary-color, #2563eb);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.shared-propagation-live-head h4 {
    margin: 3px 0 4px;
    color: var(--text-primary, #0f172a);
    font-size: clamp(20px, 3vw, 28px);
}
.shared-propagation-live-head p {
    margin: 0;
    color: var(--text-secondary, #64748b);
    font-size: 13px;
}
.shared-propagation-live-indicator {
    flex: 0 0 auto;
    padding: 6px 10px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1e40af;
    font-size: 12px;
    font-weight: 800;
}
#sharedPropagationLiveContent {
    display: grid;
    gap: 16px;
    padding: 20px;
}
.shared-propagation-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 120px;
    color: var(--text-secondary, #64748b);
    font-weight: 700;
}
.shared-propagation-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}
.shared-propagation-metric {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border-color, #d9e2ec);
    border-radius: 12px;
    background: var(--bg-secondary, #f8fafc);
}
.shared-propagation-metric span {
    color: var(--text-secondary, #64748b);
    font-size: 11px;
    font-weight: 750;
}
.shared-propagation-metric strong {
    color: var(--text-primary, #0f172a);
    font-size: 22px;
}
.shared-propagation-guidance {
    padding: 12px 14px;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    background: #eff6ff;
    color: #1e3a8a;
    line-height: 1.5;
}
.shared-propagation-guidance-success { border-color: #bbf7d0; background: #f0fdf4; color: #166534; }
.shared-propagation-guidance-warning { border-color: #fde68a; background: #fffbeb; color: #92400e; }
.shared-propagation-guidance-danger { border-color: #fecaca; background: #fff7f7; color: #991b1b; }
.shared-propagation-group {
    display: grid;
    gap: 10px;
    min-width: 0;
}
.shared-propagation-group + .shared-propagation-group {
    padding-top: 16px;
    border-top: 1px solid var(--border-color, #d9e2ec);
}
.shared-propagation-group-title,
.shared-propagation-resolver-head,
.shared-propagation-resolver-foot {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}
.shared-propagation-group-title span,
.shared-propagation-resolver-foot,
.shared-propagation-resolver-meta {
    color: var(--text-secondary, #64748b);
    font-size: 12px;
}
.shared-propagation-resolver-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
    gap: 10px;
}
.shared-propagation-resolver {
    display: grid;
    gap: 8px;
    min-width: 0;
    padding: 13px;
    border: 1px solid var(--border-color, #d9e2ec);
    border-left-width: 4px;
    border-radius: 12px;
    background: var(--bg-secondary, #f8fafc);
}
.shared-propagation-resolver-head strong,
.shared-propagation-resolver code {
    min-width: 0;
    overflow-wrap: anywhere;
}
.shared-propagation-resolver-head span {
    font-size: 11px;
    font-weight: 850;
    text-transform: capitalize;
}
.shared-propagation-resolver code {
    color: var(--text-primary, #0f172a);
    white-space: normal;
}
.shared-propagation-state-matching { border-left-color: #22c55e; }
.shared-propagation-state-mismatched,
.shared-propagation-state-failed,
.shared-propagation-state-timed-out { border-left-color: #ef4444; }
.shared-propagation-state-missing { border-left-color: #f59e0b; }
.shared-propagation-saved {
    margin-top: 16px;
}
.shared-propagation-saved > summary {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding: 15px 18px;
    cursor: pointer;
}
.shared-propagation-saved > summary > span:first-child {
    display: grid;
    gap: 3px;
}
.shared-propagation-saved > summary small,
.shared-propagation-saved > summary > span:last-child {
    color: var(--text-secondary, #64748b);
    font-size: 12px;
}
.shared-propagation-saved-body {
    display: grid;
    gap: 18px;
    padding: 0 18px 18px;
}
@media (max-width: 800px) {
    .shared-propagation-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .shared-propagation-live-head { display: grid; padding: 16px; }
    #sharedPropagationLiveContent { padding: 14px; }
    .shared-propagation-live-indicator { justify-self: start; }
}
@media (max-width: 480px) {
    .shared-propagation-resolver-grid { grid-template-columns: 1fr; }
    .shared-propagation-saved > summary { display: grid; }
}

/* v1.55.0 - Deep HTTP Diagnostics result polish */
.deep-http-summary-card {
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 16px;
    padding: 16px;
    margin: 14px 0;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(14, 165, 233, 0.04));
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
    max-width: 100%;
    overflow: hidden;
}
.deep-http-summary-title {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-secondary, #64748b);
    font-weight: 900;
    margin-bottom: 6px;
}
.deep-http-summary-verdict {
    font-size: 18px;
    font-weight: 900;
    color: var(--text-primary, #0f172a);
    margin-bottom: 10px;
    overflow-wrap: anywhere;
}
.deep-http-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
    gap: 8px;
    color: var(--text-secondary, #64748b);
    font-size: 13px;
}
.deep-http-route-list {
    display: grid;
    gap: 12px;
    margin-top: 14px;
    max-width: 100%;
    min-width: 0;
}
.deep-http-route-card {
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 16px;
    background: var(--bg-primary, #fff);
    padding: 14px;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}
.deep-http-route-card-pass {
    border-left: 5px solid #16a34a;
}
.deep-http-route-card-fail {
    border-left: 5px solid #dc2626;
}
.deep-http-route-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}
.deep-http-technical-details {
    margin-top: 14px;
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 14px;
    padding: 12px;
    background: rgba(15, 23, 42, 0.025);
    max-width: 100%;
    overflow: hidden;
}
.deep-http-technical-details > summary {
    cursor: pointer;
    font-weight: 900;
    color: var(--primary-color, #2563eb);
}
body:is(.theme-dark,.theme-dimmed,.theme-ash) .deep-http-summary-card,
body.theme-blue .deep-http-summary-card,
body.theme-terminal .deep-http-summary-card,
body.theme-purple .deep-http-summary-card,
body:is(.theme-dark,.theme-dimmed,.theme-ash) .deep-http-route-card,
body.theme-blue .deep-http-route-card,
body.theme-terminal .deep-http-route-card,
body.theme-purple .deep-http-route-card,
body:is(.theme-dark,.theme-dimmed,.theme-ash) .deep-http-technical-details,
body.theme-blue .deep-http-technical-details,
body.theme-terminal .deep-http-technical-details,
body.theme-purple .deep-http-technical-details {
    background: var(--bg-primary);
    color: var(--text-primary);
    border-color: var(--border-color);
}
@media (max-width: 820px) {
    .deep-http-route-main {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .deep-http-route-main .batch-status-row-badges {
        justify-content: flex-start;
    }
}

/* v1.55.1 - PWA update UX, logged-out prompt, and SSL result customization */
.pwa-update-banner-sticky {
    align-items: flex-start;
}
.member-suggestion-banner {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 10030;
    width: min(420px, calc(100vw - 28px));
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border: 1px solid color-mix(in srgb, var(--primary-color, #2563eb) 24%, var(--border-color, #dbe4f0));
    border-radius: 18px;
    background: color-mix(in srgb, var(--bg-primary, #fff) 94%, var(--primary-color, #2563eb));
    color: var(--text-primary, #0f172a);
    box-shadow: 0 14px 42px rgba(15, 23, 42, .18);
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .2s ease, transform .2s ease;
}
.member-suggestion-banner.show { opacity: 1; transform: translateY(0); }
.member-suggestion-copy { min-width: 0; display: grid; gap: 2px; }
.member-suggestion-copy span { color: var(--text-secondary, #64748b); font-size: .88rem; line-height: 1.35; }
.member-suggestion-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; flex: 0 0 auto; }
.results-title-with-icon { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.ssl-verdict-title-icon { width: 30px; height: 30px; border-radius: 999px; display: inline-grid; place-items: center; font-size: 16px; flex: 0 0 auto; border: 1px solid var(--border-color, #dbe4f0); }
.ssl-verdict-title-icon.is-secure { background: #ecfdf5; color: #047857; border-color: #bbf7d0; }
.ssl-verdict-title-icon.is-warning { background: #fffbeb; color: #92400e; border-color: #fde68a; }
.ssl-verdict-title-icon.is-danger { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }
.ssl-section-order-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; padding:10px 12px; border:1px dashed var(--border-color, #dbe4f0); border-radius:14px; background:var(--bg-secondary, #f8fafc); }
.ssl-section-order-toolbar .muted { margin:0; }
.ssl-reorder-section { position: relative; }
.ssl-reorder-section[draggable="true"] { cursor: grab; }
.ssl-reorder-section.is-dragging { opacity: .55; outline: 2px dashed var(--primary-color, #2563eb); outline-offset: 4px; }
.ssl-section-drag-handle { position:absolute; right:10px; top:10px; z-index:2; border:1px solid var(--border-color, #dbe4f0); background:var(--bg-primary, #fff); color:var(--text-secondary, #64748b); border-radius:999px; padding:4px 8px; font-size:12px; font-weight:800; cursor:grab; box-shadow:0 4px 12px rgba(15,23,42,.08); }
.ssl-section-drag-handle { opacity:0; visibility:hidden; transition:opacity .16s ease, visibility .16s ease; }
.ssl-reorder-section:hover .ssl-section-drag-handle,
.ssl-reorder-section:focus-within .ssl-section-drag-handle,
.ssl-section-drag-handle:focus-visible { opacity:1; visibility:visible; }
.ssl-section-drag-handle:focus { outline:2px solid var(--primary-color, #2563eb); outline-offset:2px; }
@media (hover: none), (pointer: coarse) {
    .ssl-section-drag-handle { opacity:1; visibility:visible; }
}
.ssl-advanced-options { margin:14px 0 18px; border:1px solid var(--border-color, #dbe4f0); border-radius:12px; background:var(--bg-secondary, #f8fafc); }
.ssl-advanced-options > summary { display:inline-flex; align-items:center; gap:7px; cursor:pointer; padding:8px 10px; font-weight:700; color:var(--text-primary, #0f172a); list-style-position:inside; }
.ssl-advanced-options-icon { display:inline-grid; place-items:center; width:24px; height:24px; border:1px solid var(--border-color, #cbd5e1); border-radius:7px; background:var(--bg-primary, #fff); font-size:14px; }
.ssl-advanced-options-label { font-size:12px; }
.ssl-advanced-options > summary:focus-visible { outline:2px solid var(--primary-color, #2563eb); outline-offset:2px; border-radius:12px; }
.ssl-advanced-options-body { padding:0 14px 2px; }
@media (max-width: 720px) {
    .member-suggestion-banner { left: 14px; right: 14px; bottom: 14px; width: auto; align-items: stretch; flex-direction: column; }
    .member-suggestion-actions .btn { flex: 1 1 auto; }
    .ssl-section-drag-handle { position: static; display:inline-flex; margin:0 0 8px; }
}

/* v1.55.2 Cloudflare-aware Batch Status diagnostics */
.batch-status-cloudflare-card {
    border-left: 4px solid #f59e0b;
    background: rgba(245, 158, 11, 0.08);
    margin-top: 12px;
}

.batch-status-cloudflare-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.batch-status-cloudflare-card p {
    margin: 8px 0;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.batch-status-cloudflare-grid {
    margin-top: 10px;
}

.batch-status-technical-details {
    margin-top: 10px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 10px 12px;
    background: rgba(255,255,255,0.58);
}

.batch-status-technical-details summary {
    cursor: pointer;
    font-weight: 700;
    color: var(--text-primary);
}

.batch-status-technical-details dl {
    display: grid;
    grid-template-columns: minmax(120px, 220px) 1fr;
    gap: 8px 12px;
    margin: 12px 0 0;
}

.batch-status-technical-details dl div {
    display: contents;
}

.batch-status-technical-details dt {
    font-weight: 700;
    color: var(--text-secondary);
    overflow-wrap: anywhere;
}

.batch-status-technical-details dd {
    margin: 0;
    overflow-wrap: anywhere;
}

body:is(.theme-dark,.theme-dimmed,.theme-ash) .batch-status-cloudflare-card,
body.theme-blue .batch-status-cloudflare-card,
body.theme-terminal .batch-status-cloudflare-card,
body.theme-purple .batch-status-cloudflare-card {
    background: rgba(245, 158, 11, 0.14);
}

body:is(.theme-dark,.theme-dimmed,.theme-ash) .batch-status-technical-details,
body.theme-blue .batch-status-technical-details,
body.theme-terminal .batch-status-technical-details,
body.theme-purple .batch-status-technical-details {
    background: rgba(15, 23, 42, 0.35);
}

@media (max-width: 720px) {
    .batch-status-technical-details dl {
        grid-template-columns: 1fr;
    }
}

/* v1.55.3 - Mobile sticky-space audit and compact mobile chrome */
@media (max-width: 768px) {
    .data-table th {
        position: static;
        top: auto;
        z-index: auto;
    }

    body:not(.member-portal) .results-actions-mobile-sticky {
        display: none !important;
        position: static !important;
        bottom: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
    }

    body:not(.member-portal) .results-panel.show,
    body:not(.member-portal) .results-panel.mobile-result-loading-state {
        margin-bottom: 18px !important;
    }

    .pwa-update-banner {
        left: 10px;
        right: 10px;
        bottom: calc(10px + env(safe-area-inset-bottom, 0px));
        max-width: none;
        width: auto;
        padding: 10px 12px;
        gap: 8px;
        border-radius: 14px;
        transform: translateY(18px);
    }

    .pwa-update-banner.show {
        transform: translateY(0);
    }

    .pwa-update-copy span {
        font-size: .82rem;
        line-height: 1.3;
    }

    .pwa-update-actions {
        gap: 6px;
    }

    .pwa-update-actions .btn {
        min-height: 36px;
        padding: 7px 10px;
        font-size: 12px;
    }
}

@media (max-width: 430px) {
    .pwa-update-copy span {
        display: none;
    }
}

/* v1.55.4 - Mobile Experience Optimization Pass */
@media (max-width: 768px) {
    :root {
        --mobile-page-pad: clamp(10px, 3vw, 14px);
        --mobile-card-radius: 14px;
    }

    html,
    body {
        overflow-x: hidden;
    }

    body {
        min-width: 0;
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    .main-content {
        min-width: 0;
        max-width: 100vw;
        overflow-x: hidden;
    }

    .top-bar {
        position: sticky;
        top: 0;
        z-index: 850;
        min-height: 52px;
        padding: calc(8px + env(safe-area-inset-top, 0px)) var(--mobile-page-pad) 8px;
        gap: 8px;
        box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
    }

    .mobile-menu-btn,
    .theme-toggle-btn,
    .member-topbar-link,
    .member-topbar-chip {
        min-width: 42px;
        min-height: 42px;
        padding: 8px 10px;
        border-radius: 14px;
    }

    .page-title {
        min-width: 0;
        font-size: clamp(17px, 4.6vw, 22px);
        line-height: 1.15;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .top-bar-actions,
    .top-bar-utility {
        min-width: 0;
        gap: 6px;
    }

    .content-wrapper {
        padding: var(--mobile-page-pad);
        max-width: 100vw;
    }

    .tool-section {
        padding: clamp(14px, 4vw, 18px);
        border-radius: 18px;
        margin-bottom: 14px;
        max-width: 100%;
        overflow: hidden;
    }

    .section-title {
        font-size: clamp(21px, 6vw, 26px);
        line-height: 1.08;
        margin-bottom: 8px;
        overflow-wrap: anywhere;
    }

    .section-subtitle,
    .form-help,
    .muted,
    .phase-inline-note,
    .phase-inline-note-warning,
    .phase-inline-note-danger,
    .phase-inline-note-success {
        font-size: 12.5px;
        line-height: 1.4;
    }

    .form-grid,
    .dns-form-grid,
    .ssl-form-grid,
    .input-grid,
    .batch-options-grid,
    .header-profile-grid,
    .route-set-grid,
    .tool-config-grid,
    .phase-card-grid,
    .deep-http-summary-grid,
    .shared-summary-grid,
    .batch-status-detail-grid,
    .batch-status-filter-grid,
    .batch-status-summary-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        min-width: 0;
    }

    .form-group {
        margin-bottom: 12px;
        min-width: 0;
    }

    .form-label {
        font-size: 12px;
        margin-bottom: 6px;
    }

    .form-input,
    .form-select,
    .member-input,
    .member-select,
    .member-search,
    textarea,
    select,
    input[type="text"],
    input[type="url"],
    input[type="email"],
    input[type="number"],
    input[type="password"] {
        max-width: 100%;
        min-width: 0;
        font-size: 16px;
        min-height: 44px;
    }

    textarea.form-input,
    textarea.member-input,
    textarea.member-textarea {
        min-height: 118px;
    }

    .btn,
    .member-btn,
    .member-link-btn,
    .export-toggle {
        min-height: 42px;
        padding: 9px 12px;
        border-radius: 13px;
        font-size: 14px;
        max-width: 100%;
        white-space: normal;
        text-align: center;
    }

    .button-row,
    .form-actions,
    .action-row,
    .tool-actions,
    .results-actions,
    .shared-owner-actions,
    .ssl-section-order-toolbar,
    .batch-status-filter-actions,
    .progress-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        align-items: stretch;
        width: 100%;
        min-width: 0;
    }

    .button-row > *,
    .form-actions > *,
    .action-row > *,
    .tool-actions > *,
    .results-actions > *,
    .shared-owner-actions > *,
    .batch-status-filter-actions > *,
    .progress-actions > * {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .results-panel,
    .phase-section-card,
    .phase-metric-card,
    .deep-http-summary-card,
    .deep-http-route-card,
    .batch-status-result-card,
    .batch-status-cloudflare-card,
    .saved-batch-status-card,
    .shared-owner-console,
    .shared-recipient-card {
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        border-radius: var(--mobile-card-radius);
    }

    .results-panel {
        margin-top: 14px;
    }

    .results-header {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 10px;
        align-items: stretch;
        padding: 12px 14px;
    }

    .results-title,
    .results-title-with-icon,
    .deep-http-summary-verdict,
    .batch-status-result-title,
    .saved-batch-status-title,
    .shared-view .results-title {
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
        white-space: normal;
    }

    .results-title-with-icon {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 8px;
        align-items: center;
    }

    .results-content,
    .phase-results-stack {
        padding: 12px !important;
        max-width: 100%;
        overflow-x: hidden;
    }

    .phase-metric-card,
    .phase-section-card,
    .deep-http-route-card,
    .batch-status-result-card,
    .saved-batch-status-card {
        padding: 12px;
    }

    .phase-metric-value,
    .member-stat-value {
        font-size: clamp(20px, 7vw, 30px);
    }

    .status-badge,
    .ssl-stage-mini-pill,
    .batch-status-row-badges span,
    .phase-badge,
    .shared-tag {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .batch-status-row-main,
    .batch-status-row-header,
    .batch-status-result-main,
    .saved-batch-status-main,
    .deep-http-route-main,
    .ssl-connection-diagnostics-toggle summary {
        grid-template-columns: 1fr !important;
        gap: 8px;
        align-items: stretch;
    }

    .batch-status-row-badges,
    .ssl-connection-summary-badges,
    .ssl-redirect-target-meta,
    .shared-tag-list {
        justify-content: flex-start;
    }

    .batch-status-progress-panel,
    .progress-panel,
    .redirect-import-progress-card {
        padding: 12px;
        border-radius: 14px;
    }

    .batch-status-current-url,
    .batch-dns-current-domain,
    .progress-current-item,
    .redirect-import-phase-detail,
    .pre-content,
    code,
    pre {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
        white-space: pre-wrap;
    }

    .data-table-wrapper,
    .table-scroll,
    .saved-snapshot-table-wrap,
    .member-table-wrap {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .data-table td {
        padding-left: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(92px, 34%) minmax(0, 1fr);
        gap: 8px;
        align-items: start;
        min-width: 0;
    }

    .data-table td::before {
        position: static !important;
        width: auto !important;
        left: auto !important;
        padding: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .data-table td,
    .data-table td * {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .modal,
    .share-dialog,
    .domain-snapshot-modal-card,
    .member-modal {
        width: 100% !important;
        max-width: none !important;
        max-height: min(92vh, 860px);
        border-radius: 20px 20px 0 0 !important;
    }

    .modal-overlay,
    .share-dialog-overlay,
    .member-modal-overlay,
    .domain-snapshot-compare-backdrop,
    .domain-snapshot-picker-backdrop {
        align-items: flex-end !important;
        padding: 0 !important;
    }

    .modal-body,
    .share-dialog-body,
    .member-modal-body,
    .domain-snapshot-compare-results {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        max-height: 70vh;
    }

    .pwa-update-banner,
    .member-suggestion-banner {
        left: 10px !important;
        right: 10px !important;
        bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        width: auto !important;
        max-width: none !important;
        padding: 9px 10px !important;
        border-radius: 14px !important;
        gap: 8px !important;
    }

    .member-suggestion-banner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        transform: translateY(18px);
    }

    .member-suggestion-copy strong,
    .pwa-update-copy strong {
        font-size: 13px;
        line-height: 1.2;
    }

    .member-suggestion-copy span,
    .pwa-update-copy span {
        font-size: 11.5px;
        line-height: 1.25;
    }

    .member-suggestion-actions,
    .pwa-update-actions {
        gap: 6px;
    }

    .member-suggestion-actions .btn,
    .pwa-update-actions .btn {
        min-height: 34px;
        padding: 6px 9px;
        font-size: 12px;
        width: auto;
    }

    .sidebar {
        width: min(86vw, 340px);
        max-width: calc(100vw - 24px);
    }

    .sidebar-header,
    .nav-search-wrap {
        position: static;
    }

    .nav-item {
        padding: 12px 16px;
    }
}

@media (max-width: 430px) {
    .content-wrapper {
        padding: 10px;
    }

    .tool-section {
        padding: 12px;
        border-radius: 16px;
    }

    .section-title {
        font-size: 22px;
    }

    .button-row,
    .form-actions,
    .action-row,
    .tool-actions,
    .results-actions,
    .shared-owner-actions,
    .ssl-section-order-toolbar,
    .batch-status-filter-actions,
    .progress-actions {
        grid-template-columns: 1fr;
    }

    .results-header,
    .results-content,
    .phase-results-stack {
        padding: 10px !important;
    }

    .phase-card-grid,
    .shared-summary-grid,
    .batch-status-summary-grid,
    .deep-http-summary-grid {
        gap: 8px !important;
    }

    .data-table td {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .data-table tr {
        padding: 9px;
    }

    .member-suggestion-banner {
        grid-template-columns: 1fr;
    }

    .member-suggestion-copy span,
    .pwa-update-copy span {
        display: none;
    }

    .member-suggestion-actions,
    .pwa-update-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .member-suggestion-actions .btn,
    .pwa-update-actions .btn {
        width: 100%;
        justify-content: center;
    }
}

/* v1.56.0: Global DNS Propagation Monitor */
.propagation-options-row { align-items: flex-start; }
.propagation-monitor-bar {
    display: grid;
    grid-template-columns: minmax(190px, 260px) minmax(260px, 1fr) auto;
    gap: 14px;
    align-items: end;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--card-background, rgba(255,255,255,.72));
    min-width: 0;
    overflow-wrap: anywhere;
}
.propagation-monitor-field,
.propagation-monitor-copy,
.propagation-monitor-actions { min-width: 0; }
.propagation-monitor-field .form-input { width: 100%; max-width: 100%; }
.propagation-monitor-field .form-label { margin-bottom: 5px; }
.propagation-monitor-copy { display: grid; gap: 2px; align-self: center; }
.propagation-monitor-copy span,
.propagation-monitor-copy small { color: var(--text-secondary); }
.propagation-monitor-actions { display: flex; gap: 8px; align-items: center; }
#propagationRefreshButton[hidden],
.propagation-monitor-actions > [hidden] { display: none !important; }
.propagation-overview {
    display: grid;
    grid-template-columns: minmax(190px, .75fr) minmax(420px, 2fr);
    gap: 18px;
    padding: 16px;
    margin-bottom: 12px;
    border: 1px solid var(--border-color);
    border-left: 5px solid var(--border-color);
    border-radius: 12px;
    background: var(--card-background, rgba(255,255,255,.74));
}
#propagationResult.is-refreshing { filter: saturate(.86); }
.propagation-overview.status-success { border-left-color: #22c55e; }
.propagation-overview.status-warning { border-left-color: #f59e0b; }
.propagation-overview.status-danger { border-left-color: #ef4444; }
.propagation-overview-primary { display: grid; align-content: center; gap: 4px; }
.propagation-overview-primary strong { font-size: clamp(20px, 2.2vw, 30px); line-height: 1.12; }
.propagation-overview-primary > span:last-child { color: var(--text-secondary); }
.propagation-overview-eyebrow { color: var(--text-secondary); font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.propagation-summary-list { display: grid; margin: 0; }
.propagation-summary-list > div { display: grid; grid-template-columns: minmax(135px, .65fr) minmax(220px, 1.35fr); gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--border-color); }
.propagation-summary-list > div:last-child { border-bottom: 0; }
.propagation-summary-list dt { color: var(--text-secondary); font-weight: 700; }
.propagation-summary-list dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.propagation-coverage-section { margin: 14px 0; }
.propagation-coverage-section h4 { margin: 0 0 8px; }
.propagation-coverage-table { border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.propagation-coverage-row { display: grid; grid-template-columns: minmax(140px, 1.2fr) minmax(90px, .75fr) minmax(130px, 1fr) minmax(110px, .9fr); gap: 10px; padding: 9px 12px; align-items: center; border-bottom: 1px solid var(--border-color); }
.propagation-coverage-row:last-child { border-bottom: 0; }
.propagation-coverage-head { background: rgba(100,116,139,.08); color: var(--text-secondary); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.propagation-coverage-row.status-success { box-shadow: inset 4px 0 #22c55e; }
.propagation-coverage-row.status-warning { box-shadow: inset 4px 0 #f59e0b; }
.propagation-coverage-row.status-danger { box-shadow: inset 4px 0 #ef4444; }
.propagation-resolver-list { border: 1px solid var(--border-color); border-radius: 10px; overflow: hidden; }
.propagation-resolver-row { display: grid; grid-template-columns: minmax(190px, 1fr) minmax(260px, 1.65fr) minmax(110px, .55fr); gap: 12px; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--border-color); overflow-wrap: anywhere; }
.propagation-resolver-row:last-child { border-bottom: 0; }
.propagation-resolver-row.status-success { box-shadow: inset 4px 0 #22c55e; }
.propagation-resolver-row.status-info { box-shadow: inset 4px 0 #3b82f6; }
.propagation-resolver-row.status-warning { box-shadow: inset 4px 0 #f59e0b; }
.propagation-resolver-row.status-danger { box-shadow: inset 4px 0 #ef4444; }
.propagation-resolver-identity { display: flex; gap: 8px; align-items: flex-start; min-width: 0; }
.propagation-resolver-identity > span:nth-child(2) { display: grid; min-width: 0; }
.propagation-resolver-identity strong { overflow-wrap: anywhere; }
.propagation-resolver-identity small { color: var(--text-secondary); margin-top: 2px; }
.propagation-resolver-value {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 13px;
    overflow-wrap: anywhere;
}
.propagation-resolver-status { display: grid; justify-items: end; text-align: right; }
.propagation-resolver-status span { color: var(--text-secondary); font-size: 12px; }
.propagation-laggard-list { display: grid; gap: 8px; margin-top: 10px; }
.propagation-laggard-row {
    display: grid;
    grid-template-columns: minmax(130px, 1.2fr) minmax(80px, .8fr) minmax(90px, .8fr) minmax(120px, 1.4fr);
    gap: 8px;
    align-items: start;
    padding: 8px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    overflow-wrap: anywhere;
}
.propagation-laggard-row code { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 640px) {
    .propagation-monitor-bar,
    .propagation-overview { grid-template-columns: 1fr; }
    .propagation-monitor-copy { overflow-wrap: anywhere; }
    .propagation-monitor-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .propagation-monitor-actions .btn { min-width: 0; width: 100%; }
    .propagation-summary-list > div { grid-template-columns: 1fr; gap: 2px; }
    .propagation-coverage-head { display: none; }
    .propagation-coverage-row { grid-template-columns: 1fr 1fr; }
    .propagation-coverage-row > :nth-child(3),
    .propagation-coverage-row > :nth-child(4) { color: var(--text-secondary); }
    .propagation-resolver-row { grid-template-columns: 1fr; gap: 7px; }
    .propagation-resolver-status { grid-template-columns: 1fr auto; justify-items: start; text-align: left; gap: 8px; }
    .propagation-laggard-row { grid-template-columns: 1fr; }
}


/* v1.56.3 DNS Watch Edit Controls */
/* Propagation layouts follow the available result width. */
#propagationResult { container:single-propagation / inline-size; }
#batchPropagationResult { container:batch-propagation / inline-size; }
#propagationResult .phase-results-stack { grid-template-columns:minmax(0,1fr); }
#propagationResult .phase-results-stack > * { min-width:0; overflow-wrap:anywhere; }
.propagation-overview { grid-template-columns:minmax(180px,.65fr) minmax(0,1.65fr); align-items:start; }
.propagation-summary-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; min-width:0; }
.propagation-summary-list > div { grid-template-columns:minmax(0,1fr); gap:4px; padding:10px 12px; border:1px solid var(--border-color); border-radius:9px; background:var(--bg-secondary); min-width:0; }
.propagation-summary-list dt { font-size:12px; }
.propagation-summary-list dd { line-height:1.45; }
.propagation-resolver-row > *,.propagation-coverage-row > * { min-width:0; }
.propagation-resolver-value { padding:9px 11px; border-radius:8px; background:var(--bg-secondary); line-height:1.6; white-space:pre-wrap; }
.propagation-resolver-value code { font:inherit; color:inherit; background:transparent; white-space:pre-wrap; overflow-wrap:anywhere; }
.propagation-long-value { min-width:0; white-space:normal; }
.propagation-long-value > summary { cursor:pointer; overflow-wrap:anywhere; }
.propagation-value-toggle { display:block; margin-top:5px; font-family:inherit; font-size:12px; font-weight:700; color:var(--text-secondary); text-decoration:underline; text-underline-offset:3px; }
.propagation-long-value > code { display:block; margin-top:10px; }
.propagation-long-value > summary:focus-visible { outline:2px solid var(--primary-color); outline-offset:3px; border-radius:3px; }
.batch-propagation-result-group > summary { align-items:center; flex-wrap:wrap; }
.batch-propagation-summary-explainer { flex-wrap:wrap; }
@container single-propagation (max-width:900px) {
    .propagation-overview { grid-template-columns:minmax(0,1fr); }
    .propagation-resolver-row { grid-template-columns:minmax(0,1fr) minmax(120px,.6fr); }
    .propagation-resolver-value { grid-column:1 / -1; grid-row:2; }
    .propagation-resolver-status { grid-column:2; grid-row:1; }
    .propagation-coverage-row { grid-template-columns:repeat(4,minmax(0,1fr)); overflow-wrap:anywhere; }
    .propagation-laggard-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container single-propagation (max-width:550px) {
    .propagation-summary-list { grid-template-columns:minmax(0,1fr); }
    .propagation-resolver-row { grid-template-columns:minmax(0,1fr); }
    .propagation-resolver-value,.propagation-resolver-status { grid-column:auto; grid-row:auto; }
    .propagation-coverage-head { display:none; }
    .propagation-coverage-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .propagation-laggard-row { grid-template-columns:minmax(0,1fr); }
}
@container batch-propagation (min-width:1100px) {
    .batch-propagation-resolver-card { grid-template-columns:minmax(130px,1fr) minmax(100px,.7fr) minmax(180px,1.5fr) minmax(100px,1fr) minmax(160px,1.25fr) minmax(75px,.5fr); }
    .batch-propagation-resolver-cell:nth-child(n) { border-right:1px solid var(--border-color); border-bottom:0; }
    .batch-propagation-resolver-cell:last-child { border-right:0; }
}
.propagation-helper-line {
    font-size: 12px;
    color: var(--text-secondary);
    margin-top: 4px;
}
.propagation-filter-actions,
.propagation-action-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 8px;
}
.propagation-workflow-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.propagation-action-strip {
    justify-content: space-between;
    padding: 10px 12px;
    border: 1px solid rgba(37, 99, 235, .14);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(37, 99, 235, .07), rgba(14, 165, 233, .05));
    color: var(--text-primary);
}
.btn-xs {
    font-size: 12px;
    padding: 6px 9px;
    min-height: 30px;
}
.dns-watch-check-visible {
    white-space: nowrap;
}
.dns-watch-row-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 8px 14px;
    margin-bottom: 10px;
}
.dns-watch-row-fact {
    min-width: 0;
}
.dns-watch-row-fact span {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-secondary);
    font-weight: 700;
    margin-bottom: 2px;
}
.dns-watch-row-fact strong {
    display: block;
    overflow-wrap: anywhere;
    line-height: 1.3;
}
.dns-watch-latest-line {
    margin: 8px 0 12px;
    padding: 9px 11px;
    border-left: 3px solid rgba(37, 99, 235, .45);
    background: var(--bg-secondary);
    border-radius: 8px;
    overflow-wrap: anywhere;
}
.dns-watch-meta-line {
    overflow-wrap: anywhere;
}
.dns-watch-duplicate-banner,
.dns-watch-edit-banner {
    margin: 0;
}
.dns-watch-edit-banner {
    border-color: rgba(22, 163, 74, .24);
    background: linear-gradient(135deg, rgba(22, 163, 74, .10), rgba(37, 99, 235, .06));
}
.dns-watch-row-actions .btn[disabled] {
    cursor: not-allowed;
    opacity: .62;
}
@media (max-width: 760px) {
    .dns-watch-toolbar {
        grid-template-columns: 1fr;
    }
    .dns-watch-check-visible,
    .dns-watch-toolbar .btn,
    .propagation-filter-actions .btn,
    .propagation-workflow-actions .btn,
    .propagation-action-strip .btn {
        width: 100%;
        justify-content: center;
    }
    .dns-watch-row {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 14px 14px 14px 16px;
    }
    .dns-watch-row-facts {
        grid-template-columns: 1fr 1fr;
    }
    .dns-watch-row-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        max-width: none;
        justify-content: stretch;
    }
    .dns-watch-row-actions .btn {
        width: 100%;
        justify-content: center;
    }
    .propagation-action-strip {
        align-items: stretch;
    }
}
@media (max-width: 460px) {
    .dns-watch-row-facts,
    .dns-watch-row-actions {
        grid-template-columns: 1fr;
    }
}

/* v1.56.4 DNS Watch lifecycle controls */
.dns-watch-enable-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    user-select: none;
}
.dns-watch-enable-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.dns-watch-enable-toggle input:disabled ~ span {
    opacity: .55;
}
.dns-watch-enable-slider {
    position: relative;
    width: 34px;
    height: 18px;
    border-radius: 999px;
    background: rgba(108, 117, 125, .35);
    box-shadow: inset 0 0 0 1px rgba(108, 117, 125, .35);
    transition: background .18s ease, box-shadow .18s ease;
}
.dns-watch-enable-slider::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.24);
    transition: transform .18s ease;
}
.dns-watch-enable-toggle input:checked + .dns-watch-enable-slider {
    background: var(--success-color);
    box-shadow: inset 0 0 0 1px rgba(40, 167, 69, .45);
}
.dns-watch-enable-toggle input:checked + .dns-watch-enable-slider::after {
    transform: translateX(16px);
}
.dns-watch-enable-toggle:focus-within {
    outline: 2px solid rgba(37, 99, 235, .32);
    outline-offset: 2px;
}
.dns-watch-lifecycle-help {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-secondary);
}
@media (max-width: 760px) {
    .dns-watch-enable-toggle {
        width: 100%;
    }
}

/* v1.56.31 Redirect Import Tester filters and live-check control */
.redirect-import-live-toggle {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: min(100%, 340px);
    padding: 11px 13px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    cursor: pointer;
    user-select: none;
}
.redirect-import-live-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.redirect-import-live-toggle-slider {
    position: relative;
    flex: 0 0 auto;
    width: 38px;
    height: 20px;
    border-radius: 999px;
    background: rgba(108, 117, 125, .38);
    box-shadow: inset 0 0 0 1px rgba(108, 117, 125, .35);
    transition: background .18s ease, box-shadow .18s ease;
}
.redirect-import-live-toggle-slider::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .24);
    transition: transform .18s ease;
}
.redirect-import-live-toggle input:checked + .redirect-import-live-toggle-slider {
    background: var(--success-color);
    box-shadow: inset 0 0 0 1px rgba(40, 167, 69, .45);
}
.redirect-import-live-toggle input:checked + .redirect-import-live-toggle-slider::after {
    transform: translateX(18px);
}
.redirect-import-live-toggle:focus-within {
    outline: 2px solid rgba(37, 99, 235, .32);
    outline-offset: 2px;
}
.redirect-import-live-toggle-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.redirect-import-live-toggle-copy .muted {
    line-height: 1.35;
}
.redirect-import-live-toggle-state {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-secondary);
}
.redirect-import-live-toggle input:checked ~ .redirect-import-live-toggle-copy .redirect-import-live-toggle-state {
    color: var(--success-color);
}
.redirect-import-live-check-limit {
    transition: opacity .18s ease;
}
.redirect-import-live-check-limit.is-disabled {
    opacity: .6;
}
.redirect-import-live-check-limit.is-disabled .form-input {
    cursor: not-allowed;
}
.redirect-import-row-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 12px 0 8px;
    padding: 10px 12px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-secondary);
}
.redirect-import-row-filter-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}
.redirect-import-row-filter-button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 32px;
    padding: 6px 9px;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--bg-primary);
    color: var(--text-primary);
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.redirect-import-row-filter-button span {
    min-width: 18px;
    padding: 1px 5px;
    border-radius: 999px;
    background: rgba(108, 117, 125, .14);
    text-align: center;
    font-size: 11px;
}
.redirect-import-row-filter-button:hover,
.redirect-import-row-filter-button:focus-visible {
    border-color: rgba(37, 99, 235, .55);
    color: var(--primary-color);
}
.redirect-import-row-filter-button.is-active {
    border-color: var(--primary-color);
    background: var(--primary-color);
    color: #fff;
}
.redirect-import-row-filter-button.is-active span {
    background: rgba(255, 255, 255, .22);
}
@media (max-width: 760px) {
    .redirect-import-live-toggle,
    .redirect-import-row-toolbar {
        width: 100%;
    }
    .redirect-import-row-toolbar {
        align-items: stretch;
        flex-direction: column;
    }
    .redirect-import-row-filter-group {
        justify-content: flex-start;
    }
}

/* v1.56.32 Redirect Import Tester post-import production verification */
.redirect-import-post-import-panel {
    margin: 14px 0;
    border: 1px solid rgba(37, 99, 235, .24);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(37, 99, 235, .06), rgba(16, 185, 129, .04));
}
.redirect-import-post-import-panel > summary {
    padding: 13px 14px;
    cursor: pointer;
}
.redirect-import-post-import-body {
    padding: 0 14px 14px;
}
.redirect-import-post-import-body > p {
    margin: 0 0 12px;
    color: var(--text-secondary);
    line-height: 1.45;
}
.redirect-import-post-import-summary,
.redirect-import-row-navigation-status {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: center;
    margin: 10px 0;
    padding: 10px 12px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: 13px;
}
.redirect-import-post-import-summary strong {
    color: var(--text-primary);
}
.redirect-import-row-navigation-status.is-success {
    border-color: rgba(40, 167, 69, .38);
    background: rgba(40, 167, 69, .08);
    color: var(--text-primary);
}
.redirect-import-row-navigation-status.is-warning {
    border-color: rgba(245, 158, 11, .42);
    background: rgba(245, 158, 11, .09);
    color: var(--text-primary);
}
.redirect-import-row-navigation-status.is-info {
    border-color: rgba(37, 99, 235, .28);
}
@media (max-width: 760px) {
    .redirect-import-post-import-body {
        padding: 0 10px 10px;
    }
}

/* v1.56.37 Redirect Import Tester verification progress and retry controls */
.redirect-import-post-import-progress {
    display: grid;
    gap: 8px;
    margin: 10px 0 12px;
    padding: 11px 12px;
    border: 1px solid var(--border-color);
    border-radius: 11px;
    background: var(--bg-secondary);
}
.redirect-import-post-import-progress.is-running {
    border-color: rgba(37, 99, 235, .42);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .08);
}
.redirect-import-post-import-progress-copy {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 5px 12px;
    color: var(--text-secondary);
    font-size: 13px;
}
.redirect-import-post-import-progress-copy strong {
    color: var(--text-primary);
}
.redirect-import-post-import-progress-track {
    overflow: hidden;
    height: 9px;
    border-radius: 999px;
    background: rgba(108, 117, 125, .2);
}
.redirect-import-post-import-progress-track > span {
    display: block;
    min-width: 2px;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--primary-color), var(--success-color));
    transition: width .25s ease;
}
.redirect-import-post-import-progress.is-running .redirect-import-post-import-progress-track > span {
    background-size: 28px 28px;
    background-image: linear-gradient(135deg, rgba(255,255,255,.2) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.2) 50%, rgba(255,255,255,.2) 75%, transparent 75%, transparent), linear-gradient(90deg, var(--primary-color), var(--success-color));
    animation: redirect-import-progress-stripes 1s linear infinite;
}
@keyframes redirect-import-progress-stripes {
    from { background-position: 0 0, 0 0; }
    to { background-position: 28px 0, 0 0; }
}
.redirect-import-post-import-batches > summary {
    cursor: pointer;
    color: var(--text-primary);
}
.redirect-import-post-import-batches .table-scroll {
    margin-top: 8px;
}
.redirect-import-post-import-filter-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 10px 0;
}
.redirect-import-post-import-filter-toolbar > span {
    margin-right: 2px;
    color: var(--text-secondary);
    font-size: 13px;
}
.redirect-import-retry-count {
    display: inline-flex;
    margin-left: 5px;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(37, 99, 235, .1);
    color: var(--primary-color);
    font-size: 11px;
    font-weight: 700;
}
.redirect-import-post-import-auth {
    margin: 10px 0;
    padding: 10px 12px;
    border: 1px solid rgba(108, 117, 125, .22);
    border-radius: 11px;
    background: rgba(255, 255, 255, .55);
}
.redirect-import-post-import-auth > summary {
    cursor: pointer;
    color: var(--text-primary);
}
.redirect-import-post-import-operator-summary {
    align-items: flex-start;
}
.redirect-import-operator-pill {
    display: inline-flex;
    margin-left: 5px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(108, 117, 125, .12);
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 700;
}
.redirect-import-request-evidence {
    display: grid;
    gap: 2px;
    margin-top: 5px;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.35;
}
.redirect-import-request-evidence strong {
    color: var(--text-primary);
}
.redirect-import-request-evidence-cdn {
    color: var(--warning-color);
}
@media (prefers-reduced-motion: reduce) {
    .redirect-import-post-import-progress.is-running .redirect-import-post-import-progress-track > span {
        animation: none;
    }
}
@media (max-width: 760px) {
    .redirect-import-post-import-filter-toolbar .redirect-import-row-filter-button,
    #redirectImportVerifyRetryBtn {
        flex: 1 1 auto;
    }
    .redirect-import-post-import-progress-copy {
        display: grid;
    }
}

/* v1.56.38 Redirect verification session recovery and change tracking */
.redirect-import-verification-session-notice {
    display: grid;
    gap: 5px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid rgba(37, 99, 235, .3);
    border-radius: 11px;
    background: rgba(37, 99, 235, .07);
    color: var(--text-secondary);
    font-size: 13px;
}
.redirect-import-verification-session-notice.is-recovered {
    border-color: rgba(16, 185, 129, .4);
    background: rgba(16, 185, 129, .08);
}
.redirect-import-verification-session-notice > div {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
}
.redirect-import-verification-session-notice strong {
    color: var(--text-primary);
}
.redirect-import-recovered-shell {
    display: grid;
    gap: 10px;
}
.redirect-import-row-changed {
    box-shadow: inset 3px 0 0 rgba(37, 99, 235, .72);
}
.redirect-import-status-change {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px 7px;
    margin: 5px 0 3px;
    color: var(--primary-color);
    font-size: 11px;
}
.redirect-import-status-change strong {
    display: inline-flex;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(37, 99, 235, .1);
}
.redirect-import-status-change span {
    color: var(--text-secondary);
}
@media (max-width: 760px) {
    #redirectImportVerifyChangesExportBtn,
    #redirectImportVerifyClearSessionBtn {
        flex: 1 1 auto;
    }
    .redirect-import-verification-session-notice > div {
        display: grid;
    }
}

/* v1.56.33 Redirect Import Tester checkbox-to-toggle consistency */
.redirect-import-setting-toggle {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    min-width: min(100%, 340px);
    padding: 11px 13px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    cursor: pointer;
    user-select: none;
}
.redirect-import-setting-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.redirect-import-setting-toggle-slider {
    position: relative;
    flex: 0 0 auto;
    width: 38px;
    height: 20px;
    margin-top: 2px;
    border-radius: 999px;
    background: rgba(108, 117, 125, .38);
    box-shadow: inset 0 0 0 1px rgba(108, 117, 125, .35);
    transition: background .18s ease, box-shadow .18s ease;
}
.redirect-import-setting-toggle-slider::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .24);
    transition: transform .18s ease;
}
.redirect-import-setting-toggle input:checked + .redirect-import-setting-toggle-slider {
    background: var(--success-color);
    box-shadow: inset 0 0 0 1px rgba(40, 167, 69, .45);
}
.redirect-import-setting-toggle input:checked + .redirect-import-setting-toggle-slider::after {
    transform: translateX(18px);
}
.redirect-import-setting-toggle:focus-within {
    outline: 2px solid rgba(37, 99, 235, .32);
    outline-offset: 2px;
}
.redirect-import-setting-toggle-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.redirect-import-setting-toggle-copy .muted {
    line-height: 1.35;
}
.redirect-import-setting-toggle-state {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-secondary);
}
.redirect-import-setting-toggle.is-enabled .redirect-import-setting-toggle-state,
.redirect-import-setting-toggle input:checked ~ .redirect-import-setting-toggle-copy .redirect-import-setting-toggle-state {
    color: var(--success-color);
}
@media (max-width: 760px) {
    .redirect-import-setting-toggle {
        width: 100%;
    }
}

/* v1.56.34 Redirect Test Basic Auth */
.redirect-url-label-row {
    display: flex;
    align-items: center;
    gap: 5px;
}
.redirect-url-label-row .form-label {
    margin: 0;
}
.redirect-basic-auth-lock {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--text-primary);
    font: inherit;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
}
.redirect-basic-auth-lock:hover,
.redirect-basic-auth-lock:focus-visible,
.redirect-basic-auth-lock.is-active {
    background: rgba(37, 99, 235, .08);
    color: var(--primary-color);
}
.redirect-basic-auth-lock:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}
.redirect-basic-auth-fields {
    margin: 10px 0 14px;
    padding: 12px;
    border: 1px solid rgba(37, 99, 235, .22);
    border-radius: 12px;
    background: var(--bg-secondary);
}
.redirect-basic-auth-help {
    margin-top: -2px;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.4;
}
.redirect-basic-auth-prompt {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid rgba(245, 158, 11, .42);
    border-radius: 11px;
    background: rgba(245, 158, 11, .09);
    color: var(--text-primary);
    font-size: 13px;
    line-height: 1.4;
}
.redirect-basic-auth-prompt strong {
    white-space: nowrap;
}
@media (max-width: 600px) {
    .redirect-basic-auth-prompt {
        align-items: stretch;
        flex-direction: column;
    }
    .redirect-basic-auth-prompt .btn {
        width: 100%;
        justify-content: center;
    }
}

/* v1.56.36 CDN bot-protection and HTTP request diagnostics */
.redirect-security-diagnostic {
    display: grid;
    gap: 14px;
}
.redirect-security-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--border-color);
}
.redirect-security-grid > div {
    min-width: 0;
    padding: 10px 12px;
    background: var(--bg-primary);
}
.redirect-security-grid dt {
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.redirect-security-grid dd {
    margin: 4px 0 0;
    overflow-wrap: anywhere;
    color: var(--text-primary);
    font-size: 13px;
}
.redirect-attempt-comparison,
.redirect-security-guidance {
    display: grid;
    gap: 8px;
}
.redirect-security-guidance ul {
    margin: 0;
    padding-left: 20px;
    display: grid;
    gap: 6px;
}
.redirect-security-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.redirect-user-agent-cell {
    max-width: 360px;
    overflow-wrap: anywhere;
}
@media (max-width: 760px) {
    .redirect-security-grid {
        grid-template-columns: 1fr;
    }
    .redirect-attempt-comparison {
        overflow-x: auto;
    }
    .redirect-security-actions .btn {
        width: 100%;
        justify-content: center;
    }
}

/* v1.56.6 DNS Watch simple default view */
.dns-watch-simple-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: -2px 0 12px;
    padding: 10px 12px;
    border: 1px solid rgba(37, 99, 235, .16);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(37, 99, 235, .06), rgba(16, 185, 129, .05));
    color: var(--text-secondary);
    font-size: 13px;
}
.dns-watch-simple-summary strong {
    color: var(--text-primary);
}
.dns-watch-advanced-details {
    margin: 0 0 14px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--bg-secondary);
}
.dns-watch-advanced-details summary::-webkit-details-marker {
    display: none;
}
.dns-watch-advanced-button {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 11px 13px;
    cursor: pointer;
    font-weight: 700;
    color: var(--text-primary);
}
.dns-watch-advanced-button::after {
    content: 'Show';
    padding: 4px 9px;
    border-radius: 999px;
    border: 1px solid var(--border-color);
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 700;
}
.dns-watch-advanced-details[open] .dns-watch-advanced-button::after {
    content: 'Hide';
}
.dns-watch-advanced-button-help {
    flex: 1 1 260px;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 500;
}
.dns-watch-advanced-body {
    padding: 0 13px 13px;
}
.dns-watch-primary-actions {
    align-items: center;
}
@media (max-width: 760px) {
    .dns-watch-advanced-button {
        display: grid;
        justify-content: stretch;
    }
    .dns-watch-advanced-button::after {
        width: fit-content;
    }
}

/* v1.56.11 DNS Watch live lookup + resolver catalog admin controls */
.dns-watch-live-lookup-btn {
    white-space: nowrap;
}

.resolver-profile-list {
    display: grid;
    gap: 10px;
}

.resolver-profile-card {
    border: 1px solid var(--border-color, rgba(148, 163, 184, 0.28));
    border-radius: 12px;
    background: var(--panel-bg, rgba(15, 23, 42, 0.04));
    padding: 10px 12px;
}

.resolver-profile-card summary {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.resolver-profile-editor {
    margin-top: 12px;
}

.resolver-provider-row small {
    display: block;
    color: var(--muted-text, #64748b);
    font-size: 0.78rem;
    margin-top: 2px;
}

.resolver-profile-test-output {
    margin-top: 10px;
}

/* v1.56.12 Frontend My Snapshots library */
.my-snapshots-watch-context:not([hidden]) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.my-snapshots-watch-context > div {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
    overflow-wrap: anywhere;
}

.my-snapshots-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
}

.my-snapshots-search-wrap {
    flex: 1 1 260px;
    min-width: 220px;
}

.my-snapshots-type-filter {
    max-width: 220px;
}

.my-snapshots-sort {
    max-width: 180px;
}

.my-snapshots-stats {
    margin-bottom: 14px;
}

.my-snapshots-stat-card {
    text-align: left;
    cursor: pointer;
    color: inherit;
    font: inherit;
}

.my-snapshots-stat-label {
    display: block;
    color: var(--text-secondary);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 6px;
}

.my-snapshots-state {
    margin-bottom: 14px;
}

.my-snapshots-list {
    display: grid;
    gap: 14px;
}

.my-snapshot-card,
.my-snapshots-empty {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-primary);
    padding: 16px;
}

.my-snapshot-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 10px;
}

.my-snapshot-card h3 {
    margin: 2px 0 4px;
    font-size: 18px;
    word-break: break-word;
}

.my-snapshot-kicker,
.my-snapshot-meta {
    color: var(--text-secondary);
    font-size: 12px;
}

.my-snapshot-state {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    padding: 4px 9px;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: 12px;
    white-space: nowrap;
}

.my-snapshot-notes {
    margin: 8px 0 10px;
    color: var(--text-secondary);
    line-height: 1.45;
}

.my-snapshot-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

.my-snapshot-tags span {
    display: inline-flex;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--bg-secondary);
    padding: 3px 8px;
    font-size: 12px;
}

.my-snapshot-origin {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 8px;
    margin: 0 0 12px;
    color: var(--text-secondary);
    font-size: 12px;
}

.my-snapshot-origin > span:first-child {
    font-weight: 700;
}

.my-snapshot-origin code {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.my-snapshot-origin-type {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    padding: 2px 7px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
}

.my-snapshot-related {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: -2px 0 12px;
    color: var(--text-secondary);
    font-size: 12px;
}

.my-snapshot-related > span:first-child {
    font-weight: 700;
}

.my-snapshot-timeline-region {
    margin: 0 0 12px;
}

.my-snapshot-timeline,
.my-snapshot-timeline-empty {
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--surface-muted, #f8fafc);
    padding: 12px;
}

.my-snapshot-timeline-empty {
    color: var(--text-secondary);
    font-size: 13px;
}

.my-snapshot-timeline-empty.is-error {
    border-color: var(--danger-border, #f1aeb5);
    color: var(--danger-text, #9f1239);
}

.my-snapshot-timeline-heading,
.my-snapshot-timeline-item,
.my-snapshot-timeline-topline {
    display: flex;
    align-items: center;
    gap: 10px;
}

.my-snapshot-timeline-heading {
    justify-content: space-between;
    margin-bottom: 10px;
}

.my-snapshot-timeline-follow-through,
.my-snapshot-timeline-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.my-snapshot-timeline-toolbar {
    justify-content: space-between;
    margin: 0 0 10px;
    color: var(--text-secondary);
    font-size: 12px;
}

.my-snapshot-timeline-toolbar label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
}

.my-snapshot-timeline-toolbar .form-input {
    min-height: 32px;
    max-width: 220px;
    padding: 4px 28px 4px 8px;
    font-size: 12px;
}

.my-snapshot-timeline-heading > div,
.my-snapshot-timeline-copy {
    min-width: 0;
}

.my-snapshot-timeline-heading h4,
.my-snapshot-timeline-copy strong {
    display: block;
}

.my-snapshot-timeline-heading h4 {
    margin: 0;
    font-size: 15px;
    line-height: 1.3;
}

.my-snapshot-timeline-heading span,
.my-snapshot-timeline-copy > span,
.my-snapshot-timeline-more {
    display: block;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.45;
}

.my-snapshot-timeline-heading code,
.my-snapshot-timeline-copy strong {
    overflow-wrap: anywhere;
}

.my-snapshot-timeline ol {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.my-snapshot-timeline-item {
    align-items: flex-start;
    border-top: 1px solid var(--border-color);
    padding-top: 8px;
}

.my-snapshot-timeline-item:first-child {
    border-top: 0;
    padding-top: 0;
}

.my-snapshot-timeline-marker {
    flex: 0 0 9px;
    width: 9px;
    height: 9px;
    margin-top: 5px;
    border-radius: 999px;
    background: var(--primary-color, #2563eb);
}

.my-snapshot-timeline-copy {
    flex: 1 1 auto;
}

.my-snapshot-timeline-topline {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 2px;
}

.my-snapshot-timeline-kind {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.my-snapshot-timeline-topline time {
    color: var(--text-secondary);
    font-size: 12px;
}

.my-snapshot-timeline-more {
    margin: 10px 0 0;
}

.my-snapshot-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.my-snapshot-editor {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-secondary);
}

.my-snapshot-favorite {
    min-height: 40px;
    align-items: center;
}

@media (max-width: 720px) {
    .my-snapshots-toolbar,
    .my-snapshot-card-head,
    .my-snapshot-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .my-snapshots-type-filter,
    .my-snapshots-sort,
    .my-snapshot-actions .btn {
        max-width: none;
        width: 100%;
    }
    .my-snapshot-origin {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
    .my-snapshot-related {
        align-items: stretch;
        flex-direction: column;
    }
    .my-snapshot-related .btn {
        width: 100%;
    }
    .my-snapshot-timeline-heading,
    .my-snapshot-timeline-item {
        align-items: stretch;
        flex-wrap: wrap;
    }
    .my-snapshot-timeline-follow-through,
    .my-snapshot-timeline-toolbar {
        align-items: stretch;
        flex-direction: column;
    }
    .my-snapshot-timeline-follow-through .btn,
    .my-snapshot-timeline-toolbar .form-input {
        max-width: none;
        width: 100%;
    }
    .my-snapshot-timeline-heading .btn,
    .my-snapshot-timeline-item > .btn {
        width: 100%;
    }
    .my-snapshot-timeline-copy {
        flex-basis: calc(100% - 20px);
    }
}


/* v1.56.15 Snapshot export and propagation resolver health polish */
.propagation-resolver-health-note {
    border-color: rgba(59, 130, 246, .32);
    background: rgba(59, 130, 246, .08);
}

.my-snapshot-export-wrap {
    flex: 0 0 auto;
}

.my-snapshot-export-menu {
    min-width: 160px;
}

@media (max-width: 720px) {
    .my-snapshot-export-wrap,
    .my-snapshot-export-wrap .export-toggle {
        width: 100%;
    }
}

/* v1.56.13 DNS Watch alert view and dashboard card filters */
.dns-watch-metric-card {
    appearance: none;
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    text-align: left;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.dns-watch-metric-card:hover,
.dns-watch-metric-card:focus-visible {
    outline: none;
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}
.dns-watch-metric-card.is-active {
    border-color: rgba(0, 123, 255, .55);
    box-shadow: 0 0 0 2px rgba(0, 123, 255, .12);
}
.dns-watch-active-filter-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    border: 1px solid rgba(0, 123, 255, .25);
    background: rgba(0, 123, 255, .06);
    border-radius: 12px;
    padding: 10px 12px;
    margin: 0 0 10px;
    color: var(--text-secondary);
    font-size: 13px;
}
.dns-watch-alert-panel {
    padding: 0 16px 12px;
}
.dns-watch-alert-view {
    border: 1px solid rgba(0, 123, 255, .35);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(0, 123, 255, .08), rgba(40, 167, 69, .06));
    padding: 16px;
    box-shadow: var(--shadow-sm);
}
.dns-watch-alert-view.warning {
    border-color: rgba(255, 193, 7, .55);
    background: rgba(255, 193, 7, .08);
}
.dns-watch-alert-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}
.dns-watch-alert-heading h3 {
    margin: 2px 0 6px;
    font-size: 20px;
}
.dns-watch-alert-heading p {
    margin: 0;
    color: var(--text-secondary);
}
.dns-watch-alert-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px;
    margin-top: 10px;
}
.dns-watch-alert-row {
    border: 1px solid var(--border-color);
    background: var(--bg-primary);
    border-radius: 10px;
    padding: 10px;
    min-width: 0;
}
.dns-watch-alert-row span {
    display: block;
    color: var(--text-secondary);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 4px;
}
.dns-watch-alert-row strong {
    display: block;
    overflow-wrap: anywhere;
}
.dns-watch-alert-meta {
    grid-column: 1 / -1;
}
.dns-watch-alert-actions {
    margin-top: 12px;
}
@media (max-width: 760px) {
    .dns-watch-alert-heading {
        display: grid;
    }
    .dns-watch-alert-grid {
        grid-template-columns: 1fr;
    }
}

/* v1.56.26 DNS Watcher deployment-validation history UX */
.dns-watch-history-section {
    min-width: 0;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-secondary);
    overflow: hidden;
}
.dns-watch-history-section > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    cursor: pointer;
    font-weight: 700;
}
.dns-watch-history-section > summary strong {
    min-width: 28px;
    padding: 2px 8px;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    text-align: center;
    font-size: 12px;
}
.dns-watch-history-section > .dns-watch-run-list,
.dns-watch-history-section > .dns-watch-event-list {
    padding: 0 12px 12px;
}
.dns-watch-history-heading,
.dns-watch-history-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}
.dns-watch-history-values,
.dns-watch-run-item {
    min-width: 0;
    overflow-wrap: anywhere;
}
.dns-watch-history-actions {
    justify-content: flex-start;
    margin-top: 10px;
}
.dns-watch-event-history-section {
    min-width: 0;
}
.dns-watch-event-table {
    display: grid;
    gap: 8px;
}
.dns-watch-event-row {
    display: grid;
    grid-template-columns: minmax(145px, .55fr) minmax(0, 1.45fr) auto;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-primary);
}
.dns-watch-event-meta {
    display: grid;
    gap: 6px;
    min-width: 0;
}
.dns-watch-event-meta strong,
.dns-watch-event-message {
    overflow-wrap: anywhere;
}
.dns-watch-event-message {
    color: var(--text-primary);
    line-height: 1.45;
    white-space: normal;
}
.dns-watch-event-actions {
    margin-top: 0;
    white-space: nowrap;
}
@media (max-width: 600px) {
    .dns-watch-alert-panel {
        padding-inline: 8px;
    }
    .dns-watch-alert-view,
    .dns-watch-detail-panel {
        padding: 12px;
    }
    .dns-watch-detail-columns {
        grid-template-columns: minmax(0, 1fr);
    }
    .dns-watch-event-row {
        grid-template-columns: 1fr;
    }
    .dns-watch-delivery-channels { grid-template-columns: 1fr; }
    .dns-watch-delivery-row { border-right: 0; border-bottom: 1px solid var(--border-color); }
    .dns-watch-delivery-row:last-child { border-bottom: 0; }
    .dns-watch-delivery-heading { flex-direction: column; }
    .dns-watch-delivery-history-item { display: grid; grid-template-columns: auto auto minmax(0, 1fr); }
    .dns-watch-delivery-history-item small { grid-column: 1 / -1; }
    .dns-watch-event-actions {
        white-space: normal;
    }
    .dns-watch-alert-actions,
    .dns-watch-history-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .dns-watch-alert-actions .btn,
    .dns-watch-history-actions .btn {
        width: 100%;
        justify-content: center;
    }
}

/* v1.56.14 Frontend Client DNS Handoff Builder */
.frontend-handoff-shell {
    display: grid;
    gap: 18px;
}
.frontend-handoff-toolbar,
.frontend-handoff-filters {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}
.frontend-handoff-toolbar {
    padding: 18px;
    border: 1px solid var(--border-color);
    background: var(--card-bg);
    border-radius: 18px;
    box-shadow: var(--shadow-sm);
}
.frontend-handoff-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(360px, 1.4fr);
    gap: 18px;
    align-items: start;
}
.frontend-handoff-list,
.frontend-handoff-editor {
    display: grid;
    gap: 14px;
}
.frontend-handoff-card,
.frontend-handoff-editor-card,
.frontend-handoff-editor-empty,
.frontend-handoff-record,
.frontend-handoff-share-box {
    border: 1px solid var(--border-color);
    background: var(--card-bg);
    border-radius: 18px;
    padding: 16px;
    box-shadow: var(--shadow-sm);
}
.frontend-handoff-card.is-active {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color) 18%, transparent);
}
.frontend-handoff-card-actions,
.frontend-handoff-editor-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}
.frontend-handoff-record-section {
    display: grid;
    gap: 12px;
    margin: 16px 0;
}
.frontend-handoff-builder-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin: 18px 0;
}
.frontend-handoff-builder-nav .btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    min-width: 0;
    min-height: 48px;
    white-space: normal;
    text-align: left;
}
.frontend-handoff-builder { display: grid; gap: 20px; }
.frontend-handoff-builder-stage {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--card-bg);
}
.frontend-handoff-builder-stage.is-current { border-color: var(--primary-color); }
.frontend-handoff-builder-stage[hidden] { display: none; }
.dns-watch-builder-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dns-watch-builder-nav .btn { overflow-wrap: anywhere; }
.dns-watch-builder-stage .frontend-handoff-builder-heading > div { min-width: 0; }
#dns-watcher[data-watch-workspace-view="create"] > [data-watch-secondary] { display: none !important; }
.dns-watch-builder-stage[hidden] { display: none !important; }
.dns-watch-builder-stage { border-top: 3px solid var(--primary-color); }
.dns-watch-builder-stage .form-group { min-width: 0; }
.dns-watch-builder-stage h5 { font-size: 1rem; margin: 0 0 8px; }
.dns-watch-builder-stage .dns-watch-advanced-details { margin-top: 20px; }
.dns-watch-builder-callout {
    padding: 16px;
    border-radius: 12px;
    border: 1px solid color-mix(in srgb, var(--primary-color) 35%, var(--border-color));
    background: color-mix(in srgb, var(--primary-color) 7%, var(--card-bg));
}
.dns-watch-builder-callout p { margin: 6px 0 0; color: var(--text-secondary); }
.dns-watch-notification-section { margin: 24px 0; }
.dns-watch-notification-section > p { margin-bottom: 14px; }
.dns-watch-switch-grid, .dns-watch-builder-review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dns-watch-switch-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 88px;
    padding: 16px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--card-bg);
    cursor: pointer;
    transition: border-color .15s, background-color .15s;
}
.dns-watch-switch-card:has(input:checked) {
    border-color: var(--primary-color);
    background: color-mix(in srgb, var(--primary-color) 7%, var(--card-bg));
}
.dns-watch-switch-card:focus-within { outline: 2px solid var(--primary-color); outline-offset: 3px; }
.dns-watch-switch-copy { display: grid; gap: 5px; min-width: 0; }
.dns-watch-switch-copy small { color: var(--text-secondary); line-height: 1.5; }
.dns-watch-switch-card input[role="switch"] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    width: 44px;
    height: 26px;
    flex: 0 0 44px;
    margin: 0;
    border: 2px solid var(--text-secondary);
    border-radius: 20px;
    background: var(--card-bg);
    cursor: pointer;
}
.dns-watch-switch-card input[role="switch"]::before {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    top: 3px;
    left: 3px;
    border-radius: 50%;
    background: var(--text-secondary);
    transition: transform .15s;
}
.dns-watch-switch-card input[role="switch"]:checked { background: var(--primary-color); border-color: var(--primary-color); }
.dns-watch-switch-card input[role="switch"]:checked::before { transform: translateX(18px); background: white; }
.dns-watch-builder-review-card, .dns-watch-builder-record-review { padding: 16px; border: 1px solid var(--border-color); border-radius: 12px; min-width: 0; }
.dns-watch-builder-review-card p { margin: 0; color: var(--text-secondary); line-height: 1.6; overflow-wrap: anywhere; }
.dns-watch-builder-record-review { margin: 14px 0; }
.dns-watch-builder-record-review p { display: flex; flex-wrap: wrap; gap: 8px; overflow-wrap: anywhere; }
.dns-watch-builder-record-review code { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 640px) {
    .dns-watch-builder-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dns-watch-switch-grid, .dns-watch-builder-review-grid { grid-template-columns: minmax(0, 1fr); }
    .dns-watch-switch-card { padding: 14px; }
}
@media (max-width: 400px) {
    .dns-watch-builder-nav .btn { flex-direction: column; align-items: flex-start; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
    .dns-watch-switch-card, .dns-watch-switch-card input[role="switch"]::before { transition: none; }
}
@media (forced-colors: active) {
    .dns-watch-switch-card input[role="switch"] { appearance: auto; }
    .dns-watch-switch-card input[role="switch"]::before { display: none; }
}
.frontend-handoff-builder-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; }
.frontend-handoff-builder-heading > span,
.frontend-handoff-builder-nav .btn > span {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--primary-color) 12%, var(--card-bg));
    color: var(--text-primary);
    font-weight: 800;
}
.frontend-handoff-builder-nav .btn[aria-current="step"] > span { color: inherit; background: color-mix(in srgb, currentColor 15%, transparent); }
.frontend-handoff-builder-heading h4 { margin: 0 0 4px; scroll-margin-top: 120px; }
.frontend-handoff-builder-heading p { margin: 0; color: var(--text-secondary); line-height: 1.5; }
.frontend-handoff-builder-actions { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.frontend-handoff-builder-actions:has(:only-child) { justify-content: flex-end; }
.frontend-handoff-builder-stage > .frontend-handoff-record-section { margin-top: 12px; }
.frontend-handoff-review-record { padding: 16px; border: 1px solid var(--border-color); border-radius: 12px; margin-top: 14px; min-width: 0; }
.frontend-handoff-review-record h5 { margin: 0 0 12px; font-size: 1rem; }
.frontend-handoff-review-current { border-top: 1px solid var(--border-color); padding-top: 12px; margin-top: 12px; }
.frontend-handoff-review-current h6 { margin: 0 0 8px; font-size: 0.95rem; }
.frontend-handoff-review-record dd { white-space: pre-wrap; overflow-wrap: anywhere; min-width: 0; }
@media (max-width: 640px) {
    .frontend-handoff-builder-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .frontend-handoff-builder-stage { padding: 12px; }
    .frontend-handoff-builder-actions .btn { flex: 1 1 150px; white-space: normal; }
}
.frontend-handoff-record-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}
#siteMonitorCreateForm[hidden], .site-monitor-history[hidden] { display: none !important; }
.site-monitor-row { padding: 18px 0; border-bottom: 1px solid var(--border-color, #d1d5db); }
.site-monitor-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: start; gap: 12px; }
.site-monitor-heading > div { min-width: 0; flex: 1 1 240px; }
.site-monitor-heading h3 { margin: 0 0 6px; }
.site-monitor-heading code { overflow-wrap: anywhere; white-space: normal; }
.site-monitor-status { display: inline-block; vertical-align: top; box-sizing: border-box; max-width: 100%; padding: 6px 10px; border-radius: 8px; line-height: 1.5; overflow-wrap: anywhere; background: var(--light-bg, #f3f4f6); }
.site-monitor-status.healthy { border: 1px solid var(--success-color, #15803d); }
.site-monitor-status.attention { border: 1px solid var(--warning-color, #b45309); }
.site-monitor-row > .action-button-row { margin-top: 16px; }
.site-monitor-evidence { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 12px; margin: 14px 0; }
.site-monitor-evidence div { min-width: 0; }
.site-monitor-evidence dt { font-size: .85rem; color: var(--text-muted, #596273); }
.site-monitor-evidence dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.site-monitor-run { margin: 8px 0; padding: 10px; border: 1px solid var(--border-color, #d1d5db); border-radius: 8px; }
.site-monitor-run summary { cursor: pointer; overflow-wrap: anywhere; }
.connected-health { margin-top: 20px; padding: 16px; }
.connected-health h4, .connected-health h5 { margin: 0 0 8px; }
.connected-health h5 { font-size: 1rem; }
.connected-health-grid, .connected-health-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; margin: 16px 0; }
.connected-health-card, .connected-health fieldset { min-width: 0; margin: 0; }
.connected-health fieldset { border: 1px solid var(--border-color, #d1d5db); border-radius: 8px; padding: 12px; }
.connected-health legend { font-weight: 600; }
.connected-health-choice { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; cursor: pointer; }
.connected-health-choice input { flex: 0 0 auto; margin-top: 4px; width: 18px; height: 18px; }
.connected-health-choice span { min-width: 0; overflow-wrap: anywhere; }
.connected-health-choice small { display: block; margin-top: 4px; font-size: .85rem; }
.connected-health dd { margin: 4px 0 12px; }
.connected-health-target, .connected-health p, .connected-health dd { overflow-wrap: anywhere; }
.connected-health details > summary { font-weight: 600; padding: 8px 0; }
body[data-interface="workbench"] .connected-health { background: var(--wb-panel); color: var(--wb-ink); border-color: var(--wb-edge); }
body[data-interface="workbench"] .connected-health fieldset, body[data-interface="workbench"] .connected-health-card { border-color: var(--wb-edge); background: transparent; }
body[data-interface="workbench"] .connected-health dt, body[data-interface="workbench"] .connected-health small { color: var(--wb-muted); }
.site-monitor-assertion-row { min-width: 0; margin: 12px 0; padding: 12px; border: 1px solid var(--border-color, #d1d5db); border-radius: 8px; }
.site-monitor-assertion-row legend { padding: 0 6px; font-weight: 600; }
.site-monitor-assertion-row .form-row { flex-wrap: wrap; }
.site-monitor-assertion-row .form-group { min-width: 0; }
.site-monitor-assertion-row select, .site-monitor-assertion-row input { max-width: 100%; }
.site-monitor-assertion-evidence li, #siteMonitorDraftError { overflow-wrap: anywhere; }
.site-monitor-assertion-evidence { padding: 14px 16px; margin-block: 16px; border: 1px solid var(--border-color, #d1d5db); border-radius: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.site-monitor-assertion-evidence h4 { margin: 0 0 8px; line-height: 1.5; }
.site-monitor-assertion-evidence p { margin: 8px 0 0; }
#siteMonitorDraftError:not([hidden]) { padding: 12px; border: 1px solid var(--danger-color, #b91c1c); border-radius: 8px; }
#siteMonitorDraftError[hidden] { display: none; }
#siteMonitorFilter { width: auto; max-width: 100%; margin-bottom: 12px; }
.frontend-handoff-template-review {
    margin-top: 10px;
    padding: 12px;
    border: 1px solid var(--warning-color, #b45309);
    border-radius: 12px;
    background: color-mix(in srgb, var(--warning-color, #b45309) 7%, var(--card-bg));
}
.frontend-handoff-template-review p {
    margin: 6px 0 10px;
    line-height: 1.5;
}
.frontend-handoff-template-review .action-button-row {
    flex-wrap: wrap;
}
.frontend-handoff-share-box {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    background: color-mix(in srgb, var(--primary-color) 7%, var(--card-bg));
}
.frontend-handoff-share-box a {
    overflow-wrap: anywhere;
}
.dns-watch-status-select option[value="archived"] {
    font-style: italic;
}
@media (max-width: 960px) {
    .frontend-handoff-layout {
        grid-template-columns: 1fr;
    }
}

/* v1.56.16 Resolver health summaries + snapshot compare shortcuts */
.resolver-health-summary {
    display: grid;
    gap: 12px;
    margin: 12px 0 16px;
    padding: 14px;
    border: 1px solid var(--border-color, rgba(148, 163, 184, .28));
    border-radius: 12px;
    background: var(--bg-secondary, rgba(15, 23, 42, .035));
}
.resolver-health-summary h5 {
    margin: 0;
    font-size: 14px;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--text-secondary, #64748b);
}
.resolver-summary-table-wrap {
    margin-top: 2px;
}
.resolver-summary-note {
    margin: 0;
}
.resolver-summary-attention {
    display: grid;
    gap: 6px;
}
.my-snapshot-compare-btn {
    white-space: nowrap;
}
@media (max-width: 720px) {
    .my-snapshot-compare-btn {
        width: 100%;
    }
}


/* v1.56.17 Snapshot Mobile Polish + Handoff Builder Refinements */
.frontend-workspace-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 18px;
    padding: 8px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--bg-secondary);
}
.frontend-workspace-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 8px 11px;
    border-radius: 10px;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.frontend-workspace-nav a:hover,
.frontend-workspace-nav a:focus-visible,
.frontend-workspace-nav a.is-active {
    color: var(--text-primary);
    background: var(--bg-primary);
    box-shadow: var(--shadow-sm);
    outline: none;
}
.my-snapshot-card,
.my-snapshot-card-copy,
.my-snapshot-card-head > *,
.frontend-handoff-card,
.frontend-handoff-editor-card,
.frontend-handoff-record,
.frontend-handoff-layout > * {
    min-width: 0;
    max-width: 100%;
}
.my-snapshot-card {
    padding: 14px;
    overflow: visible;
}
.my-snapshot-card-copy {
    min-width: 0;
}
.my-snapshot-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
}
.my-snapshot-meta span {
    min-width: 0;
    overflow-wrap: anywhere;
}
.my-snapshot-meta span + span::before {
    content: '•';
    margin-right: 10px;
    color: var(--border-color);
}
.my-snapshot-notes,
.my-snapshot-tags span,
.frontend-handoff-domain,
.frontend-handoff-record-preview code,
.frontend-handoff-record textarea,
.frontend-handoff-record input,
.frontend-handoff-share-box,
.frontend-handoff-share-box a {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.my-snapshot-notes {
    white-space: pre-wrap;
}
.my-snapshot-tags span {
    min-width: 0;
    max-width: 100%;
}
.my-snapshot-actions,
.my-snapshot-action-primary,
.my-snapshot-more-panel,
.frontend-handoff-card-actions,
.frontend-handoff-more-panel {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.my-snapshot-actions,
.frontend-handoff-card-actions {
    justify-content: space-between;
}
.my-snapshot-more,
.frontend-handoff-more {
    position: relative;
}
.my-snapshot-more > summary,
.frontend-handoff-more > summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
}
.my-snapshot-more > summary::-webkit-details-marker,
.frontend-handoff-more > summary::-webkit-details-marker {
    display: none;
}
.my-snapshot-more-panel,
.frontend-handoff-more-panel {
    position: absolute;
    z-index: 25;
    right: 0;
    top: calc(100% + 6px);
    width: min(360px, calc(100vw - 32px));
    padding: 10px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-primary);
    box-shadow: var(--shadow-lg);
}
.my-snapshot-more-panel .btn,
.frontend-handoff-more-panel .btn,
.my-snapshot-more-panel .export-menu-wrap {
    flex: 1 1 130px;
}
.my-snapshot-more-panel .export-toggle {
    width: 100%;
}
.frontend-handoff-layout {
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
}
.frontend-handoff-card {
    padding: 14px;
}
.frontend-handoff-record-preview {
    display: grid;
    gap: 6px;
    margin: 8px 0 12px;
}
.frontend-handoff-record-preview code {
    display: block;
    min-width: 0;
    padding: 7px 9px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 12px;
    white-space: normal;
}
.frontend-handoff-editor-card {
    overflow: visible;
}
.frontend-handoff-editor-header,
.frontend-handoff-records-header {
    align-items: flex-start;
    gap: 12px;
}
.frontend-handoff-back-btn {
    flex: 0 0 auto;
}
.frontend-handoff-record-section > #frontendHandoffRecords {
    display: grid;
    gap: 12px;
}
.frontend-handoff-record {
    padding: 14px;
    border-radius: 14px;
}
.frontend-handoff-record-grid {
    display: grid;
    grid-template-columns: minmax(90px, .55fr) minmax(90px, .55fr) minmax(150px, 1fr) minmax(220px, 1.8fr);
    gap: 10px;
}
.frontend-handoff-record-meta-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(110px, 1fr));
    gap: 10px;
    margin-top: 10px;
}
.frontend-handoff-record-grid .form-group,
.frontend-handoff-record-meta-grid .form-group,
.frontend-handoff-row-note {
    min-width: 0;
    margin-bottom: 0;
}
.frontend-handoff-value-input {
    min-height: 58px;
    resize: vertical;
    white-space: pre-wrap;
}
.frontend-handoff-row-note {
    margin-top: 10px;
}
.frontend-handoff-editor-actions {
    align-items: center;
}
.resolver-health-summary-empty,
.resolver-summary-empty-state,
.resolver-catalog-empty-state {
    min-width: 0;
}
.resolver-summary-empty-state,
.resolver-catalog-empty-state {
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px dashed var(--border-color);
    border-radius: 10px;
    color: var(--text-secondary);
    background: var(--bg-primary);
}
.resolver-catalog-empty-state p {
    margin: 0;
}
.resolver-catalog-empty-state .btn {
    justify-self: start;
    margin-top: 5px;
}
.report-snapshot-diff-table .report-col-section { width: 14%; }
.report-snapshot-diff-table .report-col-change { width: 10%; }
.report-snapshot-diff-table .report-col-label { width: 18%; }
.report-snapshot-diff-table .report-col-value { width: 29%; }

@media (max-width: 960px) {
    .frontend-handoff-layout {
        grid-template-columns: 1fr;
    }
    .frontend-handoff-shell.is-editor-open .frontend-handoff-editor {
        order: -1;
    }
    .frontend-handoff-record-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .frontend-handoff-host-field,
    .frontend-handoff-value-field {
        grid-column: span 2;
    }
    .frontend-handoff-record-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .frontend-workspace-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        padding: 6px;
    }
    .frontend-workspace-nav a {
        padding: 8px;
        font-size: 12px;
    }
    .my-snapshots-toolbar {
        gap: 8px;
    }
    .my-snapshots-search-wrap {
        min-width: 0;
        width: 100%;
    }
    .my-snapshots-stats,
    .frontend-handoff-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .my-snapshots-stat-card {
        min-width: 0;
        padding: 11px;
    }
    .my-snapshot-card,
    .my-snapshots-empty,
    .frontend-handoff-toolbar,
    .frontend-handoff-card,
    .frontend-handoff-editor-card,
    .frontend-handoff-editor-empty,
    .frontend-handoff-record,
    .frontend-handoff-share-box {
        padding: 12px;
        border-radius: 12px;
    }
    .my-snapshot-card-head {
        display: grid;
        gap: 8px;
    }
    .my-snapshot-card h3 {
        font-size: 16px;
    }
    .my-snapshot-state {
        justify-self: start;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .my-snapshot-meta {
        display: grid;
        gap: 2px;
    }
    .my-snapshot-meta span + span::before {
        content: none;
    }
    .my-snapshot-actions,
    .frontend-handoff-card-actions {
        flex-direction: row;
        align-items: stretch;
    }
    .my-snapshot-action-primary,
    .my-snapshot-more,
    .frontend-handoff-card-actions > .btn,
    .frontend-handoff-more {
        flex: 1 1 0;
        min-width: 0;
    }
    .my-snapshot-action-primary .btn,
    .my-snapshot-more > summary,
    .frontend-handoff-card-actions > .btn,
    .frontend-handoff-more > summary {
        width: 100%;
    }
    .my-snapshot-more-panel,
    .frontend-handoff-more-panel {
        position: fixed;
        left: 12px;
        right: 12px;
        top: auto;
        bottom: calc(12px + env(safe-area-inset-bottom));
        width: auto;
        max-height: min(70vh, 520px);
        overflow: auto;
    }
    .my-snapshot-more-panel .btn,
    .frontend-handoff-more-panel .btn,
    .my-snapshot-more-panel .export-menu-wrap {
        flex: 1 1 100%;
        width: 100%;
    }
    .my-snapshot-more-panel .my-snapshot-export-menu {
        position: static;
        width: 100%;
        min-width: 0;
        max-height: none;
        margin-top: 6px;
        box-shadow: none;
    }
    .frontend-handoff-toolbar,
    .frontend-handoff-filters,
    .frontend-handoff-editor-header,
    .frontend-handoff-records-header,
    .frontend-handoff-record-head {
        display: grid;
        align-items: stretch;
    }
    .frontend-handoff-toolbar .action-button-row,
    .frontend-handoff-editor-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }
    .frontend-handoff-toolbar .action-button-row .btn,
    .frontend-handoff-editor-actions .btn,
    .frontend-handoff-back-btn,
    .frontend-handoff-records-header .btn,
    .frontend-handoff-record-head .btn {
        width: 100%;
    }
    .frontend-handoff-record-grid,
    .frontend-handoff-record-meta-grid {
        grid-template-columns: 1fr;
    }
    .frontend-handoff-host-field,
    .frontend-handoff-value-field {
        grid-column: auto;
    }
    .frontend-handoff-editor-actions {
        position: sticky;
        bottom: calc(8px + env(safe-area-inset-bottom));
        z-index: 15;
        padding: 10px;
        margin: 14px -4px 0;
        border: 1px solid var(--border-color);
        border-radius: 12px;
        background: color-mix(in srgb, var(--bg-primary) 94%, transparent);
        box-shadow: var(--shadow-lg);
        backdrop-filter: blur(12px);
    }
    .resolver-summary-table-wrap {
        overflow-x: auto;
    }
    .report-snapshot-diff-table,
    .report-snapshot-diff-table tbody,
    .report-snapshot-diff-table tr,
    .report-snapshot-diff-table td {
        display: block;
        width: 100%;
    }
    .report-snapshot-diff-table thead {
        display: none;
    }
    .report-snapshot-diff-table tr {
        margin-bottom: 12px;
        border: 1px solid var(--border-color);
        border-radius: 12px;
        overflow: hidden;
        background: var(--bg-primary);
    }
    .report-snapshot-diff-table td {
        border: 0;
        border-top: 1px solid var(--border-color);
        padding: 10px 12px;
    }
    .report-snapshot-diff-table td:first-child {
        border-top: 0;
    }
    .report-snapshot-diff-table td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 4px;
        color: var(--text-secondary);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
}

/* v1.56.18 Frontend Workspace Live QA + Share Reliability */
.lookup-empty-state {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin: 14px 0 2px;
    padding: 16px;
    border: 1px solid var(--border-color, #d7e0ea);
    border-radius: 14px;
    background: var(--surface-muted, #f8fafc);
}
.lookup-empty-state.is-info {
    border-color: #bfd4ff;
    background: #f3f7ff;
}
.lookup-empty-state.is-warning {
    border-color: #f3d98a;
    background: #fffaf0;
}
.lookup-empty-state-icon {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #e8f0ff;
    color: #1d4ed8;
    font-weight: 900;
}
.lookup-empty-state-copy strong { display: block; font-size: 1rem; }
.lookup-empty-state-copy p { margin: 5px 0 0; color: var(--text-secondary, #52606d); line-height: 1.55; }
.lookup-empty-state-details { display: grid; gap: 6px; margin: 12px 0 0; }
.lookup-empty-state-details > div { display: grid; grid-template-columns: minmax(90px, auto) minmax(0, 1fr); gap: 10px; }
.lookup-empty-state-details dt { font-weight: 800; color: var(--text-primary, #1f2937); }
.lookup-empty-state-details dd { margin: 0; color: var(--text-secondary, #52606d); overflow-wrap: anywhere; }
.dns-fallback-complete { display: grid; gap: 4px; }
.dns-fallback-complete strong { color: inherit; }
.ssl-reset-layout-compact { white-space: nowrap; }

/* v1.65.2 shared result states and result-toolbar semantics */
.tool-result-state {
    --result-state-accent: var(--primary-color, #2563eb);
    --result-state-border: color-mix(in srgb, var(--result-state-accent) 30%, var(--border-color));
    --result-state-surface: color-mix(in srgb, var(--result-state-accent) 7%, var(--bg-primary));
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin: 14px 0 2px;
    padding: 16px;
    border: 1px solid var(--result-state-border);
    border-radius: 14px;
    background: var(--result-state-surface);
    color: var(--text-primary);
}
.tool-result-state.is-success { --result-state-accent: var(--success-color, #16803a); }
.tool-result-state.is-empty,
.tool-result-state.is-filtered-empty,
.tool-result-state.is-initial { --result-state-accent: var(--info-color, #2563eb); }
.tool-result-state.is-loading,
.tool-result-state.is-partial { --result-state-accent: var(--warning-color, #b7791f); }
.tool-result-state.is-failure { --result-state-accent: var(--danger-color, #dc2626); }
.tool-result-state-icon {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--result-state-accent) 14%, var(--bg-primary));
    color: var(--result-state-accent);
    font-weight: 900;
}
.tool-result-state-copy { min-width: 0; }
.tool-result-state-copy > strong { display: block; font-size: 1rem; }
.tool-result-state-message,
.tool-result-state-hint {
    margin: 5px 0 0;
    color: var(--text-secondary, #52606d);
    line-height: 1.55;
    overflow-wrap: anywhere;
}
.tool-result-state-hint { font-size: 13px; }
.tool-result-state-details {
    display: grid;
    gap: 6px;
    margin: 12px 0 0;
}
.tool-result-state-details > div {
    display: grid;
    grid-template-columns: minmax(90px, auto) minmax(0, 1fr);
    gap: 10px;
}
.tool-result-state-details dt { font-weight: 800; color: var(--text-primary); }
.tool-result-state-details dd { margin: 0; color: var(--text-secondary); overflow-wrap: anywhere; }
.tool-result-state-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.results-panel[data-result-state="loading"] { cursor: progress; }
.results-panel[data-result-state="failure"] { border-color: color-mix(in srgb, var(--danger-color, #dc2626) 34%, var(--border-color)); }
.results-panel[data-result-state="partial"] { border-color: color-mix(in srgb, var(--warning-color, #b7791f) 34%, var(--border-color)); }
@media (max-width: 640px) {
    .lookup-empty-state { grid-template-columns: 1fr; }
    .lookup-empty-state-details > div { grid-template-columns: 1fr; gap: 2px; }
    .tool-result-state { grid-template-columns: 1fr; }
    .tool-result-state-details > div { grid-template-columns: 1fr; gap: 2px; }
    .tool-result-state-actions .btn { width: 100%; }
    .ssl-reset-layout-compact { min-height: 40px; }
}

/* v1.56.39 Frontend + Admin UX and Mobile Workflow Polish */
.mobile-tool-context {
    display: none;
}

@media (max-width: 768px) {
    .mobile-tool-context:not([hidden]) {
        position: sticky;
        top: calc(56px + env(safe-area-inset-top));
        z-index: 880;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
        margin: 0 10px 2px;
        padding: 7px;
        border: 1px solid rgba(203, 213, 225, .82);
        border-radius: 17px;
        background: color-mix(in srgb, var(--bg-primary, #fff) 92%, transparent);
        box-shadow: 0 10px 28px rgba(15, 23, 42, .10);
        backdrop-filter: blur(18px);
    }

    .mobile-tool-context-back,
    .mobile-tool-context-favorite {
        appearance: none;
        min-width: 44px;
        min-height: 44px;
        border: 0;
        border-radius: 12px;
        background: var(--bg-secondary, #f1f5f9);
        color: var(--text-primary, #0f172a);
        cursor: pointer;
        font: inherit;
        font-weight: 850;
    }

    .mobile-tool-context-back {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 2px;
        padding: 0 10px 0 7px;
        color: var(--accent-color, #2563eb);
        font-size: 12px;
    }

    .mobile-tool-context-back span:first-child {
        font-size: 25px;
        line-height: 1;
    }

    .mobile-tool-context-current {
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .mobile-tool-context-icon {
        display: inline-grid;
        place-items: center;
        width: 34px;
        height: 34px;
        flex: 0 0 34px;
        border-radius: 11px;
        background: color-mix(in srgb, var(--accent-color, #2563eb) 12%, var(--bg-primary, #fff));
    }

    .mobile-tool-context-copy {
        min-width: 0;
        display: grid;
        gap: 1px;
    }

    .mobile-tool-context-copy strong {
        overflow: hidden;
        color: var(--text-primary, #0f172a);
        font-size: 13px;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-tool-context-kicker {
        color: var(--text-secondary, #64748b);
        font-size: 9px;
        font-weight: 850;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .mobile-tool-context-favorite {
        color: #b7791f;
        font-size: 22px;
    }

    .mobile-tool-context-favorite.is-favorite {
        background: #fff7d6;
        color: #d49a00;
    }

    body.mobile-shell-tool-active .content-wrapper {
        padding-top: 8px !important;
    }

    .tool-section.active input:not([type="checkbox"]):not([type="radio"]),
    .tool-section.active select,
    .tool-section.active textarea {
        font-size: 16px;
    }

    .tool-section.active .btn,
    .mobile-tool-context button,
    .mobile-bottom-tabs button {
        touch-action: manipulation;
    }

    .tool-section.active .table-scroll,
    .tool-section.active .results-table-wrap,
    .tool-section.active .redirect-chain-table-wrap {
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    .tool-section.active code,
    .tool-section.active pre,
    .tool-section.active a,
    .tool-section.active td {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 430px) {
    .mobile-tool-context:not([hidden]) {
        top: calc(56px + env(safe-area-inset-top));
        margin-inline: 8px;
    }

    .mobile-tool-context-back span:last-child,
    .mobile-tool-context-kicker {
        display: none;
    }

    .mobile-tool-context-back {
        width: 44px;
        padding: 0;
    }
}

/* v1.56.51 Client DNS Handoff focused workspace */
.frontend-handoff-toolbar-actions {
    align-items: center;
}

.frontend-handoff-toolbar-actions .section-icon-button {
    flex: 0 0 36px;
    width: 36px;
    min-width: 36px;
    height: 36px;
}

.frontend-handoff-stats .my-snapshots-stat-card.is-active {
    border-color: var(--primary-color);
    background: color-mix(in srgb, var(--primary-color) 8%, var(--card-bg));
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary-color) 14%, transparent);
}

.frontend-handoff-priority:not([hidden]) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    border: 1px solid color-mix(in srgb, var(--warning-color, #d97706) 42%, var(--border-color));
    border-radius: 16px;
    background: color-mix(in srgb, var(--warning-color, #d97706) 8%, var(--card-bg));
}

.frontend-handoff-priority-copy {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.frontend-handoff-priority-copy strong {
    display: block;
    color: var(--text-primary);
    font-size: 15px;
}

.frontend-handoff-priority-copy p {
    margin: 3px 0 0;
    color: var(--text-secondary);
    font-size: 13px;
}

.frontend-handoff-priority-icon {
    display: inline-grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: var(--warning-color, #d97706);
    color: #fff;
    font-size: 19px;
    font-weight: 900;
}

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

.frontend-handoff-editor:empty {
    display: none;
}

.frontend-handoff-shell.is-editor-open > .frontend-handoff-toolbar,
.frontend-handoff-shell.is-editor-open > .frontend-handoff-stats,
.frontend-handoff-shell.is-editor-open > .frontend-handoff-priority,
.frontend-handoff-shell.is-editor-open > .frontend-handoff-filters,
.frontend-handoff-shell.is-editor-open > .frontend-handoff-state,
.frontend-handoff-shell.is-editor-open .frontend-handoff-list {
    display: none !important;
}

.frontend-handoff-shell.is-editor-open .frontend-handoff-editor {
    display: block;
    width: 100%;
}

.frontend-handoff-list-group {
    display: grid;
    gap: 12px;
}

.frontend-handoff-list-group + .frontend-handoff-list-group {
    margin-top: 8px;
    padding-top: 20px;
    border-top: 1px solid var(--border-color);
}

.frontend-handoff-list-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.frontend-handoff-list-heading h3,
.frontend-handoff-list-heading p {
    margin: 0;
}

.frontend-handoff-list-heading h3 {
    color: var(--text-primary);
    font-size: 16px;
}

.frontend-handoff-list-heading p {
    margin-top: 2px;
    color: var(--text-secondary);
    font-size: 13px;
}

.frontend-handoff-list-heading > span {
    display: inline-grid;
    min-width: 30px;
    height: 30px;
    place-items: center;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 800;
}

.frontend-handoff-list-group-attention .frontend-handoff-list-heading > span {
    background: color-mix(in srgb, var(--warning-color, #d97706) 14%, var(--card-bg));
    color: color-mix(in srgb, var(--warning-color, #d97706) 82%, var(--text-primary));
}

.frontend-handoff-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 14px;
}

/* Client DNS Handoff: shared card/list data, using the global theme tokens. */
#frontendHandoffShell .frontend-handoff-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
#frontendHandoffShell .frontend-handoff-filters { align-items:center; }
#frontendHandoffShell .frontend-handoff-filters > * { min-width:0; }
.frontend-handoff-view-toggle { display:flex; gap:4px; }
#frontendHandoffShell .frontend-handoff-view-toggle [aria-pressed="true"] { border-color:var(--primary-color); background:var(--primary-color); color:var(--bg-primary); }
.frontend-handoff-dual-progress { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:18px 0 10px; }
.frontend-handoff-progress > div { display:flex; justify-content:space-between; gap:8px; color:var(--text-secondary); font-size:13px; }
.frontend-handoff-progress strong { color:var(--text-primary); }
.frontend-handoff-progress progress { display:block; width:100%; height:6px; margin-top:8px; border:0; border-radius:8px; overflow:hidden; appearance:none; background:var(--bg-tertiary); accent-color:var(--primary-color); }
.frontend-handoff-progress progress::-webkit-progress-bar { background:var(--bg-tertiary); }
.frontend-handoff-progress progress::-webkit-progress-value { background:var(--primary-color); border-radius:8px; }
.frontend-handoff-progress.dns progress { accent-color:var(--success-color); }
.frontend-handoff-progress.dns progress::-webkit-progress-value { background:var(--success-color); }
.frontend-handoff-check-time,.frontend-handoff-client { color:var(--text-secondary); font-size:13px; overflow-wrap:anywhere; }
#frontendHandoffList[data-view="list"] .frontend-handoff-card-grid { grid-template-columns:1fr; }
#frontendHandoffList[data-view="list"] .frontend-handoff-card { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr); gap:12px 20px; align-items:center; min-height:0; }
#frontendHandoffList[data-view="list"] .my-snapshot-card-head { grid-column:1; grid-row:1 / 3; }
#frontendHandoffList[data-view="list"] .frontend-handoff-dual-progress { grid-column:2; grid-row:1 / 3; margin:0; grid-template-columns:1fr; gap:8px; }
#frontendHandoffList[data-view="list"] .frontend-handoff-card-actions { grid-column:3; grid-row:1; padding:0; margin:0; }
#frontendHandoffList[data-view="list"] .frontend-handoff-check-time { grid-column:3; grid-row:2; }
#frontendHandoffList[data-view="list"] .frontend-handoff-attention-reason { grid-column:1 / -1; margin:0; }
#frontendHandoffShell button:focus-visible,#frontendHandoffShell summary:focus-visible { outline:2px solid var(--primary-color); outline-offset:3px; }
@media(min-width:1440px) { #frontendHandoffList[data-view="cards"] .frontend-handoff-card-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); } }
@media(max-width:1023px) {
 #frontendHandoffShell .frontend-handoff-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
 #frontendHandoffList[data-view="list"] .frontend-handoff-card { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 #frontendHandoffList[data-view="list"] .frontend-handoff-card-actions { grid-column:1 / -1; grid-row:auto; }
 #frontendHandoffList[data-view="list"] .frontend-handoff-check-time { grid-column:1 / -1; grid-row:auto; }
}
@media(max-width:767px) {
 #frontendHandoffList[data-view="cards"] .frontend-handoff-card-grid { grid-template-columns:1fr; }
 #frontendHandoffShell .frontend-handoff-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #frontendHandoffShell .frontend-handoff-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 #frontendHandoffShell .my-snapshots-search-wrap { grid-column:1 / -1; }
 #frontendHandoffShell .frontend-handoff-filters select { width:100%; max-width:100%; }
 #frontendHandoffList[data-view="list"] .frontend-handoff-card { display:flex; gap:10px; }
 #frontendHandoffList[data-view="list"] .frontend-handoff-dual-progress { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.frontend-handoff-card {
    display: flex;
    min-height: 100%;
    flex-direction: column;
}

.frontend-handoff-card .frontend-handoff-card-actions {
    margin-top: auto;
    padding-top: 12px;
}

.frontend-handoff-card .my-snapshot-kicker.is-attention {
    color: color-mix(in srgb, var(--warning-color, #d97706) 85%, var(--text-primary));
}

.frontend-handoff-attention-reason {
    margin: 10px 0 2px;
    padding: 9px 10px;
    border-left: 3px solid var(--warning-color, #d97706);
    border-radius: 8px;
    background: color-mix(in srgb, var(--warning-color, #d97706) 7%, var(--card-bg));
    color: var(--text-secondary);
    font-size: 12px;
}

.frontend-handoff-attention-reason strong {
    color: var(--text-primary);
}
/* Shared settings toggle used by public tools. Keep the native checkbox for
   form semantics and assistive technology, but present it consistently as a
   switch. */
.nt-setting-toggle {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 650;
    cursor: pointer;
    user-select: none;
}
.nt-setting-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.nt-setting-toggle-slider {
    position: relative;
    flex: 0 0 auto;
    width: 34px;
    height: 18px;
    border-radius: 999px;
    background: rgba(108, 117, 125, .35);
    box-shadow: inset 0 0 0 1px rgba(108, 117, 125, .35);
    transition: background .18s ease, box-shadow .18s ease;
}
.nt-setting-toggle-slider::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.24);
    transition: transform .18s ease;
}
.nt-setting-toggle input:checked + .nt-setting-toggle-slider {
    background: var(--success-color);
    box-shadow: inset 0 0 0 1px rgba(40, 167, 69, .45);
}
.nt-setting-toggle input:checked + .nt-setting-toggle-slider::after { transform: translateX(16px); }
.nt-setting-toggle:focus-within { outline: 2px solid rgba(37, 99, 235, .32); outline-offset: 2px; }
.nt-setting-toggle input:disabled ~ .nt-setting-toggle-slider,
.nt-setting-toggle input:disabled ~ span { opacity: .55; }
/* Legacy checkbox markup remains supported while rendering as the same
   switch. This lets older tools adopt the control without changing their
   event handlers or form serialization. */
.tool-section .checkbox-item > input[type="checkbox"],
.tool-section .checkbox-card > input[type="checkbox"],
.tool-section .checkbox-group > input[type="checkbox"],
.feedback-hub-check > input[type="checkbox"] {
    appearance: none;
    width: 34px;
    height: 18px;
    margin: 0 8px 0 0;
    border: 0;
    border-radius: 999px;
    background: rgba(108, 117, 125, .35);
    box-shadow: inset 0 0 0 1px rgba(108, 117, 125, .35);
    vertical-align: middle;
    position: relative;
    cursor: pointer;
    transition: background .18s ease, box-shadow .18s ease;
}
.tool-section .checkbox-item > input[type="checkbox"]::after,
.tool-section .checkbox-card > input[type="checkbox"]::after,
.tool-section .checkbox-group > input[type="checkbox"]::after,
.feedback-hub-check > input[type="checkbox"]::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.24);
    transition: transform .18s ease;
}
.tool-section .checkbox-item > input[type="checkbox"]:checked,
.tool-section .checkbox-card > input[type="checkbox"]:checked,
.tool-section .checkbox-group > input[type="checkbox"]:checked,
.feedback-hub-check > input[type="checkbox"]:checked { background: var(--success-color); box-shadow: inset 0 0 0 1px rgba(40, 167, 69, .45); }
.tool-section .checkbox-item > input[type="checkbox"]:checked::after,
.tool-section .checkbox-card > input[type="checkbox"]:checked::after,
.tool-section .checkbox-group > input[type="checkbox"]:checked::after,
.feedback-hub-check > input[type="checkbox"]:checked::after { transform: translateX(16px); }
.tool-section .checkbox-item > input[type="checkbox"]:focus-visible,
.tool-section .checkbox-card > input[type="checkbox"]:focus-visible,
.feedback-hub-check > input[type="checkbox"]:focus-visible { outline: 2px solid rgba(37, 99, 235, .32); outline-offset: 2px; }

.frontend-handoff-source-watch-link {
    margin-left: 4px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--primary-color);
    font: inherit;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.frontend-handoff-source-watch-link:hover,
.frontend-handoff-source-watch-link:focus-visible {
    text-decoration: underline;
}

.frontend-handoff-first-package {
    text-align: left;
}

.frontend-handoff-editor-card {
    width: 100%;
}

.frontend-handoff-seed-context {
    display: grid;
    gap: 4px;
    margin: 0 0 14px;
    padding: 12px 14px;
    border: 1px solid color-mix(in srgb, var(--primary-color) 32%, var(--border-color));
    border-radius: 12px;
    background: color-mix(in srgb, var(--primary-color) 8%, var(--card-bg));
    color: var(--text-secondary);
}

.frontend-handoff-seed-context strong {
    color: var(--text-primary);
}

.frontend-handoff-create-help {
    margin: 0 0 18px;
    padding: 11px 13px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-secondary);
    color: var(--text-secondary);
}

.frontend-handoff-create-help summary {
    color: var(--text-primary);
    cursor: pointer;
    font-weight: 750;
}

.frontend-handoff-create-help p {
    margin: 9px 0 0;
    line-height: 1.55;
}

.frontend-handoff-created {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    width: 100%;
    padding: clamp(22px, 4vw, 40px);
    border: 1px solid color-mix(in srgb, var(--success-color, #16a34a) 36%, var(--border-color));
    border-radius: 18px;
    background: linear-gradient(145deg, color-mix(in srgb, var(--success-color, #16a34a) 8%, var(--card-bg)), var(--card-bg) 58%);
    box-shadow: var(--shadow-md);
}

.frontend-handoff-created-icon {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border-radius: 50%;
    background: var(--success-color, #16a34a);
    color: #fff;
    font-size: 26px;
    font-weight: 850;
}

.frontend-handoff-created-copy h3 {
    margin: 4px 0 8px;
    font-size: clamp(24px, 4vw, 34px);
}

.frontend-handoff-created-copy > p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 1.55;
}

.frontend-handoff-created-copy dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 0;
}

.frontend-handoff-created-copy dl > div {
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: color-mix(in srgb, var(--card-bg) 88%, transparent);
}

.frontend-handoff-created-copy dt {
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.frontend-handoff-created-copy dd {
    margin: 4px 0 0;
    overflow-wrap: anywhere;
    font-weight: 750;
}

.frontend-handoff-created-actions {
    display: flex;
    flex-wrap: wrap;
    grid-column: 2;
    gap: 9px;
}

.frontend-handoff-created-note {
    grid-column: 2;
    margin: 0;
    color: var(--text-secondary);
    font-size: 12px;
}

.frontend-handoff-discard-overlay {
    position: fixed;
    z-index: 10050;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(4px);
}

.frontend-handoff-discard-dialog {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    width: min(500px, 100%);
    padding: 22px;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: var(--bg-primary);
    box-shadow: var(--shadow-lg);
}

.frontend-handoff-discard-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--warning-color, #d97706) 14%, var(--bg-primary));
    color: var(--warning-color, #d97706);
    font-size: 22px;
    font-weight: 850;
}

.frontend-handoff-discard-dialog h2 {
    margin: 0 0 5px;
    font-size: 21px;
}

.frontend-handoff-discard-dialog p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.5;
}

.frontend-handoff-discard-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    grid-column: 1 / -1;
    gap: 8px;
}

.frontend-handoff-workflow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 18px;
    padding: 8px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--bg-secondary);
}

.frontend-handoff-workflow span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    padding: 9px 10px;
    border-radius: 10px;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 750;
    text-align: center;
}

.frontend-handoff-workflow span.is-active {
    background: var(--card-bg);
    color: var(--text-primary);
    box-shadow: var(--shadow-sm);
}

.frontend-handoff-workflow b {
    display: inline-grid;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--primary-color) 12%, var(--card-bg));
    color: var(--primary-color);
    font-size: 11px;
}

.frontend-handoff-verification-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 14px;
    padding: 14px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--bg-secondary);
}

.frontend-handoff-verification-control strong {
    display: block;
    color: var(--text-primary);
}

.frontend-handoff-verification-control p {
    margin: 3px 0 0;
    color: var(--text-secondary);
    font-size: 12px;
}

.frontend-handoff-verification-results-shell:not([hidden]) { display: block; margin: 18px 0; }
.frontend-handoff-verification-loading,
.frontend-handoff-verification-results { padding: 18px; border: 1px solid var(--border-color); border-radius: 16px; background: var(--card-bg); }
.frontend-handoff-verification-loading-head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; }
.frontend-handoff-verification-loading-head p,
.frontend-handoff-verification-results-head p,
.frontend-handoff-verification-row p { margin: 5px 0 0; color: var(--text-secondary); line-height: 1.55; }
.frontend-handoff-verification-progress { width: 46%; animation: frontendHandoffVerificationProgress 1.4s ease-in-out infinite alternate; }
@keyframes frontendHandoffVerificationProgress { from { transform: translateX(-8%); } to { transform: translateX(118%); } }
.frontend-handoff-verification-results.is-pass { border-color: #86d5a1; background: linear-gradient(180deg, color-mix(in srgb, #22c55e 5%, var(--card-bg)), var(--card-bg)); }
.frontend-handoff-verification-results.is-attention { border-color: #f1c66d; background: linear-gradient(180deg, color-mix(in srgb, #f59e0b 5%, var(--card-bg)), var(--card-bg)); }
.frontend-handoff-verification-results-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.frontend-handoff-verification-results-head h4 { margin: 6px 0 0; font-size: 1.2rem; }
.frontend-handoff-verification-totals { display: flex; flex-wrap: wrap; gap: 8px; }
.frontend-handoff-verification-totals span { padding: 7px 10px; border-radius: 999px; background: var(--bg-secondary); border: 1px solid var(--border-color); white-space: nowrap; font-size: 12px; }
.frontend-handoff-verification-grid { display: grid; gap: 10px; margin-top: 16px; }
.frontend-handoff-verification-row { padding: 14px; border: 1px solid var(--border-color); border-left-width: 4px; border-radius: 12px; background: var(--card-bg); }
.frontend-handoff-verification-row.is-pass { border-left-color: #22a447; }
.frontend-handoff-verification-row.is-fail { border-left-color: #dc8b16; }
.frontend-handoff-verification-row.is-pending { border-left-color: #7b8da8; }
.frontend-handoff-verification-row-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.frontend-handoff-verification-row-head > div { display: grid; gap: 3px; min-width: 0; }
.frontend-handoff-verification-row-head > div span { color: var(--text-secondary); font-size: 12px; }
.frontend-handoff-verification-state { flex: none; padding: 5px 8px; border-radius: 999px; font-size: 11px; font-weight: 850; }
.frontend-handoff-verification-state.is-pass { background: #dcfce7; color: #166534; }
.frontend-handoff-verification-state.is-fail { background: #fef3c7; color: #92400e; }
.frontend-handoff-verification-state.is-pending { background: #e2e8f0; color: #475569; }
.frontend-handoff-verification-row dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0; }
.frontend-handoff-verification-row dl > div { min-width: 0; padding: 10px; border-radius: 10px; background: var(--bg-secondary); }
.frontend-handoff-verification-row dt { color: var(--text-secondary); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.frontend-handoff-verification-row dd { margin: 6px 0 0; }
.frontend-handoff-verification-row code { white-space: pre-wrap; overflow-wrap: anywhere; }
.frontend-handoff-verification-row small { display: block; margin-top: 8px; color: var(--text-secondary); }

.frontend-handoff-presave-shell:not([hidden]) {
    display: block;
    margin: 18px 0;
}

.frontend-handoff-presave-panel {
    padding: 18px;
    border: 1px solid #f1c66d;
    border-radius: 16px;
    background: linear-gradient(180deg, color-mix(in srgb, #f59e0b 6%, var(--card-bg)), var(--card-bg));
}

.frontend-handoff-presave-panel.is-loading {
    border-color: var(--border-color);
    background: var(--card-bg);
}

.frontend-handoff-presave-head,
.frontend-handoff-presave-row-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.frontend-handoff-presave-head h4 {
    margin: 6px 0 0;
    font-size: 1.2rem;
}

.frontend-handoff-presave-head p,
.frontend-handoff-presave-row p {
    margin: 5px 0 0;
    color: var(--text-secondary);
    line-height: 1.55;
}

.frontend-handoff-presave-totals,
.frontend-handoff-presave-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.frontend-handoff-presave-totals {
    justify-content: flex-end;
}

.frontend-handoff-presave-totals span,
.frontend-handoff-presave-badge {
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    white-space: nowrap;
    font-size: 12px;
    font-weight: 750;
}

.frontend-handoff-presave-grid {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.frontend-handoff-presave-row {
    padding: 14px;
    border: 1px solid var(--border-color);
    border-left: 4px solid #7b8da8;
    border-radius: 12px;
    background: var(--card-bg);
}

.frontend-handoff-presave-row.needs-action {
    border-left-color: #dc8b16;
}

.frontend-handoff-presave-row.is-already_matches {
    border-left-color: #22a447;
}

.frontend-handoff-presave-row-head > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.frontend-handoff-presave-row-head > div span {
    color: var(--text-secondary);
    font-size: 12px;
}

.frontend-handoff-presave-row dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 12px 0 0;
}

.frontend-handoff-presave-row dl > div {
    min-width: 0;
    padding: 10px;
    border-radius: 10px;
    background: var(--bg-secondary);
}

.frontend-handoff-presave-row dt {
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.frontend-handoff-presave-row dd {
    margin: 6px 0 0;
}

.frontend-handoff-presave-row code {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.frontend-handoff-presave-row small {
    display: block;
    margin-top: 6px;
    color: var(--text-secondary);
}

.frontend-handoff-presave-actions {
    margin-top: 14px;
}

.frontend-handoff-add-row {
    display: flex;
    justify-content: flex-start;
    margin-top: 12px;
}

.frontend-handoff-password-control {
    flex-wrap: wrap;
}

.frontend-handoff-password-field {
    flex: 1 0 100%;
    margin: 0;
}

.frontend-handoff-password-input-row {
    display: flex;
    gap: 8px;
    align-items: center;
}

.frontend-handoff-password-input-row .btn {
    flex: 0 0 auto;
    min-width: 42px;
    padding-inline: 10px;
}

.frontend-handoff-creation-snapshot,
.frontend-handoff-snapshot-pending {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.frontend-handoff-creation-snapshot summary {
    cursor: pointer;
    color: var(--text-primary);
    font-weight: 750;
}

.frontend-handoff-creation-snapshot > div {
    margin-top: 8px;
    line-height: 1.5;
}

.frontend-handoff-value-warning:not([hidden]) {
    display: block;
    margin-top: 7px;
    padding: 8px 10px;
    border-left: 3px solid var(--warning-color, #d97706);
    border-radius: 8px;
    background: color-mix(in srgb, var(--warning-color, #d97706) 9%, var(--card-bg));
    color: var(--text-primary);
    font-size: 12px;
    line-height: 1.45;
}

.frontend-handoff-value-input[aria-invalid="true"] {
    border-color: var(--warning-color, #d97706);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--warning-color, #d97706) 16%, transparent);
}

@media (max-width: 720px) {
    .frontend-handoff-priority:not([hidden]),
    .frontend-handoff-verification-control {
        display: grid;
        align-items: stretch;
    }

    .frontend-handoff-priority .btn,
    .frontend-handoff-verification-control .dns-watch-enable-toggle {
        width: 100%;
    }

    .frontend-handoff-verification-results-head,
    .frontend-handoff-verification-row-head,
    .frontend-handoff-presave-head,
    .frontend-handoff-presave-row-head { display: grid; }

    .frontend-handoff-verification-row dl { grid-template-columns: 1fr; }
    .frontend-handoff-presave-row dl { grid-template-columns: 1fr; }
    .frontend-handoff-presave-totals { justify-content: flex-start; }

    .frontend-handoff-toolbar-actions {
        display: flex !important;
        justify-content: flex-end;
    }

    .frontend-handoff-toolbar-actions .btn {
        width: auto !important;
    }

    .frontend-handoff-workflow {
        display: flex;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
    }

    .frontend-handoff-workflow span {
        flex: 0 0 auto;
        min-width: 150px;
    }
}

@media (max-width: 460px) {
    .frontend-handoff-toolbar-actions {
        justify-content: space-between;
        width: 100%;
    }

    .frontend-handoff-toolbar-actions .btn {
        flex: 1 1 auto;
    }

    .frontend-handoff-card-grid {
        grid-template-columns: 1fr;
    }
}

/* v1.56.63 Cross-workflow mobile compliance and action hierarchy */
.frontend-handoff-editor-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 14px;
    align-items: center;
}
.frontend-handoff-save-state {
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 750;
}
.frontend-handoff-save-state.is-dirty { color: var(--warning-color, #b45309); }
.frontend-handoff-primary-actions { display: flex; flex-wrap: wrap; gap: 8px; grid-column: 1 / -1; }
.frontend-handoff-secondary-actions { position: relative; grid-column: 2; grid-row: 1; }
.frontend-handoff-secondary-actions > summary { list-style: none; cursor: pointer; }
.frontend-handoff-secondary-actions > summary::-webkit-details-marker { display: none; }
.frontend-handoff-secondary-actions > div {
    position: absolute;
    z-index: 30;
    right: 0;
    bottom: calc(100% + 8px);
    display: grid;
    gap: 8px;
    width: min(260px, calc(100vw - 32px));
    padding: 10px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-primary);
    box-shadow: var(--shadow-lg);
}
.batch-propagation-view-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid var(--border-color, #d9e2ec);
    border-radius: 12px;
    background: var(--surface-muted, #f8fafc);
}
.batch-propagation-view-filter { display: flex; flex-wrap: wrap; gap: 6px; }
.batch-propagation-view-filter button {
    min-height: 36px;
    padding: 6px 10px;
    border: 1px solid var(--border-color, #d9e2ec);
    border-radius: 999px;
    background: var(--surface, #fff);
    color: var(--text-secondary, #475569);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}
.batch-propagation-view-filter button.is-active {
    border-color: var(--primary-color, #2563eb);
    background: color-mix(in srgb, var(--primary-color, #2563eb) 10%, var(--surface, #fff));
    color: var(--primary-color, #1d4ed8);
}
#batchPropagationViewFilterStatus { color: var(--text-secondary, #64748b); font-size: 12px; }

@media (max-width: 768px) {
    .tool-section.active,
    .tool-section.active > *,
    .tool-section.active .results-panel,
    .tool-section.active .phase-section-card,
    .tool-section.active details,
    .tool-section.active summary,
    .tool-section.active .form-row,
    .tool-section.active .form-group { min-width: 0; max-width: 100%; }
    .tool-section.active input:not([type="checkbox"]):not([type="radio"]),
    .tool-section.active select,
    .tool-section.active textarea { min-width: 0; max-width: 100%; }
    .tool-section.active img,
    .tool-section.active svg,
    .tool-section.active canvas { max-width: 100%; height: auto; }
    .tool-section.active pre { max-width: 100%; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
    .tool-section.active .btn:not(.btn-icon),
    .tool-section.active button:not(.btn-icon) { min-height: 44px; }
    .tool-section.active .action-button-row .btn:not(.btn-icon) { white-space: normal; overflow-wrap: anywhere; min-width: 0; max-width: 100%; }
    .tool-info-trigger,
    .redirect-basic-auth-lock,
    .batch-propagation-record-remove,
    .multi-result-filter-remove {
        min-width: 44px;
        width: 44px;
        min-height: 44px;
        height: 44px;
    }
    .frontend-handoff-editor-actions {
        position: sticky;
        grid-template-columns: 1fr auto;
        bottom: calc(8px + env(safe-area-inset-bottom));
    }
    .frontend-handoff-primary-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .frontend-handoff-primary-actions .btn { width: 100%; }
    .frontend-handoff-primary-actions .btn:first-child { grid-column: 1 / -1; }
    .batch-propagation-view-tools { display: grid; }
    .batch-propagation-view-filter { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .batch-propagation-view-filter button { min-height: 44px; border-radius: 10px; }
    .batch-propagation-command-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .batch-propagation-command-bar > .btn,
    .batch-propagation-command-bar > label { width: 100%; min-width: 0; }
    .batch-propagation-command-bar > #batchPropagationRunButton { grid-column: 1 / -1; }
}

@media (max-width: 430px) {
    .frontend-handoff-primary-actions,
    .batch-propagation-view-filter,
    .batch-propagation-command-bar { grid-template-columns: 1fr; }
    .frontend-handoff-primary-actions .btn:first-child,
    .batch-propagation-command-bar > #batchPropagationRunButton { grid-column: auto; }
    .frontend-handoff-secondary-actions > div { position: fixed; right: 10px; bottom: calc(76px + env(safe-area-inset-bottom)); left: 10px; width: auto; }
}

/* v1.56.64 Cross-tool handoff menu size restoration */
.domain-handoff-menu {
    width: clamp(320px, 30vw, 380px);
    min-width: 320px;
    padding: 10px;
    gap: 7px;
}
.domain-handoff-menu-title {
    display: grid;
    gap: 3px;
    padding: 8px 10px 10px;
    font-size: 14px;
    line-height: 1.35;
}
.domain-handoff-menu-title > strong { color: var(--text-primary); font-size: 15px; }
.domain-handoff-menu-title > span { overflow-wrap: anywhere; color: var(--primary-color, #2563eb); }
.domain-handoff-menu-title > small { color: var(--text-secondary); font-size: 12px; font-weight: 500; }
.domain-handoff-menu .domain-handoff-btn {
    min-height: 44px;
    padding: 11px 12px;
    font-size: 14px;
    font-weight: 700;
}

@media (max-width: 430px) {
    body:not(.member-portal) .domain-handoff-menu {
        right: 0;
        left: auto;
        width: min(340px, calc(100vw - 24px));
        min-width: min(320px, calc(100vw - 24px));
        max-width: calc(100vw - 24px);
    }
}
.frontend-handoff-host-normalization {
    margin-top: 6px;
    color: var(--info-text, #1d4ed8);
    font-size: 0.78rem;
    line-height: 1.35;
}

.frontend-handoff-host-normalization[hidden] {
    display: none;
}

/* v1.56.104 Client DNS Handoff PDF and schedule clarity */
.frontend-handoff-pdf-email {
    display: grid;
    gap: 14px;
    margin-top: 16px;
    padding: 16px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: color-mix(in srgb, var(--accent-color, #2563eb) 5%, var(--bg-primary));
}

.frontend-handoff-pdf-email[hidden] {
    display: none;
}

.frontend-handoff-pdf-email p {
    margin: 4px 0 0;
}

.frontend-handoff-pdf-email-fields {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    gap: 10px;
    align-items: end;
}

.frontend-handoff-pdf-email-fields .form-label {
    grid-column: 1 / -1;
    margin-bottom: -6px;
}

@media (max-width: 700px) {
    .frontend-handoff-pdf-email-fields {
        grid-template-columns: 1fr 1fr;
    }

    .frontend-handoff-pdf-email-fields .form-input {
        grid-column: 1 / -1;
    }

    .frontend-handoff-pdf-email-fields .btn {
        width: 100%;
    }

    .frontend-handoff-created {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .frontend-handoff-created-icon {
        width: 44px;
        height: 44px;
        font-size: 22px;
    }

    .frontend-handoff-created-copy dl {
        grid-template-columns: 1fr;
    }

    .frontend-handoff-created-actions,
    .frontend-handoff-created-note {
        grid-column: 1;
    }

    .frontend-handoff-created-actions,
    .frontend-handoff-discard-actions {
        display: grid;
    }

    .frontend-handoff-created-actions .btn,
    .frontend-handoff-discard-actions .btn {
        width: 100%;
    }

    .frontend-handoff-discard-dialog {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .frontend-handoff-discard-actions {
        grid-column: 1;
    }
}
/* v1.57.0 Email Deliverability Tester */
.email-health-intro {
    display: grid;
    gap: 4px;
    margin: 14px 0 18px;
    padding: 14px 16px;
    border: 1px solid color-mix(in srgb, var(--primary-color, #2563eb) 25%, var(--border-color, #d7dee8));
    border-radius: 12px;
    background: color-mix(in srgb, var(--primary-color, #2563eb) 6%, var(--card-bg, #fff));
    line-height: 1.5;
}

.email-health-primary-fields { max-width: 920px; }
.email-health-optional { margin: 0 0 16px; }
.email-health-actions { margin-top: 14px; }
.break-anywhere { overflow-wrap: anywhere; word-break: break-word; }

.email-health-overview {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
    padding: 18px;
    border: 1px solid var(--border-color, #d7dee8);
    border-left-width: 5px;
    border-radius: 14px;
    background: var(--card-bg, #fff);
}

.email-health-overview h3 { margin: 2px 0 6px; font-size: clamp(1.25rem, 2.2vw, 1.7rem); }
.email-health-overview p { margin: 0; max-width: 78ch; color: var(--text-secondary, #475569); line-height: 1.5; }
.email-health-overview-success { border-left-color: var(--success-color, #16a34a); }
.email-health-overview-warning { border-left-color: var(--warning-color, #d97706); }
.email-health-overview-danger { border-left-color: var(--danger-color, #dc2626); }
.email-health-overview-info { border-left-color: var(--info-color, #0284c7); }

.email-health-score-ring {
    width: 88px;
    height: 88px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    padding-top: 25px;
    border: 7px solid color-mix(in srgb, var(--primary-color, #2563eb) 75%, #fff);
    border-radius: 50%;
    background: var(--surface-muted, #f8fafc);
    white-space: nowrap;
}
.email-health-score-ring strong { font-size: 1.55rem; line-height: 1; }
.email-health-score-ring span { font-size: .75rem; color: var(--text-secondary, #64748b); }

.email-health-summary-grid .phase-metric-value-clamp { font-size: clamp(1rem, 2vw, 1.35rem); overflow-wrap: anywhere; }
.email-health-category-section, .email-health-findings-section { margin-top: 20px; }
.email-health-category-section > h3 { margin: 0 0 10px; }
.email-health-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
}
.email-health-category-score {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 13px;
    border: 1px solid var(--border-color, #d7dee8);
    border-radius: 10px;
    background: var(--card-bg, #fff);
}
.email-health-category-score span { color: var(--text-secondary, #64748b); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.email-health-category-score strong { font-size: 1.35rem; }
.email-health-category-score small { color: var(--text-secondary, #64748b); }

.email-health-filter-bar { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.email-health-filter-bar .active { box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary-color, #2563eb) 35%, transparent); }
.email-health-findings { display: grid; gap: 10px; }
.email-health-finding {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--border-color, #d7dee8);
    border-left-width: 4px;
    border-radius: 10px;
    background: var(--card-bg, #fff);
}
.email-health-finding[hidden] { display: none; }
.email-health-finding-success { border-left-color: var(--success-color, #16a34a); }
.email-health-finding-warning { border-left-color: var(--warning-color, #d97706); }
.email-health-finding-danger { border-left-color: var(--danger-color, #dc2626); }
.email-health-finding-info { border-left-color: var(--info-color, #0284c7); }
.email-health-finding-icon {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--surface-muted, #eef2f7);
    font-weight: 800;
}
.email-health-finding-copy { min-width: 0; }
.email-health-finding-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.email-health-finding-heading h4 { margin: 1px 0 0; font-size: 1rem; overflow-wrap: anywhere; }
.email-health-finding-category { margin-top: 2px; color: var(--text-secondary, #64748b); font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.email-health-finding-copy > p { margin: 8px 0; line-height: 1.45; }
.email-health-finding dl { display: grid; gap: 7px; margin: 0; }
.email-health-finding dl > div { display: grid; grid-template-columns: minmax(105px, 145px) minmax(0, 1fr); gap: 9px; }
.email-health-finding dt { font-weight: 700; color: var(--text-secondary, #475569); }
.email-health-finding dd { margin: 0; overflow-wrap: anywhere; line-height: 1.45; }

.email-health-technical { margin-top: 18px; }
.email-health-evidence-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
    gap: 8px;
    margin-bottom: 14px;
}
.email-health-evidence-grid > div { display: grid; gap: 3px; padding: 10px; border: 1px solid var(--border-color, #d7dee8); border-radius: 8px; }
.email-health-evidence-grid span { overflow-wrap: anywhere; }
#emailHealthQueryTable td { white-space: normal; overflow-wrap: anywhere; word-break: break-word; }

@media (max-width: 700px) {
    .email-health-overview { grid-template-columns: 1fr; align-items: start; padding: 14px; }
    .email-health-score-ring { width: 76px; height: 76px; padding-top: 20px; }
    .email-health-finding { grid-template-columns: 28px minmax(0, 1fr); padding: 12px; gap: 9px; }
    .email-health-finding-icon { width: 26px; height: 26px; }
    .email-health-finding-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
    .email-health-finding dl > div { grid-template-columns: 1fr; gap: 2px; }
    .email-health-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .email-health-filter-bar .btn { flex: 1 1 calc(50% - 8px); min-height: 44px; }
}

@media (max-width: 420px) {
    .email-health-category-grid { grid-template-columns: 1fr; }
    .email-health-filter-bar .btn { flex-basis: 100%; }
}
/* Member-scoped notification address suggestions */
.notification-address-suggestions {
    position: fixed;
    z-index: 10050;
    max-height: min(280px, 45vh);
    overflow-y: auto;
    padding: 6px;
    border: 1px solid var(--border-color, #d7dee8);
    border-radius: 10px;
    background: var(--surface-color, #fff);
    color: var(--text-primary, #172033);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .2);
}

.notification-address-suggestions[hidden] {
    display: none !important;
}

.notification-address-suggestions-label {
    padding: 7px 9px 5px;
    color: var(--text-muted, #64748b);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.notification-address-suggestions button {
    display: block;
    width: 100%;
    padding: 9px 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    overflow-wrap: anywhere;
    cursor: pointer;
}

.notification-address-suggestions button:hover,
.notification-address-suggestions button:focus-visible,
.notification-address-suggestions button.is-active {
    background: color-mix(in srgb, var(--primary-color, #2563eb) 12%, transparent);
    outline: none;
}

.share-dialog-evidence,
.my-snapshot-evidence {
    margin: 0 0 16px;
    color: var(--text-secondary, #475569);
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.share-dialog-feedback {
    padding: 12px;
    border: 1px solid var(--border-color, #d7dee8);
    border-radius: 10px;
    background: var(--bg-tertiary, #f1f5f9);
    color: var(--text-primary, #172033);
}

.share-dialog-feedback[hidden],
.share-dialog-evidence[hidden] { display: none; }

.batch-status-filter-card {
    cursor: pointer;
    text-align: left;
    color: inherit;
    font: inherit;
}
.batch-status-filter-card:hover,
.batch-status-filter-card:focus-visible {
    border-color: var(--primary-color, #2563eb);
    outline: 2px solid var(--primary-color, #2563eb);
    outline-offset: 2px;
}
.batch-status-filter-card[aria-pressed="true"] {
    box-shadow: inset 0 0 0 2px var(--primary-color, #2563eb);
}

.member-address-book {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--border-color, #d7dee8);
}

.member-address-book-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.member-address-book-suggestions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 7px;
    color: var(--text-muted, #64748b);
    font-size: .82rem;
}

.member-address-book-suggestions button {
    padding: 4px 8px;
    border: 1px solid var(--border-color, #d7dee8);
    border-radius: 999px;
    background: var(--surface-muted, #f8fafc);
    color: inherit;
    cursor: pointer;
}

.member-address-book-suggestions button:hover,
.member-address-book-suggestions button:focus-visible {
    border-color: var(--primary-color, #2563eb);
    color: var(--primary-color, #2563eb);
    outline: none;
}

.member-address-book-entry {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 100%;
    padding: 7px 9px;
    border: 1px solid var(--border-color, #d7dee8);
    border-radius: 999px;
    background: var(--surface-muted, #f8fafc);
}

.member-address-book-entry > span {
    overflow-wrap: anywhere;
}

.member-address-book-entry .member-address-book-use {
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    overflow-wrap: anywhere;
    text-align: left;
    cursor: pointer;
}

.member-address-book-entry .member-address-book-remove {
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.member-address-book-entry .member-address-book-use:hover,
.member-address-book-entry .member-address-book-use:focus-visible {
    color: var(--primary-color, #2563eb);
    outline: none;
    text-decoration: underline;
}

.member-address-book-entry .member-address-book-remove:hover,
.member-address-book-entry .member-address-book-remove:focus-visible {
    background: rgba(148, 163, 184, .22);
    outline: 2px solid var(--primary-color, #2563eb);
    outline-offset: 1px;
}

@media (max-width: 640px) {
    .notification-address-suggestions {
        max-width: calc(100vw - 24px);
    }

    .member-address-book-entry {
        width: 100%;
        justify-content: space-between;
        border-radius: 10px;
    }
}
.dns-rrset-editor {
    display: grid;
    gap: 8px;
}

.dns-rrset-value-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
}

.dns-rrset-add {
    margin-top: 7px;
    padding: 3px 0;
    border: 0;
    background: transparent;
    color: var(--primary-color, #2563eb);
    font: inherit;
    font-size: .88rem;
    font-weight: 750;
    cursor: pointer;
}

.dns-rrset-add:hover,
.dns-rrset-add:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.dns-rrset-policy {
    margin-top: 12px;
    max-width: 620px;
}

.dns-rrset-policy-label {
    margin-top: 12px;
}

.dns-rrset-result {
    margin-top: 10px;
    padding: 10px;
    border: 1px solid var(--border-color, #d8e2ee);
    border-radius: 10px;
    background: var(--background-secondary, #f8fafc);
}

.dns-rrset-result.is-match { border-color: #86c99a; }
.dns-rrset-result.is-attention { border-color: #e0b66e; }

.dns-rrset-result-head,
.dns-rrset-result-columns,
.propagation-rrset-detail {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}

.dns-rrset-result-head { justify-content: space-between; }
.dns-rrset-result-list ul { margin: 5px 0 0; padding-left: 18px; }
.propagation-rrset-detail { margin-top: 6px; font-size: .82rem; }

@media (max-width: 640px) {
    .dns-rrset-value-row { grid-template-columns: minmax(0, 1fr); }
    .dns-rrset-remove { justify-self: start; }
}
.domain-watch-table-wrap { overflow-x: auto; max-width: 100%; }
.domain-watch-table { min-width: 880px; }
.domain-watch-table th, .domain-watch-table td { white-space: nowrap; vertical-align: top; }
.domain-watch-table .domain-watch-status, .domain-watch-table .domain-watch-verification { white-space: normal; min-width: 12rem; max-width: 20rem; overflow-wrap: anywhere; }
.domain-watch-table .domain-watch-actions { white-space: normal; min-width: 14rem; }
.domain-watch-actions .btn { margin: .2rem .2rem .2rem 0; }
.domain-watch-table tr[id^="domainWatchEvents"] td { white-space: normal; overflow-wrap: anywhere; }
.domain-watch-table tr[id^="domainWatchRecipients"] td { white-space: normal; overflow-wrap: anywhere; }
.domain-watch-client-panel, .domain-watch-recipient-list, .domain-watch-recipient { min-width: 0; overflow-wrap: anywhere; }
.domain-watch-recipient-list { padding-left: 1.25rem; }
.domain-watch-recipient { padding: .75rem 0; border-bottom: 1px solid var(--border-color, #d9e0e7); }
.domain-watch-client-panel .action-button-row { flex-wrap: wrap; align-items: center; }
.domain-watch-client-panel .form-input { width: auto; min-width: min(100%, 12rem); max-width: 100%; }
.domain-watch-client-preview { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%; }
#domainWatchPortfolio tr[hidden], .domain-watch-client-panel [hidden] { display: none !important; }

.site-monitor-event-list { padding-left: 1.25rem; overflow-wrap: anywhere; }
.site-monitor-history form { display: grid; gap: .75rem; min-width: 0; }
.site-monitor-history .nt-setting-toggle { max-width: 100%; }
.site-health-results, .site-health-related { min-width: 0; overflow-wrap: anywhere; }
.site-monitor-regions { min-width: 0; overflow-wrap: anywhere; border-top: 1px solid var(--border-color, #ddd); margin-top: 1rem; padding-top: .5rem; }
.site-monitor-regions li { margin-bottom: .75rem; }
.site-health-related { border-top: 1px solid var(--border-color, #ddd); margin-top: 1rem; padding-top: 1rem; }
.site-health-table-wrap { max-width: 100%; overflow-x: auto; }
.site-health-table-wrap .data-table { min-width: 1400px; }
.site-health-table-wrap th, .site-health-table-wrap td { white-space: normal; overflow-wrap: anywhere; min-width: 100px; }
.site-health-warnings { padding-left: 1.25rem; }
@media (max-width: 768px) {
    body:not(.member-portal) .site-health-table-wrap table.data-table { display: table !important; table-layout: auto; min-width: 1600px !important; }
    body:not(.member-portal) .site-health-table-wrap table.data-table thead { display: table-header-group !important; }
    body:not(.member-portal) .site-health-table-wrap table.data-table tbody { display: table-row-group !important; }
    body:not(.member-portal) .site-health-table-wrap table.data-table tr { display: table-row !important; margin: 0; padding: 0; border-radius: 0; box-shadow: none; }
    body:not(.member-portal) .site-health-table-wrap table.data-table thead tr { position: static !important; top: auto; left: auto; }
    body:not(.member-portal) .site-health-table-wrap table.data-table th,
    body:not(.member-portal) .site-health-table-wrap table.data-table td { display: table-cell !important; width: auto; padding: 12px !important; text-align: left; }
    body:not(.member-portal) .site-health-table-wrap table.data-table tr::before,
    body:not(.member-portal) .site-health-table-wrap table.data-table td::before { display: none; content: none; }
}

/* Provider profiles retain a complete, wrapping selected label on every viewport. */
#header-check .header-profile-field { flex: 2 1 28rem; min-width: 0; }
#headerProfileId { width: 100%; min-width: 0; }
#headerProfileDescription, .lookup-permalink-help { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 640px) {
    #header-check .header-profile-field { flex-basis: 100%; width: 100%; }
}
#batchResultTable tr[hidden], #zoneCompareFindingsTable tr[hidden] {display:none !important;}

/* The root catalog shares the mobile shell; tools retain their own workspaces. */
body[data-home-active="1"] .content-wrapper { display:none; }
body[data-home-active="1"] .mobile-app-shell { display:block; }
.sidebar-home-link { color:inherit; text-decoration:none; border-radius:3px; }
.sidebar-home-link:hover { opacity:.88; }
.sidebar-home-link:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
#mobilePanelHome { --home-accent:#075cbd; --home-surface:var(--bg-secondary); --text-secondary:#526275; color:var(--text-primary); }
:is(.theme-dark,.theme-dimmed,.theme-ash) #mobilePanelHome { --home-accent:#80c8ff; --text-secondary:#c1ccd6; }
.theme-blue #mobilePanelHome { --home-accent:#064c99; --text-secondary:#365474; }
.theme-terminal #mobilePanelHome { --home-accent:#00ff00; --text-secondary:#a1d7a1; }
.theme-purple #mobilePanelHome { --home-accent:#651c83; --text-secondary:#694272; }
#mobilePanelHome button { font-family:inherit; }
#mobilePanelHome .tools-home-hero { background:transparent; border:0; box-shadow:none; padding:24px 0 28px; margin:0; border-radius:0; text-align:center; }
#mobilePanelHome .mobile-hero-eyebrow { color:var(--home-accent); font-size:12px; font-weight:700; letter-spacing:.08em; line-height:1.6; }
#mobilePanelHome .mobile-hero-title { color:var(--text-primary); font-size:clamp(28px,3.2vw,42px); line-height:1.15; letter-spacing:-.035em; margin:12px 0 14px; overflow-wrap:anywhere; }
#mobilePanelHome .mobile-hero-copy { display:block; color:var(--text-secondary); font-size:16px; line-height:1.6; max-width:640px; margin:0 auto 24px; }
.tools-home-search { display:flex; align-items:center; gap:12px; width:100%; max-width:680px; margin:auto; padding:0 18px; min-height:58px; background:var(--home-surface); border:1px solid var(--border-color); border-radius:12px; color:var(--text-secondary); box-sizing:border-box; }
.tools-home-search:focus-within { outline:2px solid var(--home-accent); outline-offset:3px; }
.tools-home-search > svg { width:22px; height:22px; flex-shrink:0; }
#toolsHomeSearch { flex:1; min-width:0; width:100%; border:0; border-radius:0; box-shadow:none; background:transparent; color:var(--text-primary); font:inherit; font-size:16px; padding:16px 0; outline:none; }
#toolsHomeSearch::placeholder { color:var(--text-secondary); opacity:1; }
.tools-home-categories { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:0 0 32px; }
.tools-home-categories button,.tools-home-empty button { font:inherit; font-size:13px; font-weight:600; line-height:1.4; min-height:44px; padding:10px 14px; border:1px solid var(--border-color); border-radius:24px; background:var(--home-surface); color:var(--text-primary); cursor:pointer; }
.tools-home-categories button[aria-pressed="true"] { background:var(--home-accent); border-color:var(--home-accent); color:var(--bg-primary); }
.tools-home-catalog-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:26px; }
.tools-home-catalog-heading h2 { margin:0; color:var(--text-primary); font-size:24px; letter-spacing:-.02em; }
#toolsHomeCount { font-size:13px; color:var(--text-secondary); }
.tools-home-group { margin:0 0 30px; }
.tools-home-group h3 { color:var(--text-secondary); font-size:12px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; line-height:1.6; margin:0 0 14px; }
.tools-home-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
#mobilePanelHome .tools-home-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:22px; min-height:230px; border:1px solid var(--border-color); border-radius:12px; background:var(--home-surface); color:var(--text-primary); text-decoration:none; box-shadow:none; gap:0; box-sizing:border-box; transition:border-color 120ms ease,transform 120ms ease; }
#mobilePanelHome .tools-home-card:hover { border-color:var(--home-accent); transform:translateY(-2px); }
.tools-home-icon { display:flex; align-items:center; justify-content:center; width:42px; height:42px; color:var(--home-accent); background:var(--bg-primary); border:1px solid var(--border-color); border-radius:12px; margin-bottom:18px; flex-shrink:0; }
.tools-home-icon .wb-tool-icon { display:block; width:22px; height:22px; }
#mobilePanelHome .mobile-tool-name { display:block; white-space:normal; -webkit-line-clamp:unset; overflow:visible; color:var(--text-primary); font-size:17px; font-weight:650; line-height:1.3; margin:0 0 9px; text-decoration:none; overflow-wrap:anywhere; }
#mobilePanelHome .mobile-tool-desc { display:block; white-space:normal; -webkit-line-clamp:unset; overflow:visible; color:var(--text-secondary); font-size:14px; line-height:1.55; margin:0 0 20px; text-decoration:none; overflow-wrap:anywhere; }
.tools-home-card-action { display:flex; align-items:center; justify-content:space-between; width:100%; gap:12px; margin-top:auto; color:var(--home-accent); font-size:13px; font-weight:650; }
.tools-home-card-action.is-restricted { color:var(--text-secondary); }
.tools-home-card-action > span { font-size:20px; line-height:1; }
.tools-home-empty { text-align:center; padding:40px 16px; color:var(--text-primary); border:1px dashed var(--border-color); border-radius:12px; }
.tools-home-empty h3 { margin:0 0 10px; }.tools-home-empty p { color:var(--text-secondary); }
#mobilePanelHome [hidden] { display:none!important; }
#mobilePanelHome :is(a,button):focus-visible { outline:2px solid var(--home-accent); outline-offset:4px; }
@media (min-width:769px) {
    body[data-home-active="1"] .mobile-app-shell { width:100%; max-width:1280px; margin:0 auto; padding:36px 36px 60px; box-sizing:border-box; }
    #mobilePanelHome > .mobile-section-heading-row-spaced,#mobilePanelHome > .mobile-recent-list { display:none; }
}
@media (min-width:769px) and (max-width:1199px) { .tools-home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
/* Wrap form groups before native date controls or the propagation builder
   can extend beyond the tablet workspace. */
@media (min-width:769px) and (max-width:1199px) {
    body[data-interface] :is(.propagation-monitor-bar,.propagation-overview) { grid-template-columns:minmax(0,1fr); }
}

@media (max-width:768px) {
    #mobilePanelHome .tools-home-hero { padding:16px 2px 24px; text-align:left; }
    #mobilePanelHome .mobile-hero-title { max-width:500px; font-size:32px; }
    #mobilePanelHome .mobile-hero-copy { font-size:15px; margin-bottom:20px; }
    .tools-home-categories { justify-content:flex-start; gap:7px; margin-bottom:24px; }
    .tools-home-categories button { padding:9px 12px; font-size:12px; }
    .tools-home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    #mobilePanelHome .tools-home-card { padding:18px; min-height:220px; }
}
@media (max-width:520px) {
    .tools-home-categories { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; padding:4px 2px 9px; margin:0 -2px 18px; }
    .tools-home-categories button { flex-shrink:0; }
    .tools-home-grid { grid-template-columns:minmax(0,1fr); }
    #mobilePanelHome .tools-home-card { min-height:0; padding:18px; display:grid; grid-template-columns:42px minmax(0,1fr); gap:0 14px; }
    .tools-home-icon { grid-column:1; grid-row:1 / 4; margin:0; }
    #mobilePanelHome .mobile-tool-name,#mobilePanelHome .mobile-tool-desc,.tools-home-card-action { grid-column:2; }
    #mobilePanelHome .mobile-tool-name { font-size:16px; }
    #mobilePanelHome .mobile-tool-desc { margin-bottom:14px; }
    #mobilePanelHome .mobile-hero-title { font-size:30px; }
}
@media (prefers-reduced-motion:reduce) { #mobilePanelHome .tools-home-card { transition:none; transform:none; } }

/* Owner-private Site Monitor portfolio; presentation does not alter monitoring. */
.site-portfolio-toolbar {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.site-portfolio-toolbar h3 {margin:0 0 6px;}.site-portfolio-toolbar p {margin:0;max-width:70ch;}
.site-portfolio-controls {display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(140px,1fr));gap:14px;margin-bottom:12px;}
.site-portfolio-controls>div {min-width:0;}#site-monitor .site-portfolio-controls .form-input {width:100%;box-sizing:border-box;min-height:44px;}
.site-portfolio-groups {border:1px solid var(--border-color,#cbd5e1);border-radius:12px;padding:14px;margin-block:14px;}
.site-portfolio-groups>summary,.site-portfolio-organize>summary {cursor:pointer;font-weight:600;min-height:32px;line-height:32px;}
.site-portfolio-group-create {display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.site-portfolio-group-create .form-input {flex:1;min-width:150px;width:auto;max-width:100%;box-sizing:border-box;}
.site-portfolio-groups form {margin-block:14px;}
.site-portfolio-chips {display:flex;flex-wrap:wrap;gap:8px;margin-block:12px;}
.site-portfolio-chips span {border:1px solid var(--border-color,#cbd5e1);border-radius:999px;padding:5px 10px;font-size:12px;overflow-wrap:anywhere;max-width:100%;box-sizing:border-box;}
.site-portfolio-tag {color:var(--text-secondary,#475569);}
.site-portfolio-organize {margin-block:12px;}.site-portfolio-organize form {padding:12px 0;max-width:640px;}
.site-portfolio-organize .form-input {box-sizing:border-box;max-width:100%;}.site-portfolio-organize label {display:block;margin-top:12px;}
.site-portfolio-column-label {display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary,#475569);margin-bottom:6px;}
#siteMonitorList .site-monitor-heading {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px;}
.site-portfolio-status-column,.site-portfolio-next-column {min-width:0;overflow-wrap:anywhere;}.site-portfolio-status-column .site-monitor-status {white-space:normal;max-width:100%;box-sizing:border-box;}
#sitePortfolioCount {overflow-wrap:anywhere;line-height:1.8;}[data-portfolio-write][aria-disabled="true"],#sitePortfolioSaveView[aria-disabled="true"] {opacity:.6;cursor:wait;}
body[data-interface="workbench"] :is(.site-portfolio-groups,.site-portfolio-chips span) {border-color:var(--wb-edge);background:var(--wb-panel);color:var(--wb-ink);}
body[data-interface="workbench"] .site-portfolio-column-label {color:var(--wb-accent);}
body[data-interface="workbench"] .site-monitor-status {border:1px solid var(--wb-edge);background:var(--nt-wb-soft);color:var(--wb-ink);}
body[data-interface="workbench"] .site-monitor-status.healthy {background:var(--wb-success-bg);color:var(--success-color);border-color:var(--wb-success-edge);}
body[data-interface="workbench"] .site-monitor-status.blocked {background:var(--wb-warning-bg);color:var(--warning-color);border-color:var(--wb-warning-edge);}
body[data-interface="workbench"] .site-monitor-status.inconclusive {background:var(--wb-info-bg);color:var(--info-color);border-color:var(--wb-info-edge);}
body[data-interface="workbench"] .site-monitor-status.failed {background:var(--wb-danger-bg);color:var(--danger-color);border-color:var(--wb-danger-edge);}
@media(max-width:900px) {.site-portfolio-controls {grid-template-columns:repeat(2,minmax(0,1fr));}#siteMonitorList .site-monitor-heading {grid-template-columns:1fr;gap:12px;}.site-portfolio-next-column {font-size:14px;}}
@media(min-width:901px) and (max-width:1200px) {#siteMonitorList .site-monitor-heading {grid-template-columns:repeat(2,minmax(0,1fr));}#siteMonitorList .site-monitor-heading>div:first-child {grid-column:1/-1;}}
@media(max-width:480px) {.site-portfolio-controls {grid-template-columns:repeat(2,minmax(0,1fr));}.site-portfolio-controls>div:first-child {grid-column:1/-1;}.site-portfolio-group-create .btn {min-height:44px;}.site-portfolio-toolbar>.btn {width:auto;min-height:44px;}}

.site-portfolio-panel {padding:clamp(14px,2vw,24px);box-sizing:border-box;}
body[data-interface="workbench"] #site-monitor .site-portfolio-panel {background:var(--wb-panel);border-color:var(--wb-edge);box-shadow:none;}

.site-profile-panel {border:1px solid var(--border-color,#cbd5e1);border-radius:12px;padding:16px;margin-block:16px;}
.site-profile-panel>summary {cursor:pointer;font-weight:600;min-height:36px;line-height:1.6;}
.site-profile-picker {display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-block:14px;}.site-profile-picker>div:first-child {flex:1;min-width:160px;}
.site-profile-comparison {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-block:14px;}
.site-profile-comparison>section {border:1px solid var(--border-color,#cbd5e1);border-radius:10px;padding:14px;min-width:0;}
.site-profile-comparison pre {white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.65;max-height:300px;overflow:auto;}
.site-profile-panel .form-input {box-sizing:border-box;max-width:100%;}.site-profile-panel [aria-disabled="true"],#siteMonitorCreateButton[aria-disabled="true"] {opacity:.6;cursor:wait;}
body[data-interface="workbench"] :is(.site-profile-panel,.site-profile-comparison>section) {background:var(--wb-panel);border-color:var(--wb-edge);color:var(--wb-ink);}
@media(max-width:600px) {.site-profile-comparison {grid-template-columns:1fr;}.site-profile-panel .btn {min-height:44px;}.site-profile-panel {padding:14px;}}

#siteMonitorProfilePreview .action-button-row {margin-block:16px;}.site-profile-panel>label {display:block;margin-top:18px;margin-bottom:8px;}
@media(max-width:600px) {.site-profile-picker>div:first-child {flex-basis:100%;min-width:0;}.site-profile-picker .action-button-row {width:100%;display:flex;flex-wrap:wrap;gap:8px;}.site-profile-picker .btn {width:auto;flex:1 1 90px;}}
/* Maintenance shares the interface palette and adapts to narrow viewports. */
.site-maintenance { margin-block: 1.25rem; min-width: 0; }
.site-maintenance-context { border-inline-start: 3px solid var(--primary-color, #3986ea); padding-inline-start: .85rem; }
.site-maintenance-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: .75rem; margin-block: .75rem; }
.site-maintenance-fields > div { min-width: 0; }
.site-maintenance .form-input { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
.site-maintenance-windows p { overflow-wrap: anywhere; }
.site-maintenance summary { cursor: pointer; padding-block: .6rem; }

.zone-validator-diff { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.zone-validator-diff label { min-width:0; }
.zone-validator details { margin:12px 0; }
.zone-validator details summary { cursor:pointer; font-weight:600; }
#zoneValidatorOutputDigest { overflow-wrap:anywhere; }
@media(max-width:640px) { .zone-validator-diff { grid-template-columns:1fr; } }

.zone-validator fieldset { border:1px solid var(--zone-edge); border-radius:12px; min-width:0; padding:16px; margin-bottom:16px; }
.zone-validator fieldset legend { color:var(--zone-ink); font-weight:700; padding-inline:6px; }

.site-health-window { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin:0 0 1rem; }
.site-health-window label { font-weight:600; }
.site-health-window select { max-width:220px; min-width:0; width:100%; }
.site-health-window [role="status"] { flex-basis:100%; overflow-wrap:anywhere; }
.site-health-trends, .shared-site-trends { min-width:0; margin:1rem 0; }
.site-trend-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:1rem 0; }
.site-trend-card { min-width:0; border:1px solid var(--border-color); border-radius:16px; padding:16px; background:var(--card-bg); color:var(--text-primary); }
.site-health-trends h5 { font-size:1rem; margin:.5rem 0; }
.site-trend-bar { display:flex; height:12px; overflow:hidden; border-radius:8px; background:var(--border-color); }
.site-trend-bar span { display:block; height:100%; }
.site-trend-healthy { background:#18a875; }
.site-trend-failed { background:#dc5665; }
.site-trend-blocked { background:#9a75dc; }
.site-trend-inconclusive { background:#ad8223; }
.site-trend-intervals { margin:1rem 0; }
.site-trend-intervals summary { cursor:pointer; padding:12px 0; font-weight:600; }
body[data-interface="workbench"] .site-trend-card { background:var(--wb-panel); color:var(--wb-ink); border-color:var(--wb-edge); }
@media(max-width:640px) { .site-trend-cards { grid-template-columns:1fr; } }

/* Preserve complete labels and timestamps in wide retained-evidence tables. */
.site-health-trends .site-trend-table, .site-trend-table.report-data-table { table-layout:auto; width:max-content; min-width:100%; }
body[data-interface] .site-trend-table :is(th,td) { min-width:9rem; word-break:normal; overflow-wrap:normal; }
body[data-interface] .site-trend-table td { white-space:nowrap; }

/* These cross-period comparisons keep column relationships on compact screens. */
@media(max-width:768px) {
    body:not(.member-portal) .results-panel table.site-trend-table { display:table !important; table-layout:auto; }
    body:not(.member-portal) .results-panel table.site-trend-table thead { display:table-header-group !important; }
    body:not(.member-portal) .results-panel table.site-trend-table tbody { display:table-row-group !important; }
    body:not(.member-portal) .results-panel table.site-trend-table tr { display:table-row !important; margin:0; padding:0; border-radius:0; box-shadow:none; }
    body:not(.member-portal) .results-panel table.site-trend-table thead tr { position:static !important; top:auto; left:auto; }
    body:not(.member-portal) .results-panel table.site-trend-table :is(th,td) { display:table-cell !important; width:auto; padding:12px !important; text-align:left; }
    body:not(.member-portal) .results-panel table.site-trend-table tr::before,
    body:not(.member-portal) .results-panel table.site-trend-table td::before { display:none; content:none; }
}

/* Owner-private Domain Watch organization, using shared tool components. */
.domain-portfolio-controls { min-width:0; margin:18px 0; padding:18px; border:1px solid var(--border-color); border-radius:18px; background:var(--card-bg); color:var(--text-primary); }
.domain-portfolio-heading { display:flex; justify-content:space-between; align-items:start; gap:14px; flex-wrap:wrap; }
.domain-portfolio-heading h3 { margin-top:0; }
.domain-portfolio-filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:12px; margin:12px 0; }
.domain-portfolio-filters label { min-width:0; display:grid; gap:6px; }
.domain-portfolio-details { margin:12px 0; border-top:1px solid var(--border-color); padding-top:12px; min-width:0; }
.domain-portfolio-details summary { cursor:pointer; padding:10px 0; font-weight:650; }
.domain-portfolio-details > p:not(:empty) { margin-block:12px; line-height:1.5; }
.domain-portfolio-labels { padding-left:20px; overflow-wrap:anywhere; }
.domain-portfolio-labels li { margin:8px 0; }
.domain-portfolio-select { display:flex; align-items:start; gap:8px; white-space:normal; overflow-wrap:anywhere; }
.domain-portfolio-select input { flex:0 0 auto; width:20px; height:20px; margin-top:2px; }
.domain-portfolio-chip { white-space:normal; overflow-wrap:anywhere; max-width:24rem; margin-top:6px; font-size:.9rem; }
.domain-watch-table .domain-portfolio-next { white-space:normal; overflow-wrap:anywhere; min-width:12rem; }
#domainPortfolioStatus, #domainPortfolioCounts, #domainAssignmentReview { overflow-wrap:anywhere; line-height:1.6; }
[data-domain-organization-write][aria-disabled="true"], #domainPortfolioSaveView[aria-disabled="true"] { opacity:.65; cursor:wait; }
body[data-interface="workbench"] .domain-portfolio-controls { background:var(--wb-panel); color:var(--wb-ink); border-color:var(--wb-edge); }
body[data-interface="workbench"] .domain-portfolio-details { border-color:var(--wb-edge); }
@media(max-width:640px) { .domain-portfolio-controls { padding:12px; } }

.domain-portfolio-field { min-width:0; display:grid; gap:6px; }

/* Keep qualified handoff owner names visible and require an intentional choice. */
.dns-handoff-name-preview { margin-top:8px; font-size:.9rem; overflow-wrap:anywhere; }
.dns-handoff-external-warning { margin-top:10px; padding:12px; border:1px solid #a97723; border-radius:10px; background:var(--card-bg); color:var(--text-primary); overflow-wrap:anywhere; }
.dns-handoff-external-warning[hidden] { display:none; }
.dns-handoff-external-warning p { margin:0 0 10px; line-height:1.5; }
.dns-handoff-external-warning label { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.dns-handoff-external-warning input[type="checkbox"] { width:20px; height:20px; flex:0 0 auto; margin:0; }
.dns-handoff-external-warning button { white-space:normal; }
body[data-interface="workbench"] .dns-handoff-external-warning { background:var(--wb-panel); color:var(--wb-ink); }
body.member-portal .dns-handoff-external-warning { background:var(--member-card); color:var(--member-text); }
.frontend-handoff-record > .dns-handoff-external-warning { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; }
.frontend-handoff-record > .dns-handoff-external-warning[hidden] { display:none; }
.frontend-handoff-record > .dns-handoff-external-warning p { flex:1 1 100%; margin:0; }
.frontend-handoff-record > .dns-handoff-external-warning label { margin:0; }

/* Reminder policy is distinct from observed registration evidence. */
.domain-reminder-form { max-width:760px; white-space:normal; }
.domain-reminder-form fieldset { border:0; padding:0; margin:0; min-width:0; }
.domain-reminder-form .form-input { box-sizing:border-box; max-width:100%; }
.domain-reminder-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:14px; }
.domain-reminder-fields[hidden] { display:none!important; }
.domain-reminder-summary { padding-top:10px; margin-top:10px; border-top:1px solid var(--border-color); }
.domain-reminder-history li { overflow-wrap:anywhere; }
.domain-digest-preview { margin-top:16px; overflow-wrap:anywhere; }
.domain-digest-preview > h4 { margin:0 0 8px; }
.domain-digest-preview > p { margin-block:8px; line-height:1.5; }
.domain-digest-preview dl { margin:14px 0; }
.domain-digest-preview dl > div { padding:12px 0; border-top:1px solid var(--border-color); }
.domain-digest-preview dt { font-weight:700; }
.domain-digest-preview dd { margin:6px 0 0; }
#domainDigestFields { border:0; padding:0; min-width:0; }
#domainDigestForm { margin-block:16px 10px; }
.connected-attention { margin-block:24px; padding-block:16px; border-block:1px solid var(--border-color); }
.wb-ttl-unit,.wb-ttl-secondary { display:none; }
.domain-watch-table tr[id^="domainWatchSettings"] td { white-space:normal; }

/* Native dialog supplies keyboard containment without a new modal framework. */

/* Shared manual-entry guidance in both handoff authoring surfaces. */
.handoff-provider-guidance { min-width: 0; margin: 16px 0; padding: 20px; border: 1px solid var(--border-color); border-radius: 14px; background: var(--bg-secondary); }
.handoff-provider-guidance legend { padding: 0 8px; color: var(--text-primary); font-weight: 700; }
.handoff-provider-guidance p { font-size: .9rem; line-height: 1.5; }
.handoff-provider-guidance select { width: 100%; margin: 8px 0; }
.handoff-provider-guidance button { margin: 6px 6px 6px 0; white-space: normal; }
.handoff-provider-guidance pre { max-height: 360px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; line-height: 1.5; }
.handoff-provider-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.handoff-provider-guidance .handoff-provider-actions button { margin: 0; min-height: 44px; }
.handoff-provider-evidence { overflow-wrap: anywhere; color: var(--text-secondary); }
.handoff-provider-readme { margin: 16px 0; min-width: 0; border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; background: var(--bg-primary); white-space: normal; overflow-wrap: anywhere; }
.handoff-provider-readme > header { padding: 18px 20px; border-bottom: 1px solid var(--border-color); border-left: 4px solid var(--primary-color); background: var(--bg-tertiary); }
.handoff-provider-readme > header > span { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--text-secondary); }
.handoff-provider-readme h3 { margin: 4px 0; color: var(--text-primary); font-size: 1.15rem; }
.handoff-provider-readme small { color: var(--text-secondary); }
.handoff-provider-readme .handoff-provider-account-note { grid-column:1 / -1;padding:12px 14px;border-left:3px solid var(--primary-color);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);font-size:.95rem;line-height:1.6; }
.handoff-provider-readme-body { display: grid; gap: 14px; padding: 20px; line-height: 1.6; }
.handoff-provider-readme-body p { margin: 0; font-size: .95rem; }
.handoff-provider-step { display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: start; gap: 10px; }
.handoff-provider-step > b { display: grid; place-items: center; border: 1px solid var(--primary-color); border-radius: 50%; min-height: 28px; color: var(--primary-color); line-height: 1; }
.handoff-provider-field { display: grid; grid-template-columns: minmax(70px,.3fr) minmax(0,1fr); gap: 10px; margin: 0; padding: 12px; border: 1px solid var(--border-color); border-radius: 8px; background: var(--bg-secondary); }
.handoff-provider-field dt { font-weight: 700; color: var(--text-primary); }
.handoff-provider-field dd { margin: 0; }
.handoff-provider-source { justify-self: start; max-width: 100%; font-size: .9rem; color: var(--primary-color); text-decoration: underline; text-underline-offset: 3px; }
.handoff-instruction-note { white-space: pre-wrap; overflow-wrap: anywhere; }
.handoff-instructions:has(.handoff-provider-readme) { white-space: normal; }
.handoff-shell .handoff-provider-instructions-wrap { padding: 0; border: 0; background: transparent; }
.handoff-shell .handoff-provider-readme { margin-top: 10px; }
.handoff-shell .handoff-provider-readme-body { grid-template-columns: repeat(3,minmax(0,1fr)); }
.handoff-shell .handoff-provider-step { grid-column: 1 / -1; }
.handoff-shell .handoff-provider-field { display: block; }
.handoff-shell .handoff-provider-field dd { margin-top: 6px; }
.handoff-shell .handoff-provider-readme-body > p { grid-column: 1 / -1; color: var(--text-secondary); }
@media(max-width:720px) { .handoff-shell .handoff-provider-readme-body { grid-template-columns: minmax(0,1fr); }.handoff-shell .handoff-header-card { padding: 14px; } }
@media(max-width:600px) { .handoff-provider-guidance { padding: 14px; }.handoff-provider-readme-body,.handoff-provider-readme > header { padding: 14px; }.handoff-provider-field { grid-template-columns: minmax(0,1fr); gap: 4px; }.handoff-provider-actions button { flex: 1 1 180px; } }
.handoff-instructions { white-space: pre-wrap; overflow-wrap: anywhere; }

/* Owner-private technology monitoring, using shared tool components. */
.technology-monitor-cards { display: grid; gap: 16px; margin-top: 16px; min-width: 0; }
.technology-monitor-card { min-width: 0; padding: 18px; }
.technology-monitor-card h3, .technology-monitor-card p { margin: 0 0 12px; overflow-wrap: anywhere; }
.technology-monitor-target { font-family: var(--font-mono, monospace); overflow-wrap: anywhere; }
#technologyMonitorPanel form, #technologyMonitorCards > * { min-width: 0; max-width: 100%; }
#technologyMonitorPanel .action-button-row { flex-wrap: wrap; gap: 8px; }
#technologyMonitorPanel .action-button-row .btn { white-space: normal; overflow-wrap: anywhere; min-width: 0; max-width: 100%; }
#technologyMonitorConsent { width: 1.1em; height: 1.1em; accent-color: var(--primary); vertical-align: middle; }

#technologyMonitorPanel [hidden] { display: none !important; }
#technologyMonitorConsent { pointer-events: auto; position: relative; flex: 0 0 20px; width: 20px; height: 20px; margin: 0; }
#technologyMonitorForm > label { display: flex; align-items: flex-start; gap: 10px; padding: 12px 0; cursor: pointer; }

.technology-monitor-reset { display: grid; gap: 12px; margin-top: 12px; }
.technology-monitor-reset label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.technology-monitor-reset input[type="checkbox"] { position: relative; pointer-events: auto; flex: 0 0 20px; width: 20px; height: 20px; margin: 0; }
.technology-monitor-reset .btn { white-space: normal; overflow-wrap: anywhere; min-width: 0; max-width: 100%; }

.frontend-handoff-pdf-preview { margin-top:16px; padding:16px; border:1px solid var(--border-color); border-radius:12px; min-width:0; overflow-wrap:anywhere; }
.frontend-handoff-pdf-preview[hidden] { display:none; }
.frontend-handoff-pdf-preview iframe { display:block; width:100%; height:min(70vh,760px); min-height:280px; border:1px solid var(--border-color); border-radius:8px; margin:12px 0; background:#fff; }
/* v1.128: requested changes and immutable capture use the available width. */
.frontend-handoff-record-panels{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}
.frontend-handoff-current-dns{min-width:0;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px}
.frontend-handoff-current-dns [data-handoff-current-values]{margin-top:.8rem}
.frontend-handoff-current-dns dd{white-space:pre-wrap;overflow-wrap:anywhere}
.frontend-handoff-requested,.frontend-handoff-creation-snapshot{min-width:0}
.frontend-handoff-record-panels h5{font-size:1rem;margin:0 0 .75rem;color:var(--text-primary)}
.frontend-handoff-requested>.frontend-handoff-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.frontend-handoff-requested .frontend-handoff-host-field,.frontend-handoff-requested .frontend-handoff-value-field{grid-column:1/-1}
.frontend-handoff-requested>.frontend-handoff-record-meta-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr))}
.frontend-handoff-record-panels>.frontend-handoff-creation-snapshot{margin:0;padding:1rem;background:var(--bg-secondary);font-size:.875rem}
.frontend-handoff-snapshot-fields{margin:0;display:grid;gap:.8rem}
.frontend-handoff-snapshot-fields dt{font-size:.75rem;font-weight:750;color:var(--text-secondary)}
.frontend-handoff-snapshot-fields dd{margin:.25rem 0 0;overflow-wrap:anywhere;color:var(--text-primary)}
.frontend-handoff-snapshot-value{display:block;font-family:var(--font-mono,monospace);white-space:pre-wrap;overflow-wrap:anywhere}
.frontend-handoff-creation-snapshot [data-handoff-snapshot-context],.frontend-handoff-domain-context{padding:.75rem;border-inline-start:3px solid var(--warning-color,#d69e2e);background:color-mix(in srgb,#d69e2e 9%,transparent);line-height:1.5}
.frontend-handoff-share-box{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:start;padding:1.25rem;border:1px solid var(--border-color);border-radius:1rem;background:color-mix(in srgb,var(--primary-color,#48d8f1) 8%,var(--bg-secondary));min-width:0}
.frontend-handoff-created>.frontend-handoff-share-box{grid-column:1/-1}
.frontend-handoff-link-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.75rem;background:color-mix(in srgb,var(--primary-color,#48d8f1) 16%,transparent);font-size:1.5rem}
.frontend-handoff-share-copy{min-width:0}.frontend-handoff-share-copy h4{margin:.25rem 0}.frontend-handoff-share-copy p{margin:.5rem 0;line-height:1.5}
.frontend-handoff-share-copy a{display:block;padding:.75rem;border:1px solid var(--border-color);border-radius:.6rem;background:var(--bg-primary);overflow-wrap:anywhere;user-select:all;font-family:var(--font-mono,monospace);font-size:.875rem}
.frontend-handoff-share-box [data-handoff-copy-link]{min-height:44px;white-space:normal}.frontend-handoff-share-box.is-copied{border-color:var(--success-color,#22a06b)}
.frontend-handoff-share-disclosure{padding:.75rem 1rem;border-radius:.75rem;background:var(--bg-secondary);line-height:1.5}
@media(max-width:1100px){.frontend-handoff-record-panels{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.frontend-handoff-share-box{grid-template-columns:auto minmax(0,1fr);padding:1rem;gap:.75rem}.frontend-handoff-share-box>[data-handoff-copy-link]{grid-column:1/-1;justify-self:stretch;width:100%!important}.frontend-handoff-record-panels>.frontend-handoff-creation-snapshot{padding:.8rem}}
body[data-interface="workbench"] .frontend-handoff-share-box>[data-handoff-copy-link]{min-height:44px;padding:10px 16px;font-size:14px}
@media(max-width:600px){body[data-interface="workbench"] .frontend-handoff-share-box>[data-handoff-copy-link]{width:100%!important;justify-self:stretch;align-self:stretch}}
@media(max-width:600px){.frontend-handoff-share-box{grid-template-columns:minmax(0,1fr)}.frontend-handoff-share-box>.frontend-handoff-link-icon{display:none}}

.handoff-pdf-customization { width:min(760px,calc(100vw - 24px)); max-height:90vh; overflow:auto; padding:24px; border:1px solid var(--border-color,#cbd5e1); border-radius:14px; background:var(--bg-primary,#fff); color:var(--text-primary,#172033); }
.handoff-pdf-customization::backdrop { background:rgba(15,23,42,.6); }
.handoff-pdf-options-grid { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.handoff-pdf-options-grid label { display:flex; flex-direction:column; gap:6px; min-width:0; }
.handoff-pdf-options-grid .handoff-pdf-option-toggle { flex-direction:row; align-items:center; }
.handoff-pdf-customization .action-button-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
@media(max-width:600px) { .handoff-pdf-options-grid { grid-template-columns:1fr; } .handoff-pdf-customization { padding:16px; } }

/* Additional saved palettes: Dimmed, Ash, then Aubergine. */
body:is(.theme-dimmed,.theme-ash) .btn-primary {
 background:var(--primary-color);
 color:#172433;
}
body.theme-dimmed {
 --bg-primary:#22272e; --bg-secondary:#2d333b; --bg-tertiary:#373e47; --text-primary:#c5d1dd; --text-secondary:#c5d1dd; --border-color:#545d68;
 --primary-color:#8cc2ff; --sidebar-bg:#1c2128; --sidebar-text:#ffffff; color-scheme:dark;
}
.theme-swatch.swatch-dimmed,[data-theme-swatch="dimmed"] { background:linear-gradient(135deg,#1c2128,#8cc2ff); border-color:#545d68; }
body.theme-ash {
 --bg-primary:#313338; --bg-secondary:#2b2d31; --bg-tertiary:#383a40; --text-primary:#f2f3f5; --text-secondary:#b5bac1; --border-color:#5c6069;
 --primary-color:#b3baff; --sidebar-bg:#1e1f22; --sidebar-text:#ffffff; color-scheme:dark;
}
.theme-swatch.swatch-ash,[data-theme-swatch="ash"] { background:linear-gradient(135deg,#1e1f22,#b3baff); border-color:#5c6069; }
body.theme-aubergine {
 --bg-primary:#ffffff; --bg-secondary:#f8f6f8; --bg-tertiary:#f0e7f0; --text-primary:#251b26; --text-secondary:#625064; --border-color:#d2bcd3;
 --primary-color:#6b246d; --sidebar-bg:#4a154b; --sidebar-text:#ffffff; color-scheme:light;
}
.theme-swatch.swatch-aubergine,[data-theme-swatch="aubergine"] { background:linear-gradient(135deg,#4a154b,#6b246d); border-color:#d2bcd3; }

/* Owner-private correlation evidence: readable spacing at narrow widths. */
.site-monitor-correlation { display:grid; gap:.75rem; padding:1rem; border:1px solid var(--border-color,#d1d5db); border-radius:.75rem; line-height:1.5; }
.site-monitor-correlation h4,.site-monitor-correlation p { margin:0; }
.site-monitor-correlation-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:0; }
.site-monitor-correlation-facts div { min-width:0; }
.site-monitor-correlation-facts dt { font-size:.85em; opacity:.8; }
.site-monitor-correlation-facts dd { margin:.2rem 0 0; font-variant-numeric:tabular-nums; }
.site-monitor-correlation-time { grid-column:1/-1; }

/* Launch cards: keep statuses, stages and expanded actions inside each card. */
.frontend-handoff-card,.frontend-handoff-card * { box-sizing:border-box; }
.frontend-handoff-card > * { min-width:0; max-width:100%; }
.frontend-handoff-card :is(h3,p,span,strong,summary,button,a) { overflow-wrap:anywhere; }
.frontend-handoff-card .frontend-handoff-progress > div { flex-wrap:wrap; }
.frontend-handoff-card .frontend-handoff-progress strong { flex-shrink:0; }
.frontend-handoff-card .my-snapshot-card-head { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-start; }
.frontend-handoff-card .my-snapshot-card-copy { flex:1 1 180px; }
.frontend-handoff-card .my-snapshot-state { flex:0 0 auto; max-width:100%; white-space:normal; overflow-wrap:anywhere; line-height:1.4; padding:6px 10px; }
.frontend-handoff-card.is-complete .my-snapshot-state { color:var(--success-color); border-color:currentColor; background:color-mix(in srgb,var(--success-color) 10%,var(--bg-secondary)); }
.frontend-handoff-card h3 { overflow-wrap:anywhere; line-height:1.35; }
.frontend-handoff-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:16px 0; margin:16px 0 0; border-top:1px solid var(--border-color); }
.frontend-handoff-timeline li { position:relative; display:flex; flex-direction:column; align-items:center; gap:8px; min-width:0; text-align:center; font-size:12px; line-height:1.4; color:var(--text-secondary); padding:0 3px; }
.frontend-handoff-timeline li::before { content:''; position:absolute; top:13px; height:2px; background:var(--border-color); left:-50%; right:50%; }
.frontend-handoff-timeline li:first-child::before { display:none; }
.frontend-handoff-stage-dot { position:relative; z-index:1; display:grid; place-items:center; width:28px; height:28px; box-sizing:border-box; border:1px solid var(--border-color); border-radius:50%; background:var(--bg-secondary); font-weight:700; }
.frontend-handoff-timeline .is-complete .frontend-handoff-stage-dot { color:var(--success-color); border-color:currentColor; background:var(--bg-primary); }
.frontend-handoff-timeline .is-current .frontend-handoff-stage-dot { color:var(--primary-color); border:2px solid currentColor; }
.frontend-handoff-timeline .is-current { color:var(--text-primary); font-weight:700; }
#frontendHandoffList[data-view="list"] .frontend-handoff-timeline { grid-column:1 / -1; grid-row:3; margin:0; }
.frontend-handoff-card .frontend-handoff-card-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    align-items: stretch;
}
.frontend-handoff-card .frontend-handoff-share-action {
    display: flex;
    min-width: 0;
}
.frontend-handoff-card .frontend-handoff-more {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.frontend-handoff-card .frontend-handoff-card-actions > .btn,
.frontend-handoff-card .frontend-handoff-share-action .btn,
.frontend-handoff-card .frontend-handoff-more > summary,
.frontend-handoff-card .frontend-handoff-more-panel .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 10px 12px;
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
    line-height: 1.35;
}
.frontend-handoff-card .frontend-handoff-more-panel {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    align-items: stretch;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 10px;
    max-height: none;
    overflow: visible;
    box-shadow: none;
}
.frontend-handoff-card .frontend-handoff-more-panel .btn {
    min-height: 48px;
}
@media(max-width:767px) {
 #frontendHandoffList[data-view="list"] .frontend-handoff-timeline { width:100%; }
 .frontend-handoff-card .frontend-handoff-more-panel { grid-template-columns:minmax(0,1fr); }
}

/* Password generation and sharing: retain existing navigation and theme tokens. */
.password-workspace { display:grid; grid-template-columns:minmax(0,2fr) minmax(240px,1fr); gap:22px; align-items:start; }
.password-main,.password-guide { min-width:0; }
.password-settings-card,.password-guide-card { border:1px solid var(--border-color); border-radius:16px; padding:22px; background:var(--bg-secondary); margin-bottom:20px; }
.password-settings-card h3,.password-guide-card h3 { margin:0 0 20px; font-size:19px; }
.password-length-controls { display:flex; align-items:center; gap:16px; }
.password-length-controls input[type="range"] { flex:1; min-width:60px; accent-color:var(--primary-color); min-height:44px; }
.password-length-controls input[type="number"] { width:84px; flex:0 0 84px; }
.password-length-controls>span { color:var(--text-secondary); font-size:12px; }
.password-character-types { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.password-character-types label { padding:12px; border:1px solid var(--border-color); border-radius:12px; background:var(--bg-primary); }
.password-policy-options { display:grid; gap:14px; margin:22px 0; padding:0; border:0; }
.password-policy-options legend { margin-bottom:14px; font-weight:700; }
.password-policy-options label { display:flex; align-items:flex-start; gap:10px; line-height:1.5; cursor:pointer; }
.password-policy-options input { margin-top:5px; accent-color:var(--primary-color); }
.password-generate-button { width:100%; min-height:46px; }
.password-guide-card li { margin-bottom:12px; line-height:1.6; }
.password-guide-card p { line-height:1.6; color:var(--text-secondary); }
#passwordResult { border:1px solid var(--border-color); border-radius:16px; overflow:hidden; }
.password-output,.share-password-preview>div { display:flex; align-items:center; gap:12px; padding:16px; border:1px solid var(--border-color); border-radius:12px; background:var(--bg-primary); }
.password-output .password-text,.share-password-preview code { flex:1; min-width:0; overflow-wrap:anywhere; font:700 24px/1.6 ui-monospace,monospace; letter-spacing:1px; color:var(--text-primary); }
.password-output button { flex-shrink:0; min-height:44px; }
.password-strength { display:grid; gap:8px; margin:18px 0; color:var(--text-secondary); font-size:13px; }
.password-strength meter { width:100%; height:12px; accent-color:var(--success-color); }
.password-result-actions { justify-content:flex-start; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.share-password-preview { margin-bottom:18px; }
.share-password-preview[hidden] { display:none; }
.share-password-preview>span { display:block; font-weight:700; margin-bottom:8px; }
.share-password-preview code { font-size:18px; }
.share-dialog-secret .share-dialog { border-radius:18px; }
.share-dialog-secret .share-dialog-expiry-field { grid-row:1; grid-column:1 / -1; }
.share-dialog-secret .share-dialog-expiry-field .form-group { width:100%; max-width:none; }
.share-dialog-secret .share-dialog-expiry-field .form-input { width:100%; }
.share-dialog-secret #shareDialogSubmitBtn { background:var(--primary-color); color:var(--nt-wb-accent-ink,#07131c); border:1px solid var(--primary-color); }
.share-dialog-secret .share-dialog-tags-field { grid-row:2; }
.share-dialog-secret .share-dialog-notes-field { grid-row:2 / span 2; }
.share-dialog-secret .share-dialog-email-field { grid-row:3; }
body[data-interface] .top-bar :is(.theme-toggle-btn,.member-notification-button,.member-header-menu>summary) { width:44px; height:44px; min-width:44px; padding:0; justify-content:center; border-radius:50%; border:1px solid var(--border-color); background:var(--bg-secondary); color:var(--text-primary); }
.member-notification-button>svg { width:22px; height:22px; }
.member-avatar-initials { font-size:14px; font-weight:800; letter-spacing:.04em; }
.top-bar .member-header-menu>summary::after { display:none; }
.theme-toggle-icon { display:inline-flex; align-items:center; justify-content:center; line-height:1; }
.theme-toggle-icon svg { display:block; width:22px; height:22px; }
#frontendHelpLink { display:inline-flex; align-items:center; justify-content:center; gap:6px; flex-shrink:0; min-width:44px; height:44px; padding:0 12px; box-sizing:border-box; border:1px solid var(--border-color); border-radius:22px; background:var(--bg-secondary); color:var(--text-primary); text-decoration:none; font-size:14px; font-weight:600; }
#frontendHelpLink svg { width:22px; height:22px; }
#frontendHelpLink:hover,#frontendHelpLink:focus-visible { border-color:var(--primary-color); color:var(--primary-color); }
#frontendHelpLink:focus-visible { outline:2px solid var(--primary-color); outline-offset:3px; }
@media(max-width:768px) {
 #frontendHelpLink { width:44px; padding:0; }
 #frontendHelpLink span { display:none; }
 body[data-interface="workbench"] #frontendHelpLink { position:absolute; top:calc(8px + env(safe-area-inset-top,0px)); right:12px; }
}
@media (max-width:900px) { .password-workspace { grid-template-columns:1fr; } }
@media (max-width:600px) {
 .password-settings-card,.password-guide-card { padding:16px; }
 .password-character-types { grid-template-columns:1fr; }
 .password-length-controls { gap:8px; flex-wrap:wrap; }
 .password-length-controls>span { display:none; }
 .password-output { padding:12px; }
 .password-output .password-text { font-size:18px; }
 .password-result-actions>.btn { width:100%; min-height:44px; }
 .share-dialog-secret :is(.share-dialog-expiry-field,.share-dialog-tags-field,.share-dialog-notes-field,.share-dialog-email-field) { grid-column:auto; grid-row:auto; }
 .share-dialog-secret .share-dialog-expiry-field { order:-1; }
}

/* Actionable notification inbox: shared theme colors, separated history, touch controls. */
.member-notification-panel { width:min(420px,calc(100vw - 24px)); max-height:min(640px,calc(100dvh - 90px)); display:flex; flex-direction:column; }
.member-notification-panel[hidden] { display:none; }
body.member-notifications-open .top-bar { z-index:3100; }
body[data-interface="workbench"].member-notifications-open .top-bar.compact-top-bar { z-index:3100; }
.member-notification-panel-head,.member-notification-toolbar,.member-notification-footer { flex-shrink:0; }
.member-notification-panel .member-notification-footer { min-height:44px; box-sizing:border-box; display:flex; align-items:center; justify-content:center; }
.member-notification-panel .member-notification-list { padding:0; min-height:0; max-height:480px; overflow-y:auto; overscroll-behavior:contain; }
.member-notification-panel .member-notification-item { grid-template-columns:32px minmax(0,1fr) 44px; align-items:start; padding:14px 12px; gap:10px; border:0; border-bottom:1px solid var(--border-color); border-radius:0; }
.member-notification-panel .member-notification-item.is-unread { background:color-mix(in srgb,var(--accent-color,#3b82f6) 9%,var(--bg-primary)); border-left:0; }
.member-notification-panel .member-notification-item:is(.is-critical,.is-warning) { border-left:0; }
.member-notification-copy { min-width:0; overflow-wrap:anywhere; }
.member-notification-copy strong { font-size:13px; }
.member-notification-copy span,.member-notification-copy small { display:block; margin-top:4px; line-height:1.5; }
.member-notification-subject { font-weight:600; overflow-wrap:anywhere; }
.member-notification-icon { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:9px; background:var(--bg-secondary); color:var(--text-primary); font-weight:800; flex-shrink:0; }
.is-success > .member-notification-icon { background:#14532d; color:#bbf7d0; }
.is-warning > .member-notification-icon { background:#713f12; color:#fef08a; }
:is(.is-danger,.is-critical) > .member-notification-icon { background:#7f1d1d; color:#fecaca; }
.is-info > .member-notification-icon { background:#1e3a8a; color:#bfdbfe; }
.member-notification-date { margin:0; padding:12px 14px; color:var(--text-secondary); background:var(--bg-secondary); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.member-notification-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:8px 12px; border-bottom:1px solid var(--border-color); }
.member-notification-toolbar > div { display:flex; margin-right:auto; }
.member-notification-toolbar button,.member-notification-toolbar summary,.member-notification-empty button { min-height:44px; padding:8px 10px; border:1px solid transparent; border-radius:6px; background:transparent; color:inherit; cursor:pointer; font:inherit; font-size:12px; }
.member-notification-toolbar button[aria-pressed="true"] { background:var(--bg-secondary); border-color:var(--border-color); font-weight:700; }
.member-notification-toolbar details { position:relative; }
.member-notification-toolbar details[open] button { display:block; }
.member-notification-panel .member-notification-delete { width:44px; height:44px; }
.member-notification-empty strong,.member-notification-empty span { display:block; margin-bottom:6px; }
.member-notification-panel :is(button,a,summary):focus-visible { outline:2px solid var(--accent-color,#60a5fa); outline-offset:-2px; }
.member-inbox-filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:18px 0; }
.member-inbox-filters label { display:grid; gap:6px; font-size:12px; color:var(--member-muted); min-width:0; }
.member-inbox-filters input,.member-inbox-filters select { width:100%; min-width:0; box-sizing:border-box; }
#memberNotificationsList { gap:0; overflow:hidden; border:1px solid var(--member-border); border-radius:12px; }
.member-inbox-item { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:14px; padding:18px; border-bottom:1px solid var(--member-border); color:var(--member-text); }
.member-inbox-item.is-unread { background:color-mix(in srgb,var(--member-primary) 7%,var(--member-card)); }
.member-inbox-copy { min-width:0; overflow-wrap:anywhere; display:grid; gap:5px; font-size:13px; line-height:1.5; }
.member-inbox-copy > span,.member-inbox-copy small { color:var(--member-muted); }
.member-inbox-copy .member-notification-subject { color:var(--member-text); }
.member-inbox-item .member-action-row { align-content:start; }
.member-inbox-pagination { margin-top:14px; }
#memberInboxRetry[hidden] { display:none; }
.member-inbox-preferences { min-width:0; border:1px solid var(--member-border); border-radius:12px; padding:16px; margin:18px 0; }
.member-inbox-preferences .member-toggle-row { min-height:44px; }
.dns-inbox-overrides { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; padding:12px 0; }
.dns-inbox-overrides label { display:grid; gap:6px; min-width:0; }
@media(max-width:600px) {
    .member-notification-panel { position:fixed; inset:auto 0 0; width:100%; max-width:100%; max-height:calc(100dvh - 64px); border-radius:16px 16px 0 0; z-index:2000; padding-bottom:env(safe-area-inset-bottom); box-sizing:border-box; }
    .member-notification-panel .member-notification-list { max-height:none; }
    .member-notification-confirm-actions { flex-wrap:wrap; }
    .member-notification-confirm-actions button { min-height:44px; }
    .member-inbox-item { grid-template-columns:32px minmax(0,1fr); padding:12px; gap:10px; }
    .member-inbox-item .member-action-row { grid-column:2; flex-wrap:wrap; }
    #memberSectionNotifications :is(button,a.member-link-btn) { min-height:44px; }
    .member-inbox-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
