h1:focus {
    outline: none;
}

:root {
    --ink: #162033;
    --muted: #667085;
    --line: #e5e9f0;
    --canvas: #f5f7fa;
    --panel: #ffffff;
    --navy: #102348;
    --orange: #f97316;
    --orange-soft: #fff4eb;
    --green: #12805c;
    --green-soft: #eaf8f2;
    --amber: #a15c07;
    --amber-soft: #fff7e7;
    --red: #b42318;
    --red-soft: #fff0ee;
}

* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    min-height: 100%;
    background: var(--canvas);
    color: var(--ink);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

button, input, select, textarea {
    font: inherit;
}

.app-shell {
    display: grid;
    grid-template-columns: 258px minmax(0, 1fr);
    min-height: 100vh;
}

.app-sidebar {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    height: 100vh;
    padding: 24px 18px;
    background: var(--navy);
    color: #fff;
}

.brand {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 0 8px 25px;
    color: #fff;
    text-decoration: none;
}

.brand-mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--orange);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .04em;
}

.brand strong, .brand small {
    display: block;
}

.brand strong {
    font-size: 18px;
}

.brand small {
    margin-top: 3px;
    color: #aebbd1;
    font-size: 11px;
}

.app-navigation {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-height: 0;
    overflow-y: auto;
}

.nav-section {
    margin: 21px 12px 7px;
    color: #8292ae;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.app-navigation a {
    display: flex;
    gap: 11px;
    align-items: center;
    padding: 11px 12px;
    border-radius: 10px;
    color: #c8d1df;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}

.app-navigation a:hover,
.app-navigation a.active {
    background: rgba(255, 255, 255, .1);
    color: #fff;
}

.app-navigation a.active {
    box-shadow: inset 3px 0 var(--orange);
}

.nav-icon {
    display: inline-grid;
    place-items: center;
    width: 20px;
    color: #fba46a;
    font-size: 17px;
}

.sidebar-footer {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: auto;
    padding: 15px 12px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    background: rgba(255,255,255,.05);
}

.sidebar-footer strong,
.sidebar-footer small {
    display: block;
}

.sidebar-footer strong {
    font-size: 12px;
}

.sidebar-footer small {
    margin-top: 2px;
    color: #9fb0c9;
    font-size: 11px;
}

.framework-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #33d6a6;
    box-shadow: 0 0 0 4px rgba(51,214,166,.12);
}

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

.app-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 72px;
    padding: 0 34px;
    border-bottom: 1px solid var(--line);
    background: rgba(255,255,255,.92);
}

.topbar-context {
    display: block;
    margin-bottom: 3px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.app-topbar strong {
    font-size: 14px;
}

.environment-badge {
    padding: 6px 9px;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    background: var(--orange-soft);
    color: #b54708;
    font-size: 11px;
    font-weight: 700;
}

.app-content {
    min-height: calc(100vh - 72px);
}

.workspace-page {
    width: min(1440px, 100%);
    margin: 0 auto;
    padding: 34px;
}

.page-heading,
.panel-heading,
.provider-card-heading,
.provider-identity {
    display: flex;
    align-items: center;
}

.page-heading {
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
}

.section-kicker {
    margin: 0 0 7px;
    color: var(--orange);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.page-heading h1 {
    margin: 0;
    font-size: clamp(27px, 3vw, 36px);
    letter-spacing: -.03em;
}

.page-description {
    margin: 8px 0 0;
    color: var(--muted);
    line-height: 1.5;
}

.button {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 10px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

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

.button-primary {
    border: 1px solid var(--orange);
    background: var(--orange);
    color: #fff;
}

.button-danger {
    border: 1px solid #f3b5af;
    background: var(--red-soft);
    color: var(--red);
}

.button:disabled {
    opacity: .6;
    cursor: wait;
}

.button-icon {
    color: var(--orange);
    font-size: 18px;
}

.page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 22px;
}

.metric-card {
    position: relative;
    overflow: hidden;
    min-height: 138px;
    padding: 21px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: var(--panel);
    box-shadow: 0 7px 22px rgba(16, 35, 72, .04);
}

.metric-card::after {
    content: "";
    position: absolute;
    right: -22px;
    bottom: -33px;
    width: 95px;
    height: 95px;
    border-radius: 50%;
    background: var(--orange-soft);
}

.metric-card.metric-warning::after {
    background: var(--amber-soft);
}

.metric-card.metric-danger::after {
    background: var(--red-soft);
}

.metric-label,
.metric-note {
    display: block;
    color: var(--muted);
}

.metric-label {
    font-size: 12px;
    font-weight: 700;
}

.metric-card strong {
    display: block;
    margin: 10px 0 7px;
    font-size: 32px;
    letter-spacing: -.03em;
}

.metric-note {
    font-size: 12px;
}

.content-panel {
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--panel);
    box-shadow: 0 7px 22px rgba(16, 35, 72, .04);
}

.panel-heading {
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 21px;
}

.panel-heading h2 {
    margin: 0;
    font-size: 20px;
}

.panel-heading p {
    margin: 5px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.updated-at {
    color: var(--muted);
    font-size: 11px;
}

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

.provider-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
}

.provider-card-heading {
    justify-content: space-between;
    gap: 15px;
}

.provider-identity {
    min-width: 0;
    gap: 12px;
}

.provider-mark {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    height: 42px;
    border-radius: 11px;
    background: #edf1f7;
    color: var(--navy);
    font-size: 12px;
    font-weight: 800;
}

.provider-identity h3 {
    overflow: hidden;
    margin: 0 0 4px;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.provider-id {
    display: block;
    overflow: hidden;
    color: var(--muted);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.status-pill {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    flex: 0 0 auto;
    padding: 6px 9px;
    border-radius: 999px;
    background: var(--green-soft);
    color: var(--green);
    font-size: 10px;
    font-weight: 800;
}

.status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.status-quarantined,
.status-suspended {
    background: var(--amber-soft);
    color: var(--amber);
}

.status-disabled,
.status-unavailable {
    background: #f1f3f6;
    color: #697386;
}

.status-running {
    background: #edf4ff;
    color: #175cd3;
}

.capability-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 26px;
    margin: 18px 0;
}

.capability-chip {
    padding: 5px 8px;
    border: 1px solid #e1e6ee;
    border-radius: 7px;
    background: #f8fafc;
    color: #475467;
    font-size: 10px;
    font-weight: 700;
}

.capability-chip.muted {
    color: #98a2b3;
}

.provider-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: var(--line);
}

.provider-facts > div {
    min-width: 0;
    padding: 13px;
    background: #fbfcfd;
}

.provider-facts dt {
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.provider-facts dd {
    overflow: hidden;
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.provider-facts small {
    display: block;
    overflow: hidden;
    margin-top: 4px;
    color: var(--muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.provider-card-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 15px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
}

.provider-configure {
    margin-left: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: #c2570a;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.modal-backdrop {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(16, 35, 72, .55);
    backdrop-filter: blur(3px);
}

.configuration-dialog {
    width: min(840px, 100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    padding: 26px;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(16, 35, 72, .25);
}

.configuration-heading,
.enabled-control,
.configuration-actions {
    display: flex;
    align-items: center;
}

.configuration-heading {
    justify-content: space-between;
    gap: 18px;
}

.configuration-heading h2 {
    margin: 0 0 5px;
    font-size: 22px;
}

.dialog-close {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 9px;
    background: #f1f3f6;
    color: #475467;
    font-size: 23px;
    cursor: pointer;
}

.configuration-message {
    margin-top: 18px;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 12px;
}

.configuration-message.success {
    background: var(--green-soft);
    color: var(--green);
}

.configuration-message.error {
    background: var(--red-soft);
    color: var(--red);
}

.configuration-message ul {
    margin: 7px 0 0;
    padding-left: 18px;
}

.enabled-control {
    justify-content: space-between;
    gap: 20px;
    margin: 23px 0;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fbfcfd;
}

.enabled-control strong,
.enabled-control small {
    display: block;
}

.enabled-control strong {
    font-size: 13px;
}

.enabled-control small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 11px;
}

.switch input {
    position: absolute;
    opacity: 0;
}

.switch span {
    position: relative;
    display: block;
    width: 44px;
    height: 24px;
    border-radius: 999px;
    background: #c9d0db;
    cursor: pointer;
    transition: background .15s;
}

.switch span::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    transition: transform .15s;
}

.switch input:checked + span {
    background: var(--green);
}

.switch input:checked + span::after {
    transform: translateX(20px);
}

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

.configuration-grid label,
.configuration-grid label > span,
.configuration-grid label > small {
    display: block;
}

.configuration-grid label > span {
    margin-bottom: 7px;
    font-size: 11px;
    font-weight: 800;
}

.configuration-grid input,
.configuration-grid select,
.configuration-grid textarea {
    width: 100%;
    padding: 0 11px;
    border: 1px solid #d5dae3;
    border-radius: 9px;
    background: #fff;
    color: var(--ink);
}

.configuration-grid input,
.configuration-grid select {
    height: 42px;
}

.configuration-grid textarea {
    min-height: 106px;
    padding-top: 10px;
    padding-bottom: 10px;
    resize: vertical;
    font: 11px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace;
}

.configuration-grid label > small {
    margin-top: 5px;
    color: var(--muted);
    font-size: 10px;
}

.configuration-grid .wide {
    grid-column: 1 / -1;
}

.provider-specific-configuration {
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid var(--line);
}

.provider-specific-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.provider-specific-heading h3 {
    margin: 1px 0 4px;
    font-size: 16px;
}

.provider-specific-heading small {
    display: block;
    max-width: 500px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.45;
}

.secret-status {
    flex: 0 0 auto;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.secret-status.configured {
    background: var(--green-soft);
    color: var(--green);
}

.secret-status.missing {
    background: var(--orange-soft);
    color: #b54708;
}

.configuration-grid .secret-clear {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--red);
    font-size: 10px;
    font-weight: 750;
}

.configuration-grid .secret-clear input {
    width: 15px;
    height: 15px;
}

.configuration-grid .secret-clear span {
    margin: 0;
    font-size: 10px;
}

.configuration-grid code {
    color: #b54708;
    font-size: 10px;
}

.provider-option {
    margin: 17px 0 0;
}

.configuration-actions {
    justify-content: flex-end;
    gap: 10px;
    margin-top: 25px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

.empty-panel {
    padding: 35px;
    border: 1px dashed #d5dae3;
    border-radius: 12px;
    color: var(--muted);
    text-align: center;
}

/* Web Acquisition scheduling */
.schedule-list {
    display: grid;
    gap: 12px;
}

.schedule-card {
    display: grid;
    grid-template-columns:
        minmax(210px, 1.25fr)
        minmax(125px, .7fr)
        minmax(170px, 1fr)
        minmax(230px, 1.35fr)
        minmax(180px, 1fr)
        auto;
    gap: 18px;
    align-items: center;
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fff;
}

.schedule-provider {
    display: flex;
    gap: 12px;
    align-items: center;
    min-width: 0;
}

.schedule-provider > div {
    min-width: 0;
}

.schedule-provider h3 {
    overflow: hidden;
    margin: 0 0 4px;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.schedule-status,
.schedule-detail {
    min-width: 0;
}

.schedule-status small,
.schedule-detail span,
.schedule-detail small {
    display: block;
    color: var(--muted);
    font-size: 10px;
}

.schedule-status small {
    margin-top: 6px;
}

.schedule-detail span {
    margin-bottom: 5px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.schedule-detail strong {
    display: block;
    overflow: hidden;
    font-size: 11px;
    line-height: 1.45;
    text-overflow: ellipsis;
}

.schedule-detail small {
    overflow: hidden;
    margin-top: 4px;
    line-height: 1.35;
    text-overflow: ellipsis;
}

.schedule-configure {
    min-height: 36px;
    padding: 0 12px;
    font-size: 11px;
}

.schedule-status-not-configured,
.schedule-status-disabled,
.schedule-status-provider-disabled,
.schedule-status-expired {
    background: #f1f3f6;
    color: #697386;
}

.schedule-status-not-started {
    background: #edf4ff;
    color: #175cd3;
}

.schedule-status-due,
.schedule-status-suspended {
    background: var(--amber-soft);
    color: var(--amber);
}

.schedule-status-running {
    background: #edf4ff;
    color: #175cd3;
}

.schedule-status-manual {
    background: #f4f0ff;
    color: #6941c6;
}

.schedule-dialog {
    width: min(760px, 100%);
}

.configuration-message.notice {
    background: #edf4ff;
    color: #175cd3;
}

.schedule-section {
    margin-top: 23px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
}

.schedule-section-heading {
    margin-bottom: 14px;
}

.schedule-section-heading strong,
.schedule-section-heading small {
    display: block;
}

.schedule-section-heading strong {
    font-size: 13px;
}

.schedule-section-heading small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 10px;
}

.enabled-control.compact {
    margin: 0 0 16px;
}

.day-selector {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 7px;
    margin-top: 14px;
}

.day-selector label {
    position: relative;
}

.day-selector input {
    position: absolute;
    opacity: 0;
}

.day-selector span {
    display: grid;
    place-items: center;
    min-height: 37px;
    border: 1px solid #d5dae3;
    border-radius: 9px;
    background: #fff;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.day-selector input:checked + span {
    border-color: #fdba74;
    background: var(--orange-soft);
    color: #b54708;
}

.day-selector input:disabled + span {
    cursor: not-allowed;
    opacity: .65;
}

.schedule-actions .action-spacer {
    flex: 1 1 auto;
}

@media (max-width: 1280px) {
    .schedule-card {
        grid-template-columns: minmax(210px, 1.2fr) minmax(130px, .7fr) 1fr 1fr auto;
    }

    .schedule-detail-wide {
        grid-column: 1 / 4;
        grid-row: 2;
    }
}

@media (max-width: 1050px) {
    .metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .provider-grid {
        grid-template-columns: 1fr;
    }

    .schedule-card {
        grid-template-columns: 1.2fr .8fr 1fr auto;
    }

    .schedule-detail-wide {
        grid-column: 1 / 3;
    }

    .schedule-card .schedule-detail:not(.schedule-detail-wide):last-of-type {
        grid-column: 3 / 4;
    }
}

@media (max-width: 760px) {
    .app-shell {
        display: block;
    }

    .app-sidebar {
        position: static;
        height: auto;
        padding: 16px;
    }

    .brand {
        padding-bottom: 12px;
    }

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

    .nav-section,
    .sidebar-footer {
        display: none;
    }

    .app-topbar {
        height: 62px;
        padding: 0 18px;
    }

    .workspace-page {
        padding: 22px 16px;
    }

    .page-heading {
        flex-direction: column;
        align-items: flex-start;
    }

    .metric-grid {
        grid-template-columns: 1fr;
    }

    .provider-facts {
        grid-template-columns: 1fr;
    }

    .configuration-grid {
        grid-template-columns: 1fr;
    }

    .configuration-grid .wide {
        grid-column: auto;
    }

    .page-actions {
        width: 100%;
    }

    .page-actions .button {
        flex: 1 1 auto;
    }

    .schedule-card {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .schedule-detail-wide,
    .schedule-card .schedule-detail:not(.schedule-detail-wide):last-of-type {
        grid-column: auto;
        grid-row: auto;
    }

    .schedule-configure {
        width: 100%;
    }

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

    .schedule-actions {
        flex-wrap: wrap;
    }

    .schedule-actions .button-danger {
        width: 100%;
    }
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}
.ai-diagnostics-page {
    min-height: 100vh;
    padding: 48px 20px;
    background: #f6f7fb;
    color: #172033;
    font-family: Arial, Helvetica, sans-serif;
}

.ai-diagnostics-card {
    max-width: 980px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid #e4e7ef;
    border-radius: 18px;
    padding: 32px;
    box-shadow: 0 12px 30px rgba(23, 32, 51, 0.08);
}

.ai-diagnostics-card .eyebrow {
    margin: 0 0 8px;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ai-diagnostics-card h1 {
    margin: 0 0 12px;
    font-size: 34px;
}

.ai-diagnostics-card .description {
    max-width: 760px;
    color: #475467;
    line-height: 1.55;
}

.primary-button {
    margin-top: 20px;
    border: 0;
    border-radius: 12px;
    padding: 13px 22px;
    background: #0c2050;
    color: #ffffff;
    font-weight: 700;
    cursor: pointer;
}

.primary-button:disabled {
    opacity: .65;
    cursor: not-allowed;
}

.result-box {
    margin-top: 28px;
    border-radius: 16px;
    padding: 24px;
    border: 1px solid #d0d5dd;
}

.result-box.success {
    background: #f0fdf4;
    border-color: #86efac;
}

.result-box.error {
    background: #fff1f2;
    border-color: #fda4af;
}

.result-box h2 {
    margin-top: 0;
}

.result-box dl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin: 20px 0;
}

.result-box dl div {
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(16,24,40,.08);
    border-radius: 12px;
    padding: 12px;
}

.result-box dt {
    color: #667085;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.result-box dd {
    margin: 5px 0 0;
    font-size: 18px;
    font-weight: 700;
}

.result-box pre {
    white-space: pre-wrap;
    background: rgba(255,255,255,.8);
    border: 1px solid rgba(16,24,40,.08);
    border-radius: 12px;
    padding: 14px;
}

.home-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    background: #f6f7fb;
    color: #172033;
    font-family: Arial, Helvetica, sans-serif;
}

.home-card {
    width: min(720px, 100%);
    background: #ffffff;
    border: 1px solid #e4e7ef;
    border-radius: 18px;
    padding: 32px;
    box-shadow: 0 12px 30px rgba(23, 32, 51, 0.08);
}

.home-card .eyebrow {
    margin: 0 0 8px;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-card h1 {
    margin: 0 0 12px;
    font-size: 34px;
}

.home-card p {
    color: #475467;
    line-height: 1.55;
}

.primary-link {
    display: inline-flex;
    margin-top: 18px;
    border-radius: 12px;
    padding: 13px 22px;
    background: #0c2050;
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
}


.action-row,
.home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.secondary-button,
.secondary-link {
    display: inline-flex;
    margin-top: 20px;
    border: 1px solid #cfd5e3;
    border-radius: 12px;
    padding: 13px 22px;
    background: #ffffff;
    color: #0c2050;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

.secondary-button:disabled {
    opacity: .65;
    cursor: not-allowed;
}

.recent-cases-section {
    margin-top: 34px;
}

.table-wrapper {
    overflow-x: auto;
    border: 1px solid #e4e7ef;
    border-radius: 14px;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
}

.data-table th,
.data-table td {
    padding: 12px 14px;
    border-bottom: 1px solid #eef1f6;
    text-align: left;
    white-space: nowrap;
}

.data-table th {
    background: #f8fafc;
    color: #475467;
    font-size: 12px;
    text-transform: uppercase;
}

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

.ias-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
    margin-top: 26px;
}

.ias-form-stack {
    display: grid;
    gap: 16px;
    margin-top: 16px;
}

.ias-form-grid label,
.ias-form-stack label {
    display: grid;
    gap: 7px;
    color: #344054;
    font-weight: 700;
}

.ias-form-grid input,
.ias-form-grid select,
.ias-form-stack textarea {
    width: 100%;
    border: 1px solid #cfd5e3;
    border-radius: 12px;
    padding: 12px 14px;
    color: #172033;
    background: #ffffff;
    font: inherit;
    font-weight: 400;
}

.ias-form-stack textarea {
    resize: vertical;
    line-height: 1.5;
}

.wide-card {
    max-width: 1180px;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 10px;
    background: #eef4ff;
    color: #0c2050;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.table-link {
    color: #0c2050;
    font-weight: 800;
    text-decoration: none;
}

.table-link:hover {
    text-decoration: underline;
}

.case-header-card {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
    gap: 22px;
    margin-top: 28px;
    border: 1px solid #e4e7ef;
    border-radius: 16px;
    padding: 22px;
    background: #fbfcff;
}

.case-header-card h2 {
    margin: 12px 0 8px;
    font-size: 28px;
}

.case-header-card p {
    margin: 0;
    color: #475467;
}

.case-header-card dl {
    display: grid;
    gap: 10px;
    margin: 0;
}

.case-header-card dl div {
    border: 1px solid #eef1f6;
    border-radius: 12px;
    padding: 12px;
    background: #ffffff;
}

.case-header-card dt {
    color: #667085;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.case-header-card dd {
    margin: 5px 0 0;
    color: #172033;
    font-size: 16px;
    font-weight: 800;
}

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

.detail-panel,
.output-block {
    border: 1px solid #e4e7ef;
    border-radius: 16px;
    padding: 20px;
    background: #ffffff;
}

.detail-panel h3,
.output-block h3 {
    margin: 0 0 12px;
}

.detail-panel p {
    margin: 0;
    color: #475467;
    line-height: 1.55;
    white-space: pre-wrap;
}

.full-span {
    grid-column: 1 / -1;
}

.report-section {
    display: grid;
    gap: 16px;
    margin-top: 28px;
}

.report-section h2 {
    margin: 0;
}

.output-list {
    display: grid;
    gap: 12px;
}

.output-item {
    border: 1px solid #eef1f6;
    border-radius: 14px;
    padding: 16px;
    background: #fbfcff;
}

.output-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 10px;
}

.output-item-meta span,
.output-item-meta strong {
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 12px;
    font-weight: 800;
}

.output-item-meta span {
    background: #f2f4f7;
    color: #475467;
}

.output-item-meta strong {
    background: #eef4ff;
    color: #0c2050;
}

.output-item p {
    margin: 0 0 8px;
    color: #172033;
    font-weight: 700;
    line-height: 1.45;
}

.output-item small,
.empty-text {
    color: #667085;
    line-height: 1.45;
}

@media (max-width: 760px) {
    .case-header-card,
    .detail-grid {
        grid-template-columns: 1fr;
    }
}

.filter-row {
    margin-top: 18px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.filter-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #344054;
    font-weight: 700;
}

.archived-row {
    opacity: .72;
    background: #f8fafc;
}

/* Web Acquisition execution control */
.metric-card.metric-accent::after {
    background: #edf4ff;
}

.execution-notice {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 18px;
    padding: 13px 16px;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 700;
}

.execution-notice.success {
    background: var(--green-soft);
    color: var(--green);
}

.execution-notice.error {
    background: var(--red-soft);
    color: var(--red);
}

.execution-notice button {
    border: 0;
    background: transparent;
    color: currentColor;
    font-size: 20px;
    cursor: pointer;
}

.execution-provider-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.execution-provider-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
}

.execution-provider-card > header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
}

.execution-provider-card h3 {
    overflow: hidden;
    margin: 0 0 4px;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.execution-capabilities {
    min-height: 31px;
    margin: 15px 0;
}

.scenario-selector {
    display: block;
    margin-top: auto;
}

.scenario-selector > span {
    display: block;
    margin-bottom: 7px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.scenario-selector select {
    width: 100%;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #d5dae3;
    border-radius: 9px;
    background: #fff;
    color: var(--ink);
}

.territory-execution-fields {
    display: grid;
    gap: 9px;
    margin-top: auto;
}

.territory-execution-fields label > span {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.territory-execution-fields input {
    width: 100%;
    height: 38px;
    padding: 0 10px;
    border: 1px solid #d5dae3;
    border-radius: 9px;
    background: #fff;
    color: var(--ink);
    font-size: 11px;
}

.territory-execution-fields input:disabled {
    background: #f5f6f8;
    color: var(--muted);
}

.execution-provider-warning {
    margin: 2px 0 0;
    padding: 8px 9px;
    border-radius: 8px;
    background: var(--orange-soft);
    color: #9a4708;
    font-size: 10px;
    line-height: 1.4;
}

.execution-provider-warning a {
    display: block;
    margin-top: 3px;
    color: #9a4708;
    font-weight: 800;
}

.execution-provider-note {
    min-height: 40px;
    margin: auto 0 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.45;
}

.execution-start {
    width: 100%;
    margin-top: 13px;
}

.execution-provider-card .status-pill,
.execution-row .status-pill {
    padding: 6px 9px;
    font-size: 10px;
    letter-spacing: 0;
    text-transform: none;
}

.execution-status-ready,
.execution-status-completed {
    background: var(--green-soft);
    color: var(--green);
}

.execution-status-running,
.execution-status-queued,
.execution-status-cancelling {
    background: #edf4ff;
    color: #175cd3;
}

.execution-status-completed-with-warnings,
.execution-status-quarantined {
    background: var(--amber-soft);
    color: var(--amber);
}

.execution-status-failed,
.execution-status-cancelled {
    background: var(--red-soft);
    color: var(--red);
}

.execution-status-disabled,
.execution-status-unavailable {
    background: #f1f3f6;
    color: #697386;
}

.content-panel + .content-panel {
    margin-top: 20px;
}

.live-indicator {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: #175cd3;
    font-size: 11px;
    font-weight: 800;
}

.live-indicator span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2e90fa;
    box-shadow: 0 0 0 4px #edf4ff;
}

.execution-list {
    display: grid;
    gap: 11px;
}

.execution-row {
    display: grid;
    grid-template-columns:
        minmax(260px, 1.6fr)
        minmax(120px, .65fr)
        minmax(135px, .7fr)
        minmax(105px, .55fr)
        minmax(150px, auto);
    gap: 18px;
    align-items: center;
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fff;
}

.execution-row-active {
    border-color: #b9d7ff;
    background: #fbfdff;
    box-shadow: inset 3px 0 #2e90fa;
}

.execution-main,
.execution-timing,
.execution-result,
.execution-confidence,
.execution-control {
    min-width: 0;
}

.execution-title {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}

.execution-title h3 {
    margin: 0;
    font-size: 14px;
}

.execution-trigger,
.execution-scenario {
    padding: 4px 7px;
    border-radius: 6px;
    font-size: 9px;
    font-weight: 800;
}

.execution-trigger {
    background: #edf4ff;
    color: #175cd3;
}

.trigger-manual {
    background: var(--orange-soft);
    color: #b54708;
}

.execution-scenario {
    background: #f4f0ff;
    color: #6941c6;
}

.execution-main .provider-id {
    margin-top: 5px;
}

.execution-main p {
    overflow: hidden;
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.4;
    text-overflow: ellipsis;
}

.execution-timing > span,
.execution-result > span,
.execution-confidence > span {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.execution-timing strong,
.execution-result strong,
.execution-confidence strong {
    display: block;
    font-size: 12px;
}

.execution-timing small,
.execution-result small,
.execution-confidence small {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 10px;
}

.execution-control {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
}

.button-small {
    min-height: 32px;
    padding: 0 10px;
    font-size: 10px;
}

@media (max-width: 1280px) {
    .execution-provider-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .execution-row {
        grid-template-columns: minmax(240px, 1.5fr) repeat(2, minmax(115px, .7fr)) minmax(145px, auto);
    }

    .execution-confidence {
        display: none;
    }
}

@media (max-width: 920px) {
    .execution-provider-grid {
        grid-template-columns: 1fr;
    }

    .execution-row {
        grid-template-columns: minmax(220px, 1.4fr) minmax(115px, .7fr) minmax(145px, auto);
    }

    .execution-result {
        display: none;
    }
}

@media (max-width: 760px) {
    .execution-row {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .execution-result,
    .execution-confidence {
        display: block;
    }

    .execution-control {
        align-items: stretch;
    }

    .execution-control .status-pill {
        justify-content: center;
    }
}

/* Web Acquisition execution history */
.button-ghost {
    border: 1px solid transparent;
    background: transparent;
    color: var(--muted);
}

.button-ghost:hover {
    border-color: var(--line);
    background: #f8fafc;
    color: var(--ink);
}

.history-filter-panel {
    margin-bottom: 20px;
}

.history-filter-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) repeat(5, minmax(135px, 1fr));
    gap: 14px;
    align-items: end;
}

.history-filter-grid label {
    display: block;
    min-width: 0;
}

.history-filter-grid label > span {
    display: block;
    margin-bottom: 7px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.history-filter-grid input[type="search"],
.history-filter-grid input[type="date"],
.history-filter-grid select {
    width: 100%;
    height: 42px;
    padding: 0 11px;
    border: 1px solid #d5dae3;
    border-radius: 9px;
    outline: none;
    background: #fff;
    color: var(--ink);
    font-size: 12px;
}

.history-filter-grid input:focus,
.history-filter-grid select:focus {
    border-color: #f5a36d;
    box-shadow: 0 0 0 3px var(--orange-soft);
}

.history-issue-filter {
    display: flex !important;
    grid-column: 1 / span 4;
    gap: 9px;
    align-items: center;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: #fbfcfd;
}

.history-issue-filter input {
    width: 16px;
    height: 16px;
    accent-color: var(--orange);
}

.history-issue-filter > span {
    margin: 0 !important;
    color: #344054 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.history-apply-filter {
    grid-column: 6;
}

.history-list {
    display: grid;
    gap: 11px;
}

.history-row {
    display: grid;
    grid-template-columns:
        minmax(270px, 1.65fr)
        minmax(135px, .7fr)
        minmax(145px, .75fr)
        minmax(105px, .55fr)
        minmax(155px, auto);
    gap: 18px;
    align-items: center;
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.history-row-selected {
    border-color: #f5b98e;
    box-shadow: inset 3px 0 var(--orange);
}

.history-main,
.history-datum,
.history-actions {
    min-width: 0;
}

.history-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    min-height: 20px;
    margin-top: 8px;
}

.history-flag {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #f1f3f6;
    color: #697386;
    font-size: 9px;
    font-weight: 800;
}

.history-flag.warning,
.history-flag.conflict {
    background: var(--amber-soft);
    color: var(--amber);
}

.history-flag.error {
    background: var(--red-soft);
    color: var(--red);
}

.history-flag.success {
    background: var(--green-soft);
    color: var(--green);
}

.history-datum > span {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.history-datum strong {
    display: block;
    font-size: 12px;
}

.history-datum small {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 10px;
}

.history-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
}

.history-actions .status-pill {
    padding: 6px 9px;
    font-size: 10px;
}

.history-pagination {
    display: flex;
    justify-content: center;
    gap: 16px;
    align-items: center;
    margin-top: 21px;
    color: var(--muted);
    font-size: 11px;
}

.history-detail-panel {
    scroll-margin-top: 20px;
}

.history-detail-heading {
    align-items: flex-start;
}

.history-detail-heading h2 {
    margin-top: 0;
}

.history-detail-heading .provider-id {
    margin-top: 6px;
}

.history-detail-metrics {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    margin-bottom: 24px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--line);
}

.history-detail-metrics > div {
    min-width: 0;
    padding: 14px;
    background: #fbfcfd;
}

.history-detail-metrics span,
.history-detail-metrics strong {
    display: block;
}

.history-detail-metrics span {
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.history-detail-metrics strong {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.history-detail-section {
    padding: 22px 0;
    border-top: 1px solid var(--line);
}

.history-detail-section h3 {
    margin: 0 0 15px;
    font-size: 15px;
}

.empty-panel.compact {
    padding: 15px;
}

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

.history-provider-detail {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fbfcfd;
}

.history-provider-detail > header {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
}

.history-provider-detail h4 {
    margin: 0 0 4px;
    font-size: 13px;
}

.history-provider-detail header span {
    color: var(--muted);
    font-size: 10px;
}

.history-provider-status {
    flex: 0 0 auto;
    padding: 5px 7px;
    border-radius: 7px;
    background: #edf4ff;
    color: #175cd3 !important;
    font-weight: 800;
}

.history-provider-detail dl {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 15px 0 0;
}

.history-provider-detail dl > div {
    min-width: 0;
    padding: 9px;
    border-radius: 8px;
    background: #fff;
}

.history-provider-detail dt {
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.history-provider-detail dd {
    overflow: hidden;
    margin: 0;
    font-size: 10px;
    font-weight: 700;
    text-overflow: ellipsis;
}

.history-payload {
    margin-top: 11px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: #fff;
}

.history-payload summary,
.history-collapsible-section > summary {
    padding: 11px 13px;
    color: #344054;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.history-payload pre {
    overflow: auto;
    max-height: 320px;
    margin: 0;
    padding: 13px;
    border-top: 1px solid var(--line);
    color: #344054;
    font-family: Consolas, "Courier New", monospace;
    font-size: 10px;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

.history-message-list {
    display: grid;
    gap: 8px;
}

.history-message {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 13px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fbfcfd;
}

.history-message > span {
    align-self: start;
    padding: 5px 7px;
    border-radius: 7px;
    background: #edf4ff;
    color: #175cd3;
    font-size: 9px;
    font-weight: 800;
    text-align: center;
}

.history-message-warning > span {
    background: var(--amber-soft);
    color: var(--amber);
}

.history-message-error > span {
    background: var(--red-soft);
    color: var(--red);
}

.history-message strong {
    font-size: 11px;
}

.history-message p {
    margin: 4px 0 0;
    color: #475467;
    font-size: 11px;
    line-height: 1.45;
}

.history-message small {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-size: 9px;
}

.history-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 10px;
}

.history-detail-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

.history-detail-table th {
    padding: 10px 12px;
    border-bottom: 1px solid var(--line);
    background: #f8fafc;
    color: var(--muted);
    font-size: 9px;
    letter-spacing: .04em;
    text-align: left;
    text-transform: uppercase;
}

.history-detail-table td {
    max-width: 420px;
    padding: 11px 12px;
    border-bottom: 1px solid #edf0f4;
    vertical-align: top;
}

.history-detail-table tr:last-child td {
    border-bottom: 0;
}

.history-value {
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.history-collapsible-section {
    margin-top: 13px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #fff;
}

.history-collapsible-section > .history-table-wrap,
.history-collapsible-section > .empty-panel,
.history-collapsible-section > .history-input-grid {
    margin: 0 13px 13px;
}

.history-input-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--line);
}

.history-input-grid > div {
    min-width: 0;
    padding: 11px;
    background: #fbfcfd;
}

.history-input-grid dt {
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
}

.history-input-grid dd {
    overflow-wrap: anywhere;
    margin: 0;
    font-size: 10px;
}

@media (max-width: 1280px) {
    .history-filter-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .history-filter-search {
        grid-column: span 2;
    }

    .history-issue-filter {
        grid-column: span 2;
    }

    .history-apply-filter {
        grid-column: auto;
    }

    .history-row {
        grid-template-columns: minmax(250px, 1.5fr) repeat(2, minmax(125px, .7fr)) minmax(150px, auto);
    }

    .history-row .history-datum:nth-of-type(4) {
        display: none;
    }

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

@media (max-width: 920px) {
    .history-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .history-filter-search,
    .history-issue-filter {
        grid-column: span 2;
    }

    .history-row {
        grid-template-columns: minmax(230px, 1.4fr) minmax(125px, .7fr) minmax(150px, auto);
    }

    .history-row .history-datum:nth-of-type(3) {
        display: none;
    }

    .history-provider-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .history-filter-grid {
        grid-template-columns: 1fr;
    }

    .history-filter-search,
    .history-issue-filter,
    .history-apply-filter {
        grid-column: auto;
    }

    .history-row {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .history-row .history-datum:nth-of-type(3),
    .history-row .history-datum:nth-of-type(4) {
        display: block;
    }

    .history-actions {
        align-items: stretch;
    }

    .history-actions .status-pill {
        justify-content: center;
    }

    .history-pagination {
        flex-wrap: wrap;
    }

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

    .history-provider-detail dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .history-message {
        grid-template-columns: 1fr;
    }

    .history-message > span {
        justify-self: start;
    }

    .history-input-grid {
        grid-template-columns: 1fr;
    }
}

/* Web Acquisition telemetry */
.telemetry-category-panel,
.telemetry-filter-panel {
    margin-bottom: 20px;
}

.telemetry-category-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
}

.telemetry-category-card {
    display: flex;
    min-width: 0;
    gap: 10px;
    align-items: center;
    padding: 11px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fbfcfd;
    color: var(--ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}

.telemetry-category-card:hover {
    border-color: #f5b98e;
    background: #fffaf6;
}

.telemetry-category-card > span:last-child {
    min-width: 0;
}

.telemetry-category-card strong,
.telemetry-category-card small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.telemetry-category-card strong {
    font-size: 10px;
}

.telemetry-category-card small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 9px;
}

.telemetry-category-icon {
    display: grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 8px;
    background: #edf4ff;
    color: #175cd3;
    font-size: 11px;
    font-weight: 900;
}

.telemetry-category-icon.category-retry,
.telemetry-category-icon.category-recovery,
.telemetry-category-icon.category-ratelimit {
    background: var(--amber-soft);
    color: var(--amber);
}

.telemetry-category-icon.category-download,
.telemetry-category-icon.category-parsing,
.telemetry-category-icon.category-normalization {
    background: var(--orange-soft);
    color: var(--orange);
}

.telemetry-filter-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(130px, 1fr));
    gap: 14px;
    align-items: end;
}

.telemetry-filter-grid label {
    display: block;
    min-width: 0;
}

.telemetry-filter-grid label > span {
    display: block;
    margin-bottom: 7px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.telemetry-filter-grid input,
.telemetry-filter-grid select {
    width: 100%;
    height: 42px;
    padding: 0 11px;
    border: 1px solid #d5dae3;
    border-radius: 9px;
    outline: none;
    background: #fff;
    color: var(--ink);
    font-size: 12px;
}

.telemetry-filter-grid input:focus,
.telemetry-filter-grid select:focus {
    border-color: #f5a36d;
    box-shadow: 0 0 0 3px var(--orange-soft);
}

.telemetry-filter-search,
.telemetry-filter-execution {
    grid-column: span 2;
}

.telemetry-apply-filter {
    grid-column: 6;
}

.telemetry-timeline {
    display: grid;
}

.telemetry-event {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    min-width: 0;
}

.telemetry-rail {
    position: relative;
    display: flex;
    justify-content: center;
}

.telemetry-rail::after {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #e1e5eb;
    content: "";
}

.telemetry-event:first-child .telemetry-rail::after {
    top: 18px;
}

.telemetry-event:last-child .telemetry-rail::after {
    bottom: calc(100% - 19px);
}

.telemetry-rail > span {
    position: relative;
    z-index: 1;
    width: 9px;
    height: 9px;
    margin-top: 15px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #98a2b3;
    box-shadow: 0 0 0 1px #cfd4dc;
}

.event-level-warning .telemetry-rail > span {
    background: var(--amber);
    box-shadow: 0 0 0 1px #f5c16c;
}

.event-level-error .telemetry-rail > span,
.event-level-critical .telemetry-rail > span {
    background: var(--red);
    box-shadow: 0 0 0 1px #f3a29b;
}

.telemetry-event-body {
    min-width: 0;
    margin: 0 0 11px 5px;
    padding: 14px 15px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #fff;
}

.event-level-warning .telemetry-event-body {
    border-left: 3px solid var(--amber);
}

.event-level-error .telemetry-event-body,
.event-level-critical .telemetry-event-body {
    border-left: 3px solid var(--red);
}

.telemetry-event-body > header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.telemetry-event-heading {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.telemetry-event-heading > strong {
    min-width: 0;
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.telemetry-event-body time {
    flex: 0 0 auto;
    color: var(--muted);
    font-family: Consolas, "Courier New", monospace;
    font-size: 9px;
}

.telemetry-level,
.telemetry-category {
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #edf4ff;
    color: #175cd3;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.telemetry-level.level-trace {
    background: #f2f4f7;
    color: #667085;
}

.telemetry-level.level-information {
    background: var(--green-soft);
    color: var(--green);
}

.telemetry-level.level-warning {
    background: var(--amber-soft);
    color: var(--amber);
}

.telemetry-level.level-error,
.telemetry-level.level-critical {
    background: var(--red-soft);
    color: var(--red);
}

.telemetry-category {
    background: var(--orange-soft);
    color: var(--orange);
}

.telemetry-event-body > p {
    margin: 10px 0 12px;
    color: #344054;
    font-size: 11px;
    line-height: 1.5;
}

.telemetry-context-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--line);
}

.telemetry-context-grid > div {
    min-width: 0;
    padding: 9px 10px;
    background: #fbfcfd;
}

.telemetry-context-grid span,
.telemetry-context-grid strong {
    display: block;
}

.telemetry-context-grid span {
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.telemetry-context-grid strong {
    overflow: hidden;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.telemetry-identifiers {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    margin-top: 10px;
    color: var(--muted);
    font-family: Consolas, "Courier New", monospace;
    font-size: 8px;
    overflow-wrap: anywhere;
}

.telemetry-identifiers strong {
    color: #475467;
}

.telemetry-metadata {
    margin-top: 11px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fbfcfd;
}

.telemetry-metadata summary {
    padding: 9px 11px;
    color: #475467;
    font-size: 9px;
    font-weight: 800;
    cursor: pointer;
}

.telemetry-metadata dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    margin: 0 10px 10px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--line);
}

.telemetry-metadata dl > div {
    min-width: 0;
    padding: 8px 9px;
    background: #fff;
}

.telemetry-metadata dt {
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
}

.telemetry-metadata dd {
    margin: 0;
    font-family: Consolas, "Courier New", monospace;
    font-size: 9px;
    overflow-wrap: anywhere;
}

@media (max-width: 1280px) {
    .telemetry-category-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

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

    .telemetry-filter-search,
    .telemetry-filter-execution {
        grid-column: span 2;
    }

    .telemetry-apply-filter {
        grid-column: 4;
    }
}

@media (max-width: 920px) {
    .telemetry-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

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

    .telemetry-apply-filter {
        grid-column: 2;
    }
}

@media (max-width: 760px) {
    .telemetry-category-grid,
    .telemetry-filter-grid,
    .telemetry-context-grid,
    .telemetry-metadata dl {
        grid-template-columns: 1fr;
    }

    .telemetry-filter-search,
    .telemetry-filter-execution,
    .telemetry-apply-filter {
        grid-column: auto;
    }

    .telemetry-event-body > header {
        display: block;
    }

    .telemetry-event-body time {
        display: block;
        margin-top: 8px;
    }
}

/* Web Acquisition provider health */
.health-provider-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.health-provider-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 20px;
    border: 1px solid var(--line);
    border-left: 4px solid var(--green);
    border-radius: 14px;
    background: #fff;
}

.health-provider-card.health-card-warning {
    border-left-color: var(--amber);
}

.health-provider-card.health-card-critical {
    border-left-color: var(--red);
}

.health-provider-card.health-card-running {
    border-left-color: #175cd3;
}

.health-provider-card.health-card-disabled {
    border-left-color: #98a2b3;
}

.health-provider-card > header {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: flex-start;
}

.health-provider-card h3 {
    overflow: hidden;
    margin: 0 0 4px;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.health-status-warning {
    background: var(--amber-soft);
    color: var(--amber);
}

.health-status-critical {
    background: var(--red-soft);
    color: var(--red);
}

.health-status-running {
    background: #edf4ff;
    color: #175cd3;
}

.health-status-disabled {
    background: #f1f3f6;
    color: #697386;
}

.health-summary {
    min-height: 42px;
    margin: 17px 0;
    color: #475467;
    font-size: 11px;
    line-height: 1.55;
}

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

.health-rate-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 15px;
    margin-top: 13px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 700;
}

.health-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: auto;
    padding-top: 17px;
}

.health-action-note {
    color: var(--muted);
    font-size: 10px;
}

@media (max-width: 920px) {
    .health-provider-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .health-provider-card > header {
        display: block;
    }

    .health-provider-card > header .status-pill {
        margin-top: 12px;
    }

    .health-facts {
        grid-template-columns: 1fr;
    }

    .health-actions .button {
        width: 100%;
    }
}

/* Web Acquisition results */
.results-filter-panel {
    border-top: 3px solid #5b5bd6;
}

.results-filter-grid {
    grid-template-columns: minmax(250px, 2fr) repeat(3, minmax(150px, 1fr));
}

.results-filter-grid .history-issue-filter {
    grid-column: span 3;
}

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

.result-row {
    display: grid;
    grid-template-columns: minmax(280px, 2.1fr) minmax(100px, .75fr) minmax(95px, .65fr) minmax(140px, .9fr) minmax(130px, auto);
    gap: 18px;
    align-items: center;
    padding: 17px 18px;
    border: 1px solid var(--border);
    border-left: 4px solid #98a2b3;
    border-radius: 13px;
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.result-row:hover,
.result-row-selected {
    border-color: #a7a9ec;
    box-shadow: 0 8px 24px rgba(52, 54, 122, .08);
}

.result-row-valid {
    border-left-color: #12b76a;
}

.result-row-incomplete {
    border-left-color: #f79009;
}

.result-row-duplicate {
    border-left-color: #7f56d9;
}

.result-row-rejected {
    border-left-color: #f04438;
}

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

.result-title-line {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}

.result-title-line h3 {
    min-width: 0;
    margin: 0;
    color: var(--text);
    font-size: 13px;
    line-height: 1.35;
}

.result-main .provider-id {
    display: block;
    margin-top: 5px;
}

.result-main p {
    margin: 7px 0 3px;
    color: #475467;
    font-size: 10px;
}

.result-main small {
    display: block;
    overflow: hidden;
    color: #98a2b3;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.result-status,
.intelligence-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.result-status {
    padding: 4px 8px;
}

.result-status-valid {
    background: #ecfdf3;
    color: #027a48;
}

.result-status-incomplete {
    background: var(--amber-soft);
    color: #b54708;
}

.result-status-duplicate {
    background: #f4f3ff;
    color: #6941c6;
}

.result-status-rejected {
    background: var(--red-soft);
    color: #b42318;
}

.result-datum {
    min-width: 0;
}

.result-datum > span {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.result-datum strong {
    display: block;
    overflow: hidden;
    color: var(--text);
    font-size: 11px;
    text-overflow: ellipsis;
}

.result-datum small {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 8px;
}

.intelligence-status-not-submitted {
    color: #667085;
}

.intelligence-status-processing {
    color: #175cd3;
}

.intelligence-status-completed {
    color: #027a48;
}

.intelligence-status-completed-with-warnings {
    color: #b54708;
}

.intelligence-status-failed {
    color: #b42318;
}

.result-actions {
    display: flex;
    flex-direction: column;
    gap: 7px;
    align-items: stretch;
}

.result-detail-panel {
    border-top: 3px solid #5b5bd6;
}

.result-detail-heading h2 {
    margin: 4px 0;
}

.result-detail-heading .provider-id {
    max-width: 620px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.result-detail-metrics {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1px;
    margin: 18px 0 22px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--border);
}

.result-detail-metrics > div {
    min-width: 0;
    padding: 14px;
    background: #fff;
}

.result-detail-metrics span,
.result-detail-metrics strong {
    display: block;
}

.result-detail-metrics span {
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.result-detail-metrics strong {
    overflow: hidden;
    color: var(--text);
    font-size: 10px;
    text-overflow: ellipsis;
}

.result-duplicate-notice {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 13px 15px;
    border: 1px solid #d9d6fe;
    border-radius: 11px;
    background: #f4f3ff;
    color: #53389e;
    font-size: 10px;
    font-weight: 700;
}

.owner-qualification-panel {
    display: grid;
    grid-template-columns: minmax(230px, 1.1fr) minmax(420px, 1.9fr);
    gap: 22px;
    align-items: center;
    margin-bottom: 16px;
    padding: 19px;
    border: 1px solid #fed7aa;
    border-radius: 13px;
    background: #fffaf5;
}

.owner-qualification-panel h3 {
    margin: 2px 0 6px;
    color: var(--text);
    font-size: 14px;
}

.owner-qualification-panel p {
    margin: 0;
    color: #667085;
    font-size: 10px;
    line-height: 1.5;
}

.owner-qualification-panel dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.owner-qualification-panel dl > div {
    padding: 10px;
    border: 1px solid #ffead5;
    border-radius: 9px;
    background: #fff;
}

.owner-qualification-panel dt {
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.owner-qualification-panel dd {
    margin: 5px 0 0;
    color: #9a4708;
    font-size: 11px;
    font-weight: 800;
}

.result-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.result-detail-section {
    margin-top: 16px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: #fff;
}

.result-detail-grid .result-detail-section {
    margin-top: 0;
}

.result-detail-section h3 {
    margin: 0 0 15px;
    color: var(--text);
    font-size: 12px;
}

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

.result-definition-grid > div {
    min-width: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0f1f3;
}

.result-definition-grid dt {
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.result-definition-grid dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: #344054;
    font-size: 10px;
    font-weight: 650;
}

.result-description {
    margin-top: 16px;
    padding: 13px;
    border-radius: 9px;
    background: #f8f9fb;
}

.result-description span {
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.result-description p {
    margin: 7px 0 0;
    color: #475467;
    font-size: 10px;
    line-height: 1.6;
}

.result-intelligence-panel {
    display: grid;
    grid-template-columns: minmax(250px, 1.6fr) minmax(300px, 1fr) auto;
    gap: 20px;
    align-items: center;
    margin-top: 16px;
    padding: 20px;
    border: 1px solid #cfd4dc;
    border-radius: 13px;
    background: #f8f9fb;
}

.intelligence-panel-completed {
    border-color: #abefc6;
    background: #f6fef9;
}

.intelligence-panel-completed-with-warnings {
    border-color: #fedf89;
    background: #fffcf5;
}

.intelligence-panel-failed {
    border-color: #fecdca;
    background: #fffafa;
}

.intelligence-panel-processing {
    border-color: #b2ccff;
    background: #f5f8ff;
}

.result-intelligence-panel h3 {
    margin: 2px 0 6px;
    color: var(--text);
    font-size: 14px;
}

.result-intelligence-panel p {
    margin: 0;
    color: #475467;
    font-size: 10px;
}

.result-intelligence-panel dl {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.result-intelligence-panel dt {
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.result-intelligence-panel dd {
    margin: 4px 0 0;
    color: var(--text);
    font-size: 10px;
    font-weight: 750;
}

.result-issue-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.result-issue-columns > div {
    padding: 13px;
    border-radius: 9px;
    background: #f8f9fb;
}

.result-issue-columns h4 {
    margin: 0 0 8px;
    color: #344054;
    font-size: 9px;
}

.result-issue-columns ul {
    margin: 0;
    padding-left: 17px;
    color: #667085;
    font-size: 9px;
    line-height: 1.6;
}

.result-empty-value {
    color: var(--muted);
    font-size: 9px;
}

.result-detail-warning-list,
.result-image-list {
    margin: 0;
    padding: 14px 18px 14px 34px;
    color: #667085;
    font-size: 9px;
    line-height: 1.65;
}

.result-canonical-extras {
    padding: 14px;
}

.result-canonical-extras .history-input-grid {
    margin: 0;
}

.result-image-list a {
    color: #4f46ad;
    overflow-wrap: anywhere;
}

.rerun-panel {
    border-top: 3px solid #f04438;
}

.rerun-list {
    display: grid;
    gap: 9px;
}

.rerun-row {
    display: grid;
    grid-template-columns: minmax(230px, 1.6fr) repeat(3, minmax(120px, .75fr)) auto;
    gap: 16px;
    align-items: center;
    padding: 14px 15px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: #fff;
}

.rerun-row h3 {
    margin: 0 0 4px;
    color: var(--text);
    font-size: 11px;
}

.rerun-row > div > span:not(.provider-id) {
    display: block;
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.rerun-row > div > strong {
    color: #344054;
    font-size: 9px;
}

@media (max-width: 1180px) {
    .result-row {
        grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(100px, .75fr));
    }

    .result-actions {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: flex-end;
    }

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

    .result-intelligence-panel {
        grid-template-columns: 1fr;
    }

    .owner-qualification-panel {
        grid-template-columns: 1fr;
    }

    .rerun-row {
        grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(120px, .75fr)) auto;
    }

    .rerun-row > div:nth-of-type(4) {
        display: none;
    }
}

@media (max-width: 900px) {
    .results-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .results-filter-grid .history-filter-search,
    .results-filter-grid .history-issue-filter {
        grid-column: span 2;
    }

    .result-row {
        grid-template-columns: minmax(230px, 1.8fr) repeat(2, minmax(100px, .75fr));
    }

    .result-row .result-datum:nth-of-type(4) {
        display: none;
    }

    .result-detail-grid {
        grid-template-columns: 1fr;
    }

    .rerun-row {
        grid-template-columns: 1fr 1fr;
    }

    .rerun-row > div:first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .results-filter-grid {
        grid-template-columns: 1fr;
    }

    .results-filter-grid .history-filter-search,
    .results-filter-grid .history-issue-filter {
        grid-column: auto;
    }

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

    .result-row .result-datum {
        display: block !important;
    }

    .result-actions {
        grid-column: auto;
        flex-direction: column;
    }

    .result-detail-metrics,
    .result-definition-grid,
    .result-intelligence-panel dl,
    .owner-qualification-panel dl,
    .result-issue-columns {
        grid-template-columns: 1fr;
    }

    .result-duplicate-notice {
        display: block;
    }

    .result-duplicate-notice .button {
        width: 100%;
        margin-top: 10px;
    }

    .rerun-row {
        grid-template-columns: 1fr;
    }

    .rerun-row > div:first-child {
        grid-column: auto;
    }

    .rerun-row .button {
        width: 100%;
    }
}

/* Web Acquisition operational validation */

.validation-safety-note {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 18px;
    padding: 13px 16px;
    border: 1px solid #fed7aa;
    border-radius: 12px;
    background: var(--orange-soft);
    color: #8a4611;
    font-size: 13px;
}

.validation-safety-note strong {
    flex: 0 0 auto;
    color: #9a4b0e;
}

.validation-running-panel {
    display: flex;
    gap: 18px;
    align-items: center;
    border-color: #fed7aa;
}

.validation-running-panel h2,
.validation-running-panel p,
.validation-empty-panel h2,
.validation-empty-panel p {
    margin: 0;
}

.validation-running-panel p,
.validation-empty-panel p {
    margin-top: 7px;
    color: var(--muted);
}

.validation-spinner {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border: 4px solid #fed7aa;
    border-top-color: var(--orange);
    border-radius: 50%;
    animation: validation-spin .8s linear infinite;
}

@keyframes validation-spin {
    to {
        transform: rotate(360deg);
    }
}

.validation-empty-panel {
    min-height: 260px;
    display: grid;
    place-items: center;
    text-align: center;
}

.validation-empty-panel > div {
    max-width: 660px;
}

.validation-verdict {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .9fr);
    gap: 24px;
    align-items: center;
    margin-bottom: 18px;
    padding: 24px;
    border: 1px solid var(--line);
    border-left-width: 5px;
    border-radius: 16px;
    background: var(--panel);
    box-shadow: 0 8px 28px rgba(16, 35, 72, .05);
}

.validation-verdict > div {
    display: flex;
    gap: 16px;
    align-items: center;
}

.validation-verdict h2,
.validation-verdict p {
    margin: 0;
}

.validation-verdict p:not(.section-kicker) {
    margin-top: 7px;
    color: var(--muted);
    line-height: 1.5;
}

.validation-verdict-passed {
    border-left-color: var(--green);
}

.validation-verdict-warning {
    border-left-color: #d98a17;
}

.validation-verdict-failed {
    border-left-color: var(--red);
}

.validation-verdict-mark {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: var(--green-soft);
    color: var(--green);
    font-size: 25px;
    font-weight: 900;
}

.validation-verdict-warning .validation-verdict-mark {
    background: var(--amber-soft);
    color: var(--amber);
}

.validation-verdict-failed .validation-verdict-mark {
    background: var(--red-soft);
    color: var(--red);
}

.validation-verdict dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.validation-verdict dl div {
    min-width: 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--canvas);
}

.validation-verdict dt {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.validation-verdict dd {
    overflow-wrap: anywhere;
    margin: 5px 0 0;
    color: var(--ink);
    font-size: 12px;
    font-weight: 700;
}

.validation-metrics {
    margin-bottom: 18px;
}

.validation-category-panel + .validation-category-panel {
    margin-top: 18px;
}

.validation-category-summary {
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--canvas);
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.validation-check-list {
    display: grid;
    gap: 10px;
}

.validation-check {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 13px;
    align-items: start;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fff;
}

.validation-check-passed {
    border-left: 4px solid var(--green);
}

.validation-check-warning {
    border-left: 4px solid #d98a17;
}

.validation-check-failed {
    border-left: 4px solid var(--red);
}

.validation-check-icon {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    border-radius: 9px;
    background: var(--green-soft);
    color: var(--green);
    font-size: 17px;
    font-weight: 900;
}

.validation-check-warning .validation-check-icon {
    background: var(--amber-soft);
    color: var(--amber);
}

.validation-check-failed .validation-check-icon {
    background: var(--red-soft);
    color: var(--red);
}

.validation-check-title {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.validation-check-title h3,
.validation-check-main > p {
    margin: 0;
}

.validation-check-title h3 {
    font-size: 15px;
}

.validation-check-main > p {
    margin-top: 6px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.validation-outcome {
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.validation-outcome-passed {
    background: var(--green-soft);
    color: var(--green);
}

.validation-outcome-warning {
    background: var(--amber-soft);
    color: var(--amber);
}

.validation-outcome-failed {
    background: var(--red-soft);
    color: var(--red);
}

.validation-check-meta {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 9px;
    color: #8690a0;
    font-size: 11px;
}

.validation-check-meta code {
    padding: 3px 6px;
    border-radius: 5px;
    background: #eef1f5;
    color: #536071;
    font-family: Consolas, monospace;
}

.validation-check-actions {
    display: flex;
    gap: 6px;
    align-items: center;
}

.validation-evidence {
    margin-top: 10px;
}

.validation-evidence summary {
    cursor: pointer;
    color: #526071;
    font-size: 12px;
    font-weight: 700;
}

.validation-evidence dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin: 10px 0 0;
}

.validation-evidence dl div {
    min-width: 0;
    padding: 8px 9px;
    border-radius: 8px;
    background: var(--canvas);
}

.validation-evidence dt {
    overflow-wrap: anywhere;
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
}

.validation-evidence dd {
    overflow-wrap: anywhere;
    margin: 4px 0 0;
    color: var(--ink);
    font-size: 11px;
}

@media (max-width: 1080px) {
    .validation-verdict {
        grid-template-columns: 1fr;
    }

    .validation-check {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .validation-check-actions {
        grid-column: 2;
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .validation-safety-note {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .validation-verdict {
        padding: 18px;
    }

    .validation-verdict dl {
        grid-template-columns: 1fr;
    }

    .validation-check {
        grid-template-columns: 1fr;
    }

    .validation-check-icon {
        width: 28px;
        height: 28px;
    }

    .validation-check-actions {
        grid-column: auto;
        flex-wrap: wrap;
    }

    .validation-evidence dl {
        grid-template-columns: 1fr;
    }
}

/* Operational Campaign */
.operational-form { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)) auto; gap:14px; align-items:end; }
.operational-form label { display:flex; flex-direction:column; gap:7px; color:var(--muted); font-size:12px; font-weight:700; }
.operational-form input { width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); }
.operational-tabs { display:flex; gap:8px; margin:20px 0 12px; }
.operational-tab { padding:10px 16px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--muted); font-weight:700; cursor:pointer; }
.operational-tab.active { border-color:var(--orange); background:var(--orange-soft); color:var(--orange); }
.campaign-board { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px; align-items:start; }
.campaign-lane { min-width:0; padding:12px; border:1px solid var(--line); border-radius:12px; background:#f8fafc; }
.campaign-lane>header { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; font-size:13px; }
.campaign-lane>header span { display:grid; place-items:center; min-width:25px; height:25px; border-radius:99px; background:#e8edf4; font-weight:800; }
.campaign-card { margin-top:10px; padding:14px; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:0 2px 8px rgba(16,35,72,.04); }
.campaign-card-top { display:flex; justify-content:space-between; align-items:center; }
.campaign-card h3,.assignment-row h3 { margin:10px 0 5px; font-size:15px; }
.campaign-card p,.assignment-row p { margin:0; color:var(--muted); font-size:13px; line-height:1.45; }
.campaign-facts { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.campaign-facts span { padding:5px 7px; border-radius:6px; background:#f2f4f7; color:#475467; font-size:11px; }
.campaign-reasons { margin:10px 0 0; padding-left:18px; color:#475467; font-size:12px; line-height:1.45; }
.campaign-source { display:inline-block; margin-top:11px; color:var(--orange); font-size:12px; font-weight:700; text-decoration:none; }
.assignment-list { display:flex; flex-direction:column; gap:10px; }
.assignment-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 20px; padding:16px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.assignment-meta { display:flex; flex-direction:column; align-items:flex-end; gap:4px; color:var(--muted); font-size:12px; }
.assignment-meta strong { color:var(--ink); font-size:20px; }
.assignment-rationale { grid-column:1/-1; padding-top:9px; border-top:1px solid var(--line); color:#475467; font-size:12px; }
.assignment-row .campaign-source { grid-column:1/-1; margin-top:0; }
@media (max-width:1100px) { .operational-form { grid-template-columns:repeat(2,1fr); } .operational-form .button { grid-column:1/-1; } }
@media (max-width:700px) { .operational-form { grid-template-columns:1fr; } .assignment-row { grid-template-columns:1fr; } .assignment-meta { align-items:flex-start; } }

/* Operational Campaign - consolidated workspace */
.campaign-card-actions { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin-top:.85rem; }
.button-small { padding:.45rem .7rem; font-size:.82rem; }
.strategy-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:.75rem; margin:0 0 1rem; }
.strategy-summary > div { border:1px solid var(--border-color, #dfe5ea); border-radius:12px; padding:.8rem 1rem; background:var(--surface-soft, #f8fafb); display:flex; flex-direction:column; gap:.25rem; }
.strategy-summary span { font-size:.78rem; opacity:.7; text-transform:uppercase; letter-spacing:.04em; }
.strategy-summary strong { font-size:1.05rem; }
.campaign-warning { margin-top:.75rem; padding:.75rem .9rem; border-radius:10px; background:#fff8e8; border:1px solid #ecd9a7; font-size:.88rem; }
.execution-digest { margin-bottom:1rem; }
.execution-digest h3 { margin:.65rem 0 0; font-size:1.05rem; }
.operational-detail-block { border-top:1px solid var(--border-color, #e2e7eb); padding:1rem 0; }
.operational-detail-block h3 { margin:0 0 .5rem; }
.operational-detail-block h4 { margin:.8rem 0 .3rem; font-size:.9rem; }
.operational-detail-block p { margin:.25rem 0; }
.operational-detail-block ul { margin:.45rem 0 0; padding-left:1.2rem; }
.operational-detail-backdrop { position:fixed; inset:0; z-index:1200; background:rgba(13,25,34,.38); display:flex; justify-content:flex-end; }
.operational-detail-panel { width:min(620px,94vw); height:100%; overflow:auto; background:var(--surface, #fff); box-shadow:-14px 0 35px rgba(0,0,0,.18); padding:1.35rem; }
.operational-detail-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.operational-detail-panel > header h2 { margin:.5rem 0 0; }
.detail-close { border:0; background:transparent; font-size:2rem; line-height:1; cursor:pointer; opacity:.65; }
.evidence-chips { display:flex; flex-wrap:wrap; gap:.4rem; }
.evidence-chips span { padding:.35rem .55rem; border-radius:999px; background:var(--surface-soft, #f1f5f7); border:1px solid var(--border-color, #dfe5ea); font-size:.78rem; word-break:break-all; }
@media (max-width: 720px) { .operational-detail-panel { width:100%; } }

/* Operational Campaign persistent history */
.campaign-history-panel { margin-top: 1rem; }
.campaign-history-list { display: grid; gap: .75rem; }
.campaign-history-list .assignment-row { grid-template-columns: minmax(0,1fr) auto auto; align-items: center; }
.historical-campaign-detail { margin-top: 1rem; border-style: dashed; }
.historical-campaign-detail > h3 { margin-top: 1.5rem; }

/* P3 Agency Workspace */
.agency-opportunity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.agency-opportunity-card{border:1px solid var(--border-color,#dfe5ea);border-radius:14px;padding:1rem;background:var(--surface,#fff);display:flex;flex-direction:column;gap:.65rem}
.agency-opportunity-card h3{margin:0;font-size:1.02rem}
.agency-opportunity-card p{margin:0;color:var(--text-muted,#667085)}
.agency-opportunity-meta{display:flex;gap:.55rem;flex-wrap:wrap}
.agency-opportunity-meta span{font-size:.82rem;padding:.25rem .5rem;border-radius:999px;background:#f2f4f7}
.agency-opportunity-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:auto;padding-top:.35rem}
.agency-dashboard .metric-card strong{font-size:2rem}
@media(max-width:800px){.agency-opportunity-grid{grid-template-columns:1fr}}

/* P3 - authentication and first-run shell */
.auth-shell{min-height:100vh;background:linear-gradient(145deg,#f6f8fb 0%,#eef3f8 100%);display:flex;flex-direction:column;padding:2.25rem 3rem}.auth-brand{display:flex;align-items:center;gap:.85rem;color:#10243e}.auth-brand-mark{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#10243e;color:#fff;font-weight:800;box-shadow:0 8px 20px #10243e22}.auth-brand div{display:flex;flex-direction:column;line-height:1.15}.auth-brand strong{font-size:1.12rem}.auth-brand small{margin-top:.22rem;color:#66758a;font-size:.76rem}.auth-content{flex:1;display:grid;place-items:center;padding:3rem 1rem}.auth-card{width:min(100%,500px);background:#fff;border:1px solid #e6ebf1;border-radius:22px;padding:2.4rem;box-shadow:0 20px 55px #1b355018}.auth-card-wide{width:min(100%,650px)}.auth-card-heading{margin-bottom:1.7rem}.auth-card-heading h1{margin:.45rem 0 .7rem;font-size:2rem;letter-spacing:-.035em;color:#10243e}.auth-card-heading p{margin:0;color:#5f6f82;line-height:1.6}.auth-step{display:inline-flex;padding:.3rem .62rem;border-radius:999px;background:#edf3f8;color:#31506e;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.auth-form{display:grid;gap:1rem}.auth-form label{display:grid;gap:.42rem;color:#26384d;font-weight:650;font-size:.9rem}.auth-form input{width:100%;box-sizing:border-box;border:1px solid #ccd6e1;border-radius:10px;padding:.78rem .9rem;font:inherit;color:#172b43;background:#fff;outline:none}.auth-form input:focus{border-color:#607f9f;box-shadow:0 0 0 3px #607f9f1f}.auth-form label small{font-weight:400;color:#778598;font-size:.78rem}.auth-info,.auth-state{display:flex;flex-direction:column;gap:.28rem;border-radius:12px;padding:.9rem 1rem;background:#f6f8fb;color:#56677b;font-size:.84rem;line-height:1.45}.auth-info strong,.auth-state strong{color:#24394f}.auth-state.success{background:#f0f8f4}.auth-submit{width:100%;justify-content:center;margin-top:.2rem;padding:.78rem 1rem}.auth-footer{display:flex;justify-content:space-between;gap:1rem;color:#8793a2;font-size:.75rem;padding-top:1rem;border-top:1px solid #dfe6ee}@media(max-width:700px){.auth-shell{padding:1.4rem}.auth-content{padding:2rem 0}.auth-card{padding:1.5rem;border-radius:17px}.auth-card-heading h1{font-size:1.65rem}.auth-footer{flex-direction:column}}

/* P3.1 platform/admin visual consistency */
.auth-error{background:#fff2f2;color:#8b3030}.auth-error strong{color:#7a2020}
.platform-agency-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.platform-agency-form label{display:grid;gap:.4rem;font-size:.84rem;font-weight:650;color:#33485e}.platform-agency-form input,.platform-agency-form select{width:100%;box-sizing:border-box;border:1px solid #ccd6e1;border-radius:10px;padding:.72rem .82rem;background:#fff;font:inherit}.platform-agency-submit{grid-column:1/-1}.table-scroll{overflow:auto}.workspace-table{width:100%;border-collapse:collapse}.workspace-table th,.workspace-table td{padding:.8rem;border-bottom:1px solid #e7ebf0;text-align:left}.workspace-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:#718096}
@media(max-width:900px){.platform-agency-form{grid-template-columns:1fr 1fr}}@media(max-width:620px){.platform-agency-form{grid-template-columns:1fr}}

/* P3 agency administration */
.workspace-table td:last-child{text-align:right}.agency-edit-panel{margin-top:1rem}.agency-active-field select{min-width:180px}

/* P3 platform fixes */
.agency-edit-panel{scroll-margin-top:1.5rem}
.diagnostic-provider-list{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.65rem}
.diagnostic-provider-list li{padding:.85rem 1rem;border:1px solid #e1e7ee;border-radius:10px;background:#f8fafc;color:#526477;line-height:1.55}
.diagnostic-provider-list li strong{color:#17324d}

/* P4 – Go-live readiness */
.readiness-list{display:grid;gap:.75rem}.readiness-row{display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center;padding:.9rem 0;border-bottom:1px solid #e7ebf0}.readiness-row:last-child{border-bottom:0}.readiness-row p{margin:.18rem 0 0;color:#6b7a8c;font-size:.86rem}.readiness-dot{width:11px;height:11px;border-radius:50%;background:#cbd5df}.readiness-dot.ok{background:#26b987;box-shadow:0 0 0 4px #26b98718}.readiness-dot.ko{background:#d95555;box-shadow:0 0 0 4px #d9555518}.error-card{text-align:left}.error-symbol{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#fff0eb;color:#f26a21;font-size:1.7rem;font-weight:800;margin-bottom:1.1rem}.error-actions{display:flex;gap:.75rem;margin-top:1.25rem}.error-actions .button{justify-content:center}.auth-info code{word-break:break-all;color:#42566d}.workspace-table form{margin:0}

/* Compact boolean controls: do not let generic form sizing enlarge checkboxes. */
.configuration-grid input[type="checkbox"],
.configuration-grid input[type="radio"] {
    width: 16px;
    height: 16px;
    min-width: 16px;
    padding: 0;
    margin: 0;
    border-radius: 4px;
    vertical-align: middle;
    accent-color: var(--orange);
}

.configuration-grid > label:has(> input[type="checkbox"]),
.configuration-grid > label:has(> input[type="radio"]) {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
}

.configuration-grid > label:has(> input[type="checkbox"]) > span,
.configuration-grid > label:has(> input[type="radio"]) > span {
    margin: 0;
}

/* Provider settings action separation */
.provider-settings-form{display:grid;gap:1.35rem}
.provider-settings-form>.content-panel{margin-bottom:0}
.provider-settings-actions{margin-top:.35rem;padding-top:1.15rem;border-top:1px solid #e4e9ef;gap:.75rem}
.provider-settings-actions .button{min-height:42px}

.provider-save-errors{margin:.45rem 0 0 1.1rem;padding:0}.provider-save-errors li{margin:.2rem 0;font-size:.82rem;font-weight:500}

/* P5 end-to-end validation */
.e2e-check-list{display:grid}.e2e-check{display:grid;grid-template-columns:14px 1fr auto;gap:.9rem;align-items:center;padding:1rem 0;border-bottom:1px solid #e3e8ef}.e2e-check:last-child{border-bottom:0}.e2e-check h3,.e2e-check p{margin:0}.e2e-check p{margin-top:.3rem;color:#667085}.e2e-dot{width:10px;height:10px;border-radius:50%;background:#d99a28;box-shadow:0 0 0 4px #fff5df}.e2e-dot.ok{background:#20b486;box-shadow:0 0 0 4px #e9f8f3}.e2e-steps{margin:.25rem 0 0;padding-left:1.25rem;color:#44546a}.e2e-steps li{margin:.55rem 0;line-height:1.5}@media(max-width:760px){.e2e-check{grid-template-columns:14px 1fr}.e2e-check>a{grid-column:2}}

.auth-text-link{display:block;text-align:center;margin-top:.25rem;color:#31506e;font-size:.86rem;font-weight:600;text-decoration:none}.auth-text-link:hover{text-decoration:underline}

/* P5.1 Factory Reset */
.factory-reset-card{max-width:980px}.factory-reset-card+.factory-reset-card{margin-top:1rem}.factory-reset-danger{border:1px solid #e8b8b8}.factory-preserve{color:#58677a;line-height:1.55}.factory-confirm{display:grid;gap:.45rem;max-width:520px;margin:1rem 0}.factory-confirm input{font-weight:600;letter-spacing:.02em}.button-danger{background:#a83d3d;color:#fff;border:1px solid #a83d3d}.button-danger:hover{background:#8f3030}.status-danger{background:#fbeaea;color:#9b3030}

/* UX.1 - Agency territory onboarding and simplified workspace */
.agency-setup-page{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:2rem 0}
.agency-setup-card{width:min(900px,100%);background:#fff;border:1px solid #e5e9ee;border-radius:24px;padding:clamp(1.5rem,4vw,3.2rem);box-shadow:0 18px 55px rgba(25,44,66,.08)}
.agency-setup-brand{display:flex;align-items:center;gap:.9rem;margin-bottom:2.2rem;color:#243649}
.agency-setup-brand>div{display:grid}.agency-setup-brand span{font-weight:800}.agency-setup-brand small{color:#738194;margin-top:.12rem}
.agency-setup-icon{width:48px;height:48px;border-radius:15px;display:grid!important;place-items:center;background:#eef3f4;color:#224955;font-weight:900!important;letter-spacing:-.04em}
.agency-setup-card h1{font-size:clamp(2rem,4vw,3rem);margin:.2rem 0 .8rem;color:#1f3144;letter-spacing:-.04em}
.agency-setup-lead{font-size:1.05rem;line-height:1.65;color:#66778a;max-width:720px;margin:0 0 2rem}
.territory-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.territory-field{display:grid;gap:.45rem}.territory-field span{font-size:.86rem;font-weight:750;color:#43566a}
.territory-field select{width:100%;min-height:50px;border:1px solid #dce3e9;border-radius:12px;background:#fff;padding:0 .85rem;color:#243649}
.territory-help{grid-column:1/-1;margin-top:.5rem;border-radius:14px;background:#f5f8f8;padding:1rem 1.15rem;color:#526679}
.territory-help p{margin:.3rem 0 0;line-height:1.5}
.agency-setup-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}
.agency-message{border-radius:12px;padding:.85rem 1rem;margin:0 0 1rem;font-weight:650}.agency-message-error{background:#fff0f0;color:#9d3f3f;border:1px solid #f2cccc}.agency-message-success{background:#edf9f4;color:#267357;border:1px solid #cfeade}
.agency-welcome-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.5rem}
.agency-welcome-heading h1{font-size:clamp(2rem,4vw,3.1rem);margin:.2rem 0 .45rem;letter-spacing:-.045em;color:#203246}.agency-welcome-heading p{margin:0;max-width:760px;color:#67798c;font-size:1.02rem;line-height:1.6}
.territory-summary-link{min-width:230px;text-decoration:none;background:#fff;border:1px solid #e2e8ed;border-radius:16px;padding:1rem 1.1rem;display:grid;gap:.25rem;color:#304457}.territory-summary-link span{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#7c8997;font-weight:800}.territory-summary-link strong{font-size:1.05rem}.territory-summary-link small{color:#476c73;font-weight:700}
.agency-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 1.25rem}.agency-focus-card{background:#fff;border:1px solid #e5eaee;border-radius:18px;padding:1.3rem;display:flex;flex-direction:column;min-height:210px}.agency-focus-card strong{font-size:2.6rem;letter-spacing:-.05em;color:#203548;margin:.5rem 0}.agency-focus-card p{color:#697a8b;line-height:1.5;margin:0 0 1rem}.agency-focus-card a{margin-top:auto;color:#315f66;font-weight:750;text-decoration:none}.agency-focus-primary{background:linear-gradient(145deg,#f3f8f7,#fff)}.agency-focus-eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:.73rem;font-weight:850;color:#6a7b8b}.agency-next-experience h2{margin:.2rem 0 .6rem}.agency-next-experience p{max-width:850px;color:#65778a;line-height:1.6}.agency-territories-admin{display:grid;gap:.35rem;padding:.7rem .8rem;border:1px solid #e1e6eb;border-radius:10px;background:#f8fafb}.agency-territories-admin>span{font-size:.8rem;font-weight:700;color:#516276}.agency-territories-admin small{color:#748295}
@media(max-width:850px){.territory-form,.agency-overview-grid{grid-template-columns:1fr}.agency-welcome-heading{align-items:stretch;flex-direction:column}.territory-summary-link{min-width:0}.agency-setup-actions{flex-direction:column-reverse}.agency-setup-actions .button{width:100%;justify-content:center}}

/* UX.2 - Agency Home / Oggi per te */
.agency-home-v3{max-width:1500px;margin:0 auto}
.agency-home-heading{align-items:center}
.today-panel{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,.8fr);gap:1.5rem;padding:clamp(1.35rem,2.5vw,2.1rem);border:1px solid #dfe8e7;border-radius:24px;background:linear-gradient(135deg,#f3f8f7 0%,#fff 62%);box-shadow:0 10px 35px rgba(28,52,62,.045);margin-bottom:1.2rem}
.today-panel h2{font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:-.035em;color:#203548;margin:.25rem 0 .65rem}.today-panel-copy>p:not(.section-kicker){color:#66798a;font-size:1rem;line-height:1.6;max-width:760px;margin:0}.today-freshness{display:flex;align-items:center;gap:.55rem;margin-top:1rem;color:#627587;font-size:.86rem;font-weight:650}.freshness-dot{width:8px;height:8px;border-radius:50%;background:#4e8a76;box-shadow:0 0 0 4px rgba(78,138,118,.1)}
.today-stats{display:grid;grid-template-columns:repeat(3,1fr);align-self:stretch;border:1px solid #e2e9e8;background:rgba(255,255,255,.84);border-radius:18px;overflow:hidden}.today-stats>div{padding:1.2rem .85rem;display:flex;flex-direction:column;justify-content:center;text-align:center}.today-stats>div+div{border-left:1px solid #e7ecec}.today-stats strong{font-size:2rem;color:#24434b;letter-spacing:-.04em}.today-stats span{font-size:.76rem;line-height:1.35;color:#71808d;margin-top:.3rem}
.agency-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0 0 1.4rem}.agency-kpi-card{background:#fff;border:1px solid #e5eaee;border-radius:18px;padding:1.2rem;min-height:175px;display:flex;flex-direction:column}.agency-kpi-card>span{font-size:.76rem;text-transform:uppercase;letter-spacing:.055em;font-weight:850;color:#738190}.agency-kpi-card strong{font-size:2.45rem;line-height:1;color:#223b4b;margin:.7rem 0}.agency-kpi-card p{font-size:.88rem;line-height:1.5;color:#708090;margin:auto 0 0}.agency-kpi-primary{background:linear-gradient(150deg,#eef7f4,#fff);border-color:#dbe9e4}
.agency-section{background:#fff;border:1px solid #e4e9ed;border-radius:22px;padding:clamp(1.2rem,2.3vw,1.8rem);margin-bottom:1.25rem}.agency-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1.2rem;margin-bottom:1.15rem}.agency-section-heading h2{font-size:1.5rem;letter-spacing:-.025em;color:#263b4c;margin:.15rem 0 .3rem}.agency-section-heading p:not(.section-kicker){color:#718092;margin:0}.agency-section-note{font-size:.78rem;color:#8a96a2;background:#f5f7f8;border-radius:999px;padding:.45rem .7rem;white-space:nowrap}
.home-opportunity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.home-opportunity-card{border:1px solid #e5e9ed;border-radius:18px;padding:1.2rem;background:#fcfdfd;display:flex;flex-direction:column}.home-opportunity-topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.opportunity-attention{font-size:.72rem;font-weight:850;border-radius:999px;padding:.35rem .6rem}.attention-high{background:#eaf5ef;color:#25654f}.attention-medium{background:#f3f2e9;color:#76651d}.attention-interesting{background:#eef3f7;color:#3f6278}.attention-neutral{background:#f2f4f5;color:#66717d}.opportunity-age{font-size:.75rem;color:#8a96a2}.home-opportunity-card h3{font-size:1.1rem;color:#263b4c;margin:.9rem 0 .25rem;line-height:1.35}.opportunity-location{color:#718091;margin:0 0 .6rem}.opportunity-price{font-size:1.45rem;font-weight:850;letter-spacing:-.025em;color:#243e4a;margin:.15rem 0 .9rem}.opportunity-why{border-top:1px solid #e9edef;padding-top:.85rem;margin-top:auto}.opportunity-why strong{font-size:.8rem;color:#526574}.opportunity-why ul{padding-left:1.05rem;margin:.45rem 0 0;color:#6d7c89;font-size:.84rem;line-height:1.45}.opportunity-why li+li{margin-top:.28rem}.agency-empty-state{display:flex;flex-direction:column;gap:.35rem;border:1px dashed #d8e0e5;border-radius:16px;padding:1.3rem;color:#6e7e8d}.agency-empty-state strong{color:#354b5c}
.territory-chip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.territory-chip{border:1px solid #e4e9ed;border-radius:15px;padding:1rem;background:#fafcfc;display:grid;grid-template-columns:auto 1fr;gap:.12rem .7rem;align-items:center}.territory-chip span{grid-row:1/3;width:43px;height:43px;border-radius:12px;background:#edf4f3;display:grid;place-items:center;font-weight:900;color:#355f63}.territory-chip strong{font-size:.93rem;color:#314757}.territory-chip small{color:#80909d}
.agency-coming-next{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:center;padding:1.25rem 1.4rem;border-radius:20px;background:#253f4b;color:#fff;margin-bottom:1.25rem}.coming-next-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-weight:900}.agency-coming-next .section-kicker{color:#a8c6c7}.agency-coming-next h2{margin:.1rem 0 .25rem;color:#fff}.agency-coming-next p:not(.section-kicker){margin:0;color:#d4e0e3;line-height:1.5}
@media(max-width:1100px){.today-panel{grid-template-columns:1fr}.agency-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.territory-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.today-stats{grid-template-columns:1fr}.today-stats>div+div{border-left:0;border-top:1px solid #e7ecec}.agency-kpi-grid,.home-opportunity-grid,.territory-chip-grid{grid-template-columns:1fr}.agency-section-heading{align-items:flex-start;flex-direction:column}.agency-section-note{white-space:normal}.agency-coming-next{grid-template-columns:1fr}.agency-home-heading{align-items:stretch}}

/* UX.3 - Agency Opportunities */
.opportunities-v3,.opportunity-detail-v3{max-width:1500px;margin:0 auto}
.agency-list-heading{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;margin-bottom:1.25rem}.agency-list-heading h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.045em;color:#203548;margin:.2rem 0 .55rem}.agency-list-heading>div>p:last-child{max-width:820px;color:#66798a;line-height:1.6;margin:0}
.opportunity-filter-panel{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding:1.1rem 1.2rem;border:1px solid #e2e9e8;border-radius:18px;background:#fff;margin-bottom:1rem}.opportunity-filter-search{flex:1;max-width:760px}.opportunity-filter-search label{display:block;font-size:.82rem;font-weight:700;color:#536779;margin-bottom:.45rem}.opportunity-search-row{display:flex;gap:.55rem}.opportunity-search-row input{flex:1;min-width:180px;border:1px solid #d8e1e0;border-radius:11px;padding:.72rem .85rem;font:inherit;color:#203548;background:#fbfcfc}.opportunity-search-row input:focus{outline:3px solid rgba(78,138,118,.12);border-color:#6b998a}.opportunity-filter-tabs{display:flex;gap:.4rem;padding:.25rem;border-radius:12px;background:#f4f7f6}.opportunity-filter-tab{border:0;background:transparent;color:#637585;border-radius:9px;padding:.65rem .85rem;font-weight:700;cursor:pointer}.opportunity-filter-tab.active{background:#fff;color:#294d43;box-shadow:0 1px 5px rgba(27,50,59,.08)}
.opportunity-list-summary{display:flex;align-items:baseline;gap:.5rem;margin:.6rem 0 1rem;color:#728290}.opportunity-list-summary strong{font-size:1.45rem;color:#203548}.opportunity-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.opportunity-list-card{display:flex;flex-direction:column;gap:.85rem;padding:1.15rem;border:1px solid #e1e8e7;border-radius:20px;background:#fff;box-shadow:0 7px 25px rgba(28,52,62,.035)}.opportunity-card-topline{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.opportunity-list-main{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.opportunity-list-main h2{font-size:1.15rem;line-height:1.35;margin:.22rem 0 0;color:#203548}.opportunity-list-price{font-size:1.1rem;font-weight:800;color:#294d43;white-space:nowrap}.opportunity-list-meta{display:flex;gap:.4rem;flex-wrap:wrap}.opportunity-list-meta span{font-size:.76rem;background:#f4f7f6;color:#617484;padding:.28rem .48rem;border-radius:999px}.opportunity-why-list{min-height:142px}.opportunity-list-actions{margin-top:auto;padding-top:.25rem}.opportunity-list-actions .button{width:100%;justify-content:center}.opportunity-pager{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.35rem}.opportunity-pager span{color:#617484}
.home-opportunity-link{display:inline-flex;align-items:center;margin-top:auto;font-weight:750;color:#315e51;text-decoration:none}.home-opportunity-link:hover{text-decoration:underline}
.opportunity-detail-back{margin-bottom:.9rem}.opportunity-detail-back a{font-weight:700;color:#536f66;text-decoration:none}.opportunity-detail-back a:hover{text-decoration:underline}.opportunity-detail-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.62fr);gap:1rem;margin-bottom:1rem}.opportunity-detail-title,.immobilai-evaluation-card{border:1px solid #e1e8e7;border-radius:22px;background:#fff;padding:clamp(1.25rem,2.7vw,2rem)}.opportunity-detail-title h1{font-size:clamp(1.8rem,3.5vw,2.7rem);line-height:1.08;letter-spacing:-.04em;color:#203548;margin:.35rem 0 .8rem}.opportunity-detail-price{font-size:clamp(1.65rem,3vw,2.25rem);font-weight:850;color:#294d43}.opportunity-detail-submeta{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.85rem}.opportunity-detail-submeta span{font-size:.82rem;color:#617484;background:#f5f8f7;padding:.34rem .55rem;border-radius:999px}.immobilai-evaluation-card{background:linear-gradient(145deg,#edf6f3,#fff)}.immobilai-evaluation-card>strong{display:block;font-size:1.75rem;letter-spacing:-.035em;color:#2f6656;margin:.25rem 0 .6rem}.immobilai-evaluation-card>p:not(.section-kicker){color:#5e726d;line-height:1.55}.evaluation-confidence{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #dce8e3;margin-top:1rem;padding-top:.85rem;color:#687a74}.evaluation-confidence b{color:#294d43}
.opportunity-image-strip{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:.55rem;height:280px;margin-bottom:1rem}.opportunity-image-strip img{width:100%;height:100%;object-fit:cover;border-radius:16px;background:#eef3f2}.opportunity-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1rem}.opportunity-detail-main{display:flex;flex-direction:column;gap:1rem}.opportunity-detail-section,.detail-side-card{border:1px solid #e1e8e7;border-radius:20px;background:#fff;padding:1.25rem}.opportunity-detail-section h2{font-size:1.35rem;color:#203548;margin:.18rem 0 1rem}.reason-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.reason-card-grid article{display:flex;gap:.65rem;padding:.8rem;border-radius:14px;background:#f6f9f8}.reason-card-grid article>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:#e2f0eb;color:#3e7a68;font-weight:800}.reason-card-grid p{margin:0;color:#526a62;line-height:1.48}.property-facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.property-facts-grid>div{padding:.8rem;border-radius:13px;background:#f7f9f9}.property-facts-grid span{display:block;font-size:.76rem;color:#75847f;margin-bottom:.25rem}.property-facts-grid strong{color:#263e36}.property-description{white-space:pre-line;color:#536b62;line-height:1.75;margin:0}.opportunity-timeline{position:relative;display:flex;flex-direction:column;gap:1rem}.timeline-item{display:grid;grid-template-columns:16px 1fr;gap:.7rem}.timeline-dot{width:10px;height:10px;border-radius:50%;background:#5c8d7d;margin-top:.35rem;box-shadow:0 0 0 4px #eaf3f0}.timeline-item time{display:block;font-size:.76rem;color:#81908b;margin-bottom:.18rem}.timeline-item strong{display:block;color:#2c453c}.timeline-item p{margin:.18rem 0 0;color:#61746d}.opportunity-detail-sidebar{display:flex;flex-direction:column;gap:1rem}.detail-side-card h3{color:#203548;margin:.2rem 0 .55rem}.detail-side-card p:not(.section-kicker){color:#65766f;line-height:1.55}.button-full{width:100%;justify-content:center;margin-top:.45rem}.ask-preview-card{background:linear-gradient(145deg,#f5f8f7,#fff)}
@media(max-width:1180px){.opportunity-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opportunity-detail-layout{grid-template-columns:1fr}.opportunity-detail-sidebar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.property-facts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.agency-list-heading,.opportunity-filter-panel{align-items:stretch;flex-direction:column}.opportunity-filter-tabs{align-self:flex-start}.opportunity-card-grid,.opportunity-detail-hero{grid-template-columns:1fr}.opportunity-image-strip{grid-template-columns:1fr 1fr;height:auto}.opportunity-image-strip img{height:180px}.reason-card-grid{grid-template-columns:1fr}.property-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opportunity-detail-sidebar{grid-template-columns:1fr}}
@media(max-width:560px){.opportunity-search-row{flex-wrap:wrap}.opportunity-search-row input{width:100%;flex-basis:100%}.opportunity-card-grid,.property-facts-grid{grid-template-columns:1fr}.opportunity-list-main{flex-direction:column}.opportunity-image-strip{grid-template-columns:1fr}.opportunity-image-strip img{height:220px}.opportunity-pager{flex-wrap:wrap}.opportunity-filter-tabs{width:100%}.opportunity-filter-tab{flex:1}}


/* UX.4 · Explainability layer */
.explainability-summary {
    font-size: 1.08rem;
    line-height: 1.65;
    margin: 0 0 1.25rem;
    max-width: 880px;
}
.explainability-confidence {
    display: grid;
    grid-template-columns: minmax(210px, .7fr) 1.3fr;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--border-color, #e4e7ec);
    border-radius: 14px;
    margin-bottom: 1.25rem;
    background: var(--surface-subtle, #fafbfc);
}
.explainability-confidence div {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}
.explainability-confidence span,
.explainability-evidence span {
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    opacity: .68;
}
.explainability-confidence p {
    margin: 0;
    line-height: 1.55;
}
.explainability-signal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.explainability-signal-card {
    border: 1px solid var(--border-color, #e4e7ec);
    border-radius: 16px;
    padding: 1rem 1.05rem;
    background: var(--surface, #fff);
}
.explainability-signal-card h3 {
    margin: .7rem 0 .45rem;
    font-size: 1rem;
}
.explainability-signal-card > p {
    margin: 0;
    line-height: 1.55;
}
.explainability-signal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}
.explainability-category {
    font-size: .8rem;
    font-weight: 700;
    opacity: .72;
}
.explainability-strength {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .25rem .55rem;
    font-size: .74rem;
    font-weight: 700;
    border: 1px solid currentColor;
}
.strength-high { opacity: 1; }
.strength-medium { opacity: .82; }
.strength-info { opacity: .66; }
.strength-check { opacity: .76; }
.explainability-evidence {
    margin-top: .8rem;
    padding-top: .75rem;
    border-top: 1px solid var(--border-color, #eceef1);
    display: flex;
    flex-direction: column;
    gap: .2rem;
}
.explainability-evidence strong {
    font-size: .86rem;
}
.explainability-method-note {
    margin-top: 1rem;
    padding: .95rem 1rem;
    border-left: 3px solid currentColor;
    background: var(--surface-subtle, #fafbfc);
    border-radius: 0 12px 12px 0;
}
.explainability-method-note p {
    margin: .35rem 0 0;
    line-height: 1.55;
    opacity: .82;
}
.verification-list {
    display: grid;
    gap: .7rem;
}
.verification-list > div {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: .65rem;
    align-items: start;
    padding: .8rem .9rem;
    border: 1px solid var(--border-color, #e4e7ec);
    border-radius: 12px;
}
.verification-list span {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid currentColor;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: .8rem;
}
.verification-list p { margin: .05rem 0 0; line-height: 1.5; }

@media (max-width: 820px) {
    .explainability-confidence,
    .explainability-signal-grid {
        grid-template-columns: 1fr;
    }
}

/* UX.5 · Agency saved / excluded / feedback */
.opportunity-feedback-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem;align-items:center}.opportunity-feedback-actions .button{width:auto;min-width:0}.button-quiet{border:0;background:transparent;color:#7a6b67;font-weight:700;padding:.6rem .7rem;cursor:pointer;border-radius:10px}.button-quiet:hover{background:#f8f2f0;color:#704f47}.feedback-chip.saved{background:#e8f3ee;color:#2e6c59}.feedback-chip.excluded{background:#f5eeee;color:#875b55}.feedback-reason-box{margin-top:.8rem;padding:.8rem;border:1px solid #e3e9e7;border-radius:14px;background:#f8faf9}.feedback-reason-box label{display:block;font-size:.82rem;font-weight:750;color:#344f46;margin-bottom:.4rem}.feedback-reason-box select{width:100%;padding:.65rem .7rem;border:1px solid #d7e0dd;border-radius:10px;background:#fff;color:#294039}.feedback-confirm-actions{display:flex;justify-content:flex-end;gap:.45rem;margin-top:.65rem}.feedback-error{margin-top:.45rem;color:#a0443b;font-size:.82rem;font-weight:650}.feedback-message{margin-top:.65rem;padding:.55rem .65rem;border-radius:10px;background:#edf6f2;color:#356956;font-size:.82rem;font-weight:650}.feedback-state{display:flex;flex-direction:column;gap:.22rem;margin:.55rem 0 .8rem;padding:.75rem;border-radius:13px}.feedback-state strong{font-size:1rem}.feedback-state span{font-size:.82rem;line-height:1.45}.feedback-saved{background:#edf7f2;color:#356956}.feedback-excluded{background:#f8f1ef;color:#805d55}.opportunity-feedback-card .button-full+.button-full{margin-top:.45rem}
@media(max-width:820px){.opportunity-feedback-actions{grid-template-columns:1fr 1fr}.opportunity-feedback-actions>a{grid-column:1/-1}.button-quiet{border:1px solid #e5dfdd}.feedback-confirm-actions{flex-direction:column}.feedback-confirm-actions .button{width:100%;justify-content:center}}

/* UX.6 Ask ImmobilAI */
.ask-immobilai-page{max-width:1100px;margin:0 auto}.ask-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.ask-heading h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.045em;color:#203548;margin:.15rem 0 .55rem}.ask-heading>div>p:not(.section-kicker){max-width:760px;color:#62746e;line-height:1.6}.ask-ai-badge{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#2f6656;color:white;font-weight:900}.ask-welcome-card,.ask-composer{border:1px solid #e1e8e7;border-radius:20px;background:#fff;padding:1.2rem;margin-bottom:1rem}.ask-welcome-card h2{margin:.1rem 0 .35rem;color:#203548}.ask-welcome-card p{color:#65766f}.ask-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem}.ask-suggestions button{text-align:left;border:1px solid #dce7e3;background:#f7faf9;color:#34584d;border-radius:14px;padding:.85rem 1rem;font-weight:650;cursor:pointer}.ask-suggestions button:hover{background:#edf5f2}.ask-conversation{display:flex;flex-direction:column;gap:.8rem;margin:1rem 0}.ask-message{max-width:86%;padding:1rem 1.1rem;border-radius:18px}.ask-message.user{align-self:flex-end;background:#2f6656;color:#fff}.ask-message.assistant{align-self:flex-start;background:#fff;border:1px solid #e1e8e7;color:#31483f}.ask-message-role{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin-bottom:.35rem}.ask-message-body{white-space:pre-wrap;line-height:1.65}.ask-composer textarea{width:100%;resize:vertical;border:1px solid #d7e1de;border-radius:14px;padding:.9rem 1rem;font:inherit;min-height:90px}.ask-composer textarea:focus{outline:2px solid #bfd6ce;border-color:#6c998a}.ask-composer-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem}.ask-composer-footer span{font-size:.78rem;color:#788983}.ask-thinking{display:flex;align-items:center;gap:.3rem;color:#64766f}.ask-thinking span{width:6px;height:6px;border-radius:50%;background:#78998e;display:inline-block}.ask-home-live .button{margin-top:.85rem}.ask-preview-card .button{margin-top:.8rem}@media(max-width:760px){.ask-suggestions{grid-template-columns:1fr}.ask-message{max-width:96%}.ask-composer-footer,.ask-heading{align-items:stretch;flex-direction:column}.ask-ai-badge{width:48px;height:48px}}

/* UX.7 - Natural Property Search */
.natural-search-result{background:#fff;border:1px solid #dce7e3;border-radius:22px;padding:1.25rem;margin:.2rem 0 1rem;box-shadow:0 8px 28px rgba(35,67,56,.04)}
.natural-search-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.natural-search-header h2{margin:.15rem 0 .3rem;color:#203548;font-size:1.45rem}.natural-search-header p:not(.section-kicker){margin:0;color:#65766f;line-height:1.55}.natural-search-count{white-space:nowrap;background:#edf5f2;color:#356454;border-radius:999px;padding:.45rem .72rem;font-size:.78rem;font-weight:800}.search-criteria-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}.search-criteria-chips span{background:#f4f7f6;border:1px solid #dfe8e5;border-radius:999px;padding:.42rem .7rem;color:#405d53;font-size:.78rem;font-weight:700}.natural-search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.8rem}.natural-search-card{display:grid;grid-template-columns:125px 1fr;text-decoration:none;color:inherit;border:1px solid #e0e8e5;border-radius:18px;overflow:hidden;background:#fff;transition:.16s ease}.natural-search-card:hover{transform:translateY(-2px);border-color:#b9d0c8;box-shadow:0 8px 22px rgba(38,73,61,.07)}.natural-search-card>img{width:125px;height:100%;min-height:190px;object-fit:cover;background:#eef3f2}.natural-search-card-body{padding:.9rem}.natural-search-card-top{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.compatibility-badge{background:#e6f2ee;color:#2f6656;border-radius:999px;padding:.28rem .52rem;font-size:.7rem;font-weight:850}.signal-badge{background:#fff3e9;color:#9b5b2e;border-radius:999px;padding:.28rem .52rem;font-size:.68rem;font-weight:800}.natural-search-card h3{color:#243f36;font-size:1rem;margin:.55rem 0 .25rem;line-height:1.35}.natural-search-location{color:#74837e;font-size:.78rem;margin:0 0 .55rem}.natural-search-facts{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;font-size:.78rem;color:#60736b}.natural-search-facts strong{color:#29483d;font-size:.92rem}.natural-search-card ul{margin:.65rem 0 0;padding-left:1.05rem;color:#60736b;font-size:.75rem;line-height:1.45}.natural-search-open{display:inline-block;margin-top:.65rem;color:#2f6656;font-size:.75rem;font-weight:800}.natural-search-note{margin-top:1rem;padding:.8rem .9rem;border-radius:13px;background:#f7faf9;color:#687a73;font-size:.78rem;line-height:1.5}.natural-search-note strong{color:#385c50}@media(max-width:850px){.natural-search-grid{grid-template-columns:1fr}}@media(max-width:560px){.natural-search-header{flex-direction:column}.natural-search-card{grid-template-columns:1fr}.natural-search-card>img{width:100%;height:180px;min-height:0}}

/* UX.8 · Persistent searches */
.persistent-search-action{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem;border-radius:16px;background:#edf5f2;border:1px solid #d3e4de}.persistent-search-action>div{display:flex;flex-direction:column;gap:.25rem}.persistent-search-action strong{color:#294b40}.persistent-search-action span{font-size:.8rem;color:#647870}.feedback-success a{color:inherit;font-weight:800}.saved-search-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.saved-search-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0 1.2rem}.saved-search-summary>div{background:#fff;border:1px solid #e0e8e5;border-radius:17px;padding:1rem}.saved-search-summary strong{display:block;color:#24483c;font-size:1.55rem}.saved-search-summary span{color:#71827c;font-size:.78rem}.saved-search-list{display:flex;flex-direction:column;gap:.8rem}.saved-search-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid #dfe8e5;border-radius:20px;padding:1.15rem}.saved-search-card.paused{opacity:.72}.saved-search-card-main{min-width:0;flex:1}.saved-search-card-top{display:flex;gap:.45rem;align-items:center}.saved-search-status,.saved-search-new{display:inline-flex;border-radius:999px;padding:.3rem .58rem;font-size:.7rem;font-weight:850}.saved-search-status.active{background:#e5f2ed;color:#2f6656}.saved-search-status.paused{background:#f1f2f2;color:#68736f}.saved-search-new{background:#fff0e4;color:#9a5b2e}.saved-search-new.large{font-size:.78rem;padding:.48rem .75rem}.saved-search-card h2{font-size:1.2rem;color:#263f37;margin:.55rem 0 .25rem}.saved-search-request{color:#65776f;margin:.15rem 0 .65rem}.saved-search-meta{display:flex;flex-wrap:wrap;gap:.85rem;color:#788781;font-size:.75rem}.saved-search-meta strong{color:#31594c}.saved-search-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.button-link-danger{background:transparent;border:0;color:#9e493e;padding:.55rem .45rem;cursor:pointer;font-weight:750}.saved-search-detail-summary{display:flex;align-items:baseline;gap:.55rem;margin:1rem 0;padding:1rem 1.1rem;border-radius:16px;background:#fff;border:1px solid #e1e8e6}.saved-search-detail-summary strong{font-size:1.7rem;color:#2d5c4d}.saved-search-detail-summary span{color:#61736c}.saved-search-detail-summary small{margin-left:auto;color:#7c8985}.detail-chips{margin-top:.8rem}.saved-search-results{margin-top:1rem}.back-link{display:inline-block;margin-bottom:.85rem;color:#3a6b5b;text-decoration:none;font-weight:750}@media(max-width:800px){.persistent-search-action,.saved-search-card,.saved-search-heading{align-items:stretch;flex-direction:column}.saved-search-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-search-actions{justify-content:flex-start}.saved-search-detail-summary{align-items:flex-start;flex-direction:column}.saved-search-detail-summary small{margin-left:0}}

/* UX.9 · Territory Intelligence */
.territory-heading{align-items:flex-start}.territory-switcher{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem;margin:1.25rem 0}.territory-switch{appearance:none;border:1px solid var(--border-color,#dfe5ea);background:#fff;border-radius:16px;padding:1rem 1.1rem;text-align:left;display:flex;flex-direction:column;gap:.25rem;cursor:pointer;transition:.15s ease}.territory-switch:hover,.territory-switch.active{border-color:#7f8f9c;box-shadow:0 8px 24px rgba(25,45,60,.08);transform:translateY(-1px)}.territory-switch.active{outline:2px solid rgba(72,95,112,.12)}.territory-switch strong{font-size:1rem}.territory-switch span,.territory-switch small{color:#65727c}.territory-hero-card{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:linear-gradient(135deg,#f8fafb,#eef3f5);border:1px solid #dfe6e9;border-radius:22px;padding:1.6rem 1.8rem;margin-bottom:1rem}.territory-hero-card h2{font-size:1.8rem;margin:.2rem 0 .5rem}.territory-hero-card p{max-width:780px;margin:0;color:#53616b;line-height:1.55}.territory-score{min-width:150px;text-align:center;background:#fff;border:1px solid #dfe6e9;border-radius:18px;padding:1rem}.territory-score strong{font-size:2.3rem;line-height:1}.territory-score span{font-size:1rem;color:#71808a}.territory-score small{display:block;margin-top:.45rem;color:#65727c}.territory-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0}.territory-kpi-grid article{background:#fff;border:1px solid #e1e7ea;border-radius:18px;padding:1.15rem;display:flex;flex-direction:column;gap:.25rem}.territory-kpi-grid article>span{color:#65727c;font-size:.86rem}.territory-kpi-grid strong{font-size:1.12rem}.territory-kpi-grid small{color:#7a8790;line-height:1.35}.territory-content-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:1rem}.territory-side-stack{display:flex;flex-direction:column;gap:1rem}.territory-signal-list{display:flex;flex-direction:column}.territory-signal-item{display:flex;justify-content:space-between;gap:1.4rem;padding:1rem 0;border-top:1px solid #edf0f2}.territory-signal-item:first-child{border-top:0}.territory-signal-item p{margin:.3rem 0 0;color:#5d6972;line-height:1.45}.territory-signal-meta{min-width:110px;text-align:right;display:flex;flex-direction:column;gap:.2rem}.territory-signal-meta span{font-weight:700}.territory-signal-meta small{color:#77838c}.territory-factor-card ul{margin:.7rem 0 0;padding-left:1.15rem}.territory-factor-card li{margin:.5rem 0;line-height:1.4}.territory-factor-card.positive{border-top:3px solid #7b9a88}.territory-factor-card.attention{border-top:3px solid #b39a73}.territory-inline-empty,.territory-waiting{margin-top:.75rem}.territory-ask-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1.3rem 1.5rem;border:1px solid #dfe6e9;border-radius:20px;background:#fff}.territory-ask-card>div{display:flex;align-items:flex-start;gap:1rem}.territory-ask-card h2{margin:.15rem 0 .35rem}.territory-ask-card p{margin:0;color:#5d6972}.territory-method-note{font-size:.82rem;color:#7a8790;margin:1rem .2rem 0;line-height:1.45}@media(max-width:900px){.territory-content-grid{grid-template-columns:1fr}.territory-kpi-grid{grid-template-columns:1fr}.territory-hero-card,.territory-ask-card{align-items:flex-start;flex-direction:column}.territory-score{text-align:left}.territory-signal-item{flex-direction:column}.territory-signal-meta{text-align:left}}

/* UX.10 · Daily Intelligence / Notifications */
.daily-home-panel{background:linear-gradient(135deg,#f7faf9,#eef5f2);border:1px solid #dbe7e2;border-radius:22px;padding:1.25rem 1.35rem;margin:1rem 0}.daily-home-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.daily-home-heading h2{margin:.15rem 0 .35rem;color:#27463b}.daily-home-heading p:not(.section-kicker){margin:0;color:#64766f}.daily-button-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 .35rem;margin-left:.35rem;border-radius:999px;background:#315f50;color:#fff;font-size:.72rem}.daily-home-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem}.daily-home-item{display:grid;grid-template-columns:38px 1fr auto;gap:.7rem;align-items:center;padding:.85rem .9rem;border:1px solid #dfe8e5;border-radius:15px;background:#fff;color:inherit;text-decoration:none}.daily-home-item.unread{border-color:#b9d4ca;box-shadow:0 5px 18px rgba(36,75,62,.06)}.daily-home-item>div{min-width:0;display:flex;flex-direction:column;gap:.18rem}.daily-home-item strong{font-size:.86rem;color:#29483e}.daily-home-item span:not(.daily-home-icon){font-size:.75rem;color:#71817b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daily-home-item small{font-size:.7rem;color:#82908b;white-space:nowrap}.daily-home-icon,.daily-feed-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-weight:850}.daily-home-icon.opportunity,.daily-feed-icon.opportunity{background:#fff1e7;color:#9b5b2e}.daily-home-icon.search,.daily-feed-icon.search{background:#e6f2ee;color:#2f6656}.daily-home-icon.territory,.daily-feed-icon.territory{background:#edf1f6;color:#4a627a}.daily-home-empty{margin-top:1rem;padding:.85rem 1rem;border-radius:14px;background:#fff;color:#71817b;font-size:.82rem}.daily-heading form{margin:0}.daily-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.daily-summary-grid article{background:#fff;border:1px solid #e0e7e4;border-radius:17px;padding:1rem}.daily-summary-grid strong{display:block;font-size:1.55rem;color:#294b40}.daily-summary-grid span{font-size:.78rem;color:#71827c}.daily-feed{display:flex;flex-direction:column;gap:.65rem}.daily-feed-item{display:grid;grid-template-columns:42px 1fr auto;gap:.9rem;align-items:center;padding:1rem 1.05rem;border:1px solid #e0e7e4;border-radius:17px;background:#fff;color:inherit;text-decoration:none}.daily-feed-item.unread{border-color:#b7d2c8;background:#fcfefd}.daily-feed-copy{min-width:0}.daily-feed-topline{display:flex;align-items:center;gap:.5rem}.daily-feed-copy strong{color:#29483e}.daily-feed-copy p{margin:.25rem 0 .3rem;color:#64766f;line-height:1.45}.daily-feed-copy small{color:#81908a}.daily-unread-dot{width:8px;height:8px;border-radius:50%;background:#3a7c67;box-shadow:0 0 0 4px rgba(58,124,103,.1)}.daily-feed-open{color:#3a6b5b;font-size:.78rem;font-weight:800;white-space:nowrap}.daily-empty{margin-top:1rem}@media(max-width:850px){.daily-home-feed{grid-template-columns:1fr}.daily-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.daily-home-heading,.daily-heading{flex-direction:column}.daily-feed-item{grid-template-columns:38px 1fr}.daily-feed-open{grid-column:2}.daily-summary-grid{grid-template-columns:1fr 1fr}}

/* UX.11 - SuperAdmin agency automation */
.agency-automation-admin {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-color, #e5e7eb);
}
.agency-automation-heading { align-items: flex-start; gap: 1rem; }
.agency-automation-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.agency-automation-form label { display: grid; gap: .45rem; }
.agency-automation-form label > span,
.agency-automation-summary span,
.agency-automation-territory span { font-size: .82rem; color: var(--text-muted, #64748b); }
.agency-automation-summary {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}
.agency-automation-summary > div {
    display: grid;
    gap: .25rem;
    padding: .85rem 1rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .8rem;
    background: rgba(148, 163, 184, .06);
}
.agency-automation-territories { display: grid; gap: .65rem; margin-top: 1rem; }
.agency-automation-territory {
    display: grid;
    grid-template-columns: minmax(180px, 1.5fr) repeat(3, minmax(120px, 1fr));
    gap: .8rem;
    align-items: center;
    padding: .85rem 1rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .8rem;
}
.agency-automation-territory > div { display: grid; gap: .2rem; }
.agency-automation-territory .configuration-message { grid-column: 1 / -1; margin: 0; }
@media (max-width: 900px) {
    .agency-automation-form, .agency-automation-summary { grid-template-columns: 1fr; }
    .agency-automation-territory { grid-template-columns: 1fr 1fr; }
}
.agency-automation-run-now { display: flex; gap: .8rem; align-items: center; margin-top: .8rem; }
.agency-automation-run-now small { color: var(--text-muted, #64748b); }
@media (max-width: 700px) { .agency-automation-run-now { align-items: flex-start; flex-direction: column; } }

/* UX.11.1 - readable, encoded assistant responses */
.ask-message-body{white-space:normal;overflow-wrap:anywhere}.ask-message-body p{margin:.35rem 0 .85rem}.ask-message-body ul{padding-left:1.4rem;margin:.5rem 0 1rem}.ask-message-body li{margin:.35rem 0}.ask-message-body h3,.ask-message-body h4{margin:1rem 0 .5rem;color:#203548}.ask-table-scroll{max-width:100%;overflow-x:auto;margin:.8rem 0}.ask-table-scroll table{width:100%;border-collapse:collapse;font-size:.91rem}.ask-table-scroll td{padding:.55rem;border-bottom:1px solid #dce7e3;vertical-align:top}.ask-table-scroll tr:first-child{font-weight:750;background:#f2f7f5}
