:root {
    color-scheme: light;
    --ink: #17202b;
    --body: #3e4856;
    --muted: #697483;
    --line: #dfe6ee;
    --paper: #ffffff;
    --wash: #f5f7fb;
    --teal: #156f78;
    --teal-dark: #0f5259;
    --blue: #263f73;
    --gold: #d6973f;
    --amber: #b78321;
    --coral: #bf5a4b;
    --green: #147344;
    --red: #a43232;
    --signal-low: #1fcf78;
    --signal-mid: #f2ad21;
    --signal-high: #f05252;
    --signal-off: #7c8795;
    --instrument: #121a24;
    --shadow: 0 18px 48px rgba(23, 32, 43, 0.11);
}

/* Compact private Admin workspace. */
.admin-shell[data-admin-tabs] {
    gap: 18px;
    padding: 36px 0 52px;
}

.admin-shell[data-admin-tabs] .admin-heading {
    align-items: center;
    padding: 20px 22px;
}

.admin-shell[data-admin-tabs] h1 {
    font-size: 2.55rem;
}

.admin-shell[data-admin-tabs] .admin-layout {
    display: block;
}

.admin-shell[data-admin-tabs] .admin-main {
    gap: 16px;
}

.admin-tabs-ready .admin-labbot-inbox {
    order: -1;
}

.admin-shell[data-admin-tabs] .admin-tab-list {
    position: sticky;
    top: 76px;
    z-index: 12;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    gap: 8px;
    max-height: none;
    margin: 0 0 16px;
    padding: 8px;
    overflow: visible;
    border: 1px solid rgba(23, 32, 43, 0.1);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 28px rgba(23, 32, 43, 0.08);
    backdrop-filter: blur(12px);
}

.admin-shell[data-admin-tabs] .admin-tab-list .admin-tab {
    display: grid;
    align-content: center;
    gap: 3px;
    min-height: 54px;
    padding: 9px 11px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: #f4f7fa;
    color: var(--ink);
    font-size: 0.86rem;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
}

.admin-shell[data-admin-tabs] .admin-tab-list .admin-tab span {
    color: var(--muted);
    font-size: 0.7rem;
    font-weight: 750;
    line-height: 1.25;
}

.admin-shell[data-admin-tabs] .admin-tab-list .admin-tab:hover,
.admin-shell[data-admin-tabs] .admin-tab-list .admin-tab[aria-selected="true"] {
    border-color: rgba(21, 111, 120, 0.3);
    background: rgba(21, 111, 120, 0.09);
    color: var(--teal-dark);
}

.admin-shell[data-admin-tabs] .admin-tab-list .admin-tab[aria-selected="true"] span {
    color: var(--teal-dark);
}

.admin-shell[data-admin-tabs] .admin-tab-list .admin-tab.has-alert {
    border-color: rgba(214, 151, 63, 0.55);
    background: #fffaf0;
    box-shadow: 0 0 0 3px rgba(214, 151, 63, 0.12), 0 5px 16px rgba(138, 90, 0, 0.12);
}

.admin-tabs-ready [data-admin-tab-panel][hidden],
.admin-tabs-ready [data-admin-settings-actions][hidden] {
    display: none !important;
}

.admin-shell[data-admin-tabs] .admin-overview {
    grid-template-columns: repeat(auto-fit, minmax(142px, 1fr));
    gap: 10px;
}

.admin-shell[data-admin-tabs] .admin-overview article {
    min-height: 104px;
    padding: 14px;
}

.admin-shell[data-admin-tabs] .admin-overview strong {
    margin-top: 7px;
    font-size: 1.08rem;
}

.admin-shell[data-admin-tabs] .admin-overview small {
    margin-top: 6px;
    font-size: 0.77rem;
}

.admin-shell[data-admin-tabs] .admin-grid {
    gap: 14px;
}

.admin-shell[data-admin-tabs] .admin-grid > [data-admin-tab-panel="site"],
.admin-shell[data-admin-tabs] .admin-grid > [data-admin-tab-panel="uploads"],
.admin-shell[data-admin-tabs] .admin-grid > [data-admin-tab-panel="payments"],
.admin-shell[data-admin-tabs] .admin-grid > [data-admin-tab-panel="labbot"],
.admin-shell[data-admin-tabs] .admin-grid > #status-summary {
    grid-column: 1 / -1;
}

.admin-shell[data-admin-tabs] .control-panel,
.admin-shell[data-admin-tabs] .info-panel {
    box-shadow: 0 7px 20px rgba(23, 32, 43, 0.045);
}

.admin-shell[data-admin-tabs] .admin-actions {
    bottom: 10px;
    margin-top: 14px;
}

.admin-utility-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
}

.admin-utility-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: var(--teal-dark);
    font-size: 0.84rem;
    font-weight: 850;
    text-decoration: none;
}

.admin-utility-nav a:hover,
.admin-utility-nav a[aria-current="page"] {
    border-color: rgba(21, 111, 120, 0.22);
    background: rgba(21, 111, 120, 0.08);
}

.admin-visitor-panel .panel-title form {
    margin: 0;
}

.admin-visitor-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.admin-visitor-metrics > div {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.admin-visitor-metrics span,
.admin-visitor-metrics strong {
    display: block;
}

.admin-visitor-metrics span {
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 850;
    text-transform: uppercase;
}

.admin-visitor-metrics strong {
    margin-top: 7px;
    color: var(--ink);
    font-size: 1.25rem;
    overflow-wrap: anywhere;
}

.admin-visitor-intelligence {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.visitor-sample-note {
    margin: 12px 0 -2px;
}

.admin-visitor-intelligence > div {
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #ffffff;
}

.admin-visitor-intelligence > div span,
.admin-visitor-intelligence > div strong {
    display: block;
}

.admin-visitor-intelligence > div span {
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1.15;
    text-transform: uppercase;
}

.admin-visitor-intelligence > div strong {
    margin-top: 5px;
    color: var(--ink);
    font-size: 1.1rem;
}

.admin-visitor-intelligence .is-you {
    border-color: rgba(20, 115, 68, 0.34);
    background: #f0fbf5;
}

.admin-visitor-intelligence .is-customer {
    border-color: rgba(21, 111, 120, 0.28);
    background: #f0fbfc;
}

.admin-visitor-intelligence .is-search {
    border-color: rgba(38, 63, 115, 0.24);
    background: #f3f6fc;
}

.admin-visitor-intelligence .is-ai {
    border-color: rgba(94, 76, 160, 0.25);
    background: #f5f2ff;
}

.admin-visitor-intelligence .is-bot {
    border-color: rgba(105, 116, 131, 0.25);
    background: #f6f8fb;
}

.admin-visitor-intelligence .is-security {
    border-color: rgba(164, 50, 50, 0.26);
    background: #fff5f4;
}

.visitor-insight-band {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
}

.visitor-insight-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
}

.visitor-insight-heading h3,
.visitor-analytics-group h4 {
    margin: 0;
    letter-spacing: 0;
}

.visitor-insight-heading h3 {
    font-size: 1rem;
}

.visitor-insight-heading p:last-child {
    max-width: 610px;
    margin: 0;
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.5;
    text-align: right;
}

.visitor-journey-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 12px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.visitor-journey-metrics > div {
    min-width: 0;
    padding: 12px 14px;
}

.visitor-journey-metrics > div + div {
    border-left: 1px solid var(--line);
}

.visitor-journey-metrics span,
.visitor-journey-metrics strong {
    display: block;
}

.visitor-journey-metrics span {
    color: var(--muted);
    font-size: 0.7rem;
    font-weight: 850;
    text-transform: uppercase;
}

.visitor-journey-metrics strong {
    margin-top: 4px;
    color: var(--ink);
    font-size: 1.15rem;
}

.visitor-analytics-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-top: 14px;
}

.visitor-analytics-group {
    min-width: 0;
    padding: 2px 16px 4px;
}

.visitor-analytics-group + .visitor-analytics-group {
    border-left: 1px solid var(--line);
}

.visitor-analytics-group h4 {
    color: var(--ink);
    font-size: 0.8rem;
}

.visitor-analytics-group > p {
    margin: 9px 0 0;
    color: var(--muted);
    font-size: 0.76rem;
}

.visitor-analytics-group ol {
    display: grid;
    gap: 0;
    margin: 7px 0 0;
    padding: 0;
    list-style: none;
}

.visitor-analytics-group li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    padding: 6px 0;
    border-bottom: 1px solid rgba(223, 230, 238, 0.72);
    color: var(--body);
    font-size: 0.76rem;
}

.visitor-analytics-group li span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.visitor-analytics-group li strong {
    flex: 0 0 auto;
    color: var(--ink);
}

.visitor-exit-note {
    margin-top: 10px;
}

.visitor-system-grid {
    margin-top: 12px;
}

.visitor-server-snapshot dl {
    display: grid;
    gap: 0;
    margin: 7px 0 0;
}

.visitor-server-snapshot dl div {
    padding: 6px 0;
    border-bottom: 1px solid rgba(223, 230, 238, 0.72);
}

.visitor-server-snapshot dt {
    color: var(--muted);
    font-size: 0.67rem;
    font-weight: 850;
    text-transform: uppercase;
}

.visitor-server-snapshot dd {
    margin: 2px 0 0;
    color: var(--body);
    font-size: 0.74rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.visitor-log-status {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-top: 14px;
    border-left: 3px solid var(--teal);
    background: var(--wash);
    padding: 11px 13px;
}

.visitor-log-status.is-warning {
    border-left-color: var(--amber);
}

.visitor-log-status span {
    color: var(--muted);
    font-size: 0.82rem;
    text-align: right;
}

.visitor-log-page-note {
    margin-top: 14px;
}

.visitor-log-tools {
    display: grid;
    grid-template-columns: minmax(150px, 210px) minmax(240px, 1fr) auto auto;
    align-items: end;
    gap: 10px;
    margin-top: 12px;
    padding: 10px 12px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #f8fafc;
}

.visitor-log-tools label {
    display: grid;
    gap: 5px;
    margin: 0;
}

.visitor-log-tools label > span {
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.visitor-log-tools select,
.visitor-log-tools input {
    width: 100%;
    min-height: 38px;
    margin: 0;
    border: 1px solid #cfd9e4;
    border-radius: 5px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-size: 0.8rem;
}

.visitor-log-apply {
    min-height: 38px;
    margin: 0;
    white-space: nowrap;
}

.visitor-log-result-count {
    padding: 0 0 10px;
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
    white-space: nowrap;
}

.visitor-log-list {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    max-height: min(1120px, 74vh);
    overflow-y: auto;
    padding-right: 4px;
}

.admin-payment-list {
    max-height: min(920px, 72vh);
    overflow-y: auto;
    padding-right: 4px;
    scrollbar-gutter: stable;
}

.visitor-log-row {
    display: grid;
    grid-template-columns: 68px minmax(240px, 1fr) minmax(170px, auto) auto;
    align-items: start;
    gap: 14px;
    border: 1px solid var(--line);
    border-left: 4px solid transparent;
    border-radius: 6px;
    background: #fff;
    padding: 11px 12px;
}

.visitor-log-row.is-you {
    border-left-color: var(--green);
    background: #f8fdf9;
}

.visitor-log-row.is-customer {
    border-left-color: var(--teal);
}

.visitor-log-row.is-search {
    border-left-color: var(--blue);
}

.visitor-log-row.is-verified {
    border-left-color: var(--green);
    background: #f8fdf9;
}

.visitor-log-row.is-unverified {
    border-left-color: var(--amber);
    background: #fffaf2;
}

.visitor-log-row.is-monitor {
    border-left-color: #52738f;
}

.visitor-log-row.is-ai {
    border-left-color: #6f5cc2;
}

.visitor-log-row.is-bot,
.visitor-log-row.is-internal,
.visitor-log-row.is-admin {
    border-left-color: #9aa4b2;
}

.visitor-log-row.is-security {
    border-left-color: var(--red);
    background: #fffafa;
}

.visitor-log-country,
.visitor-log-main,
.visitor-log-meta {
    min-width: 0;
}

.visitor-log-country {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 6px;
}

.visitor-log-country img,
.visitor-country-placeholder {
    width: 28px;
    height: 21px;
    flex: 0 0 28px;
    border: 1px solid rgba(23, 35, 51, 0.16);
    border-radius: 2px;
    background: #eef2f5;
}

.visitor-log-country img {
    display: block;
    object-fit: cover;
}

.visitor-log-main,
.visitor-log-meta {
    display: grid;
    gap: 3px;
}

.visitor-log-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
}

.visitor-traffic-chip {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border: 1px solid rgba(105, 116, 131, 0.2);
    border-radius: 999px;
    background: #f4f7fa;
    color: var(--ink);
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.visitor-traffic-chip.is-you {
    border-color: rgba(20, 115, 68, 0.28);
    background: #e6f8ee;
    color: var(--green);
}

.visitor-traffic-chip.is-customer {
    border-color: rgba(21, 111, 120, 0.28);
    background: #e9f8f9;
    color: var(--teal-dark);
}

.visitor-traffic-chip.is-search {
    border-color: rgba(38, 63, 115, 0.25);
    background: #edf3ff;
    color: var(--blue);
}

.visitor-traffic-chip.is-verified {
    border-color: rgba(20, 115, 68, 0.28);
    background: #e6f8ee;
    color: var(--green);
}

.visitor-traffic-chip.is-unverified {
    border-color: rgba(183, 131, 33, 0.3);
    background: #fff5dc;
    color: #7c580e;
}

.visitor-traffic-chip.is-monitor {
    border-color: rgba(82, 115, 143, 0.26);
    background: #eef4f8;
    color: #3f607c;
}

.visitor-traffic-chip.is-ai {
    border-color: rgba(94, 76, 160, 0.25);
    background: #f0edff;
    color: #57489f;
}

.visitor-traffic-chip.is-bot,
.visitor-traffic-chip.is-admin,
.visitor-traffic-chip.is-internal {
    border-color: rgba(105, 116, 131, 0.24);
    background: #f1f4f7;
    color: #4e5967;
}

.visitor-traffic-chip.is-security {
    border-color: rgba(164, 50, 50, 0.22);
    background: #fff0ef;
    color: var(--red);
}

.visitor-traffic-chip.is-human {
    border-color: rgba(21, 111, 120, 0.18);
    background: #f7fbfc;
    color: var(--body);
}

.visitor-log-main strong,
.visitor-log-main span,
.visitor-log-meta code,
.visitor-log-meta time,
.visitor-log-meta span {
    overflow-wrap: anywhere;
}

.visitor-log-main span,
.visitor-log-meta time,
.visitor-log-meta span {
    color: var(--muted);
    font-size: 0.8rem;
}

.visitor-log-signals {
    color: var(--ink) !important;
    font-weight: 750;
}

.visitor-log-system {
    color: var(--teal-dark) !important;
    font-weight: 750;
}

.visitor-log-agent {
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.72rem !important;
}

.visitor-log-meta {
    justify-items: end;
    text-align: right;
}

.visitor-log-row form {
    margin: 0;
}

[data-admin-pagination-section] {
    position: relative;
}

[data-admin-pagination-section].is-loading {
    min-height: 180px;
    pointer-events: none;
}

[data-admin-pagination-section].is-loading > * {
    opacity: 0.38;
}

[data-admin-pagination-section].is-loading::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 28px;
    height: 28px;
    border: 3px solid rgba(21, 111, 120, 0.18);
    border-top-color: var(--teal);
    border-radius: 50%;
    content: "";
    transform: translate(-50%, -50%);
    animation: admin-section-spin 0.8s linear infinite;
}

.admin-pagination-error {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-left: 3px solid var(--amber);
    background: #fffaf0;
    color: #76520d;
    font-size: 0.8rem;
    font-weight: 750;
}

@keyframes admin-section-spin {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@media (max-width: 1120px) {
    .admin-shell[data-admin-tabs] .admin-overview {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .admin-shell[data-admin-tabs] {
        padding: 24px 0 38px;
    }

    .admin-shell[data-admin-tabs] .admin-heading {
        display: grid;
        padding: 18px;
    }

    .admin-shell[data-admin-tabs] h1 {
        font-size: 2.2rem;
    }

    .admin-shell[data-admin-tabs] .admin-tab-list {
        top: 68px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-flow: row;
        grid-auto-columns: auto;
        overflow: visible;
    }

    .admin-shell[data-admin-tabs] .admin-overview {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .admin-shell[data-admin-tabs] .admin-overview article {
        min-height: 96px;
        margin: 0;
    }

    .admin-shell[data-admin-tabs] .health-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 4px 10px;
        padding: 10px;
    }

    .admin-shell[data-admin-tabs] .health-row span {
        margin-top: 0;
        text-align: right;
    }

    .admin-shell[data-admin-tabs] .health-row small {
        grid-column: 1 / -1;
    }

    .admin-shell[data-admin-tabs] .admin-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .admin-shell[data-admin-tabs] .admin-actions > *,
    .admin-shell[data-admin-tabs] .admin-actions .button {
        width: 100%;
        margin: 0;
    }

    .admin-shell[data-admin-tabs] .admin-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-shell[data-admin-tabs] .control-panel,
    .admin-shell[data-admin-tabs] .info-panel {
        margin-top: 0;
    }

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

    .admin-visitor-intelligence {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .visitor-insight-heading {
        display: grid;
    }

    .visitor-insight-heading p:last-child {
        max-width: none;
        text-align: left;
    }

    .visitor-analytics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 18px;
    }

    .visitor-analytics-group:nth-child(odd) {
        border-left: 0;
    }

    .visitor-log-status {
        display: grid;
    }

    .visitor-log-status span {
        text-align: left;
    }

    .visitor-log-tools {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .visitor-log-result-count {
        grid-column: 1 / -1;
        padding: 0;
    }

    .visitor-log-row {
        grid-template-columns: 56px minmax(0, 1fr) auto;
    }

    .visitor-log-meta {
        grid-column: 2 / -1;
        grid-row: 2;
        justify-items: start;
        text-align: left;
    }

    .visitor-log-row form {
        grid-column: 3;
        grid-row: 1;
    }

    .admin-utility-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-utility-nav a {
        justify-content: center;
    }
}

@media (max-width: 420px) {
    .admin-shell[data-admin-tabs] .admin-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-visitor-metrics {
        grid-template-columns: minmax(0, 1fr);
    }

    .visitor-journey-metrics,
    .visitor-analytics-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .visitor-journey-metrics > div + div,
    .visitor-analytics-group + .visitor-analytics-group {
        border-left: 0;
    }

    .visitor-analytics-group {
        padding: 4px 0;
    }

    .visitor-log-tools {
        grid-template-columns: minmax(0, 1fr);
    }

    .visitor-log-result-count {
        grid-column: auto;
    }
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    scroll-behavior: smooth;
    background: var(--wash);
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: 0;
}

body {
    margin: 0;
    min-height: 100%;
}

body.processing-active {
    overflow: hidden;
}

a {
    color: inherit;
}

img {
    max-width: 100%;
    height: auto;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.shell {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.site-header {
    position: relative;
    z-index: 20;
    border-bottom: 1px solid rgba(223, 230, 238, 0.86);
    background: rgba(255, 255, 255, 0.94);
}

.site-testing-banner {
    background: #fff4d8;
    border-bottom: 1px solid #e7c66f;
    color: #5f4510;
}

.site-testing-banner .shell {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    min-height: 42px;
    padding-top: 8px;
    padding-bottom: 8px;
    text-align: center;
}

.site-testing-banner strong {
    color: #493507;
}

.nav-shell {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    min-height: 76px;
}

.brand-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.brand-link img {
    display: block;
    width: 238px;
}

.main-nav {
    display: flex;
    justify-content: center;
    gap: 8px;
}

.main-nav a {
    padding: 10px 12px;
    border-radius: 6px;
    color: var(--body);
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
}

.main-nav a:hover,
.main-nav a[aria-current="page"] {
    background: #eef5f6;
    color: var(--teal-dark);
}

.nav-toggle,
.mobile-nav-cta {
    display: none;
}

.nav-toggle {
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #ffffff;
    color: var(--ink);
    cursor: pointer;
}

.nav-toggle-lines,
.nav-toggle-lines::before,
.nav-toggle-lines::after {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform 160ms ease, opacity 160ms ease;
}

.nav-toggle-lines {
    position: relative;
}

.nav-toggle-lines::before,
.nav-toggle-lines::after {
    position: absolute;
    left: 0;
    content: "";
}

.nav-toggle-lines::before {
    transform: translateY(-7px);
}

.nav-toggle-lines::after {
    transform: translateY(7px);
}

.nav-toggle[aria-expanded="true"] .nav-toggle-lines {
    transform: rotate(45deg);
}

.nav-toggle[aria-expanded="true"] .nav-toggle-lines::before {
    opacity: 0;
}

.nav-toggle[aria-expanded="true"] .nav-toggle-lines::after {
    transform: rotate(90deg);
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid var(--teal);
    border-radius: 6px;
    background: var(--teal);
    color: #ffffff;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.button.secondary {
    border-color: var(--line);
    background: var(--paper);
    color: var(--teal-dark);
}

.button.danger-button,
.button.secondary.danger-button {
    border-color: rgba(164, 50, 50, 0.28);
    background: #ffffff;
    color: var(--red);
}

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

.button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
    outline: 3px solid rgba(21, 111, 120, 0.24);
    outline-offset: 2px;
}

.home-hero {
    overflow: hidden;
    border-bottom: 1px solid var(--line);
    background: linear-gradient(135deg, #ffffff 0%, #f3f8fa 54%, #eef4f8 100%);
}

.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(390px, 1.05fr);
    gap: 56px;
    align-items: center;
    min-height: 610px;
    padding: 64px 0;
}

.hero-content {
    max-width: 680px;
}

.eyebrow {
    margin: 0 0 14px;
    color: var(--teal-dark);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

h1,
h2,
h3,
p {
    overflow-wrap: anywhere;
}

h1 {
    margin: 0;
    max-width: 760px;
    font-size: 3.35rem;
    line-height: 1.04;
    letter-spacing: 0;
}

h2 {
    margin: 0;
    font-size: 2.15rem;
    line-height: 1.14;
    letter-spacing: 0;
}

h3 {
    margin: 0;
    font-size: 1.08rem;
}

.lead {
    max-width: 720px;
    margin: 22px 0 0;
    color: var(--body);
    font-size: 1.18rem;
    line-height: 1.65;
}

.lead.compact {
    margin-top: 10px;
    font-size: 1rem;
    line-height: 1.55;
}

.hero-note {
    max-width: 650px;
    margin: 18px 0 0;
    padding-left: 16px;
    border-left: 4px solid var(--gold);
    color: var(--body);
    line-height: 1.6;
}

.hero-trust-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin: 22px 0 0;
    padding: 0;
    color: var(--body);
    font-size: 0.92rem;
    font-weight: 800;
    list-style: none;
}

.hero-trust-list li {
    display: flex;
    gap: 9px;
    align-items: center;
}

.hero-trust-list li::before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--green);
    content: "";
}

.actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.actions form {
    margin: 0;
}

.hero-product-shot {
    position: relative;
    margin: 0;
}

.hero-product-shot img {
    display: block;
    width: 100%;
    border: 1px solid rgba(23, 32, 43, 0.1);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: var(--shadow);
}

.hero-product-shot figcaption {
    margin-top: 12px;
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 800;
    text-align: center;
}

.section-band,
.timeline-section,
.content-grid,
.contact-layout {
    padding: 76px 0;
}

.page-stack {
    display: grid;
    gap: 24px;
    padding: 68px 0;
}

.error-panel {
    display: grid;
    gap: 18px;
    padding: 78px 0;
}

.not-found-main {
    border-bottom: 1px solid var(--line);
    background: #ffffff;
}

.not-found-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(330px, 0.7fr);
    gap: 64px;
    align-items: center;
    min-height: 610px;
    padding: 72px 0;
}

.not-found-copy {
    max-width: 720px;
}

.not-found-copy h1 {
    max-width: 680px;
    margin: 0;
    color: var(--ink);
    font-size: 4rem;
    line-height: 1.06;
}

.not-found-copy .lead {
    max-width: 660px;
}

.not-found-routes {
    margin-top: 42px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
}

.not-found-routes > strong {
    color: var(--ink);
    font-size: 0.82rem;
    text-transform: uppercase;
}

.not-found-routes > div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: 12px;
}

.not-found-routes a {
    color: var(--teal-dark);
    font-weight: 800;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.not-found-marker {
    overflow: hidden;
    border: 1px solid #2b3542;
    border-top: 5px solid var(--gold);
    border-radius: 8px;
    background: var(--instrument);
    color: #ffffff;
    box-shadow: var(--shadow);
}

.not-found-code {
    display: grid;
    gap: 4px;
    padding: 34px;
}

.not-found-code span {
    color: #ffffff;
    font-size: 6rem;
    font-weight: 900;
    line-height: 1;
}

.not-found-code strong {
    color: #9bd8dc;
    font-size: 1.05rem;
}

.not-found-status-list {
    border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.not-found-status-list div {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 16px;
    padding: 16px 34px;
    border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.not-found-status-list div:first-child {
    border-top: 0;
}

.not-found-status-list span {
    color: #aeb8c4;
}

.not-found-status-list strong {
    color: #ffffff;
}

.section-heading {
    display: grid;
    gap: 10px;
    max-width: 760px;
}

.section-heading > p:not(.eyebrow) {
    margin: 0;
    color: var(--body);
    line-height: 1.65;
}

.feature-grid,
.info-grid,
.report-grid,
.form-grid,
.content-grid,
.footer-grid,
.contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: 28px;
    align-items: start;
}

.contact-guidance,
.contact-form-column {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.contact-guidance .content-panel {
    border-top: 4px solid var(--teal);
}

.contact-safety-list {
    display: grid;
    gap: 11px;
    margin: 20px 0 0;
    padding: 18px 0 0 20px;
    border-top: 1px solid var(--line);
    color: var(--body);
    line-height: 1.55;
}

.contact-security-note {
    padding: 20px 22px;
    border-left: 4px solid var(--gold);
    background: rgba(214, 151, 63, 0.08);
}

.contact-security-note strong,
.contact-security-note p,
.contact-success strong,
.contact-success span,
.contact-form-heading .eyebrow {
    display: block;
}

.contact-security-note p {
    margin: 7px 0 0;
    color: var(--body);
    line-height: 1.55;
}

.contact-success span {
    margin-top: 4px;
}

.contact-form {
    border-top: 4px solid var(--teal);
    box-shadow: 0 16px 36px rgba(23, 32, 43, 0.06);
}

.contact-form-heading {
    align-items: flex-start;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--line);
}

.contact-form-heading .eyebrow {
    margin-bottom: 7px;
}

.contact-form-heading h2 {
    margin: 0;
}

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

.contact-form label > span > small {
    display: inline;
    margin: 0 0 0 5px;
    font-weight: 600;
}

.contact-submit {
    width: 100%;
    margin-top: 20px;
}

.contact-submit:disabled {
    opacity: 0.48;
    cursor: not-allowed;
}

.feature-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 28px;
}

.evidence-type-grid,
.report-value-grid,
.faq-preview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 28px;
}

.faq-preview-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.feature-grid article,
.evidence-type-card,
.report-value-grid article,
.faq-preview-grid article,
.content-panel,
.info-panel,
.control-panel,
.form-panel,
.setup-panel,
.notice {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
}

.feature-grid article,
.evidence-type-card,
.report-value-grid article,
.faq-preview-grid article,
.content-panel,
.info-panel,
.control-panel,
.form-panel,
.setup-panel {
    padding: 24px;
}

.feature-grid article h3,
.evidence-type-card h3,
.faq-preview-grid h3,
.content-panel h2,
.info-panel h2,
.form-panel h2 {
    margin: 0 0 12px;
}

.info-panel h3 {
    margin: 22px 0 10px;
}

.feature-grid article p,
.evidence-type-card p,
.report-value-grid p,
.faq-preview-grid p,
.content-panel p,
.info-panel p,
.form-panel p,
.setup-panel p {
    margin: 0 0 12px;
    color: var(--body);
    line-height: 1.62;
}

.feature-grid article p:last-child,
.evidence-type-card p:last-child,
.report-value-grid p:last-child,
.faq-preview-grid p:last-child,
.content-panel p:last-child,
.info-panel p:last-child,
.form-panel p:last-child,
.setup-panel p:last-child {
    margin-bottom: 0;
}

.evidence-type-card {
    display: grid;
    gap: 12px;
    align-content: start;
    min-height: 260px;
    border-top: 5px solid var(--teal);
}

.evidence-type-card.audio-card {
    border-top-color: var(--gold);
}

.evidence-type-card.message-card {
    border-top-color: var(--coral);
}

.evidence-type-card.text-card {
    border-top-color: var(--green);
}

.evidence-type-card > span {
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 900;
}

.evidence-type-card a {
    align-self: end;
    color: var(--teal-dark);
    font-weight: 900;
    text-decoration: none;
}

.evidence-type-card a:hover {
    text-decoration: underline;
}

.report-value-grid article {
    min-height: 180px;
    border-left: 4px solid var(--teal);
}

.report-value-grid article:nth-child(2) {
    border-left-color: var(--gold);
}

.report-value-grid article:nth-child(3) {
    border-left-color: var(--coral);
}

.report-value-grid article:nth-child(4) {
    border-left-color: var(--blue);
}

.report-value-grid strong {
    display: block;
    margin-bottom: 10px;
    color: var(--ink);
    font-size: 1rem;
}

.section-panel {
    background: #17202b;
    color: #ffffff;
}

.trust-panel {
    background:
        linear-gradient(135deg, rgba(21, 111, 120, 0.18), rgba(214, 151, 63, 0.1)),
        #17202b;
}

.split-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(340px, 1.05fr);
    gap: 46px;
    align-items: center;
    padding: 78px 0;
}

.split-panel p {
    color: #d5deea;
    line-height: 1.68;
}

.review-focus-panel {
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
}

.review-focus-panel h3 {
    margin: 0 0 14px;
    color: #ffffff;
}

.review-focus-panel .plain-list {
    color: #d5deea;
}

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

.report-preview div {
    display: grid;
    gap: 8px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
}

.report-preview span {
    color: #c8d3df;
    font-size: 0.84rem;
    font-weight: 800;
    text-transform: uppercase;
}

.report-preview strong {
    font-size: 1.04rem;
}

.home-seo-band {
    display: grid;
    grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1fr);
    gap: 44px;
    align-items: start;
    padding: 20px 0 76px;
}

.home-seo-copy {
    display: grid;
    gap: 16px;
    color: var(--body);
    line-height: 1.68;
}

.home-seo-copy p {
    margin: 0;
}

.home-process-section,
.home-report-section {
    padding: 72px 0;
}

.home-process-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    margin: 34px 0 0;
    padding: 0;
    list-style: none;
}

.home-process-list li {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 16px;
    padding-top: 22px;
    border-top: 2px solid var(--line);
}

.home-process-list h3 {
    margin: 4px 0 8px;
}

.home-process-list p {
    margin: 0;
    color: var(--body);
    line-height: 1.58;
}

.home-step-number {
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 900;
}

.home-icon {
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(21, 111, 120, 0.2);
    border-radius: 50%;
    background: rgba(21, 111, 120, 0.08);
    color: var(--teal-dark);
}

.home-icon svg {
    width: 22px;
    height: 22px;
}

.home-icon-gold {
    border-color: rgba(214, 151, 63, 0.3);
    background: rgba(214, 151, 63, 0.11);
    color: #8a5a05;
}

.home-icon-green {
    border-color: rgba(31, 157, 115, 0.25);
    background: rgba(31, 157, 115, 0.09);
    color: #11714f;
}

.home-evidence-section {
    padding: 72px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #f2f6fa;
}

.home-evidence-grid .evidence-type-card {
    min-height: 244px;
}

.home-evidence-grid .evidence-type-card > .home-icon {
    width: 46px;
    height: 46px;
    color: var(--teal-dark);
}

.home-evidence-grid .message-card > .home-icon {
    border-color: rgba(225, 80, 87, 0.25);
    background: rgba(225, 80, 87, 0.08);
    color: #b72f36;
}

.home-evidence-grid .text-card > .home-icon {
    border-color: rgba(31, 157, 115, 0.25);
    background: rgba(31, 157, 115, 0.09);
    color: #11714f;
}

.home-evidence-grid .audio-card > .home-icon {
    border-color: rgba(214, 151, 63, 0.3);
    background: rgba(214, 151, 63, 0.11);
    color: #8a5a05;
}

.home-topic-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    align-items: center;
    margin-top: 30px;
    padding-top: 22px;
    border-top: 1px solid var(--line);
}

.home-topic-links strong {
    color: var(--ink);
}

.home-topic-links a,
.text-link {
    color: var(--teal-dark);
    font-weight: 850;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.home-report-section {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(420px, 1.18fr);
    gap: 64px;
    align-items: start;
}

.home-report-heading p:not(.eyebrow) {
    margin: 16px 0;
    color: var(--body);
    line-height: 1.65;
}

.home-report-list {
    margin: 0;
    border-bottom: 1px solid var(--line);
}

.home-report-list div {
    display: grid;
    grid-template-columns: minmax(150px, 0.65fr) minmax(0, 1fr);
    gap: 24px;
    padding: 20px 0;
    border-top: 1px solid var(--line);
}

.home-report-list dt {
    color: var(--ink);
    font-weight: 900;
}

.home-report-list dd {
    margin: 0;
    color: var(--body);
    line-height: 1.55;
}

.home-privacy-section {
    background: #17202b;
}

.home-privacy-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.84fr) minmax(420px, 1.16fr);
    gap: 58px;
    align-items: center;
    padding: 72px 0;
}

.home-privacy-layout > div:first-child > p:not(.eyebrow) {
    color: #d5deea;
    line-height: 1.65;
}

.home-privacy-section .button.secondary {
    border-color: rgba(255, 255, 255, 0.3);
    background: transparent;
    color: #ffffff;
}

.home-privacy-points {
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.home-privacy-points div {
    display: grid;
    grid-template-columns: minmax(140px, 0.46fr) minmax(0, 1fr);
    gap: 24px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.home-privacy-points strong {
    color: #ffffff;
}

.home-privacy-points span {
    color: #d5deea;
    line-height: 1.55;
}

.faq-preview {
    padding: 72px 0 18px;
}

.faq-preview-grid article {
    min-height: 160px;
}

.faq-section {
    padding: 72px 0;
}

.faq-list {
    display: grid;
    gap: 16px;
}

.faq-item {
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(23, 32, 43, 0.04);
}

.faq-item h2 {
    margin: 0 0 10px;
    font-size: 1.22rem;
}

.faq-item p {
    margin: 0;
    color: var(--body);
    line-height: 1.68;
}

.pricing-section {
    padding: 64px 0 18px;
}

.pricing-tier-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
    max-width: 1040px;
    margin: 0 auto;
}

.pricing-tier {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 30px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 14px 36px rgba(23, 32, 43, 0.065);
}

.pricing-tier.is-unavailable {
    border-color: #cfd8e2;
    background:
        linear-gradient(180deg, rgba(245, 247, 251, 0.82), rgba(255, 255, 255, 0.92)),
        #ffffff;
    box-shadow: 0 10px 26px rgba(23, 32, 43, 0.045);
}

.pricing-tier.is-unavailable > *:not(.tier-unavailable-badge):not(.sr-only) {
    opacity: 0.36;
    filter: grayscale(1);
}

.pricing-tier.is-unavailable::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(245, 247, 251, 0.68), rgba(255, 255, 255, 0));
    pointer-events: none;
}

.tier-unavailable-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(calc(100% - 46px), 360px);
    min-height: 52px;
    padding: 12px 20px;
    border: 1px solid rgba(21, 111, 120, 0.24);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--teal-dark);
    box-shadow: 0 14px 34px rgba(23, 32, 43, 0.16);
    transform: translate(-50%, -50%);
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0;
    pointer-events: none;
}

.tier-heading {
    display: grid;
    align-content: start;
    min-height: 132px;
}

.tier-format {
    margin-bottom: 8px;
    color: var(--teal-dark);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.tier-heading h2 {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
}

.tier-heading p {
    max-width: 46ch;
    margin: 10px 0 0;
    color: var(--body);
    line-height: 1.55;
}

.tier-price-row {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-top: 20px;
}

.tier-price-row > span {
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 750;
}

.tier-price {
    color: var(--ink);
    font-size: 2.3rem;
    font-weight: 900;
    line-height: 1;
}

.tier-price-detail {
    margin: 14px 0 0;
    padding: 12px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    color: var(--body);
    font-size: 0.94rem;
    font-weight: 800;
    line-height: 1.45;
}

.tier-inclusions {
    flex: 1 1 auto;
    padding-top: 22px;
}

.tier-section-label,
.tier-fit span {
    display: block;
    color: var(--teal-dark);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.pricing-tier .plain-list {
    margin: 10px 0 0;
}

.pricing-tier .plain-list li {
    margin-top: 8px;
    line-height: 1.48;
}

.tier-fit {
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
}

.tier-fit span {
    margin-bottom: 8px;
}

.tier-fit p {
    margin: 0;
    color: var(--body);
    line-height: 1.52;
}

.pricing-tier > .button {
    align-self: flex-start;
    min-width: 210px;
    margin-top: 22px;
}

.pricing-note {
    max-width: 1040px;
    margin: 24px auto 0;
    padding: 14px 0 0;
    border-top: 1px solid var(--line);
    color: var(--body);
    line-height: 1.55;
    text-align: center;
}

.pricing-payment-notice {
    margin: 0 0 20px;
}

.cta-band {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    margin: 74px auto;
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
    box-shadow: var(--shadow);
}

.cta-band p {
    margin: 10px 0 0;
    color: var(--body);
    line-height: 1.62;
}

.page-hero {
    background: #ffffff;
    border-bottom: 1px solid var(--line);
}

.narrow-copy {
    max-width: 880px;
    padding: 78px 0;
}

.timeline-list {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.timeline-list li {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
}

.timeline-list span {
    color: var(--gold);
    font-size: 1.2rem;
    font-weight: 900;
}

.timeline-list p {
    margin: 0;
    color: var(--body);
    line-height: 1.62;
}

.how-hero {
    overflow: hidden;
    border-bottom: 1px solid var(--line);
    background: linear-gradient(135deg, #ffffff 0%, #f7fbfb 52%, #eef4f7 100%);
}

.how-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
    gap: 56px;
    align-items: center;
    min-height: 560px;
    padding: 64px 0 70px;
}

.how-hero-copy {
    max-width: 700px;
}

.how-hero-visual {
    display: grid;
    gap: 12px;
    margin: 0;
}

.how-hero-visual img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border: 1px solid rgba(23, 32, 43, 0.1);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: var(--shadow);
}

.how-hero-visual figcaption {
    color: var(--muted);
    font-size: 0.92rem;
    font-weight: 800;
    text-align: center;
}

.how-metrics {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: -34px;
}

.how-metrics article {
    display: grid;
    gap: 4px;
    min-height: 116px;
    padding: 22px;
    border: 1px solid rgba(21, 111, 120, 0.18);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(23, 32, 43, 0.08);
}

.how-metrics strong {
    color: var(--teal-dark);
    font-size: 2.2rem;
    line-height: 1;
}

.how-metrics span {
    color: var(--body);
    font-weight: 900;
}

.how-process-section {
    padding: 76px 0 42px;
}

.how-process-list {
    display: grid;
    gap: 16px;
    margin: 34px 0 0;
    padding: 0;
    list-style: none;
}

.how-process-list > li {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr) minmax(240px, 0.55fr);
    gap: 22px;
    align-items: start;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(90deg, rgba(21, 111, 120, 0.07), #ffffff 52%);
}

.how-step-marker {
    display: grid;
    gap: 8px;
}

.how-step-marker span {
    color: var(--gold);
    font-size: 1.45rem;
    font-weight: 900;
    line-height: 1;
}

.how-step-marker em {
    color: var(--teal-dark);
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

.how-step-copy h3 {
    margin: 0 0 10px;
    font-size: 1.25rem;
}

.how-step-copy p {
    margin: 0;
    color: var(--body);
    line-height: 1.62;
}

.how-step-points {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.how-step-points li {
    padding: 9px 10px;
    border-left: 3px solid rgba(21, 111, 120, 0.38);
    border-radius: 6px;
    background: #f6fafb;
    color: var(--body);
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.35;
}

.how-evidence-band {
    padding: 76px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #f8fbfc;
}

.how-evidence-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}

.how-evidence-card {
    display: grid;
    gap: 14px;
    align-content: start;
    min-height: 312px;
    padding: 24px;
    border: 1px solid var(--line);
    border-top: 5px solid var(--teal);
    border-radius: 8px;
    background: #ffffff;
}

.how-evidence-card.voice {
    border-top-color: var(--gold);
}

.how-evidence-card.messages {
    border-top-color: var(--coral);
}

.how-evidence-card.text {
    border-top-color: var(--green);
}

.how-evidence-card h3 {
    font-size: 1.35rem;
}

.how-evidence-card p {
    margin: 0;
    color: var(--body);
    line-height: 1.6;
}

.how-evidence-card .plain-list {
    padding-left: 18px;
}

.how-guardrails-section {
    display: grid;
    grid-template-columns: minmax(260px, 0.76fr) minmax(0, 1.24fr);
    gap: 34px;
    align-items: start;
    padding: 76px 0 4px;
}

.how-guardrails-heading {
    display: grid;
    gap: 12px;
}

.how-guardrails-heading p:not(.eyebrow) {
    margin: 0;
    color: var(--body);
    line-height: 1.65;
}

.how-guardrail-grid {
    display: grid;
    gap: 14px;
}

.how-guardrail-grid article {
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
}

.how-guardrail-grid h3 {
    margin: 0 0 10px;
}

.how-guardrail-grid p {
    margin: 0;
    color: var(--body);
    line-height: 1.62;
}

.analysis-page-hero {
    border-bottom: 1px solid var(--line);
    background:
        linear-gradient(135deg, rgba(21, 111, 120, 0.08), rgba(214, 151, 63, 0.08)),
        #ffffff;
}

.analysis-page-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.52fr);
    gap: 44px;
    align-items: center;
    padding: 72px 0;
}

.analysis-page-copy {
    max-width: 780px;
}

.analysis-hero-panel {
    padding: 24px;
    border: 1px solid rgba(21, 111, 120, 0.22);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 16px 40px rgba(23, 32, 43, 0.08);
}

.analysis-hero-panel h2 {
    margin: 0 0 16px;
    font-size: 1.1rem;
}

.analysis-hero-panel ul {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.analysis-hero-panel li {
    padding: 12px 12px 12px 16px;
    border-left: 4px solid var(--gold);
    border-radius: 6px;
    background: #ffffff;
    color: var(--body);
    font-weight: 750;
    line-height: 1.42;
}

.analysis-overview-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: -30px;
}

.analysis-overview-grid article {
    min-height: 182px;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(23, 32, 43, 0.07);
}

.analysis-overview-grid span {
    display: block;
    margin-bottom: 10px;
    color: var(--teal-dark);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.analysis-overview-grid h2 {
    margin: 0 0 10px;
    font-size: 1.25rem;
}

.analysis-overview-grid p {
    margin: 0;
    color: var(--body);
    line-height: 1.58;
}

.analysis-content-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 44px;
    align-items: start;
    padding: 78px 0 44px;
}

.analysis-side-nav {
    position: sticky;
    top: 18px;
    display: grid;
    gap: 8px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
}

.analysis-side-nav span {
    margin-bottom: 4px;
    color: var(--ink);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.analysis-side-nav a {
    padding: 10px 0;
    border-top: 1px solid var(--line);
    color: var(--body);
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none;
}

.analysis-side-nav a:hover {
    color: var(--teal-dark);
}

.analysis-article-stack {
    display: grid;
    gap: 0;
}

.analysis-rich-section {
    padding: 0 0 34px;
    border-bottom: 1px solid var(--line);
}

.analysis-rich-section + .analysis-rich-section {
    padding-top: 34px;
}

.analysis-rich-section h2 {
    max-width: 820px;
    margin: 0 0 18px;
}

.analysis-rich-section p {
    max-width: 850px;
    margin: 0 0 16px;
    color: var(--body);
    font-size: 1.02rem;
    line-height: 1.72;
}

.analysis-rich-section p:last-child {
    margin-bottom: 0;
}

.analysis-check-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    max-width: 880px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.analysis-check-list li {
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-left: 4px solid var(--teal);
    border-radius: 8px;
    background: #ffffff;
    color: var(--body);
    font-weight: 760;
    line-height: 1.4;
}

.analysis-signal-band {
    padding: 76px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(135deg, rgba(21, 111, 120, 0.28), rgba(214, 151, 63, 0.12)),
        var(--instrument);
    color: #ffffff;
}

.analysis-signal-band .eyebrow,
.analysis-signal-band .section-heading > p:not(.eyebrow) {
    color: rgba(255, 255, 255, 0.78);
}

.analysis-signal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 30px;
}

.analysis-signal-grid article {
    min-height: 172px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.07);
}

.analysis-signal-grid h3 {
    margin: 0 0 10px;
    color: #ffffff;
}

.analysis-signal-grid p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.58;
}

.analysis-practical-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    padding: 76px 0 18px;
}

.analysis-practical-panel {
    padding: 26px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
}

.analysis-practical-panel.muted-panel {
    background:
        linear-gradient(135deg, rgba(191, 90, 75, 0.08), rgba(214, 151, 63, 0.08)),
        #ffffff;
}

.analysis-practical-panel h2 {
    margin: 0 0 18px;
    font-size: 1.65rem;
}

.analysis-practical-panel ol,
.analysis-practical-panel ul {
    display: grid;
    gap: 12px;
    margin: 0;
    padding-left: 22px;
    color: var(--body);
    line-height: 1.58;
}

.analysis-practical-panel li {
    padding-left: 4px;
}

.analysis-faq-section,
.related-analysis-section {
    padding: 62px 0 0;
}

.analysis-faq-list {
    display: grid;
    gap: 12px;
    margin-top: 26px;
}

.analysis-faq-list details {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
}

.analysis-faq-list summary {
    padding: 18px 20px;
    color: var(--ink);
    font-weight: 900;
    cursor: pointer;
}

.analysis-faq-list p {
    margin: 0;
    padding: 0 20px 20px;
    color: var(--body);
    line-height: 1.62;
}

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

.related-analysis-grid a {
    display: grid;
    gap: 10px;
    min-height: 142px;
    padding: 20px;
    border: 1px solid var(--line);
    border-top: 4px solid var(--teal);
    border-radius: 8px;
    background: #ffffff;
    text-decoration: none;
}

.related-analysis-grid a:nth-child(2) {
    border-top-color: var(--gold);
}

.related-analysis-grid a:nth-child(3) {
    border-top-color: var(--coral);
}

.related-analysis-grid a:nth-child(4) {
    border-top-color: var(--green);
}

.related-analysis-grid strong {
    color: var(--ink);
}

.related-analysis-grid span {
    color: var(--body);
    line-height: 1.5;
}

.related-analysis-grid a:hover strong {
    color: var(--teal-dark);
    text-decoration: underline;
}

.admin-shell {
    display: grid;
    gap: 24px;
    padding: 54px 0;
}

.admin-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: start;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(21, 111, 120, 0.08), rgba(214, 151, 63, 0.08)),
        #ffffff;
}

.admin-shell h1 {
    font-size: 3.4rem;
    line-height: 1;
}

.admin-overview {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.admin-overview article {
    min-height: 118px;
    padding: 16px;
    border: 1px solid var(--line);
    border-top: 4px solid var(--teal);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(23, 32, 43, 0.05);
}

.admin-overview article.has-unread {
    border-top-color: var(--gold);
    background: #fffdf8;
}

.admin-overview article.has-attention {
    border-top-color: #c65d55;
    background: #fff9f8;
}

.admin-system-alert {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.admin-system-alert > div {
    display: grid;
    gap: 4px;
}

.admin-system-alert .button {
    flex: 0 0 auto;
    margin: 0;
}

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

    .admin-system-alert .button {
        width: 100%;
    }
}

.admin-overview span,
.admin-overview small {
    display: block;
    color: var(--muted);
}

.admin-heading-actions,
.admin-message-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.admin-heading-actions form,
.admin-message-actions form {
    margin: 0;
}

.admin-inbox-button {
    background: #8a5a00;
}

.admin-overview span {
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.admin-overview strong {
    display: block;
    margin-top: 10px;
    color: var(--ink);
    font-size: 1.24rem;
}

.admin-overview small {
    margin-top: 8px;
    line-height: 1.45;
}

.admin-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.admin-main,
.admin-activity-stack {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.admin-quick-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px;
    border: 1px solid rgba(23, 32, 43, 0.08);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(23, 32, 43, 0.05);
}

.admin-layout .admin-quick-nav {
    position: sticky;
    top: 86px;
    display: grid;
    gap: 7px;
    max-height: calc(100vh - 108px);
    overflow: auto;
    padding: 12px;
    border: 1px solid rgba(23, 32, 43, 0.12);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(21, 111, 120, 0.16), rgba(18, 26, 36, 0)),
        #17202b;
    box-shadow: 0 14px 34px rgba(23, 32, 43, 0.09);
    scrollbar-color: rgba(255, 255, 255, 0.36) rgba(255, 255, 255, 0.08);
}

.admin-nav-title {
    padding: 8px 8px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.admin-nav-title strong,
.admin-nav-title span {
    display: block;
}

.admin-nav-title strong {
    color: #ffffff;
    font-size: 0.95rem;
}

.admin-nav-title span {
    margin-top: 3px;
    color: #9fb2c4;
    font-size: 0.78rem;
    font-weight: 800;
}

.admin-nav-divider {
    height: 1px;
    margin: 6px 0;
    background: rgba(255, 255, 255, 0.12);
}

.admin-quick-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid var(--line);
    border-radius: 6px;
    color: var(--teal-dark);
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none;
}

.admin-layout .admin-quick-nav a {
    display: grid;
    align-items: stretch;
    gap: 3px;
    min-height: 48px;
    padding: 10px 11px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    color: #d7e2ed;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none;
}

.admin-layout .admin-quick-nav a span {
    color: #91a6ba;
    font-size: 0.73rem;
    font-weight: 700;
    line-height: 1.25;
}

.admin-quick-nav a:hover,
.admin-quick-nav a[aria-current="page"] {
    border-color: rgba(21, 111, 120, 0.24);
    background: rgba(21, 111, 120, 0.08);
}

.admin-layout .admin-quick-nav a:hover,
.admin-layout .admin-quick-nav a[aria-current="page"] {
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.admin-layout .admin-quick-nav a[aria-current="page"] span {
    color: #d7e2ed;
}

.admin-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.admin-overview[id],
.control-panel[id],
.info-panel[id],
.admin-activity-stack[id] {
    scroll-margin-top: 104px;
}

.control-panel {
    box-shadow: 0 8px 22px rgba(23, 32, 43, 0.04);
}

.panel-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.panel-title h2 {
    margin: 0;
    font-size: 1.05rem;
}

.status-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
    text-transform: capitalize;
}

.status-chip::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.72;
}

.status-chip.ok {
    border-color: rgba(20, 115, 68, 0.24);
    background: rgba(20, 115, 68, 0.08);
    color: var(--green);
}

.status-chip.warn {
    border-color: rgba(214, 151, 63, 0.32);
    background: rgba(214, 151, 63, 0.12);
    color: #8a5a00;
}

.status-chip.steady {
    border-color: rgba(21, 111, 120, 0.24);
    background: rgba(21, 111, 120, 0.08);
    color: var(--teal);
}

.status-chip.off {
    background: var(--wash);
}

.admin-button-stack,
.admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
}

.admin-actions {
    position: sticky;
    bottom: 14px;
    z-index: 8;
    padding: 12px;
    border: 1px solid rgba(223, 230, 238, 0.86);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 14px 34px rgba(23, 32, 43, 0.11);
    backdrop-filter: blur(12px);
}

.admin-button-stack form {
    margin: 0;
}

.admin-actions form {
    margin: 0;
}

.health-list,
.fault-list,
.metric-grid {
    display: grid;
    gap: 10px;
}

.health-row {
    display: grid;
    grid-template-columns: minmax(130px, 0.72fr) auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.health-row strong,
.fault-list strong,
.metric-grid strong {
    overflow-wrap: anywhere;
}

.health-row span {
    font-weight: 900;
}

.health-row small,
.fault-list small,
.fault-list span,
.metric-grid span {
    color: var(--muted);
    line-height: 1.45;
}

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

.metric-grid div,
.fault-list article {
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

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

.metric-grid strong {
    margin-top: 4px;
}

.fault-list article {
    display: grid;
    gap: 8px;
}

.fault-list article > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.audit-list {
    max-height: 520px;
    overflow-y: auto;
    padding-right: 8px;
    scrollbar-color: var(--teal) var(--wash);
    scrollbar-width: thin;
}

.audit-list::-webkit-scrollbar {
    width: 10px;
}

.audit-list::-webkit-scrollbar-track {
    border-radius: 999px;
    background: var(--wash);
}

.audit-list::-webkit-scrollbar-thumb {
    border: 2px solid var(--wash);
    border-radius: 999px;
    background: var(--teal);
}

.compact-muted {
    margin-top: 0;
    color: var(--muted);
}

.inline-muted {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.pagination-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 14px;
}

.pagination-row span {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 800;
}

.panel-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.panel-actions form,
.admin-record-actions form,
.report-delete-strip form {
    margin: 0;
}

.compact-button {
    min-height: 36px;
    padding: 0 12px;
    font-size: 0.85rem;
}

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

.admin-record-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.admin-message-list .admin-record-row.is-unread {
    border-left: 4px solid var(--gold);
    background: #fffdf8;
}

.admin-message-retention {
    margin: 16px 0 0;
    padding-top: 14px;
    border-top: 1px solid var(--line);
}

.admin-message-shell {
    max-width: 980px;
}

.admin-message-panel {
    border-top: 4px solid var(--teal);
}

.admin-message-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-message-content {
    margin-top: 24px;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.admin-message-content > span {
    display: block;
    margin-bottom: 10px;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-message-content p {
    margin: 0;
    color: var(--ink);
    line-height: 1.72;
    overflow-wrap: anywhere;
}

.admin-message-actions {
    margin-top: 20px;
}

.admin-record-main {
    display: grid;
    min-width: 0;
    gap: 5px;
}

.admin-record-main strong,
.admin-record-main a {
    color: var(--ink);
    overflow-wrap: anywhere;
}

.admin-record-main span {
    color: var(--muted);
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.admin-payment-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
}

.admin-payment-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 16px;
    margin-top: 3px;
}

.admin-payment-details span {
    min-width: 0;
    font-size: 0.84rem;
}

.admin-payment-details b {
    color: var(--ink);
    font-weight: 700;
}

.admin-payment-details code {
    color: var(--ink);
    font-size: 0.78rem;
    overflow-wrap: anywhere;
}

.admin-record-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.button.disabled {
    opacity: 0.48;
    cursor: not-allowed;
    pointer-events: none;
}

.switch-row {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px 0;
    border-top: 1px solid var(--line);
}

.switch-row input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--teal);
}

.switch-row strong,
.field span,
.form-panel label span {
    display: block;
    font-weight: 800;
}

.switch-row small,
.form-panel small {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    line-height: 1.45;
}

.form-panel .form-submit-status {
    margin: 10px 0 0;
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.form-panel .form-submit-status.is-error {
    color: var(--red);
}

.checkout-legal {
    margin: 10px 0 0;
    color: var(--muted);
    font-size: 0.8rem;
    line-height: 1.5;
}

.checkout-legal a {
    color: var(--teal-dark);
    font-weight: 750;
}

body.checkout-terms-open {
    overflow: hidden;
}

.checkout-terms-modal {
    position: fixed;
    inset: 0;
    z-index: 150;
    display: grid;
    align-items: center;
    justify-items: center;
    overflow-y: auto;
    padding: 24px;
    background: rgba(18, 28, 38, 0.72);
}

.checkout-terms-modal[hidden] {
    display: none;
}

.checkout-terms-dialog {
    width: min(650px, 100%);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(16, 30, 42, 0.24);
    padding: 26px;
}

.checkout-terms-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line);
}

.checkout-terms-heading .eyebrow {
    margin: 0 0 5px;
}

.checkout-terms-heading h2 {
    margin: 0;
}

.checkout-terms-close {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}

.checkout-terms-close:hover,
.checkout-terms-close:focus-visible {
    border-color: var(--teal);
    color: var(--teal-dark);
}

.checkout-terms-dialog > p {
    margin: 16px 0 0;
    color: var(--muted);
    line-height: 1.6;
}

.checkout-terms-points {
    display: grid;
    gap: 9px;
    margin: 16px 0;
    padding-left: 21px;
    color: var(--ink-soft);
    line-height: 1.5;
}

.checkout-terms-consent {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    margin: 18px 0 0;
    border: 1px solid #9bcbd0;
    border-left: 4px solid var(--teal);
    border-radius: 6px;
    background: var(--wash);
    padding: 15px 16px;
    cursor: pointer;
}

.checkout-terms-consent input {
    width: 19px;
    height: 19px;
    margin: 2px 0 0;
    accent-color: var(--teal-dark);
}

.checkout-terms-consent span {
    font-size: 0.88rem;
    font-weight: 700 !important;
    line-height: 1.55;
}

.checkout-terms-links {
    font-size: 0.84rem;
}

.checkout-terms-links a {
    color: var(--teal-dark);
    font-weight: 800;
}

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

@media (max-width: 640px) {
    .checkout-terms-modal {
        align-items: end;
        padding: 12px;
    }

    .checkout-terms-dialog {
        max-height: calc(100vh - 24px);
        padding: 20px;
    }

    .checkout-terms-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .checkout-terms-actions .button {
        width: 100%;
    }
}

.upload-privacy-note {
    margin: 18px 0 4px;
    border-left: 3px solid var(--teal);
    background: var(--wash);
    padding: 14px 16px;
}

.upload-privacy-note strong {
    color: var(--ink);
    font-size: 0.9rem;
}

.upload-privacy-note p {
    margin: 5px 0 0;
    color: var(--muted);
    font-size: 0.84rem;
    line-height: 1.55;
}

.upload-privacy-note a {
    color: var(--teal-dark);
    font-weight: 750;
}

.legal-hero .narrow-copy {
    max-width: 860px;
}

.legal-updated {
    margin: 22px 0 0;
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 750;
}

.legal-layout {
    display: grid;
    grid-template-columns: minmax(190px, 250px) minmax(0, 780px);
    gap: clamp(38px, 6vw, 88px);
    justify-content: center;
    padding-top: 68px;
    padding-bottom: 92px;
}

.legal-nav {
    align-self: start;
    position: sticky;
    top: 96px;
    display: grid;
    gap: 10px;
    border-top: 3px solid var(--teal);
    padding-top: 18px;
}

.legal-nav span {
    color: var(--ink);
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.legal-nav a {
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.35;
    text-decoration: none;
}

.legal-nav a:hover,
.legal-nav a:focus-visible {
    color: var(--teal-dark);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal-content > section {
    scroll-margin-top: 110px;
    border-top: 1px solid var(--line);
    padding: 34px 0 12px;
}

.legal-content > section:first-child {
    border-top: 0;
    padding-top: 0;
}

.legal-content h2 {
    margin: 0 0 16px;
    color: var(--ink);
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    line-height: 1.2;
}

.legal-content p,
.legal-content li {
    color: var(--body);
    font-size: 1rem;
    line-height: 1.75;
}

.legal-content p {
    margin: 0 0 16px;
}

.legal-content ul {
    margin: 0 0 18px;
    padding-left: 22px;
}

.legal-content li + li {
    margin-top: 9px;
}

.legal-content .legal-source-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 20px;
    font-size: 0.9rem;
}

.legal-source-links a {
    color: var(--teal-dark);
    font-weight: 750;
}

.legal-related {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-top: 40px;
    border-top: 3px solid var(--teal);
    padding-top: 20px;
}

.legal-related strong {
    flex-basis: 100%;
    color: var(--ink);
}

.legal-related a {
    color: var(--teal-dark);
    font-weight: 750;
}

@media (max-width: 760px) {
    .legal-layout {
        grid-template-columns: 1fr;
        gap: 34px;
        padding-top: 44px;
        padding-bottom: 68px;
    }

    .legal-nav {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .legal-nav span {
        grid-column: 1 / -1;
    }

    .legal-content > section {
        scroll-margin-top: 80px;
    }
}

@media (max-width: 460px) {
    .legal-nav {
        grid-template-columns: 1fr;
    }

    .legal-nav span {
        grid-column: auto;
    }
}

.field-guidance {
    margin-top: 10px;
    padding: 12px 0 2px;
    border-top: 1px solid var(--line);
}

.field-guidance summary {
    width: fit-content;
    cursor: pointer;
    color: var(--teal-dark);
    font-weight: 800;
}

.field-guidance .plain-list {
    margin-top: 12px;
}

.additional-question-fields {
    margin-top: 20px;
}

.additional-question-fields .form-grid {
    gap: 16px;
}

.additional-question-fields label {
    margin-top: 4px;
}

.additional-question-fields label > span {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.additional-question-fields label > span small {
    margin: 0;
    font-weight: 500;
}

.field,
.form-panel label {
    display: grid;
    gap: 8px;
    margin-top: 16px;
}

.field input,
.field select,
.form-panel textarea,
.form-panel label input,
.form-panel label select {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #ffffff;
    color: var(--ink);
    font: inherit;
}

.form-panel label input[type="file"] {
    min-height: 52px;
    padding: 8px 12px;
    line-height: 34px;
}

.form-panel label input[type="file"]::file-selector-button {
    min-height: 34px;
    margin: 0 12px 0 0;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
    color: var(--ink);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.form-panel label input[type="file"]:hover::file-selector-button {
    border-color: rgba(21, 111, 120, 0.34);
    background: #eef5f6;
    color: var(--teal-dark);
}

.file-control {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 52px;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #ffffff;
}

.file-control-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.file-control-input:focus-visible + .file-control-button {
    outline: 3px solid rgba(23, 122, 126, 0.22);
    outline-offset: 2px;
}

.file-control-input:disabled + .file-control-button {
    opacity: 0.58;
    cursor: not-allowed;
    pointer-events: none;
}

.file-control-button {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 0 12px;
}

.file-control-name {
    min-width: 0;
    overflow: hidden;
    color: var(--body);
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.form-panel textarea {
    min-height: 0;
    padding: 12px;
    resize: vertical;
    line-height: 1.5;
}

.honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.upload-panel {
    margin-top: 24px;
}

.report-start-action {
    border-top: 4px solid var(--teal);
}

.report-start-action > .actions {
    margin-top: 18px;
}

.report-start-action > .actions form:first-child .button {
    min-width: 158px;
}

.recording-preview {
    display: block;
    width: 100%;
    margin-top: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #101820;
}

video.recording-preview {
    aspect-ratio: 16 / 9;
    object-fit: contain;
}

audio.recording-preview {
    min-height: 48px;
    background: var(--wash);
}

.screenshot-preview {
    max-height: 520px;
    object-fit: contain;
    background: #ffffff;
}

.screenshot-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
}

.screenshot-gallery a {
    display: grid;
    gap: 8px;
    color: var(--body);
    text-decoration: none;
}

.screenshot-gallery span {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.blocked-preview {
    display: grid;
    min-height: 180px;
    place-content: center;
    gap: 8px;
    padding: 18px;
    background: var(--wash);
    color: var(--body);
    text-align: center;
}

.blocked-preview strong,
.blocked-preview span {
    display: block;
}

.progress-panel p,
.empty-report-state p {
    color: var(--body);
    line-height: 1.62;
}

.progress-track {
    height: 12px;
    overflow: hidden;
    margin: 18px 0;
    border-radius: 999px;
    background: var(--wash);
}

.progress-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--teal), var(--gold));
}

.timed-progress .progress-fill {
    width: 42%;
    animation: timed-progress 1.6s ease-in-out infinite alternate;
}

.known-progress .progress-fill {
    width: 0;
    transform: none;
    animation: none;
    transition: width 0.18s ease;
}

@keyframes timed-progress {
    from {
        transform: translateX(-24%);
    }

    to {
        transform: translateX(148%);
    }
}

.progress-fill.progress-25 {
    width: 25%;
}

.progress-fill.progress-50 {
    width: 50%;
}

.progress-fill.progress-75 {
    width: 75%;
}

.progress-fill.progress-100 {
    width: 100%;
}

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

.pipeline-step {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.pipeline-step strong,
.pipeline-step small,
.pipeline-step em {
    display: block;
}

.pipeline-step small {
    margin-top: 4px;
    color: var(--muted);
    line-height: 1.45;
}

.pipeline-step em {
    color: var(--muted);
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 900;
}

.stage-dot {
    width: 12px;
    height: 12px;
    margin-top: 4px;
    border-radius: 999px;
    background: var(--gold);
}

.pipeline-step.complete .stage-dot {
    background: var(--green);
}

.pipeline-step.waiting .stage-dot {
    background: var(--gold);
}

.pipeline-step.warning {
    border-color: rgba(214, 151, 63, 0.35);
    background: rgba(214, 151, 63, 0.08);
}

.pipeline-step.warning .stage-dot {
    background: var(--gold);
}

.pipeline-step.off .stage-dot {
    background: var(--muted);
}

.pipeline-step.error {
    border-color: rgba(164, 50, 50, 0.24);
    background: rgba(164, 50, 50, 0.06);
}

.pipeline-step.error .stage-dot {
    background: var(--red);
}

.processing-overlay[hidden] {
    display: none;
}

.processing-overlay {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(23, 32, 43, 0.48);
}

.processing-dialog {
    width: min(520px, 100%);
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
    box-shadow: var(--shadow);
}

.processing-dialog h2 {
    margin: 14px 0 8px;
    font-size: 1.5rem;
}

.processing-dialog p {
    margin: 0;
    color: var(--body);
    line-height: 1.58;
}

.processing-spinner {
    display: block;
    width: 34px;
    height: 34px;
    border: 4px solid #dce7e9;
    border-top-color: var(--teal);
    border-radius: 999px;
    animation: spin 0.9s linear infinite;
}

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

.consent-row {
    margin: 18px 0;
}

.tag-list,
.measurement-list,
.channel-list {
    display: grid;
    gap: 10px;
}

.tag-list {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.tag-list span,
.measurement-list div,
.channel-list div {
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.tag-list span {
    padding: 10px 12px;
    color: var(--body);
}

.measurement-list div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
}

.channel-list div {
    display: grid;
    grid-template-columns: minmax(170px, 1fr) minmax(130px, auto) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
}

.measurement-list span {
    color: var(--muted);
    text-align: right;
}

.measurement-list small {
    display: block;
    grid-column: 1 / -1;
    margin-top: 6px;
    color: var(--muted);
    line-height: 1.45;
}

.channel-list span {
    color: var(--muted);
    text-align: right;
}

.confidence-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 98px;
    justify-content: center;
    padding: 6px 10px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--paper);
    color: var(--body);
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.confidence-chip::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.72;
}

.confidence-chip.ok {
    border-color: rgba(31, 207, 120, 0.34);
    background: rgba(31, 207, 120, 0.13);
    color: #0f7d4c;
}

.confidence-chip.steady {
    border-color: rgba(242, 173, 33, 0.38);
    background: rgba(242, 173, 33, 0.15);
    color: #8b5e00;
}

.confidence-chip.warn {
    border-color: rgba(240, 82, 82, 0.36);
    background: rgba(240, 82, 82, 0.12);
    color: #b4232d;
}

.confidence-chip.off {
    color: var(--muted);
}

.metric-level {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 8px;
    padding: 4px 8px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--paper);
    color: var(--body);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.metric-level::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.76;
}

.metric-level.ok {
    border-color: rgba(26, 126, 99, 0.24);
    background: rgba(26, 126, 99, 0.1);
    color: var(--teal);
}

.metric-level.steady {
    border-color: rgba(214, 151, 63, 0.28);
    background: rgba(214, 151, 63, 0.12);
    color: #83602a;
}

.metric-level.warn {
    border-color: rgba(164, 50, 50, 0.22);
    background: rgba(164, 50, 50, 0.08);
    color: var(--red);
}

.level-guide {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.level-guide div {
    display: grid;
    gap: 8px;
    align-content: start;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.level-guide .confidence-chip {
    justify-self: start;
}

.level-guide span {
    color: var(--body);
    font-size: 0.88rem;
    line-height: 1.45;
}

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

.report-print-header,
.report-print-end {
    display: none;
}

.report-export-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    border: 1px solid rgba(21, 111, 120, 0.24);
    border-left: 5px solid var(--teal);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(23, 32, 43, 0.06);
}

.report-export-toolbar > div {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.report-export-toolbar strong {
    color: var(--ink);
    font-weight: 900;
}

.report-export-toolbar span {
    color: var(--muted);
    line-height: 1.45;
}

.report-download-button {
    flex: 0 0 auto;
}

.report-delete-strip {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    border: 1px solid rgba(164, 50, 50, 0.18);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(23, 32, 43, 0.06);
}

.report-delete-strip > .report-delete-copy {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.report-delete-strip strong {
    color: var(--ink);
    font-weight: 900;
}

.report-delete-strip span {
    color: var(--muted);
    line-height: 1.45;
}

.report-delete-strip .report-retention-message {
    margin-top: 5px;
    color: var(--body);
    font-weight: 750;
}

.report-delete-strip .report-download-status {
    margin-top: 4px;
    color: var(--muted);
    font-size: 0.84rem;
}

.report-delete-strip .report-download-status.is-recorded {
    color: #147a50;
    font-weight: 750;
}

.report-delete-strip .report-download-status.is-error {
    color: #a43232;
}

.report-delete-actions {
    display: grid;
    flex: 0 0 min(100%, 370px);
    gap: 10px;
}

.report-delete-actions > .button,
.report-delete-actions form,
.report-delete-actions form > .button {
    width: 100%;
}

.report-delete-actions form {
    display: grid;
    gap: 10px;
}

.report-delete-confirm {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: var(--body);
    font-size: 0.88rem;
    font-weight: 750;
    line-height: 1.4;
    cursor: pointer;
}

.report-delete-confirm input {
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    flex: 0 0 auto;
    accent-color: var(--teal);
}

.report-delete-confirm input:disabled,
.report-delete-confirm input:disabled + span {
    cursor: not-allowed;
    opacity: 0.58;
}

.report-back-to-top {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 80;
    display: grid;
    width: 44px;
    height: 44px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(21, 111, 120, 0.34);
    border-radius: 50%;
    background: #ffffff;
    color: var(--teal);
    box-shadow: 0 10px 26px rgba(23, 32, 43, 0.18);
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.report-back-to-top:hover,
.report-back-to-top:focus-visible {
    border-color: var(--teal);
    background: var(--teal);
    color: #ffffff;
}

.report-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.dashboard-top-grid,
.dashboard-mid-grid {
    display: grid;
    gap: 18px;
}

.dashboard-top-grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.dashboard-mid-grid {
    grid-template-columns: 1fr;
}

.report-dashboard-card {
    padding: 22px;
    border: 1px solid rgba(205, 216, 228, 0.86);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 253, 0.98)),
        #ffffff;
    box-shadow: 0 16px 42px rgba(23, 32, 43, 0.08);
}

.dashboard-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line);
}

.dashboard-card-heading h2 {
    margin: 0;
    color: var(--ink);
    font-size: 1rem;
    letter-spacing: 0;
    text-transform: uppercase;
}

.dashboard-session-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 220px);
    gap: 22px;
    align-items: center;
}

.dashboard-overview-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.dashboard-overview-list div {
    display: grid;
    grid-template-columns: minmax(120px, 0.78fr) minmax(0, 1fr);
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(223, 230, 238, 0.92);
}

.dashboard-overview-list div:last-child {
    border-bottom: 0;
}

.dashboard-overview-list dt,
.dashboard-overview-list dd {
    margin: 0;
}

.dashboard-overview-list dt {
    color: var(--muted);
    font-weight: 800;
}

.dashboard-overview-list dd {
    min-width: 0;
    color: var(--ink);
    font-weight: 900;
    overflow-wrap: anywhere;
}

.dashboard-index-ring {
    --ring-color: var(--teal);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    justify-self: center;
    width: min(178px, 100%);
    aspect-ratio: 1;
    border-radius: 999px;
    background: conic-gradient(var(--ring-color) var(--score-percent, 0%), #e8eef5 0);
    box-shadow:
        inset 0 0 0 1px rgba(21, 111, 120, 0.08),
        0 14px 28px rgba(21, 111, 120, 0.15);
}

.dashboard-index-ring::after {
    content: "";
    position: absolute;
    inset: 22px;
    border-radius: inherit;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(223, 230, 238, 0.9);
}

.dashboard-index-ring span,
.dashboard-index-ring small {
    position: relative;
    z-index: 1;
    display: block;
    text-align: center;
}

.dashboard-index-ring span {
    color: var(--ink);
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1;
}

.dashboard-index-ring small {
    margin-top: 7px;
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.dashboard-index-ring.ok {
    --ring-color: var(--signal-low);
}

.dashboard-index-ring.steady {
    --ring-color: var(--signal-mid);
}

.dashboard-index-ring.warn {
    --ring-color: var(--signal-high);
}

.dashboard-index-ring.off {
    --ring-color: var(--signal-off);
}

.dashboard-response-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.dashboard-response-summary.five-column {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dashboard-response-summary.five-column .response-count-card {
    min-width: 0;
    padding-right: 12px;
    padding-left: 12px;
}

.dashboard-response-summary.five-column .response-count-card span {
    font-size: 1rem;
    line-height: 1.2;
}

.dashboard-response-summary.five-column .response-count-card small {
    overflow-wrap: break-word;
}

.response-count-card {
    --count-color: var(--teal);
    display: grid;
    align-content: start;
    min-height: 156px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(23, 32, 43, 0.05);
}

.response-count-card strong {
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    margin-bottom: 14px;
    border: 8px solid rgba(21, 111, 120, 0.16);
    border-top-color: var(--count-color);
    border-right-color: var(--count-color);
    border-radius: 999px;
    color: var(--ink);
    font-size: 1.75rem;
    line-height: 1;
}

.response-count-card span {
    color: var(--ink);
    font-size: 1.05rem;
    font-weight: 900;
}

.response-count-card small {
    display: block;
    margin-top: 6px;
    color: var(--body);
    line-height: 1.42;
}

.response-count-card.ok {
    --count-color: var(--signal-low);
}

.response-count-card.steady {
    --count-color: var(--signal-mid);
}

.response-count-card.warn {
    --count-color: var(--signal-high);
}

.response-count-card.off {
    --count-color: var(--signal-off);
}

.response-count-card.total {
    --count-color: var(--teal);
}

.dashboard-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    color: var(--muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.dashboard-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.dashboard-legend span::before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: currentColor;
}

.dashboard-legend .ok {
    color: var(--signal-low);
}

.dashboard-legend .steady {
    color: var(--signal-mid);
}

.dashboard-legend .warn {
    color: var(--signal-high);
}

.dashboard-legend .off {
    color: var(--signal-off);
}

.dashboard-mini-timeline {
    display: grid;
    gap: 12px;
}

.dashboard-timeline-row {
    display: grid;
    grid-template-columns: 84px minmax(180px, 0.55fr) minmax(220px, 1fr);
    gap: 14px;
    align-items: center;
}

.dashboard-timeline-row span {
    color: var(--muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.dashboard-timeline-row strong {
    min-width: 0;
    color: var(--ink);
    font-size: 0.9rem;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.dashboard-timeline-row i {
    position: relative;
    display: block;
    height: 12px;
    overflow: hidden;
    border-radius: 999px;
    background: #e9eff6;
}

.dashboard-timeline-row b {
    position: absolute;
    inset: 0 auto 0 var(--left, 0%);
    width: var(--width, 8%);
    min-width: 12px;
    border-radius: inherit;
    background: var(--signal-off);
}

.dashboard-timeline-row b.ok {
    background: var(--signal-low);
}

.dashboard-timeline-row b.steady {
    background: var(--signal-mid);
}

.dashboard-timeline-row b.warn {
    background: var(--signal-high);
}

.dashboard-conversation-row {
    display: grid;
    grid-template-columns: minmax(128px, 158px) minmax(0, 1fr) auto;
    gap: 16px;
    align-items: start;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
}

.dashboard-conversation-row:last-child {
    border-bottom: 0;
}

.dashboard-conversation-row > span {
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.4;
}

.dashboard-conversation-row > div {
    min-width: 0;
}

.dashboard-conversation-row strong {
    display: block;
    color: var(--ink);
    font-weight: 900;
}

.dashboard-conversation-row p {
    margin: 4px 0 0;
    color: var(--body);
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.dashboard-conversation-row em {
    padding: 5px 8px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
    color: var(--muted);
    font-size: 0.76rem;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

.dashboard-scope-note {
    margin: 14px 0 0;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.5;
}

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

.dashboard-recording-preview {
    display: block;
    width: 100%;
    max-height: 320px;
    margin-bottom: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--instrument);
    object-fit: contain;
}

audio.dashboard-recording-preview {
    min-height: 48px;
    padding: 10px;
    background: #eef4f7;
}

.dashboard-screenshot-strip {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: 10px;
    max-height: 244px;
    overflow-y: auto;
    padding-right: 4px;
    margin-bottom: 14px;
    scrollbar-color: var(--teal) var(--wash);
    scrollbar-width: thin;
}

.dashboard-screenshot-strip a {
    display: block;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--wash);
}

.dashboard-screenshot-strip img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.image-lightbox[hidden] {
    display: none;
}

.image-lightbox {
    position: fixed;
    z-index: 120;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 28px;
    background: rgba(15, 24, 34, 0.78);
}

.image-lightbox figure {
    position: relative;
    display: grid;
    gap: 12px;
    width: min(960px, 100%);
    max-height: min(86vh, 920px);
    margin: 0;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 26px 80px rgba(0, 0, 0, 0.34);
}

.image-lightbox img {
    display: block;
    width: 100%;
    max-height: calc(86vh - 96px);
    border-radius: 6px;
    object-fit: contain;
    background: var(--wash);
}

.image-lightbox figcaption {
    color: var(--body);
    font-weight: 800;
    line-height: 1.4;
}

.image-lightbox-close {
    position: fixed;
    top: 22px;
    right: 22px;
    z-index: 121;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 999px;
    background: #ffffff;
    color: var(--ink);
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
}

.image-lightbox-close:hover,
.image-lightbox-close:focus {
    border-color: var(--teal);
    color: var(--teal-dark);
}

.dashboard-evidence-tile {
    --tile-color: var(--teal);
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    min-height: 114px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff, rgba(245, 247, 251, 0.82));
}

.dashboard-evidence-tile.ok {
    --tile-color: var(--signal-low);
}

.dashboard-evidence-tile.steady {
    --tile-color: var(--signal-mid);
}

.dashboard-evidence-tile.warn {
    --tile-color: var(--signal-high);
}

.dashboard-evidence-tile.off {
    --tile-color: var(--signal-off);
}

.dashboard-evidence-icon {
    display: block;
    width: 44px;
    aspect-ratio: 1;
    border: 1px solid rgba(21, 111, 120, 0.22);
    border-radius: 999px;
    background:
        radial-gradient(circle at 50% 50%, var(--tile-color) 0 4px, transparent 5px),
        radial-gradient(circle at 50% 50%, rgba(21, 111, 120, 0.12) 0 18px, transparent 19px),
        #ffffff;
}

.dashboard-evidence-tile strong,
.dashboard-evidence-tile small,
.dashboard-evidence-tile em {
    display: block;
}

.dashboard-evidence-tile strong {
    color: var(--ink);
    font-weight: 900;
}

.dashboard-evidence-tile small {
    margin-top: 5px;
    color: var(--body);
    line-height: 1.4;
}

.dashboard-evidence-tile em {
    grid-column: 2;
    color: var(--tile-color);
    font-style: normal;
    font-weight: 900;
}

.dashboard-key-indicators {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(205px, 1fr));
    gap: 12px;
}

.dashboard-key-indicator {
    --indicator-color: var(--teal);
    --indicator-soft: rgba(21, 111, 120, 0.08);
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr);
    grid-template-areas:
        "gauge copy"
        "meter meter";
    gap: 10px 12px;
    align-items: center;
    min-width: 0;
    min-height: 142px;
    padding: 14px;
    border: 1px solid var(--line);
    border-top: 3px solid var(--indicator-color);
    border-radius: 6px;
    background: linear-gradient(180deg, #ffffff, var(--indicator-soft));
}

.dashboard-key-indicator.ok {
    --indicator-color: var(--signal-low);
    --indicator-soft: rgba(31, 207, 120, 0.07);
}

.dashboard-key-indicator.steady {
    --indicator-color: var(--signal-mid);
    --indicator-soft: rgba(242, 173, 33, 0.08);
}

.dashboard-key-indicator.warn {
    --indicator-color: var(--signal-high);
    --indicator-soft: rgba(240, 82, 82, 0.07);
}

.dashboard-key-indicator.off {
    --indicator-color: var(--signal-off);
    --indicator-soft: rgba(124, 135, 149, 0.07);
}

.dashboard-key-gauge {
    position: relative;
    grid-area: gauge;
    display: grid;
    place-content: center;
    width: 64px;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 50%;
    background: conic-gradient(var(--indicator-color) var(--meter, 0%), #e5edf2 var(--meter, 0%));
    color: var(--ink);
    text-align: center;
}

.dashboard-key-gauge::before {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(23, 32, 43, 0.04);
}

.dashboard-key-gauge b,
.dashboard-key-gauge small {
    position: relative;
    z-index: 1;
    display: block;
}

.dashboard-key-gauge b {
    font-size: 1.18rem;
    line-height: 1;
}

.dashboard-key-gauge small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 0.62rem;
    font-weight: 800;
}

.dashboard-key-copy {
    grid-area: copy;
    min-width: 0;
}

.dashboard-key-copy strong {
    display: block;
    color: var(--ink);
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1.25;
}

.dashboard-key-copy > span {
    display: block;
    margin-top: 4px;
    color: var(--indicator-color);
    font-size: 0.86rem;
    font-weight: 900;
    line-height: 1.35;
}

.dashboard-key-copy > small {
    display: -webkit-box;
    margin-top: 5px;
    overflow: hidden;
    color: var(--body);
    font-size: 0.76rem;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.dashboard-key-indicator i {
    position: relative;
    grid-area: meter;
    display: block;
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e6edf4;
}

.dashboard-key-indicator i::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--meter, 0%);
    border-radius: inherit;
    background: var(--indicator-color);
}

.theme-indicator-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 12px;
}

.theme-indicator-card,
.theme-review-card {
    --theme-color: var(--teal);
    --theme-soft: rgba(21, 111, 120, 0.1);
    display: grid;
    gap: 10px;
    min-width: 0;
    border: 1px solid var(--line);
    border-left: 5px solid var(--theme-color);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff, var(--theme-soft));
}

.theme-indicator-card {
    min-height: 178px;
    padding: 14px;
    box-shadow: 0 10px 26px rgba(23, 32, 43, 0.05);
}

.theme-review-card {
    padding: 16px;
}

.theme-indicator-card.ok,
.theme-review-card.ok {
    --theme-color: var(--signal-low);
    --theme-soft: rgba(31, 207, 120, 0.11);
}

.theme-indicator-card.steady,
.theme-review-card.steady {
    --theme-color: var(--signal-mid);
    --theme-soft: rgba(242, 173, 33, 0.12);
}

.theme-indicator-card.warn,
.theme-review-card.warn {
    --theme-color: var(--signal-high);
    --theme-soft: rgba(240, 82, 82, 0.1);
}

.theme-indicator-card.off,
.theme-review-card.off {
    --theme-color: var(--signal-off);
    --theme-soft: rgba(124, 135, 149, 0.08);
}

.theme-indicator-card > div,
.theme-review-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.theme-indicator-card strong,
.theme-review-card strong {
    color: var(--ink);
    font-weight: 900;
    line-height: 1.25;
}

.theme-indicator-card p,
.theme-indicator-card small,
.theme-review-card p,
.theme-review-card small,
.theme-review-head span {
    color: var(--body);
    line-height: 1.48;
}

.theme-indicator-card p,
.theme-review-card p {
    margin: 0;
}

.theme-indicator-card small,
.theme-review-card small,
.theme-review-head span {
    display: block;
    color: var(--muted);
    font-size: 0.86rem;
    font-weight: 700;
}

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

.theme-meter i {
    position: relative;
    display: block;
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(23, 32, 43, 0.1);
}

.theme-meter i > span {
    display: block;
    height: 100%;
    max-width: 100%;
    border-radius: inherit;
    background: var(--theme-color);
}

.communication-pattern-intro {
    max-width: 880px;
    margin: -4px 0 18px;
    color: var(--body);
    line-height: 1.55;
}

.communication-pattern-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
    gap: 0;
}

.communication-pattern-group {
    --pattern-color: var(--signal-mid);
    min-width: 0;
    padding: 0 20px;
    border-right: 1px solid var(--line);
}

.communication-pattern-group:first-child {
    padding-left: 0;
}

.communication-pattern-group:last-child {
    padding-right: 0;
    border-right: 0;
}

.communication-pattern-group.positive {
    --pattern-color: var(--signal-low);
}

.communication-pattern-group.warning {
    --pattern-color: var(--signal-high);
}

.communication-pattern-group h3 {
    display: flex;
    gap: 9px;
    align-items: center;
    margin: 0;
    color: var(--ink);
    font-size: 0.98rem;
}

.communication-pattern-group h3::before {
    content: "";
    flex: 0 0 auto;
    width: 10px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--pattern-color);
}

.communication-pattern-group > p {
    min-height: 42px;
    margin: 7px 0 13px;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.45;
}

.communication-pattern-group ul {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.communication-pattern-group li {
    min-width: 0;
    padding: 13px 0;
    border-top: 1px solid var(--line);
}

.communication-pattern-group li > div {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    justify-content: space-between;
}

.communication-pattern-group li strong {
    color: var(--ink);
    font-size: 0.88rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.communication-pattern-group li em {
    flex: 0 0 auto;
    color: var(--pattern-color);
    font-size: 0.7rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1.4;
    white-space: nowrap;
}

.communication-pattern-group li small {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.communication-pattern-group li p {
    margin: 6px 0 0;
    color: var(--body);
    font-size: 0.84rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.theme-meter b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 32px;
    border: 1px solid var(--theme-color);
    border-radius: 999px;
    background: #ffffff;
    color: var(--theme-color);
    font-size: 0.9rem;
    font-weight: 900;
}

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

.dashboard-insight-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}

.dashboard-insight {
    --insight-color: var(--teal);
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    min-height: 96px;
    padding: 10px 22px;
    border-right: 1px solid var(--line);
}

.dashboard-insight:last-child {
    border-right: 0;
}

.dashboard-insight.ok {
    --insight-color: var(--signal-low);
}

.dashboard-insight.steady {
    --insight-color: var(--signal-mid);
}

.dashboard-insight.warn {
    --insight-color: var(--signal-high);
}

.dashboard-insight.off {
    --insight-color: var(--signal-off);
}

.dashboard-insight > span {
    display: grid;
    place-items: center;
    width: 58px;
    aspect-ratio: 1;
    border-radius: 999px;
    background: var(--insight-color);
    box-shadow: 0 14px 26px rgba(21, 111, 120, 0.16);
}

.dashboard-insight > span::before {
    content: "";
    width: 22px;
    height: 12px;
    border-bottom: 4px solid #ffffff;
    border-left: 4px solid #ffffff;
    transform: rotate(-45deg) translate(1px, -1px);
}

.dashboard-insight.warn > span::before,
.dashboard-insight.steady > span::before {
    width: 4px;
    height: 24px;
    border: 0;
    border-radius: 999px;
    background: #ffffff;
    box-shadow: 0 32px 0 -10px #ffffff;
    transform: none;
}

.dashboard-insight strong {
    display: block;
    color: var(--ink);
    font-weight: 900;
}

.dashboard-insight p {
    margin: 5px 0 0;
    color: var(--body);
    line-height: 1.45;
}

.executive-summary {
    border-top: 4px solid var(--teal);
}

.reader-report-summary {
    display: grid;
    gap: 22px;
}

.reader-report-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(210px, 280px);
    gap: 18px;
    align-items: stretch;
}

.reader-conclusion-card,
.reader-confidence-card,
.reader-question-grid article,
.reader-response-card,
.reader-gauge-card,
.reader-main-point-grid article,
.reader-note-box {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
}

.reader-conclusion-card {
    display: grid;
    gap: 10px;
    padding: 22px;
    border-left: 5px solid var(--teal);
    background:
        linear-gradient(90deg, rgba(21, 111, 120, 0.08), rgba(255, 255, 255, 0)),
        #ffffff;
}

.reader-kicker {
    color: var(--teal-dark);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.reader-conclusion-card h2 {
    margin: 0;
    color: var(--ink);
    font-size: 1.55rem;
    line-height: 1.12;
}

.reader-answer-text {
    color: var(--ink);
    font-size: 1.03rem;
    font-weight: 750;
    line-height: 1.6;
}

.reader-conclusion-card p {
    margin: 0;
}

.reader-confidence-card {
    display: grid;
    gap: 10px;
    justify-items: center;
    align-content: center;
    padding: 20px;
    text-align: center;
}

.reader-confidence-card .dashboard-index-ring {
    width: 132px;
}

.reader-confidence-card strong {
    color: var(--ink);
    font-weight: 900;
}

.reader-confidence-card p {
    margin: 0;
    color: var(--body);
    font-size: 0.88rem;
    line-height: 1.5;
}

.reader-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
}

.reader-section-head h3 {
    margin: 0;
    color: var(--ink);
    font-size: 1.05rem;
}

.reader-section-head p {
    max-width: 680px;
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

.reader-question-grid,
.reader-main-point-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 12px;
}

.reader-question-grid article,
.reader-main-point-grid article {
    display: grid;
    gap: 9px;
    align-content: start;
    padding: 16px;
}

.reader-question-grid article > span {
    color: var(--teal-dark);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.reader-question-grid strong,
.reader-main-point-grid strong {
    color: var(--ink);
    line-height: 1.35;
}

.reader-question-grid p,
.reader-question-grid small,
.reader-main-point-grid p,
.reader-main-point-grid small {
    margin: 0;
    color: var(--body);
    line-height: 1.5;
}

.reader-question-grid .reader-question-answer {
    color: var(--ink);
    font-size: 0.96rem;
    font-weight: 650;
}

.reader-question-grid .reader-question-basis {
    color: var(--muted);
    font-size: 0.84rem;
}

.reader-question-grid .reader-question-basis b {
    color: var(--ink);
}

.reader-question-grid .confidence-chip {
    justify-self: start;
    margin-top: 4px;
}

.reader-main-point-grid article > div {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.reader-main-point-grid small {
    color: var(--muted);
    font-size: 0.86rem;
}

.reader-response-grid {
    display: grid;
    gap: 12px;
}

.reader-response-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border-left: 4px solid var(--teal);
    background:
        linear-gradient(90deg, rgba(21, 111, 120, 0.06), rgba(255, 255, 255, 0)),
        #ffffff;
}

.reader-response-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.reader-response-head div {
    min-width: 0;
}

.reader-response-head strong {
    display: block;
    color: var(--ink);
    font-weight: 900;
}

.reader-response-meta {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
}

.reader-mini-gauge {
    --mini-gauge-color: var(--teal);
    --needle-angle: -90deg;
    position: relative;
    display: grid;
    width: 78px;
    aspect-ratio: 2 / 1.05;
    margin: 0 0 9px;
    place-items: end center;
    overflow: visible;
    border-radius: 999px 999px 8px 8px;
    background:
        conic-gradient(
            from -90deg at 50% 100%,
            var(--signal-low) 0deg 42deg,
            var(--signal-mid) 42deg 112deg,
            #ef7a23 112deg 148deg,
            var(--signal-high) 148deg 180deg,
            transparent 180deg 360deg
        );
}

.reader-mini-gauge::before {
    content: "";
    position: absolute;
    inset: 11px 12px -1px;
    z-index: 1;
    border-radius: 999px 999px 7px 7px;
    background: #ffffff;
}

.reader-mini-gauge::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 1px;
    z-index: 3;
    width: 43%;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #233142, #cf2e87);
    clip-path: polygon(0 35%, 100% 0, 100% 100%, 0 65%);
    transform: rotate(var(--needle-angle));
    transform-origin: 0 50%;
}

.reader-mini-gauge b {
    position: absolute;
    left: 50%;
    bottom: -9px;
    z-index: 4;
    display: grid;
    width: 26px;
    height: 26px;
    place-content: center;
    border: 3px solid #ffffff;
    border-radius: 50%;
    background: var(--mini-gauge-color);
    color: var(--ink);
    box-shadow: 0 5px 12px rgba(15, 30, 44, 0.16);
    transform: translateX(-50%);
    font-size: 0.68rem;
    font-weight: 900;
}

.reader-mini-gauge.ok {
    --mini-gauge-color: var(--signal-low);
}

.reader-mini-gauge.steady {
    --mini-gauge-color: var(--signal-mid);
}

.reader-mini-gauge.warn {
    --mini-gauge-color: var(--signal-high);
}

.reader-mini-gauge.warn b {
    color: #ffffff;
}

.reader-mini-gauge.off {
    --mini-gauge-color: var(--signal-off);
    background:
        conic-gradient(
            from -90deg at 50% 100%,
            #d9e2ea 0deg 180deg,
            transparent 180deg 360deg
        );
}

.reader-mini-gauge.off::after {
    background: #95a5b3;
}

.reader-response-head span:not(.reader-mini-gauge),
.reader-response-card small {
    display: block;
    color: var(--muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

.reader-response-card p {
    margin: 0;
    color: var(--body);
    line-height: 1.5;
}

.reader-signal-meter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
    gap: 9px;
}

.reader-gauge-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.reader-gauge-card {
    --reader-gauge-color: var(--teal);
    --needle-angle: -90deg;
    --meter-angle: 90deg;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    align-content: start;
    min-height: 218px;
    padding: 16px;
    border-top: 3px solid var(--reader-gauge-color);
    background:
        linear-gradient(180deg, #ffffff, rgba(21, 111, 120, 0.05)),
        #ffffff;
}

.reader-gauge-card.priority {
    grid-column: auto;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 218px;
    padding: 16px;
    border-top-width: 4px;
    box-shadow: 0 14px 30px rgba(21, 111, 120, 0.12);
}

.reader-gauge-card.priority .reader-gauge-ring {
    width: min(100%, 156px);
}

.reader-gauge-card.priority strong {
    font-size: 0.94rem;
}

.reader-gauge-card.priority small {
    font-size: 0.78rem;
}

.reader-gauge-card.ok,
.reader-gauge-card.positive {
    --reader-gauge-color: var(--signal-low);
}

.reader-gauge-card.steady,
.reader-gauge-card.concern {
    --reader-gauge-color: var(--signal-mid);
}

.reader-gauge-card.warn,
.reader-gauge-card.warning {
    --reader-gauge-color: var(--signal-high);
}

.reader-gauge-card.off {
    --reader-gauge-color: var(--signal-off);
}

.reader-score-0 {
    --needle-angle: -180deg;
    --meter-angle: 0deg;
}

.reader-score-5 {
    --needle-angle: -171deg;
    --meter-angle: 9deg;
}

.reader-score-10 {
    --needle-angle: -162deg;
    --meter-angle: 18deg;
}

.reader-score-15 {
    --needle-angle: -153deg;
    --meter-angle: 27deg;
}

.reader-score-20 {
    --needle-angle: -144deg;
    --meter-angle: 36deg;
}

.reader-score-25 {
    --needle-angle: -135deg;
    --meter-angle: 45deg;
}

.reader-score-30 {
    --needle-angle: -126deg;
    --meter-angle: 54deg;
}

.reader-score-35 {
    --needle-angle: -117deg;
    --meter-angle: 63deg;
}

.reader-score-40 {
    --needle-angle: -108deg;
    --meter-angle: 72deg;
}

.reader-score-45 {
    --needle-angle: -99deg;
    --meter-angle: 81deg;
}

.reader-score-50 {
    --needle-angle: -90deg;
    --meter-angle: 90deg;
}

.reader-score-55 {
    --needle-angle: -81deg;
    --meter-angle: 99deg;
}

.reader-score-60 {
    --needle-angle: -72deg;
    --meter-angle: 108deg;
}

.reader-score-65 {
    --needle-angle: -63deg;
    --meter-angle: 117deg;
}

.reader-score-70 {
    --needle-angle: -54deg;
    --meter-angle: 126deg;
}

.reader-score-75 {
    --needle-angle: -45deg;
    --meter-angle: 135deg;
}

.reader-score-80 {
    --needle-angle: -36deg;
    --meter-angle: 144deg;
}

.reader-score-85 {
    --needle-angle: -27deg;
    --meter-angle: 153deg;
}

.reader-score-90 {
    --needle-angle: -18deg;
    --meter-angle: 162deg;
}

.reader-score-95 {
    --needle-angle: -9deg;
    --meter-angle: 171deg;
}

.reader-score-100 {
    --needle-angle: 0deg;
    --meter-angle: 180deg;
}

.reader-gauge-ring {
    position: relative;
    display: grid;
    width: min(100%, 156px);
    aspect-ratio: 2 / 1.05;
    margin: 0 auto 18px;
    place-items: end center;
    overflow: visible;
    border-radius: 999px 999px 12px 12px;
    background:
        conic-gradient(
            from -90deg at 50% 100%,
            var(--signal-low) 0deg 36deg,
            #8fa94d 36deg 72deg,
            var(--signal-mid) 72deg 112deg,
            #ef7a23 112deg 148deg,
            var(--signal-high) 148deg 180deg,
            transparent 180deg 360deg
        );
    filter: drop-shadow(0 10px 18px rgba(15, 30, 44, 0.12));
}

.reader-gauge-ring::before {
    content: "";
    position: absolute;
    inset: 21px 24px -1px;
    z-index: 1;
    border-radius: 999px 999px 10px 10px;
    background: #ffffff;
}

.reader-gauge-ring::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 1px;
    z-index: 3;
    width: 46%;
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(90deg, #233142, #cf2e87);
    box-shadow: 0 1px 4px rgba(15, 30, 44, 0.24);
    clip-path: polygon(0 35%, 100% 0, 100% 100%, 0 65%);
    transform: rotate(var(--needle-angle));
    transform-origin: 0 50%;
}

.reader-gauge-ring b {
    position: absolute;
    left: 50%;
    bottom: -14px;
    z-index: 4;
    display: grid;
    width: 44px;
    height: 44px;
    place-content: center;
    border: 4px solid #ffffff;
    border-radius: 50%;
    background: var(--reader-gauge-color);
    color: var(--ink);
    box-shadow: 0 7px 18px rgba(15, 30, 44, 0.18);
    transform: translateX(-50%);
    font-size: 1rem;
    font-weight: 900;
}

.reader-gauge-card.warn .reader-gauge-ring b,
.reader-gauge-card.warning .reader-gauge-ring b {
    color: #ffffff;
}

.reader-gauge-card.positive .reader-gauge-ring {
    background:
        conic-gradient(
            from -90deg at 50% 100%,
            var(--signal-low) 0deg var(--meter-angle),
            #e4ebf0 var(--meter-angle) 180deg,
            transparent 180deg 360deg
        );
}

.reader-gauge-card.positive .reader-gauge-ring::after {
    background: linear-gradient(90deg, #153b31, var(--signal-low));
}

.reader-gauge-card.off .reader-gauge-ring {
    background:
        conic-gradient(
            from -90deg at 50% 100%,
            #d9e2ea 0deg 180deg,
            transparent 180deg 360deg
        );
}

.reader-gauge-card.off .reader-gauge-ring::after {
    background: #95a5b3;
}

.reader-gauge-card div {
    display: grid;
    gap: 5px;
    min-width: 0;
    text-align: center;
}

.reader-gauge-card strong {
    color: var(--ink);
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1.25;
}

.reader-gauge-card em {
    color: var(--reader-gauge-color);
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 900;
}

.reader-gauge-card small {
    color: var(--body);
    font-size: 0.78rem;
    line-height: 1.42;
}

.reader-note-box {
    padding: 16px;
    border-left: 4px solid var(--signal-mid);
    background: #fffaf0;
}

.reader-note-box strong {
    display: block;
    margin-bottom: 8px;
    color: var(--ink);
    font-weight: 900;
}

.review-context-panel {
    display: grid;
    gap: 14px;
}

.review-context-focus {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border-left: 4px solid var(--teal);
    background: var(--wash);
}

.review-context-focus span {
    color: var(--teal-dark);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.review-context-focus strong {
    color: var(--ink);
    font-size: 1rem;
    line-height: 1.5;
}

.review-context-secondary {
    padding: 12px 16px;
    border-left: 4px solid var(--signal-mid);
    background: #ffffff;
}

.review-context-secondary > span {
    color: #7a5800;
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.review-context-secondary .plain-list {
    margin: 8px 0 0;
}

.supporting-context-disclosure {
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #ffffff;
}

.supporting-context-disclosure summary {
    cursor: pointer;
    padding: 12px 14px;
    color: var(--ink);
    font-weight: 900;
}

.supporting-context-disclosure p,
.supporting-context-disclosure small {
    display: block;
    margin: 0;
    padding: 0 14px 14px;
    color: var(--body);
    line-height: 1.55;
}

.supporting-context-disclosure small {
    color: var(--muted);
    font-size: 0.84rem;
}

.admin-report-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #ffffff;
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 800;
}

.review-focus-outcome {
    display: grid;
    gap: 8px;
    padding: 16px;
    border: 1px solid rgba(21, 111, 120, 0.2);
    border-left: 5px solid var(--teal);
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(21, 111, 120, 0.09), rgba(255, 255, 255, 0)),
        #ffffff;
}

.review-focus-outcome span {
    color: var(--teal-dark);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.review-focus-outcome strong {
    color: var(--ink);
    font-size: 1.05rem;
}

.review-focus-outcome p {
    margin: 0;
    color: var(--body);
    line-height: 1.6;
}

.review-answer-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.review-counterpoints {
    padding-top: 10px;
    border-top: 1px solid rgba(21, 111, 120, 0.16);
}

.review-counterpoints b {
    color: var(--ink);
}

.review-counterpoints .plain-list {
    margin: 8px 0 0;
}

.secondary-question-assessments {
    display: grid;
    gap: 0;
    margin-top: 18px;
}

.secondary-question-assessments h3 {
    margin: 0 0 4px;
    color: var(--ink);
    font-size: 0.98rem;
}

.secondary-question-assessments article {
    padding: 16px 0;
    border-top: 1px solid var(--line);
}

.secondary-question-assessments article p {
    margin: 8px 0 0;
    color: var(--body);
    line-height: 1.55;
}

.evidence-quality-impact {
    margin-top: 18px;
    padding: 14px 16px;
    border-left: 4px solid var(--signal-mid);
    background: #fffaf0;
}

.evidence-quality-impact strong {
    color: var(--ink);
}

.evidence-quality-impact p {
    margin: 6px 0 0;
    color: var(--body);
    line-height: 1.55;
}

.recommended-follow-ups {
    margin-top: 18px;
    border-top: 1px solid var(--line);
}

.recommended-follow-ups summary {
    cursor: pointer;
    padding: 14px 0 8px;
    color: var(--ink);
    font-weight: 900;
}

.recommended-follow-ups ol {
    margin: 6px 0 0;
    padding-left: 22px;
    color: var(--body);
}

.recommended-follow-ups li + li {
    margin-top: 8px;
}

.case-evidence-preview {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.case-evidence-preview h3 {
    margin: 0;
    color: var(--ink);
    font-size: 0.96rem;
}

.case-evidence-preview article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 14px;
    padding: 14px 0;
    border-top: 1px solid var(--line);
}

.case-evidence-preview article > div span,
.case-evidence-preview article > div strong {
    display: block;
}

.case-evidence-preview article > div span {
    margin-top: 3px;
    color: var(--muted);
    font-size: 0.84rem;
}

.case-evidence-preview blockquote,
.case-evidence-preview p {
    grid-column: 1 / -1;
    margin: 0;
}

.case-evidence-preview blockquote {
    padding: 10px 12px;
    border-left: 3px solid var(--teal);
    background: var(--wash);
    color: var(--ink);
    font-style: normal;
    line-height: 1.5;
}

.case-evidence-preview p {
    color: var(--body);
    line-height: 1.5;
}

.summary-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.summary-stat-grid div,
.key-question-list article {
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.summary-stat-grid span {
    display: block;
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 800;
}

.summary-stat-grid strong {
    display: block;
    margin-top: 6px;
    color: var(--ink);
    line-height: 1.35;
}

.key-question-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.key-question-list article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 14px;
    align-items: start;
}

.key-question-list p,
.key-question-list small {
    margin: 6px 0 0;
    color: var(--body);
    line-height: 1.45;
}

.key-question-list small {
    grid-column: 1 / -1;
}

.signal-dashboard {
    border-top: 4px solid var(--teal);
    background:
        linear-gradient(180deg, rgba(23, 122, 126, 0.05), rgba(255, 255, 255, 0) 180px),
        #ffffff;
}

.gauge-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.gauge-card {
    --level-color: var(--teal);
    --level-soft: rgba(21, 111, 120, 0.12);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 14px;
    align-items: start;
    min-height: 0;
    padding: 14px;
    border: 1px solid var(--line);
    border-left: 5px solid var(--level-color);
    border-radius: 6px;
    background: linear-gradient(180deg, #ffffff, var(--level-soft));
    box-shadow: 0 8px 20px rgba(23, 32, 43, 0.05);
}

.gauge-card.ok {
    --level-color: var(--signal-low);
    --level-soft: rgba(31, 207, 120, 0.1);
}

.gauge-card.steady {
    --level-color: var(--signal-mid);
    --level-soft: rgba(242, 173, 33, 0.11);
}

.gauge-card.warn {
    --level-color: var(--signal-high);
    --level-soft: rgba(240, 82, 82, 0.09);
}

.gauge-card.off {
    --level-color: var(--signal-off);
    --level-soft: rgba(124, 135, 149, 0.08);
}

.gauge-score {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid var(--level-color);
    border-radius: 999px;
    background: #ffffff;
    color: var(--level-color);
    font-size: 0.95rem;
    font-weight: 900;
}

.gauge-bar {
    position: relative;
    grid-column: 1 / -1;
    display: block;
    width: 100%;
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(23, 32, 43, 0.1);
}

.gauge-bar::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--meter, 0%);
    border-radius: inherit;
    background: var(--level-color);
}

.gauge-copy {
    min-width: 0;
}

.gauge-copy strong,
.gauge-copy em,
.gauge-copy small {
    display: block;
}

.gauge-copy strong {
    color: var(--ink);
    font-size: 0.95rem;
}

.gauge-copy em {
    margin-top: 4px;
    color: var(--teal-dark);
    font-style: normal;
    font-weight: 900;
}

.gauge-copy small {
    margin-top: 6px;
    color: var(--muted);
    line-height: 1.42;
}

.behaviour-timeline-panel {
    border-top: 4px solid #b78321;
}

.behaviour-timeline-track {
    position: relative;
    height: 18px;
    margin: 18px 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(53, 132, 88, 0.18), rgba(183, 131, 33, 0.18), rgba(191, 90, 75, 0.18));
}

.timeline-mark {
    position: absolute;
    top: 3px;
    left: var(--left, 0%);
    width: var(--width, 5%);
    min-width: 12px;
    height: 10px;
    border-radius: 999px;
    background: var(--muted);
}

.timeline-mark.ok {
    background: var(--signal-low);
}

.timeline-mark.steady {
    background: var(--signal-mid);
}

.timeline-mark.warn {
    background: var(--signal-high);
}

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

.behaviour-timeline-list article {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.timeline-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.timeline-card-head strong,
.timeline-card-head span,
.behaviour-timeline-list p,
.behaviour-timeline-list small {
    display: block;
}

.timeline-card-head strong {
    color: var(--ink);
}

.timeline-card-head span,
.behaviour-timeline-list small {
    margin-top: 4px;
    color: var(--muted);
    line-height: 1.45;
}

.behaviour-timeline-list p {
    margin: 0;
    color: var(--body);
    line-height: 1.55;
}

.compact-response-details {
    margin-top: 14px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #ffffff;
}

.compact-response-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 46px;
    padding: 0 14px;
    color: var(--ink);
    cursor: pointer;
    font-weight: 900;
}

.compact-response-details summary span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--wash);
    color: var(--muted);
    font-size: 0.8rem;
}

.compact-response-list {
    display: grid;
    gap: 8px;
    max-height: 360px;
    overflow: auto;
    padding: 0 14px 14px;
    scrollbar-color: var(--teal) var(--wash);
}

.compact-response-list div {
    display: grid;
    grid-template-columns: minmax(120px, 0.6fr) auto minmax(0, 1.4fr);
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.compact-response-list strong,
.compact-response-list span,
.compact-response-list small {
    min-width: 0;
}

.compact-response-list span {
    color: var(--muted);
    font-weight: 900;
}

.compact-response-list small {
    color: var(--body);
    line-height: 1.35;
}

.timeline-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.timeline-metrics span {
    padding: 6px 9px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #ffffff;
    color: var(--body);
    font-size: 0.82rem;
    font-weight: 800;
}

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

.sentence-meter {
    --meter-color: var(--teal);
    --meter-soft: rgba(21, 111, 120, 0.1);
    display: grid;
    gap: 5px;
    min-height: 74px;
    padding: 9px;
    border: 1px solid var(--line);
    border-left: 4px solid var(--meter-color);
    border-radius: 6px;
    background: linear-gradient(180deg, #ffffff, var(--meter-soft));
    box-shadow: inset 0 -1px 0 rgba(23, 32, 43, 0.04);
}

.sentence-meter.ok {
    --meter-color: var(--signal-low);
    --meter-soft: rgba(31, 207, 120, 0.12);
}

.sentence-meter.steady {
    --meter-color: var(--signal-mid);
    --meter-soft: rgba(242, 173, 33, 0.12);
}

.sentence-meter.warn {
    --meter-color: var(--signal-high);
    --meter-soft: rgba(240, 82, 82, 0.12);
}

.sentence-meter.off {
    --meter-color: var(--signal-off);
    --meter-soft: #f9fbfd;
}

.sentence-meter strong,
.sentence-meter em {
    display: block;
}

.sentence-meter strong {
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.sentence-meter em {
    min-height: 1.1rem;
    color: var(--ink);
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1.25;
}

.sentence-meter i {
    position: relative;
    display: block;
    width: 100%;
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(23, 32, 43, 0.09);
}

.sentence-meter i::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--meter, 0%);
    border-radius: inherit;
    background: var(--meter-color);
}

.report-accordion {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.report-accordion details {
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.report-detail-panel {
    padding: 0;
}

.report-detail-panel > summary {
    display: flex;
    cursor: pointer;
    list-style: none;
    justify-content: space-between;
    gap: 14px;
    padding: 18px;
    color: var(--ink);
    font-weight: 900;
}

.report-detail-panel > summary::-webkit-details-marker {
    display: none;
}

.report-detail-panel > summary::after {
    content: "+";
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--teal);
    line-height: 22px;
    text-align: center;
}

.report-detail-panel[open] > summary::after {
    content: "-";
}

.report-detail-panel > .compact-muted,
.report-detail-panel > .channel-list,
.report-detail-panel > .transcript-list,
.report-detail-panel > .transcript-editor,
.report-detail-panel > .report-detail-body {
    margin: 0 18px 18px;
}

.report-detail-body {
    display: grid;
    gap: 14px;
}

.report-detail-body > .status-list:first-child,
.report-detail-body > p:first-child {
    margin-top: 0;
}

.report-accordion summary {
    display: flex;
    cursor: pointer;
    list-style: none;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    color: var(--ink);
    font-weight: 900;
}

.report-accordion summary::-webkit-details-marker {
    display: none;
}

.report-accordion summary::after {
    content: "+";
    width: 24px;
    height: 24px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--teal);
    line-height: 22px;
    text-align: center;
}

.report-accordion details[open] summary::after {
    content: "-";
}

.report-accordion summary em {
    margin-left: auto;
    color: var(--muted);
    font-size: 0.82rem;
    font-style: normal;
}

.accordion-body {
    padding: 0 16px 16px;
}

.report-observation-list div {
    display: grid;
    grid-template-columns: minmax(180px, 0.85fr) minmax(0, 1fr);
}

.question-review-list {
    display: grid;
    gap: 14px;
}

.case-evidence-list,
.case-comparison-list,
.directness-review-list {
    display: grid;
    gap: 0;
}

.case-evidence-list article,
.case-comparison-list article,
.directness-review-list article {
    display: grid;
    gap: 10px;
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
}

.case-evidence-list article:first-child,
.case-comparison-list article:first-child,
.directness-review-list article:first-child {
    padding-top: 0;
}

.case-evidence-list article:last-child,
.case-comparison-list article:last-child,
.directness-review-list article:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.case-evidence-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.case-evidence-head strong,
.case-evidence-head span {
    display: block;
}

.case-evidence-head strong {
    color: var(--ink);
    font-weight: 900;
}

.case-evidence-head span,
.case-evidence-list small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 0.84rem;
}

.case-evidence-list blockquote,
.directness-review-list blockquote {
    margin: 0;
    padding: 11px 13px;
    border-left: 3px solid var(--teal);
    background: var(--wash);
    color: var(--ink);
    font-style: normal;
    line-height: 1.55;
}

.case-evidence-list p,
.case-comparison-list p,
.directness-review-list p {
    margin: 0;
    color: var(--body);
    line-height: 1.55;
}

.case-comparison-list dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.case-comparison-list dl div {
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.case-comparison-list dt {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 900;
}

.case-comparison-list dd {
    margin: 6px 0 0;
    color: var(--ink);
    line-height: 1.5;
}

.question-review-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #ffffff;
}

.question-review-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.question-review-head strong {
    display: block;
    margin-bottom: 6px;
    color: var(--ink);
    font-size: 1rem;
}

.question-review-card p {
    margin: 0;
    color: var(--body);
    line-height: 1.55;
}

.response-quote {
    padding: 12px;
    border-left: 3px solid var(--teal);
    border-radius: 0 6px 6px 0;
    background: var(--wash);
}

.question-review-grid,
.question-signal-grid {
    display: grid;
    gap: 10px;
}

.question-review-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(130px, 0.4fr) minmax(150px, 0.5fr);
}

.question-review-grid div,
.question-signal-grid div {
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.question-review-grid dt,
.question-signal-grid strong {
    display: block;
    margin-bottom: 5px;
    color: var(--ink);
    font-weight: 900;
}

.question-review-grid dd {
    margin: 0;
    color: var(--body);
    line-height: 1.45;
}

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

.reliability-list {
    margin-top: 8px;
}

.plain-list {
    margin: 0;
    padding-left: 20px;
    color: var(--body);
    line-height: 1.68;
}

.transcript-list {
    display: grid;
    gap: 12px;
    max-height: min(760px, 72vh);
    overflow-y: auto;
    padding-right: 8px;
    scrollbar-color: var(--teal) var(--wash);
    scrollbar-width: thin;
}

.transcript-list::-webkit-scrollbar {
    width: 10px;
}

.transcript-list::-webkit-scrollbar-track {
    border-radius: 999px;
    background: var(--wash);
}

.transcript-list::-webkit-scrollbar-thumb {
    border: 2px solid var(--wash);
    border-radius: 999px;
    background: var(--teal);
}

.transcript-list article {
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.transcript-list strong,
.transcript-list span,
.transcript-list p {
    display: block;
}

.transcript-list span {
    margin-top: 4px;
    color: var(--muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.transcript-list p {
    margin: 8px 0 0;
    color: var(--body);
    line-height: 1.55;
}

.plain-transcript-box {
    max-height: min(460px, 58vh);
    overflow-y: auto;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
    scrollbar-color: var(--teal) var(--wash);
    scrollbar-width: thin;
}

.plain-transcript-box::-webkit-scrollbar {
    width: 10px;
}

.plain-transcript-box::-webkit-scrollbar-track {
    border-radius: 999px;
    background: var(--wash);
}

.plain-transcript-box::-webkit-scrollbar-thumb {
    border: 2px solid var(--wash);
    border-radius: 999px;
    background: var(--teal);
}

.plain-transcript-box p {
    margin: 0;
    color: var(--body);
    line-height: 1.65;
}

.transcript-editor {
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #ffffff;
}

.transcript-editor > summary {
    cursor: pointer;
    list-style: none;
    padding: 14px;
    color: var(--teal-dark);
    font-weight: 900;
}

.transcript-editor > summary::-webkit-details-marker {
    display: none;
}

.transcript-editor form {
    display: grid;
    gap: 14px;
    padding: 0 14px 14px;
}

.transcript-edit-list {
    display: grid;
    gap: 10px;
    max-height: min(720px, 70vh);
    overflow-y: auto;
    padding-right: 8px;
    scrollbar-color: var(--teal) var(--wash);
    scrollbar-width: thin;
}

.transcript-edit-row {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.transcript-edit-meta {
    display: grid;
    grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
    gap: 12px;
    align-items: end;
}

.transcript-edit-meta span {
    color: var(--muted);
    font-weight: 800;
}

.transcript-editor label span {
    display: block;
    margin-bottom: 6px;
    color: var(--muted);
    font-weight: 800;
}

.transcript-editor input,
.transcript-editor textarea {
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #ffffff;
    color: var(--ink);
    font: inherit;
}

.transcript-editor textarea {
    resize: vertical;
    line-height: 1.5;
}

.status-list {
    display: grid;
    gap: 10px;
    margin: 18px 0 0;
}

.status-list div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding-top: 10px;
    border-top: 1px solid var(--line);
}

.status-list .metric-row-with-note {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(120px, auto);
}

.status-list dt,
.status-list dd {
    margin: 0;
}

.status-list dt {
    color: var(--muted);
}

.status-list dd {
    font-weight: 800;
    text-align: right;
    overflow-wrap: anywhere;
}

.status-list small {
    grid-column: 1 / -1;
    color: var(--muted);
    line-height: 1.45;
}

.term-with-help,
.panel-title h2,
.info-panel > h2 {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.term-with-help {
    min-width: 0;
}

.form-panel label .term-with-help,
.switch-row .term-with-help,
.field .term-with-help {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    line-height: 1.25;
}

.info-tip {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1px solid rgba(23, 122, 126, 0.35);
    border-radius: 999px;
    background: rgba(23, 122, 126, 0.08);
    color: var(--teal);
    cursor: help;
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
}

.form-panel label .info-tip,
.switch-row .info-tip,
.field .info-tip {
    display: inline-flex;
    font-weight: 900;
}

.info-tip:focus-visible {
    outline: 3px solid rgba(23, 122, 126, 0.22);
    outline-offset: 2px;
}

.info-tip [role="tooltip"] {
    display: none;
    position: absolute;
    z-index: 30;
    bottom: calc(100% + 9px);
    left: 50%;
    width: max-content;
    max-width: min(320px, 78vw);
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #101820;
    box-shadow: var(--shadow);
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.45;
    opacity: 0;
    pointer-events: none;
    text-align: left;
    transform: translate(-50%, 6px);
    transition: opacity 0.16s ease, transform 0.16s ease;
    white-space: normal;
}

.info-tip [role="tooltip"]::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -6px;
    border: 6px solid transparent;
    border-top-color: #101820;
}

.info-tip:hover [role="tooltip"],
.info-tip:focus [role="tooltip"],
.info-tip:focus-within [role="tooltip"] {
    display: block;
    opacity: 1;
    transform: translate(-50%, 0);
}

.status-ok {
    color: var(--green);
}

.status-warn {
    color: var(--gold);
}

.notice {
    padding: 14px 16px;
    color: var(--blue);
    line-height: 1.5;
}

.notice ul {
    margin: 10px 0 0;
    padding-left: 20px;
}

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

.notice.warning {
    color: #8a5a00;
}

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

.site-footer {
    margin-top: 72px;
    border-top: 1px solid var(--line);
    background: #ffffff;
}

.footer-grid {
    grid-template-columns: minmax(260px, 1.35fr) minmax(180px, 0.9fr) minmax(150px, 0.7fr) minmax(140px, 0.65fr);
    gap: clamp(32px, 5vw, 72px);
    padding: 42px 0 30px;
}

.footer-logo {
    display: block;
    width: 190px;
    max-width: 100%;
}

.site-footer p {
    max-width: 320px;
    margin: 18px 0 0;
    color: var(--body);
    line-height: 1.62;
}

.site-footer h2 {
    margin: 2px 0 14px;
    font-size: 0.82rem;
    text-transform: uppercase;
    color: var(--ink);
}

.site-footer a {
    display: block;
    width: fit-content;
    margin: 0;
    color: var(--body);
    text-decoration: none;
}

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.site-footer .footer-primary-link {
    margin-top: 20px;
    color: var(--teal-dark);
    font-weight: 700;
}

.footer-primary-link span {
    display: inline-block;
    margin-left: 4px;
    transition: transform 160ms ease;
}

.footer-primary-link:hover span {
    transform: translateX(3px);
}

.site-footer a:hover {
    color: var(--teal-dark);
    text-decoration: underline;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 0 34px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: 0.9rem;
}

pre {
    overflow-x: auto;
    margin: 0 0 12px;
    padding: 14px;
    border-radius: 6px;
    background: #101820;
    color: #f2f6fb;
    line-height: 1.55;
}

@media (max-width: 1120px) {
    .dashboard-top-grid,
    .dashboard-mid-grid {
        grid-template-columns: 1fr;
    }

    .admin-overview {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-card-heading {
        flex-wrap: wrap;
    }
}

@media (max-width: 980px) {
    .nav-shell {
        grid-template-columns: 1fr auto;
        padding: 14px 0;
    }

    .main-nav {
        grid-column: 1 / -1;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .hero-grid,
    .split-panel,
    .feature-grid,
    .evidence-type-grid,
    .report-value-grid,
    .faq-preview-grid,
    .pricing-tier-grid,
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .hero-grid {
        min-height: 0;
    }

    .not-found-layout {
        grid-template-columns: 1fr;
        gap: 34px;
        min-height: 0;
    }

    .not-found-marker {
        max-width: 620px;
    }

    h1 {
        font-size: 3.05rem;
    }

    .admin-layout {
        grid-template-columns: 220px minmax(0, 1fr);
    }

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

@media (max-width: 720px) {
    .shell {
        width: min(100% - 24px, 1180px);
    }

    .brand-link img {
        width: 198px;
    }

    .nav-toggle {
        display: inline-flex;
    }

    .main-nav {
        display: none;
        grid-column: 1 / -1;
        width: 100%;
        padding: 12px 0 2px;
        border-top: 1px solid var(--line);
    }

    .main-nav.is-open {
        display: grid;
        gap: 8px;
    }

    .main-nav a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 44px;
        padding: 11px 12px;
        border: 1px solid var(--line);
        border-radius: 6px;
        background: #ffffff;
    }

    .main-nav a[aria-current="page"] {
        border-color: rgba(21, 111, 120, 0.32);
    }

    .main-nav .mobile-nav-cta {
        display: flex;
        justify-content: center;
        border-color: var(--teal);
        background: var(--teal);
        color: #ffffff;
    }

    .nav-cta {
        display: none;
    }

    .hero-grid,
    .split-panel,
    .feature-grid,
    .evidence-type-grid,
    .report-value-grid,
    .faq-preview-grid,
    .pricing-tier-grid,
    .home-seo-band,
    .home-process-list,
    .home-report-section,
    .home-privacy-layout,
    .info-grid,
    .report-grid,
    .form-grid,
    .content-grid,
    .footer-grid,
    .contact-layout,
    .admin-heading,
    .admin-layout,
    .admin-overview,
    .admin-grid,
    .cta-band {
        display: block;
    }

    .home-process-list li + li {
        margin-top: 22px;
    }

    .home-report-list,
    .home-privacy-points {
        margin-top: 32px;
    }

    .home-report-list div,
    .home-privacy-points div {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .home-topic-links {
        display: grid;
        gap: 12px;
    }

    .tier-heading {
        min-height: 0;
    }

    .pricing-tier > .button {
        width: 100%;
        min-width: 0;
    }

    .pricing-note {
        text-align: left;
    }

    .not-found-layout {
        padding: 52px 0;
    }

    .not-found-copy h1 {
        font-size: 2.65rem;
    }

    .not-found-code {
        padding: 26px 22px;
    }

    .not-found-code span {
        font-size: 4.5rem;
    }

    .not-found-status-list div {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 14px 22px;
    }

    .hero-grid,
    .narrow-copy {
        padding: 48px 0;
    }

    .home-process-section,
    .home-evidence-section,
    .home-report-section,
    .home-privacy-layout,
    .faq-preview {
        padding-top: 52px;
        padding-bottom: 52px;
    }

    h1 {
        font-size: 2.35rem;
        line-height: 1.08;
    }

    h2 {
        font-size: 1.7rem;
    }

    .hero-product-shot,
    .admin-overview article,
    .feature-grid article,
    .evidence-type-card,
    .pricing-tier,
    .report-value-grid article,
    .faq-preview-grid article,
    .content-panel,
    .info-panel,
    .control-panel,
    .form-panel,
    .cta-band > .button,
    .report-dashboard-card,
    .report-preview {
        margin-top: 18px;
    }

    .hero-product-shot figcaption {
        text-align: left;
    }

    .admin-shell h1 {
        font-size: 2.6rem;
    }

    .timeline-list li,
    .measurement-list div,
    .level-guide,
    .admin-report-tools,
    .channel-list div,
    .status-list div,
    .pipeline-step,
    .health-row,
    .metric-grid,
    .fault-list article > div,
    .admin-button-stack,
    .admin-actions,
    .footer-bottom {
        display: block;
    }

    .measurement-list span,
    .channel-list span,
    .confidence-chip,
    .pipeline-step em,
    .health-row span,
    .fault-list span,
    .status-list dd {
        display: block;
        margin-top: 6px;
        text-align: left;
    }

    .level-guide div {
        margin-top: 10px;
    }

    .level-guide div:first-child {
        margin-top: 0;
    }

    .confidence-chip {
        width: fit-content;
    }

    .admin-main,
    .admin-activity-stack {
        display: grid;
        gap: 18px;
    }

    .admin-layout .admin-quick-nav {
        position: static;
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(176px, 1fr);
        gap: 8px;
        max-height: none;
        margin-bottom: 18px;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .footer-grid > * + * {
        margin-top: 28px;
    }

    .footer-bottom span + span {
        display: block;
        margin-top: 9px;
    }

    .admin-layout .admin-quick-nav a {
        align-content: start;
    }

    .admin-layout .admin-nav-title,
    .admin-layout .admin-nav-divider {
        display: none;
    }

    .admin-actions {
        position: static;
        margin-top: 18px;
    }

    .admin-report-tools .button {
        margin-top: 10px;
    }

    .info-tip [role="tooltip"] {
        position: fixed;
        top: auto;
        right: 12px;
        bottom: 18px;
        left: 12px;
        width: auto;
        max-width: none;
        transform: translateY(8px);
    }

    .info-tip [role="tooltip"]::after {
        display: none;
    }

    .info-tip:hover [role="tooltip"],
    .info-tip:focus [role="tooltip"],
    .info-tip:focus-within [role="tooltip"] {
        transform: translateY(0);
    }

    .metric-grid div,
    .health-row,
    .fault-list article {
        margin-top: 10px;
    }

    .question-review-head,
    .reader-report-top,
    .reader-section-head,
    .reader-question-grid,
    .reader-response-grid,
    .reader-response-head,
    .reader-signal-meter-grid,
    .reader-gauge-grid,
    .reader-main-point-grid,
    .reader-main-point-grid article > div,
    .dashboard-top-grid,
    .dashboard-mid-grid,
    .dashboard-session-body,
    .dashboard-response-summary,
    .dashboard-evidence-grid,
    .dashboard-screenshot-strip,
    .dashboard-insight-grid,
    .communication-pattern-grid,
    .theme-indicator-grid,
    .theme-indicator-card > div,
    .theme-review-head,
    .case-evidence-head,
    .case-evidence-preview article,
    .case-comparison-list dl,
    .summary-stat-grid,
    .key-question-list article,
    .gauge-grid,
    .gauge-card,
    .timeline-card-head,
    .question-review-grid,
    .sentence-signal-grid,
    .question-signal-grid {
        display: block;
    }

    .dashboard-card-heading {
        align-items: flex-start;
    }

    .dashboard-overview-list div {
        display: block;
    }

    .dashboard-index-ring {
        width: 154px;
        margin: 18px auto 0;
    }

    .reader-gauge-card.priority {
        grid-column: auto;
        grid-template-rows: auto minmax(0, 1fr);
        min-height: 132px;
        padding: 14px;
    }

    .reader-gauge-card.priority .reader-gauge-ring {
        width: min(100%, 150px);
    }

    .reader-gauge-card.priority strong {
        font-size: 0.9rem;
    }

    .reader-gauge-card.priority small {
        font-size: 0.78rem;
    }

    .dashboard-response-summary .response-count-card,
    .dashboard-evidence-grid .dashboard-evidence-tile,
    .dashboard-screenshot-strip a,
    .communication-pattern-group,
    .theme-indicator-grid .theme-indicator-card,
    .dashboard-insight-grid .dashboard-insight {
        margin-top: 10px;
    }

    .dashboard-response-summary .response-count-card:first-child,
    .dashboard-evidence-grid .dashboard-evidence-tile:first-child,
    .dashboard-screenshot-strip a:first-child,
    .communication-pattern-group:first-child,
    .theme-indicator-grid .theme-indicator-card:first-child,
    .dashboard-insight-grid .dashboard-insight:first-child {
        margin-top: 0;
    }

    .communication-pattern-group {
        margin-top: 18px;
        padding: 18px 0 0;
        border-top: 1px solid var(--line);
        border-right: 0;
    }

    .communication-pattern-group:first-child {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }

    .communication-pattern-group > p {
        min-height: 0;
    }

    .panel-actions,
    .admin-record-row,
    .admin-record-actions,
    .report-delete-strip,
    .pagination-row {
        align-items: stretch;
        justify-content: flex-start;
    }

    .panel-actions,
    .admin-record-actions,
    .report-delete-strip,
    .pagination-row {
        display: grid;
    }

    .admin-record-row {
        display: block;
    }

    .admin-payment-details {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-record-actions {
        margin-top: 12px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .panel-actions .button,
    .panel-actions form,
    .panel-actions button,
    .admin-record-actions .button,
    .admin-record-actions form,
    .admin-record-actions button,
    .report-delete-strip .button {
        width: 100%;
    }

    .dashboard-timeline-row {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 8px;
    }

    .dashboard-timeline-row i {
        grid-column: 2;
    }

    .dashboard-conversation-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .dashboard-conversation-row em {
        justify-self: start;
    }

    .dashboard-key-indicators {
        grid-template-columns: 1fr;
    }

    .dashboard-insight {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .dashboard-insight:last-child {
        border-bottom: 0;
    }

    .dashboard-insight {
        padding: 12px 0;
    }

    .image-lightbox {
        padding: 14px;
    }

    .image-lightbox-close {
        top: 12px;
        right: 12px;
    }

    .image-lightbox figure {
        max-height: 82vh;
        padding: 10px;
    }

    .image-lightbox img {
        max-height: calc(82vh - 82px);
    }

    .question-review-head .confidence-chip,
    .timeline-card-head .confidence-chip {
        margin-top: 10px;
    }

    .summary-stat-grid div,
    .key-question-list article,
    .reader-question-grid article,
    .reader-response-card,
    .reader-signal-meter-grid .sentence-meter,
    .reader-gauge-card,
    .reader-main-point-grid article,
    .theme-review-card,
    .gauge-card,
    .behaviour-timeline-list article {
        margin-top: 10px;
    }

    .reader-question-grid article:first-child,
    .reader-response-card:first-child,
    .reader-signal-meter-grid .sentence-meter:first-child,
    .reader-gauge-card:first-child,
    .reader-main-point-grid article:first-child {
        margin-top: 0;
    }

    .reader-confidence-card .dashboard-index-ring {
        margin-top: 0;
    }

    .reader-response-meta {
        justify-content: space-between;
        margin-top: 10px;
    }

    .reader-mini-gauge {
        width: 74px;
    }

    .gauge-card:first-child {
        margin-top: 0;
    }

    .gauge-dial {
        margin-bottom: 12px;
    }

    .question-review-grid div,
    .sentence-meter,
    .question-signal-grid div {
        margin-top: 10px;
    }

    .question-review-grid div:first-child,
    .sentence-meter:first-child,
    .question-signal-grid div:first-child {
        margin-top: 0;
    }

    .report-detail-panel > summary {
        align-items: flex-start;
    }

    .report-detail-panel > summary .status-chip {
        margin-left: auto;
    }

    .transcript-edit-meta {
        grid-template-columns: 1fr;
    }

    .file-control {
        align-items: stretch;
        flex-direction: column;
    }

    .file-control-button {
        width: 100%;
    }

    .file-control-name {
        width: 100%;
        white-space: normal;
    }

    .contact-field-grid,
    .admin-message-meta {
        grid-template-columns: 1fr;
    }

    .admin-heading-actions,
    .admin-message-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-heading-actions .button,
    .admin-message-actions .button {
        width: 100%;
    }
}

@media (max-width: 980px) {
    .how-hero-grid {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .how-hero-visual {
        max-width: 780px;
    }

    .how-process-list > li {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .how-step-points {
        grid-column: 2;
    }

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

    .how-guardrails-section {
        grid-template-columns: 1fr;
    }

    .analysis-page-hero-grid,
    .analysis-content-layout,
    .analysis-practical-grid {
        grid-template-columns: 1fr;
    }

    .analysis-side-nav {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .analysis-side-nav span {
        grid-column: 1 / -1;
    }

    .analysis-signal-grid,
    .related-analysis-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .report-export-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .report-download-button {
        width: 100%;
    }

    .report-delete-actions {
        width: 100%;
        flex-basis: auto;
    }

    .report-back-to-top {
        right: 14px;
        bottom: 16px;
    }

    .how-hero-grid {
        gap: 28px;
        padding: 48px 0;
    }

    .how-hero-visual figcaption {
        text-align: left;
    }

    .how-metrics,
    .how-evidence-grid,
    .how-guardrails-section {
        display: block;
    }

    .how-metrics {
        margin-top: 18px;
    }

    .how-metrics article,
    .how-evidence-card,
    .how-guardrail-grid article {
        margin-top: 14px;
    }

    .how-metrics article:first-child,
    .how-evidence-card:first-child,
    .how-guardrail-grid article:first-child {
        margin-top: 0;
    }

    .how-process-section,
    .how-evidence-band {
        padding: 52px 0;
    }

    .how-guardrails-section {
        padding: 52px 0 0;
    }

    .how-process-list {
        margin-top: 26px;
    }

    .how-process-list > li {
        display: block;
        padding: 20px;
    }

    .how-step-copy,
    .how-step-points {
        margin-top: 16px;
    }

    .how-step-points li {
        font-size: 0.9rem;
    }

    .analysis-page-hero-grid {
        display: block;
        padding: 48px 0;
    }

    .analysis-hero-panel {
        margin-top: 26px;
    }

    .analysis-overview-grid,
    .analysis-side-nav,
    .analysis-check-list,
    .analysis-signal-grid,
    .analysis-practical-grid,
    .related-analysis-grid {
        display: block;
    }

    .analysis-side-nav {
        padding: 16px;
    }

    .analysis-side-nav span {
        display: block;
        margin: 0;
        padding: 0 0 8px;
    }

    .analysis-side-nav a {
        display: block;
        width: 100%;
        margin: 0;
        padding: 11px 0;
        overflow-wrap: anywhere;
    }

    .analysis-overview-grid {
        margin-top: 18px;
    }

    .analysis-overview-grid article,
    .analysis-check-list li,
    .analysis-signal-grid article,
    .analysis-practical-panel,
    .related-analysis-grid a {
        margin-top: 14px;
    }

    .analysis-overview-grid article:first-child,
    .analysis-side-nav a:first-of-type,
    .analysis-check-list li:first-child,
    .analysis-signal-grid article:first-child,
    .analysis-practical-panel:first-child,
    .related-analysis-grid a:first-child {
        margin-top: 0;
    }

    .analysis-content-layout {
        display: block;
        padding: 52px 0 28px;
    }

    .analysis-article-stack {
        margin-top: 28px;
    }

    .analysis-rich-section,
    .analysis-rich-section + .analysis-rich-section {
        padding: 28px 0;
    }

    .analysis-rich-section:first-child {
        padding-top: 0;
    }

    .analysis-signal-band,
    .analysis-practical-grid {
        padding: 52px 0;
    }

    .analysis-faq-section,
    .related-analysis-section {
        padding-top: 42px;
    }

    .analysis-practical-panel h2 {
        font-size: 1.45rem;
    }
}

@page {
    size: A4 portrait;
    margin: 13mm 12mm 15mm;
}

@media print {
    html,
    body.report-page {
        min-height: 0;
        background: #ffffff !important;
    }

    body.report-page {
        color: #17202b;
        font-size: 9.5pt;
        line-height: 1.42;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    body.report-page *,
    body.report-page *::before,
    body.report-page *::after {
        animation: none !important;
        transition: none !important;
    }

    body.report-page .site-header,
    body.report-page .site-footer,
    body.report-page .section-heading,
    body.report-page .report-export-toolbar,
    body.report-page .admin-report-tools,
    body.report-page .report-start-panel,
    body.report-page .report-delete-strip,
    body.report-page .progress-panel,
    body.report-page .processing-overlay,
    body.report-page .image-lightbox,
    body.report-page .dashboard-recording-preview,
    body.report-page .dashboard-screenshot-strip,
    body.report-page .transcript-editor,
    body.report-page .info-tip,
    body.report-page form,
    body.report-page button {
        display: none !important;
    }

    body.report-page main,
    body.report-page .report-page-shell {
        display: block;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
    }

    body.report-page .report-page-shell > * {
        margin-top: 5mm;
    }

    body.report-page .report-page-shell > .report-print-header {
        margin-top: 0;
    }

    body.report-page .report-print-header {
        display: grid;
        gap: 4mm;
        padding: 0 0 5mm;
        border-bottom: 1.2pt solid #156f78;
        break-after: avoid-page;
    }

    body.report-page .report-print-brand {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10mm;
    }

    body.report-page .report-print-brand img {
        width: 54mm;
        max-height: 12mm;
        object-fit: contain;
        object-position: left center;
    }

    body.report-page .report-print-brand > div {
        display: grid;
        gap: 1mm;
        text-align: right;
    }

    body.report-page .report-print-brand span {
        color: #0f5259;
        font-size: 7.5pt;
        font-weight: 900;
        text-transform: uppercase;
    }

    body.report-page .report-print-brand strong {
        color: #17202b;
        font-size: 19pt;
        line-height: 1.05;
    }

    body.report-page .report-print-metadata {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
        margin: 0;
        border: 1px solid #d5dde6;
        background: #f5f7fb;
    }

    body.report-page .report-print-metadata div {
        min-width: 0;
        padding: 2.6mm 3mm;
        border-left: 1px solid #d5dde6;
    }

    body.report-page .report-print-metadata div:first-child {
        border-left: 0;
    }

    body.report-page .report-print-metadata dt,
    body.report-page .report-print-metadata dd {
        margin: 0;
        overflow-wrap: anywhere;
    }

    body.report-page .report-print-metadata dt {
        color: #697483;
        font-size: 7pt;
        font-weight: 900;
        text-transform: uppercase;
    }

    body.report-page .report-print-metadata dd {
        margin-top: 1.2mm;
        color: #17202b;
        font-size: 8.5pt;
        font-weight: 800;
    }

    body.report-page .report-print-header > p {
        margin: 0;
        color: #4d5866;
        font-size: 8pt;
        line-height: 1.45;
    }

    body.report-page .report-print-end {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 1.5mm 8mm;
        padding-top: 4mm;
        border-top: 1.2pt solid #156f78;
        color: #4d5866;
        break-inside: avoid-page;
    }

    body.report-page .report-print-end strong {
        color: #17202b;
    }

    body.report-page .report-print-end span {
        text-align: right;
    }

    body.report-page .report-print-end p {
        grid-column: 1 / -1;
        margin: 0;
        font-size: 8pt;
    }

    body.report-page h1,
    body.report-page h2,
    body.report-page h3,
    body.report-page p,
    body.report-page li,
    body.report-page blockquote,
    body.report-page dd,
    body.report-page span,
    body.report-page strong,
    body.report-page small {
        overflow-wrap: anywhere;
    }

    body.report-page h2,
    body.report-page h3,
    body.report-page .panel-title,
    body.report-page .dashboard-card-heading,
    body.report-page summary,
    body.report-page dt {
        break-after: avoid-page;
    }

    body.report-page p,
    body.report-page li,
    body.report-page blockquote {
        orphans: 3;
        widows: 3;
    }

    body.report-page .notice,
    body.report-page .info-panel,
    body.report-page .report-dashboard-card,
    body.report-page .report-detail-panel,
    body.report-page .report-accordion details {
        border-color: #cfd8e2;
        border-radius: 2mm;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    body.report-page .notice,
    body.report-page .info-panel,
    body.report-page .report-dashboard-card {
        padding: 4mm;
    }

    body.report-page .notice {
        break-inside: avoid-page;
    }

    body.report-page .notice p,
    body.report-page .info-panel p,
    body.report-page .report-dashboard-card p {
        line-height: 1.48;
    }

    body.report-page .panel-title,
    body.report-page .dashboard-card-heading {
        gap: 4mm;
        margin-bottom: 3mm;
        padding-bottom: 2.5mm;
    }

    body.report-page .panel-title h2,
    body.report-page .dashboard-card-heading h2,
    body.report-page .info-panel > h2 {
        font-size: 11pt;
    }

    body.report-page .confidence-chip,
    body.report-page .status-chip,
    body.report-page .metric-level {
        padding: 1.2mm 2mm;
        border-radius: 1.5mm;
        font-size: 7.5pt;
        white-space: normal;
    }

    body.report-page details,
    body.report-page details:not([open]) > *:not(summary) {
        display: block !important;
    }

    body.report-page .supporting-context-disclosure summary,
    body.report-page .recommended-follow-ups summary,
    body.report-page .compact-response-details summary,
    body.report-page .report-detail-panel > summary,
    body.report-page .report-accordion summary {
        cursor: default;
    }

    body.report-page .report-detail-panel > summary::after,
    body.report-page .report-accordion summary::after {
        display: none;
    }

    body.report-page .report-detail-panel > summary,
    body.report-page .report-accordion summary {
        padding: 3.5mm 4mm;
        border-bottom: 1px solid #dfe6ee;
        font-size: 9pt;
    }

    body.report-page .report-detail-panel > .compact-muted,
    body.report-page .report-detail-panel > .channel-list,
    body.report-page .report-detail-panel > .transcript-list,
    body.report-page .report-detail-panel > .report-detail-body {
        margin: 0 4mm 4mm;
    }

    body.report-page .accordion-body {
        padding: 3.5mm 4mm 4mm;
    }

    body.report-page .reader-report-summary {
        display: block;
    }

    body.report-page .reader-report-top,
    body.report-page .reader-question-grid,
    body.report-page .reader-response-grid,
    body.report-page .reader-signal-meter-grid,
    body.report-page .reader-gauge-grid,
    body.report-page .reader-main-point-grid {
        display: grid;
        gap: 3mm;
    }

    body.report-page .reader-report-top {
        grid-template-columns: minmax(0, 1fr) 34mm;
    }

    body.report-page .reader-question-grid,
    body.report-page .reader-response-grid,
    body.report-page .reader-main-point-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.report-page .reader-signal-meter-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.report-page .reader-gauge-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.report-page .reader-conclusion-card,
    body.report-page .reader-confidence-card,
    body.report-page .reader-question-grid article,
    body.report-page .reader-response-card,
    body.report-page .reader-gauge-card,
    body.report-page .reader-main-point-grid article,
    body.report-page .reader-note-box {
        padding: 3mm;
        border-color: #cfd8e2;
        box-shadow: none;
        break-inside: avoid-page;
    }

    body.report-page .reader-conclusion-card h2 {
        font-size: 13pt;
    }

    body.report-page .reader-answer-text {
        font-size: 10pt;
    }

    body.report-page .reader-section-head {
        display: block;
        margin: 4mm 0 2.5mm;
        padding-bottom: 2mm;
    }

    body.report-page .reader-section-head p {
        margin-top: 1mm;
        max-width: none;
        font-size: 7.5pt;
    }

    body.report-page .reader-confidence-card .dashboard-index-ring {
        width: 26mm;
    }

    body.report-page .reader-response-meta {
        gap: 2mm;
    }

    body.report-page .reader-mini-gauge {
        width: 18mm;
        margin-bottom: 2mm;
    }

    body.report-page .reader-mini-gauge::before {
        inset: 2.5mm 3mm -0.2mm;
    }

    body.report-page .reader-mini-gauge::after {
        bottom: 0;
        height: 0.5mm;
    }

    body.report-page .reader-mini-gauge b {
        bottom: -2mm;
        width: 6mm;
        height: 6mm;
        border-width: 0.6mm;
        font-size: 5pt;
    }

    body.report-page .reader-gauge-card {
        grid-template-rows: auto minmax(0, 1fr);
        min-height: 0;
    }

    body.report-page .reader-gauge-ring {
        width: 31mm;
    }

    body.report-page .reader-gauge-ring::before {
        inset: 4mm 5mm -0.2mm;
    }

    body.report-page .reader-gauge-ring::after {
        bottom: 0;
        height: 0.8mm;
    }

    body.report-page .reader-gauge-ring b {
        bottom: -2.8mm;
        width: 8mm;
        height: 8mm;
        border-width: 0.8mm;
        font-size: 6.5pt;
    }

    body.report-page .reader-gauge-card strong,
    body.report-page .reader-question-grid strong,
    body.report-page .reader-response-head strong,
    body.report-page .reader-main-point-grid strong {
        font-size: 8.5pt;
    }

    body.report-page .reader-gauge-card small,
    body.report-page .reader-question-grid p,
    body.report-page .reader-response-card p,
    body.report-page .reader-response-card small,
    body.report-page .reader-main-point-grid p,
    body.report-page .reader-main-point-grid small {
        font-size: 7.5pt;
    }

    body.report-page .report-dashboard-shell,
    body.report-page .report-accordion,
    body.report-page .question-review-list,
    body.report-page .theme-review-list,
    body.report-page .reader-question-section,
    body.report-page .reader-response-section,
    body.report-page .reader-gauge-section,
    body.report-page .reader-main-points,
    body.report-page .reader-note-box,
    body.report-page .behaviour-timeline-list,
    body.report-page .transcript-list {
        display: block;
    }

    body.report-page .dashboard-top-grid,
    body.report-page .dashboard-mid-grid {
        display: contents;
    }

    body.report-page .report-dashboard-shell > *,
    body.report-page .dashboard-top-grid > *,
    body.report-page .dashboard-mid-grid > *,
    body.report-page .report-accordion > details,
    body.report-page .question-review-list > *,
    body.report-page .theme-review-list > *,
    body.report-page .reader-question-section,
    body.report-page .reader-response-section,
    body.report-page .reader-response-grid > *,
    body.report-page .reader-signal-meter-grid > *,
    body.report-page .reader-gauge-section,
    body.report-page .reader-main-points,
    body.report-page .reader-note-box,
    body.report-page .behaviour-timeline-list > *,
    body.report-page .transcript-list > * {
        margin-top: 4mm;
    }

    body.report-page .report-dashboard-shell > *:first-child,
    body.report-page .dashboard-top-grid > *:first-child,
    body.report-page .dashboard-mid-grid > *:first-child,
    body.report-page .report-accordion > details:first-child,
    body.report-page .question-review-list > *:first-child,
    body.report-page .theme-review-list > *:first-child,
    body.report-page .reader-question-section:first-child,
    body.report-page .reader-response-section:first-child,
    body.report-page .reader-response-grid > *:first-child,
    body.report-page .reader-signal-meter-grid > *:first-child,
    body.report-page .reader-gauge-section:first-child,
    body.report-page .reader-main-points:first-child,
    body.report-page .reader-note-box:first-child,
    body.report-page .behaviour-timeline-list > *:first-child,
    body.report-page .transcript-list > *:first-child {
        margin-top: 0;
    }

    body.report-page .dashboard-session-body {
        grid-template-columns: minmax(0, 1fr) 34mm;
        gap: 5mm;
    }

    body.report-page .dashboard-index-ring {
        width: 30mm;
        box-shadow: none;
    }

    body.report-page .dashboard-index-ring::after {
        inset: 4mm;
    }

    body.report-page .dashboard-index-ring span {
        font-size: 20pt;
    }

    body.report-page .dashboard-index-ring small {
        font-size: 6.5pt;
    }

    body.report-page .dashboard-response-summary,
    body.report-page .dashboard-response-summary.five-column {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 3mm;
    }

    body.report-page .response-count-card {
        min-height: 38mm;
        padding: 3mm;
        break-inside: avoid-page;
        box-shadow: none;
    }

    body.report-page .response-count-card strong {
        width: 15mm;
        height: 15mm;
        margin-bottom: 2mm;
        border-width: 1.6mm;
        font-size: 15pt;
    }

    body.report-page .dashboard-response-summary.five-column .response-count-card span,
    body.report-page .response-count-card span {
        font-size: 9pt;
    }

    body.report-page .response-count-card small {
        font-size: 7.5pt;
        line-height: 1.35;
    }

    body.report-page .dashboard-timeline-row {
        grid-template-columns: 28mm minmax(42mm, 0.75fr) minmax(58mm, 1fr);
        gap: 3mm;
        padding: 1.5mm 0;
        break-inside: avoid-page;
    }

    body.report-page .dashboard-timeline-row strong {
        font-size: 8pt;
        line-height: 1.3;
    }

    body.report-page .dashboard-conversation-row {
        grid-template-columns: 30mm minmax(0, 1fr) 22mm;
        gap: 3mm;
        padding: 3mm 0;
        break-inside: avoid-page;
    }

    body.report-page .dashboard-evidence-grid,
    body.report-page .theme-indicator-grid,
    body.report-page .gauge-grid,
    body.report-page .sentence-signal-grid,
    body.report-page .question-signal-grid,
    body.report-page .case-comparison-list dl,
    body.report-page .level-guide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 3mm;
    }

    body.report-page .dashboard-key-indicators {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 3mm;
    }

    body.report-page .dashboard-key-indicator {
        grid-template-columns: 15mm minmax(0, 1fr);
        min-height: 31mm;
        padding: 3mm;
        break-inside: avoid-page;
        box-shadow: none;
    }

    body.report-page .dashboard-key-gauge {
        width: 14mm;
    }

    body.report-page .dashboard-key-gauge::before {
        inset: 1.8mm;
    }

    body.report-page .dashboard-key-gauge b {
        font-size: 9pt;
    }

    body.report-page .dashboard-key-gauge small,
    body.report-page .dashboard-key-copy > small {
        font-size: 6.5pt;
    }

    body.report-page .dashboard-insight-grid {
        grid-template-columns: 1fr;
    }

    body.report-page .dashboard-insight {
        grid-template-columns: 12mm minmax(0, 1fr);
        min-height: 0;
        padding: 3mm 0;
        border-right: 0;
        border-bottom: 1px solid #dfe6ee;
        break-inside: avoid-page;
    }

    body.report-page .dashboard-insight:last-child {
        border-bottom: 0;
    }

    body.report-page .dashboard-insight > span {
        width: 10mm;
        box-shadow: none;
    }

    body.report-page .dashboard-insight > span::before {
        width: 4mm;
        height: 2.5mm;
        border-width: 0 0 0.8mm 0.8mm;
    }

    body.report-page .theme-indicator-card,
    body.report-page .theme-review-card,
    body.report-page .dashboard-evidence-tile,
    body.report-page .gauge-card,
    body.report-page .sentence-meter,
    body.report-page .case-evidence-list article,
    body.report-page .case-comparison-list article,
    body.report-page .directness-review-list article,
    body.report-page .transcript-list article,
    body.report-page .behaviour-timeline-list article {
        break-inside: avoid-page;
        box-shadow: none;
    }

    body.report-page .theme-indicator-card {
        min-height: 0;
    }

    body.report-page .theme-indicator-card,
    body.report-page .theme-review-card,
    body.report-page .gauge-card,
    body.report-page .sentence-meter,
    body.report-page .question-review-card,
    body.report-page .behaviour-timeline-list article,
    body.report-page .transcript-list article {
        padding: 3mm;
    }

    body.report-page .theme-meter b,
    body.report-page .gauge-score {
        min-width: 10mm;
        min-height: 7mm;
        height: auto;
        border-radius: 2mm;
        font-size: 8pt;
    }

    body.report-page .question-review-card {
        break-inside: auto;
    }

    body.report-page .question-review-head,
    body.report-page .question-review-grid,
    body.report-page .question-signal-grid,
    body.report-page .report-sentence-signal-grid {
        break-inside: avoid-page;
    }

    body.report-page .question-review-grid {
        grid-template-columns: minmax(0, 1fr) 30mm 34mm;
        gap: 2.5mm;
    }

    body.report-page .question-review-grid div,
    body.report-page .question-signal-grid div {
        padding: 2.5mm;
    }

    body.report-page .transcript-list,
    body.report-page .plain-transcript-box,
    body.report-page .compact-response-list {
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }

    body.report-page .compact-response-list {
        display: block;
    }

    body.report-page .compact-response-list div {
        grid-template-columns: 32mm 25mm minmax(0, 1fr);
        margin-top: 2mm;
        break-inside: avoid-page;
    }

    body.report-page .empty-report-state {
        padding: 0;
        border: 0;
        background: transparent !important;
    }

    body.report-page a {
        color: inherit;
        text-decoration: none;
    }
}

/* Dedicated Reports and About service pages. */
.reports-hero,
.about-hero {
    border-bottom: 1px solid var(--line);
    background: #ffffff;
}

.reports-hero-copy,
.about-hero-copy {
    max-width: 920px;
    padding: 82px 0 88px;
}

.reports-hero-copy h1,
.about-hero-copy h1 {
    max-width: 900px;
}

.reports-hero-copy .lead,
.about-hero-copy .lead {
    max-width: 820px;
}

.reports-preview-band {
    padding: 72px 0;
    border-bottom: 1px solid #283441;
    background: var(--instrument);
    color: #ffffff;
}

.reports-preview-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(310px, 0.55fr);
    gap: 46px;
    align-items: center;
}

.reports-product-preview {
    margin: 0;
}

.reports-product-preview img {
    display: block;
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
}

.reports-product-preview figcaption {
    margin-top: 12px;
    color: #aeb9c5;
    font-size: 0.86rem;
    line-height: 1.5;
}

.reports-preview-copy .eyebrow {
    color: #8ed0d4;
}

.reports-preview-copy h2 {
    margin: 0 0 18px;
    color: #ffffff;
}

.reports-preview-copy > p:not(.eyebrow) {
    margin: 0;
    color: #c6ced7;
    line-height: 1.68;
}

.reports-preview-facts {
    display: grid;
    gap: 0;
    margin: 26px 0 0;
}

.reports-preview-facts div {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px;
    padding: 14px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.reports-preview-facts dt {
    color: #f0b450;
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.reports-preview-facts dd {
    margin: 0;
    color: #edf2f6;
    line-height: 1.45;
}

.report-anatomy-section {
    display: grid;
    grid-template-columns: minmax(250px, 0.55fr) minmax(0, 1.45fr);
    gap: 58px;
    padding: 84px 0;
}

.report-anatomy-heading {
    align-self: start;
    position: sticky;
    top: 102px;
}

.report-anatomy-heading h2,
.report-level-intro h2,
.about-opening-layout h2,
.about-method-heading h2,
.about-difference-copy h2,
.about-boundary-layout h2 {
    margin: 0 0 16px;
}

.report-anatomy-heading > p:not(.eyebrow),
.report-level-intro > p:not(.eyebrow),
.about-opening-layout > div > p:not(.eyebrow),
.about-method-heading > p:not(.eyebrow),
.about-difference-copy > p:not(.eyebrow),
.about-boundary-layout p {
    margin: 0;
    color: var(--body);
    line-height: 1.68;
}

.report-anatomy-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--line);
}

.report-anatomy-list > li {
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr) minmax(180px, 0.55fr);
    gap: 24px;
    align-items: start;
    padding: 28px 0;
    border-bottom: 1px solid var(--line);
}

.report-anatomy-marker {
    display: grid;
    gap: 6px;
}

.report-anatomy-marker span {
    color: var(--gold);
    font-size: 1.45rem;
    font-weight: 900;
    line-height: 1;
}

.report-anatomy-marker em {
    color: var(--teal-dark);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
}

.report-anatomy-copy h3 {
    margin: 0 0 10px;
    font-size: 1.25rem;
}

.report-anatomy-copy p {
    margin: 0;
    color: var(--body);
    line-height: 1.64;
}

.report-anatomy-points {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.report-anatomy-points li {
    padding: 8px 10px;
    border-left: 3px solid rgba(21, 111, 120, 0.4);
    background: #f5fafb;
    color: var(--body);
    font-size: 0.84rem;
    font-weight: 750;
    line-height: 1.35;
}

.report-mode-band {
    padding: 78px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #ffffff;
}

.report-mode-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}

.report-mode-item {
    padding: 24px 26px;
    border: 1px solid var(--line);
    border-left: 5px solid var(--teal);
    border-radius: 8px;
    background: #ffffff;
}

.report-mode-item.voice {
    border-left-color: var(--gold);
}

.report-mode-item.messages {
    border-left-color: var(--coral);
}

.report-mode-item.text {
    border-left-color: var(--green);
}

.report-mode-item h3 {
    margin: 0 0 10px;
}

.report-mode-item p {
    margin: 0;
    color: var(--body);
    line-height: 1.6;
}

.report-mode-item ul {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.report-mode-item li {
    padding: 6px 9px;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: var(--wash);
    color: var(--body);
    font-size: 0.78rem;
    font-weight: 750;
}

.report-level-section {
    display: grid;
    grid-template-columns: minmax(270px, 0.64fr) minmax(0, 1.36fr);
    gap: 58px;
    padding: 82px 0;
}

.report-level-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.report-level-list article {
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr);
    gap: 16px;
    min-height: 166px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
}

.report-level-meter {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    background: #e8edf2;
}

.report-level-meter span {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 32%;
    background: var(--signal-low);
}

.report-level-list .moderate .report-level-meter span {
    height: 52%;
    background: var(--signal-mid);
}

.report-level-list .elevated .report-level-meter span {
    height: 78%;
    background: var(--signal-high);
}

.report-level-list .review .report-level-meter span {
    height: 44%;
    background: var(--signal-off);
}

.report-level-list article > div:last-child > span {
    color: var(--teal-dark);
    font-size: 0.73rem;
    font-weight: 900;
    text-transform: uppercase;
}

.report-level-list h3 {
    margin: 7px 0 8px;
    font-size: 1.05rem;
}

.report-level-list p {
    margin: 0;
    color: var(--body);
    font-size: 0.9rem;
    line-height: 1.52;
}

.report-pdf-band {
    padding: 72px 0;
    background: var(--instrument);
    color: #ffffff;
}

.report-pdf-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: 64px;
    align-items: start;
}

.report-pdf-layout .eyebrow {
    color: #8ed0d4;
}

.report-pdf-layout h2 {
    margin: 0 0 16px;
    color: #ffffff;
}

.report-pdf-layout > div > p:not(.eyebrow) {
    margin: 0;
    color: #c6ced7;
    line-height: 1.68;
}

.report-pdf-points {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.report-pdf-points li {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 18px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.report-pdf-points strong {
    color: #ffffff;
}

.report-pdf-points span {
    color: #b8c2cd;
    line-height: 1.5;
}

.reports-faq-section {
    padding: 78px 0 0;
}

.reports-faq-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px;
}

.reports-faq-list details {
    align-self: start;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
}

.reports-faq-list summary {
    padding: 18px 20px;
    color: var(--ink);
    font-weight: 900;
    cursor: pointer;
}

.reports-faq-list p {
    margin: 0;
    padding: 0 20px 20px;
    color: var(--body);
    line-height: 1.62;
}

.about-opening-band {
    padding: 72px 0;
    border-bottom: 1px solid var(--line);
    background: #ffffff;
}

.about-opening-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.7fr);
    gap: 68px;
    align-items: start;
}

.about-opening-layout aside {
    padding: 24px 0 24px 26px;
    border-left: 4px solid var(--gold);
}

.about-opening-layout aside strong {
    display: block;
    margin-bottom: 9px;
    color: var(--ink);
}

.about-opening-layout aside p {
    margin: 0;
    color: var(--body);
    line-height: 1.66;
}

.about-principles-section {
    padding: 82px 0;
}

.about-principle-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-top: 34px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.about-principle-grid article {
    min-height: 280px;
    padding: 28px 24px;
    border-left: 1px solid var(--line);
}

.about-principle-grid article:first-child {
    border-left: 0;
}

.about-principle-grid article > span {
    color: var(--gold);
    font-size: 1rem;
    font-weight: 900;
}

.about-principle-grid h3 {
    margin: 24px 0 12px;
    font-size: 1.14rem;
}

.about-principle-grid p {
    margin: 0;
    color: var(--body);
    line-height: 1.62;
}

.about-method-band {
    padding: 82px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #ffffff;
}

.about-method-layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.7fr) minmax(0, 1.3fr);
    gap: 68px;
    align-items: start;
}

.about-method-heading > a {
    display: inline-block;
    margin-top: 20px;
    color: var(--teal-dark);
    font-weight: 900;
    text-underline-offset: 4px;
}

.about-method-preview {
    margin: 30px 0 0;
}

.about-method-preview img {
    display: block;
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(23, 32, 43, 0.09);
}

.about-method-preview figcaption {
    margin-top: 10px;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.5;
}

.about-method-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--line);
}

.about-method-list li {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 20px;
    padding: 26px 0;
    border-bottom: 1px solid var(--line);
}

.about-method-list li > span {
    color: var(--gold);
    font-size: 1.35rem;
    font-weight: 900;
}

.about-method-list em {
    color: var(--teal-dark);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

.about-method-list h3 {
    margin: 7px 0 9px;
    font-size: 1.18rem;
}

.about-method-list p {
    margin: 0;
    color: var(--body);
    line-height: 1.62;
}

.about-difference-section {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    gap: 68px;
    padding: 82px 0;
}

.about-difference-copy > p + p {
    margin-top: 14px;
}

.about-difference-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--line);
}

.about-difference-list li {
    position: relative;
    padding: 17px 0 17px 34px;
    border-bottom: 1px solid var(--line);
    color: var(--body);
    font-weight: 750;
    line-height: 1.5;
}

.about-difference-list li::before {
    content: "";
    position: absolute;
    top: 22px;
    left: 4px;
    width: 12px;
    height: 7px;
    border-bottom: 3px solid var(--green);
    border-left: 3px solid var(--green);
    transform: rotate(-45deg);
}

.about-boundary-band {
    padding: 70px 0;
    background: var(--instrument);
    color: #ffffff;
}

.about-boundary-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    gap: 68px;
}

.about-boundary-layout .eyebrow {
    color: #8ed0d4;
}

.about-boundary-layout h2 {
    color: #ffffff;
}

.about-boundary-layout p {
    color: #c6ced7;
}

.about-boundary-layout p + p {
    margin-top: 16px;
}

.about-privacy-section {
    padding: 82px 0 0;
}

.about-privacy-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}

.about-privacy-grid article {
    min-height: 220px;
    padding: 24px;
    border: 1px solid var(--line);
    border-top: 4px solid var(--teal);
    border-radius: 8px;
    background: #ffffff;
}

.about-privacy-grid article:nth-child(2) {
    border-top-color: var(--gold);
}

.about-privacy-grid article:nth-child(3) {
    border-top-color: var(--green);
}

.about-privacy-grid span {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 900;
}

.about-privacy-grid h3 {
    margin: 18px 0 10px;
    font-size: 1.12rem;
}

.about-privacy-grid p {
    margin: 0;
    color: var(--body);
    line-height: 1.62;
}

.about-privacy-section > .actions {
    margin-top: 24px;
}

@media (max-width: 980px) {
    .reports-preview-layout,
    .report-anatomy-section,
    .report-level-section,
    .report-pdf-layout,
    .about-opening-layout,
    .about-method-layout,
    .about-difference-section,
    .about-boundary-layout {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .reports-product-preview {
        max-width: 780px;
    }

    .report-anatomy-heading {
        position: static;
    }

    .report-anatomy-list > li {
        grid-template-columns: 82px minmax(0, 1fr);
    }

    .report-anatomy-points {
        grid-column: 2;
    }

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

    .about-principle-grid article:nth-child(3) {
        border-left: 0;
        border-top: 1px solid var(--line);
    }

    .about-principle-grid article:nth-child(4) {
        border-top: 1px solid var(--line);
    }

    .about-method-preview {
        max-width: 680px;
    }
}

@media (max-width: 720px) {
    .reports-hero-copy,
    .about-hero-copy {
        padding: 50px 0 54px;
    }

    .reports-preview-band,
    .report-mode-band,
    .report-pdf-band,
    .about-opening-band,
    .about-method-band,
    .about-boundary-band {
        padding: 52px 0;
    }

    .report-anatomy-section,
    .report-level-section,
    .about-principles-section,
    .about-difference-section {
        display: block;
        padding: 54px 0;
    }

    .report-anatomy-list,
    .report-level-list,
    .report-mode-grid,
    .reports-faq-list,
    .about-principle-grid,
    .about-privacy-grid {
        display: block;
    }

    .report-anatomy-list,
    .report-mode-grid,
    .report-level-list,
    .about-principle-grid {
        margin-top: 28px;
    }

    .report-anatomy-list > li {
        display: block;
        padding: 24px 0;
    }

    .report-anatomy-copy,
    .report-anatomy-points {
        margin-top: 16px;
    }

    .report-mode-item,
    .report-level-list article,
    .reports-faq-list details,
    .about-privacy-grid article {
        margin-top: 14px;
    }

    .report-mode-item:first-child,
    .report-level-list article:first-child,
    .reports-faq-list details:first-child,
    .about-privacy-grid article:first-child {
        margin-top: 0;
    }

    .report-level-list article {
        min-height: 140px;
    }

    .report-pdf-points li {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .reports-faq-section,
    .about-privacy-section {
        padding-top: 54px;
    }

    .about-principle-grid article,
    .about-principle-grid article:nth-child(2),
    .about-principle-grid article:nth-child(3),
    .about-principle-grid article:nth-child(4) {
        min-height: 0;
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .about-principle-grid article:first-child {
        border-top: 0;
    }

    .about-method-list {
        margin-top: 30px;
    }

    .about-method-list li {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 14px;
    }

    .about-opening-layout aside {
        padding: 20px 0 20px 20px;
    }

    .about-privacy-section > .actions .button {
        width: 100%;
    }
}

/* LabBot public guidance and private Admin controls. */
.labbot {
    position: fixed;
    right: 22px;
    bottom: calc(96px + env(safe-area-inset-bottom, 0px));
    z-index: 90;
    display: grid;
    justify-items: end;
    font-size: 0.94rem;
}

.labbot-launcher {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 46px;
    padding: 0 16px 0 10px;
    border: 1px solid rgba(15, 82, 89, 0.28);
    border-radius: 8px;
    background: var(--teal-dark);
    color: #ffffff;
    box-shadow: 0 12px 30px rgba(23, 32, 43, 0.2);
    font: inherit;
    font-weight: 850;
    cursor: pointer;
}

.labbot-launcher:hover,
.labbot-launcher:focus-visible {
    background: #0b454c;
}

.labbot-launcher-mark {
    display: grid;
    width: 28px;
    aspect-ratio: 1;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 50%;
    background: #ffffff;
    color: var(--teal-dark);
    font-size: 0.95rem;
    font-weight: 950;
}

.labbot-panel {
    position: absolute;
    right: 0;
    bottom: 58px;
    display: grid;
    grid-template-rows: auto auto minmax(120px, 1fr) auto auto auto;
    width: min(390px, calc(100vw - 32px));
    height: min(620px, calc(100vh - 170px));
    height: min(620px, calc(100dvh - 170px - env(safe-area-inset-bottom, 0px)));
    min-height: 0;
    overflow: hidden;
    border: 1px solid #ccd8e2;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 24px 65px rgba(23, 32, 43, 0.22);
}

.labbot-panel[hidden] {
    display: none;
}

.labbot-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--line);
    background: #f7fafb;
}

.labbot-header h2 {
    margin: 3px 0 0;
    font-size: 1.2rem;
    letter-spacing: 0;
}

.labbot-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--teal-dark);
    font-size: 0.72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.labbot-status i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--signal-low);
}

.labbot-close {
    display: grid;
    width: 34px;
    aspect-ratio: 1;
    place-items: center;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #ffffff;
    color: var(--ink);
    font: inherit;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
}

.labbot-privacy-note {
    display: grid;
    gap: 3px;
    padding: 11px 18px;
    border-bottom: 1px solid #f0dfbb;
    background: #fffaf0;
    color: #70500f;
    font-size: 0.76rem;
    line-height: 1.4;
}

.labbot-messages {
    display: flex;
    flex-direction: column;
    gap: 11px;
    min-height: 0;
    padding: 16px 18px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #f7f9fc;
}

.labbot-message {
    align-self: flex-start;
    width: min(92%, 320px);
    padding: 11px 12px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #ffffff;
    color: var(--body);
    overflow-wrap: anywhere;
}

.labbot-message.is-user {
    align-self: flex-end;
    border-color: rgba(21, 111, 120, 0.2);
    background: #eaf5f5;
}

.labbot-message > span {
    display: block;
    margin-bottom: 4px;
    color: var(--teal-dark);
    font-size: 0.7rem;
    font-weight: 900;
    text-transform: uppercase;
}

.labbot-message p {
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.52;
}

.labbot-message a {
    display: inline-block;
    margin-top: 8px;
    color: var(--teal-dark);
    font-size: 0.8rem;
    font-weight: 850;
}

.labbot-suggestions {
    display: flex;
    gap: 7px;
    padding: 12px 18px 14px;
    overflow-x: auto;
    scroll-padding-inline: 18px;
    background: #ffffff;
}

.labbot-suggestions[hidden] {
    display: none;
}

.labbot-suggestions button {
    flex: 0 0 auto;
    max-width: 245px;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid #cbdce0;
    border-radius: 6px;
    background: #f5fafb;
    color: var(--teal-dark);
    font: inherit;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.3;
    text-align: left;
    white-space: normal;
    cursor: pointer;
}

.honeypot-field {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    white-space: nowrap !important;
}

.labbot-form {
    display: grid;
    gap: 7px;
    padding: 14px 18px 8px;
    border-top: 1px solid #e5edf2;
    background: #ffffff;
}

.labbot-form > label {
    color: var(--ink);
    font-size: 0.75rem;
    font-weight: 850;
}

.labbot-compose {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items: end;
    gap: 8px;
}

.labbot-compose textarea {
    width: 100%;
    min-height: 54px;
    max-height: 104px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #b9cbd6;
    border-radius: 7px;
    background: #ffffff;
    color: var(--ink);
    resize: vertical;
    font: inherit;
    font-size: 0.88rem;
    line-height: 1.45;
    box-shadow: 0 1px 2px rgba(23, 32, 43, 0.04);
    transition: border-color 150ms ease, box-shadow 150ms ease;
}

.labbot-compose textarea::placeholder {
    color: #788695;
    opacity: 1;
}

.labbot-compose textarea:focus-visible {
    border-color: var(--teal);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(21, 111, 120, 0.13);
}

.labbot-compose button {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    margin: 0 0 1px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: var(--teal);
    color: #ffffff;
    font: inherit;
    font-size: 1.15rem;
    font-weight: 900;
    cursor: pointer;
}

.labbot-compose button:hover,
.labbot-compose button:focus-visible {
    background: var(--teal-dark);
}

.labbot-compose button:disabled {
    opacity: 0.55;
    cursor: wait;
}

.labbot-form-meta {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    min-height: 18px;
    color: var(--muted);
    font-size: 0.69rem;
    line-height: 1.3;
}

.labbot-form-meta .form-submit-status {
    text-align: right;
}

.labbot-disclaimer {
    margin: 0;
    padding: 8px 18px 11px;
    color: var(--muted);
    background: #ffffff;
    font-size: 0.68rem;
    line-height: 1.4;
}

.admin-labbot-settings {
    display: grid;
    gap: 16px;
}

.admin-labbot-number-grid,
.admin-labbot-link-grid,
.admin-labbot-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.admin-labbot-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-labbot-knowledge {
    padding-top: 14px;
    border-top: 1px solid var(--line);
}

.admin-labbot-knowledge > summary,
.admin-labbot-answer-editor > summary {
    cursor: pointer;
    color: var(--ink);
    font-weight: 900;
}

.admin-labbot-knowledge > summary {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    font-size: 1rem;
}

.admin-labbot-knowledge > summary span {
    color: var(--teal-dark);
    font-size: 0.78rem;
}

.admin-labbot-knowledge-list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.admin-labbot-answer-editor {
    padding: 11px 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #f8fafc;
}

.admin-labbot-answer-editor > summary {
    font-size: 0.84rem;
}

.admin-labbot-answer-editor[open] > summary {
    margin-bottom: 12px;
    color: var(--teal-dark);
}

.admin-labbot-answer-editor .field + .field,
.admin-labbot-link-grid {
    margin-top: 10px;
}

.admin-labbot-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px;
}

.admin-labbot-metrics > div {
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--wash);
}

.admin-labbot-metrics span,
.admin-labbot-metrics strong {
    display: block;
}

.admin-labbot-metrics span {
    color: var(--muted);
    font-size: 0.7rem;
    font-weight: 850;
    text-transform: uppercase;
}

.admin-labbot-metrics strong {
    margin-top: 6px;
    color: var(--ink);
    font-size: 1.15rem;
}

.admin-labbot-transcript {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.admin-labbot-message {
    width: min(84%, 760px);
    padding: 14px;
    border: 1px solid var(--line);
    border-left: 4px solid var(--teal);
    border-radius: 6px;
    background: #f8fafc;
}

.admin-labbot-message.is-user {
    justify-self: end;
    border-right: 4px solid var(--blue);
    border-left-width: 1px;
    background: #f2f5fb;
}

.admin-labbot-message-heading {
    display: flex;
    align-items: center;
    gap: 8px;
}

.admin-labbot-message-heading time {
    margin-left: auto;
    color: var(--muted);
    font-size: 0.76rem;
}

.admin-labbot-message p {
    margin: 8px 0 0;
    color: var(--body);
    line-height: 1.6;
}

@media (max-width: 720px) {
    .labbot {
        right: 12px;
        bottom: calc(86px + env(safe-area-inset-bottom, 0px));
    }

    .labbot-panel {
        position: fixed;
        right: 8px;
        bottom: calc(142px + env(safe-area-inset-bottom, 0px));
        width: calc(100vw - 16px);
        height: min(650px, calc(100vh - 154px));
        height: min(650px, calc(100dvh - 154px - env(safe-area-inset-bottom, 0px)));
        min-height: 0;
    }

    .labbot-launcher {
        min-height: 44px;
    }

    .admin-labbot-number-grid,
    .admin-labbot-link-grid,
    .admin-labbot-metrics {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-labbot-message {
        width: 94%;
    }
}

@media (max-height: 590px) and (min-width: 721px) {
    .labbot-panel {
        height: calc(100vh - 170px);
        height: calc(100dvh - 170px - env(safe-area-inset-bottom, 0px));
        min-height: 0;
    }
}

@media print {
    .labbot {
        display: none !important;
    }
}
