.top-nav { max-width: 1180px; margin: 18px auto 0; padding: 0 22px; display: flex; gap: 10px; }
.top-nav a { color: #5f6b62; text-decoration: none; padding: 9px 14px; border-radius: 999px; background: #eef1eb; }
.top-nav a.active { color: #fff; background: #233229; }
.owner-brief-page { margin: 0; background: #f5f3ed; color: #1f2923; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.brief-shell { width: min(1080px, calc(100% - 32px)); margin: 22px auto 60px; }
.brief-header,
.brief-shell section { background: #fff; border: 1px solid #e2e2d8; border-radius: 18px; padding: 24px; margin-bottom: 16px; box-shadow: 0 10px 30px rgba(35, 50, 41, .05); }
.brief-header h1 { margin: 4px 0 8px; }
.brief-range-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin: 20px 0; }
.brief-range-form label { color: #68736b; font-size: .85rem; font-weight: 700; }
.brief-range-form select,
.brief-range-form input,
.brief-range-form button { border: 1px solid #ced3ca; border-radius: 9px; padding: 9px 11px; background: #fff; }
.brief-range-form button { color: #fff; background: #233229; cursor: pointer; }
.date-control-group { display: contents; }
.period-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.period-grid p { margin: 0; padding: 14px; border-radius: 12px; background: #f7f7f2; }
.period-grid span,
.period-grid strong { display: block; }
.period-grid span { margin-bottom: 5px; color: #68736b; font-size: .8rem; text-transform: uppercase; }
.comparison-kind { color: #68736b; font-weight: 700; }
.eyebrow { color: #a13b26; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.status-grid,
.fact-grid,
.freshness-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, 1fr); }
.status-grid article,
.fact-grid article,
.freshness-grid article { background: #f7f7f2; border-radius: 12px; padding: 16px; }
.freshness-grid h3 { margin-top: 0; }
.freshness-grid p { margin: 10px 0 0; }
.freshness-grid span { display: block; color: #68736b; font-size: .8rem; }
.freshness-stale { border-left: 4px solid #a13b26; }
.freshness-partial { border-left: 4px solid #b17a1d; }
.freshness-unavailable { border-left: 4px solid #68736b; }
.partial-evidence-note { padding: 12px 14px; border-radius: 10px; background: #fff1d7; color: #714d0d; }
.section-kicker { color: #68736b; font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.today-so-far { border-top: 5px solid #d66a3c !important; }
.today-separation-note { max-width: 820px; color: #4f5d54; line-height: 1.5; }
.today-comparison-note { color: #68736b; font-size: .9rem; font-style: italic; }
.zero-activity-message { display: inline-block; margin: 8px 0 16px; padding: 8px 12px; border-radius: 999px; background: #eef1eb; color: #4f5d54; font-weight: 700; }
.zero-activity-facts { opacity: .76; }
.completed-period-analysis { border-top: 5px solid #233229 !important; }
.source-status-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; margin: 14px 0 24px; }
.source-status-summary p { margin: 0; padding: 11px 13px; border-radius: 10px; background: #f7f7f2; }
.source-status-summary strong,
.source-status-summary span { display: block; }
.source-status-summary span { margin-top: 3px; color: #68736b; font-size: .85rem; }
.fact-source-block { margin-top: 22px; }
.fact-source-block > h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.source-badge { padding: 4px 8px; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.source-complete, .source-available { background: #e4f2e7; color: #2e6940; }
.source-partial, .source-pending { background: #fff1d7; color: #714d0d; }
.source-unavailable { background: #eceeea; color: #68736b; }
.status-grid span,
.fact-grid span { display: block; color: #68736b; font-size: .85rem; margin-bottom: 8px; }
.status-grid strong,
.fact-grid strong { font-size: 1.1rem; }
.brief-two-column { display: grid; grid-template-columns: 1.6fr 1fr; gap: 24px; }
.change-row { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-bottom: 1px solid #ecece5; }
.change-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.change-card { padding: 15px; border: 1px solid #e4e5dc; border-radius: 12px; background: #fafaf6; }
.change-card h3 { margin: 0 0 10px; }
.change-card p { display: grid; grid-template-columns: 1fr auto; gap: 12px; margin: 7px 0; }
.change-card span { color: #68736b; font-size: .85rem; }
.change-card small { color: #8a5a18; font-size: .75rem; font-weight: 700; white-space: nowrap; }
.daily-comparison-title { margin-top: 28px; }
.daily-comparison-table-wrap { overflow-x: auto; }
.daily-comparison-table { width: 100%; border-collapse: collapse; min-width: 620px; }
.daily-comparison-table th,
.daily-comparison-table td { padding: 12px 10px; border-bottom: 1px solid #e6e7df; text-align: right; vertical-align: top; }
.daily-comparison-table th:first-child { text-align: left; }
.daily-comparison-table thead th { color: #68736b; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.daily-comparison-table td small { display: block; margin-top: 4px; color: #68736b; font-weight: 500; }
.confidence-label { font-size: 1.7rem; font-weight: 800; color: #a13b26; }
.lead-finding { font-size: 1.25rem; line-height: 1.55; }
.recommendation-list { display: grid; gap: 14px; }
.recommendation-card { padding: 18px; border: 1px solid #e2e2d8; border-radius: 12px; background: #fafaf6; }
.recommendation-card h3 { margin-top: 0; }
.recommendation-card p:last-child { margin-bottom: 0; }
.brief-alert { background: #fff1d7; color: #714d0d; padding: 14px 18px; border-radius: 12px; margin-bottom: 16px; }
.brief-shell footer { color: #68736b; padding: 16px 4px; font-size: .9rem; }
@media (max-width: 760px) {
    .status-grid, .fact-grid, .freshness-grid, .brief-two-column, .period-grid { grid-template-columns: 1fr; }
    .change-card-grid { grid-template-columns: 1fr; }
    .source-status-summary { grid-template-columns: 1fr; }
}

/* Integration Health */
.integration-health-header {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: flex-start;
}
.integration-health-subtitle {
    color: #68736b;
    max-width: 700px;
    line-height: 1.5;
}
.integration-check-time {
    min-width: 230px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #f7f7f2;
}
.integration-check-time span,
.integration-check-time small {
    display: block;
    color: #68736b;
    font-size: .78rem;
}
.integration-check-time strong {
    display: block;
    margin: 5px 0;
    font-size: .9rem;
    overflow-wrap: anywhere;
}

.integration-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.integration-summary-card {
    background: #fff;
    border: 1px solid #e2e2d8;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 10px 30px rgba(35, 50, 41, .05);
    border-top: 5px solid #68736b;
}
.integration-state-healthy { border-top-color: #3f7d50; }
.integration-state-stale { border-top-color: #b17a1d; }
.integration-state-failed { border-top-color: #a13b26; }
.integration-state-unknown { border-top-color: #68736b; }

.integration-card-heading,
.integration-detail-heading {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}
.integration-card-heading h2 {
    margin: 0;
    font-size: 1.25rem;
}
.integration-status-badge,
.integration-mini-status {
    display: inline-block;
    border-radius: 999px;
    font-weight: 800;
    white-space: nowrap;
}
.integration-status-badge {
    padding: 6px 10px;
    font-size: .72rem;
}
.integration-mini-status {
    padding: 4px 7px;
    font-size: .65rem;
}
.integration-status-healthy { background: #e4f2e7; color: #2e6940; }
.integration-status-stale { background: #fff1d7; color: #714d0d; }
.integration-status-failed { background: #f7e4df; color: #8d3424; }
.integration-status-unknown { background: #eceeea; color: #68736b; }

.integration-reasons p {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff1d7;
    color: #714d0d;
    font-size: .88rem;
}
.integration-summary-metrics {
    margin: 18px 0 4px;
    display: grid;
    gap: 12px;
}
.integration-summary-metrics div {
    padding: 12px;
    border-radius: 10px;
    background: #f7f7f2;
}
.integration-summary-metrics dt,
.integration-task-metrics dt,
.integration-detail-card dt {
    color: #68736b;
    font-size: .75rem;
    font-weight: 700;
}
.integration-summary-metrics dd,
.integration-task-metrics dd,
.integration-detail-card dd {
    margin: 4px 0 0;
    font-size: .84rem;
    overflow-wrap: anywhere;
}

.integration-technical-details {
    margin-top: 18px;
    border-top: 1px solid #e6e7df;
    padding-top: 14px;
}
.integration-technical-details summary {
    cursor: pointer;
    font-weight: 800;
    color: #33453a;
}
.integration-detail-block {
    margin-top: 18px;
}
.integration-detail-block h3 {
    font-size: .95rem;
}
.integration-detail-grid,
.integration-task-list {
    display: grid;
    gap: 10px;
}
.integration-detail-card,
.integration-task-card {
    padding: 13px;
    border: 1px solid #e4e5dc;
    border-radius: 10px;
    background: #fafaf6;
}
.integration-detail-card p,
.integration-task-card p {
    margin: 8px 0;
    color: #68736b;
    font-size: .82rem;
}
.integration-detail-card dl {
    margin-bottom: 0;
}
.integration-task-metrics {
    display: grid;
    grid-template-columns: .6fr 1fr 1fr;
    gap: 10px;
    margin: 10px 0 0;
}
.integration-task-metrics div {
    min-width: 0;
}
.integration-health-footer {
    margin-top: 20px;
    line-height: 1.6;
}

@media (max-width: 760px) {
    .integration-health-header {
        display: block;
    }
    .integration-check-time {
        margin-top: 16px;
        min-width: 0;
    }
    .integration-summary-grid {
        grid-template-columns: 1fr;
    }
    .integration-task-metrics {
        grid-template-columns: 1fr;
    }
}
/* Scoped campaign workspace: other dashboard pages retain their existing theme. */
.campaign-strategy .strategy-evidence { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 24rem; overflow: auto; font-size: .85rem; }
.campaign-strategy .strategy-direction { border-top: 1px solid var(--campaign-border); padding: 12px 0; }
.campaign-strategy h3 { margin-top: 28px; }
.campaign-strategy h4 { margin: 8px 0; }
.campaign-page {
    --campaign-bg: #101519;
    --campaign-surface: #192126;
    --campaign-border: #39464d;
    --campaign-text: #f0f3f4;
    --campaign-muted: #b5c1c7;
    --campaign-accent: #ffad88;
    background: var(--campaign-bg);
    color: var(--campaign-text);
    color-scheme: dark;
    line-height: 1.6;
}
.campaign-page .top-nav { flex-wrap: wrap; gap: 8px; }
.campaign-page .top-nav a { background: var(--campaign-surface); color: var(--campaign-muted); }
.campaign-page .top-nav a.active { background: #33434c; color: #fff; }
.campaign-page .top-nav a:hover { color: #fff; background: #33434c; }
.campaign-page .brief-shell { max-width: 1000px; margin-top: 36px; }
.campaign-page .brief-header,
.campaign-page .brief-shell section {
    background: var(--campaign-surface);
    border-color: var(--campaign-border);
    box-shadow: none;
    padding: clamp(20px, 4vw, 32px);
}
.campaign-page .campaign-header {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(220px, 1fr);
    align-items: center;
    gap: 32px;
    background: transparent;
    border: 0;
    padding: 8px 0 24px;
}
.campaign-page h1 { font-size: clamp(1.9rem, 4vw, 2.7rem); line-height: 1.15; letter-spacing: -.035em; }
.campaign-page h2 { margin: 0 0 10px; font-size: 1.25rem; line-height: 1.4; }
.campaign-page .eyebrow { margin: 0 0 10px; font-size: .72rem; color: var(--campaign-accent); }
.campaign-subtitle, .campaign-help { color: var(--campaign-muted); }
.campaign-subtitle { max-width: 40rem; margin-bottom: 0; }
.campaign-help { font-size: .9rem; margin: 0 0 20px; }
.campaign-identity { margin: 0; padding: 20px; background: var(--campaign-surface); border: 1px solid var(--campaign-border); border-radius: 14px; }
.campaign-identity div + div { margin-top: 12px; }
.campaign-identity dt, .campaign-input-summary dt { color: var(--campaign-muted); font-size: .78rem; }
.campaign-identity dd { margin: 2px 0 0; font-weight: 600; overflow-wrap: anywhere; }
.campaign-status-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.campaign-status-heading h2 { margin: 0; }
.campaign-status-badge { color: #d4e7de; background: #293d36; border: 1px solid #466054; padding: 4px 12px; border-radius: 20px; font-size: .78rem; }
.campaign-page .campaign-status > .campaign-help { margin-bottom: 0; }
.campaign-saved-details { margin-top: 18px; border-top: 1px solid var(--campaign-border); padding-top: 16px; }
.campaign-saved-details summary { cursor: pointer; color: var(--campaign-accent); font-weight: 600; }
.campaign-input-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
.campaign-input-summary dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.campaign-wide { grid-column: 1 / -1; }
.campaign-record-meta { color: var(--campaign-muted); font-size: .75rem; overflow-wrap: anywhere; }
.campaign-input-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.campaign-input-form legend { padding: 12px 0 16px; font-weight: 600; color: var(--campaign-muted); }
.campaign-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.campaign-budget-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.campaign-field { min-width: 0; margin-bottom: 20px; }
.campaign-field label { display: block; margin-bottom: 8px; font-size: .9rem; font-weight: 600; }
.campaign-input-form input:not([type="checkbox"]), .campaign-input-form textarea {
    width: 100%; min-width: 0; box-sizing: border-box; padding: 12px 14px;
    font: inherit; color: var(--campaign-text); background: #10181d;
    border: 1px solid #596972; border-radius: 8px; min-height: 48px;
}
.campaign-input-form textarea { min-height: 110px; resize: vertical; }
.campaign-page :is(input, textarea, button, a, summary):focus-visible { outline: 3px solid var(--campaign-accent); outline-offset: 3px; }
.campaign-page .campaign-card > :last-child { margin-bottom: 0; }
.campaign-page .campaign-confirmation { border-top: 3px solid var(--campaign-accent); }
.campaign-verification { display: flex; gap: 14px; align-items: flex-start; padding: 18px; margin: 20px 0; background: #233139; border: 1px solid #526570; border-radius: 10px; font-weight: 600; cursor: pointer; }
.campaign-verification input { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 3px; accent-color: var(--campaign-accent); }
.campaign-safety { color: var(--campaign-text); font-weight: 600; }
.campaign-save-button { padding: 14px 22px; min-height: 48px; border: 1px solid var(--campaign-accent); border-radius: 9px; background: var(--campaign-accent); color: #24170f; font: inherit; font-weight: 750; cursor: pointer; }
.campaign-save-button:hover:not(:disabled) { background: #ffc2a6; }
.campaign-input-form :disabled { cursor: not-allowed; }
.campaign-input-form fieldset:disabled .campaign-save-button { background: #39464d; color: #bec8cd; border-color: #596972; }
.campaign-page .brief-alert { background: #382e20; color: #ffe1ab; border: 1px solid #8f7145; }
@media (max-width: 640px) {
    .campaign-page .campaign-header, .campaign-field-grid, .campaign-budget-grid,
    .campaign-input-summary { grid-template-columns: minmax(0, 1fr); }
    .campaign-page .campaign-header { gap: 20px; }
    .campaign-page .brief-shell { margin-top: 24px; }
    .campaign-page .top-nav { padding: 0 16px; }
    .campaign-page .top-nav a { padding: 9px 12px; font-size: .82rem; }
    .campaign-save-button { width: 100%; }
    .campaign-field-grid { gap: 0; }
}
